:root{
  --vino:#4C0A17;
  --vino-hondo:#360510;
  --vino-alto:#7A1B2B;
  --hueso:#F1EEE8;
  --blanco:#FFFFFF;
  --hueso-puro:#FAF8F4;
  --piedra:#DFDAD3;
  --tinta:#1B1917;
  --humo:#6E6862;
  --linea:rgba(27,25,23,.18);
  --linea-clara:rgba(255,255,255,.26);
  --gutter:clamp(1.25rem,5.5vw,7rem);
  --radio:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--hueso);color:var(--tinta);
  font-family:"Spectral",Georgia,serif;font-weight:300;
  font-size:clamp(1rem,.95rem + .25vw,1.08rem);line-height:1.75;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit}
::selection{background:var(--vino);color:var(--blanco)}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.sr{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:-999px;top:0;z-index:70;background:var(--vino);color:#fff;padding:.7rem 1.1rem;font-family:"Jost",sans-serif;font-size:.85rem}
.salto:focus{left:.6rem;top:.6rem}
h1,h2,h3{font-family:"Jost",system-ui,sans-serif;font-weight:200;line-height:1.12;margin:0}

/* ---------- utilidades ---------- */
.bloque{padding:clamp(4rem,10vh,8.5rem) var(--gutter);position:relative}
.rotulo{font-family:"Jost",sans-serif;font-weight:300;font-size:.76rem;letter-spacing:.28em;color:var(--humo);margin:0 0 .8rem}
.sube{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1)}
.sube.visto{opacity:1;transform:none}
.sube[data-tarde]{transition-delay:.14s}
.figura{overflow:hidden;position:relative;background:var(--piedra)}
.figura img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.4s cubic-bezier(.2,.7,.3,1)}
.figura.visto img{transform:scale(1)}
.figura::after{content:"";position:absolute;inset:0;background:var(--hueso);transform-origin:top;transition:transform 1.1s cubic-bezier(.7,0,.2,1)}
.figura.visto::after{transform:scaleY(0)}

/* ---------- progreso + barra ---------- */
.progreso{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--vino-alto);z-index:60}
.barra{
  position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.8rem var(--gutter);background:rgba(241,238,232,.9);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linea);transform:translateY(-102%);transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.barra[data-visible="true"]{transform:none}
.barra a{text-decoration:none}
.barra-marca{font-family:"Jost",sans-serif;font-weight:300;font-size:1rem;letter-spacing:.4em;padding-left:.4em}
.barra-nav{display:flex;gap:clamp(.9rem,2.6vw,2.2rem);align-items:center}
.barra-nav a{font-family:"Jost",sans-serif;font-size:.8rem;letter-spacing:.1em;color:var(--humo);padding-bottom:2px;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.barra-nav a:hover{color:var(--vino);border-bottom-color:var(--vino)}
@media(max-width:760px){.oculto-movil{display:none}}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;
  font-family:"Jost",sans-serif;font-size:.92rem;font-weight:400;letter-spacing:.06em;
  padding:.95rem 1.6rem;border:1px solid currentColor;border-radius:var(--radio);
  position:relative;overflow:hidden;isolation:isolate;transition:color .4s,border-color .4s;
}
.btn span{position:relative;z-index:2}
.btn svg{width:17px;height:17px;position:relative;z-index:2;flex:none}
.btn::before{content:"";position:absolute;inset:0;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.2,.7,.3,1);z-index:1}
.btn:hover::before,.btn:focus-visible::before{transform:scaleX(1);transform-origin:left}
.btn-solido{background:var(--vino);color:var(--blanco);border-color:var(--vino)}
.btn-solido::before{background:var(--hueso-puro)}
.btn-solido:hover,.btn-solido:focus-visible{color:var(--vino)}
.btn-claro{color:var(--blanco);border-color:rgba(255,255,255,.66)}
.btn-claro::before{background:var(--blanco)}
.btn-claro:hover,.btn-claro:focus-visible{color:var(--vino);border-color:var(--blanco)}
.btn-linea{color:var(--vino)}
.btn-linea::before{background:var(--vino)}
.btn-linea:hover,.btn-linea:focus-visible{color:var(--blanco)}

/* ---------- portada ---------- */
.portada{position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;color:var(--blanco);padding:clamp(5rem,10vh,7rem) var(--gutter) clamp(1.2rem,3vh,2.4rem);isolation:isolate;overflow:hidden}
.portada-fondo{position:absolute;inset:0;z-index:-2}
.portada-fondo img{width:100%;height:100%;object-fit:cover;animation:respirar 26s ease-in-out infinite alternate}
@keyframes respirar{from{transform:scale(1.02)}to{transform:scale(1.13)}}
.portada::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(54,5,16,.94) 0%,rgba(76,10,23,.88) 45%,rgba(54,5,16,.96) 100%)}
.portada-centro{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(1.1rem,2.6vh,1.9rem)}
.marca{width:min(380px,66vw);height:auto;color:var(--blanco)}
.marca .t{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square;vector-effect:non-scaling-stroke}
.marca .base{stroke-width:2.6}
.logotipo{font-size:clamp(3rem,12vw,6.4rem);letter-spacing:.3em;padding-left:.3em}
.bajada{font-family:"Jost",sans-serif;font-weight:300;font-size:clamp(.62rem,2vw,.8rem);letter-spacing:.44em;padding-left:.44em;color:rgba(255,255,255,.82);margin:0}
.promesa{font-family:"Jost",sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:.13em;max-width:31ch;margin:.55rem 0 0;font-size:clamp(.92rem,2.3vw,1.28rem);line-height:1.8;color:rgba(255,255,255,.95)}
.acciones{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:.6rem}
.portada-pie{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-top:1px solid var(--linea-clara);padding-top:1rem;font-family:"Jost",sans-serif;font-size:.72rem;letter-spacing:.18em;color:rgba(255,255,255,.82)}
.portada-pie span{display:block}
.hilo{width:1px;height:46px;background:rgba(255,255,255,.62);align-self:flex-end;transform-origin:bottom}

/* ---------- cinta ---------- */
.cinta{background:var(--vino);color:var(--blanco);border-block:1px solid rgba(0,0,0,.15);overflow:hidden;padding:.9rem 0}
.cinta-pista{display:flex;width:max-content;animation:correr 38s linear infinite}
.cinta:hover .cinta-pista{animation-play-state:paused}
@keyframes correr{to{transform:translateX(-50%)}}
.cinta-grupo{display:flex;align-items:center;flex:none}
.cinta-grupo span{font-family:"Jost",sans-serif;font-weight:300;font-size:.82rem;letter-spacing:.22em;padding:0 1.6rem;white-space:nowrap;color:rgba(255,255,255,.95)}
.cinta-grupo i{display:block;width:5px;height:5px;border:1px solid rgba(255,255,255,.72);transform:rotate(45deg);flex:none}

/* ---------- manifiesto ---------- */
.manifiesto{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:center;background:#000;color:var(--blanco)}
.manifiesto .rotulo{color:rgba(255,255,255,.6)}
.manifiesto h2{color:var(--blanco)}
.manifiesto p{color:rgba(255,255,255,.88)}
.manifiesto .figura{background:#151414}
.manifiesto .figura::after{background:#000}
@media(min-width:940px){.manifiesto{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}}
.manifiesto h2{font-size:clamp(1.85rem,4.4vw,3.05rem);max-width:16ch;margin-bottom:1.6rem}
.manifiesto p{max-width:58ch;margin:0 0 1.2rem}
.remate{font-style:italic;color:var(--blanco);border-left:1px solid rgba(255,255,255,.55);padding-left:1.1rem;margin-top:1.8rem}
.manifiesto .figura{aspect-ratio:16/10;border-radius:var(--radio)}
.manifiesto .lead{font-size:clamp(1.15rem,2.6vw,1.45rem);line-height:1.55;color:#fff;max-width:30ch;margin-bottom:1.6rem}
.pie-foto{display:block;margin-top:.7rem;font-family:"Jost",sans-serif;font-size:.72rem;letter-spacing:.14em;color:rgba(255,255,255,.55)}
.destaque{font-style:italic}

/* ---------- servicios ---------- */
.servicios{background:var(--hueso-puro);border-top:1px solid var(--linea)}
.servicios-intro{max-width:52ch;margin-bottom:clamp(2.5rem,6vw,4rem)}
.servicios-intro h2{font-size:clamp(1.7rem,3.8vw,2.5rem)}
.svc{border-top:1px solid var(--linea)}
.svc:last-of-type{border-bottom:1px solid var(--linea)}
.svc-cabeza{
  width:100%;display:grid;grid-template-columns:1fr 2rem;gap:.35rem 2rem;align-items:center;
  background:none;border:0;padding:clamp(1.35rem,3vw,2.1rem) 0;font:inherit;color:inherit;text-align:left;cursor:pointer;
}
@media(min-width:900px){.svc-cabeza{grid-template-columns:minmax(0,32%) minmax(0,1fr) 2rem}}
.svc-nombre{font-family:"Jost",sans-serif;font-weight:300;font-size:clamp(1.3rem,3vw,1.95rem);line-height:1.15;transition:color .35s,transform .45s cubic-bezier(.2,.7,.3,1)}
.svc-lead{color:var(--humo);font-size:.95rem;line-height:1.6;max-width:48ch}
.svc-signo{position:relative;width:20px;height:20px;justify-self:end}
.svc-signo::before,.svc-signo::after{content:"";position:absolute;inset:50% 0 auto 0;height:1px;background:var(--tinta);transition:transform .45s cubic-bezier(.2,.7,.3,1),background-color .35s}
.svc-signo::after{transform:rotate(90deg)}
.svc-cabeza:hover .svc-nombre,.svc-cabeza[aria-expanded="true"] .svc-nombre{color:var(--vino)}
.svc-cabeza:hover .svc-nombre{transform:translateX(6px)}
.svc-cabeza:hover .svc-signo::before,.svc-cabeza:hover .svc-signo::after{background:var(--vino)}
.svc-cabeza[aria-expanded="true"] .svc-signo::after{transform:rotate(0)}
.svc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.2,.7,.3,1)}
.svc-cabeza[aria-expanded="true"] + .svc-panel{grid-template-rows:1fr}
.svc-panel > div{overflow:hidden}
.svc-cuerpo{display:grid;gap:clamp(1.4rem,3vw,2.6rem);padding:0 0 clamp(1.8rem,4vw,2.8rem)}
@media(min-width:900px){.svc-cuerpo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-left:calc(32% + 2rem);align-items:start}}
.svc-cuerpo p{margin:0 0 1.2rem;max-width:52ch}
.svc-cuerpo ul{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.5rem}
.svc-cuerpo li{position:relative;padding-left:1.5rem;font-size:.95rem;line-height:1.55}
.svc-cuerpo li::before{content:"";position:absolute;left:0;top:.7em;width:.75rem;height:1px;background:var(--vino)}
.svc-cuerpo .figura{aspect-ratio:16/10;border-radius:var(--radio)}
.svc-cuerpo .figura.plano{background:#FFF;border:1px solid var(--linea)}
.svc-cuerpo .figura.plano img{object-fit:contain;padding:.6rem}
.svc-cuerpo .figura.plano:hover img{transform:none}
.svc-cuerpo .pie-foto{color:var(--humo);margin-top:.6rem}
.svc-cuerpo .intro{font-size:clamp(1.05rem,2.2vw,1.22rem);line-height:1.6;color:var(--tinta)}
.svc-cuerpo .figura img{transform:none;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.svc-cuerpo .figura:hover img{transform:scale(1.06)}
.svc-cuerpo .figura::after{display:none}


/* ---------- obra: la casa se arma con el scroll ---------- */
.obra{background:var(--vino);color:var(--blanco);padding:0}
.obra-viaje{position:relative;height:360vh}
.obra-fija{position:sticky;top:0;height:100svh;display:grid;grid-template-rows:auto 1fr auto;gap:clamp(1rem,3vh,2rem);padding:clamp(4rem,9vh,6rem) var(--gutter) clamp(2rem,5vh,3.5rem)}
.obra-cabecera{max-width:26ch}
.obra-cabecera .rotulo{color:rgba(255,255,255,.6)}
.obra-cabecera h2{font-size:clamp(1.6rem,4vw,2.6rem)}
.obra-lienzo{display:grid;place-items:center;min-height:0}
.obra-svg{width:min(760px,92vw);height:100%;max-height:46vh;color:var(--blanco)}
.obra-svg .pz{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square;vector-effect:non-scaling-stroke;opacity:0}
.obra-svg .base{stroke-width:2.6}
.obra-pasos{list-style:none;display:grid;gap:.1rem;margin:0;padding:0;border-top:1px solid var(--linea-clara)}
@media(min-width:820px){.obra-pasos{grid-template-columns:repeat(4,1fr);gap:0}}
.obra-pasos li{padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;gap:.7rem;align-items:baseline;transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.3,1);opacity:.38}
@media(min-width:820px){.obra-pasos li{border-bottom:0;padding:1.1rem clamp(.6rem,1.6vw,1.4rem) 0;border-top:1px solid transparent;margin-top:-1px}
.obra-pasos li:first-child{padding-left:0}}
.obra-pasos li[data-activo="true"]{opacity:1}
@media(min-width:820px){.obra-pasos li[data-activo="true"]{border-top-color:var(--blanco)}}
.obra-pasos b{font-family:"Jost",sans-serif;font-weight:400;font-size:.95rem;letter-spacing:.04em;flex:none}
.obra-pasos span{font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.75)}
.obra-cierre{font-family:"Jost",sans-serif;font-size:.78rem;letter-spacing:.24em;color:rgba(255,255,255,.75);opacity:0;transition:opacity .6s;text-align:center}
@media(max-width:820px){
  .obra-viaje{height:300vh}
  .obra-svg{max-height:38vh}
  .obra-pasos li:not([data-activo="true"]){display:none}
  .obra-pasos{border-top:0}
}
@media(prefers-reduced-motion:reduce){
  .obra-viaje{height:auto}
  .obra-fija{position:static;height:auto;min-height:0}
  .obra-svg .pz{opacity:1!important;stroke-dashoffset:0!important;transform:none!important}
  .obra-pasos li{opacity:1;display:flex}
  .obra-cierre{opacity:1}
}

/* ---------- criterio ---------- */
.criterio{background:var(--vino);color:var(--blanco)}
.criterio h2{font-size:clamp(1.7rem,4vw,2.7rem);max-width:20ch;margin-bottom:2.6rem}
.criterio .rotulo{color:rgba(255,255,255,.72)}
.rejilla{display:grid;gap:0;border-top:1px solid var(--linea-clara)}
@media(min-width:760px){.rejilla{grid-template-columns:repeat(3,1fr)}}
.celda{padding:1.7rem 0;border-bottom:1px solid var(--linea-clara)}
@media(min-width:760px){
  .celda{padding:1.9rem clamp(1rem,2.5vw,2rem);border-right:1px solid var(--linea-clara)}
  .celda:first-child{padding-left:0}
  .celda:nth-child(3n){border-right:0}
}
.celda h3{font-family:"Jost",sans-serif;font-weight:300;font-size:1.12rem;color:var(--blanco);margin-bottom:.5rem}
.celda p{margin:0;font-size:.95rem;color:rgba(255,255,255,.86);max-width:38ch}

/* ---------- preguntas ---------- */
.preguntas{background:var(--hueso-puro);border-top:1px solid var(--linea)}
.preguntas h2{font-size:clamp(1.6rem,3.6vw,2.3rem);max-width:22ch;margin-bottom:2.4rem}
.pregunta{border-top:1px solid var(--linea)}
.pregunta:last-of-type{border-bottom:1px solid var(--linea)}
.pregunta summary{
  list-style:none;cursor:pointer;padding:1.35rem 2.2rem 1.35rem 0;position:relative;
  font-family:"Jost",sans-serif;font-weight:300;font-size:clamp(1.02rem,2.2vw,1.25rem);
  transition:color .3s;
}
.pregunta summary::-webkit-details-marker{display:none}
.pregunta summary:hover{color:var(--vino)}
.pregunta summary::after{content:"";position:absolute;right:.4rem;top:50%;width:11px;height:11px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .35s}
.pregunta[open] summary{color:var(--vino)}
.pregunta[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.pregunta .respuesta{padding:0 0 1.5rem;max-width:62ch;color:#3B3733}

/* ---------- equipo ---------- */
.equipo{background:var(--piedra)}
.equipo h2{font-size:clamp(1.7rem,3.8vw,2.5rem);max-width:20ch;margin-bottom:2.6rem}
.ficha{border-top:1px solid rgba(27,25,23,.22);padding:1.7rem 0;display:grid;gap:.45rem 3rem;transition:padding-left .4s cubic-bezier(.2,.7,.3,1)}
.ficha:last-child{border-bottom:1px solid rgba(27,25,23,.22)}
@media(min-width:900px){
  .ficha{grid-template-columns:minmax(0,32%) minmax(0,1fr)}
  .ficha:hover{padding-left:.9rem}
}
.ficha h3{font-family:"Jost",sans-serif;font-weight:400;font-size:1.1rem;line-height:1.35}
.ficha .cargo{display:block;font-weight:300;color:var(--vino);font-size:.88rem;letter-spacing:.04em}
.ficha p{margin:0;max-width:56ch;color:#39352F;font-size:.95rem}
.equipo-perfil{border-top:1px solid rgba(27,25,23,.22);border-bottom:1px solid rgba(27,25,23,.22);padding:1.9rem 0;display:grid;gap:1.3rem}
.equipo-perfil p{margin:0;max-width:60ch;color:#39352F;font-size:.98rem}
.equipo-perfil .perfil-lead{font-size:1.1rem;line-height:1.55;color:#2C2823;max-width:46ch}
.perfil-texto{display:grid;gap:1.1rem}
@media(min-width:900px){
  .equipo-perfil{padding:2.8rem 0;grid-template-columns:minmax(0,45%) minmax(0,1fr);gap:0 3.6rem;align-items:start}
  .equipo-perfil .perfil-lead{font-size:1.06rem;line-height:1.7;max-width:44ch}
  .perfil-texto p{max-width:58ch}
}

/* ---------- cierre ---------- */
.cierre{position:relative;color:var(--blanco);isolation:isolate;overflow:hidden;text-align:center}
.cierre-fondo{position:absolute;inset:0;z-index:-2}
.cierre-fondo img{width:100%;height:100%;object-fit:cover}
.cierre::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(54,5,16,.93),rgba(76,10,23,.9))}
.cierre-frase{font-size:clamp(1.6rem,4.4vw,2.9rem);max-width:18ch;margin:0 auto 1.4rem}
.cierre .apoyo{max-width:46ch;margin:0 auto 2.4rem;color:rgba(255,255,255,.92)}
.cierre .acciones{justify-content:center}

/* ---------- contacto ---------- */
.contacto{background:var(--vino-hondo);color:var(--blanco)}
.contacto-rejilla{display:grid;gap:2.6rem}
@media(min-width:900px){.contacto-rejilla{grid-template-columns:1fr 1fr;align-items:end}}
.datos{display:grid;gap:1rem}
.datos .rotulo{color:rgba(255,255,255,.66);margin:0}
.datos a{text-decoration:none;font-size:clamp(1.05rem,2.4vw,1.25rem);width:fit-content;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:.3rem;transition:border-color .35s}
.datos a:hover{border-bottom-color:var(--blanco)}
.datos .lugar{color:rgba(255,255,255,.78);font-size:1rem}
.firma{display:flex;flex-direction:column;gap:1rem}
@media(min-width:900px){.firma{align-items:flex-end;text-align:right}}
.firma .marca{width:clamp(140px,24vw,190px)}
.firma small{font-family:"Jost",sans-serif;letter-spacing:.22em;font-size:.64rem;color:rgba(255,255,255,.62)}
.legal{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid var(--linea-clara);font-family:"Jost",sans-serif;font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.6);display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between}

/* ---------- WhatsApp flotante + barra móvil ---------- */
.flotante{
  position:fixed;right:clamp(1rem,3vw,2.2rem);bottom:clamp(1rem,3vw,2.2rem);z-index:55;
  display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;
  background:var(--vino);color:var(--blanco);border-radius:999px;padding:.85rem 1.25rem;
  font-family:"Jost",sans-serif;font-size:.86rem;letter-spacing:.06em;
  box-shadow:0 14px 34px rgba(54,5,16,.32);
  opacity:0;transform:translateY(16px) scale(.96);pointer-events:none;
  transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.3,1),background-color .3s;
}
.flotante[data-visible="true"]{opacity:1;transform:none;pointer-events:auto}
.flotante:hover{background:var(--vino-alto)}
.flotante svg{width:20px;height:20px;flex:none}
.flotante .pulso{position:absolute;inset:0;border-radius:999px;border:1px solid rgba(255,255,255,.62);animation:pulso 2.8s ease-out infinite}
@keyframes pulso{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.16)}}
.movil-cta{position:fixed;inset:auto 0 0 0;z-index:56;display:none;grid-template-columns:1fr 1fr;background:var(--vino);border-top:1px solid rgba(0,0,0,.2)}
.movil-cta a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem .5rem;text-decoration:none;color:var(--blanco);font-family:"Jost",sans-serif;font-size:.86rem;letter-spacing:.05em}
.movil-cta a:first-child{border-right:1px solid rgba(255,255,255,.22)}
.movil-cta svg{width:17px;height:17px}
@media(max-width:720px){
  .movil-cta{display:grid}
  .flotante{display:none}
  body{padding-bottom:54px}
}

/* ---------- animación de entrada ---------- */
.trazo{stroke-dasharray:var(--largo,700);stroke-dashoffset:var(--largo,700)}
.dibujar .trazo{animation:trazar 1.4s cubic-bezier(.35,.1,.2,1) forwards}
.dibujar .trazo:nth-of-type(1){animation-delay:.05s}
.dibujar .trazo:nth-of-type(2){animation-delay:.2s}
.dibujar .trazo:nth-of-type(3){animation-delay:.32s}
.dibujar .trazo:nth-of-type(4){animation-delay:.42s}
.dibujar .trazo:nth-of-type(5){animation-delay:.5s}
.dibujar .trazo:nth-of-type(6){animation-delay:.58s}
.dibujar .trazo:nth-of-type(7){animation-delay:.66s}
.dibujar .trazo:nth-of-type(8){animation-delay:.74s}
.dibujar .trazo:nth-of-type(9){animation-delay:.82s}
@keyframes trazar{to{stroke-dashoffset:0}}
.dibujar .logotipo{animation:asentar 1.5s .9s cubic-bezier(.2,.7,.3,1) both}
@keyframes asentar{from{opacity:0;letter-spacing:.6em;padding-left:.6em}to{opacity:1}}
.dibujar .bajada,.dibujar .promesa,.dibujar .acciones,.dibujar .portada-pie{animation:aparecer 1.1s 1.6s ease both}
.dibujar .promesa{animation-delay:1.75s}
.dibujar .acciones{animation-delay:1.9s}
@keyframes aparecer{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.dibujar .hilo{animation:crecer 1.3s 2.1s cubic-bezier(.2,.7,.3,1) both}
@keyframes crecer{from{transform:scaleY(0)}to{transform:scaleY(1)}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .trazo{stroke-dashoffset:0}
  .sube{opacity:1;transform:none;transition:none}
  .figura::after{display:none}
  .figura img{transform:none}
  .portada-fondo img,.cinta-pista,.flotante .pulso{animation:none}
  .dibujar .trazo,.dibujar .logotipo,.dibujar .bajada,.dibujar .promesa,
  .dibujar .acciones,.dibujar .portada-pie,.dibujar .hilo{animation:none}
  .svc-panel,.barra,.btn::before,.ficha{transition:none}
  .svc-panel > div{transition-delay:0s}
}

/* ---------- correcciones ---------- */
/* el panel cerrado no debe quedar enfocable ni visible para lectores de pantalla */
.svc-panel > div{visibility:hidden;transition:visibility 0s .6s}
.svc-cabeza[aria-expanded="true"] + .svc-panel > div{visibility:visible;transition-delay:0s}

/* ---------- selector de idioma ---------- */
.barra-fin{display:flex;align-items:center}
.idioma{display:inline-flex;align-items:center;gap:.1rem;margin-left:.9rem;padding-left:.9rem;border-left:1px solid rgba(27,25,23,.22);font-family:"Jost",sans-serif}
.idioma a{padding:.25rem .42rem;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:inherit;opacity:.55;border-radius:2px;transition:opacity .3s,color .3s}
.idioma a:hover,.idioma a:focus-visible{opacity:1;color:var(--vino)}
.idioma a[aria-current="true"]{opacity:1;color:var(--vino);font-weight:500}
.idioma .sep{opacity:.3;font-size:.72rem;line-height:1}
@media(max-width:760px){
  .idioma{margin-left:.55rem;padding-left:.55rem}
  .idioma a{padding:.25rem .3rem;font-size:.74rem}
}

/* selector de idioma sobre la portada (la barra fija aparece solo al bajar) */
.idioma-portada{position:absolute;top:clamp(1rem,2.6vh,1.7rem);right:var(--gutter);z-index:3;margin:0;padding:0;border:0;color:var(--blanco)}
.idioma-portada a{color:rgba(255,255,255,.7)}
.idioma-portada a:hover,.idioma-portada a:focus-visible{color:var(--blanco);opacity:1}
.idioma-portada a[aria-current="true"]{color:var(--blanco);opacity:1}
.idioma-portada .sep{color:rgba(255,255,255,.45)}

/* texto justificado en manifiesto y equipo (observaciones del cliente) */
.manifiesto p:not(.rotulo):not(.lead):not(.remate),
.equipo-perfil p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
