/* artagaveytia.com · 2026 */
:root{
  --fondo:#0B0E17; --sup:#121725; --sup-2:#0F1320; --linea:#262E44; --linea-2:#39425C; --linea-3:#5A6380;
  --texto:#ECE7DC; --suave:#C4C9D6; --tenue:#A7AEBF; --mas-tenue:#8C94A8;
  --oro:#D6B36A; --oro-claro:#EBD39C; --oro-oscuro:#8A7444; --tinta:#0B0E17;
  --f-titulo:'Cormorant Garamond',Georgia,serif; --f-rotulo:'Oswald','Arial Narrow',sans-serif; --f-texto:'Source Serif 4',Georgia,serif;
  --suave-curva:cubic-bezier(.2,.7,.2,1);
  --rueda-borde:rgba(214,179,106,.55); --rueda-borde-suave:rgba(214,179,106,.25); --rueda-texto-glifo:#EBD39C;
  --rueda-texto-grado:rgba(236,231,220,.55); --rueda-texto-signo:rgba(236,231,220,.75); --rueda-axis:#D6B36A;
  --rueda-planeta:#ECE7DC; --rueda-retrogrado:#E38B6B; --rueda-linea-glifo:rgba(214,179,106,.4);
  --rueda-armonico:#4eaa6f; --rueda-tenso:#d06868; --rueda-proluna:#b39ddb; --rueda-fondo:#0B0E17;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--texto);font-family:var(--f-texto);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--oro);transition:color .3s}
a:hover{color:var(--oro-claro)}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
.solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:8px;background:var(--oro);color:var(--tinta);padding:10px 16px;z-index:10}
.saltar:focus{left:8px}

/* Cielo de fondo */
.cielo{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.55;
  background-image:
    radial-gradient(1px 1px at 37px 51px,rgba(236,231,220,.55),transparent 60%),
    radial-gradient(1px 1px at 141px 173px,rgba(236,231,220,.35),transparent 60%),
    radial-gradient(1.5px 1.5px at 271px 89px,rgba(214,179,106,.45),transparent 60%),
    radial-gradient(1px 1px at 389px 301px,rgba(236,231,220,.4),transparent 60%);
  background-size:211px 211px,317px 317px,487px 487px,601px 601px}
.marco,.pie{position:relative;z-index:1}

/* Estructura */
.marco{max-width:1440px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-start}
.riel{flex:1 1 300px;padding:48px 36px;display:flex;flex-direction:column;gap:40px}
.contenido{flex:999 1 560px;min-width:0;padding:56px 56px 96px 32px;display:flex;flex-direction:column;gap:104px}

.marca-fila{display:flex;border:1px solid var(--texto)}
.marca{flex:1;display:flex;flex-direction:column;gap:10px;background:var(--texto);color:var(--tinta);padding:20px 22px;text-decoration:none}
.marca-controles{display:flex;flex-direction:column;flex:none}
.menu-boton{display:none}
.tema{width:72px;flex:1 1 auto;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.tema-pista{position:relative;width:44px;height:24px;border-radius:12px;background:var(--linea-2);transition:background .4s}
.tema-perilla{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--texto);color:var(--fondo);display:flex;align-items:center;justify-content:center;transition:transform .45s var(--suave-curva),background .4s}
.tema-perilla svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.i-luna{display:none}
[data-tema=dia] .tema-perilla{transform:translateX(20px)}
[data-tema=dia] .i-sol{display:none}
[data-tema=dia] .i-luna{display:block}
.tema:hover .tema-pista{background:var(--oro-oscuro)}
.marca:hover{color:var(--tinta)}
.marca-nombre{font-family:var(--f-rotulo);font-size:25px;line-height:1.08;letter-spacing:.02em;text-transform:uppercase}
.marca-claim{font-family:var(--f-titulo);font-style:italic;font-weight:500;font-size:17px;line-height:1.3}

.menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.menu a{display:flex;align-items:center;min-height:44px;font-family:var(--f-rotulo);font-size:19px;letter-spacing:.06em;text-transform:uppercase;color:var(--texto);text-decoration:none}
.menu .raya{display:inline-block;width:0;height:1px;background:var(--oro);margin-right:0;transition:width .45s var(--suave-curva),margin .45s var(--suave-curva)}
.menu a:hover,.menu a[aria-current]{color:var(--oro)}
.menu a:hover .raya,.menu a[aria-current] .raya{width:18px;margin-right:12px}
.etiqueta{font-family:var(--f-rotulo);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue);border:1px solid var(--linea-2);padding:2px 6px;margin-left:10px;line-height:1.4}
.riel-extra{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--linea);padding-top:28px;font-size:15px}
.riel-extra a:not(.btn){color:var(--texto);text-decoration:none;min-height:32px;display:flex;align-items:center}
.riel-extra a:not(.btn):hover{color:var(--oro)}
.riel-extra p{margin:0;color:var(--tenue);line-height:1.5}
.riel-titulo{font-family:var(--f-rotulo);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--oro)}

/* Tipografía */
.h1{margin:0;font-family:var(--f-titulo);font-weight:600;font-size:clamp(46px,6vw,76px);line-height:1;letter-spacing:-.01em}
.h2{margin:0;font-family:var(--f-titulo);font-weight:600;font-size:clamp(32px,3.4vw,42px);line-height:1.05}
.h2-grande{font-size:clamp(38px,4.4vw,54px)}
.h3{margin:0;font-family:var(--f-titulo);font-weight:600;font-size:clamp(24px,2.3vw,32px);line-height:1.1}
.lede{margin:0;font-size:clamp(18px,1.5vw,20px);line-height:1.55;color:var(--tenue);max-width:36em}
.tenue{margin:0;color:var(--tenue);line-height:1.6}
.nota{margin:0;color:var(--mas-tenue);font-size:15px}
.bajada{margin:0;font-size:17px;line-height:1.6;color:var(--tenue);max-width:42em}
.antetitulo{font-family:var(--f-rotulo);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--oro)}
.meta{font-family:var(--f-rotulo);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue)}
.texto{font-size:16px;line-height:1.55;color:var(--tenue)}
.oro{color:var(--oro)}

/* Botones */
.botones{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font-family:var(--f-rotulo);font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .35s,color .35s,border-color .35s}
.btn-oro{background:var(--oro);color:var(--tinta)}
.btn-oro:hover{background:var(--oro-claro);color:var(--tinta)}
.btn-linea{background:transparent;border-color:var(--linea-3);color:var(--texto)}
.btn-linea:hover{border-color:var(--oro);color:var(--oro)}
.btn-grande{min-height:54px;padding:0 34px;font-size:17px}
.enlace-mas{font-family:var(--f-rotulo);font-size:15px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.enlaces-dobles{display:flex;gap:22px}

/* Encabezados de sección */
.seccion{display:flex;flex-direction:column;gap:30px}
.sec-cabeza{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:16px}
.sec-cabeza::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--oro-oscuro),var(--linea) 38%);transform-origin:left}
.sec-titulos{display:flex;flex-direction:column;gap:10px}
.cabeza-pagina{display:flex;flex-direction:column;gap:20px;max-width:900px}

/* Tarjetas */
.tarjeta{display:flex;flex-direction:column;gap:14px;color:var(--texto);text-decoration:none}
.tarjeta:hover{color:var(--texto)}
.tarjeta-titulo{transition:color .35s}
.tarjeta:hover .tarjeta-titulo{color:var(--oro-claro)}
.miniatura{display:block;position:relative;overflow:hidden;background:var(--sup)}
.miniatura img,.canal-item img,.estante img,.corto img,.libro img,.episodio img{transition:transform 1.4s var(--suave-curva)}
.tarjeta:hover .miniatura img,.canal-item:hover img,.estante a:hover img,.corto:hover img,.libro:hover img,.episodio:hover img{transform:scale(1.035)}

/* Portada */
.hero{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero-texto{flex:1 1 420px;display:flex;flex-direction:column;gap:26px}
.hero-figura{flex:1 1 380px;margin:0;display:flex;flex-direction:column;gap:10px}
.hero-figura-alta{flex:2 1 300px;max-width:440px}
.hero-marco{overflow:hidden;border:1px solid var(--linea)}
.hero-marco img{width:100%;aspect-ratio:1.28;object-fit:cover}
.hero-figura-alta .hero-marco img{aspect-ratio:3/4;object-position:50% 12%}
.foto-autor{flex:1 1 340px;max-width:520px}
.foto-autor .hero-marco img{aspect-ratio:auto;height:auto}
.foto-autor figcaption{font-family:var(--f-titulo);font-size:18px;color:var(--tenue)}
.hero-figura figcaption{font-size:13px;line-height:1.45;color:var(--mas-tenue);font-style:italic}

.canal{display:flex;flex-wrap:wrap;gap:36px}
.canal-destacado{flex:3 1 460px}
.canal-destacado img{width:100%;aspect-ratio:16/9;object-fit:cover}
.play{position:absolute;left:20px;bottom:20px;width:64px;height:64px;border-radius:50%;background:rgba(11,14,23,.82);border:1px solid #D6B36A;display:flex;align-items:center;justify-content:center;transition:transform .5s var(--suave-curva),background .4s}
.play svg{width:22px;height:22px;fill:#D6B36A}
.canal-destacado:hover .play{transform:scale(1.08);background:rgba(11,14,23,.95)}
.canal-destacado .h3{font-size:clamp(26px,2.6vw,34px)}
.canal-lista{flex:2 1 320px;display:flex;flex-direction:column;gap:22px}
.canal-item{display:flex;flex-direction:row;gap:16px;align-items:flex-start;color:var(--texto);text-decoration:none}
.canal-item img{width:168px;aspect-ratio:16/9;object-fit:cover;flex:none}
.canal-item>span{display:flex;flex-direction:column;gap:6px;min-width:0}
.canal-item .tarjeta-titulo{font-size:18px;line-height:1.35;font-weight:600}
.canal-item:hover .tarjeta-titulo{color:var(--oro-claro)}
@media (max-width:480px){.canal-item img{width:120px}}

.puertas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
.puerta{background:var(--fondo);padding:32px 28px;min-height:250px;transition:background .5s}
.puerta:hover{background:var(--sup-2)}
.puerta .num{font-family:var(--f-rotulo);font-size:14px;letter-spacing:.16em;color:var(--oro)}
.puerta .texto{flex:1}
.puerta .entrar{font-family:var(--f-rotulo);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--oro)}

.libro-destacado{display:flex;flex-wrap:wrap;gap:40px;align-items:center;background:var(--sup);border:1px solid var(--linea);padding:36px}
.libro-destacado img{width:200px;height:auto;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.libro-destacado-grande{padding:44px;gap:48px}
.libro-destacado-grande img{width:240px}
.libro-destacado-texto{flex:1 1 320px;display:flex;flex-direction:column;gap:16px}
.estante{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:18px;align-items:end}
.estante a{display:block;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.estante img{width:100%;height:auto}

.cortos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.corto{position:relative;display:block;overflow:hidden;color:var(--texto);text-decoration:none;background:var(--sup)}
.corto img{width:100%;aspect-ratio:9/16;object-fit:cover}
.corto-titulo{position:absolute;left:0;right:0;bottom:0;padding:40px 12px 12px;background:linear-gradient(transparent,rgba(5,6,8,.92));font-size:14px;line-height:1.35;color:#ECE7DC;transition:color .3s}
.corto:hover .corto-titulo{color:#EBD39C}

.historias{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.historia .miniatura img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.15)}
.historia .h3{font-size:30px}
.chips-linea{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chips-linea .etiqueta{margin-left:0}

.banda{display:flex;flex-wrap:wrap;gap:1px;background:var(--linea);border:1px solid var(--linea)}
.banda-celda{flex:1 1 360px;background:var(--sup);padding:40px 36px;display:flex;flex-direction:column;gap:14px}
.banda-celda p{margin:0}
.cifra{font-family:var(--f-titulo);font-weight:600;font-size:88px;line-height:.9;color:var(--texto)}
.cifra-texto{font-size:56px;line-height:1}
.lista{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:10px;color:var(--suave);font-size:16px;line-height:1.55}

.boletin{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:48px 0}
.boletin>div{flex:1 1 360px;display:flex;flex-direction:column;gap:10px}
.form-boletin{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.form-boletin .campo{flex:1 1 220px}
.campo{display:flex;flex-direction:column;gap:8px}
.campo label,.etiqueta-campo{font-size:15px;font-weight:600}
.form-boletin .campo label{font-family:var(--f-rotulo);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue);font-weight:400}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],select,textarea{width:100%;min-height:48px;padding:0 14px;background:var(--fondo);border:1px solid var(--linea-2);color:var(--texto);font:inherit;font-size:16px;color-scheme:dark;border-radius:0;transition:border-color .3s}
textarea{padding:12px 14px;line-height:1.5;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:var(--linea-3)}
input:focus,select:focus,textarea:focus{border-color:var(--oro);outline:none}
input::placeholder,textarea::placeholder{color:#7E879B}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso{margin:12px 0 0;padding:12px 16px;border-left:2px solid var(--oro);background:var(--sup-2);font-size:15px}
.aviso-error{border-left-color:#E38B6B}

/* Investigación */
.episodios{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--linea);border:1px solid var(--linea)}
.episodio{background:var(--fondo);display:flex;flex-direction:row;flex-wrap:wrap;gap:20px 32px;align-items:center;padding:22px;color:var(--texto);text-decoration:none;transition:background .5s}
a.episodio:hover{background:var(--sup-2);color:var(--texto)}
.ep-num{font-family:var(--f-titulo);font-weight:600;font-size:64px;line-height:1;color:var(--oro);width:56px;text-align:center}
.episodio img{width:280px;max-width:100%;aspect-ratio:16/9;object-fit:cover}
.ep-texto{flex:1 1 280px;display:flex;flex-direction:column;gap:8px}
.ep-ver{display:flex;align-items:center;gap:8px;font-family:var(--f-rotulo);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--oro)}
.ep-ver svg{width:14px;height:14px;fill:var(--oro)}
.episodio-proximo .ep-num{color:var(--linea-2)}
.ep-hueco{width:280px;max-width:100%;aspect-ratio:16/9;border:1px dashed var(--linea-2);display:flex;align-items:center;justify-content:center;font-family:var(--f-rotulo);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mas-tenue)}
.grilla-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}
.grilla-videos img{width:100%;aspect-ratio:16/9;object-fit:cover}
.notas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--linea);border:1px solid var(--linea)}
.notas li{background:var(--fondo);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding:20px 24px}
.notas .meta{width:140px;color:var(--mas-tenue)}
.nota-titulo{flex:1 1 260px;font-family:var(--f-titulo);font-weight:600;font-size:26px;line-height:1.15;color:var(--texto);text-decoration:none}
.nota-video{display:flex;align-items:center;gap:10px;font-size:15px;text-decoration:none}
.nota-video svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Biblioteca */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;padding:0 16px;background:transparent;color:var(--suave);border:1px solid var(--linea-2);font-family:var(--f-rotulo);font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--oro)}
.chip[aria-pressed=true]{background:var(--oro);color:var(--tinta);border-color:var(--oro)}
.libros{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:40px 28px;align-items:start}
.libro{gap:12px}
.libro img{width:100%;height:auto;box-shadow:0 14px 30px rgba(0,0,0,.5)}
.libro-titulo{font-family:var(--f-titulo);font-weight:600;font-size:24px;line-height:1.1}
.libro[hidden]{display:none}
.preparacion{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.prep{border:1px dashed var(--linea-2);padding:28px 24px;display:flex;flex-direction:column;gap:12px;min-height:190px}
.anios{display:flex;flex-direction:column}
.anio{display:flex;flex-wrap:wrap;gap:12px 32px;padding:22px 0;border-bottom:1px solid var(--linea)}
.anio-num{font-family:var(--f-titulo);font-weight:600;font-size:34px;line-height:1.05;color:var(--oro);width:110px;flex:none}
.anio ul{flex:1 1 400px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.anio li>a{font-size:19px;color:var(--texto);text-decoration:none}
.anio li>a:hover{color:var(--oro)}
.idiomas{margin-left:12px;font-family:var(--f-rotulo);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mas-tenue)}
.idiomas a{color:var(--tenue);text-decoration:none}
.idiomas a:hover{color:var(--oro)}

/* Banda de la portada sobre la escuela */
.distinta{border-color:var(--oro-oscuro)}
.distinta .h3{font-size:clamp(26px,2.6vw,34px)}

/* Ensayo (página de la escuela) */
.ensayo{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.ensayo-texto{flex:3 1 520px;max-width:700px;font-size:19px;line-height:1.75;color:var(--suave)}
.ensayo-texto p{margin:0 0 1.15em}
.ensayo-texto h2{margin:1.6em 0 .6em;font-family:var(--f-titulo);font-weight:600;font-size:30px;line-height:1.15;color:var(--texto)}
.ensayo-texto a{color:var(--oro)}
.ensayo-texto>p:first-child::first-letter{float:left;font-family:var(--f-titulo);font-weight:600;font-size:4.2em;line-height:.8;padding:.06em .1em 0 0;color:var(--oro)}
.ensayo-lado{flex:2 1 280px;max-width:420px;display:flex;flex-direction:column;gap:28px}
.ensayo-lado figure{margin:0;display:flex;flex-direction:column;gap:10px}
.ensayo-lado figcaption{font-size:13px;color:var(--mas-tenue);font-style:italic}
.firma{font-family:var(--f-titulo);font-style:italic;font-size:20px;color:var(--tenue)}

/* Calcular Carta Natal */
.tarjeta-form{background:var(--sup);border:1px solid var(--linea);padding:36px 36px 32px;display:flex;flex-direction:column;gap:18px;max-width:880px}
.tarjeta-form form{display:flex;flex-direction:column;gap:18px}
.buscador-ciudad{position:relative}
.ciudad-caja{position:relative}
.ciudad-resultados{display:none;position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--sup);border:1px solid var(--linea-2);max-height:300px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.ciudad-resultados.visible{display:block}
.ciudad-opcion{display:block;width:100%;text-align:left;min-height:44px;padding:10px 14px;background:transparent;border:0;border-bottom:1px solid var(--linea);color:var(--texto);font:inherit;font-size:15px;cursor:pointer}
.ciudad-opcion:hover,.ciudad-opcion:focus-visible{background:var(--sup-2);color:var(--oro)}
.ciudad-opcion span{color:var(--mas-tenue);font-size:13px}
.ciudad-aviso{padding:12px 14px;font-size:15px;color:var(--tenue)}
.fila-fecha{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px}
input[type=number]{width:100%;min-height:48px;padding:0 14px;background:var(--fondo);border:1px solid var(--linea-2);color:var(--texto);font:inherit;font-size:16px;color-scheme:dark;border-radius:0}
[data-tema=dia] input[type=number]{color-scheme:light;background:#FBF8F2}
input[type=number]:disabled{opacity:.45}
.carta-diseno{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}
#chart-svg{width:100%;height:auto;display:block;background:var(--sup);border:1px solid var(--linea);border-radius:14px;padding:8px;box-sizing:border-box}
.carta-datos{background:var(--sup);border:1px solid var(--linea);border-radius:14px;padding:18px 18px 16px;font-size:14px}
.carta-datos h3{font-family:var(--f-rotulo);font-weight:500;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--linea)}
.carta-datos h3:not(:first-child){margin-top:18px}
.carta-datos table{width:100%;border-collapse:collapse}
.carta-datos td{padding:4px 6px;border-bottom:1px solid var(--linea);color:var(--texto);vertical-align:top}
.carta-datos td.glifo{font-size:17px;width:24px;color:var(--oro-claro)}
.carta-datos .retro{color:var(--rueda-retrogrado);font-size:12px}
.nota-carta{font-size:13px;font-style:italic;color:var(--tenue);border-left:2px solid var(--oro);padding:8px 12px;margin-top:16px;background:var(--sup-2)}
.meta-carta{margin-top:12px;font-size:12px;color:var(--mas-tenue);line-height:1.6}
.cocina{margin:0;font-size:13px;color:var(--mas-tenue);text-align:center}
@media (max-width:900px){.carta-diseno{grid-template-columns:1fr}.tarjeta-form{padding:24px 18px}}

/* Contacto */
.contacto{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.contacto>form,.contacto>.confirmacion{flex:2 1 520px;min-width:0}
.contacto-ig{flex:1 1 260px;border:1px solid var(--linea);padding:28px 26px;display:flex;flex-direction:column;gap:10px}
.contacto-ig-alias{font-family:var(--f-titulo);font-weight:600;font-size:26px;line-height:1.15;text-decoration:none;word-break:break-word}

/* Cursos */
.aviso-caja{display:flex;flex-wrap:wrap;gap:24px 32px;align-items:center;justify-content:space-between;background:var(--sup);border:1px solid var(--linea);padding:36px 40px}
.aviso-caja>div{flex:2 1 380px;display:flex;flex-direction:column;gap:12px}
.cursos{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
.curso{background:var(--fondo);padding:28px 26px;display:flex;flex-direction:column;gap:12px;min-height:200px}
.curso .texto{flex:1}
.curso-tam{font-family:var(--f-rotulo);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--oro)}

/* Consulta */
.solapas{display:flex;gap:6px;border-bottom:1px solid var(--linea);margin-bottom:-56px}
.solapa{min-height:56px;padding:0 22px;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--tenue);font-family:var(--f-rotulo);font-size:17px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color .3s,border-color .4s}
.solapa:hover{color:var(--texto)}
.solapa[aria-selected=true]{color:var(--oro);border-bottom-color:var(--oro)}
.no-js .solapas,html:not(.js) .solapas{display:none}
.panel{display:flex;flex-direction:column;gap:40px}
.js .panel[hidden]{display:none}
.servicios{display:flex;flex-direction:column;gap:1px;background:var(--linea);border:1px solid var(--linea)}
.servicio{background:var(--sup-2);padding:30px 32px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center}
.servicio-nombre{flex:1 1 220px;display:flex;flex-direction:column;gap:8px}
.servicio-texto{flex:2 1 340px;margin:0;font-size:16px;line-height:1.6;color:var(--suave)}
.servicio-accion{flex:0 0 auto;min-width:190px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.precio{font-family:var(--f-titulo);font-weight:600;font-size:38px;line-height:1;color:var(--oro)}
.desvio{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;justify-content:space-between;border:1px dashed var(--linea-2);padding:24px 28px;color:var(--texto);text-decoration:none;transition:border-color .4s}
.desvio:hover{border-color:var(--oro);color:var(--texto)}
.desvio>span:first-child{display:flex;flex-direction:column;gap:6px}
.desvio-texto{font-size:17px;line-height:1.5}
.panel-form{flex-direction:row;flex-wrap:wrap;align-items:flex-start}
.form-consulta,.confirmacion{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:24px}
.paso{margin:0;border:1px solid var(--linea);background:var(--sup);padding:32px 32px 28px;display:flex;flex-direction:column;gap:18px;min-width:0}
.paso legend{padding:0 10px;margin-left:-10px;font-family:var(--f-rotulo);font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--oro)}
.fila-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.ayuda{font-size:13px;line-height:1.4;color:var(--mas-tenue)}
.casilla{display:flex;align-items:center;gap:12px;min-height:44px;font-size:15px;color:var(--suave);cursor:pointer}
.casilla input{width:20px;height:20px;accent-color:var(--oro)}
.ayuda-caja{margin:0;padding:14px 16px;border-left:2px solid var(--oro);background:var(--sup-2);font-size:15px;line-height:1.5;color:var(--suave)}
.chip-radio{position:relative;cursor:pointer}
.chip-radio input{position:absolute;opacity:0;width:1px;height:1px}
.chip-radio span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--linea-2);font-size:15px;transition:background .3s,color .3s,border-color .3s}
.chip-radio:hover span{border-color:var(--oro)}
.chip-radio input:checked+span{background:var(--oro);color:var(--tinta);border-color:var(--oro);font-weight:600}
.chip-radio input:focus-visible+span{outline:2px solid var(--oro);outline-offset:2px}
.paso input[data-campo-otro]{max-width:320px}
.campo.invalido input{border-color:#E38B6B}
.enviar{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.enviar .ayuda{flex:1 1 260px;font-size:14px}
.despues{flex:1 1 300px;border:1px solid var(--linea);padding:28px 26px;display:flex;flex-direction:column;gap:16px}
.despues ol{margin:0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.5;color:var(--suave)}
.confirmacion{background:var(--sup);border:1px solid var(--oro-oscuro);padding:48px 44px;align-items:flex-start}
.tilde{width:56px;height:56px;border-radius:50%;border:1px solid var(--oro);display:flex;align-items:center;justify-content:center}
.tilde svg{width:26px;height:26px;fill:none;stroke:var(--oro);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acordeon{max-width:980px}
.acordeon details{border-top:1px solid var(--linea)}
.acordeon details:last-child{border-bottom:1px solid var(--linea)}
.acordeon summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;font-family:var(--f-rotulo);font-size:18px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;list-style:none}
.acordeon summary::-webkit-details-marker{display:none}
.acordeon .mas{position:relative;width:16px;height:16px;flex:none}
.acordeon .mas::before,.acordeon .mas::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--oro);transition:transform .4s var(--suave-curva)}
.acordeon .mas::after{transform:rotate(90deg)}
.acordeon details[open] .mas::after{transform:rotate(0)}
.acordeon details>div{padding:0 0 24px;display:flex;flex-direction:column;gap:10px;color:var(--suave);font-size:16px;line-height:1.6}
.acordeon p{margin:0}

/* Autor */
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
.cifras>div{background:var(--fondo);padding:30px 26px;display:flex;flex-direction:column;gap:8px;color:var(--suave);font-size:16px;line-height:1.45}
.cifras .cifra{font-size:60px;line-height:.95;color:var(--oro)}
.linea-tiempo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.linea-tiempo li{display:flex;flex-wrap:wrap;gap:8px 36px;padding:18px 0;border-bottom:1px solid var(--linea);font-size:17px;line-height:1.6;color:var(--suave)}
.linea-tiempo li>span:last-child{flex:1 1 380px}
.linea-tiempo .anio-num{font-size:30px;width:130px}
.dos-columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}
.dos-columnas>div{display:flex;flex-direction:column;gap:22px}
.sitios{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
.sitios a{background:var(--sup);padding:26px 24px;display:flex;flex-direction:column;gap:8px;color:var(--texto);text-decoration:none;transition:background .5s}
.sitios a:hover{background:var(--sup-2)}
.sitio-host{font-family:var(--f-rotulo);font-size:16px;letter-spacing:.06em;color:var(--oro)}


/* Carrusel de la portada */
.carrusel{--hueco:14px;flex:1 1 380px;max-width:520px;gap:14px}
.carrusel-ventana{overflow-x:auto;scroll-snap-type:x mandatory}
.js .carrusel-ventana{overflow:hidden}
.carrusel-pista{list-style:none;margin:0;padding:0;display:flex;gap:var(--hueco)}
.carrusel-item{flex:0 0 calc((100% - var(--hueco)) / 2);scroll-snap-align:start}
.carrusel .corto{border:1px solid var(--linea)}
.carrusel .corto-titulo{font-size:15px;padding:56px 14px 14px}
.carrusel-controles{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.carrusel-pausa{width:44px;height:44px;flex:none;border:1px solid var(--linea-2);background:transparent;color:var(--texto);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .3s}
.carrusel-pausa:hover{border-color:var(--oro)}
.carrusel-pausa svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.carrusel-pausa .i-seguir{fill:currentColor;stroke:none;display:none}
.carrusel.en-pausa .i-pausa{display:none}
.carrusel.en-pausa .i-seguir{display:block}
html:not(.js) .carrusel-pausa{display:none}
.carrusel-puntos{display:flex;gap:2px;flex:1}
.punto{width:28px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}
.punto::after{content:"";position:absolute;left:4px;right:4px;top:21px;height:2px;background:var(--linea-2);transition:background .5s}
.punto[aria-current=true]::after{background:var(--oro)}
.punto:hover::after{background:var(--oro-oscuro)}
.carrusel .enlaces-dobles{gap:16px}
.carrusel .enlace-mas{font-size:13px}
.carrusel figcaption{font-size:13px;color:var(--mas-tenue);font-style:italic}

/* Pie */
.pie{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 24px;font-size:14px;color:var(--mas-tenue);border-top:1px solid var(--linea);padding-top:28px}
.pie-enlaces{display:flex;flex-wrap:wrap;gap:20px}
.pie-enlaces a{color:var(--tenue)}

/* Pantallas angostas */
@media (max-width:900px){
  .riel{padding:28px 20px 8px;gap:24px}
  .riel-extra{display:none}
  html:not(.js) .menu ul{flex-direction:row;flex-wrap:wrap;gap:0 18px}
  html:not(.js) .menu a{font-size:16px}
  .menu .raya{display:none}
  .marca{padding:16px 18px}
  .marca-nombre{font-size:21px}
  .marca-claim{font-size:15px}
  .marca-controles{width:60px}
  .tema{width:60px;min-height:52px}
  .menu-boton{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:60px;min-height:52px;flex:1 1 auto;padding:0;background:transparent;border:0;border-top:1px solid var(--linea-2);color:var(--texto);cursor:pointer}
  .menu-boton span{display:block;width:22px;height:2px;background:currentColor;transition:transform .35s var(--suave-curva),opacity .25s}
  .menu-abierto .menu-boton span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-abierto .menu-boton span:nth-child(2){opacity:0}
  .menu-abierto .menu-boton span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .js .menu{display:none;margin-top:-8px}
  .js.menu-abierto .menu{display:block;animation:aparecer .4s var(--suave-curva) both}
  .js .menu ul{flex-direction:column;gap:0;border-top:1px solid var(--linea)}
  .js .menu li{border-bottom:1px solid var(--linea)}
  .js .menu a{min-height:52px;font-size:18px}
  .contenido{padding:32px 20px 72px;gap:72px}
  .libro-destacado,.libro-destacado-grande{padding:24px}
  .paso{padding:24px 18px}
  .confirmacion{padding:32px 22px}
  .aviso-caja{padding:28px 22px}
  .banda-celda{padding:30px 24px}
  .solapas{margin-bottom:-32px}
}

@media (max-width:640px){
  .solapas{gap:0}
  .solapa{flex:1 1 0;min-width:0;padding:0 6px;font-size:13px;letter-spacing:.04em;white-space:normal;line-height:1.25;text-align:center}
}

/* ---------- Modo diurno ---------- */
[data-tema=dia]{
  --fondo:#F5F1E8; --sup:#ECE6D8; --sup-2:#EFEADF; --linea:#D9D1C0; --linea-2:#C2B8A3; --linea-3:#9E937D;
  --texto:#191C25; --suave:#363B48; --tenue:#4B5160; --mas-tenue:#5F6575;
  --oro:#7A5A1C; --oro-claro:#5C4210; --oro-oscuro:#B8995C; --tinta:#F7F3EA;
  --rueda-borde:rgba(122,90,28,.55); --rueda-borde-suave:rgba(122,90,28,.25); --rueda-texto-glifo:#7A5A1C;
  --rueda-texto-grado:rgba(25,28,37,.68); --rueda-texto-signo:rgba(25,28,37,.85); --rueda-axis:#7A5A1C;
  --rueda-planeta:#191C25; --rueda-retrogrado:#a83030; --rueda-linea-glifo:rgba(122,90,28,.4);
  --rueda-armonico:#1f7a45; --rueda-tenso:#a83030; --rueda-proluna:#6a4fa3; --rueda-fondo:#ECE6D8;
}
[data-tema=dia] .cielo{display:none}
[data-tema=dia] input,[data-tema=dia] select,[data-tema=dia] textarea{color-scheme:light;background:#FBF8F2}
[data-tema=dia] input::placeholder,[data-tema=dia] textarea::placeholder{color:#6E7381}
[data-tema=dia] .libro img,[data-tema=dia] .estante a,[data-tema=dia] .libro-destacado img{box-shadow:0 12px 26px rgba(40,30,10,.22)}
.cambiando-tema body,.cambiando-tema .marca,.cambiando-tema .puerta,.cambiando-tema .banda-celda,.cambiando-tema .paso,.cambiando-tema .servicio,.cambiando-tema .libro-destacado,.cambiando-tema .episodio,.cambiando-tema .notas li,.cambiando-tema .curso,.cambiando-tema .cifras>div,.cambiando-tema .sitios a{transition:background-color .6s,color .6s,border-color .6s}

/* ---------- Animación ---------- */
@media (prefers-reduced-motion:no-preference){
  .cielo{animation:titilar 9s ease-in-out infinite alternate,derivar 400s linear infinite}
  @keyframes titilar{from{opacity:.35}to{opacity:.7}}
  @keyframes derivar{from{background-position:0 0,0 0,0 0,0 0}to{background-position:211px 0,-317px 317px,487px -487px,0 601px}}

  .js .marca{animation:descubrir 1.2s var(--suave-curva) both}
  .js .marca>span{animation:aparecer .9s var(--suave-curva) .45s both}
  .js .marca-claim{animation-delay:.7s}
  @keyframes descubrir{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
  @keyframes aparecer{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

  .js .menu li{animation:aparecer .7s var(--suave-curva) both}
  .js .menu li:nth-child(1){animation-delay:.55s}.js .menu li:nth-child(2){animation-delay:.62s}.js .menu li:nth-child(3){animation-delay:.69s}
  .js .menu li:nth-child(4){animation-delay:.76s}.js .menu li:nth-child(5){animation-delay:.83s}.js .menu li:nth-child(6){animation-delay:.9s}.js .menu li:nth-child(7){animation-delay:.97s}

  .js .hero-titulo{animation:asentar 1.8s var(--suave-curva) .3s both}
  @keyframes asentar{from{opacity:0;letter-spacing:.05em;transform:translateY(10px)}to{opacity:1;letter-spacing:-.01em;transform:none}}

  .hero-marco img{animation:respirar 32s ease-in-out infinite alternate;transform-origin:50% 45%}
  @keyframes respirar{from{transform:scale(1)}to{transform:scale(1.07)}}

  .js .revelar{opacity:0;transform:translateY(18px)}
  .js .revelar.visible{opacity:1;transform:none;transition:opacity 1s var(--suave-curva) var(--d,0s),transform 1s var(--suave-curva) var(--d,0s)}
  .js .sec-cabeza::after{transform:scaleX(0)}
  .js .sec-cabeza.visible::after{transform:scaleX(1);transition:transform 1.6s var(--suave-curva) .15s}

  .panel.entrando{animation:aparecer .6s var(--suave-curva) both}
}
