/* Atímera · sitio (stage). Paleta tomada de la fachada y de los uniformes; tipografía hiperlegible. */
:root{
  --papel:#FFF9F6; --papel-2:#FBECEF; --papel-3:#F4DCE3;
  --tinta:#2A1721; --tinta-2:#6A5260; --linea:#E6CFD8;
  --rosa:#C42F6E; --rosa-suave:#F7D7E4; --turquesa:#13707D; --turquesa-viva:#2FA3B5; --monarca:#E08A1E;
  --crema:#FFF4EA;
  --f-display:"Young Serif", Georgia, serif;
  --f-texto:"Atkinson Hyperlegible Next","Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-nota:"Caveat","Bradley Hand",cursive;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --ancho:74rem;
  --cab:64px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --papel:#1C1116; --papel-2:#27171F; --papel-3:#352030;
  --tinta:#F8ECF1; --tinta-2:#CDB3BE; --linea:#43303A;
  --rosa:#F27CAD; --rosa-suave:#4B2236; --turquesa:#62C6D3; --crema:#2B1C24; color-scheme:dark}}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:var(--cab)}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--f-texto);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.08;margin:0;text-wrap:balance}
p,ul,ol,dl,dd,figure{margin:0}
a{color:var(--rosa)}
img,video{max-width:100%}
:focus-visible{outline:3px solid var(--rosa);outline-offset:3px;border-radius:6px}
.envoltura{max-width:var(--ancho);margin-inline:auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.salto{position:absolute;left:-999px;top:8px;z-index:100;background:var(--tinta);color:var(--papel);padding:8px 14px;border-radius:999px}
.salto:focus{left:16px}
.ceja{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rosa)}
.bajada{font-size:1.15rem;color:var(--tinta-2);max-width:40rem;margin-top:16px;text-wrap:pretty}
.nota{font-family:var(--f-nota);font-size:1.3rem;color:var(--turquesa);margin-top:14px}
section{position:relative}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--rosa);color:#fff;font:700 1rem var(--f-texto);padding:12px 22px;cursor:pointer;text-decoration:none;transition:transform .16s var(--ease-out),background-color .2s ease}
.boton:active{transform:scale(.97)}
.boton.secundario{background:transparent;color:var(--rosa);box-shadow:inset 0 0 0 2px var(--rosa)}
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.filtros{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- cabecera ---------- */
.cabecera{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background-color .3s ease,box-shadow .3s ease}
.cabecera.solida{background:color-mix(in oklab,var(--papel) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linea)}
.cabecera-in{display:flex;align-items:center;gap:14px;min-height:var(--cab)}
.marca{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:1.35rem;color:#2A1721;text-decoration:none}
.cabecera.solida .marca{color:var(--tinta)}
.marca img{width:40px;height:40px;border-radius:50%;box-shadow:0 2px 8px rgba(42,23,33,.18);background:#fff}
.menu{display:flex;gap:2px;margin-left:auto}
.menu a{color:#2A1721;text-decoration:none;font-size:.92rem;padding:8px 12px;border-radius:999px}
.cabecera.solida .menu a{color:var(--tinta-2)}
.menu a:hover{background:color-mix(in oklab,var(--rosa-suave) 70%,transparent)}
.menu a[aria-current="true"]{background:#C42F6E;color:#fff!important;box-shadow:0 4px 10px -4px rgba(196,47,110,.6)}
.menu a{transition:background-color .25s ease,color .25s ease}
.calma{border:1.5px dashed var(--turquesa);background:rgba(255,253,251,.7);color:var(--turquesa);font:700 .8rem var(--f-texto);padding:7px 12px;border-radius:999px;cursor:pointer}
.cabecera.solida .calma{background:transparent}
.sonido{display:inline-grid;place-items:center;width:38px;height:34px;border:1.5px dashed #A3205A;background:rgba(255,253,251,.7);color:#A3205A;padding:0;border-radius:999px;cursor:pointer}
.sonido svg{width:22px;height:22px;overflow:visible}
/* apagado: parlante con una X; encendido: parlante con ondas que laten */
.sonido .ondas{display:none}
.sonido[aria-pressed="true"] .ondas{display:inline}
.sonido[aria-pressed="true"] .tacha{display:none}
.sonido[aria-pressed="true"]{background:#C42F6E;color:#fff;border-style:solid}
.sonido[aria-pressed="true"] .ondas{animation:ondas 1.6s ease-in-out infinite}
.sonido:disabled{opacity:.45;cursor:not-allowed}
.cabecera.solida .sonido{background:transparent}
.cabecera.solida .sonido[aria-pressed="true"]{background:#C42F6E}
@keyframes ondas{0%,100%{opacity:1}50%{opacity:.45}}
.calma-on .sonido .ondas,.sin-mov .sonido .ondas{animation:none}
.calma[aria-pressed="true"]{background:var(--turquesa);color:#fff;border-style:solid}
.integra{background:#2A1721;color:#FFF4EA;text-decoration:none;font:700 .85rem var(--f-texto);padding:9px 14px;border-radius:999px;white-space:nowrap}
@media (max-width:960px){.menu{display:none}.sonido{margin-left:auto}}
@media (max-width:420px){.calma{padding:6px 9px;font-size:.72rem}.integra{padding:8px 11px;font-size:.78rem}.marca span{display:none}}

/* ---------- llegada ---------- */
.llegada{height:100svh;min-height:560px;overflow:hidden;background:linear-gradient(#C3C7E4,#D6CDE4 60%,#E9D2DC);isolation:isolate}
.marco{position:absolute;left:50%;bottom:0;width:max(100vw,calc(100svh * 4 / 3));aspect-ratio:16/9;translate:-50% 0;container-type:inline-size;transform-origin:var(--ox,48.7%) var(--oy,71.7%);will-change:transform;
  --sol-x:66%;--sol-y:20.3%;--sol-w:20.3%;--sol-x0:74%;--sol-y0:64%;--horizonte:58%;
  --placa-x:19.2%;--placa-y:73.8%;--placa-w:15.5%;--placa-h:12.6%;--placa-f:2.45cqw}
@media (max-aspect-ratio:1/1){
  .llegada{background:linear-gradient(#B7CFE9,#CBD6EA 60%,#E7D3DC)}
  .marco{width:max(100vw,calc(100svh * 9 / 22));aspect-ratio:9/16;--ox:68.6%;--oy:72.3%;
    --sol-x:73.8%;--sol-y:34.5%;--sol-w:45.9%;--sol-x0:80%;--sol-y0:66%;--horizonte:43%;
    --placa-x:20.2%;--placa-y:74.2%;--placa-w:25.8%;--placa-h:6.5%;--placa-f:4.4cqw}
}
.marco .capa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.marco picture{position:absolute;inset:0}
.video-casa{opacity:0;z-index:3}
.sol-clip{position:absolute;inset:0;z-index:2;clip-path:inset(0 0 var(--horizonte) 0)}
.sol{position:absolute;width:var(--sol-w);left:calc(var(--sol-x) - var(--sol-w) / 2);top:var(--sol-y);translate:0 -50%;clip-path:none;pointer-events:none}
/* la placa se "cose" sobre el bloque blanco de la fachada: letras de fieltro con borde irregular y un pespunte alrededor */
.placa{position:absolute;z-index:4;left:var(--placa-x);top:var(--placa-y);width:var(--placa-w);height:var(--placa-h);display:grid;place-items:center;font-family:var(--f-display);font-size:var(--placa-f);line-height:1;color:#B3265F;letter-spacing:.03em;mix-blend-mode:multiply}
.placa span{filter:url(#fieltro);translate:0 .04em;text-shadow:0 .03em 0 #8E1A4C}
.placa::before{content:"";position:absolute;inset:12% 7%;border:max(1px,.14cqw) dashed rgba(179,38,95,.55);border-radius:.5cqw;filter:url(#fieltro)}
.noche{position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(#1E1A40 0%,#4B2F63 45%,#B0607A 80%,#E79A72 100%);mix-blend-mode:multiply;opacity:0}
.noche i{position:absolute;width:4px;height:4px;border-radius:50%;background:#FFF6E0;box-shadow:0 0 8px #FFF6E0}
.noche i:nth-child(1){left:12%;top:10%}.noche i:nth-child(2){left:28%;top:22%}.noche i:nth-child(3){left:44%;top:8%}.noche i:nth-child(4){left:58%;top:16%}.noche i:nth-child(5){left:72%;top:6%}.noche i:nth-child(6){left:86%;top:18%}.noche i:nth-child(7){left:36%;top:30%}
.llegada-texto{position:absolute;left:0;right:0;top:calc(var(--cab) + env(safe-area-inset-top,0px) + 3vh);z-index:6;pointer-events:none}
.llegada-texto .ceja{color:#A3205A}
.llegada h1{font-size:clamp(2.4rem,min(6vw,8.6vh),5.4rem);line-height:1.02;color:#2A1721;margin-top:10px;text-wrap:nowrap}
.llegada-texto>*{text-shadow:0 1px 18px rgba(255,249,246,.95),0 0 3px rgba(255,249,246,.8)}
.llegada h1 em{font-style:normal;color:#C42F6E}
.llegada .bajada{color:#3A2430;max-width:none;font-weight:600}
@media (min-width:760px){.llegada .bajada{white-space:nowrap}}
@media (max-aspect-ratio:1/1){.llegada-texto{top:calc(var(--cab) + 40px)}.llegada h1{font-size:clamp(2.2rem,10.5vw,3.4rem)}.llegada .bajada{font-size:1rem;text-wrap:balance}}
.manos{position:absolute;z-index:7;left:50%;bottom:-7%;translate:-50% 0;width:min(46vw,560px);border:0;background:none;padding:0;cursor:pointer;transition:transform .3s var(--ease-out)}
@media (max-aspect-ratio:1/1){.manos{width:100vw;bottom:-5%}}
.manos img{display:block;width:100%;height:auto;filter:drop-shadow(0 -6px 18px rgba(42,23,33,.25))}
/* botón de fieltro: paño magenta, pespunte crema, late suave para invitar */
.manos .entrar{position:absolute;left:50%;top:21%;translate:-50% -50%;rotate:-3deg;display:block;padding:clamp(10px,1.2vw,14px) clamp(26px,3vw,38px) clamp(12px,1.4vw,16px);border-radius:999px;color:#FFF4EA;font-family:var(--f-display);font-size:clamp(1.3rem,2.5vw,1.95rem);letter-spacing:.03em;white-space:nowrap;text-shadow:0 2px 0 #7F1645;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(130% 150% at 30% 20%,#E4669B,#C42F6E 55%,#9A1D52);background-blend-mode:soft-light,normal;
  outline:2.5px dashed rgba(255,244,234,.9);outline-offset:-7px;box-shadow:0 0 0 3px rgba(196,47,110,.35),0 12px 22px -8px rgba(90,15,50,.65),inset 0 -4px 8px rgba(80,10,40,.35),inset 0 3px 6px rgba(255,220,235,.35)}
.manos .entrar b{font-weight:400}
.manos .entrar::after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:3px solid rgba(255,244,234,.85);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  html:not(.calma-on) .manos .entrar{animation:late 2.6s var(--ease-in-out) 5.4s infinite}
  html:not(.calma-on) .manos .entrar::after{animation:aro 2.6s ease-out 5.4s infinite}
}
@keyframes late{0%,55%,100%{transform:scale(1) rotate(0)}12%{transform:scale(1.08) rotate(-2deg)}24%{transform:scale(.98) rotate(1deg)}36%{transform:scale(1.03) rotate(0)}}
@keyframes aro{0%,10%{opacity:0;transform:scale(1)}18%{opacity:.9}60%,100%{opacity:0;transform:scale(1.35)}}
@media (hover:hover) and (pointer:fine){.manos:hover{transform:translateY(-8px)}.manos:hover .entrar{background-color:#D13A7A;filter:brightness(1.08)}}
.saltar{position:absolute;z-index:7;right:max(18px,env(safe-area-inset-right,0px));top:calc(var(--cab) + env(safe-area-inset-top,0px) + 8px);font-size:.82rem;color:#2A1721;background:rgba(255,253,251,.75);padding:6px 12px;border-radius:999px;text-decoration:none}
@media (max-width:760px){.saltar{top:calc(var(--cab) + env(safe-area-inset-top,0px) + 4px);font-size:.76rem}}
.familia{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#F6E9DD}
.familia .abrazo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.familia-texto{position:absolute;left:50%;bottom:calc(8% + env(safe-area-inset-bottom,0px));translate:-50% 0;display:grid;justify-items:center;gap:14px;background:rgba(255,249,246,.9);padding:18px 26px 22px;border-radius:22px;text-align:center;width:max-content;max-width:92vw}
.lema{font-family:var(--f-display);font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.1;color:#2A1721}
.lema em{font-style:normal;color:#C42F6E}

/* ---------- escenas a pantalla completa (hall, patio) ---------- */
.escena-fondo{position:absolute;inset:0;z-index:0}
.escena-fondo img{width:100%;height:100%;object-fit:cover;display:block}
.escena-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .6s ease}
.escena-video.lista{opacity:1}
.rotulo{background:rgba(255,249,246,.88);color:#2A1721;border-radius:22px;padding:18px 22px;max-width:30rem;box-shadow:0 18px 30px -22px rgba(42,23,33,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rotulo .ceja{color:#A3205A}
.rotulo h2{font-size:clamp(1.8rem,3.6vw,2.8rem);margin-top:8px;color:#2A1721}
.pista{margin-top:8px;font-family:var(--f-nota);font-size:1.35rem;color:#13707D}

/* ---------- principios: el hall ---------- */
.principios{height:100svh;min-height:560px;overflow:hidden;color:#2A1721;background:#F3E6DC}
/* el hall a pantalla completa; los adornos son capas propias sobre la pared vacía */
.hall{position:absolute;left:50%;top:50%;translate:-50% -50%;width:max(100vw,calc(100svh * 16 / 9));aspect-ratio:16/9}
.hall-fondo,.hall-fondo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.adornos{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.adornos li{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1%);height:calc(var(--h) * 1%);transform-origin:50% 0}
@media (max-aspect-ratio:1/1){
  .hall{width:max(100vw,calc(100svh * 9 / 16));aspect-ratio:9/16}
  .adornos li{--cx:var(--mcx);left:calc(var(--mx) * 1%);top:calc(var(--my) * 1%);width:calc(var(--mw) * 1%);height:calc(var(--mh) * 1%)}
}
.adorno{position:absolute;inset:0;border:0;padding:0;background:none;cursor:pointer;perspective:900px;font:inherit;color:inherit}
.adorno .cara,.adorno .dorso{backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .7s var(--ease-in-out),filter .3s ease}
.adorno .cara{position:absolute;inset:0;display:block}
.adorno .cara img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(42,23,33,.22))}
.adorno .dorso{position:absolute;left:var(--cx,50%);top:30%;width:max(100%,11.5rem);translate:-50% 0;transform:rotateY(180deg);display:grid;gap:6px;padding:16px 16px 18px;text-align:center;font-size:.95rem;line-height:1.35;color:#4A3440;border-radius:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .35 0 0 0 0 .4 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),#FFF7EE;
  outline:2px dashed #E59BBC;outline-offset:-7px;box-shadow:0 18px 30px -16px rgba(42,23,33,.55)}
.adorno .dorso b{font-family:var(--f-display);font-weight:400;font-size:1.2rem;line-height:1.1;color:#A3205A}
.adorno[aria-pressed="true"] .cara{transform:rotateY(-180deg)}
.adorno[aria-pressed="true"] .dorso{transform:rotateY(0)}
.adorno[aria-pressed="true"]{z-index:2}
.adornos li:has([aria-pressed="true"]){z-index:3}
@media (hover:hover) and (pointer:fine){.adorno:hover .cara img{filter:drop-shadow(0 14px 14px rgba(42,23,33,.3)) brightness(1.06)}}
/* se mecen colgados de su clavija, cada uno a su tiempo */
@media (prefers-reduced-motion:no-preference){html:not(.calma-on) .adornos li{animation:mece 4.2s ease-in-out calc(var(--i) * -.9s) infinite}}
@keyframes mece{0%,100%{rotate:-2.2deg}50%{rotate:2.2deg}}
.hall-rotulo{position:absolute;z-index:4;left:50%;bottom:calc(5svh + env(safe-area-inset-bottom,0px));translate:-58% 0;max-width:min(30rem,calc(100vw - 32px));text-align:center}
.hall-rotulo h2{font-size:clamp(1.7rem,3.2vw,2.6rem)}
@media (max-aspect-ratio:1/1){.hall-rotulo{bottom:calc(84px + env(safe-area-inset-bottom,0px));translate:-50% 0;width:calc(100vw - 32px);padding:14px 18px}.hall-rotulo h2{font-size:1.6rem}}
.calma-on .adorno .cara,.calma-on .adorno .dorso,.sin-mov .adorno .cara,.sin-mov .adorno .dorso{transition:opacity .2s ease}
.calma-on .adorno[aria-pressed="true"] .cara,.sin-mov .adorno[aria-pressed="true"] .cara{transform:none;opacity:0}
.calma-on .adorno .dorso,.sin-mov .adorno .dorso{transform:none;opacity:0}
.calma-on .adorno[aria-pressed="true"] .dorso,.sin-mov .adorno[aria-pressed="true"] .dorso{opacity:1}

/* ---------- salas: cada sala ocupa la pantalla ---------- */
.salas{background:#2A1721}
.recorrido{height:calc(var(--n) * 90vh + 100vh)}
.recorrido-fijo{position:sticky;top:0;height:100svh;overflow:hidden}
.habitaciones{position:absolute;inset:0}
.habitacion{position:absolute;inset:0;opacity:0;will-change:transform,opacity;transform-origin:50% 55%}
.habitacion video,.habitacion img{width:100%;height:100%;object-fit:cover;display:block}
/* en vertical el personaje (tercio derecho del cuadro) queda a la vista */
/* el video parte bajo la ficha, para que se vea de pies a cabeza */
@media (max-aspect-ratio:1/1){.habitacion{background:#F6ECE3}.habitacion video,.habitacion img{height:calc(100% - 225px);margin-top:225px;object-position:var(--px,75%) 50%}}
.habitacion::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,249,246,.0) 40%,rgba(42,23,33,0) 60%),linear-gradient(0deg,rgba(42,23,33,.25),transparent 40%)}
/* viñeta de la sala: pequeña y al pie, para que se vea el entorno. Dos estilos de texto: título y dato */
.sala-info{position:absolute;z-index:3;left:max(16px,calc((100vw - var(--ancho)) / 2 + 18px));bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:20px;padding:12px 14px 12px 22px;border-radius:20px;background:rgba(255,249,246,.94);color:#2A1721;box-shadow:0 14px 28px -18px rgba(42,23,33,.6)}
.sala-datos{display:grid;gap:2px}
.sala-info h2{font-size:clamp(1.5rem,2.1vw,1.8rem);line-height:1.15}
.sala-info p{font-size:1.05rem;color:#3A2430}
.sala-info .boton{flex:none;padding:12px 20px;font-size:1rem}
.sala-acciones{display:flex;align-items:center;gap:14px;flex:none}
.sala-mas{border:0;background:none;padding:8px 2px;font:600 1rem var(--f-texto);color:#A3205A;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-aspect-ratio:1/1){.sala-info{left:12px;right:12px;bottom:auto;top:calc(var(--cab) + env(safe-area-inset-top,0px) + 10px);flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}.sala-info h2{font-size:1.45rem}.sala-info p{font-size:1rem}.sala-info .boton{padding:10px 18px}}
.puntos{position:absolute;z-index:3;right:max(18px,env(safe-area-inset-right,0px));top:50%;translate:0 -50%;display:grid;gap:10px}
.puntos i{width:9px;height:9px;border-radius:50%;background:rgba(255,249,246,.6);box-shadow:0 0 0 1px rgba(42,23,33,.25)}
.puntos i.activo{background:#C42F6E;transform:scale(1.4)}
@media (max-aspect-ratio:1/1){.puntos{display:none}}
.salas-lista{display:none;gap:16px;padding-block:90px;background:var(--papel-2)}
@media (min-width:760px){.salas-lista{grid-template-columns:repeat(2,1fr)}}
.salas-lista .tarjeta-sala{border:0;padding:0;border-radius:20px;overflow:hidden;background:var(--papel);text-align:left;font:inherit;color:inherit;cursor:pointer;box-shadow:0 18px 30px -24px rgba(42,23,33,.5)}
.salas-lista .tarjeta-sala img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.salas-lista .tarjeta-sala span{display:block;padding:14px 18px 18px}
.salas-lista .tarjeta-sala b{font-family:var(--f-display);font-weight:400;font-size:1.4rem;display:block}
.calma-on .recorrido,.sin-mov .recorrido{display:none}
.calma-on .salas-lista,.sin-mov .salas-lista{display:grid}
.ficha{border:0;padding:0;border-radius:24px;max-width:min(860px,94vw);width:100%;background:var(--papel);color:var(--tinta);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.ficha::backdrop{background:rgba(42,23,33,.55)}
.ficha-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#F4EEE8}
.ficha-media{position:relative}
.ficha-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#2A1721;cursor:zoom-out}
.ficha-foto[hidden]{display:none}
.ficha-fotos{list-style:none;padding:0;margin:12px 0 0;display:flex;gap:8px}
.ficha-fotos[hidden]{display:none}
.ficha-fotos button{display:block;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:zoom-in;background:none;transition:transform .2s var(--ease-out),border-color .2s}
.ficha-fotos button:hover{transform:translateY(-2px)}
.ficha-fotos button[aria-pressed="true"]{border-color:var(--rosa)}
.ficha-fotos img{display:block;width:64px;height:64px;object-fit:cover}
.ficha-cuerpo{padding:22px 26px 26px}
.ficha h3{font-size:1.8rem}
.ficha p{margin-top:8px;color:var(--tinta-2)}
.ficha-quien{font-weight:700;color:var(--tinta)!important}
.ficha-focos{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.ficha-focos li{font-size:.82rem;font-weight:600;padding:5px 11px;border-radius:999px;background:rgba(196,47,110,.14);color:var(--tinta)}
.ficha-horario{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:10px!important;font-size:.92rem;padding:9px 12px;border-radius:12px;background:rgba(224,138,30,.14);color:var(--tinta)!important}
.ficha-horario svg{width:18px;height:18px;color:#C42F6E;flex:none}
.ficha-horario-t{font-weight:700}
#ficha-horario{display:flex;flex-wrap:wrap;gap:2px 12px}
#ficha-horario span+span::before{content:"·";margin-right:12px;color:#C42F6E}
@media (max-width:560px){.ficha-cuerpo{padding:16px 18px 20px}.ficha h3{font-size:1.45rem}}

/* ---------- cómo: la pizarra del pasillo ---------- */
.como{padding-block:clamp(80px,10vw,130px);background:#2F4A40 radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.06),transparent 60%);color:#F3EDE2;border-block:14px solid #8B5638}
.como .ceja{color:#F2C6D6}
.como h2{margin-top:12px;max-width:none;white-space:nowrap;font-family:var(--f-nota);font-weight:600;font-size:clamp(1.9rem,9.6vw,4.4rem);letter-spacing:.01em}
.pasos{list-style:none;padding:0;margin-top:40px;display:grid;gap:22px 26px;counter-reset:p}
@media (min-width:700px){.pasos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1180px){.pasos{grid-template-columns:repeat(5,1fr)}}
.pasos li{counter-increment:p;border-top:2px dashed rgba(243,237,226,.45);padding-top:16px;display:grid;gap:6px;align-content:start}
.pasos li::before{content:counter(p);font-family:var(--f-nota);font-size:3.2rem;color:#F7D7E4;line-height:1}
.pasos b{font-size:1.1rem;color:#FFF9F0}
.pasos li>span{font-size:.95rem;color:#D9E2DA}
.pasos b.tiza,.pasos li>span.tiza{font-family:var(--f-nota);font-weight:600}
/* tiza: grano y borde irregular; cada trazo se dibuja a mano */
.como .tiza{filter:url(#tiza-grano);text-shadow:0 0 1px rgba(255,255,255,.35)}
.trazo{display:inline-block}
.como.escribiendo .trazo:not(.hecho){clip-path:inset(-.35em 100% -.35em -.25em)}
.pasos b.tiza{font-size:clamp(1.9rem,2.4vw,2.2rem);line-height:1.1}
.pasos li>span.tiza{font-size:clamp(1.55rem,1.9vw,1.75rem);line-height:1.3;color:#EEF4EF}
.como .tiza a,.tiza-ati{color:#FFE3EE;text-decoration:underline dashed 1.5px;text-underline-offset:4px;font:inherit;background:none;border:0;padding:0;cursor:pointer}
.como .tiza a:hover,.tiza-ati:hover{color:#fff;text-decoration-style:solid}
.pasos li{opacity:.25;transition:opacity .4s ease}
.pasos li.visto{opacity:1}
.calma-on .pasos li,.sin-mov .pasos li{opacity:1}

/* ---------- talleres: el patio a pantalla completa ---------- */
.talleres{min-height:100svh;display:grid;overflow:hidden;color:#2A1721}
.talleres-in{width:100%;position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;gap:20px;padding-block:calc(var(--cab) + 24px) 32px}
.tarjetas{list-style:none;padding:0;margin:0;align-self:end;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:56rem}
@media (max-width:760px){.tarjetas{grid-template-columns:1fr}}
.tarjetas li{background:#FFFBF5;border-radius:16px;padding:16px;display:grid;gap:4px;align-content:start;border:3px dashed #F2B8CF;box-shadow:0 18px 30px -18px rgba(42,23,33,.55);rotate:-1deg}
.tarjetas li:nth-child(2){rotate:1.2deg}.tarjetas li:nth-child(3){rotate:-.6deg}
.tarjetas li::before{content:"";justify-self:center;width:14px;height:14px;border-radius:50%;background:#C42F6E;margin-top:-24px;box-shadow:0 3px 6px rgba(42,23,33,.35)}
.tarjetas b{font-family:var(--f-display);font-weight:400;font-size:1.2rem}
.tarjetas span{font-size:.88rem;color:#5A4350}
.tarjetas em{font-style:normal;font-weight:700;font-size:.82rem;color:#13707D}
.tarjetas button,.tarjetas .taller-wa{display:block;text-align:center;text-decoration:none;margin-top:8px;border:0;background:#C42F6E;color:#fff;font:700 .85rem var(--f-texto);padding:9px 12px;border-radius:999px;cursor:pointer}
.nota-stage{justify-self:start;font-size:.78rem;background:rgba(255,249,246,.85);padding:4px 10px;border-radius:999px;color:#5A4350}

/* ---------- mural ---------- */
.mural{background:#FBE4EA}
.mural-intro{padding-block:clamp(80px,10vw,120px) 10px}
.mural h2{font-size:clamp(2rem,4.4vw,3.4rem);margin-top:12px;color:#2A1721}
.mural .ceja{color:#A3205A}
.mural-pista{height:230vh}
.mural-fijo{position:sticky;top:var(--cab);height:calc(100svh - var(--cab));overflow:hidden}
.muro{position:absolute;inset:0;transform-origin:50% 46%;will-change:transform;background:url(../img/mural.jpg) center/cover}
.muro::after{content:"";position:absolute;inset:0;background:rgba(251,228,234,.5)}
.cuadrito{position:absolute;z-index:1;margin:0;background:#FFFDF8;padding:8px 8px 30px;border-radius:3px;box-shadow:0 12px 22px -12px rgba(42,23,33,.5);width:clamp(96px,13vw,184px);--v:clamp(0,calc((var(--p,1) - .28 - var(--i)*.06)*8),1);opacity:var(--v);translate:0 calc((1 - var(--v))*18px)}
.cuadrito img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.cuadrito figcaption{position:absolute;left:4px;right:4px;bottom:5px;text-align:center;font-family:var(--f-nota);font-size:clamp(.9rem,1.3vw,1.15rem);line-height:1;color:#2A1721;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cuadrito::before{content:"";position:absolute;z-index:1;left:50%;top:-7px;width:44px;height:16px;translate:-50% 0;rotate:-3deg;background:rgba(247,215,228,.85);box-shadow:0 1px 2px rgba(42,23,33,.15)}
.c1{left:4%;top:7%;rotate:-4deg}.c2{right:5%;top:6%;rotate:3deg}.c3{left:5%;top:64%;rotate:-2deg}.c4{right:4%;top:62%;rotate:4deg}.c5{left:21%;top:70%;rotate:3deg}.c6{right:21%;top:69%;rotate:-3deg}
@media (max-width:700px){.c1,.c3{left:3%}.c2,.c4{right:3%}.c5,.c6{display:none}.c3,.c4{top:auto;bottom:16%}}
.polaroid{position:absolute;z-index:2;left:50%;top:46%;width:clamp(240px,38vw,460px);translate:-50% -50%;background:#FFFDF8;padding:12px 12px 50px;border-radius:3px;box-shadow:0 26px 40px -22px rgba(42,23,33,.55);transform-origin:50% -64px;rotate:-2deg}
@media (max-width:700px){.polaroid{width:72vw}}
.familia-real{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.familia-real li{position:relative;overflow:hidden;border-radius:2px;--f:clamp(0,calc((var(--p,1) - .02 - var(--j)*.006)*30),1);opacity:var(--f);filter:blur(calc((1 - var(--f))*8px))}
.familia-velo{position:absolute;left:12px;right:12px;top:12px;aspect-ratio:2/1;display:grid;place-items:center;pointer-events:none;--m:clamp(0,calc((var(--p,1) - .01)*22),1);opacity:calc(1 - var(--m))}
.familia-velo img{width:38%;height:auto;scale:calc(1.15 - var(--m)*.3);filter:blur(calc(var(--m)*10px))}
.familia-real img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.familia-real span{position:absolute;left:0;right:0;bottom:0;padding:14px 4px 4px;text-align:center;font-family:var(--f-nota);font-size:clamp(.85rem,1.3vw,1.15rem);line-height:1;color:#fff;background:linear-gradient(to top,rgba(42,23,33,.6),transparent)}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-family:var(--f-nota);font-size:clamp(1.2rem,2vw,1.6rem);color:#2A1721}
.polaroid .cuelga{position:absolute;left:15%;width:70%;bottom:100%;height:64px;overflow:visible}
.polaroid .sello{position:absolute;left:18px;top:18px;font:700 .68rem var(--f-texto);background:rgba(255,253,251,.92);color:#2A1721;padding:4px 9px;border-radius:999px}
@media (prefers-reduced-motion:no-preference){html:not(.calma-on) .polaroid{animation:mecer 5s ease-in-out infinite alternate}}
@keyframes mecer{from{rotate:-2.5deg}to{rotate:1.5deg}}
.mural-lema{position:absolute;z-index:3;left:50%;bottom:5%;translate:-50% 0;width:max-content;max-width:min(30rem,44vw);margin:0;padding:12px 26px;border-radius:999px;text-align:center;font-family:var(--f-display);font-size:clamp(1.2rem,2.1vw,1.9rem);line-height:1.15;color:#2A1721;background:rgba(255,249,246,.92);box-shadow:0 14px 30px -18px rgba(42,23,33,.5);opacity:0}
@media (max-width:700px){.mural-lema{max-width:46vw;padding:10px 14px;border-radius:18px;font-size:1.1rem;bottom:20%}}
.mural-lema em{font-style:normal;color:#C42F6E}
.calma-on .mural-pista,.sin-mov .mural-pista{height:auto}
.calma-on .mural-fijo,.sin-mov .mural-fijo{position:relative;top:auto;height:auto;min-height:80vh}
.calma-on .mural-lema,.sin-mov .mural-lema{opacity:1}

/* ---------- contacto ---------- */
.contacto{padding-block:clamp(80px,10vw,130px)}
.contacto-in{display:grid;gap:36px}
@media (min-width:860px){.contacto-in{grid-template-columns:1.1fr .9fr;align-items:center}}
.contacto h2{font-size:clamp(2.2rem,5vw,3.8rem);margin-top:12px}
.datos{display:grid;gap:14px;background:var(--papel-2);border-radius:22px;padding:24px}
.datos dt{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2)}
.datos dd{font-size:1.1rem}
.pie{background:#2A1721;color:#F4DCE3;padding-block:34px calc(104px + env(safe-area-inset-bottom,0px))}
.pie-in{display:grid;gap:6px;font-size:.92rem}
.pie a{color:#F79BC1}
.pie-legal{font-size:.8rem;opacity:.8}

/* ---------- Ati ---------- */
.ati-burbuja{position:fixed;z-index:60;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;border:0;background:var(--papel);color:var(--tinta);border-radius:999px;padding:6px 16px 6px 6px;font:700 .9rem var(--f-texto);box-shadow:0 14px 30px -12px rgba(42,23,33,.55);cursor:pointer;opacity:0;translate:0 20px;transition:opacity .4s var(--ease-out),translate .4s var(--ease-out)}
.ati-burbuja.visible{opacity:1;translate:0 0}
.ati-burbuja video{width:52px;height:52px;border-radius:50%;object-fit:cover}
.ati-burbuja span{display:grid;line-height:1.15;text-align:left}
.ati-burbuja small{font-weight:600;font-size:.74rem;color:var(--tinta-2)}
@media (max-width:480px){.ati-burbuja{padding:5px 12px 5px 5px;gap:8px;font-size:.82rem}.ati-burbuja video{width:44px;height:44px}.ati-burbuja small{font-size:.68rem}.ati-burbuja.compacta{padding:5px}.ati-burbuja.compacta span{display:none}}
.ati-panel{position:fixed;z-index:61;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));width:min(380px,calc(100vw - 32px));max-height:min(560px,calc(100svh - 120px));display:grid;grid-template-rows:auto 1fr auto;background:var(--papel-2);border-radius:24px;box-shadow:0 30px 60px -20px rgba(42,23,33,.6);overflow:hidden}
.ati-cab{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--papel);border-bottom:1px dashed var(--linea)}
.ati-cab video{width:44px;height:44px;border-radius:50%;object-fit:cover}
.ati-cab b{font-family:var(--f-display);font-weight:400;font-size:1.15rem}
.ati-cab small{display:block;font-size:.72rem;color:var(--tinta-2)}
.ati-cerrar{margin-left:auto;border:0;background:transparent;font-size:1.6rem;line-height:1;color:var(--tinta-2);cursor:pointer;padding:4px 8px}
.ati-mensajes{overflow-y:auto;padding:14px;display:grid;gap:10px;align-content:start}
.msg{white-space:pre-line;max-width:86%;padding:10px 14px;border-radius:18px;font-size:.95rem;line-height:1.45}
.msg.ati{background:var(--papel);border-bottom-left-radius:6px}
.msg.yo{background:var(--rosa);color:#fff;justify-self:end;border-bottom-right-radius:6px}
.msg.escribe{color:var(--tinta-2);font-style:italic}
.ati-opciones{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 16px;background:var(--papel-2)}
.ati-opciones button{border:1.5px solid var(--rosa);background:var(--papel);color:var(--rosa);font:700 .82rem var(--f-texto);padding:8px 12px;border-radius:999px;cursor:pointer}

/* ---------- calma ---------- */
.calma-on body{filter:saturate(.75)}
.calma-on{scroll-behavior:auto;font-size:106%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.pie-creditos{font-size:.78rem;opacity:.75;margin-top:6px}

/* ---------- redes: botones redondos de fieltro ---------- */
.redes{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.red{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;text-decoration:none;outline:2px dashed rgba(255,244,234,.75);outline-offset:-6px;box-shadow:0 10px 18px -10px rgba(42,23,33,.6),inset 0 -3px 6px rgba(0,0,0,.18);transition:transform .2s var(--ease-out)}
.red svg{width:24px;height:24px}
.red-ig{background:radial-gradient(circle at 30% 110%,#FDCB6E 0%,#F0605C 35%,#C42F6E 60%,#7B3FB2 100%)}
.red-fb{background:#1877F2}
.red-wa{background:#25A35A}
.red-tel{background:#13707D}
.red-mapa{background:#E08A1E}
@media (hover:hover) and (pointer:fine){.red:hover{transform:translateY(-3px) rotate(-4deg)}}
.redes-pie{margin:6px 0 4px}
.redes-pie .red{width:42px;height:42px}
.redes-pie .red svg{width:20px;height:20px}

/* ---------- firma de Phoraxis ---------- */
.firma{display:inline-flex;align-items:center;gap:12px;margin-top:14px;padding:10px 16px;border-radius:14px;background:#FFF9F6;text-decoration:none;color:#5A4350!important;font-size:.8rem;font-weight:600;justify-self:start;transition:transform .2s var(--ease-out)}
.firma img{height:26px;width:auto;display:block}
@media (hover:hover) and (pointer:fine){.firma:hover{transform:translateY(-2px)}}

/* ---------- mapa con la casita ---------- */
.lado-contacto{display:grid;gap:16px}
.mapa{position:relative;display:block;border-radius:22px;overflow:hidden;aspect-ratio:16/10;background:#E9E4DA;box-shadow:0 18px 30px -18px rgba(42,23,33,.5);outline:3px dashed #F2B8CF;outline-offset:-8px;text-decoration:none;color:inherit}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;filter:saturate(.85) sepia(.12)}
.mapa-casa{position:absolute;left:50%;top:50%;width:min(34%,150px);height:auto;translate:-50% -88%;filter:drop-shadow(0 12px 10px rgba(42,23,33,.35));pointer-events:none}
@media (prefers-reduced-motion:no-preference){html:not(.calma-on) .mapa-casa{animation:salta 2.8s ease-in-out infinite}}
@keyframes salta{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.mapa-rotulo{position:absolute;left:12px;right:12px;bottom:12px;display:grid;gap:2px;background:rgba(255,249,246,.94);border-radius:14px;padding:10px 14px;font-size:.85rem;color:#5A4350}
.mapa-rotulo b{font-family:var(--f-display);font-weight:400;font-size:1.1rem;color:#2A1721}

/* ---------- reembolsos: corredera de isapres ---------- */
.reembolsos{padding-block:clamp(60px,8vw,100px) 40px;background:var(--papel-2);overflow:hidden}
.reembolsos h2{font-size:clamp(1.9rem,4vw,3rem);margin-top:10px}
.corredera{display:flex;margin-top:30px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.corredera-pista{list-style:none;margin:0;padding:6px 0;display:flex;gap:18px;padding-right:18px;flex:none}
@media (prefers-reduced-motion:no-preference){html:not(.calma-on) .corredera-pista{animation:corre 32s linear infinite}}
.corredera:hover .corredera-pista{animation-play-state:paused}
@keyframes corre{to{transform:translateX(-100%)}}
.isapre{display:grid;place-items:center;align-content:center;gap:6px;min-width:170px;height:96px;padding:0 24px;border-radius:18px;background:#FFFBF5;font-family:var(--f-display);font-size:1.25rem;color:#2A1721;white-space:nowrap;outline:2px dashed #E59BBC;outline-offset:-7px;box-shadow:0 10px 18px -12px rgba(42,23,33,.45)}
.isapre img{display:block;height:46px;width:auto;max-width:150px;object-fit:contain}
.calma-on .corredera,.sin-mov .corredera{flex-wrap:wrap;justify-content:center;-webkit-mask-image:none;mask-image:none}
.calma-on .corredera-pista[aria-hidden],.sin-mov .corredera-pista[aria-hidden]{display:none}
.calma-on .corredera-pista,.sin-mov .corredera-pista{flex-wrap:wrap;justify-content:center;flex:1}

/* ---------- reserva con pago (demostración) ---------- */
.reserva{max-width:min(620px,94vw)}
.reserva-in{display:grid;gap:0;margin:0}
.reserva-cab{position:relative;padding:22px 26px 10px}
.reserva-cab h3{font-size:clamp(1.5rem,4vw,1.9rem);margin-top:6px;padding-right:40px}
.reserva-x{position:absolute;top:14px;right:16px;width:40px;height:40px;border-radius:50%;border:0;background:var(--papel-2);font-size:1.5rem;line-height:1;cursor:pointer;color:var(--tinta)}
.reserva-cuerpo{padding:8px 26px 4px;display:grid;gap:12px;max-height:min(60svh,520px);overflow:auto}
.reserva-pie{display:flex;justify-content:space-between;gap:12px;padding:14px 26px 10px}
.reserva-demo{padding:0 26px 18px;font-size:.78rem;color:var(--tinta-2)}
.opcion{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--papel-2);cursor:pointer;border:2px solid transparent}
.opcion:has(input:checked){border-color:#C42F6E;background:#FDECF3}
.opcion input{accent-color:#C42F6E;width:20px;height:20px}
.opcion b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.15rem}
.opcion small{color:var(--tinta-2)}
.opcion .valor{font-weight:700;color:#A3205A;white-space:nowrap}
.campo{display:grid;gap:6px;font-weight:600;font-size:.92rem}
.campo input,.campo select{font:inherit;font-weight:400;padding:12px 14px;border-radius:12px;border:1.5px solid var(--linea);background:#fff;color:#2A1721}
.dias,.horas{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--linea);background:#fff;color:#2A1721;border-radius:999px;padding:9px 14px;font:600 .9rem var(--f-texto);cursor:pointer}
.chip[aria-pressed="true"]{background:#C42F6E;border-color:#C42F6E;color:#fff}
.resumen{display:grid;gap:6px;padding:16px;border-radius:16px;background:var(--papel-2)}
.resumen div{display:flex;justify-content:space-between;gap:12px}
.resumen .total{border-top:1.5px dashed var(--linea);padding-top:8px;margin-top:4px;font-weight:700}
.medios{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.medio{padding:14px;border-radius:14px;border:2px solid var(--linea);background:#fff;font:700 .95rem var(--f-texto);cursor:pointer;color:#2A1721}
.medio[aria-pressed="true"]{border-color:#C42F6E;background:#FDECF3}
.listo{text-align:center;display:grid;gap:10px;justify-items:center;padding:10px 0}
.listo .sello{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#25A35A;color:#fff;font-size:2.2rem}
.aviso-campo{color:#B3261E;font-size:.85rem;min-height:1em}

/* ---------- contacto: datos secundarios y sello pet friendly ---------- */
.datos dd small{display:block;font-size:.88rem;color:var(--tinta-2);margin-top:2px}
.pet{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:10px 18px 10px 10px;border-radius:999px;background:#FFF4EA;color:#2A1721;outline:2px dashed #E0B27A;outline-offset:-5px;font-size:.88rem;line-height:1.25}
.pet b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.08rem}
.pet-pata{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#E08A1E;color:#FFF4EA}
.pet-pata svg{width:26px;height:26px}
#sala-n{white-space:nowrap}

/* ---------- hall: el cordel sigue sujetando el principio cuando el objeto se da vuelta ---------- */
.cordel{position:absolute;left:var(--cx,50%);top:0;width:44px;height:32%;translate:-50% 0;opacity:0;transition:opacity .25s ease;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='none' vector-effect='non-scaling-stroke'%3E%3Cpath d='M50 0L12 100M50 0L88 100' stroke='%23E88BB0' stroke-width='3.5' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M50 0L12 100M50 0L88 100' stroke='%23FFF4EA' stroke-width='1.5' stroke-dasharray='3 5' vector-effect='non-scaling-stroke'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.adorno[aria-pressed="true"] .cordel{opacity:1;transition-delay:.3s}

/* ---------- hall: «Toca» llama la atención ---------- */
.pista{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.toca{display:inline-flex;align-items:center;gap:6px;padding:3px 16px 4px 10px;border-radius:999px;background:#C42F6E;color:#fff;font-size:1.5rem;font-weight:700;line-height:1.1;outline:2px dashed rgba(255,244,234,.85);outline-offset:-4px}
.toca svg{width:22px;height:22px}
.flecha{font-family:var(--f-texto);font-weight:700;font-size:1.3rem;color:#C42F6E}
@media (prefers-reduced-motion:no-preference){
  html:not(.calma-on) .toca{animation:tilita 1.5s ease-in-out infinite}
  html:not(.calma-on) .flecha{animation:apunta 1.5s ease-in-out infinite}
}
@keyframes tilita{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(196,47,110,.55)}50%{transform:scale(1.1);box-shadow:0 0 0 10px rgba(196,47,110,0)}}
@keyframes apunta{0%,100%{transform:translateY(2px)}50%{transform:translateY(-5px)}}
/* pantallas completas: el ancla las deja justo arriba, sin cortar su parte baja */
.principios,.talleres{scroll-margin-top:calc(var(--cab) * -1)}
/* pizarra: acceso a Integra, aparece al terminar de escribir */
.portal{display:inline-flex;align-items:center;gap:10px;justify-self:start;margin-top:6px;color:#FFE3EE;font-family:var(--f-nota);font-weight:600;font-size:clamp(1.5rem,1.9vw,1.7rem);line-height:1.1;text-decoration:underline dashed 1.5px;text-underline-offset:4px;transition:opacity .5s ease}
.portal:hover{color:#fff}
.portal-logo{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#FFF9F6}
.portal-logo img{width:32px;height:32px;display:block}
.como.escribiendo:not(.escrita) .portal{opacity:0}
/* Ati: escribir y dejar datos */
.solo-lector{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ati-opciones:empty{display:none}
.ati-opciones a{border:1.5px solid var(--rosa);background:var(--rosa);color:#fff;font:700 .82rem var(--f-texto);padding:8px 12px;border-radius:999px;text-decoration:none}
.ati-escribir{display:flex;gap:8px;padding:10px 14px 14px;background:var(--papel-2)}
.ati-escribir input,.ati-contacto input{flex:1;min-width:0;width:100%;box-sizing:border-box;font:400 1rem var(--f-texto);padding:10px 12px;border:1.5px solid var(--linea);border-radius:12px;background:#fff;color:#2A1721}
.ati-escribir button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--rosa);color:#fff;font-size:1rem;cursor:pointer}
.ati-contacto{display:grid;gap:8px;padding:12px 14px 14px;background:var(--papel-2);overflow-y:auto}
.ati-contacto b{font-family:var(--f-display);font-weight:400;font-size:1.05rem}
.ati-contacto label{display:grid;gap:3px;font-size:.84rem;font-weight:600}
.ati-contacto label span{font-weight:400;color:var(--tinta-2)}
.ati-privacidad{font-size:.76rem;line-height:1.35;color:var(--tinta-2)}
.ati-error{font-size:.82rem;color:#B3261E}
.ati-error:empty{display:none}
.ati-panel{grid-template-rows:auto minmax(0,1fr) auto auto}
.msg{overflow-wrap:anywhere}
.msg.ati a{color:var(--rosa)}
