/* Alma Oculta — estilo claro y cálido */
:root{
  --papel:#FBF6EE;        /* fondo crema */
  --papel-2:#F3EADB;      /* crema más profundo para bloques */
  --tinta:#2F2924;        /* texto principal */
  --tinta-suave:#6B6058;  /* texto secundario */
  --oro:#A8812F;          /* dorado suave (líneas, detalles) */
  --oro-claro:#E6D3A8;
  --barro:#A9533A;        /* terracota (enlaces, acentos) */
  --linea:#E4D8C4;
  --ancho:1120px;
  --lectura:68ch;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:1.0625rem;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--barro);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--tinta)}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:2px}
.envoltura{max-width:var(--ancho);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--tinta);letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:.2em 0 .3em}
h2{font-size:clamp(1.7rem,3vw,2.2rem);margin:1.6em 0 .5em}
h3{font-size:1.45rem;margin:1.4em 0 .4em}
.saltar{position:absolute;left:-999px;top:0;background:var(--tinta);color:#fff;padding:8px 12px}
.saltar:focus{left:12px;top:12px;z-index:10}

/* Cabecera */
.cabecera{border-bottom:1px solid var(--linea);background:var(--papel)}
.cabecera .envoltura{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta);font-family:var(--serif);font-size:1.7rem;font-weight:600}
.marca svg{width:30px;height:30px}
.menu{display:flex;gap:4px 22px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:.95rem}
.menu a{color:var(--tinta);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{border-bottom-color:var(--oro);color:var(--tinta)}
.boton-menu{display:none;background:none;border:1px solid var(--linea);border-radius:20px;padding:6px 14px;font:inherit;font-size:.9rem;color:var(--tinta);cursor:pointer}
@media (max-width:760px){
  .boton-menu{display:inline-block}
  .menu{display:none;width:100%;flex-direction:column;padding-bottom:14px}
  .menu.abierto{display:flex}
}

/* Portada */
.portada{position:relative;padding:72px 0 56px;overflow:hidden;border-bottom:1px solid var(--linea)}
.portada .envoltura{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.portada h1{font-size:clamp(2.6rem,6vw,4.4rem);max-width:13ch;margin:0 0 .35em}
.portada p{color:var(--tinta-suave);max-width:46ch;font-size:1.15rem;margin:0 0 1.6em}
.orbita{width:100%;max-width:340px;justify-self:center;color:var(--oro)}
.orbita .punto{transform-origin:170px 170px;animation:girar 60s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.orbita .punto{animation:none}}
@media (max-width:760px){.portada{padding:44px 0 36px}.portada .envoltura{grid-template-columns:1fr}.orbita{max-width:200px;order:-1;justify-self:start}}
.boton{display:inline-block;background:var(--tinta);color:var(--papel);text-decoration:none;padding:12px 22px;border-radius:999px;font-weight:600;font-size:.95rem}
.boton:hover{background:var(--barro);color:#fff}

/* Categorías en portada */
.temas{padding:56px 0}
.temas-lista{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--linea);border-left:1px solid var(--linea);margin-top:24px}
.tema{display:block;padding:22px 18px 26px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);text-decoration:none;color:var(--tinta);background:var(--papel)}
.tema:hover{background:var(--papel-2)}
.tema strong{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:600;margin-bottom:6px}
.tema span{font-size:.92rem;color:var(--tinta-suave);line-height:1.5;display:block}
@media (max-width:960px){.temas-lista{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.temas-lista{grid-template-columns:1fr}}

/* Listados de artículos */
.seccion{padding:48px 0}
.seccion-cabeza{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.seccion-cabeza h2{margin:0}
.rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 32px;margin-top:28px}
@media (max-width:900px){.rejilla{grid-template-columns:repeat(2,1fr)}}
@media (max-width:580px){.rejilla{grid-template-columns:1fr}}
.ficha{border-top:2px solid var(--oro-claro);padding-top:16px}
.ficha .cat{font-size:.85rem;color:var(--barro);text-decoration:none;font-weight:600}
.ficha h3{margin:.3em 0 .35em;font-size:1.55rem}
.ficha h3 a{color:var(--tinta);text-decoration:none}
.ficha h3 a:hover{color:var(--barro)}
.ficha p{margin:0;color:var(--tinta-suave);font-size:.98rem}
.vacio{color:var(--tinta-suave);font-style:italic}

/* Cabecera de categoría */
.cabeza-cat{padding:56px 0 8px;border-bottom:1px solid var(--linea)}
.cabeza-cat p{color:var(--tinta-suave);max-width:60ch;font-size:1.12rem}

/* Artículo */
.migas{font-size:.88rem;color:var(--tinta-suave);margin:32px 0 0}
.migas a{color:var(--tinta-suave)}
.articulo{max-width:var(--lectura);margin:0 auto;padding:0 0 40px}
.articulo .entradilla{font-size:1.22rem;color:var(--tinta-suave);margin-top:0}
.articulo .meta{font-size:.88rem;color:var(--tinta-suave);border-bottom:1px solid var(--linea);padding-bottom:18px;margin-bottom:8px}
.articulo p,.articulo li{font-size:1.09rem}
.articulo ul,.articulo ol{padding-left:1.3em}
.articulo li{margin:.35em 0}
.articulo blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:2px solid var(--oro);font-family:var(--serif);font-size:1.45rem;line-height:1.4}
.indice{background:var(--papel-2);padding:18px 22px;margin:24px 0;border-radius:6px}
.indice strong{font-family:var(--serif);font-size:1.25rem;display:block;margin-bottom:4px}
.indice ol{margin:0;padding-left:1.2em}
.indice li{font-size:.98rem;margin:.2em 0}
.nota{background:var(--papel-2);border-radius:6px;padding:14px 18px;font-size:.95rem;color:var(--tinta-suave)}
.relacionados{border-top:1px solid var(--linea);margin-top:40px}

/* Huecos de anuncio: invisibles hasta que AdSense los rellene */
.anuncio{margin:28px 0;min-height:0}
body.vista-previa .anuncio{min-height:110px;border:1px dashed var(--oro-claro);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--tinta-suave);font-size:.85rem}
body.vista-previa .anuncio::after{content:"Espacio reservado para anuncio"}

/* Páginas de texto */
.pagina{max-width:var(--lectura);margin:0 auto;padding:16px 0 56px}
.pagina h2{font-size:1.6rem}
.hueco{background:#FFF3D6;padding:0 4px;border-radius:3px}

/* Pie */
.pie{border-top:1px solid var(--linea);background:var(--papel-2);padding:44px 0 28px;margin-top:40px;font-size:.93rem;color:var(--tinta-suave)}
.pie .envoltura{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.pie h2{font-size:1.25rem;margin:0 0 .5em}
.pie ul{list-style:none;padding:0;margin:0}
.pie li{margin:.25em 0}
.pie a{color:var(--tinta-suave)}
.pie .legal{grid-column:1/-1;border-top:1px solid var(--linea);padding-top:16px;margin-top:8px;font-size:.85rem}
@media (max-width:700px){.pie .envoltura{grid-template-columns:1fr}}
