/* ============================================================
   Landia — desarrolladora inmobiliaria
   Sistema de marca: azul #0245D4, azul oscuro #0E335E, tinta #001335,
   gris #EAEAEA, anaranjado #E8671F. Verdana + Baskervville.
   Sólidos planos, esquinas rectas, sin degradados.
   ============================================================ */

@font-face{font-family:"Verdana Landia";src:url("assets/fonts/Verdana.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Verdana Landia";src:url("assets/fonts/Verdana-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Baskervville Landia";src:url("assets/fonts/Baskervville-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Baskervville Landia";src:url("assets/fonts/Baskervville-Medium.ttf") format("truetype");font-weight:500;font-display:swap}

:root{
  --azul:#0245D4; --azul-oscuro:#0E335E; --tinta:#001335;
  --blanco:#FFFFFF; --gris:#EAEAEA; --anaranjado:#E8671F;
  --azul-hover:#0238A8; --naranja-hover:#CC5613;
  --azul-a08:rgba(2,69,212,.08); --azul-a16:rgba(2,69,212,.16);

  --texto:#26313F; --texto-2:#5A6675; --linea:rgba(0,19,53,.13);
  --sombra:0 2px 16px rgba(0,19,53,.08);

  --sans:"Verdana Landia",Verdana,Geneva,Tahoma,sans-serif;
  --serif:"Baskervville Landia",Baskervville,Baskerville,"Times New Roman",serif;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;

  --wrap:1280px;
  --borde:clamp(20px,4vw,56px);
  --cab:82px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--blanco);color:var(--texto);
  font-family:var(--sans);font-size:16px;line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,dl,dd{margin:0}
button{font:inherit}
:focus-visible{outline:3px solid var(--anaranjado);outline-offset:3px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--borde)}
.seccion{padding:clamp(64px,9vw,var(--s10)) 0}
.seccion--gris{background:var(--gris)}
.seccion--tinta{background:var(--tinta);color:var(--blanco)}

/* ----------------------------------------------------- tipografía */
.rotulo{font-size:10px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--azul);margin-bottom:var(--s5)}
.rotulo--claro{color:#B9CCFF}
.t1{font-family:var(--sans);font-weight:700;font-size:clamp(26px,3.4vw,44px);line-height:1.04;letter-spacing:.01em;text-transform:uppercase;color:var(--tinta)}
.t2{font-family:var(--sans);font-weight:700;font-size:clamp(23px,2.9vw,38px);line-height:1.06;letter-spacing:.01em;text-transform:uppercase;color:var(--tinta)}
.t2 .sf,.t1 .sf{display:block;font-family:var(--serif);font-weight:400;font-size:.82em;letter-spacing:.04em;text-transform:uppercase;color:var(--azul);margin-top:.1em}
.seccion--tinta .t2,.seccion--tinta .t1{color:var(--blanco)}
.seccion--tinta .t2 .sf{color:#8FB2FF}
.t3{font-family:var(--sans);font-weight:700;font-size:17px;line-height:1.25;letter-spacing:.02em;text-transform:uppercase;color:var(--tinta)}
.entrada{font-size:17.5px;line-height:1.7;max-width:60ch}
.tenue{color:var(--texto-2)}
.seccion--tinta .tenue{color:rgba(255,255,255,.72)}

/* ----------------------------------------------------- botones */
.btn{display:inline-flex;align-items:center;gap:var(--s2);padding:15px var(--s6);
  font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  border:2px solid transparent;cursor:pointer;
  transition:background-color .18s,border-color .18s,color .18s,transform .1s}
.btn:active{transform:scale(.98)}
.btn--naranja{background:var(--anaranjado);border-color:var(--anaranjado);color:var(--tinta)}
.btn--naranja:hover{background:var(--naranja-hover);border-color:var(--naranja-hover)}
.btn--azul{background:var(--azul);border-color:var(--azul);color:var(--blanco)}
.btn--azul:hover{background:var(--azul-hover);border-color:var(--azul-hover)}
.btn--linea{background:transparent;border-color:var(--tinta);color:var(--tinta)}
.btn--linea:hover{background:var(--tinta);color:var(--blanco)}
.btn--sm{padding:12px var(--s5);font-size:11px;letter-spacing:.12em}
.enlace{display:inline-flex;align-items:center;gap:var(--s2);font-size:10.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--azul);
  border-bottom:2px solid transparent;padding-bottom:3px;transition:border-color .18s}
.enlace:hover{border-bottom-color:var(--azul)}
.enlace .fl{transition:transform .18s}
.enlace:hover .fl{transform:translateX(3px)}

/* ----------------------------------------------------- cabecera */
.cab{position:absolute;top:0;left:0;right:0;z-index:30;background:var(--blanco)}
.cab__in{display:flex;align-items:center;gap:var(--s7);height:var(--cab)}
.cab__logo img{height:34px;width:auto}
.cab__nav{margin-left:auto;display:flex;align-items:center;gap:var(--s6)}
.cab__nav .btn{line-height:1}
.cab__nav a:not(.btn){font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta);border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .18s,color .18s}
.cab__nav a:not(.btn):hover{color:var(--azul);border-bottom-color:var(--azul)}
.hamb{display:none;margin-left:auto;background:none;border:0;padding:var(--s2);cursor:pointer}
.hamb span{display:block;width:23px;height:2px;background:var(--tinta);margin:5px 0;transition:transform .2s,opacity .2s}
.hamb.abierto span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamb.abierto span:nth-child(2){opacity:0}
.hamb.abierto span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.movil{display:none;background:var(--blanco);border-top:1px solid var(--linea);padding:var(--s4) var(--borde) var(--s6)}
.cab__nav .btn--sm{margin-left:var(--s4)}
.movil a:not(.btn){display:block;padding:13px 0;font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--tinta);border-bottom:1px solid var(--linea)}
.movil .btn{margin-top:var(--s4);justify-content:center;width:100%}

/* ----------------------------------------------------- portada */
.portada{position:relative;height:100svh;min-height:560px;background:var(--tinta);overflow:hidden}
/* la aérea ocupa todo el alto disponible entre la banda blanca y la banda tinta */
.portada__lienzo{position:absolute;inset:0;overflow:hidden}
.portada__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;
  transform:scale(1.03);animation:respira 34s ease-in-out infinite alternate}
@keyframes respira{to{transform:scale(1.11)}}

/* banda sólida: legibilidad sin velos sucios, y hace pareja con la banda blanca de arriba */
.portada__pie{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  background:var(--banda,rgba(2,69,212,.70));
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  border-top:1px solid rgba(255,255,255,.22);
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s7);flex-wrap:wrap;
  padding:clamp(26px,3.4vw,42px) calc(var(--borde) + 62px) clamp(26px,3.4vw,42px) var(--borde);
}
.portada h1{
  font-family:var(--sans);font-weight:700;color:var(--blanco);
  font-size:clamp(19px,2.15vw,30px);line-height:1.14;letter-spacing:.01em;
  text-transform:uppercase;max-width:26ch;margin:0;
  opacity:0;animation:sube 1s ease-out .3s forwards;
}
.portada h1 .sf{display:block;font-family:var(--serif);font-weight:400;text-transform:uppercase;
  font-size:.8em;letter-spacing:.05em;color:var(--banda-sf,#CFDEFF);margin-top:.18em}
.portada__meta{text-align:right;opacity:0;animation:sube 1s ease-out .5s forwards}
.portada__meta span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(255,255,255,.72)}
.portada__meta b{display:block;font-family:var(--serif);font-weight:400;font-size:15px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--blanco);margin-top:6px}
@keyframes sube{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.portada__baja{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);
  z-index:3;width:1px;height:52px;background:rgba(255,255,255,.42);overflow:hidden}
.portada__baja::after{content:"";position:absolute;inset:0;background:var(--blanco);
  transform:translateY(-100%);animation:baja 2.6s ease-in-out infinite}
@keyframes baja{0%{transform:translateY(-100%)}55%{transform:translateY(100%)}100%{transform:translateY(100%)}}

/* ----------------------------------------------------- datos */
.datos{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea)}
.datos div{padding:var(--s6) var(--s5) var(--s6) 0;border-bottom:1px solid var(--linea)}
.datos dt{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-2)}
.datos dd{margin:var(--s2) 0 0;font-size:16px;font-weight:700;color:var(--tinta);line-height:1.3}

/* ----------------------------------------------------- encabezado de sección */
.enc{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s6);
  margin-bottom:var(--s8);flex-wrap:wrap}
.enc p{max-width:56ch;margin-top:var(--s5)}

/* ----------------------------------------------------- proyectos */
.proyectos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.pro{background:var(--blanco);border:1px solid var(--linea);display:flex;flex-direction:column;
  transition:box-shadow .2s,border-color .2s,transform .2s}
.pro:hover{box-shadow:var(--sombra);border-color:var(--azul-a16);transform:translateY(-3px)}
.pro__foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--gris)}
.pro__foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pro:hover .pro__foto img{transform:scale(1.04)}
.pro__sello{position:absolute;top:0;left:0;padding:8px var(--s4);
  font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  background:var(--azul);color:var(--blanco)}
.pro__sello--vendido{background:var(--tinta)}
.pro__sello--naranja{background:var(--anaranjado);color:var(--tinta)}
.pro__cuerpo{padding:var(--s5);display:flex;flex-direction:column;flex:1}
.pro__lugar{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-2)}
.pro__tipo{font-family:var(--serif);font-size:14.5px;letter-spacing:.02em;color:var(--azul);margin:var(--s2) 0 var(--s4)}
.pro h3{margin:var(--s2) 0 0}
.pro__lista{list-style:none;margin:var(--s5) 0;padding:0;border-top:1px solid var(--linea)}
.pro__lista li{display:flex;justify-content:space-between;gap:var(--s4);padding:9px 0;
  border-bottom:1px solid var(--linea);font-size:13.5px}
.pro__lista .k{color:var(--texto-2)}
.pro__lista .v{font-weight:700;color:var(--tinta);text-align:right}
.pro__pie{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4)}
.pro__precio{font-size:19px;font-weight:700;color:var(--azul);line-height:1.1}
.pro__precio small{display:block;font-size:9px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--texto-2);margin-bottom:3px}
.pro__precio--vendido{color:var(--texto-2)}

/* ----------------------------------------------------- franja de proyecto */
.franja{position:relative;min-height:clamp(460px,62vh,660px);display:flex;align-items:center;overflow:hidden;background:var(--tinta)}
.franja__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.franja__caja{
  position:relative;z-index:2;
  width:min(560px,100%);margin-left:max(var(--borde),calc((100vw - var(--wrap))/2 + var(--borde)));
  background:rgba(2,69,212,.86);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  border:1px solid rgba(255,255,255,.22);
  padding:clamp(28px,3.4vw,44px);
}
.franja__caja .t2{color:var(--blanco)}
.franja__caja .t2 .sf{color:#CFDEFF}
.franja__caja .tenue{color:rgba(255,255,255,.86);margin-top:var(--s5);max-width:42ch}
.btn--claro{border-color:var(--blanco);color:var(--blanco)}
.btn--claro:hover{background:var(--blanco);color:var(--tinta)}
@media (max-width:640px){
  .franja{min-height:0;flex-direction:column;align-items:stretch}
  .franja__foto{position:relative;height:clamp(220px,42vw,300px)}
  .franja__caja{width:100%;margin:0;border:0}
}

/* ----------------------------------------------------- calculadora */
.calc{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s8);align-items:center}
.calc__panel{background:var(--blanco);color:var(--texto);padding:var(--s7)}
.calc__fila{display:flex;justify-content:space-between;gap:var(--s4);padding:12px 0;
  border-bottom:1px solid var(--linea);font-size:14px}
.calc__fila:last-of-type{border-bottom:0}
.calc__total{border-top:2px solid var(--tinta);margin-top:var(--s3);padding-top:var(--s4);
  display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4)}
.calc__total b{font-size:19px;color:var(--azul)}

/* ----------------------------------------------------- preguntas */
.preguntas{border-top:1px solid var(--linea)}
.preguntas details{border-bottom:1px solid var(--linea)}
.preguntas summary{
  list-style:none;cursor:pointer;padding:var(--s6) var(--s7) var(--s6) 0;position:relative;
  font-family:var(--sans);font-weight:700;font-size:16px;line-height:1.35;color:var(--tinta);
}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"";position:absolute;right:var(--s3);top:50%;width:13px;height:13px;
  border-right:2px solid var(--azul);border-bottom:2px solid var(--azul);
  transform:translateY(-70%) rotate(45deg);transition:transform .22s}
.preguntas details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.preguntas__r{padding:0 var(--s8) var(--s6) 0;max-width:72ch;color:var(--texto)}
.preguntas__r p{margin-bottom:var(--s4)}
.preguntas__r p:last-child{margin-bottom:0}

/* ----------------------------------------------------- notas */
.notas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.nota{display:flex;flex-direction:column;border:1px solid var(--linea);background:var(--blanco);
  transition:border-color .2s,box-shadow .2s}
.nota:hover{border-color:var(--azul-a16);box-shadow:var(--sombra)}
.nota__foto{aspect-ratio:16/10;overflow:hidden;background:var(--gris)}
.nota__foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.nota:hover .nota__foto img{transform:scale(1.04)}
.nota__cuerpo{padding:var(--s5);display:flex;flex-direction:column;flex:1}
.nota__cat{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--azul)}
.nota h3{font-size:15px;font-weight:700;line-height:1.35;color:var(--tinta);margin:var(--s3) 0;text-transform:none;letter-spacing:0}
.nota p{font-size:13.5px;color:var(--texto-2);line-height:1.6;margin-bottom:var(--s5)}
.nota__pie{margin-top:auto}

/* ----------------------------------------------------- contacto */
.contacto{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s8);align-items:start}
.directo{list-style:none;margin:var(--s7) 0 0;padding:0}
.directo li{display:flex;gap:var(--s4);padding:var(--s4) 0;border-top:1px solid rgba(255,255,255,.2)}
.directo .k{font-family:var(--serif);font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;
  color:#8FB2FF;min-width:104px}
.directo .v{color:var(--blanco);font-size:14.5px}
.directo a:hover{text-decoration:underline}
.form{background:var(--blanco);color:var(--texto);padding:var(--s7)}
.form__rejilla{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.campo{display:flex;flex-direction:column;gap:6px}
.campo--ancho{grid-column:1/-1}
.campo label{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta)}
.campo input,.campo select,.campo textarea{
  font-family:var(--sans);font-size:14px;color:var(--tinta);background:var(--blanco);
  border:1px solid var(--linea);border-radius:0;padding:12px var(--s4);width:100%;
  transition:border-color .18s,box-shadow .18s}
.campo textarea{resize:vertical;min-height:100px}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--azul);box-shadow:0 0 0 3px var(--azul-a16)}
.form__pie{margin-top:var(--s5);display:flex;align-items:center;justify-content:space-between;
  gap:var(--s4);flex-wrap:wrap}
.form__nota{font-size:11px;color:var(--texto-2);max-width:34ch}

/* ----------------------------------------------------- calificación del lead */
.campo label i{font-style:normal;font-weight:400;letter-spacing:.06em;color:var(--texto-2);text-transform:none}
.calif{margin-top:var(--s6);padding-top:var(--s6);border-top:1px solid var(--linea)}
.calif__t{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--azul);margin-bottom:var(--s5)}
.calif__g{border:0;margin:0 0 var(--s6);padding:0}
.calif__g:last-child{margin-bottom:0}
.calif__g legend{padding:0;margin-bottom:var(--s3);font-size:13.5px;font-weight:700;
  color:var(--tinta);line-height:1.35}
.op__fila{display:flex;flex-wrap:wrap;gap:var(--s2)}
.op{position:relative;display:inline-flex}
.op input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.op span{
  display:inline-block;padding:9px var(--s4);
  border:1px solid var(--linea);background:var(--blanco);
  font-size:12.5px;line-height:1.3;color:var(--texto);
  transition:border-color .15s,background-color .15s,color .15s;cursor:pointer;
}
.op span:hover{border-color:var(--azul);color:var(--azul)}
.op input:checked + span{background:var(--azul);border-color:var(--azul);color:var(--blanco);font-weight:700}
.op input:focus-visible + span{outline:3px solid var(--anaranjado);outline-offset:2px}

.priv{display:flex;align-items:flex-start;gap:var(--s3);margin-top:var(--s6);
  font-size:12.5px;line-height:1.5;color:var(--texto);cursor:pointer}
.priv input{width:17px;height:17px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--azul);cursor:pointer}
.priv a{color:var(--azul);border-bottom:1px solid var(--azul-a16)}
.priv a:hover{border-bottom-color:var(--azul)}

/* ----------------------------------------------------- pie */
.pie{background:var(--tinta);color:var(--blanco);padding:var(--s9) 0 var(--s6)}
.pie__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--s7);
  padding-bottom:var(--s7);border-bottom:1px solid rgba(255,255,255,.18)}
.pie__marca img{height:34px;width:auto;margin-bottom:var(--s4)}
.pie__tag{font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.6);max-width:26ch;line-height:1.8}
.pie h4{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#7E9BE0;margin-bottom:var(--s4)}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:11px}
.pie li a{font-size:13.5px;color:rgba(255,255,255,.86);border-bottom:1px solid transparent}
.pie li a:hover{border-bottom-color:rgba(255,255,255,.86)}
.pie__bajo{display:flex;justify-content:space-between;gap:var(--s5);flex-wrap:wrap;
  padding-top:var(--s5);font-size:11.5px;color:rgba(255,255,255,.58)}
.pie__redes{display:flex;gap:var(--s4)}
.pie__redes a:hover{color:var(--blanco)}

/* ----------------------------------------------------- whatsapp */
.wa{position:fixed;right:20px;bottom:20px;z-index:50;width:52px;height:52px;display:grid;place-items:center;
  background:var(--anaranjado);color:var(--blanco);box-shadow:0 6px 22px rgba(0,19,53,.26);
  transition:background-color .18s,transform .18s}
.wa:hover{background:var(--naranja-hover);transform:translateY(-2px)}

/* ----------------------------------------------------- responsive */
@media (max-width:1024px){
  .cab__nav{display:none}
  .hamb{display:block}
  .movil.abierto{display:block}
  .proyectos,.notas{grid-template-columns:repeat(2,1fr)}
  .calc,.contacto{grid-template-columns:1fr;gap:var(--s7)}
  .datos{grid-template-columns:repeat(2,1fr)}
  .portada__pie{flex-direction:column;align-items:flex-start;gap:var(--s4);padding-right:calc(var(--borde) + 56px)}
  .portada__meta{text-align:left}
  .portada__baja{display:none}
}
@media (max-width:640px){
  /* objetivo táctil cómodo en las preguntas de calificación */
  .op span{padding:12px var(--s4);font-size:13px}
  .op__fila{gap:var(--s3)}
  .proyectos,.notas{grid-template-columns:1fr}
  .form__rejilla{grid-template-columns:1fr}
  .pie__top{grid-template-columns:1fr 1fr;gap:var(--s6)}
  .portada h1{max-width:none}
  .form,.calc__panel{padding:var(--s6) var(--s5)}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto}
  .portada h1,.portada__meta{opacity:1;transform:none}
  .portada__foto{transform:none}
  .pro:hover{transform:none}
  .pro:hover .pro__foto img,.nota:hover .nota__foto img{transform:none}
}

/* ============================================================
   Páginas interiores
   ============================================================ */
.portada--corta{height:auto;min-height:0}
.portada--corta .portada__lienzo{position:relative;height:clamp(380px,58vh,640px)}
.portada--corta .portada__pie{position:relative}
.portada--corta .portada__foto{animation:none;transform:none}

.miga{padding:var(--s4) var(--borde) 0;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-2)}
.miga a{color:var(--azul)}
.miga i{font-style:normal;margin:0 var(--s2);color:var(--texto-2)}
.miga span{color:var(--texto)}

/* ficha de datos clave */
.ficha{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--linea);border-left:1px solid var(--linea)}
.ficha div{padding:var(--s5);border-right:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.ficha dt{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-2)}
.ficha dd{margin:var(--s2) 0 0;font-size:17px;font-weight:700;color:var(--tinta);line-height:1.3}
.ficha dd small{display:block;font-size:12.5px;font-weight:400;color:var(--texto-2);margin-top:3px}

/* dos columnas texto + lista */
.dos{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s8);align-items:start}
.lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.lista li{padding:12px 0 12px var(--s5);border-bottom:1px solid var(--linea);position:relative;font-size:14.5px}
.lista li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--azul)}
.seccion--tinta .lista li{border-color:rgba(255,255,255,.18)}
.seccion--tinta .lista{border-color:rgba(255,255,255,.18)}
.seccion--tinta .lista li::before{background:var(--anaranjado)}

/* galería */
.gal{display:grid;gap:var(--s3)}
.gal--3{grid-template-columns:repeat(3,1fr)}
.gal--4{grid-template-columns:repeat(4,1fr)}
.gal__cel{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--gris)}
.gal__cel--ancha{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gal__cel img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal__cel:hover img{transform:scale(1.04)}

/* planos */
.planos{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5)}
.plano{background:var(--blanco);border:1px solid var(--linea);padding:var(--s4)}
.plano img{width:100%;height:auto;display:block}
.plano figcaption{margin-top:var(--s3);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-2)}
.plano--ancho{grid-column:1/-1}

/* mapa y embeds */
.mapa,.tour,.calc__marco{position:relative;background:var(--gris);border:1px solid var(--linea)}
.mapa{aspect-ratio:16/9}
.tour{aspect-ratio:16/9}
.calc__marco{min-height:720px}
.mapa iframe,.tour iframe,.calc__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.direccion{margin-top:var(--s5);padding:var(--s5);background:var(--blanco);border:1px solid var(--linea);font-size:14.5px}
.direccion b{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-2);margin-bottom:var(--s2)}

/* proceso / pasos */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);counter-reset:paso}
.paso{padding:var(--s5) 0 0;border-top:2px solid var(--azul);counter-increment:paso}
.paso::before{content:"0" counter(paso);display:block;font-family:var(--serif);font-size:30px;color:var(--azul);line-height:1;margin-bottom:var(--s3)}
.paso h3{margin-bottom:var(--s2)}
.paso p{font-size:14px;color:var(--texto-2)}

/* artículo */
.art{max-width:760px;margin:0 auto}
.art__cab{padding:var(--s8) 0 var(--s6)}
.art__cab .nota__cat{margin-bottom:var(--s4)}
.art__cab h1{font-family:var(--sans);font-weight:700;font-size:clamp(26px,3.4vw,42px);line-height:1.12;letter-spacing:0;text-transform:none;color:var(--tinta)}
.art__meta{margin-top:var(--s4);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-2)}
.art__foto{aspect-ratio:16/9;overflow:hidden;background:var(--gris);margin-bottom:var(--s7)}
.art__foto img{width:100%;height:100%;object-fit:cover}
.rt{font-size:17px;line-height:1.75;color:var(--texto)}
.rt p{margin:0 0 var(--s5)}
.rt h2{font-family:var(--sans);font-weight:700;font-size:24px;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--tinta);margin:var(--s7) 0 var(--s4)}
.rt h3{font-family:var(--sans);font-weight:700;font-size:19px;line-height:1.3;text-transform:none;letter-spacing:0;color:var(--tinta);margin:var(--s6) 0 var(--s3)}
.rt ul,.rt ol{margin:0 0 var(--s5);padding-left:22px}
.rt li{margin-bottom:var(--s2)}
.art__cta{margin:var(--s8) 0 0;padding:var(--s6);background:var(--azul);color:var(--blanco)}
.art__cta .rotulo{color:#B9CCFF;margin-bottom:var(--s3)}
.art__cta h3{color:var(--blanco);margin-bottom:var(--s4)}

/* categorías del blog */
.cats{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s7)}
.cats button{padding:9px var(--s4);border:1px solid var(--linea);background:var(--blanco);color:var(--texto);
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .15s}
.cats button:hover{border-color:var(--azul);color:var(--azul)}
.cats button[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:var(--blanco)}

/* legal */
.legal{max-width:760px}
.legal h2{font-family:var(--sans);font-weight:700;font-size:19px;text-transform:none;letter-spacing:0;color:var(--tinta);margin:var(--s7) 0 var(--s3)}
.legal p,.legal li{font-size:15px;line-height:1.7}
.pendiente{padding:var(--s4) var(--s5);background:#FFF4E5;border-left:3px solid var(--anaranjado);color:#5A3A0A;font-size:13.5px;margin:0 0 var(--s6)}

/* 404 / gracias */
.centro{max-width:640px;margin:0 auto;text-align:center;padding:clamp(72px,12vw,140px) var(--borde)}
.centro .t1{margin-bottom:var(--s5)}
.centro .grande{font-family:var(--serif);font-size:clamp(72px,14vw,140px);line-height:1;color:var(--azul);margin-bottom:var(--s5)}

@media (max-width:1024px){
  .ficha{grid-template-columns:repeat(2,1fr)}
  .pasos{grid-template-columns:repeat(2,1fr)}
  .dos{grid-template-columns:1fr;gap:var(--s6)}
  .gal--4{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .ficha{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr}
  .gal--3,.gal--4{grid-template-columns:repeat(2,1fr)}
  .gal__cel--ancha{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}
  .planos{grid-template-columns:1fr}
  .calc__marco{min-height:640px}
}
.seccion--azul{background:var(--azul);color:var(--blanco)}
.seccion--azul .t2{color:var(--blanco)}
.seccion--azul .t2 .sf{color:#B9CCFF}


/* ============================================================
   Iconografía de marca, misión animada y aparición al scroll
   ============================================================ */
.ico{width:34px;height:34px;display:block;object-fit:contain}
.ficha div .ico{margin-bottom:var(--s3)}
.datos div .ico{margin-bottom:var(--s3);width:30px;height:30px}
.ico--k{width:18px;height:18px;display:inline-block;vertical-align:-4px;margin-right:8px}
.directo .k{display:flex;align-items:center;gap:0}
.ico--paso{width:40px;height:40px;margin-bottom:var(--s3)}
.paso::before{display:none}
.lista li::before{width:16px;height:16px;top:14px;background:url("/assets/icons/azul-38.png") center/contain no-repeat}
.lista li{padding-left:28px}
.seccion--tinta .lista li::before,.seccion--azul .lista li::before{background-image:url("/assets/icons/blanco-38.png")}

/* misión · valores · visión: un valor a la vez, con barra de tiempo e índice sincronizados */
.mvv{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:var(--s5);align-items:stretch}
.mvv__panel{padding:clamp(28px,3vw,40px);color:var(--blanco);display:flex;flex-direction:column;justify-content:center}
.mvv__panel p:last-child{font-family:var(--serif);font-size:clamp(17px,1.5vw,21px);line-height:1.45}
.mvv__panel--mision{background:var(--azul)}
.mvv__panel--vision{background:var(--tinta)}
.mvv__valores{position:relative;background:var(--blanco);border:1px solid var(--linea);padding:clamp(28px,3vw,40px);
  display:flex;flex-direction:column;justify-content:space-between;min-height:340px}
.mvv__palabra{position:relative;height:2.4em;font-family:var(--sans);font-weight:700;
  font-size:clamp(26px,3vw,42px);line-height:1.08;letter-spacing:.01em;text-transform:uppercase;color:var(--tinta)}
.mvv__palabra span{position:absolute;left:0;right:0;top:0;opacity:0;transform:translateY(10px);
  animation:mvvCiclo 20s cubic-bezier(.2,.8,.3,1) infinite;animation-delay:calc(var(--i) * 4s)}
.mvv__palabra b{display:block;font-family:var(--serif);font-weight:400;font-size:.5em;letter-spacing:.12em;color:var(--azul);margin-bottom:.35em}
@keyframes mvvCiclo{0%{opacity:0;transform:translateY(10px)}3%,17%{opacity:1;transform:none}20%,100%{opacity:0;transform:translateY(-10px)}}
.mvv__barra{height:2px;background:var(--gris);margin:var(--s5) 0 var(--s4);overflow:hidden}
.mvv__barra i{display:block;height:100%;background:var(--azul);transform-origin:left;animation:mvvBarra 4s linear infinite}
@keyframes mvvBarra{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.mvv__indice{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.mvv__indice span{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--texto-2);
  animation:mvvIdx 20s steps(1) infinite;animation-delay:calc(var(--i) * 4s)}
@keyframes mvvIdx{0%,19.9%{color:var(--azul)}20%,100%{color:var(--texto-2)}}
@media (max-width:1024px){.mvv{grid-template-columns:1fr}.mvv__valores{min-height:0}}

/* aparición al scroll */
.rev{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.3,1);transition-delay:var(--d,0ms)}
.rev.en{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rev{opacity:1;transform:none;transition:none}
  .mvv__palabra{height:auto}.mvv__palabra span{position:static;opacity:1;transform:none;animation:none;display:block;margin-bottom:var(--s3)}
  .mvv__palabra b{display:inline;margin-right:.6em}
  .mvv__barra{display:none}.mvv__indice span{animation:none}
}


/* ============================================================
   Capa de tema por proyecto. Solo dentro de <main>: cabecera, pie,
   tipografía base, retícula y botones de acción (naranja) siguen siendo Landia.
   El proyecto aporta color, superficie, logotipo e iconos en su tono.
   ============================================================ */
@font-face{font-family:"Halyard Display";src:url("assets/fonts/halyard-display-700.otf") format("opentype");font-weight:700;font-display:swap}
@font-face{font-family:"Halyard Display";src:url("assets/fonts/halyard-display-300.otf") format("opentype");font-weight:300;font-display:swap}

html[data-tema="rincon"]{
  --azul:#1F3A3D; --azul-hover:#386367; --azul-oscuro:#16302F;
  --gris:#F1EBDF; --azul-a08:rgba(31,58,61,.08); --azul-a16:rgba(31,58,61,.16);
  --banda:rgba(31,58,61,.78); --banda-sf:#CFE3DF;
}
html[data-tema="zenvia"]{
  --azul:#563C28; --azul-hover:#3F2B1C; --azul-oscuro:#3F2B1C;
  --gris:#EDEBE4; --azul-a08:rgba(86,60,40,.08); --azul-a16:rgba(86,60,40,.16);
  --banda:rgba(86,60,40,.78); --banda-sf:#EADFD2;
}
/* viñetas de lista en el tono del proyecto (mismo icono de marca, recoloreado) */
html[data-tema="rincon"] .lista li::before{background-image:url("/assets/icons/verde-38.png")}
html[data-tema="zenvia"] .lista li::before{background-image:url("/assets/icons/cafe-38.png")}
html[data-tema] .seccion--tinta .lista li::before,html[data-tema] .seccion--azul .lista li::before{background-image:url("/assets/icons/blanco-38.png")}
/* el rótulo "claro" sobre superficies del tema */
html[data-tema="rincon"] .seccion--azul .t2 .sf,html[data-tema="rincon"] .rotulo--claro{color:#CFE3DF}
html[data-tema="zenvia"] .seccion--azul .t2 .sf,html[data-tema="zenvia"] .rotulo--claro{color:#EADFD2}
/* logotipo del proyecto en la banda de portada */
.portada__marca{height:clamp(26px,3vw,40px);width:auto;display:block;margin-bottom:var(--s4);opacity:0;animation:sube 1s ease-out .2s forwards}
/* Zen Vía trae su propia voz tipográfica: solo en el titular de portada, nunca en el cuerpo */
html[data-tema="zenvia"] .portada h1{font-family:"Halyard Display",var(--sans);font-weight:700;letter-spacing:.03em;font-size:clamp(24px,2.6vw,38px)}

/* ============================================================
   Fichas de proyecto: lienzo completo en el tema, portada propia,
   tarjeta lateral fija, cifras que cuentan, tira de renders, pestañas.
   ============================================================ */
html[data-tema] body{background:var(--gris)}
html[data-tema] .miga{padding-top:var(--s5)}
html[data-tema="rincon"]{--banda-solida:rgba(31,58,61,.58)}
html[data-tema="zenvia"]{--banda-solida:rgba(86,60,40,.58)}
/* el tema vive en <html> (Webflow lo pone desde el head); cabecera y pie conservan siempre los tokens de Landia */
html[data-tema] .cab,html[data-tema] .pie{--azul:#0245D4;--azul-hover:#0238A8;--azul-oscuro:#0E335E;--gris:#EAEAEA;--azul-a08:rgba(2,69,212,.08);--azul-a16:rgba(2,69,212,.16)}

.py-hero{position:relative;overflow:hidden}
.py-hero--foto{background:var(--azul-oscuro);color:var(--blanco);min-height:clamp(560px,86vh,820px);display:flex;flex-direction:column;justify-content:flex-end}
.py-hero__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.03);animation:respira 34s ease-in-out infinite alternate}
.py-hero__velo{position:absolute;inset:0;background:var(--banda-solida)}
.py-hero__in{position:relative;z-index:2;padding-top:calc(var(--cab) + var(--s9));padding-bottom:var(--s8)}
.py-hero__logo{height:clamp(44px,5vw,64px);width:auto;margin-bottom:var(--s6);opacity:0;animation:sube .9s ease-out .2s forwards}
.py-hero h1{font-family:var(--sans);font-weight:700;font-size:clamp(26px,3.2vw,46px);line-height:1.04;letter-spacing:.01em;text-transform:uppercase;color:var(--blanco);max-width:22ch;margin:0;opacity:0;animation:sube .9s ease-out .35s forwards}
.py-hero h1 .sf{display:block;font-family:var(--serif);font-weight:400;font-size:.62em;letter-spacing:.06em;color:var(--banda-sf);margin-top:.2em}
.py-hero__lede{max-width:52ch;margin:var(--s5) 0 0;font-size:16.5px;line-height:1.65;color:rgba(255,255,255,.9);opacity:0;animation:sube .9s ease-out .5s forwards}
.py-hero__cta{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s6);opacity:0;animation:sube .9s ease-out .65s forwards}
.btn--claro{background:transparent;border-color:rgba(255,255,255,.7);color:var(--blanco)}
.btn--claro:hover{background:var(--blanco);color:var(--tinta);border-color:var(--blanco)}
.py-hero__cifras{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);padding-top:var(--s5);padding-bottom:var(--s7);border-top:1px solid rgba(255,255,255,.28)}
.py-hero__cifras--ancha{grid-template-columns:repeat(5,1fr)}
.py-hero__cifras b{display:block;font-size:clamp(24px,2.6vw,36px);font-weight:700;line-height:1;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.py-hero__cifras div>span{display:block;margin-top:6px;font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.72}

.py-hero--marca{background:var(--gris);color:var(--azul);padding-top:calc(var(--cab) + var(--s8))}
.py-hero__eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--azul);margin:0 0 var(--s6)}
.py-hero__wordmark{margin:0;opacity:0;animation:sube 1s ease-out .15s forwards}
.py-hero__wordmark img{width:min(100%,760px);height:auto;display:block}
.py-hero__tag{margin:var(--s6) 0 0;font-family:"Halyard Display",var(--sans);font-weight:300;font-size:clamp(22px,2.6vw,36px);line-height:1.15;color:var(--azul);max-width:24ch;opacity:0;animation:sube 1s ease-out .35s forwards}
.py-hero__tag em{display:block;font-style:normal;font-family:var(--serif);font-size:.78em;letter-spacing:.04em;text-transform:uppercase;margin-top:.15em;opacity:.8}
.py-hero--marca .py-hero__cta{margin-top:var(--s7)}
.py-hero__aerea{margin-top:var(--s8)}
.py-hero__aerea img{width:100%;height:auto;aspect-ratio:2.2/1;object-fit:cover;object-position:center 22%;display:block;opacity:0;animation:sube 1.2s ease-out .55s forwards}
.py-hero--marca .py-hero__cifras{border-top-color:var(--azul-a16);color:var(--azul);padding-bottom:var(--s8)}
.py-hero--marca .py-hero__cifras div>span{opacity:1;color:var(--tinta)}

.py{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s8);align-items:start;padding-top:var(--s7);padding-bottom:var(--s9)}
.py__cuerpo{min-width:0}
.py-sec{padding:var(--s8) 0;border-top:1px solid var(--azul-a16)}
.py-sec:first-child{border-top:0;padding-top:var(--s5)}
.py-sec--sangrar{border-top:0}
.py-sec__cab{margin-bottom:var(--s6)}
.py-sec--oscuro{background:var(--azul-oscuro);color:var(--blanco);padding:var(--s7);border:0}
.py-sec--oscuro .t2{color:var(--blanco)}
.py-sec--oscuro .t2 .sf{color:var(--banda-sf)}
.py__lado{position:sticky;top:calc(var(--cab) + var(--s5))}
.lado{background:var(--blanco);border:1px solid var(--azul-a16);padding:var(--s6);box-shadow:var(--sombra)}
.lado__logo{height:30px;width:auto;margin-bottom:var(--s5)}
.lado__estado{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--azul);margin-bottom:var(--s4)}
.lado__precio{font-size:30px;font-weight:700;color:var(--tinta);line-height:1.05;margin-bottom:var(--s2)}
.lado__precio small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--texto-2);margin-bottom:4px}
.lado__cuota{font-size:13px;color:var(--texto-2);margin-bottom:var(--s5)}
.lado__cuota b{color:var(--tinta)}
.lado__datos{list-style:none;margin:0 0 var(--s5);padding:0;border-top:1px solid var(--linea)}
.lado__datos li{padding:9px 0;border-bottom:1px solid var(--linea);font-size:13px;color:var(--texto)}
.lado .btn{padding-inline:var(--s4);white-space:nowrap;letter-spacing:.1em}
.lado__wa{display:block;text-align:center;margin-top:var(--s3);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azul)}
.lado__wa:hover{text-decoration:underline}

.amen{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
.amen li{display:grid;grid-template-columns:40px 1fr;gap:2px var(--s4);align-items:start;padding:var(--s4) var(--s5);background:var(--blanco);border:1px solid var(--azul-a16)}
.amen .ico{width:40px;height:40px;grid-row:span 2;margin:0}
.amen b{font-size:14px;color:var(--tinta);line-height:1.3}
.amen span{font-size:12.5px;color:var(--texto-2);line-height:1.4}

.tira{overflow:hidden;margin:0 calc(-1 * var(--borde));padding-bottom:var(--s2)}
.tira__pista{display:flex;gap:var(--s3);width:max-content;animation:tira 70s linear infinite}
.tira:hover .tira__pista{animation-play-state:paused}
.tira__cel{margin:0;flex:0 0 auto;width:clamp(240px,28vw,420px);aspect-ratio:4/3;overflow:hidden;background:var(--blanco)}
.tira__cel img{width:100%;height:100%;object-fit:cover}
@keyframes tira{to{transform:translateX(-50%)}}

.pest{margin-top:var(--s6)}
.pest__tabs{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s4)}
.pest__tabs button{padding:10px var(--s4);border:1px solid var(--azul-a16);background:var(--blanco);color:var(--texto);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .15s}
.pest__tabs button:hover{border-color:var(--azul);color:var(--azul)}
.pest__tabs button[aria-selected="true"]{background:var(--azul);border-color:var(--azul);color:var(--blanco)}
.pest__panes figure{margin:0;background:var(--blanco);border:1px solid var(--azul-a16);padding:var(--s4);animation:fundido .45s ease-out}
.pest__panes img{width:100%;height:auto;display:block}
.pest__panes figcaption{margin-top:var(--s3);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-2)}
@keyframes fundido{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.dist{list-style:none;margin:var(--s5) 0 0;padding:0;border-top:1px solid var(--azul-a16)}
.dist li{display:flex;align-items:baseline;gap:var(--s4);padding:12px 0;border-bottom:1px solid var(--azul-a16);font-size:14px;color:var(--texto)}
.dist b{font-size:22px;font-weight:700;color:var(--azul);min-width:5.5ch;font-variant-numeric:tabular-nums}

.py-contacto{background:var(--azul-oscuro);color:var(--blanco)}
.py-contacto .t2{color:var(--blanco)}
.py-contacto .t2 .sf{color:var(--banda-sf)}
.py-contacto .tenue{color:rgba(255,255,255,.75)}
.py-contacto .directo .k{color:var(--banda-sf)}
.barra-movil{display:none}

@media (max-width:1024px){
  .py{grid-template-columns:1fr;gap:var(--s6)}
  .py__lado{position:static;order:-1}
  .py-hero__cifras,.py-hero__cifras--ancha{grid-template-columns:repeat(2,1fr)}
  .amen{grid-template-columns:1fr}
  .barra-movil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;align-items:center;justify-content:space-between;gap:var(--s4);padding:10px var(--borde);background:var(--blanco);border-top:1px solid var(--linea);box-shadow:0 -6px 20px rgba(0,19,53,.10)}
  .barra-movil span{font-size:17px;font-weight:700;color:var(--tinta);line-height:1.1}
  .barra-movil small{display:block;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2)}
  body:has(.barra-movil) .wa{bottom:78px}
}
@media (prefers-reduced-motion:reduce){
  .tira__pista{animation:none;flex-wrap:wrap;width:auto}
  .py-hero__logo,.py-hero h1,.py-hero__lede,.py-hero__cta,.py-hero__wordmark,.py-hero__tag,.py-hero__aerea img{opacity:1;animation:none}
  .py-hero__foto{animation:none;transform:none}
}

/* trampa anti-spam del formulario (fuera de pantalla) y aviso de error de envío */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form__error{margin:var(--s4) 0 0;padding:var(--s3) var(--s4);background:#FDECE3;border-left:3px solid var(--anaranjado);color:var(--tinta);font-size:13.5px;line-height:1.5}

/* ============================================================
   Neutralizador de Webflow. El CSS base de Webflow (normalize + webflow.css) fija
   estilos en etiquetas sueltas (label, h2, small, figcaption, inputs...). Aquí se
   dejan explícitos los valores por defecto del navegador que el diseño asume, para
   que la página publicada en Webflow se vea igual que la vista previa.
   ============================================================ */
/* ---- neutralizador de Webflow ---- */
img{vertical-align:baseline}
button{color:buttontext}
label{display:inline;margin-bottom:0;font-weight:inherit}
input,select,textarea{font:400 13.3333px Arial,sans-serif;line-height:normal;color:fieldtext;margin:0}  /* = valores por defecto del navegador; Webflow los cambia a font:inherit */
h1,h2,h3,h4,h5,h6{line-height:inherit}
figcaption{text-align:start;margin-top:0}
summary{display:list-item}
small{font-size:smaller}
ul,ol{margin-block:1em;padding-inline-start:40px}
blockquote{margin:1em 40px;padding:0;border:0;font-size:inherit;line-height:inherit}
table{border-collapse:separate;border-spacing:2px}
td,th{padding:1px}
/* El <body> de las páginas viejas de Webflow conserva clases (home-body, body, zen-body) con tipografía
   Montserrat y fondos propios, que ganan por especificidad a la regla base. Se fijan aquí en firme. */
body{font-family:var(--sans)!important;font-size:16px!important;line-height:1.68!important;color:var(--texto)!important;background:var(--blanco)!important}
html[data-tema] body{background:var(--gris)!important}
/* En las entradas del blog el cuerpo va dentro de un Rich Text de Webflow (.w-richtext), cuyo CSS pone
   overflow:hidden a las listas y evita que el margen del último <li> colapse (+8 px por lista). */
.w-richtext ol,.w-richtext ul{overflow:visible}
