@charset "utf-8";
/* ==========================================================
   Peluches & Bigotes · Clínica veterinaria · Russafa, València
   Sistema: «Instrucciones de cuidado»
   ========================================================== */

@font-face{font-family:"Anybody";src:url("../fonts/anybody.woff2") format("woff2");font-weight:100 900;font-stretch:50% 150%;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-italic.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap}

:root{
  /* Paleta */
  --papel:#FFF4E4;      /* tela de etiqueta */
  --papel-2:#FBE7CC;    /* etiqueta lavada */
  --tinta:#1E1A3F;      /* tinta de imprenta de etiqueta */
  --tinta-2:#4A456E;
  --taronja:#FF5A1F;    /* naranja valenciana */
  --taronja-2:#FF8A4C;
  --taronja-t:#C23A08;  /* naranja para texto sobre claro (4,9:1) */
  --mar:#2C55F0;        /* azul Mediterráneo */
  --mar-2:#C9D6FF;
  --rosa:#FFA3C2;       /* almohadilla, nariz */
  --rosa-2:#FFD9E6;
  --hoja:#BFEA5B;       /* hoja de naranjo nueva */
  --sol:#FFCF3D;
  --blanco:#FFFDF8;
  --linea:rgba(30,26,63,.16);
  --linea-f:rgba(30,26,63,.32);

  /* Tipografía */
  --display:"Anybody", "Arial Narrow", system-ui, sans-serif;
  --texto:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Medidas */
  --cab:76px;
  --gut:clamp(18px,4vw,56px);
  --max:1360px;
  --r:22px;
  --r-s:12px;
  --costura:2px dashed currentColor;
  --sombra:0 1px 0 rgba(30,26,63,.08), 0 18px 40px -22px rgba(30,26,63,.35);
  --ease:cubic-bezier(.2,.8,.2,1);
  --muelle:cubic-bezier(.34,1.56,.64,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--cab) + 16px)}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--taronja);color:var(--blanco)}
:focus-visible{outline:3px solid var(--mar);outline-offset:3px;border-radius:6px}

h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:.95;letter-spacing:-.005em;margin:0;text-wrap:balance}
h1{font-size:clamp(52px,9.4vw,152px);font-stretch:67%;font-weight:800}
h2{font-size:clamp(40px,6vw,92px);font-stretch:70%;font-weight:800}
h3{font-size:clamp(26px,2.6vw,38px);font-stretch:74%}
h4{font-size:20px;letter-spacing:-.01em;line-height:1.15}
p{margin:0 0 1em;max-width:65ch}
.lead{font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--tinta-2);max-width:56ch}
em.acento,.acento{font-style:normal;color:var(--taronja-t)}
.mar{color:var(--mar)}

.etq{font-family:var(--display);font-stretch:64%;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:13px;line-height:1.2}
.etq-costura{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border:1.5px dashed currentColor;border-radius:999px}

.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sec{padding:clamp(80px,11vw,170px) 0;position:relative}
.sec-tinta{background:var(--tinta);color:var(--papel)}
.sec-tinta .lead{color:rgba(255,244,228,.78)}
.sec-mar{background:var(--mar);color:var(--blanco)}
.sec-rosa{background:var(--rosa-2)}
.sec-hoja{background:var(--hoja)}
.sec-taronja{background:var(--taronja);color:var(--tinta)}
.sec-taronja .lead{color:var(--tinta)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--gut);align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.sec-head>*{min-width:0}
.sec-head .etq{display:block;margin-bottom:18px}

/* ---------- Botones ---------- */
.btn{--bg:var(--taronja);--fg:var(--tinta);position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;background:var(--bg);color:var(--fg);text-decoration:none;font-family:var(--display);font-weight:700;font-stretch:72%;font-size:18px;letter-spacing:-.005em;border:0;transition:transform .35s var(--muelle),background .25s}
.btn::after{content:"";position:absolute;inset:4px;border:1.5px dashed currentColor;border-radius:inherit;opacity:.55;pointer-events:none}
.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.btn:active{transform:translateY(1px)}
.btn .fl{display:inline-block;transition:transform .35s var(--muelle)}
.btn:hover .fl{transform:translateX(4px)}
.btn-tinta{--bg:var(--tinta);--fg:var(--papel)}
.btn-papel{--bg:var(--papel);--fg:var(--tinta)}
.btn-linea{--bg:transparent;--fg:currentColor;box-shadow:inset 0 0 0 2px currentColor}
.btn-linea::after{display:none}
.btn-s{padding:11px 18px;font-size:16px}
.enlace{font-family:var(--display);font-weight:700;font-stretch:72%;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;padding-bottom:2px;transition:background-size .3s var(--ease)}
.enlace:hover{background-size:0 2px;background-position:100% 100%}

/* ---------- Cabecera ---------- */
.cab{position:fixed;inset:0 0 auto 0;height:var(--cab);z-index:50;display:flex;align-items:center;transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.cab.solida{background:rgba(255,244,228,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linea)}
.cab.oculta{transform:translateY(-100%)}
.cab .wrap{display:flex;align-items:center;gap:24px;max-width:none}
.marca{display:flex;align-items:center;text-decoration:none;flex-shrink:0;color:var(--tinta);--m-a:var(--taronja)}
.marca .logo{display:block;height:38px;width:auto;overflow:visible}
.marca .lk{fill:currentColor}.marca .la{fill:var(--m-a)}.marca .las{stroke:var(--m-a)}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-weight:600;font-size:15.5px;padding:9px 14px;border-radius:999px;transition:background .2s}
.nav a:hover{background:rgba(30,26,63,.07)}
.nav a[aria-current="page"]{background:var(--tinta);color:var(--papel)}
.cab-tel{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;line-height:1.1;margin-left:10px}
.cab-tel span{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}
.cab-tel b{font-family:var(--display);font-stretch:70%;font-size:17px}
.punto{width:8px;height:8px;border-radius:50%;background:#9a96b5;display:inline-block}
.punto.abierto{background:#1DB45A;box-shadow:0 0 0 0 rgba(29,180,90,.6);animation:latido 2s infinite}
@keyframes latido{70%{box-shadow:0 0 0 8px rgba(29,180,90,0)}100%{box-shadow:0 0 0 0 rgba(29,180,90,0)}}
.menu-btn{display:none;margin-left:auto;width:52px;height:52px;border-radius:50%;border:0;background:var(--tinta);color:var(--papel);position:relative}
.menu-btn i{position:absolute;left:15px;right:15px;height:2px;background:currentColor;border-radius:2px;transition:transform .35s var(--ease),opacity .2s}
.menu-btn i:nth-child(1){top:20px}.menu-btn i:nth-child(2){top:25px;right:22px}.menu-btn i:nth-child(3){top:30px}
.menu-abierto .menu-btn i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-abierto .menu-btn i:nth-child(2){opacity:0}
.menu-abierto .menu-btn i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.cajon{position:fixed;inset:0;z-index:45;background:var(--taronja);color:var(--tinta);padding:calc(var(--cab) + 20px) var(--gut) 30px;display:flex;flex-direction:column;visibility:hidden;clip-path:circle(0 at calc(100% - 46px) 38px);transition:clip-path .6s var(--ease),visibility 0s .6s}
.menu-abierto .cajon{visibility:visible;clip-path:circle(150% at calc(100% - 46px) 38px);transition:clip-path .7s var(--ease)}
.menu-abierto .cab{background:transparent;box-shadow:none;backdrop-filter:none}
.menu-abierto .cab .marca{color:var(--tinta);--m-a:var(--blanco)}
.cajon a.l{display:flex;justify-content:space-between;align-items:baseline;text-decoration:none;font-family:var(--display);font-weight:800;font-stretch:66%;font-size:clamp(40px,11vw,64px);line-height:1.15;border-bottom:2px dashed rgba(255,255,255,.4);padding:6px 0}
.cajon a.l small{font-family:var(--texto);font-size:14px;font-weight:600;opacity:.8}
.cajon .pie-cajon{margin-top:auto;display:grid;gap:14px;font-weight:600}
.cajon .pie-cajon .btn{justify-content:center}
body.menu-abierto{overflow:hidden}

/* ---------- Revelados ---------- */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.rv.visto{opacity:1;transform:none}
.rv-cose>*{opacity:0;transform:translateY(20px) rotate(-1.5deg);transition:opacity .7s var(--ease),transform .8s var(--muelle)}
.rv-cose.visto>*{opacity:1;transform:none}
.rv-cose.visto>*:nth-child(2){transition-delay:.08s}.rv-cose.visto>*:nth-child(3){transition-delay:.16s}.rv-cose.visto>*:nth-child(4){transition-delay:.24s}.rv-cose.visto>*:nth-child(5){transition-delay:.32s}.rv-cose.visto>*:nth-child(6){transition-delay:.4s}.rv-cose.visto>*:nth-child(7){transition-delay:.48s}.rv-cose.visto>*:nth-child(8){transition-delay:.56s}
.titulo-linea{display:block;overflow:hidden;padding-bottom:.06em}
.titulo-linea>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease)}
.visto .titulo-linea>span,.titulo-linea.visto>span{transform:none}
.visto .titulo-linea:nth-child(2)>span{transition-delay:.08s}
.visto .titulo-linea:nth-child(3)>span{transition-delay:.16s}

/* ---------- Medios (ilustración provisional + archivo real) ---------- */
.medio{position:relative;overflow:hidden;border-radius:var(--r);background:var(--papel-2);isolation:isolate}
.medio>.ilu{position:absolute;inset:0;width:100%;height:100%}
.medio>.ilu svg{width:100%;height:100%}
.medio>img,.medio>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease)}
.medio>img.cargada,.medio>video.cargada{opacity:1}
.medio .rotulo{position:absolute;left:14px;bottom:14px;z-index:2;background:var(--blanco);color:var(--tinta);border-radius:999px;padding:6px 12px 6px 10px;font-size:12px;font-weight:600;display:flex;gap:8px;align-items:center;box-shadow:var(--sombra);max-width:calc(100% - 28px)}
.medio .rotulo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--taronja);flex-shrink:0}
.medio.real .rotulo{display:none}
.medio .ilu{animation:respira 7s ease-in-out infinite alternate}
@keyframes respira{to{filter:saturate(1.08) brightness(1.02)}}
.r-45{aspect-ratio:4/5}.r-32{aspect-ratio:3/2}.r-169{aspect-ratio:16/9}.r-11{aspect-ratio:1/1}.r-34{aspect-ratio:3/4}

/* ---------- Etiqueta cosida (componente de marca) ---------- */
.tag{--c:var(--blanco);--f:var(--tinta);position:relative;background:var(--c);color:var(--f);padding:34px 26px 26px;border-radius:6px 6px 18px 18px;box-shadow:var(--sombra)}
.tag::before{content:"";position:absolute;left:0;right:0;top:0;height:16px;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(30,26,63,.1) 6px 7px);border-bottom:1.5px solid rgba(30,26,63,.18)}
.tag::after{content:"";position:absolute;inset:22px 10px 10px;border:1.5px dashed currentColor;opacity:.35;border-radius:4px 4px 12px 12px;pointer-events:none}
.tag-tit{font-family:var(--display);font-weight:800;font-stretch:64%;text-transform:uppercase;letter-spacing:.04em;font-size:22px;line-height:1}
.tag-comp{font-family:var(--display);font-stretch:64%;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:13px;line-height:1.5}
.simbolos{display:flex;gap:10px;flex-wrap:wrap}
.simb{width:44px;height:44px;display:inline-block;flex-shrink:0;vertical-align:middle}
[hidden]{display:none!important}
.simb svg{width:100%;height:100%}

/* ---------- Hero portada ---------- */
.hero{min-height:100svh;padding:calc(var(--cab) + 30px) 0 50px;position:relative;overflow:hidden;display:flex;align-items:stretch}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,60px);align-items:center;max-width:none}
.hero .wrap>*{min-width:0}
.hero h1{margin:18px 0 28px}
.hero h1 .ond{display:inline-block;color:var(--taronja);font-style:normal}
.hero-acc{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:34px}
.hero-escena{position:relative;height:min(78svh,760px);min-height:480px}
.hero-escena .medio{position:absolute;inset:0 0 0 8%;border-radius:220px 220px var(--r) var(--r)}
.hero-colgante{position:absolute;left:-2%;bottom:7%;width:min(300px,62%);transform-origin:50% -40px;z-index:3;cursor:grab;touch-action:none}
.hero-colgante:active{cursor:grabbing}
.hero-colgante .hilo{position:absolute;left:50%;top:-44px;width:2px;height:46px;background:repeating-linear-gradient(var(--tinta) 0 5px,transparent 5px 9px);transform:translateX(-50%)}
.hero-colgante .tag{padding:30px 22px 22px}
.hero-colgante .tag-comp b{font-weight:800;color:var(--taronja)}
.hero-colgante .pista{position:absolute;left:-14px;top:-34px;background:var(--sol);font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;transform:rotate(6deg);white-space:nowrap}
.hero-datos{display:flex;gap:clamp(20px,3vw,44px);margin-top:46px;padding-top:24px;border-top:2px dashed var(--linea-f);flex-wrap:wrap}
.hero-datos div{min-width:0}
.hero-datos b{display:block;font-family:var(--display);font-weight:800;font-stretch:66%;font-size:clamp(32px,3.2vw,46px);line-height:1}
.hero-datos span{font-size:14px;color:var(--tinta-2);font-weight:500}
.bigote{position:absolute;pointer-events:none;stroke:var(--tinta);fill:none;stroke-width:2;stroke-linecap:round;opacity:.9}

/* ---------- Cinta de especies ---------- */
.cinta{background:var(--tinta);color:var(--papel);overflow:hidden;padding:20px 0;border-block:2px dashed rgba(255,244,228,.3)}
.cinta-pista{display:flex;gap:44px;width:max-content;animation:cinta 38s linear infinite}
.cinta span{font-family:var(--display);font-weight:800;font-stretch:64%;font-size:clamp(26px,3vw,40px);text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:44px}
.cinta span::after{content:"";width:22px;height:22px;background:var(--taronja);border-radius:50%;box-shadow:inset 0 0 0 5px var(--tinta),0 0 0 2px var(--taronja)}
.cinta span:nth-child(3n+2)::after{background:var(--rosa);box-shadow:inset 0 0 0 5px var(--tinta),0 0 0 2px var(--rosa)}
.cinta span:nth-child(3n)::after{background:var(--hoja);box-shadow:inset 0 0 0 5px var(--tinta),0 0 0 2px var(--hoja)}
@keyframes cinta{to{transform:translateX(-50%)}}

/* ---------- Generador de etiqueta ---------- */
.gen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.gen>*{min-width:0}
.gen-panel{display:grid;gap:30px}
.paso-tit{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.paso-tit i{font-style:normal;width:30px;height:30px;border-radius:50%;border:1.5px dashed currentColor;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:14px;flex-shrink:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;border:0;background:var(--blanco);padding:10px 16px 10px 12px;border-radius:999px;font-weight:600;font-size:15.5px;display:inline-flex;align-items:center;gap:8px;box-shadow:inset 0 0 0 1.5px var(--linea);transition:background .2s,box-shadow .2s,transform .3s var(--muelle)}
.chip:hover{transform:translateY(-2px)}
.chip[aria-pressed="true"],.chip[aria-checked="true"]{background:var(--tinta);color:var(--papel);box-shadow:none}
.chip .mini{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--papel-2)}
.chip .mini svg{width:100%;height:100%}
.campo{display:grid;gap:8px}
.campo label,.campo .lab{font-weight:700;font-size:15px}
.campo input,.campo select,.campo textarea{width:100%;background:var(--blanco);border:0;box-shadow:inset 0 0 0 1.5px var(--linea-f);border-radius:var(--r-s);padding:14px 16px;font-size:17px;transition:box-shadow .2s}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;box-shadow:inset 0 0 0 2.5px var(--mar)}
.campo .ayuda{font-size:13.5px;color:var(--tinta-2)}
.campo.error input,.campo.error select,.campo.error textarea{box-shadow:inset 0 0 0 2.5px var(--taronja)}
.campo .msg{font-size:13.5px;color:var(--taronja-t);font-weight:600;min-height:0}
.rango{display:grid;gap:10px}
.rango input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent}
.rango input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:repeating-linear-gradient(90deg,var(--tinta) 0 6px,transparent 6px 10px)}
.rango input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:repeating-linear-gradient(90deg,var(--tinta) 0 6px,transparent 6px 10px)}
.rango input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--taronja);border:4px solid var(--blanco);box-shadow:0 2px 8px rgba(30,26,63,.3);margin-top:-12px}
.rango input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--taronja);border:4px solid var(--blanco);box-shadow:0 2px 8px rgba(30,26,63,.3)}
.rango-val{display:flex;justify-content:space-between;align-items:baseline;font-weight:600}
.rango-val b{font-family:var(--display);font-stretch:67%;font-size:28px}

.gen-tag{position:sticky;top:calc(var(--cab) + 24px)}
.gen-tag .tag{--c:var(--blanco);padding:44px clamp(22px,3vw,40px) 34px;transform-origin:50% 0;transition:transform .5s var(--muelle)}
.gen-tag .tag.salta{animation:salta .6s var(--muelle)}
@keyframes salta{30%{transform:rotate(-2deg) scale(1.015)}60%{transform:rotate(1deg)}}
.gen-cab{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.gen-cab .nom{font-family:var(--display);font-weight:800;font-stretch:64%;font-size:clamp(40px,4vw,60px);line-height:.9;text-transform:uppercase;letter-spacing:-.01em;word-break:break-word}
.gen-cab .retrato{width:84px;height:84px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--papel-2)}
.gen-comp{border-block:1.5px dashed var(--linea-f);padding:12px 0;margin-bottom:18px}
.gen-filas{display:grid;gap:0}
.gen-fila{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--linea)}
.gen-fila .simb{width:46px;height:46px}
.gen-fila b{display:block;font-size:16px;line-height:1.25}
.gen-fila span{display:block;font-size:13.5px;color:var(--tinta-2);line-height:1.35}
.gen-fila time{font-family:var(--display);font-stretch:66%;font-weight:700;font-size:15px;text-align:right;white-space:nowrap}
.gen-fila time small{display:block;font-family:var(--texto);font-weight:500;font-size:11.5px;color:var(--tinta-2)}
.gen-pie{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}
.gen-pie .etq{opacity:.6}
.gen-acc{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}

/* ---------- Servicios (portada) ---------- */
.percha{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.percha>a{grid-column:span 4;text-decoration:none;position:relative;display:block;border-radius:var(--r);padding:26px;min-height:340px;background:var(--blanco);transition:transform .5s var(--muelle);overflow:hidden;min-width:0}
.percha>a:nth-child(1){grid-column:span 7;background:var(--taronja);color:var(--tinta)}
.percha>a:nth-child(2){grid-column:span 5;background:var(--mar-2)}
.percha>a:nth-child(3){background:var(--rosa)}
.percha>a:nth-child(4){background:var(--hoja)}
.percha>a:nth-child(5){background:var(--tinta);color:var(--papel)}
.percha>a:hover{transform:translateY(-6px) rotate(-.6deg)}
.percha>a:nth-child(even):hover{transform:translateY(-6px) rotate(.6deg)}
.percha h3{margin:8px 0 12px;max-width:14ch}
.percha p{font-size:16px;max-width:36ch;opacity:.9}
.percha .num{font-family:var(--display);font-weight:800;font-stretch:64%;font-size:15px;letter-spacing:.1em}
.percha .ilu-s{position:absolute;right:-20px;bottom:-30px;width:46%;max-width:230px;aspect-ratio:1;transition:transform .6s var(--muelle)}
.percha>a:hover .ilu-s{transform:rotate(-8deg) translateY(-8px)}
.percha .mas{position:absolute;left:26px;bottom:24px;display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-stretch:72%}

/* ---------- Bloque Russafa / clínica en portada ---------- */
.barrio{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,90px);align-items:center}
.barrio>*{min-width:0}
.collage{position:relative;aspect-ratio:1/1.02}
.collage .medio{position:absolute}
.collage .m1{inset:0 22% 26% 0;border-radius:var(--r) 160px var(--r) var(--r)}
.collage .m2{inset:46% 0 0 38%;border-radius:var(--r)}
.collage .sello{position:absolute;left:4%;bottom:2%;width:150px;height:150px;z-index:3;animation:gira 26s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.lista-cuid{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:0}
.lista-cuid li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;align-items:start;padding:18px 0;border-top:1.5px dashed rgba(255,244,228,.3)}
.lista-cuid li .simb{width:44px;height:44px;display:inline-block;flex-shrink:0;vertical-align:middle}
[hidden]{display:none!important}
.lista-cuid b{display:block;font-family:var(--display);font-stretch:70%;font-size:21px;line-height:1.15;margin-bottom:4px}
.lista-cuid span{opacity:.8;font-size:16px}

/* ---------- Tablón (novedades) ---------- */
.tablon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}
.nota{background:var(--blanco);padding:14px 14px 20px;border-radius:6px;box-shadow:var(--sombra);transition:transform .5s var(--muelle);position:relative;min-width:0}
.nota:nth-child(1){transform:rotate(-2deg)}.nota:nth-child(2){transform:rotate(1.4deg) translateY(30px)}.nota:nth-child(3){transform:rotate(-1deg) translateY(-8px)}.nota:nth-child(4){transform:rotate(2deg) translateY(18px)}
.nota:hover{transform:rotate(0) translateY(-6px);z-index:2}
.nota::before{content:"";position:absolute;top:-10px;left:50%;width:72px;height:22px;transform:translateX(-50%) rotate(-3deg);background:rgba(255,207,61,.75);border-radius:2px}
.nota .medio{border-radius:4px;margin-bottom:14px}
.nota time{font-family:var(--display);font-stretch:66%;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--taronja-t)}
.nota h4{margin:6px 0 8px}
.nota p{font-size:15px;color:var(--tinta-2);margin:0}

/* ---------- Llamada final ---------- */
.llamada{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--gut);align-items:center}
.llamada>*{min-width:0}
.llamada h2{font-size:clamp(44px,6.6vw,104px)}
.llamada-tarjeta{background:var(--blanco);color:var(--tinta);border-radius:var(--r);padding:28px;display:grid;gap:16px;transform:rotate(1.5deg)}
.llamada-tarjeta .fila{display:flex;justify-content:space-between;gap:12px;border-bottom:1.5px dashed var(--linea);padding-bottom:12px;font-weight:600}
.llamada-tarjeta .fila:last-of-type{border:0}

/* ---------- Pie ---------- */
.pie{background:var(--tinta);color:var(--papel);padding:clamp(60px,7vw,100px) 0 0;position:relative;overflow:hidden}
.pie-rejilla{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);padding-bottom:56px}
.pie-rejilla>*{min-width:0}
.pie h5{font-family:var(--display);font-stretch:64%;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;margin:0 0 16px;opacity:.6}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie a{text-decoration:none}
.pie a:hover{color:var(--rosa)}
.pie .marca{color:var(--papel);margin-bottom:20px}
.pie-tag{--c:var(--papel);--f:var(--tinta);max-width:340px;padding:30px 20px 20px}
.pie-tag .tag-comp{font-size:12.5px}
.pie-horario{display:grid;gap:4px;font-size:15px}
.pie-horario div{display:flex;justify-content:space-between;gap:12px}
.pie-horario .hoy{color:var(--sol);font-weight:700}
.estado{display:inline-flex;align-items:center;gap:8px;background:rgba(255,244,228,.1);padding:6px 12px;border-radius:999px;font-size:13.5px;font-weight:600;margin-bottom:14px}
.mapa-mini{margin-top:18px;border-radius:var(--r-s);overflow:hidden;aspect-ratio:16/10;background:#2a2550;position:relative}
.mapa-mini svg{width:100%;height:100%}
.pie-final{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:22px 0 26px;border-top:1.5px dashed rgba(255,244,228,.25);font-size:14px}
.pie-final .cen{text-align:center}
.pie-final .der{text-align:right;opacity:.6;padding-right:90px}

/* ---------- Cabecera de páginas interiores ---------- */
.pcab{padding:calc(var(--cab) + clamp(50px,8vw,110px)) 0 clamp(50px,6vw,90px);position:relative;overflow:hidden}
.pcab .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--gut);align-items:end}
.pcab .wrap>*{min-width:0}
.pcab h1{font-size:clamp(56px,10vw,170px);margin:18px 0 26px}
.migas{display:flex;gap:8px;font-size:14px;font-weight:600;color:var(--tinta-2)}
.migas a{text-decoration:none}
.migas a:hover{color:var(--taronja-t)}
.pcab-tag{transform:rotate(3deg);max-width:330px;justify-self:end}

/* ---------- Servicios: índice y fichas ---------- */
.indice-serv{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:calc(var(--cab) + 10px);z-index:10;padding:10px 0}
.indice-serv a{text-decoration:none;font-weight:600;font-size:14.5px;padding:8px 14px;border-radius:999px;background:var(--blanco);box-shadow:inset 0 0 0 1.5px var(--linea);transition:background .2s}
.indice-serv a:hover,.indice-serv a.activo{background:var(--tinta);color:var(--papel)}
.ficha{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,80px);padding:clamp(60px,8vw,110px) 0;border-top:2px dashed var(--linea-f);align-items:start}
.ficha>*{min-width:0}
.ficha:nth-of-type(even) .ficha-medio{order:2}
.ficha-medio{position:sticky;top:calc(var(--cab) + 70px)}
.ficha-medio .medio{aspect-ratio:3/4}
.ficha h2{font-size:clamp(40px,5vw,76px);margin:14px 0 20px}
.ficha-datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0;border:1.5px solid var(--tinta);border-radius:var(--r-s);overflow:hidden}
.ficha-datos div{padding:14px 16px;border-right:1.5px solid var(--tinta);min-width:0}
.ficha-datos div:last-child{border-right:0}
.ficha-datos span{display:block;font-size:12.5px;font-weight:600;color:var(--tinta-2);text-transform:uppercase;letter-spacing:.08em}
.ficha-datos b{font-family:var(--display);font-stretch:67%;font-size:22px;line-height:1.1}
.incluye{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px}
.incluye li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start}
.incluye li::before{content:"";width:16px;height:16px;margin-top:5px;border-radius:50%;border:2px dashed var(--taronja)}
.ficha-quien{display:flex;align-items:center;gap:14px;padding:14px;background:var(--blanco);border-radius:var(--r-s);margin-bottom:24px}
.ficha-quien .retrato{width:54px;height:54px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--papel-2)}
.ficha-quien span{font-size:14px;color:var(--tinta-2);display:block}
.ficha-simb{display:flex;gap:12px;align-items:center;margin-bottom:6px}
.ficha-simb .simb{width:52px;height:52px}

/* ---------- Báscula ---------- */
.bascula{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.bascula>*{min-width:0}
.bascula-apa{position:relative;aspect-ratio:1/1;max-width:560px;width:100%;justify-self:center}
.bascula-apa svg{width:100%;height:100%;overflow:visible}
.bascula-pantalla{font-family:var(--display);font-stretch:61%;font-weight:800}
.tarifas{display:grid;gap:0;margin-top:26px}
.tarifa{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 0;border-bottom:1.5px dashed rgba(255,255,255,.35);align-items:baseline}
.tarifa b{font-size:17px;display:block}
.tarifa span{font-size:14px;opacity:.75}
.tarifa output{font-family:var(--display);font-stretch:66%;font-weight:800;font-size:30px;line-height:1;transition:color .3s}
.tarifa output.cambia{color:var(--sol)}
.bascula-esp{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.bascula-esp .chip{background:rgba(255,255,255,.14);color:var(--blanco);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.bascula-esp .chip[aria-pressed="true"]{background:var(--blanco);color:var(--mar)}
.sec-mar .rango input[type=range]::-webkit-slider-runnable-track{background:repeating-linear-gradient(90deg,var(--blanco) 0 6px,transparent 6px 10px)}
.sec-mar .rango input[type=range]::-moz-range-track{background:repeating-linear-gradient(90deg,var(--blanco) 0 6px,transparent 6px 10px)}
.sec-mar .rango input[type=range]::-webkit-slider-thumb{background:var(--sol);border-color:var(--mar)}
.nota-pie{font-size:13.5px;opacity:.75;margin-top:18px}

/* ---------- Planes ---------- */
.planes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.plan{--c:var(--blanco);display:flex;flex-direction:column;min-width:0}
.plan:nth-child(2){--c:var(--sol)}
.plan:nth-child(3){--c:var(--tinta);--f:var(--papel)}
.plan .precio{font-family:var(--display);font-weight:800;font-stretch:64%;font-size:64px;line-height:1;margin:16px 0 4px}
.plan .precio small{font-size:18px;font-weight:600}
.plan ul{list-style:none;padding:0;margin:18px 0 26px;display:grid;gap:8px;font-size:15.5px}
.plan ul li{padding-left:22px;position:relative}
.plan ul li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;background:var(--taronja)}
.plan .btn{margin-top:auto;align-self:flex-start;position:relative;z-index:1}

/* ---------- Urgencias / cuenco ---------- */
.urg-cab{background:var(--taronja);color:var(--tinta)}
.urg-cab .migas{color:rgba(255,255,255,.8)}
.urg-tel{display:inline-flex;align-items:center;gap:16px;background:var(--blanco);color:var(--tinta);padding:16px 28px 16px 18px;border-radius:999px;text-decoration:none;font-family:var(--display);font-weight:800;font-stretch:66%;font-size:clamp(26px,3vw,40px);transition:transform .4s var(--muelle)}
.urg-tel:hover{transform:scale(1.03) rotate(-1deg)}
.urg-tel i{width:48px;height:48px;border-radius:50%;background:var(--taronja);display:grid;place-items:center;flex-shrink:0}
.urg-tel i svg{width:24px;height:24px;stroke:var(--blanco);fill:none;stroke-width:2.2}
.cuenco{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:start}
.cuenco>*{min-width:0}
.despensa{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.alimento{border:0;background:var(--blanco);border-radius:var(--r-s);padding:12px 8px 10px;display:grid;justify-items:center;gap:6px;text-align:center;font-weight:600;font-size:13.5px;line-height:1.2;box-shadow:inset 0 0 0 1.5px var(--linea);transition:transform .35s var(--muelle),box-shadow .2s,background .2s;touch-action:none;user-select:none;-webkit-user-select:none}
.alimento svg{width:54px;height:54px}
.alimento:hover{transform:translateY(-3px) rotate(-2deg)}
.alimento[aria-pressed="true"]{background:var(--tinta);color:var(--papel);box-shadow:none}
.alimento.arrastrando{opacity:.4}
.fantasma{position:fixed;z-index:100;pointer-events:none;width:70px;height:70px;transform:translate(-50%,-50%) rotate(-8deg)}
.cuenco-zona{position:sticky;top:calc(var(--cab) + 24px);display:grid;gap:18px}
.cuenco-apa{position:relative;aspect-ratio:16/9;border-radius:var(--r);background:var(--rosa-2);display:grid;place-items:center;overflow:hidden;transition:background .4s}
.cuenco-apa.sobre{background:var(--sol)}
.cuenco-apa svg{width:78%;height:auto}
.cuenco-apa .hint{position:absolute;top:16px;left:0;right:0;text-align:center;font-weight:700;font-size:14px}
.veredicto{border-radius:var(--r);padding:24px;background:var(--blanco);box-shadow:var(--sombra);display:grid;gap:12px;transition:background .4s,color .4s}
.veredicto[data-nivel="0"]{background:var(--blanco)}
.veredicto[data-nivel="1"]{background:var(--hoja)}
.veredicto[data-nivel="2"]{background:var(--sol)}
.veredicto[data-nivel="3"]{background:var(--taronja);color:var(--tinta)}
.veredicto[data-nivel="4"]{background:#D7261E;color:var(--blanco)}
.semaforo{display:flex;gap:6px}
.semaforo i{flex:1;height:10px;border-radius:5px;background:currentColor;opacity:.16;transition:opacity .3s}
.semaforo i.on{opacity:1}
.veredicto h3{font-size:clamp(28px,3vw,40px)}
.veredicto .dosis{font-family:var(--display);font-stretch:66%;font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;opacity:.85}
.cuenco-ctrl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.senales{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.senal{background:var(--blanco);border-radius:var(--r);padding:24px;min-width:0}
.senal h4{margin:12px 0 8px;font-size:22px}
.senal p{font-size:15.5px;color:var(--tinta-2);margin:0}
.senal .simb{width:48px;height:48px}
.senal.ya{background:#D7261E;color:var(--blanco)}.senal.ya p{color:rgba(255,255,255,.88)}
.senal.hoy{background:var(--sol)}
.senal.pide{background:var(--hoja)}

/* ---------- Clínica: plano ---------- */
.plano{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,60px);align-items:start}
.plano>*{min-width:0}
.plano-svg{background:var(--blanco);border-radius:var(--r);padding:clamp(10px,2vw,24px);box-shadow:var(--sombra)}
.plano-svg svg{width:100%;height:auto}
.plano-svg .sala{cursor:pointer;transition:fill .3s}
.plano-svg .sala:focus{outline:none}
.plano-svg .sala:focus-visible rect,.plano-svg .sala.activa rect{stroke:var(--mar);stroke-width:4}
.plano-svg .ruta{fill:none;stroke:var(--taronja);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 9}
.recorridos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.plano-info{position:sticky;top:calc(var(--cab) + 24px)}
.plano-info .tag{min-height:280px}
.horas{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0}
.horas li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--linea);font-size:15.5px;opacity:.35;transition:opacity .3s}
.horas li.on{opacity:1}
.horas li time{font-family:var(--display);font-stretch:66%;font-weight:800;font-size:17px}

/* ---------- Equipo: chapas ---------- */
.equipo-filtro{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;align-items:center}
.equipo-filtro .lab{font-weight:700;margin-right:6px}
.chapas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.chapa{position:relative;text-align:left;transition:opacity .4s,transform .5s var(--muelle),filter .4s;min-width:0}
.chapa.apagada{opacity:.28;filter:grayscale(1);transform:scale(.96)}
.chapa .medio{border-radius:999px 999px var(--r) var(--r);aspect-ratio:3/4}
.chapa .aro{position:absolute;top:-12px;left:50%;width:30px;height:30px;transform:translateX(-50%);border:5px solid var(--tinta);border-radius:50%;z-index:3;background:var(--papel)}
.chapa h4{margin:16px 0 2px;font-size:24px}
.chapa .rol{font-size:14.5px;color:var(--tinta-2);font-weight:600}
.chapa .esp{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.chapa .esp span{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--blanco);box-shadow:inset 0 0 0 1.5px var(--linea)}
.chapa p{font-size:15px;color:var(--tinta-2);margin:10px 0 0}
.chapa .rareza{font-style:italic}

/* ---------- Historia ---------- */
.hitos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px dashed var(--linea-f)}
.hito{padding:26px 22px 10px 0;min-width:0}
.hito b{font-family:var(--display);font-weight:800;font-stretch:64%;font-size:56px;line-height:1;color:var(--taronja);display:block;margin-bottom:10px}
.hito p{font-size:15.5px}

/* ---------- Cita ---------- */
.cita{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,4vw,60px);align-items:start}
.cita>*{min-width:0}
.progreso{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:34px}
.progreso li{list-style:none;min-width:0}
.progreso button{all:unset;cursor:pointer;display:block;width:100%}
.progreso button[disabled]{cursor:default}
.progreso .barra{height:8px;border-radius:4px;background:var(--linea);position:relative;overflow:hidden}
.progreso .barra::after{content:"";position:absolute;inset:0;background:var(--taronja);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.progreso li.hecho .barra::after,.progreso li.actual .barra::after{transform:scaleX(1)}
.progreso li.actual .barra::after{background:var(--tinta)}
.progreso span{display:block;font-size:13px;font-weight:700;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.5}
.progreso li.actual span,.progreso li.hecho span{opacity:1}
.paso{display:none}
.paso.actual{display:block;animation:entra .5s var(--ease)}
@keyframes entra{from{opacity:0;transform:translateX(20px)}}
.paso h2{font-size:clamp(36px,4.4vw,64px);margin-bottom:12px}
.paso>.lead{margin-bottom:30px}
.opciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.opcion{border:0;background:var(--blanco);border-radius:var(--r);padding:16px;text-align:left;display:grid;gap:8px;box-shadow:inset 0 0 0 1.5px var(--linea);transition:transform .35s var(--muelle),background .2s,box-shadow .2s;min-width:0}
.opcion:hover{transform:translateY(-3px)}
.opcion[aria-checked="true"]{background:var(--tinta);color:var(--papel);box-shadow:none}
.opcion .ilu-o{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--papel-2)}
.opcion b{font-family:var(--display);font-stretch:70%;font-size:20px;line-height:1.1}
.opcion span{font-size:13.5px;opacity:.75;line-height:1.35}
.opcion.ancha{grid-column:span 2}
.opciones.lista{grid-template-columns:repeat(2,minmax(0,1fr))}
.opciones.lista .opcion{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.opciones.lista .opcion .precio-o{font-family:var(--display);font-stretch:67%;font-weight:800;font-size:18px;white-space:nowrap}
.dos-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.paso-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:36px;padding-top:24px;border-top:1.5px dashed var(--linea-f)}
.paso-nav .atras{background:none;border:0;font-weight:700;padding:10px 0;display:flex;gap:8px;align-items:center}
.paso-nav .atras[hidden]{display:none}
.aviso-paso{font-size:14px;color:var(--taronja-t);font-weight:700;min-height:20px}

.calendario{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.cal-dias{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;align-content:start}
.dia{border:0;background:var(--blanco);border-radius:var(--r-s);padding:10px 6px;text-align:center;box-shadow:inset 0 0 0 1.5px var(--linea);transition:background .2s,transform .3s var(--muelle);min-width:0}
.dia:hover:not([disabled]){transform:translateY(-2px)}
.dia small{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.dia b{display:block;font-family:var(--display);font-stretch:67%;font-size:26px;line-height:1.1}
.dia i{display:block;font-style:normal;font-size:11px;font-weight:600;opacity:.7}
.dia[aria-checked="true"]{background:var(--tinta);color:var(--papel);box-shadow:none}
.dia[disabled]{opacity:.35;cursor:not-allowed;background:transparent}
.dia.gatuno{box-shadow:inset 0 0 0 2px var(--rosa)}
.franjas{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;align-content:start}
.franja{border:0;background:var(--blanco);border-radius:999px;padding:10px 4px;font-family:var(--display);font-stretch:70%;font-weight:700;font-size:17px;box-shadow:inset 0 0 0 1.5px var(--linea);transition:background .2s}
.franja[disabled]{text-decoration:line-through;opacity:.35;cursor:not-allowed;background:transparent}
.franja[aria-checked="true"]{background:var(--tinta);color:var(--papel);box-shadow:none}
.franja.tranquila:not([disabled]){box-shadow:inset 0 0 0 2px var(--rosa);background:var(--rosa-2)}
.franja.tranquila[aria-checked="true"]{background:var(--taronja)}
.leyenda{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;font-weight:600;margin-top:14px}
.leyenda span{display:flex;align-items:center;gap:6px}
.leyenda i{width:14px;height:14px;border-radius:50%;display:inline-block}

.resumen{position:sticky;top:calc(var(--cab) + 24px)}
.resumen .tag{padding:42px 26px 26px}
.resumen dl{margin:16px 0 0;display:grid;gap:0}
.resumen dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1.5px dashed var(--linea)}
.resumen dt{font-family:var(--display);font-stretch:64%;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;opacity:.6;padding-top:3px}
.resumen dd{margin:0;font-weight:600;font-size:15.5px;min-width:0;overflow-wrap:anywhere}
.resumen dd.vacio{opacity:.35;font-weight:500}
.resumen dd.nuevo{animation:cose .6s var(--ease)}
@keyframes cose{from{background:var(--sol)}}
.resumen .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;font-weight:700}
.resumen .total b{font-family:var(--display);font-stretch:66%;font-size:34px}
.resumen-contacto{margin-top:22px;font-size:15px;display:grid;gap:6px;padding:0 6px}
.resumen-contacto a{font-weight:700}

.confirmacion{text-align:center;max-width:640px;margin:0 auto;padding:30px 0}
.confirmacion .ticket{display:inline-block;background:var(--blanco);padding:36px 40px 30px;border-radius:8px 8px 22px 22px;box-shadow:var(--sombra);position:relative;margin:26px 0;animation:cuelga 1.1s var(--muelle)}
@keyframes cuelga{from{transform:translateY(-60px) rotate(-10deg);opacity:0}}
.confirmacion .codigo{font-family:var(--display);font-weight:800;font-stretch:61%;font-size:clamp(46px,8vw,80px);line-height:1;letter-spacing:.02em;color:var(--taronja)}
.confirmacion .nota-maqueta{font-size:13px;opacity:.55;margin-top:20px}
.confirmacion p{margin-left:auto;margin-right:auto}

.contacto-bloques{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cbloque{background:var(--blanco);border-radius:var(--r);padding:26px;min-width:0}
.cbloque h4{margin:10px 0 10px;font-size:24px}
.cbloque p{font-size:15.5px;margin:0 0 6px}

/* ---------- Legal ---------- */
.legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:start;padding-bottom:120px}
.legal-indice{position:sticky;top:calc(var(--cab) + 30px);display:grid;gap:4px}
.legal-indice .etq{margin-bottom:10px;opacity:.6}
.legal-indice a{text-decoration:none;font-weight:600;font-size:15px;padding:7px 12px;border-radius:10px;border-left:3px solid transparent}
.legal-indice a:hover{background:var(--blanco)}
.legal-indice a.activo{border-left-color:var(--taronja);background:var(--blanco)}
.legal-docs{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1.5px dashed var(--linea-f)}
.legal-docs a{font-size:13.5px;padding:6px 10px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--linea);border:0}
.legal-docs a[aria-current="page"]{background:var(--tinta);color:var(--papel)}
.legal-txt{max-width:760px}
.legal-txt h2{font-size:clamp(30px,3.4vw,46px);margin:60px 0 18px;padding-top:20px}
.legal-txt h2:first-child{margin-top:0}
.legal-txt h3{font-size:22px;margin:28px 0 10px}
.legal-txt p,.legal-txt li{font-size:16.5px;line-height:1.7}
.legal-txt ul{padding-left:20px}
.legal-txt table{width:100%;border-collapse:collapse;margin:18px 0 26px;font-size:15px;background:var(--blanco);border-radius:var(--r-s);overflow:hidden;display:block;overflow-x:auto}
.legal-txt th,.legal-txt td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
.legal-txt th{font-family:var(--display);font-stretch:70%;font-size:15px;background:var(--tinta);color:var(--papel)}
.ficha-empresa{background:var(--blanco);border-radius:var(--r);padding:24px 26px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 16px;font-size:15.5px;margin-bottom:20px}
.ficha-empresa dt{font-weight:700}
.ficha-empresa dd{margin:0;min-width:0;overflow-wrap:anywhere}

/* ---------- Diversos ---------- */
.sil *{fill:var(--blanco)!important;stroke:var(--blanco)!important;stroke-width:16px!important;stroke-linejoin:round!important}
.sil-s *{fill:var(--tinta)!important;stroke:var(--tinta)!important;stroke-width:16px!important;stroke-linejoin:round!important}
.sil-s{opacity:.16}
.saltar{position:absolute;left:-9999px;top:10px;z-index:100;background:var(--tinta);color:var(--papel);padding:10px 16px;border-radius:999px}
.saltar:focus{left:10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cursor-bigote{position:fixed;left:0;top:0;width:60px;height:30px;pointer-events:none;z-index:200;opacity:0;transition:opacity .3s;margin:-15px 0 0 -30px}
.cursor-bigote.on{opacity:1}
.separa{height:2px;background:repeating-linear-gradient(90deg,var(--linea-f) 0 8px,transparent 8px 14px);border:0;margin:0}

/* ---------- Impresión de la etiqueta ---------- */
@media print{
  body *{visibility:hidden}
  .a-imprimir,.a-imprimir *{visibility:visible}
  .a-imprimir{position:absolute;left:0;top:0;width:110mm;box-shadow:none;transform:none!important}
  body:not(.imprimiendo) #etiqueta-imprimible,body:not(.imprimiendo) #etiqueta-imprimible *{visibility:visible}
  body:not(.imprimiendo) #etiqueta-imprimible{position:absolute;left:0;top:0;width:110mm;box-shadow:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav,.cab-tel{display:none}
  .menu-btn{display:block}
  .percha>a,.percha>a:nth-child(n){grid-column:span 6}
  .percha>a:nth-child(1){grid-column:span 12}
  .tablon{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chapas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pie-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  :root{--cab:68px}
  body{font-size:16.5px}
  .hero .wrap,.gen,.barrio,.llamada,.pcab .wrap,.ficha,.bascula,.cuenco,.plano,.cita,.sec-head,.calendario{grid-template-columns:minmax(0,1fr)}
  .hero{min-height:auto}
  .hero-escena{height:auto;min-height:0;aspect-ratio:4/4.4}
  .hero-escena .medio{inset:0 0 0 0}
  .hero-colgante{left:auto;right:4%;bottom:-6%;width:min(250px,60%)}
  .gen-tag,.ficha-medio,.cuenco-zona,.plano-info,.resumen{position:static}
  .ficha:nth-of-type(even) .ficha-medio{order:0}
  .ficha-medio .medio{aspect-ratio:4/3}
  .pcab-tag{justify-self:start;transform:rotate(-2deg)}
  .planes,.senales,.contacto-bloques{grid-template-columns:minmax(0,1fr)}
  .hitos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal{grid-template-columns:minmax(0,1fr)}
  .legal-indice{position:static}
  .chapas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resumen{order:-1}
  .indice-serv{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gut) * -1);padding:10px var(--gut);background:var(--papel)}
  .indice-serv::-webkit-scrollbar{display:none}
  .indice-serv a{white-space:nowrap}
  .pie-final{grid-template-columns:minmax(0,1fr);text-align:left;gap:8px}
  .pie-final .cen,.pie-final .der{text-align:left;padding:0}
}
@media (max-width:560px){
  .percha>a,.percha>a:nth-child(n){grid-column:span 12;min-height:300px}
  .tablon{grid-template-columns:minmax(0,1fr)}
  .nota:nth-child(n){transform:rotate(-1deg)}
  .despensa{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ficha-datos{grid-template-columns:minmax(0,1fr)}
  .ficha-datos div{border-right:0;border-bottom:1.5px solid var(--tinta)}
  .ficha-datos div:last-child{border-bottom:0}
  .opciones{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opciones.lista{grid-template-columns:minmax(0,1fr)}
  .opcion.ancha{grid-column:span 2}
  .dos-col,.cuenco-ctrl{grid-template-columns:minmax(0,1fr)}
  .progreso span{font-size:11px}
  .pie-rejilla{grid-template-columns:minmax(0,1fr)}
  .ficha-empresa{grid-template-columns:minmax(0,1fr)}
  .hero-datos{gap:18px}
  .chapas{gap:24px 14px}
  .chapa h4{font-size:20px}
  .gen-fila{grid-template-columns:40px minmax(0,1fr);}
  .gen-fila .simb{width:40px;height:40px}
  .gen-fila time{grid-column:2;text-align:left}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv,.rv-cose>*{opacity:1;transform:none}
  .titulo-linea>span{transform:none}
  .cinta-pista{animation:none}
}
@media (max-width:860px){.espacios>*{grid-column:span 12!important;aspect-ratio:4/3!important}}

/* ===== Ronda 1 del árbitro ===== */
section[id],article[id]{scroll-margin-top:calc(var(--cab) + 70px)}
.etq .simb{width:22px;height:22px;margin:-4px 8px 0 0}
/* Tendedero de servicios */
.tendedero{position:relative;padding-top:30px}
.tendedero .cuerda{position:absolute;left:0;right:0;top:0;width:100%;height:60px;pointer-events:none}
.pinzas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:start}
.colg-s{--c:var(--blanco);display:block;text-decoration:none;transform-origin:50% -26px;position:relative;margin-top:26px;transition:box-shadow .3s}
.colg-s::selection{background:none}
.colg-s .pinza{position:absolute;left:50%;top:-34px;width:14px;height:34px;margin-left:-7px;background:var(--taronja);border:2px solid var(--tinta);border-radius:4px;z-index:2}
.colg-s:nth-child(2){--c:var(--sol);margin-top:44px}.colg-s:nth-child(3){--c:var(--rosa);margin-top:56px}.colg-s:nth-child(4){--c:var(--hoja);margin-top:52px}.colg-s:nth-child(5){--c:var(--mar-2);margin-top:40px}.colg-s:nth-child(6){--c:var(--tinta);--f:var(--papel);margin-top:22px}
.colg-s .tag-tit{font-size:21px;margin:12px 0 8px}
.colg-s p{font-size:14.5px;line-height:1.4;margin:0 0 14px;opacity:.85}
.colg-s .mas{font-family:var(--display);font-weight:700;font-stretch:72%;font-size:15px}
.colg-s:hover{box-shadow:0 30px 50px -24px rgba(30,26,63,.5)}
/* Fichas variadas */
.ficha.ficha-ancha{grid-template-columns:minmax(0,1fr)}
.ficha-ancha .ficha-medio{position:static}
.ficha-ancha .ficha-medio .medio{aspect-ratio:16/9}
.ficha-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
.ficha-cuerpo>*{min-width:0}
.ficha-ancha .ficha-datos{margin-top:0}
.temporada{margin:0 0 28px}
.temporada .meses{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}
.temporada .mes{font-family:var(--display);font-stretch:64%;font-weight:700;font-size:12px;text-align:center;text-transform:uppercase}
.temporada .barra-t{height:14px;border-radius:3px;background:var(--linea)}
.temporada .barra-t.on{background:var(--taronja)}
.temporada .barra-t.f{background:var(--mar)}
.temporada .barra-t.x{background:var(--sol);box-shadow:inset 0 0 0 2px var(--tinta)}
.temporada .ley{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;font-weight:600;margin-top:10px}
.temporada .ley i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.hoja-q{list-style:none;margin:0 0 28px;padding:0;border:1.5px solid var(--tinta);border-radius:var(--r-s);overflow:hidden;background:var(--blanco)}
.hoja-q li{display:grid;grid-template-columns:72px minmax(0,1fr);border-bottom:1px dashed var(--linea-f)}
.hoja-q li:last-child{border:0}
.hoja-q time{font-family:var(--display);font-stretch:66%;font-weight:800;font-size:18px;padding:10px 12px;background:var(--papel-2);border-right:1.5px solid var(--tinta)}
.hoja-q span{padding:10px 14px;font-size:15px}
.hoja-q .cab-h{display:block;padding:8px 14px;background:var(--tinta);color:var(--papel);font-family:var(--display);font-stretch:64%;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12.5px}
.tabla-edad{width:100%;border-collapse:collapse;margin:0 0 28px;background:var(--blanco);border-radius:var(--r-s);overflow:hidden;font-size:15px}
.tabla-edad th,.tabla-edad td{padding:9px 12px;text-align:left;border-bottom:1px dashed var(--linea-f)}
.tabla-edad th{font-family:var(--display);font-stretch:70%;background:var(--tinta);color:var(--papel);font-size:14px}
.tabla-edad td b{font-family:var(--display);font-stretch:67%;font-size:18px}
.leyenda-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 28px}
.leyenda-l div{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;background:var(--blanco);border-radius:var(--r-s);padding:10px 12px;font-size:14.5px;line-height:1.3}
.leyenda-l .simb{width:44px;height:44px}
.sarro{margin:0 0 28px;background:var(--blanco);border-radius:var(--r-s);padding:16px}
.sarro .grados{display:flex;gap:6px;margin:10px 0 12px}
.sarro .grados button{flex:1;border:0;border-radius:10px;padding:10px 0;font-family:var(--display);font-weight:800;font-size:18px;background:var(--papel-2)}
.sarro .grados button[aria-pressed="true"]{background:var(--tinta);color:var(--papel)}
.sarro svg{width:100%;height:auto;max-height:120px}
.sarro p{margin:0;font-size:15px}
/* Planes: calendario */
.plan-sel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,60px);align-items:start}
.plan-sel>*{min-width:0}
.plan-tabs{display:grid;gap:10px}
.plan-tab{border:0;text-align:left;background:var(--blanco);border-radius:var(--r);padding:18px 20px;box-shadow:inset 0 0 0 1.5px var(--linea);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;transition:background .2s}
.plan-tab b{font-family:var(--display);font-stretch:67%;font-size:24px}
.plan-tab .pr{font-family:var(--display);font-stretch:64%;font-weight:800;font-size:30px}
.plan-tab small{grid-column:1/-1;font-size:14px;opacity:.75}
.plan-tab[aria-pressed="true"]{background:var(--tinta);color:var(--papel);box-shadow:none}
.cal12{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cal12 .m{background:var(--blanco);border-radius:var(--r-s);padding:10px;min-height:118px;min-width:0;box-shadow:inset 0 0 0 1.5px var(--linea)}
.cal12 .m h5{margin:0 0 8px;font-family:var(--display);font-stretch:64%;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.cal12 .pg{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1.2;margin-bottom:5px;animation:pega .5s var(--muelle) both}
.cal12 .pg .simb{width:22px;height:22px;flex-shrink:0}
@keyframes pega{from{opacity:0;transform:scale(.6) rotate(-8deg)}}
.plan-total{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;font-weight:600}
/* Huecos próximos (portada) */
.huecos{display:grid;gap:8px}
.hueco{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-decoration:none;background:var(--papel);border-radius:12px;padding:10px 14px;transition:transform .3s var(--muelle)}
.hueco:hover{transform:translateX(4px)}
.hueco b{font-family:var(--display);font-stretch:66%;font-size:22px}
.hueco span{font-size:14px}
.hueco i{font-style:normal;font-weight:700;color:var(--taronja-t)}
@media (max-width:1100px){.pinzas{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:40px}}
@media (max-width:860px){
 .hero-escena{aspect-ratio:auto;height:auto}
 .hero-escena .medio{position:relative;inset:auto;aspect-ratio:1/1.02}
 .hero-colgante{position:relative;left:auto;right:auto;bottom:auto;margin:-46px 0 0 auto;width:min(290px,78%)}
 .hero-datos{flex-wrap:nowrap;gap:14px}
 .hero-datos b{font-size:28px}.hero-datos span{font-size:12.5px}
 .resumen{order:0}
 .ficha-cuerpo,.plan-sel{grid-template-columns:minmax(0,1fr)}
 .ficha-ancha .ficha-medio .medio{aspect-ratio:4/3}
 .tendedero .cuerda{display:none}
 .pinzas{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--gut)*-1);padding:40px var(--gut) 30px;scrollbar-width:none;background:linear-gradient(var(--tinta),var(--tinta)) 0 26px/100% 2px no-repeat}
 .colg-s,.colg-s:nth-child(n){flex:0 0 74%;scroll-snap-align:center;margin-top:14px}
 .cal12{grid-template-columns:repeat(2,minmax(0,1fr))}
 .leyenda-l{grid-template-columns:minmax(0,1fr)}
}

/* ===== Ronda 2 ===== */
.p-urgencias .cab:not(.solida) .btn{--bg:var(--tinta);--fg:var(--papel)}
.termo{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;background:var(--blanco);border-radius:var(--r-s);padding:16px;margin:0 0 28px}
.termo-tubo{position:relative;width:26px;height:150px;margin:0 auto;border:3px solid var(--tinta);border-radius:14px;overflow:hidden;background:var(--papel)}
.termo-tubo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 14px,rgba(30,26,63,.25) 14px 15px)}
.termo-fill{position:absolute;left:0;right:0;bottom:0;height:60%;transition:height .4s var(--muelle),background .3s}
.termo-esc{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;opacity:.7}
.termo-out{margin:10px 0 0;font-size:15px}
.cuenco-barra{position:fixed;left:12px;right:84px;bottom:12px;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;text-align:left;border:0;border-radius:18px;padding:12px 16px;background:var(--blanco);box-shadow:0 10px 30px rgba(30,26,63,.3);color:var(--tinta)}
.cuenco-barra span{font-size:12.5px;font-weight:600;grid-column:1}
.cuenco-barra b{font-family:var(--display);font-stretch:67%;font-size:22px;grid-column:1;grid-row:2}
.cuenco-barra i{font-style:normal;font-weight:700;font-size:14px;grid-row:1/3;grid-column:2}
.cuenco-barra[data-nivel="1"]{background:var(--hoja)}.cuenco-barra[data-nivel="2"]{background:var(--sol)}.cuenco-barra[data-nivel="3"]{background:var(--taronja);color:var(--tinta)}.cuenco-barra[data-nivel="4"]{background:#D7261E;color:#fff}
@media (max-width:560px){.gen-fila{grid-template-columns:40px minmax(0,1fr) auto}.gen-fila time{grid-column:auto;text-align:right;font-size:13.5px}.gen-fila time small{display:none}}

/* ===== Logo «El hilo que cose» ===== */
.p-urgencias .cab:not(.solida) .marca{color:var(--tinta);--m-a:var(--blanco)}
.pie .marca .logo{height:44px}
@media (max-width:640px){.marca .logo{height:30px}}

/* ==========================================================
   Versión 2.0
   ========================================================== */
.r-43{aspect-ratio:4/3}
input[type=range]{min-height:24px}
.progreso button:focus-visible{outline:3px solid var(--mar);outline-offset:4px;border-radius:8px}
html:has(.cuenco-barra:not([hidden])){scroll-padding-bottom:120px}

/* Instrucción numerada en cada sección */
main{counter-reset:inst}
.sec-head .etq{counter-increment:inst;display:inline-flex;align-items:center;gap:10px}
.sec-head .etq::before{content:counter(inst,decimal-leading-zero);display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border:1.5px dashed currentColor;border-radius:999px;font-size:12px;letter-spacing:.04em}
.sec-head .etq .simb{width:26px;height:26px;margin:0}

/* Hero: etiqueta-ventana */
.hero h1{font-size:clamp(52px,7.3vw,122px);font-stretch:64%;letter-spacing:0;margin:18px 0 22px}
.hero .lead{max-width:48ch}
.hero-acc{margin-top:26px}
.trae{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:34px;max-width:680px}
.trae>.etq{grid-column:1/-1;font-size:12px;color:var(--tinta-2)}
.trae a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--blanco);box-shadow:inset 0 0 0 1.5px var(--linea);text-decoration:none;transition:transform .3s var(--muelle),box-shadow .2s}
.trae a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--tinta)}
.trae a .simb{grid-row:1/3;width:34px;height:34px}
.trae a b{font-family:var(--display);font-stretch:67%;font-weight:800;font-size:19px;line-height:1.05}
.trae a small{font-size:12.5px;color:var(--tinta-2);line-height:1.3}
.trae a.trae-urg{background:var(--taronja);box-shadow:none}
.trae a.trae-urg small{color:var(--tinta)}
.hero-ventana{position:relative;height:min(80svh,760px);min-height:500px}
.ventana-forma{position:absolute;inset:0 0 0 12%;clip-path:polygon(16% 0,84% 0,100% 8%,100% 100%,0 100%,0 8%);border-radius:0 0 var(--r) var(--r);overflow:hidden}
.ventana-forma .medio{position:absolute;inset:0;border-radius:0}
.ventana-forma::after{content:"";position:absolute;inset:16px;border:2px dashed rgba(255,253,248,.85);border-radius:0 0 12px 12px;pointer-events:none;z-index:4;clip-path:polygon(16% 0,84% 0,100% 7%,100% 100%,0 100%,0 7%)}
.ventana-ojal{position:absolute;top:22px;left:calc(12% + 44% - 17px);width:34px;height:34px;border-radius:50%;background:var(--papel);box-shadow:inset 0 0 0 3px var(--tinta),0 0 0 6px rgba(255,244,228,.5);z-index:5}
.ventana-etq.hero-colgante{position:absolute;left:0;right:auto;bottom:6%;width:min(330px,64%);padding:22px 22px 20px;cursor:pointer;touch-action:auto;transform:rotate(-3deg);transform-origin:50% 0;z-index:6}
.ventana-etq .tag-tit{font-size:24px}
.ventana-etq .tag-comp{margin:8px 0 14px;font-size:14px}
.ventana-fab{display:block;margin:-22px -22px 16px;padding:9px 16px;background:var(--tinta);color:var(--papel);font-family:var(--display);font-stretch:64%;font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;border-radius:6px 6px 0 0}
.ventana-etq .pista{position:absolute;right:-10px;left:auto;top:auto;bottom:-14px;transform:rotate(-4deg)}
.ventana-etq.salta{animation:salta .5s var(--muelle)}
@keyframes salta{0%{transform:rotate(-3deg) scale(.96)}60%{transform:rotate(-1deg) scale(1.02)}100%{transform:rotate(-3deg) scale(1)}}
@media (prefers-reduced-motion:no-preference) and (min-width:861px){
 .ventana-etq.hero-colgante{animation:vaiven 6s ease-in-out infinite}
 @keyframes vaiven{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(-1.2deg)}}
}

/* Barra fija en móvil (deja libre la esquina inferior derecha) */
.barra-movil{display:none}
@media (max-width:860px){
 .barra-movil{position:fixed;left:12px;right:84px;bottom:12px;z-index:39;display:flex;gap:8px;transition:transform .35s var(--ease)}
 .barra-movil a{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:54px;padding:8px 16px;border-radius:16px;text-decoration:none;box-shadow:0 10px 30px -12px rgba(30,26,63,.45)}
 .barra-movil .bm-1{background:var(--tinta);color:var(--papel)}
 .barra-movil .bm-1 b{font-family:var(--display);font-stretch:67%;font-size:17px;line-height:1}
 .barra-movil .bm-1 span{font-size:12.5px;opacity:.85}
 .barra-movil .bm-2{background:var(--taronja);color:var(--tinta);font-family:var(--display);font-stretch:67%;font-weight:800;font-size:18px;align-items:center}
 .menu-abierto .barra-movil{transform:translateY(140%)}
 body{padding-bottom:78px}
 .cuenco-barra{bottom:76px}
 .p-urgencias .barra-movil .bm-1{background:#D7261E}
}

/* Hilo que cose las secciones */
.hilo-guia{position:fixed;left:max(10px,calc(var(--gut) / 2 - 2px));top:calc(var(--cab) + 20px);bottom:24px;width:4px;z-index:30;pointer-events:none;display:none}
@media (min-width:1200px) and (prefers-reduced-motion:no-preference){.hilo-guia{display:block}}
.hilo-guia-tira{position:absolute;left:0;top:0;width:3px;height:100%;background:repeating-linear-gradient(var(--taronja) 0 12px,transparent 12px 20px);transform-origin:top;transform:scaleY(var(--p,0))}
.hilo-guia-aguja{position:absolute;left:-3px;top:calc(var(--p,0) * 100%);width:9px;height:30px;margin-top:-4px;background:var(--tinta);clip-path:polygon(50% 100%,0 22%,0 0,100% 0,100% 22%);-webkit-mask:radial-gradient(circle at 50% 6px,transparent 2px,#000 2.5px);mask:radial-gradient(circle at 50% 6px,transparent 2px,#000 2.5px)}
.menu-abierto .hilo-guia{opacity:0}

/* Servicios: índice, tallas, fichas plegadas */
.indice-pista{position:sticky;top:var(--cab);z-index:12;background:rgba(255,244,228,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.indice-pista .indice-serv{position:static;padding:12px 0}
.cab.oculta~main .indice-pista{top:0}
.fichas{padding-top:clamp(70px,9vw,130px)}
.fichas-cab{margin-bottom:10px}
.tallas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.tallas>*{min-width:0}
.tallas-apa{display:grid;justify-items:center;gap:26px}
.tallas-etq{position:relative;width:min(100%,360px);aspect-ratio:3/4;background:var(--blanco);color:var(--tinta);border-radius:10px 10px 26px 26px;padding:58px 30px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);clip-path:polygon(14% 0,86% 0,100% 7%,100% 100%,0 100%,0 7%)}
.tallas-etq::after{content:"";position:absolute;inset:14px;border:2px dashed var(--linea-f);border-radius:4px 4px 16px 16px;pointer-events:none;clip-path:polygon(14% 0,86% 0,100% 6%,100% 100%,0 100%,0 6%)}
.tallas-ojal{position:absolute;top:20px;left:50%;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--mar);box-shadow:inset 0 0 0 3px var(--tinta)}
.tallas-esp{margin-top:8px;color:var(--tinta-2)}
.tallas-letra{font-family:var(--display);font-weight:900;font-stretch:62%;font-size:clamp(120px,15vw,190px);line-height:.9;letter-spacing:-.02em;margin:10px 0 4px;color:var(--mar)}
.tallas-rango{font-family:var(--display);font-stretch:67%;font-weight:800;font-size:24px}
.tallas-ej{font-size:14px;color:var(--tinta-2);margin-top:6px;min-height:21px}
.tallas-etq .simbolos{margin-top:auto;justify-content:center}
.tallas-etq.salta{animation:saltaT .45s var(--muelle)}
@keyframes saltaT{0%{transform:scale(.97)}60%{transform:scale(1.015)}100%{transform:none}}
.tallas-perchas{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.percha-t{all:unset;cursor:pointer;display:grid;justify-items:center;min-width:58px;padding:10px 10px 8px;border-radius:8px 8px 14px 14px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);color:var(--blanco);text-align:center;transition:transform .25s var(--muelle),background .2s}
.percha-t b{font-family:var(--display);font-weight:900;font-stretch:57%;font-size:26px;line-height:1}
.percha-t small{font-size:11px;opacity:.85;white-space:nowrap}
.percha-t:hover{transform:translateY(-3px)}
.percha-t[aria-checked="true"]{background:var(--blanco);color:var(--mar);box-shadow:none}
.percha-t:focus-visible{outline:3px solid var(--sol);outline-offset:3px}
.tallas-peso{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:6px 0 4px}
.tallas-peso label{font-weight:700}
.tallas-peso>div{display:flex;align-items:center;gap:8px}
.tallas-peso input{width:110px;padding:10px 12px;border-radius:12px;border:0;background:var(--blanco);color:var(--tinta);font-weight:700;font-size:17px}
.tallas-o{font-size:14px;opacity:.85}
.bascula-esp .chip small{opacity:.7;margin-left:4px}
details.plegable{margin:14px 0;scroll-margin-top:calc(var(--cab) + 80px)}
details.plegable>summary{list-style:none;cursor:pointer}
details.plegable>summary::-webkit-details-marker{display:none}
.plegable-tag{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto 44px;gap:18px;align-items:center;padding:22px 24px!important;transition:transform .3s var(--muelle),box-shadow .3s}
.plegable-tag:hover{transform:translateY(-2px)}
.plegable-num{font-family:var(--display);font-weight:800;font-stretch:64%;font-size:15px;display:inline-grid;place-items:center;width:38px;height:38px;border:1.5px dashed currentColor;border-radius:50%}
.plegable-simb{display:flex;gap:6px}.plegable-simb .simb{width:34px;height:34px}
.plegable-txt{display:grid;gap:2px;min-width:0}
.plegable-txt .tag-tit{font-size:24px}
.plegable-txt span{color:var(--tinta-2);font-size:15.5px}
.plegable-dato{display:grid;text-align:right;line-height:1.1}
.plegable-dato small{font-size:12px;color:var(--tinta-2);font-weight:600}
.plegable-dato b{font-family:var(--display);font-stretch:67%;font-size:22px}
.plegable-abrir{width:44px;height:44px;border-radius:50%;background:var(--tinta);position:relative}
.plegable-abrir::before,.plegable-abrir::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2.5px;margin:-1.25px 0 0 -8px;background:var(--papel);transition:transform .3s var(--ease)}
.plegable-abrir::after{transform:rotate(90deg)}
details[open] .plegable-abrir::after{transform:rotate(0)}
details[open]>.plegable-tag{background:var(--tinta);color:var(--papel)}
details[open]>.plegable-tag .plegable-txt span,details[open]>.plegable-tag .plegable-dato small{color:rgba(255,244,228,.75)}
details[open]>.plegable-tag .plegable-abrir{background:var(--taronja)}
details.plegable>.ficha{padding-top:28px}

/* Etiqueta de alta */
.alta{display:grid;gap:14px;margin:26px 0}
.alta-sel .chips{margin-top:10px}
.alta-tag{padding:28px 24px 20px!important;max-width:520px}
.alta-tag .alta-sub{margin:6px 0 14px}
.alta-filas{list-style:none;margin:0;padding:0;display:grid}
.alta-filas li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1.5px dashed var(--linea)}
.alta-filas .simb{width:34px;height:34px}
.alta-filas time{font-family:var(--display);font-stretch:66%;font-weight:800;text-align:right;line-height:1.05}
.alta-filas time small{display:block;font-family:var(--texto);font-weight:600;font-size:12px;color:var(--tinta-2)}
.alta-pie{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:2px solid var(--tinta)}
#alta-imprimir{justify-self:start}

/* Clínica: cinta de instrucciones de visita */
.cinta-rec{--prog:0;position:relative;background:var(--blanco);border-radius:10px 10px 22px 22px;padding:30px clamp(18px,3vw,40px) 26px;box-shadow:var(--sombra);margin-top:28px}
.cinta-rec::before{content:"";position:absolute;left:clamp(18px,3vw,40px);right:clamp(18px,3vw,40px);top:118px;height:3px;background:repeating-linear-gradient(90deg,var(--taronja) 0 14px,transparent 14px 22px);transform-origin:left;transform:scaleX(var(--prog));transition:transform .45s var(--ease)}
.cinta-rec-cab{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding-bottom:16px;border-bottom:2px solid var(--tinta)}
.cinta-rec-cab .tag-tit{font-size:clamp(22px,2.4vw,30px)}
.cinta-rec-dur{margin-left:auto;font-weight:700;color:var(--tinta-2)}
.cinta-rec-pasos{list-style:none;margin:0;padding:22px 0 0;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:18px}
.cr-paso{position:relative;opacity:.18;transform:translateY(10px);transition:opacity .4s,transform .5s var(--muelle);min-width:0}
.cr-paso.on{opacity:1;transform:none}
.cr-pict{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:14px;background:var(--hoja);box-shadow:inset 0 0 0 2px var(--tinta);margin-bottom:14px}
.cr-pict .simb{width:38px;height:38px}
.cr-pict i{position:absolute;top:-9px;right:-9px;width:24px;height:24px;border-radius:50%;background:var(--taronja);color:var(--tinta);font-style:normal;font-family:var(--display);font-weight:800;font-size:13px;display:grid;place-items:center}
.cr-paso time{display:block;font-family:var(--display);font-stretch:64%;font-weight:800;font-size:28px;line-height:1}
.cr-paso b{display:block;margin:6px 0 4px;font-size:16px}
.cr-paso p{font-size:14.5px;color:var(--tinta-2);margin:0}
.cinta-rec-pie{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:16px;border-top:1.5px dashed var(--linea-f)}
.equipo-teaser{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,80px);align-items:center}
.equipo-teaser>*{min-width:0}
.equipo-mini{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.equipo-mini span{width:clamp(70px,8vw,110px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px var(--papel),0 0 0 5px var(--tinta)}
.equipo-mini span:nth-child(even){transform:translateY(24px)}
.espacios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}

/* Equipo: chapas variadas y ficha */
.chapa-1 .medio{border-radius:var(--r);aspect-ratio:1/1;margin-top:34px}
.chapa-2 .medio{border-radius:8px 8px var(--r) var(--r);clip-path:polygon(14% 0,86% 0,100% 8%,100% 100%,0 100%,0 8%)}
.chapa-2 .aro{top:6px}
.chapa-ficha{border:0;background-color:transparent;cursor:pointer;padding:0 0 2px;margin-top:12px;font-size:15px}
.ficha-eq{border:0;padding:0;background:transparent;max-width:min(560px,calc(100vw - 32px));width:100%;color:var(--tinta)}
.ficha-eq::backdrop{background:rgba(30,26,63,.55);backdrop-filter:blur(3px)}
.ficha-eq-tag{padding:30px 28px 26px!important;max-height:calc(100svh - 40px);overflow:auto}
.ficha-eq-cerrar{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--tinta);color:var(--papel);font-size:24px;line-height:1}
.ficha-eq-cab{display:flex;gap:16px;align-items:center;padding-right:44px}
.ficha-eq-ret{flex:none;width:84px;height:84px;border-radius:50%;overflow:hidden;background:var(--papel-2)}
.ficha-eq-ret svg{width:100%;height:100%}
.ficha-eq-cab .tag-tit{font-size:30px;margin-top:4px}
.ficha-eq-datos{margin:20px 0 0;display:grid}
.ficha-eq-datos div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1.5px dashed var(--linea)}
.ficha-eq-datos dt{font-weight:700;font-size:14px;color:var(--tinta-2)}
.ficha-eq-datos dd{margin:0;font-size:15.5px}
.ficha-eq-preg{background:var(--papel);border-radius:12px;padding:14px 16px;margin-top:12px}
.ficha-eq-preg p{margin:6px 0 0;font-size:15.5px}
.ficha-eq-pie{margin-top:18px}

/* Portada: aviso de la etiqueta */
.gen-aviso{margin-top:22px;padding:18px;border-radius:16px;background:var(--blanco);box-shadow:inset 0 0 0 1.5px var(--linea)}
.gen-aviso label{display:grid;gap:2px;margin-bottom:10px}
.gen-aviso label span{font-size:14px;color:var(--tinta-2)}
.gen-aviso-fila{display:flex;gap:8px;flex-wrap:wrap}
.gen-aviso-fila input{flex:1;min-width:0;padding:12px 14px;border-radius:12px;border:1.5px solid var(--linea-f);background:var(--papel);font-size:16px}
.gen-aviso-fila input[aria-invalid="true"]{border-color:var(--taronja-t)}
.gen-aviso-ok{margin:10px 0 0;font-size:14.5px;font-weight:700;min-height:0}
.gen-aviso-ok.mal{color:var(--taronja-t)}
.tablon{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Urgencias: del cuenco a la acción */
.llamar-con{display:grid;gap:10px;margin-top:6px;padding:16px;border-radius:14px;background:rgba(255,253,248,.92);color:var(--tinta)}
.llamar-con p{margin:0;font-size:16px}
.llamar-con.urgente{background:var(--tinta);color:var(--papel)}
.llamar-con .btn{justify-content:center}
.ver-acc{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}

/* Cita: confirmación */
.ok-acc{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.ok-plan{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--blanco);box-shadow:inset 0 0 0 1.5px var(--linea);font-size:15px;cursor:pointer}
.ok-plan input{width:20px;height:20px;margin-top:2px;accent-color:var(--taronja)}

@media (max-width:1100px){
 .cinta-rec-pasos{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cinta-rec::before{display:none}
}
@media (max-width:860px){
 .hero{padding-top:calc(var(--cab) + 14px)}
 .hero-txt{display:contents}
 .hero .wrap{gap:0}
 .h-etq{order:1;justify-self:start}.h-tit{order:2}.h-acc{order:3}.h-ven{order:4}.h-lead{order:5}.h-trae{order:6}
 .hero h1{font-size:clamp(46px,13vw,84px);margin:14px 0 6px}
 .hero-acc{margin-top:16px}
 .hero-ventana{height:340px;min-height:0;margin:26px 0 54px}
 .ventana-forma{inset:0 0 0 14%}
 .ventana-ojal{left:calc(14% + 43% - 15px);width:30px;height:30px;top:18px}
 .ventana-etq.hero-colgante{width:min(250px,66%);bottom:-34px;padding:18px 16px 16px}
 .ventana-fab{margin:-18px -16px 12px;font-size:10px;padding:7px 12px}
 .ventana-etq .tag-tit{font-size:19px}
 .ventana-etq .tag-comp{font-size:12.5px;margin:6px 0 10px}
 .ventana-etq .simbolos .simb{width:28px;height:28px}
 .h-lead{margin-top:6px}
 .trae{grid-template-columns:minmax(0,1fr);margin-top:24px}
 .tallas{grid-template-columns:minmax(0,1fr)}
 .tallas-etq{width:min(100%,300px)}
 .plegable-tag{grid-template-columns:auto minmax(0,1fr) 40px;gap:12px;padding:18px!important}
 .plegable-simb,.plegable-dur{display:none}
 .plegable-dato{grid-column:2;text-align:left;display:flex;gap:6px;align-items:baseline}
 .plegable-abrir{grid-column:3;grid-row:1/3;width:40px;height:40px}
 .plegable-txt .tag-tit{font-size:20px}
 .plegable-txt span{font-size:14px}
 .cinta-rec-pasos{grid-template-columns:minmax(0,1fr);gap:0}
 .cr-paso{display:grid;grid-template-columns:62px minmax(0,1fr);gap:0 14px;padding:12px 0;border-bottom:1.5px dashed var(--linea)}
 .cr-pict{grid-row:1/4;margin:0}
 .cr-paso time{font-size:22px}
 .cr-paso b,.cr-paso p{grid-column:2}
 .cinta-rec-dur{margin-left:0}
 .equipo-teaser{grid-template-columns:minmax(0,1fr)}
 .espacios{grid-template-columns:minmax(0,1fr)}
 .tablon{grid-template-columns:minmax(0,1fr)}
 .ficha-eq-datos div{grid-template-columns:minmax(0,1fr);gap:2px}
}

.sec-mar .lead{color:rgba(255,253,248,.88)}
.sec-tallas{padding:clamp(70px,8vw,120px) 0}
.fichas{padding-top:clamp(60px,7vw,100px)}
@media (max-width:860px){
 .plegable-dato.plegable-dur{display:none}
 .tallas-perchas{gap:6px}
 .percha-t{min-width:54px;padding:8px 5px 6px}
 .percha-t b{font-size:22px}
 .percha-t small{font-size:10px}
}

/* Ajustes del jurado */
.plegable-tag{padding:34px 24px 20px!important}
.hilo-guia{opacity:0;transition:opacity .4s}
.hilo-guia.on{opacity:1}
.urg-cab .migas,.urg-cab .migas a{color:var(--tinta);opacity:1}
@media (max-width:860px){
 .barra-movil{padding:6px;background:rgba(255,244,228,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:22px;box-shadow:0 10px 30px -14px rgba(30,26,63,.5)}
 .barra-movil a{box-shadow:none}
 .p-urgencias .barra-movil .bm-1{background:var(--tinta)}
 body{padding-bottom:92px}
 .plegable-tag{padding:32px 18px 18px!important}
}

/* Foto de la especie elegida en la etiqueta-ventana del hero */
.foto-especie{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;z-index:2;pointer-events:none}
.foto-especie.ver{opacity:1}
/* Los títulos de las cabeceras nunca más anchos que su columna (pantallas grandes) */
.pcab .wrap>div:first-child{container-type:inline-size}
.pcab h1{font-size:min(clamp(56px,10vw,170px),21cqi)}
