/* Marco común Oposan v4: cabecera, pie, botón, cursor y telón de la web «El pulso» para las páginas heredadas (Web v1, 17-10-2026).
   Solo componentes con clase propia; no toca h1-h3, p, body ni a globales de styles.css. Generado desde oposan.css. */

:root{
  /* noche: el azul del logo llevado a fondo de monitor */
  --noche:#071330;
  --noche-2:#0D1F4A;
  --azul:#1B3F8B;          /* azul del logo web (D19) */
  --azul-claro:#9FB6E8;
  --amarillo:#F5B800;      /* amarillo del logo: solo acción */
  --monitor:#7DF2B8;       /* verde de monitor de constantes: solo la línea de pulso */
  --papel:#F4EFE6;
  --papel-2:#FBF8F2;
  --arena:#E7DCCB;
  --tinta:#13203A;
  --gris:#4F5967;
  --salvia:#3F5E4C;        /* «respuesta correcta» */
  --salvia-lavada:#DCE6DF;
  --error:#B3261E;

  --f-t:'Fraunces',Georgia,'Times New Roman',serif;
  --f-c:'Inter',system-ui,'Segoe UI',Arial,sans-serif;
  --fv:"SOFT" 50,"WONK" 0,"opsz" 144;

  --gutter:clamp(16px,4vw,56px);
  --max:1280px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-in:cubic-bezier(.7,0,.84,0);
  --r-foto:999px 999px 28px 28px; /* arco: ventana de hospital, vocación */
}



.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.saltar{position:fixed;left:16px;top:-80px;z-index:200;background:var(--amarillo);color:var(--noche);padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none;transition:top .2s}
.saltar:focus{top:16px}

.pie .envoltura{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.cabecera a,.pie a{color:inherit}
.cabecera p,.cabecera ul,.pie p,.pie ul,.pie h4{max-width:none}
.pie p{margin:0}
.cabecera .boton{color:var(--noche)}
.cabecera.solida .boton{color:var(--noche)}

/* ---------- botones ---------- */
.boton{--bg:var(--amarillo);--fg:var(--noche);position:relative;display:inline-flex;align-items:center;gap:12px;
  min-height:56px;padding:0 28px;border-radius:999px;background:var(--bg);color:var(--fg);
  font:700 17px/1 var(--f-c);text-decoration:none;border:0;cursor:pointer;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);will-change:transform;isolation:isolate;overflow:hidden}
.boton::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--papel);transform:translateY(101%);
  border-radius:inherit;transition:transform .45s var(--ease)}
.boton:hover::after{transform:none}
.boton:hover{box-shadow:0 18px 40px -12px rgba(245,184,0,.55)}
.flecha{width:22px;height:22px;flex:none}
.ficha:hover .ir .flecha{transform:translateX(4px)}
.ir .flecha{transition:transform .35s var(--ease)}
.boton .flecha{width:22px;height:22px;flex:none;transition:transform .35s var(--ease)}
.boton:hover .flecha{transform:translateX(4px)}
.boton.secundario{--bg:transparent;--fg:currentColor;box-shadow:inset 0 0 0 2px currentColor}
.boton.secundario::after{background:currentColor;opacity:.08}
.boton.azul{--bg:var(--azul);--fg:var(--papel)}
.boton.azul::after{background:var(--noche)}
.nota-boton{font-size:14px;color:var(--gris);margin-top:14px}
.oscuro .nota-boton{color:var(--azul-claro)}



/* ---------- cabecera ---------- */
.cabecera{position:fixed;inset:0 0 auto;z-index:50;padding:14px var(--gutter);display:flex;align-items:center;gap:24px;
  color:var(--papel);transition:background .4s,color .4s,transform .45s var(--ease),padding .4s}
.cabecera.solida{background:rgba(244,239,230,.86);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  color:var(--tinta);padding-block:8px;box-shadow:0 1px 0 rgba(19,32,58,.08)}
.cabecera.oculta{transform:translateY(-110%)}
.marca{display:block;width:118px;flex:none}
.marca img{width:100%;height:auto}
.marca .claro{display:block}.marca .oscuro-logo{display:none}
.cabecera.solida .marca .claro{display:none}.cabecera.solida .marca .oscuro-logo{display:block}
.menu{display:flex;gap:4px;margin-left:auto;list-style:none;padding:0;margin-block:0}
.menu a{display:block;padding:10px 14px;border-radius:999px;text-decoration:none;font-weight:500;font-size:15px;position:relative}
.menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:currentColor;transform:scaleX(0);
  transform-origin:right;transition:transform .35s var(--ease)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.cabecera .boton{min-height:44px;padding:0 20px;font-size:15px}
.abrir-menu{display:none;margin-left:auto;background:none;border:0;width:48px;height:48px;border-radius:50%;cursor:pointer}
.abrir-menu span{display:block;width:22px;height:2px;background:currentColor;margin:5px auto;transition:transform .3s}
@media (max-width:900px){
  .menu,.cabecera .boton{display:none}
  .abrir-menu{display:block}
  .cabecera.abierta{background:var(--noche);color:var(--papel)}
  .cabecera.abierta .marca .claro{display:block}.cabecera.abierta .marca .oscuro-logo{display:none}
  .cabecera.abierta .menu{display:flex;flex-direction:column;position:fixed;inset:72px 0 auto;background:var(--noche);
    padding:12px var(--gutter) 28px;margin:0}
  .cabecera.abierta .menu a{font:600 30px/1.2 var(--f-t);padding:12px 0}
  .cabecera.abierta .menu a::after{display:none}
  .cabecera.abierta .abrir-menu span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .cabecera.abierta .abrir-menu span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
}



/* ---------- pie ---------- */
.pie{background:var(--noche);color:#C9D5F0;padding:80px 0 40px;font-size:15px}
.pie .rejilla{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
@media (max-width:900px){.pie .rejilla{grid-template-columns:1fr 1fr}}
.pie img{width:150px}
.pie h4{font:600 14px var(--f-c);color:var(--papel);margin:0 0 14px}
.pie ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.pie a{text-decoration:none}.pie a:hover{text-decoration:underline;color:var(--papel)}
.pie .legal{margin-top:56px;padding-top:24px;border-top:1px solid rgba(159,182,232,.2);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;font-size:13px;color:#8FA2CC}
.pie .gigante{font:500 clamp(80px,17vw,260px)/.8 var(--f-t);font-variation-settings:var(--fv);letter-spacing:-.06em;color:var(--noche-2);margin-top:48px;user-select:none;white-space:nowrap}



/* ---------- cursor ---------- */
.cursor,.cursor-punto{position:fixed;left:0;top:0;pointer-events:none;z-index:300;border-radius:50%;mix-blend-mode:difference}
.cursor{width:40px;height:40px;margin:-20px 0 0 -20px;border:1.5px solid #fff;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s}
.cursor.grande{width:84px;height:84px;margin:-42px 0 0 -42px;background:#fff}
.cursor-punto{width:6px;height:6px;margin:-3px 0 0 -3px;background:#fff}
@media (hover:none),(pointer:coarse){.cursor,.cursor-punto{display:none}}

/* ---------- transición entre páginas ---------- */
.telon{position:fixed;inset:0;z-index:150;background:var(--noche);pointer-events:none;transform:translateY(100%);display:grid;place-items:center}
.telon svg{width:min(560px,80vw);height:120px;overflow:visible}
.telon path{fill:none;stroke:var(--monitor);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(125,242,184,.8))}
.telon.entra{transform:none;transition:transform .55s var(--ease-in)}
.telon.sale{transform:translateY(-100%);transition:transform .7s var(--ease)}
.telon.cubre{transform:none}



/* páginas heredadas: cabecera fija y sólida, hueco para no tapar el contenido */
body:has(.cabecera[data-umbral="-1"]){padding-top:90px}
@media (max-width:900px){body:has(.cabecera[data-umbral="-1"]){padding-top:84px}}
.cabecera[data-umbral="-1"].oculta{transform:none}
@media (prefers-reduced-motion:reduce){.telon,.cursor,.cursor-punto{display:none!important}}
