/* ============================================================
   MELANIA MACAYA · TANGO — «La casona»
   El taller de Pedro Marín 2621 es el escenario: arcos, parquet,
   pinturas y una luz cálida. Las figuras recortadas de sus sesiones
   entran en discos de luz azul, roja y violeta, como en sus afiches
   de clases, con la palabra TANGO en Bodoni detrás del cuerpo.
   Dos familias: Bodoni Moda (títulos) y Archivo (texto).

   SUPERFICIES
   Cada sección pinta con --c-fondo / --c-texto / --c-acento según
   data-tono="oscuro|claro". data-luz="azul|rojo|violeta|ambar"
   elige el color del disco de luz (--c-luz).
   Los valores de marca los escribe el tema (fuente/sitio.json).
   ============================================================ */

@font-face{font-family:'Bodoni Moda';src:url('../fonts/bodoni-moda.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}
@font-face{font-family:'Bodoni Moda';src:url('../fonts/bodoni-moda-italica.woff2') format('woff2');font-weight:400 600;font-style:italic;font-display:swap;}
@font-face{font-family:'Archivo';src:url('../fonts/archivo.woff2') format('woff2');font-weight:200 800;font-stretch:100% 125%;font-style:normal;font-display:swap;}

:root{
  --negro:#0B0A0C;
  --hueso:#EEE8DD;
  --blanco:#F6F2EA;
  --tinta:#1A1718;
  --rojo:#E2322C;
  --azul:#2F4BD8;
  --violeta:#7A3FD1;
  --ambar:#E8B472;
  --vino:#8E0013;

  --display:'Bodoni Moda','Didot','Bodoni MT',serif;
  --texto:'Archivo','Helvetica Neue',Arial,sans-serif;
  --escala-texto:1;

  --margen:clamp(1.25rem,5vw,5rem);
  --margen-lateral:var(--margen);
  --aire:clamp(4rem,9vw,8rem);
  --aire-medio:clamp(2rem,5vw,4rem);
  --hueco:clamp(1rem,2.5vw,2rem);
  --ancho-texto:36ch;
  --tap:.8rem;
  --t:180ms;
  --curva:cubic-bezier(.16,1,.3,1);
}

/* ---------- superficies ---------- */
:root{--c-fondo:var(--negro);--c-texto:var(--hueso);--c-acento:var(--rojo);--c-luz:var(--rojo);--c-foco:var(--hueso);}
[data-tono="oscuro"]{--c-fondo:var(--negro);--c-texto:var(--hueso);--c-foco:var(--hueso);}
[data-tono="claro"]{--c-fondo:var(--hueso);--c-texto:var(--tinta);--c-foco:var(--tinta);}
[data-tono="blanco"]{--c-fondo:var(--blanco);--c-texto:var(--tinta);--c-foco:var(--tinta);}
[data-luz="azul"]{--c-luz:var(--azul);--c-acento:var(--azul);}
[data-luz="rojo"]{--c-luz:var(--rojo);--c-acento:var(--rojo);}
[data-luz="violeta"]{--c-luz:var(--violeta);--c-acento:var(--violeta);}
[data-luz="ambar"]{--c-luz:var(--ambar);--c-acento:var(--vino);}
[data-tono="oscuro"][data-luz="ambar"],[data-tono="oscuro"] [data-luz="ambar"]{--c-acento:var(--ambar);}   /* el vino no se lee sobre negro */
*{
  --c-humo:color-mix(in oklab,var(--c-texto) 58%,var(--c-fondo));
  --c-sub:color-mix(in oklab,var(--c-texto) 36%,var(--c-fondo));
  --c-linea:color-mix(in oklab,var(--c-texto) 18%,var(--c-fondo));
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--c-fondo);color:var(--c-texto);
  font-family:var(--texto);font-weight:300;font-size:calc(clamp(.9375rem,.9rem + .2vw,1.0625rem) * var(--escala-texto));line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
/* grano fino sobre todo el sitio (solo en escritorio: en teléfono cuesta más de lo que aporta) */
@media (max-width:47.999rem){body::after{display:none;}}
body::after{
  content:'';position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
h1,h2,h3,p,figure,ul,ol,dl,dd{margin:0;}
ul,ol{padding:0;list-style:none;}
img,video{display:block;max-width:100%;height:auto;}
a{color:inherit;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
::selection{background:var(--c-acento);color:var(--c-fondo);}
:focus-visible{outline:2px solid var(--c-foco);outline-offset:4px;}
[hidden]{display:none !important;}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.saltar{position:absolute;left:var(--margen);top:-4rem;z-index:100;padding:.6rem .9rem;background:var(--c-texto);color:var(--c-fondo);font-size:.8125rem;}
.saltar:focus{top:1rem;}

/* ---------- tipografía ---------- */
.versal{
  font-family:var(--texto);font-weight:500;font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--c-humo);
}
.versal b{font-weight:600;color:var(--c-texto);}
.titulo{
  font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 72;
  font-size:clamp(2.6rem,6.5vw,6rem);line-height:.92;letter-spacing:-.02em;text-wrap:balance;
}
.titulo em,.lema em,.titulo i{font-style:italic;font-weight:400;color:var(--c-acento);}
[data-tono="oscuro"] .lema em,.portada__cuerpo .lema em{color:color-mix(in oklab,var(--c-luz) 45%,var(--hueso));}   /* la cursiva pequeña sobre foto, en luz clara */
.titulo--grande{font-size:clamp(3.2rem,9vw,8.5rem);}
.titulo--medio{font-size:clamp(2rem,4.2vw,3.6rem);}
.lema{
  font-family:var(--display);font-style:italic;font-weight:400;font-variation-settings:'opsz' 48;
  font-size:clamp(1.6rem,3.4vw,3rem);line-height:1.08;text-wrap:balance;
}
.entrada{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.5;max-width:46ch;text-wrap:pretty;}
.parrafo{max-width:var(--ancho-texto);text-wrap:pretty;}
.parrafo + .parrafo{margin-top:.9em;}
.chico,.cartela,.creditos,.nota{font-size:.8125rem;line-height:1.5;}
.cartela{font-weight:400;margin-top:.75rem;max-width:44ch;}
.creditos,.nota{color:var(--c-humo);}
.numeros{
  font-family:var(--texto);font-weight:300;font-variation-settings:'wdth' 112;
  font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em;
}
.cifra{font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 72;font-size:clamp(3rem,7vw,6rem);line-height:.9;letter-spacing:-.02em;}
.pila{display:grid;gap:1rem;align-content:start;}
.pila > .versal{margin-bottom:.5rem;}
.pila > .titulo{margin-bottom:.75rem;}
.pila > .enlaces{margin-top:.75rem;}

/* ---------- enlaces ---------- */
.enlace{
  display:inline-block;padding-block:var(--tap);font-weight:400;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.26em;text-decoration-color:var(--c-sub);
  transition:text-decoration-color var(--t),color var(--t);
}
.enlace:hover,.enlace:focus-visible{text-decoration-color:var(--c-acento);}
.enlaces{display:flex;flex-wrap:wrap;gap:0 2.5rem;}
.boton{
  display:inline-flex;align-items:center;gap:2.5rem;padding:1.05rem 1.4rem;border:1px solid var(--c-texto);max-width:100%;
  font-family:var(--texto);font-weight:500;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;text-align:center;
  transition:background-color var(--t),color var(--t),border-color var(--t);
}
.boton::after{content:'→';font-weight:400;flex:none;}
@media (max-width:47.999rem){.boton{gap:1rem;padding-inline:1rem;}}
.boton:hover,.boton:focus-visible{background:var(--c-texto);color:var(--c-fondo);}
.boton--luz{border-color:var(--c-acento);}
.boton--luz:hover,.boton--luz:focus-visible{background:var(--c-acento);border-color:var(--c-acento);color:#fff;}

/* ---------- cabecera y menú ---------- */
.cabecera{
  position:fixed;z-index:20;inset:0 0 auto 0;transition:padding .3s var(--curva);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:1.4rem var(--margen-lateral);color:var(--c-texto);
}
.cabecera__nombre{text-decoration:none;padding-block:var(--tap);display:flex;align-items:baseline;gap:.75rem;}
.cabecera__nombre b{font-family:var(--display);font-weight:500;font-size:1.25rem;letter-spacing:.14em;text-transform:uppercase;}
.cabecera__nombre small{font-family:var(--display);font-style:italic;font-size:.9rem;color:var(--c-humo);}
.menu__boton{padding:var(--tap) .9rem;margin-right:-.9rem;font-weight:500;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.6;}
.menu{display:none;}
.menu__lista{list-style:none;margin:0;padding:0;}
.menu__lista a{text-decoration:none;}
.menu__cerrar{position:absolute;top:1.4rem;right:calc(var(--margen) - .9rem);padding:var(--tap) .9rem;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;line-height:1.6;}
@media (max-width:47.999rem){
  .menu{
    --c-fondo:var(--negro);--c-texto:var(--hueso);--c-acento:var(--rojo);
    position:fixed;inset:0;z-index:30;display:block;background:var(--negro);color:var(--hueso);
    padding:calc(3.5rem + var(--margen)) var(--margen) var(--margen);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    opacity:0;visibility:hidden;transition:opacity var(--t),visibility 0s var(--t);
  }
  .menu::before{content:'';position:absolute;inset:auto 0 0 0;height:70%;pointer-events:none;background:radial-gradient(circle at 72% 100%,color-mix(in oklab,var(--rojo) 40%,transparent) 0,transparent 60%);}
  .menu.abierto{opacity:1;visibility:visible;transition:opacity var(--t);}
  .menu__lista{display:grid;gap:.2rem;position:relative;}
  .menu__lista a{display:block;font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 72;font-size:11vw;font-size:min(11vw,9svh);line-height:1.1;padding-block:.25rem;}
  .menu__lista a[aria-current="page"]{color:var(--c-humo);}
  .menu__cerrar{position:fixed;}
  body.menu-abierto{overflow:hidden;}
}
@media (min-width:48rem){
  .menu__boton,.menu__cerrar{display:none;}
  .menu{display:block;}
  .menu__lista{display:flex;gap:2.2rem;}
  .menu__inicio{display:none;}
  .menu__lista a{
    display:inline-block;padding-block:var(--tap);font-weight:500;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;
    text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.5em;text-decoration-color:transparent;
    transition:text-decoration-color var(--t);
  }
  .menu__lista a:hover,.menu__lista a:focus-visible{text-decoration-color:var(--c-acento);}
  .menu__lista a[aria-current="page"]{text-decoration-color:var(--c-texto);}
}
.cabecera__nombre{white-space:nowrap;}
@media (min-width:48rem) and (max-width:59.999rem){
  .menu__lista{gap:1.15rem;}
  .cabecera__nombre small{display:none;}
}

/* ---------- secciones ---------- */
.seccion{position:relative;padding:var(--aire) var(--margen-lateral);background:var(--c-fondo);color:var(--c-texto);}
.seccion--justa{padding-block:var(--aire-medio);}
.seccion--sin-arriba{padding-top:0;}
.cabeza{display:grid;gap:1rem;margin-bottom:var(--aire-medio);align-items:end;}
.cabeza .entrada{color:var(--c-humo);}
.cabeza > :only-child{grid-column:1/-1;}
@media (min-width:48rem){
  .cabeza{grid-template-columns:1fr minmax(0,24rem);gap:3rem;}
}
.linea{border:0;border-top:1px solid var(--c-linea);margin:0;}

/* ---------- rejillas ---------- */
/* de a dos por fila desde tablet; de a tres solo en pantallas anchas y solo donde se pide */
.rejilla{display:grid;gap:var(--hueco);}
.rejilla--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));}
.rejilla--aire{gap:var(--aire-medio) var(--hueco);}
@media (min-width:48rem){
  .rejilla--2,.rejilla--3,.fachadas,.noticias{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:64rem){
  .rejilla--3{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.dos-lados{display:grid;gap:var(--aire-medio);align-items:center;}
.dos-lados__texto{display:grid;gap:1rem;align-content:center;}
@media (min-width:48rem){
  .dos-lados{grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,5rem);}
  .dos-lados--ancha{grid-template-columns:1.15fr 1fr;}
  .dos-lados--foto-izq > .objeto,.dos-lados--foto-izq > .marco{order:-1;}
  .dos-lados--retrato{grid-template-columns:minmax(0,5fr) minmax(0,6fr);max-width:68rem;margin-inline:auto;}
  .dos-lados--retrato .pila > .parrafo{max-width:none;}
  .dos-lados--retrato .entrada{max-width:58ch;}
  .dos-lados--retrato .parrafo{max-width:62ch;}
}

/* ---------- objetos (fotos) ---------- */
.objeto{margin:0;position:relative;overflow:clip;}
.objeto img{width:100%;aspect-ratio:var(--ar,4/5);object-fit:cover;object-position:var(--pos,50% 50%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 50%);transition:transform 1.2s var(--curva);}
.objeto--ancha{--ar:3/2;}
.objeto--cuadrada{--ar:1;}
.objeto--alta{--ar:3/4;}
.objeto:hover img{transform:scale(1.03);}
.objeto .cartela{position:absolute;left:1rem;right:1rem;bottom:.9rem;margin:0;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);}
.objeto--pie .cartela{position:static;color:inherit;text-shadow:none;margin-top:.75rem;}
/* una foto que se funde con el fondo por los cuatro bordes (el montaje de los afiches sobre mármol) */
.objeto--fundido{overflow:visible;}
.objeto--fundido img{aspect-ratio:auto;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 86%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 86%,transparent);mask-composite:intersect;}
.objeto--fundido:hover img{transform:none;}
.techo::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--c-fondo) 0,transparent 34%);}

/* ---------- ESCENA (foto del taller a pantalla completa, con texto encima) ---------- */
.escena{
  position:relative;overflow:hidden;overflow:clip;isolation:isolate;
  min-height:70vh;min-height:70svh;display:grid;align-items:end;
  background:var(--c-fondo);color:var(--c-texto);padding:calc(var(--aire) * .8) var(--margen-lateral) var(--aire-medio);
}
.escena--alta{min-height:100vh;min-height:100svh;}
.escena--centro{align-items:center;text-align:center;justify-items:center;}
.escena__fondo{position:absolute;inset:0;z-index:-2;margin:0;}
.escena__fondo img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 50%);}
/* tres velos: una franja arriba para la cabecera, el piso para el texto y un lado para el bloque de lectura */
.escena__velo{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to bottom,color-mix(in srgb,var(--c-fondo) 75%,transparent),transparent 10rem),
             linear-gradient(to top,var(--c-fondo) 0,color-mix(in srgb,var(--c-fondo) 70%,transparent) 50%,color-mix(in srgb,var(--c-fondo) 35%,transparent) 80%,transparent),
             linear-gradient(to right,color-mix(in srgb,var(--c-fondo) 62%,transparent),transparent 60%);
}
.escena--centro .escena__velo{background:linear-gradient(to bottom,color-mix(in srgb,var(--c-fondo) 75%,transparent),transparent 10rem),linear-gradient(to top,var(--c-fondo) 0,transparent 55%),color-mix(in srgb,var(--c-fondo) 65%,transparent);}
.escena__cuerpo{position:relative;display:grid;gap:1.1rem;max-width:48rem;}
.escena--centro .escena__cuerpo{justify-items:center;}
.escena__cuerpo > *,.escena__pie{text-shadow:0 1px 2px var(--c-fondo),0 0 12px var(--c-fondo);}
.escena__cuerpo .titulo{text-shadow:0 2px 24px color-mix(in srgb,var(--c-fondo) 60%,transparent);}
.escena .versal,.escena__pie,.escena .ficha dt{color:var(--c-texto);}
.escena__pie{position:absolute;right:var(--margen-lateral);bottom:var(--aire-medio);max-width:18rem;text-align:right;}
@media (max-width:47.999rem){
  .escena__pie{position:static;text-align:left;max-width:none;margin-top:1rem;}
  .escena--alta:not(.escena--centro){align-content:end;}
}
/* escena con la foto a un costado, fundida con el fondo: para fotos verticales o de resolución justa.
   --lado-izq la pone a la izquierda y el texto a la derecha. En teléfono y tablet la foto va arriba y el texto debajo. */
@media (min-width:64rem){
  .escena--lado .escena__fondo{left:auto;width:64%;-webkit-mask-image:linear-gradient(to right,transparent,#000 34%);mask-image:linear-gradient(to right,transparent,#000 34%);}
  .escena--lado-izq .escena__fondo{left:0;right:auto;-webkit-mask-image:linear-gradient(to left,transparent,#000 34%);mask-image:linear-gradient(to left,transparent,#000 34%);}
  .escena--lado .escena__velo{background:
    linear-gradient(to bottom,color-mix(in srgb,var(--c-fondo) 70%,transparent),transparent 9rem),
    linear-gradient(to top,var(--c-fondo) 0,transparent 30%),
    radial-gradient(ellipse 55% 70% at 66% 55%,color-mix(in oklab,var(--c-luz) 22%,transparent),transparent 70%);}
  .escena--lado-izq .escena__velo{background:
    linear-gradient(to bottom,color-mix(in srgb,var(--c-fondo) 70%,transparent),transparent 9rem),
    linear-gradient(to top,var(--c-fondo) 0,transparent 30%),
    radial-gradient(ellipse 55% 70% at 34% 55%,color-mix(in oklab,var(--c-luz) 22%,transparent),transparent 70%);}
  .escena--lado .escena__cuerpo{max-width:min(40rem,46%);}
  .escena--lado-izq{justify-items:end;}
  .escena--lado-izq .escena__cuerpo{justify-self:end;}
  .escena--lado .escena__cuerpo > *{text-shadow:none;}
}
@media (max-width:63.999rem){
  /* en teléfono y tablet la foto va arriba, de ancho completo, y el texto debajo */
  .escena--lado{min-height:0;padding-top:0;align-items:start;}
  .escena--lado .escena__fondo{position:relative;inset:auto;z-index:0;grid-row:1;margin-inline:calc(-1 * var(--margen-lateral));
    -webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent);mask-image:linear-gradient(to bottom,#000 62%,transparent);}
  .escena--lado .escena__fondo img{height:auto;aspect-ratio:3/4;animation:none;}
  .escena--lado .escena__velo{z-index:1;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--c-fondo) 75%,transparent),transparent 8rem);}
  .escena--lado .escena__cuerpo{grid-row:2;z-index:2;margin-top:-5rem;}
  .escena--lado .escena__pie{grid-row:3;position:static;text-align:left;max-width:none;margin-top:1rem;}
}
@media (min-width:48rem) and (max-width:63.999rem){
  .escena--lado .escena__fondo img{aspect-ratio:4/3;}
  .escena--lado .escena__cuerpo{margin-top:-7rem;}
}
@supports (animation-timeline:view()){
  @keyframes paralaje{from{transform:translateY(-6%) scale(1.12);}to{transform:translateY(6%) scale(1.12);}}
  .escena__fondo img{animation:paralaje linear both;animation-timeline:view();animation-range:entry 0% exit 100%;}
}

/* ---------- PORTADA (solo Inicio): el taller, el disco de luz y la figura ---------- */
.portada{
  position:relative;height:100vh;height:100svh;min-height:36rem;overflow:hidden;overflow:clip;isolation:isolate;
  background:var(--c-fondo);color:var(--c-texto);
}
.portada__fondo{position:absolute;inset:0;z-index:0;margin:0;}
.portada__fondo img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 60%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 60%);filter:saturate(.8) brightness(.75);}
.portada__velo{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,var(--c-fondo) 0,color-mix(in srgb,var(--c-fondo) 60%,transparent) 34%,color-mix(in srgb,var(--c-fondo) 35%,transparent) 70%,color-mix(in srgb,var(--c-fondo) 55%,transparent));}
.portada__luz{
  position:absolute;z-index:2;left:58vw;top:46vh;top:46svh;width:min(86vmin,58rem);aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle,color-mix(in oklab,var(--c-luz) 70%,white) 0,var(--c-luz) 16%,color-mix(in oklab,var(--c-luz) 55%,transparent) 36%,transparent 62%);
  opacity:.72;mix-blend-mode:screen;pointer-events:none;
}
.portada__humo{position:absolute;inset:-10% -10% 0;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.45;}
@media (min-width:48rem){.portada__humo{filter:blur(38px);opacity:.55;}}
.portada__humo::before,.portada__humo::after{
  content:'';position:absolute;width:48vmin;aspect-ratio:1.4;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in oklab,var(--c-luz) 55%,white),transparent);
}
.portada__humo::before{left:38vw;top:52%;}
.portada__humo::after{left:62vw;top:62%;width:36vmin;}
.portada{--tango:clamp(5rem,23vw,22rem);--tango-arriba:32svh;}
.portada__nombre{
  position:absolute;z-index:3;left:50%;top:32vh;top:var(--tango-arriba);translate:-50% 0;
  font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 96;font-optical-sizing:none;
  font-size:var(--tango);line-height:.82;letter-spacing:-.03em;white-space:nowrap;
  color:color-mix(in srgb,var(--c-texto) 90%,transparent);pointer-events:none;
}
.portada__figura{position:absolute;z-index:4;left:58vw;bottom:11vh;bottom:11svh;translate:-50% 0;height:76vh;height:76svh;width:auto;max-width:none;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55));}
/* reflejo en el parquet: la misma figura invertida, desvanecida hacia abajo */
.portada__reflejo{position:absolute;z-index:3;left:58vw;bottom:11vh;bottom:11svh;translate:-50% 100%;height:76vh;height:76svh;width:auto;max-width:none;transform:scaleY(-1);transform-origin:top;opacity:.18;filter:blur(1.5px);-webkit-mask-image:linear-gradient(to bottom,black,transparent 22%);mask-image:linear-gradient(to bottom,black,transparent 22%);}
.portada__cuerpo{position:absolute;z-index:5;left:var(--margen-lateral);bottom:calc(var(--margen) * 1.1);display:grid;gap:.9rem;max-width:22rem;}
.portada__cuerpo .lema{font-size:clamp(1.3rem,2.4vw,2.1rem);}
/* la frase cuelga de la palabra: arranca bajo la T y sigue su tamaño */
.portada__lema{position:absolute;z-index:5;left:calc(50% - var(--tango) * 1.6);top:calc(var(--tango-arriba) + var(--tango) * .76);margin:0;font-size:calc(var(--tango) * .135);max-width:none;white-space:nowrap;text-shadow:0 1px 2px var(--c-fondo),0 0 18px var(--c-fondo);}
.portada__lema em{color:color-mix(in oklab,var(--c-luz) 45%,var(--hueso));}
.portada__enlaces{position:absolute;z-index:5;right:var(--margen-lateral);bottom:calc(var(--margen) * 1.1);display:grid;justify-items:end;gap:.1rem;font-size:.8125rem;font-weight:400;}
.portada__sello{position:absolute;z-index:5;right:var(--margen-lateral);top:calc(4.2rem + var(--tap));text-align:right;line-height:1.7;}
@media (max-width:47.999rem){
  .portada{--tango:27vw;--tango-arriba:22svh;}
  .portada__nombre{left:50%;top:22vh;top:var(--tango-arriba);letter-spacing:-.035em;}
  .portada__lema{left:var(--margen);top:calc(var(--tango-arriba) - 2.9rem);font-size:1.35rem;}
  .portada__luz{left:50%;top:48vh;top:48svh;width:92vmin;}
  .portada__humo::before{left:20vw;}
  .portada__humo::after{left:55vw;}
  .portada__figura{left:50%;height:66vh;height:66svh;}
  .portada__reflejo{display:none;}
  .portada__sello{display:none;}
  .portada__cuerpo{bottom:calc(var(--margen) + 6rem);max-width:12rem;}
  .portada__cuerpo .versal{letter-spacing:.16em;}
  .portada__cuerpo .lema{font-size:1.25rem;}
  .portada__cuerpo,.portada__enlaces{text-shadow:0 1px 2px var(--c-fondo),0 0 8px var(--c-fondo),0 0 24px var(--c-fondo);}
  .portada__enlaces{left:var(--margen);right:auto;justify-items:start;gap:0;}
}
/* bloques «libres»: movidos, agrandados o girados a mano desde el editor
   (class="libre" y, en línea, --libre-x/--libre-y en vw/vh, --libre-escala y --libre-giro).
   Solo cuentan en escritorio: en teléfono cada bloque conserva su lugar automático para no salirse de la pantalla.
   Las variables no se heredan, así un párrafo dentro de un bloque movido no se mueve dos veces. */
@property --dx{syntax:'<length-percentage>';inherits:false;initial-value:0px;}
@property --dy{syntax:'<length-percentage>';inherits:false;initial-value:0px;}
@property --escala{syntax:'<number>';inherits:false;initial-value:1;}
@property --giro{syntax:'<angle>';inherits:false;initial-value:0deg;}
@media (min-width:48rem){
  .libre{--dx:var(--libre-x,0px);--dy:var(--libre-y,0px);--escala:var(--libre-escala,1);--giro:var(--libre-giro,0deg);}
}
.libre{translate:var(--dx,0) var(--dy,0);scale:var(--escala,1);rotate:var(--giro,0deg);}
.portada__nombre.libre,.portada__figura.libre,.disco__palabra.libre,.disco--alta .disco__figura.libre{translate:calc(-50% + var(--dx,0px)) var(--dy,0);}
.portada__figura.libre{transform-origin:50% 100%;}   /* crece y gira desde los pies, y el reflejo la sigue */
.portada__reflejo.libre{translate:calc(-50% + var(--dx,0px)) calc(100% + var(--dy,0px));rotate:calc(-1 * var(--giro,0deg));}

/* recorte a mano (class="recorte" y --libre-recorte-arriba/derecha/abajo/izquierda: fracción de cada lado que se corta, 0 a 0,9).
   En un marco de foto (.objeto) el marco se achica de verdad y la foto conserva su escala; en cualquier otro bloque
   se oculta la franja cortada. Vale en todas las pantallas: es contenido, no diagramación. */
@property --libre-recorte-arriba{syntax:'<number>';inherits:false;initial-value:0;}
@property --libre-recorte-derecha{syntax:'<number>';inherits:false;initial-value:0;}
@property --libre-recorte-abajo{syntax:'<number>';inherits:false;initial-value:0;}
@property --libre-recorte-izquierda{syntax:'<number>';inherits:false;initial-value:0;}
.recorte{
  --rt:var(--libre-recorte-arriba,0);--rr:var(--libre-recorte-derecha,0);--rb:var(--libre-recorte-abajo,0);--rl:var(--libre-recorte-izquierda,0);
  clip-path:inset(calc(var(--rt) * 100%) calc(var(--rr) * 100%) calc(var(--rb) * 100%) calc(var(--rl) * 100%));
}
.objeto.recorte:not(.objeto--fundido){clip-path:none;width:calc(100% * (1 - var(--rl) - var(--rr)));}
.objeto.recorte:not(.objeto--fundido) > img{
  width:calc(100% / (1 - var(--rl) - var(--rr)));max-width:none;
  margin:calc(-100% * var(--rt) / ((1 - var(--rl) - var(--rr)) * var(--ar,4/5))) 0
         calc(-100% * var(--rb) / ((1 - var(--rl) - var(--rr)) * var(--ar,4/5)))
         calc(-100% * var(--rl) / (1 - var(--rl) - var(--rr)));
  clip-path:inset(calc(var(--rt) * 100%) calc(var(--rr) * 100%) calc(var(--rb) * 100%) calc(var(--rl) * 100%));
}

/* ancho a mano de un cuadro de texto o de otro bloque (class="ancho" y --libre-ancho en vw): el texto se reacomoda
   al marco sin cambiar de letra. Solo en escritorio; en teléfono manda el ancho automático. */
@property --libre-ancho{syntax:'<length-percentage>';inherits:false;initial-value:0px;}
@media (min-width:48rem){.ancho{width:var(--libre-ancho) !important;max-width:none !important;}}

/* letra ajustada a mano (class="letra" y --libre-letra en rem): el tamaño solo cuenta en escritorio, en teléfono manda el automático.
   La tipografía, el grosor, la cursiva, las mayúsculas y la alineación van en línea y valen siempre. */
@property --libre-letra{syntax:'<length>';inherits:false;initial-value:0px;}
@media (min-width:48rem){.letra{font-size:var(--libre-letra) !important;}}
/* la secuencia de entrada, una vez por visita */
@keyframes p-fondo{from{opacity:0;}}
@keyframes p-luz{from{opacity:0;scale:.7;}}
@keyframes p-nombre{from{opacity:0;translate:-50% 28px;}}
@keyframes p-figura{from{clip-path:inset(100% 0 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes p-aparece{from{opacity:0;visibility:hidden;}}
@keyframes respira{0%,100%{opacity:.72;scale:1;}50%{opacity:.9;scale:1.06;}}
@keyframes deriva{0%{translate:0 0;}50%{translate:6vw -4vh;}100%{translate:0 0;}}
html:not([data-visto]) .portada__fondo{animation:p-fondo 1.4s ease-out both;}
html:not([data-visto]) .portada__luz{animation:p-luz 1s var(--curva) .3s both,respira 9s ease-in-out 1.3s infinite;}
html[data-visto] .portada__luz{animation:respira 9s ease-in-out infinite;}
html:not([data-visto]) .portada__nombre{animation:p-nombre 1s var(--curva) .55s both;}
html:not([data-visto]) .portada__figura{animation:p-figura 1.2s var(--curva) .9s both;}
html:not([data-visto]) .pagina-inicio .cabecera,html:not([data-visto]) .portada__cuerpo,html:not([data-visto]) .portada__lema,html:not([data-visto]) .portada__enlaces,html:not([data-visto]) .portada__sello{animation:p-aparece .6s ease-out 1.9s both;}
/* el humo solo deriva en escritorio; en teléfono queda quieto (la luz sí respira: es barata) */
@media (min-width:48rem){
  .portada__humo::before{animation:deriva 18s ease-in-out infinite;}
  .portada__humo::after{animation:deriva 24s ease-in-out -8s infinite reverse;}
}
@media (prefers-reduced-motion:reduce){
  .portada *,.portada__humo::before,.portada__humo::after,.escena__fondo img,.disco__luz,.disco__humo::before,.disco__humo::after{animation:none !important;}
  html{scroll-behavior:auto;}
}

/* ---------- DISCO (el afiche: negro, disco de luz, figura, palabra detrás) ---------- */
.disco{
  position:relative;overflow:hidden;overflow:clip;isolation:isolate;
  background:var(--negro);color:var(--hueso);--c-fondo:var(--negro);--c-texto:var(--hueso);
  display:grid;grid-template-rows:1fr auto;aspect-ratio:4/5;min-height:22rem;align-self:start;
}
.disco__luz{
  position:absolute;z-index:0;left:50%;top:42%;width:78%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,color-mix(in oklab,var(--c-luz) 72%,white) 0,var(--c-luz) 22%,color-mix(in oklab,var(--c-luz) 50%,var(--negro)) 42%,var(--negro) 66%);
  animation:respira 11s ease-in-out infinite;
}
.disco__humo{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.4;}
.disco__humo::before,.disco__humo::after{content:'';position:absolute;width:60%;aspect-ratio:1.3;border-radius:50%;background:radial-gradient(closest-side,color-mix(in oklab,var(--c-luz) 60%,white),transparent);}
.disco__humo::before{left:10%;top:40%;}
.disco__humo::after{left:45%;top:55%;width:45%;}
@media (min-width:48rem){
  .disco__humo{filter:blur(30px);opacity:.5;}
  .disco__humo::before{animation:deriva 20s ease-in-out infinite;}
  .disco__humo::after{animation:deriva 26s ease-in-out -10s infinite reverse;}
}
.disco__palabra{
  position:absolute;z-index:2;left:50%;top:10%;translate:-50% 0;margin:0;
  font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 96;font-size:clamp(4rem,19cqw,12rem);line-height:.85;letter-spacing:.02em;white-space:nowrap;
  color:color-mix(in oklab,var(--c-luz) 55%,var(--hueso));opacity:.9;pointer-events:none;
}
.disco__figura{position:relative;z-index:3;align-self:end;justify-self:center;height:auto;max-height:100%;width:auto;max-width:88%;min-height:0;object-fit:contain;object-position:bottom;filter:drop-shadow(0 24px 30px rgba(0,0,0,.6));transition:transform 1.4s var(--curva);}
.disco:hover .disco__figura{transform:translateY(-1.5%) scale(1.02);}
.disco__cuadro{position:relative;z-index:3;align-self:end;justify-self:center;width:min(70%,22rem);box-shadow:0 30px 50px rgba(0,0,0,.6);transition:transform 1.2s var(--curva);}
.disco__cuadro img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.disco:hover .disco__cuadro{transform:translateY(-2%) scale(1.02);}
.disco__piso{position:absolute;z-index:2;left:0;right:0;bottom:0;height:28%;background:linear-gradient(to top,var(--negro) 20%,transparent);}
.disco__texto{position:relative;z-index:4;padding:1.4rem var(--hueco) 1.6rem;display:grid;gap:.5rem;background:linear-gradient(to top,var(--negro) 70%,transparent);}
.disco__texto .titulo--medio{font-size:clamp(1.7rem,2.6vw,2.4rem);}
.disco__texto .versal{letter-spacing:.3em;}
.disco--alta{aspect-ratio:3/4;}
.disco--alta .disco__figura{position:absolute;left:50%;bottom:0;translate:-50% 0;height:92%;max-height:none;max-width:none;}   /* la figura manda; el texto se le superpone */
.disco--alta .disco__texto{padding-top:3rem;}
.disco > .disco__figura{grid-row:1;}
.disco > .disco__texto{grid-row:2;}
.disco--enlace:focus-visible{outline-color:var(--c-foco);}
.disco--enlace{text-decoration:none;color:inherit;display:grid;}
.disco--enlace:focus-visible{outline-offset:-4px;}
.disco{container-type:inline-size;}

/* ---------- FACHADAS (videos, de a dos) ---------- */
.fachadas{display:grid;gap:var(--aire-medio) var(--hueco);}
.fachada{display:grid;gap:.4rem;align-content:start;}
.fachada__marco{position:relative;display:block;aspect-ratio:16/9;overflow:clip;background:var(--negro);}
.fachada__marco img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--curva),filter var(--t);filter:saturate(.85);}
.fachada__marco:hover img,.fachada__marco:focus-visible img{transform:scale(1.04);filter:saturate(1);}
.fachada__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.fachada__disco{
  position:absolute;left:50%;top:50%;width:4rem;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:color-mix(in srgb,var(--c-acento) 85%,transparent);backdrop-filter:blur(4px);transition:background-color var(--t),scale var(--t);
}
.fachada__disco::before{content:'';position:absolute;left:54%;top:50%;width:1.15rem;aspect-ratio:.9;translate:-50% -50%;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%);}
.fachada__marco:hover .fachada__disco,.fachada__marco:focus-visible .fachada__disco{background:var(--c-acento);scale:1.08;}
.fachada .obra{
  font-family:var(--display);font-style:italic;font-weight:400;font-variation-settings:'opsz' 48;
  font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.1;margin-top:.9rem;
}
.fachada .creditos{margin-top:.1rem;}
.fachada .versal{margin-top:.2rem;}

/* ---------- TABLERO (horarios) ---------- */
.tablero{display:grid;row-gap:1rem;font-size:clamp(1.15rem,1rem + 1vw,1.75rem);line-height:1.25;}
.tablero__fila{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:baseline;padding-block:.6rem;border-bottom:1px solid var(--c-linea);}
.tablero__fila span:last-child{grid-column:1/-1;font-family:var(--display);font-style:italic;font-size:1.1em;}
@media (min-width:48rem){
  .tablero{grid-template-columns:auto auto 1fr;column-gap:3rem;row-gap:0;}
  .tablero__fila{display:contents;}
  .tablero__fila > span{padding-block:.8rem;border-bottom:1px solid var(--c-linea);}
  .tablero__fila span:last-child{grid-column:auto;}
}

/* ---------- FICHA (datos en versalita) ---------- */
.ficha{display:grid;gap:1rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));}
.ficha > div{display:grid;gap:.35rem;align-content:start;padding-top:.8rem;border-top:1px solid var(--c-linea);}
.ficha dt{font-family:var(--texto);font-weight:500;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-humo);}
.ficha dd{font-size:1rem;line-height:1.4;}
.ficha dd b{font-family:var(--display);font-weight:400;font-size:1.6rem;line-height:1;}

/* ---------- CRONOLOGÍA ---------- */
.cronologia{display:grid;gap:0 var(--aire-medio);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));}
.hito{display:grid;grid-template-columns:4.5rem 1fr;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--c-linea);align-items:start;}
.hito__anio{font-family:var(--display);font-weight:400;font-size:1.6rem;line-height:1;font-variation-settings:'opsz' 48;color:var(--c-acento);}
.hito h3{font-family:var(--texto);font-weight:500;font-size:1rem;line-height:1.3;}
.hito p{color:var(--c-humo);font-size:.9375rem;margin-top:.25rem;max-width:40ch;}
.hito .hito__anio{color:var(--c-acento);font-size:1.6rem;margin-top:0;max-width:none;}

/* ---------- CRITERIOS (lista numerada en romanos) ---------- */
.criterios{display:grid;gap:0 var(--aire-medio);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));counter-reset:criterio;}
.criterio{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--c-linea);counter-increment:criterio;}
.criterio::before{content:counter(criterio,upper-roman);font-family:var(--display);font-style:italic;font-size:1.5rem;line-height:1;color:var(--c-acento);}
.criterio h3{font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.1;margin-bottom:.4rem;}
.criterio p{color:var(--c-humo);max-width:40ch;}

/* ---------- NOTICIAS (de a dos) ---------- */
.noticias{display:grid;gap:var(--aire-medio) var(--hueco);}
.noticia{display:grid;gap:.6rem;align-content:start;}
.noticia .objeto{margin-bottom:.6rem;}
.noticia__fecha{display:flex;align-items:center;gap:.6rem;font-family:var(--texto);font-weight:500;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-texto);}
.noticia__fecha::before{content:'';width:1.5rem;height:1px;background:var(--c-acento);}
.noticia h2{font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 72;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.02;letter-spacing:-.01em;text-wrap:balance;}
.noticia .parrafo{color:var(--c-humo);}
.noticia .objeto{--ar:4/5;}
.noticia--grande{grid-column:1/-1;}
.noticia--grande .objeto{--ar:3/2;}
@media (min-width:48rem){
  .noticia--grande{display:grid;grid-template-columns:1.2fr 1fr;column-gap:var(--aire-medio);row-gap:.6rem;align-items:end;align-content:end;}
  .noticia--grande{grid-template-rows:1fr auto auto auto;}
  .noticia--grande .objeto{grid-row:1/span 4;margin-bottom:0;}
  .noticia--grande > :not(.objeto){grid-column:2;}
  .noticia--grande > .noticia__fecha{grid-row:2;}
  .noticia--grande > h2{grid-row:3;}
  .noticia--grande > .parrafo{grid-row:4;}
}
@media (min-width:48rem) and (max-width:63.999rem){
  .noticias > .noticia:last-child:nth-child(even):not(.noticia--grande){grid-column:1/-1;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr auto auto auto;column-gap:var(--aire-medio);row-gap:.6rem;}
  .noticias > .noticia:last-child:nth-child(even):not(.noticia--grande) > .objeto{grid-row:1/span 4;margin-bottom:0;}
  .noticias > .noticia:last-child:nth-child(even):not(.noticia--grande) > :not(.objeto){grid-column:2;}
  .noticias > .noticia:last-child:nth-child(even):not(.noticia--grande) > .noticia__fecha{grid-row:2;}
  .noticias > .noticia:last-child:nth-child(even):not(.noticia--grande) > h2{grid-row:3;}
  .noticias > .noticia:last-child:nth-child(even):not(.noticia--grande) > .parrafo{grid-row:4;}
}
@media (min-width:64rem){
  .noticias{grid-template-columns:repeat(3,minmax(0,1fr));}
  .noticia--grande{grid-template-columns:2fr 1fr;}
  .noticia h2{font-size:clamp(1.45rem,1.9vw,1.9rem);}
}

/* ---------- PODIOS Y LÍNEAS ---------- */
.lista-aire{display:grid;gap:1.5rem;}
.podio{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:baseline;padding:1.2rem 0;border-top:1px solid var(--c-linea);}
.podio__lugar{font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 72;font-size:clamp(2.6rem,5vw,4.2rem);line-height:.9;color:var(--c-acento);}
.podio h3{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.1;}
.podio p{color:var(--c-humo);margin-top:.3rem;max-width:44ch;}

/* ---------- BLOQUES DE COMUNIDAD (foto con texto encima, de a dos) ---------- */
.marco{position:relative;display:grid;align-items:end;min-height:24rem;overflow:clip;color:#fff;text-decoration:none;isolation:isolate;--c-texto:#fff;--c-fondo:var(--negro);--c-foco:#fff;}
.marco > img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 40%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 40%);transition:transform 1.6s var(--curva);}
.marco::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(11,10,12,.94) 0,rgba(11,10,12,.65) 45%,rgba(11,10,12,.25));}
.marco__texto .versal{color:color-mix(in srgb,#fff 85%,transparent);}
.marco:hover > img,.marco:focus-visible > img{transform:scale(1.05);}
.marco__texto{position:relative;padding:var(--hueco);display:grid;gap:.5rem;}
.marco__texto .titulo--medio{font-size:clamp(1.8rem,3vw,2.6rem);}
.marco__texto .parrafo{color:color-mix(in srgb,#fff 75%,transparent);max-width:44ch;}
.marco--alta{min-height:32rem;}

/* ---------- DATOS Y FIRMA (contacto) ---------- */
.datos{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));}
.dato{display:grid;gap:.35rem;align-content:start;text-decoration:none;padding:1rem 0;border-top:1px solid var(--c-linea);}
.dato b{font-weight:300;font-size:clamp(1.35rem,2.6vw,2.1rem);line-height:1.2;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:transparent;transition:text-decoration-color var(--t);}
.dato:hover b,.dato:focus-visible b{text-decoration-color:var(--c-acento);}
.dato span{font-size:.6875rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--c-humo);}
.firma{width:46vw;max-width:20rem;aspect-ratio:360/220;background:var(--c-acento);
  -webkit-mask:url('../img/firma-ml.png') left center/contain no-repeat;mask:url('../img/firma-ml.png') left center/contain no-repeat;}

/* ---------- TARJETAS DE NIVEL (el afiche al frente; al pasar el mouse se da vuelta y muestra la información) ----------
   Frente: el afiche de la serie 00_. Reverso: el recorte del afiche de información y los datos en texto real.
   En pantallas táctiles se dan vuelta con un toque; con teclado, al llegar al enlace del reverso. */
.tarjetas{display:grid;gap:var(--hueco);grid-template-columns:repeat(3,minmax(0,1fr));}
.tarjeta{position:relative;aspect-ratio:1122/1402;perspective:1800px;container-type:inline-size;
  --c-fondo:var(--negro);--c-texto:var(--hueso);--c-foco:var(--hueso);color:var(--hueso);}
.tarjeta__giro{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s var(--curva);}
.tarjeta__cara{position:absolute;inset:0;margin:0;overflow:hidden;background:var(--negro);
  -webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 28px 50px -24px rgba(0,0,0,.75);}
.tarjeta__frente img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 50%);}
.tarjeta__frente::after{
  content:'';position:absolute;right:4.5cqi;bottom:4.5cqi;width:max(1.9rem,8cqi);aspect-ratio:1;border-radius:50%;
  background:color-mix(in srgb,var(--negro) 55%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EEE8DD' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.3-5.7'/%3E%3Cpath d='M20 4v4h-4'/%3E%3C/svg%3E") center/52% no-repeat;
  border:1px solid color-mix(in srgb,var(--hueso) 35%,transparent);
}
.tarjeta__dorso{transform:rotateY(180deg);}
@media (hover:hover){.tarjeta:hover .tarjeta__giro{transform:rotateY(180deg);}}
.tarjeta:focus-within .tarjeta__giro,.tarjeta.volteada .tarjeta__giro{transform:rotateY(180deg);}
.tarjeta__fondo{position:absolute;top:0;right:0;width:58%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 50%);
  -webkit-mask-image:linear-gradient(to right,transparent 6%,#000 58%);mask-image:linear-gradient(to right,transparent 6%,#000 58%);}
.tarjeta__info{position:relative;height:100%;display:flex;flex-direction:column;gap:3.2cqi;padding:7cqi 7cqi 6.5cqi;max-width:76%;
  text-shadow:0 1px 2px var(--negro),0 0 10px var(--negro),0 0 22px var(--negro);}
.tarjeta__marca{font-family:var(--display);font-weight:400;font-variation-settings:'opsz' 96;font-size:17cqi;line-height:.82;letter-spacing:.01em;
  color:color-mix(in oklab,var(--c-luz) 62%,var(--hueso));}
.tarjeta__nivel{font-family:var(--texto);font-weight:500;font-size:max(.625rem,3cqi);letter-spacing:.3em;text-transform:uppercase;color:var(--hueso);margin-top:-.6cqi;}
.tarjeta__texto{font-size:max(.75rem,3.5cqi);line-height:1.45;color:var(--hueso);max-width:min(30ch,48cqi);}
.tarjeta__datos{display:grid;gap:3cqi;margin-top:auto;}
.tarjeta__datos > div{display:grid;gap:1cqi;justify-items:start;}
.tarjeta__datos dt{font-weight:500;font-size:max(.5625rem,2.4cqi);letter-spacing:.28em;text-transform:uppercase;color:color-mix(in oklab,var(--c-luz) 45%,var(--hueso));
  padding-bottom:.9cqi;border-bottom:1px solid color-mix(in oklab,var(--c-luz) 70%,transparent);}
.tarjeta__datos dd{font-family:var(--display);font-weight:400;font-size:max(1rem,5.2cqi);line-height:1.05;}
.tarjeta__accion{margin-top:.8cqi;}
.tarjeta__accion .enlace{font-size:max(.75rem,3.3cqi);padding-block:.4rem;text-decoration-color:color-mix(in oklab,var(--c-luz) 80%,var(--hueso));}
.tarjeta[data-luz="ambar"]{--c-acento:var(--ambar);}
.tarjeta__info:has(.tarjeta__datos > div:nth-child(4)) .tarjeta__marca{font-size:14.5cqi;}
.tarjeta__info:has(.tarjeta__datos > div:nth-child(4)) .tarjeta__datos{gap:2.2cqi;}
.tarjeta__info:has(.tarjeta__datos > div:nth-child(4)) .tarjeta__datos dd{font-size:max(1rem,4.7cqi);}
.tarjeta__info:has(.tarjeta__datos > div:nth-child(4)){gap:2.6cqi;}
@container (max-width:19rem){
  .tarjeta__texto{display:none;}
  .tarjeta__info{gap:2.6cqi;padding:6cqi 6cqi 5.5cqi;max-width:84%;}
}
@media (max-width:47.999rem){
  /* en teléfono las tres siguen en una fila: se deslizan de lado */
  .tarjetas{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(80vw,22rem);overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(-1 * var(--margen-lateral));padding:0 var(--margen-lateral) 1.2rem;scroll-padding-inline:var(--margen-lateral);scrollbar-width:none;}
  .tarjetas::-webkit-scrollbar{display:none;}
  .tarjeta{scroll-snap-align:center;}
}
@media (prefers-reduced-motion:reduce){
  .tarjeta__giro,.tarjeta:hover .tarjeta__giro,.tarjeta:focus-within .tarjeta__giro,.tarjeta.volteada .tarjeta__giro{transform:none;transition:none;}
  .tarjeta__cara{-webkit-backface-visibility:visible;backface-visibility:visible;transition:opacity .25s;}
  .tarjeta__dorso{transform:none;opacity:0;pointer-events:none;}
  .tarjeta:focus-within .tarjeta__dorso,.tarjeta.volteada .tarjeta__dorso{opacity:1;pointer-events:auto;}
}
@media (prefers-reduced-motion:reduce) and (hover:hover){.tarjeta:hover .tarjeta__dorso{opacity:1;pointer-events:auto;}}
.tarjetas + .nota{margin-top:var(--aire-medio);}

/* ---------- VIDEOS VERTICALES (clases) ---------- */
.seccion--halo{background:radial-gradient(ellipse 60% 55% at 50% 52%,color-mix(in oklab,var(--c-luz) 26%,transparent),transparent 70%),var(--c-fondo);}
.clips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--aire-medio) clamp(1.5rem,5vw,5rem);}
.clip{margin:0;width:min(100%,24rem,calc(82svh * 9 / 16));}
.clip video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:var(--negro);box-shadow:0 34px 70px -30px rgba(0,0,0,.85);}
@media (min-width:48rem){.clip:nth-child(2){margin-top:var(--aire-medio);}}

/* ---------- CARRUSEL DE FOTOS ---------- */
.carrusel{position:relative;}
.carrusel__pista{display:flex;gap:var(--hueco);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
  margin-inline:calc(-1 * var(--margen-lateral));padding:0 var(--margen-lateral) 1rem;scroll-padding-inline:var(--margen-lateral);
  scrollbar-width:thin;scrollbar-color:var(--c-linea) transparent;}
.carrusel__pista:focus-visible{outline-offset:-2px;}
.carrusel__pista.arrastrando{scroll-snap-type:none;cursor:grabbing;user-select:none;}
.carrusel__foto{flex:none;margin:0;scroll-snap-align:start;height:clamp(16rem,58svh,34rem);max-width:calc(100vw - 2 * var(--margen-lateral));overflow:clip;background:var(--c-linea);}
.carrusel__foto img{height:100%;width:auto;max-width:100%;object-fit:cover;object-position:var(--pos,50% 50%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 50%);-webkit-user-drag:none;}
.carrusel__controles{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem;}
.carrusel__boton{display:inline-grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--c-sub);border-radius:50%;font-size:1.1rem;
  transition:background-color var(--t),color var(--t),border-color var(--t),opacity var(--t);}
.carrusel__boton:hover:not(:disabled),.carrusel__boton:focus-visible{background:var(--c-texto);color:var(--c-fondo);border-color:var(--c-texto);}
.carrusel__boton:disabled{opacity:.3;cursor:default;}
@media (hover:hover){.carrusel__pista{cursor:grab;}}
.carrusel__foto:last-child{scroll-snap-align:end;}
@media (max-width:47.999rem){
  .carrusel__pista{align-items:center;}
  .carrusel__foto{height:auto;width:calc(100vw - 2 * var(--margen-lateral));}
  .carrusel__foto img{width:100%;height:auto;}
}

/* ---------- LÍNEA DE TIEMPO VERTICAL (Trayectoria) ----------
   Los hitos se alternan a cada lado de la línea. Si el hito trae foto (.hito__foto), aparece del otro lado
   al pasar el mouse; si la foto es un enlace a un video, lleva el botón de reproducir.
   En teléfono la línea va a la izquierda y las fotos se ven siempre, chicas, bajo el texto. */
.cronologia--vertical{position:relative;display:block;max-width:72rem;margin-inline:auto;}
.cronologia--vertical::before{content:'';position:absolute;top:.4rem;bottom:.4rem;left:.45rem;width:1px;background:var(--c-linea);}
.cronologia--vertical .hito{position:relative;display:grid;grid-template-columns:1fr;gap:.35rem;border-top:0;padding:0 0 2.2rem 2.4rem;align-items:start;}
.cronologia--vertical .hito::before{content:'';position:absolute;left:.45rem;top:.55rem;width:.75rem;aspect-ratio:1;translate:-50% 0;border-radius:50%;
  background:var(--c-fondo);border:1px solid var(--c-acento);transition:background-color var(--t),scale var(--t);}
.cronologia--vertical .hito:has(.hito__foto)::before{background:var(--c-acento);}
.cronologia--vertical .hito:focus-visible{outline:2px solid var(--c-foco);outline-offset:.6rem;}
.cronologia--vertical .hito:has(.hito__foto) .hito__anio::after{
  content:'';display:inline-block;width:.95rem;height:.8rem;margin-left:.55rem;vertical-align:.2em;opacity:.55;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath fill-rule='evenodd' d='M8 1h8l2 3h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h4zM12 7a4.5 4.5 0 1 0 0 9a4.5 4.5 0 1 0 0-9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath fill-rule='evenodd' d='M8 1h8l2 3h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h4zM12 7a4.5 4.5 0 1 0 0 9a4.5 4.5 0 1 0 0-9z'/%3E%3C/svg%3E") center/contain no-repeat;}
.cronologia--vertical .hito__anio{font-size:clamp(1.5rem,2.4vw,2rem);}
.cronologia--vertical .hito h3{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.1;}
.cronologia--vertical .hito p:not(.hito__anio){max-width:36ch;}
.hito__foto{display:block;margin:.8rem 0 0;width:min(100%,15rem);overflow:clip;background:var(--c-linea);position:relative;}
.hito__foto img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:var(--pos,50% 50%);scale:calc(var(--zoom,1) * var(--escala,1));transform-origin:var(--pos,50% 50%);}
a.hito__foto[href]::after{content:'';position:absolute;left:50%;top:50%;width:3rem;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:color-mix(in srgb,var(--c-acento) 85%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23fff'/%3E%3C/svg%3E") 55% 50%/60% no-repeat;}
@media (min-width:48rem){
  .cronologia--vertical::before{left:50%;}
  .cronologia--vertical .hito{grid-template-columns:1fr 1fr;column-gap:clamp(3rem,7vw,6rem);padding:0 0 clamp(1.6rem,3vw,2.6rem);
    grid-template-areas:"anio foto" "texto foto";}
  .cronologia--vertical .hito:nth-child(even){grid-template-areas:"foto anio" "foto texto";}
  .cronologia--vertical .hito::before{left:50%;top:.75rem;}
  .cronologia--vertical .hito__anio{grid-area:anio;}
  .cronologia--vertical .hito > div{grid-area:texto;}
  .cronologia--vertical .hito:nth-child(odd) .hito__anio,.cronologia--vertical .hito:nth-child(odd) > div{text-align:right;justify-self:end;}
  .cronologia--vertical .hito:nth-child(odd) > div p{margin-left:auto;}
  /* la foto aparece del otro lado de la línea, centrada en el hito, por encima de lo demás */
  .hito__foto{position:absolute;z-index:6;top:50%;margin:0;width:clamp(12rem,19vw,17rem);
    opacity:0;translate:0 -46%;scale:.96;pointer-events:none;
    box-shadow:0 30px 60px -24px rgba(0,0,0,.55);transition:opacity .35s var(--curva),translate .5s var(--curva),scale .5s var(--curva);}
  .cronologia--vertical .hito:nth-child(odd) .hito__foto{left:calc(50% + clamp(1.5rem,3.5vw,3rem));}
  .cronologia--vertical .hito:nth-child(even) .hito__foto{right:calc(50% + clamp(1.5rem,3.5vw,3rem));}
  .cronologia--vertical .hito:hover .hito__foto,.cronologia--vertical .hito:focus-within .hito__foto{
    opacity:1;translate:0 -50%;scale:1;pointer-events:auto;}
  .cronologia--vertical .hito:hover::before{scale:1.35;}
  .cronologia--vertical .hito:hover,.cronologia--vertical .hito:focus-within{z-index:5;}   /* el hito activo (y su foto) por encima de los vecinos */
}
@media (prefers-reduced-motion:reduce){.hito__foto{transition:none !important;}}
@media (prefers-reduced-motion:reduce) and (min-width:48rem){.hito__foto{translate:0 -50% !important;scale:1 !important;}}

/* ---------- CONTACTO: datos a la izquierda, foto y mensajes a la derecha ---------- */
.contacto{display:grid;gap:var(--aire-medio);align-items:start;}
@media (min-width:64rem){.contacto{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(2rem,6vw,6rem);}}
@media (min-width:48rem) and (max-width:63.999rem){
  .contacto .datos{grid-template-columns:repeat(2,minmax(0,1fr));}
  .contacto .objeto{--ar:3/2;}
}
.contacto .objeto{--ar:4/5;}

/* ---------- CABECERA FIJA: al bajar quedan el nombre y «Menú»; al pasar el mouse (o con un toque) se despliegan las pestañas ---------- */
.cabecera--compacta{pointer-events:none;padding-block:.85rem;}
.cabecera--compacta .cabecera__nombre,.cabecera--compacta .menu__boton{
  pointer-events:auto;color:var(--hueso);background:color-mix(in srgb,var(--negro) 72%,transparent);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--hueso) 16%,transparent);
  border-radius:999px;padding:.55rem 1.05rem;line-height:1;margin:0;transition:background-color var(--t),border-color var(--t);
}
.cabecera--compacta .cabecera__nombre small{display:none;}
.cabecera--compacta .cabecera__nombre b{font-size:1rem;}
.cabecera--compacta .cabecera__nombre:hover,.cabecera--compacta .menu__boton:hover,.cabecera--compacta .menu__boton[aria-expanded="true"]{background:color-mix(in srgb,var(--negro) 88%,transparent);border-color:color-mix(in srgb,var(--hueso) 34%,transparent);}
.cabecera--compacta .menu{pointer-events:auto;}
.cabecera__menu{display:flex;align-items:center;}
@media (min-width:48rem){
  .cabecera--compacta .menu__boton{display:inline-flex;align-items:center;}
  .cabecera--compacta .cabecera__menu{position:relative;}
  .cabecera--compacta .menu{position:absolute;right:100%;top:50%;padding-right:.55rem;translate:.6rem -50%;opacity:0;pointer-events:none;
    transition:opacity .3s var(--curva),translate .3s var(--curva);}
  .cabecera--compacta .menu__lista{gap:1.5rem;padding:.6rem 1.3rem;white-space:nowrap;border-radius:999px;
    background:color-mix(in srgb,var(--negro) 80%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border:1px solid color-mix(in srgb,var(--hueso) 16%,transparent);}
  .cabecera--compacta .menu__lista a{color:var(--hueso);padding-block:.15rem;}
  .cabecera--compacta .menu__lista a[aria-current="page"]{text-decoration-color:var(--hueso);}
  .cabecera--compacta .cabecera__menu:hover .menu,.cabecera--compacta .cabecera__menu:focus-within .menu,.cabecera--compacta .cabecera__menu.abierto .menu{
    opacity:1;translate:0 -50%;pointer-events:auto;}
}
@media (prefers-reduced-motion:reduce){.cabecera--compacta .menu{transition:none;}}

/* ---------- VIDEOS QUE SE REPRODUCEN SOLOS (carrusel de exhibiciones) ---------- */
.carrusel--videos .carrusel__pista{align-items:start;}
.carrusel--videos .fachada{position:relative;flex:none;width:min(84vw,36rem);scroll-snap-align:start;}
.carrusel--videos .fachada:last-child{scroll-snap-align:end;}
.fachada__vista{position:absolute;left:0;top:0;width:100%;aspect-ratio:16/9;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .8s ease;background:var(--negro);}
.fachada__vista.lista{opacity:1;}
.fachada__vista iframe{position:absolute;left:-16%;top:-16%;width:132%;height:132%;border:0;}   /* un poco más grande: esconde los títulos de YouTube */
.fachada__vista::after{
  content:'Ver con sonido';position:absolute;left:1rem;bottom:1rem;padding:.45rem .8rem;border-radius:999px;
  font-weight:500;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:color-mix(in srgb,var(--negro) 70%,transparent);
  opacity:0;transition:opacity var(--t);
}
.fachada:hover .fachada__vista::after{opacity:1;}

/* ---------- NOTICIAS CON VIDEO: la foto y los enlaces abren el reproductor ---------- */
.noticia__video{position:relative;display:block;color:inherit;text-decoration:none;}
.noticia__video::after{
  content:'';position:absolute;left:50%;top:calc(50% - .3rem);width:4rem;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:color-mix(in srgb,var(--c-acento) 88%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23fff'/%3E%3C/svg%3E") 56% 50%/58% no-repeat;
  box-shadow:0 10px 30px -8px rgba(0,0,0,.5);transition:scale var(--t);
}
.noticia__video:hover::after,.noticia__video:focus-visible::after{scale:1.08;}
.noticia__video:focus-visible{outline-offset:2px;}

/* ---------- REPRODUCTOR (ventana) ---------- */
.visor-video{width:min(92vw,72rem);max-width:none;max-height:none;padding:0;margin:auto;border:0;background:transparent;color:var(--hueso);overflow:visible;}
.visor-video::backdrop{background:rgba(6,5,7,.9);}
.visor-video__marco{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);}
.visor-video__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.visor-video__cerrar{position:absolute;right:0;bottom:calc(100% + .6rem);padding:.6rem .2rem;font-weight:500;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hueso);}
.visor-video__cerrar:hover,.visor-video__cerrar:focus-visible{text-decoration:underline;text-underline-offset:.4em;}

/* ---------- FORMULARIO Y MAPA (contacto) ---------- */
@media (min-width:64rem){.contacto--mapa{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.formulario{position:relative;display:grid;gap:1.2rem;align-content:start;}
.formulario__fila{display:grid;gap:1.2rem;}
@media (min-width:40rem){.formulario__fila{grid-template-columns:1fr 1fr;}}
.campo-form{display:grid;gap:.45rem;}
.campo-form > span{font-weight:500;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-humo);}
.campo-form small{font-size:inherit;letter-spacing:.04em;text-transform:none;font-weight:400;}
.campo-form input,.campo-form textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--c-texto);background:transparent;border:0;border-bottom:1px solid var(--c-sub);border-radius:0;
  padding:.65rem 0;transition:border-color var(--t),box-shadow var(--t);
}
.campo-form textarea{border:1px solid var(--c-sub);padding:.8rem .9rem;resize:vertical;min-height:9rem;line-height:1.5;}
.campo-form input:focus,.campo-form textarea:focus{outline:none;border-color:var(--c-acento);box-shadow:0 1px 0 0 var(--c-acento);}
.campo-form textarea:focus{box-shadow:0 0 0 1px var(--c-acento);}
.formulario__trampa{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0;}
.formulario__acciones{margin-top:.4rem;}
.formulario__estado{min-height:1.5em;font-size:.9375rem;}
.formulario__estado.ok{color:var(--c-texto);font-weight:500;}
.formulario__estado.error{color:var(--rojo);}
.mapa{margin:0;display:grid;gap:.4rem;align-content:start;}
.mapa iframe{display:block;width:100%;aspect-ratio:4/3;min-height:18rem;border:0;background:var(--c-linea);filter:grayscale(.3) contrast(1.04);}
.mapa .cartela{margin-top:0;}

/* ---------- PIE ---------- */
.pie{background:var(--c-fondo);color:var(--c-humo);padding:var(--aire-medio) var(--margen-lateral) 2rem;font-size:.8125rem;border-top:1px solid var(--c-linea);}
.pie__filas{display:grid;gap:1.5rem 3rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:end;}
.pie p{max-width:40ch;}
.pie .enlaces{gap:0 1.5rem;}
.pie .enlace{padding-block:.4rem;}

/* ---------- 404 ---------- */
.perdida{min-height:100vh;min-height:100svh;display:grid;align-content:end;gap:var(--aire-medio);padding:var(--margen);background:var(--c-fondo);color:var(--c-texto);}

/* ---------- revelado al entrar en pantalla ---------- */
html.js .revela{opacity:0;translate:var(--dx,0) calc(26px + var(--dy,0px));transition:opacity .9s var(--curva),translate .9s var(--curva);}
html.js .revela.visto{opacity:1;translate:var(--dx,0) var(--dy,0);}
html.js .rejilla > .revela:nth-child(2),html.js .fachadas > .revela:nth-child(2n),html.js .noticias > .revela:nth-child(3n),html.js .tarjetas > .revela:nth-child(2){transition-delay:.12s;}
html.js .noticias > .revela:nth-child(3n+1):not(.noticia--grande),html.js .tarjetas > .revela:nth-child(3){transition-delay:.24s;}
html.js .rejilla > .revela:nth-child(3){transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){html.js .revela{opacity:1;translate:var(--dx,0) var(--dy,0);transition:none;}}
