/* =========================================================
   ÁNIMA KALΨA · estilos comunes (inicio, blog y legal)
   ========================================================= */

/* ---------- 0. Tipografías alojadas en la propia web (sin conexión a Google) ---------- */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format("woff2")}

/* ---------- 1. Colores y tipografía ---------- */
:root{
  color-scheme:light;
  --noche:#2B1A33;      /* ciruela noche */
  --ciruela:#3E2446;
  --ciruela-2:#5A3A63;
  --lavanda:#C9C2EA;
  --rosa:#E4A6AB;
  --coral:#E48C6C;
  --coral-osc:#CC7355;
  --oro:#C29245;
  --oro-claro:#E2BE7E;
  --crema:#FBF3EA;
  --fondo:#FCF8F4;
  --blanco:#FFFFFF;
  --tinta:#3E2446;
  --suave:#6F5C74;
  --linea:#ECDFD6;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost","Segoe UI",system-ui,sans-serif;
  --radio:22px;
  --ancho:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--fondo);color:var(--tinta);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7;margin:0;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:var(--ancho);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
.psi{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--oro)}
.eyebrow{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--oro);font-weight:500}
.oculto{position:absolute!important;left:-9999px!important}
section{scroll-margin-top:84px}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ---------- 2. Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:500;font-size:15.5px;text-decoration:none;padding:13px 24px;border-radius:999px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s,color .2s}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:17px;height:17px;flex:none}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:var(--coral-osc)}
.btn-ciruela{background:var(--ciruela);color:var(--crema)}
.btn-ciruela:hover{background:var(--ciruela-2)}
.btn-cristal{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-cristal:hover{background:rgba(255,255,255,.28)}
.btn-linea{border-color:rgba(62,36,70,.25);color:var(--ciruela)}
.btn-linea:hover{background:var(--crema)}
.enlace{font-weight:500;font-size:15px;color:var(--ciruela);text-decoration:none;border-bottom:1px solid var(--oro-claro);padding-bottom:1px}
.enlace:hover{color:var(--coral-osc)}

/* ---------- 3. Menú ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(252,248,244,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(236,223,214,.8);transition:background .3s,border-color .3s}
.nav .wrap{display:flex;align-items:center;gap:22px;height:70px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ciruela);margin-right:auto}
.marca img{width:34px;height:auto}
.marca b{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.14em;white-space:nowrap}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;font-size:15px;color:var(--suave)}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ciruela)}
.nav-links a[aria-current]{border-bottom:1px solid var(--oro)}
/* Sobre la foto de portada, el menú empieza transparente */
.nav.sobre-foto{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav.sobre-foto .marca,.nav.sobre-foto .nav-links a{color:#fff}
.nav.sobre-foto .menu summary{border-color:rgba(255,255,255,.5);color:#fff}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linea);color:var(--ciruela)}
.menu summary::-webkit-details-marker{display:none}
.menu summary svg{width:20px;height:20px}
.menu ul{position:absolute;right:0;top:52px;background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:10px;list-style:none;margin:0;min-width:210px;box-shadow:0 18px 40px -20px rgba(62,36,70,.35)}
.menu li a{display:block;padding:10px 14px;text-decoration:none;border-radius:10px;color:var(--ciruela)}
.menu li a:hover{background:var(--crema)}
@media (max-width:900px){.nav-links{display:none}.menu{display:block}.nav .btn{padding:10px 18px;font-size:14.5px}}
@media (max-width:480px){.nav .btn{display:none}.marca b{font-size:17px}}

/* ---------- 4. Bloques comunes ---------- */
.bloque{padding-block:clamp(72px,10vw,124px)}
.cabecera{display:grid;gap:12px;max-width:42em;margin-bottom:clamp(32px,5vw,54px)}
.cabecera h2{font-size:clamp(36px,5vw,56px)}
.cabecera p{color:var(--suave)}
.cabecera-fila{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,5vw,54px)}
.cabecera-fila .cabecera{margin:0}

/* Tarjetas de artículo del blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{display:grid;gap:12px;align-content:start;text-decoration:none}
.post .img{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--crema)}
.post .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post:hover .img img{transform:scale(1.04)}
.post .meta{font-size:13px;color:var(--suave);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cat{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ciruela);background:var(--crema);border:1px solid var(--linea);padding:3px 10px;border-radius:999px}
.post h3{font-size:26px;line-height:1.15}
.post:hover h3{color:var(--ciruela-2)}
.post p{font-size:15.5px;color:var(--suave)}
.post-grande{grid-column:1/-1;grid-template-columns:1.25fr 1fr;gap:clamp(22px,4vw,48px);align-items:center}
.post-grande .img{aspect-ratio:16/10}
.post-grande h3{font-size:clamp(30px,3.6vw,42px)}
@media (max-width:900px){.posts{grid-template-columns:repeat(2,1fr)}.post-grande{grid-template-columns:1fr}}
@media (max-width:600px){.posts{grid-template-columns:1fr}}

/* Banda de newsletter */
.newsletter{background:linear-gradient(115deg,var(--noche) 0%,var(--ciruela-2) 55%,#8C5D7C 100%);color:var(--crema);border-radius:calc(var(--radio) + 8px);padding:clamp(34px,6vw,68px);display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,5vw,60px);align-items:center;position:relative;overflow:hidden}
.newsletter h2{font-size:clamp(32px,4vw,46px);color:#fff}
.newsletter p{color:#E6D5E3}
.newsletter .eyebrow{color:var(--oro-claro)}
.news{display:grid;gap:12px}
.news .fila{display:flex;gap:10px;flex-wrap:wrap}
.news input[type=email]{flex:1 1 200px;min-width:0;padding:13px 18px;border-radius:999px;border:1px solid rgba(251,243,234,.35);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:16px}
.news input::placeholder{color:#D9C5D6}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5}
.check input{margin-top:3px;accent-color:var(--coral);width:16px;height:16px;flex:none}
.newsletter .check{color:#E6D5E3}
.newsletter .check a{color:var(--oro-claro)}
.nota{font-size:14.5px;min-height:1.3em}
.newsletter .nota{color:var(--oro-claro)}
@media (max-width:860px){.newsletter{grid-template-columns:1fr}}

/* ---------- 5. Pie ---------- */
footer{background:var(--noche);color:#CDB9CF;padding-block:56px 96px;font-size:14.5px}
footer .wrap{display:grid;gap:34px}
.pie-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.pie-cols h4{font-family:var(--sans);font-weight:500;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:12px}
.pie-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pie-cols a{color:#E8D8E6;text-decoration:none}
.pie-cols a:hover{text-decoration:underline}
footer .marca{color:var(--crema);margin:0 0 12px}
.pie-lema{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--oro-claro)}
.pie-final{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:860px){.pie-cols{grid-template-columns:1fr 1fr}}
@media (min-width:901px){footer{padding-bottom:56px}}

/* Botón fijo de reserva en móvil */
.barra-movil{display:none}
@media (max-width:900px){
  .barra-movil{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30}
  .barra-movil .btn{width:100%;box-shadow:0 14px 30px -12px rgba(43,26,51,.6)}
}

/* =========================================================
   INICIO
   ========================================================= */
/* Portada: foto real del amanecer */
.hero{position:relative;margin-top:-70px;min-height:clamp(600px,92vh,860px);display:flex;align-items:center;color:#fff;overflow:hidden;background:#6B4A63}
.hero-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(43,26,51,.55) 0%,rgba(43,26,51,.28) 38%,rgba(43,26,51,0) 62%),linear-gradient(180deg,rgba(43,26,51,.35) 0%,rgba(43,26,51,0) 22%)}
.hero .wrap{position:relative;z-index:2;width:100%;padding-block:130px 90px}
.hero-txt{max-width:600px;display:grid;gap:22px}
.hero-lema{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#FFE6CC;font-weight:400}
.hero h1{font-size:clamp(44px,6.4vw,82px);line-height:1.02;font-weight:500;text-shadow:0 2px 30px rgba(43,26,51,.25)}
.hero h1 em{font-style:italic;color:#FFE0BC}
.hero .sub{font-size:clamp(17px,1.6vw,19.5px);color:#F8EAF0;max-width:31em}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.hero-nota{font-size:14px;color:#F3DDE6;display:flex;gap:8px;align-items:center}
.hero-nota::before{content:"";width:7px;height:7px;border-radius:50%;background:#8FE3B0;box-shadow:0 0 0 4px rgba(143,227,176,.2)}
@media (max-width:760px){
  /* En móvil: la foto arriba (con los cristales y la vela) y el texto debajo */
  .hero{display:block;min-height:0;background:#5B4260}
  .hero-foto{position:relative;height:360px;object-position:86% 70%}
  .hero::before{bottom:auto;height:360px;background:linear-gradient(180deg,rgba(43,26,51,.4) 0%,rgba(43,26,51,0) 28%,rgba(91,66,96,0) 62%,#5B4260 100%)}
  .hero .wrap{padding-block:0 48px;margin-top:-56px}
}

/* Manifiesto: nombre y logo */
.manifiesto .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,7vw,100px);align-items:center}
.logo-grande{width:100%;max-width:300px;justify-self:center}
.manifiesto h2{font-size:clamp(34px,4.6vw,52px);margin-block:12px 22px}
.significado{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;border-top:1px solid var(--linea);padding-top:24px}
.significado div{display:grid;gap:4px}
.significado b{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--ciruela)}
.significado span{font-size:15px;color:var(--suave)}
.manifiesto p{color:#5C4462}
.manifiesto blockquote{margin:26px 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.6vw,30px);line-height:1.3;color:var(--ciruela)}
@media (max-width:860px){.manifiesto .wrap{grid-template-columns:1fr}.logo-grande{max-width:200px}.significado{grid-template-columns:1fr}}

/* Sesiones */
.sesiones{background:var(--crema)}
.grid-ses{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ses{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:28px 26px;display:grid;gap:10px;align-content:start;transition:border-color .2s,transform .2s}
.ses:hover{border-color:var(--oro-claro);transform:translateY(-2px)}
.ses .ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:var(--oro)}
.ses .ico svg{width:30px;height:30px}
.ses:nth-child(6n+1) .ico{background:#ECE8F8}.ses:nth-child(6n+2) .ico{background:#F9E3E4}.ses:nth-child(6n+3) .ico{background:#FCE3D6}
.ses:nth-child(6n+4) .ico{background:#FAEBD3}.ses:nth-child(6n+5) .ico{background:#ECE8F8}.ses:nth-child(6n+6) .ico{background:#F9E3E4}
.ses h3{font-size:27px}
.ses p{font-size:15.5px;color:var(--suave)}
.ses .pie-ses{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:14px;border-top:1px solid var(--linea);font-size:13.5px;color:var(--suave)}
.aviso{margin-top:24px;font-size:14px;color:var(--suave);max-width:62em}
@media (max-width:900px){.grid-ses{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid-ses{grid-template-columns:1fr}}

/* Cómo funciona */
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);counter-reset:paso;list-style:none;margin:0;padding:0}
.paso{display:grid;gap:8px;align-content:start;border-top:1px solid var(--oro-claro);padding-top:20px}
.paso::before{counter-increment:paso;content:"0" counter(paso);font-size:13px;letter-spacing:.2em;color:var(--oro);font-weight:500}
.paso h3{font-size:27px}
.paso p{color:var(--suave);font-size:16px}
@media (max-width:760px){.pasos{grid-template-columns:1fr}}

/* Sobre mí */
.sobre .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,7vw,100px);align-items:center}
.foto{position:relative;max-width:440px;width:100%;justify-self:center;margin:0}
.foto::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--oro-claro);border-radius:999px 999px 26px 26px}
.foto img{position:relative;width:100%;aspect-ratio:720/822;object-fit:cover;border-radius:999px 999px 26px 26px}
.sobre-txt{display:grid;gap:18px}
.sobre-txt h2{font-size:clamp(36px,5vw,56px)}
.sobre-txt p{color:#5C4462}
.firma{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--ciruela)}
.formacion{display:flex;flex-wrap:wrap;gap:8px}
.formacion span{font-size:13.5px;padding:5px 12px;border-radius:999px;background:var(--crema);border:1px solid var(--linea);color:var(--ciruela)}
@media (max-width:860px){.sobre .wrap{grid-template-columns:1fr}.foto{max-width:320px}}

/* Preguntas */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,80px)}
.faq{display:grid;gap:0;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:400;font-size:17.5px;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--oro)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:20px;color:var(--suave);font-size:16px;max-width:40em}
@media (max-width:860px){.faq-wrap{grid-template-columns:1fr}}

/* Contacto */
.contacto .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px)}
.datos{display:grid;gap:22px;align-content:start}
.dato{display:grid;gap:2px}
.dato small{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);font-weight:500}
.copiar{font:inherit;font-size:13px;margin-left:10px;padding:3px 10px;border-radius:999px;border:1px solid var(--linea);background:var(--blanco);color:var(--suave);cursor:pointer}
form.contact{display:grid;gap:14px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(22px,4vw,36px)}
.campo{display:grid;gap:6px;font-size:14.5px;font-weight:400}
.campo input,.campo select,.campo textarea{font:inherit;font-weight:300;font-size:16px;padding:12px 14px;border-radius:12px;border:1px solid var(--linea);background:var(--fondo);color:var(--tinta)}
.campo textarea{min-height:110px;resize:vertical}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.info-rgpd{font-size:12.5px;line-height:1.55;color:var(--suave);border-top:1px solid var(--linea);padding-top:12px}
.contact .nota{color:var(--coral-osc)}
@media (max-width:760px){.contacto .wrap{grid-template-columns:1fr}.dos{grid-template-columns:1fr}}

/* =========================================================
   BLOG (listado)
   ========================================================= */
.blog-cab{padding-block:clamp(56px,8vw,96px) clamp(28px,4vw,44px);background:linear-gradient(180deg,#EFE6F4 0%,#F8E3DF 60%,var(--fondo) 100%)}
.blog-cab h1{font-size:clamp(48px,7vw,84px)}
.blog-cab p{color:var(--suave);max-width:36em;margin-top:12px}
.herramientas{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-top:30px}
.filtro{display:flex;gap:8px;flex-wrap:wrap}
.filtro button{font:inherit;font-size:14.5px;padding:8px 16px;border-radius:999px;border:1px solid var(--linea);background:var(--blanco);color:var(--ciruela);cursor:pointer}
.filtro button[aria-pressed="true"]{background:var(--ciruela);color:var(--crema);border-color:var(--ciruela)}
.buscador{position:relative;flex:0 1 280px}
.buscador input{width:100%;font:inherit;font-size:15.5px;padding:10px 16px 10px 40px;border-radius:999px;border:1px solid var(--linea);background:var(--blanco);color:var(--tinta)}
.buscador svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--suave)}
.sin-resultados{color:var(--suave);padding-block:30px}

/* =========================================================
   ARTÍCULO
   ========================================================= */
.art-cab{padding-block:clamp(44px,7vw,80px) 0}
.art-cab .wrap{max-width:860px}
.miga{font-size:14px;color:var(--suave);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.miga a{color:var(--suave)}
.art-cab h1{font-size:clamp(40px,5.8vw,66px)}
.art-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px;font-size:14.5px;color:var(--suave)}
.art-meta img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.art-img{max-width:1080px;margin:clamp(30px,5vw,50px) auto 0;padding-inline:clamp(16px,4vw,32px)}
.art-img img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--radio)}
.art{max-width:720px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(16px,4vw,32px) 0;font-size:18.5px;line-height:1.8}
.art .entradilla{font-family:var(--serif);font-size:clamp(24px,2.6vw,29px);line-height:1.4;color:var(--ciruela);margin-bottom:28px}
.art h2{font-size:clamp(30px,3.4vw,38px);margin:44px 0 14px}
.art p{margin:0 0 20px;color:#4E3C55}
.art ul{margin:0 0 20px;padding-left:22px;color:#4E3C55}
.art li{margin-bottom:8px}
.art blockquote{margin:34px 0;padding-left:22px;border-left:2px solid var(--oro);font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.35;color:var(--ciruela)}
.recuadro{background:var(--crema);border:1px solid var(--linea);border-radius:18px;padding:20px 24px;font-size:15.5px;color:var(--suave);margin:30px 0}
.cta-art{margin:44px 0 0;background:linear-gradient(120deg,#EFE6F4,#F9E2DC);border-radius:var(--radio);padding:clamp(24px,4vw,36px);display:grid;gap:12px}
.cta-art h3{font-size:30px}
.cta-art p{margin:0;color:var(--suave);font-size:16px}
.autora{display:flex;gap:18px;align-items:center;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding-block:22px;margin-top:44px}
.autora img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}
.autora p{margin:0;font-size:15.5px}
.compartir{display:flex;gap:10px;align-items:center;margin-top:22px;font-size:14.5px;color:var(--suave);flex-wrap:wrap}
.compartir a,.compartir button{font:inherit;font-size:14px;padding:6px 14px;border-radius:999px;border:1px solid var(--linea);background:var(--blanco);color:var(--ciruela);text-decoration:none;cursor:pointer}

/* =========================================================
   LEGAL
   ========================================================= */
.legal{max-width:780px;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(16px,4vw,32px)}
.legal h1{font-size:clamp(40px,5vw,56px);margin-bottom:10px}
.legal nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}
.legal nav a{font-size:14px;padding:6px 14px;border-radius:999px;border:1px solid var(--linea);text-decoration:none;background:var(--blanco)}
.legal section{padding-top:36px;border-top:1px solid var(--linea);margin-top:36px}
.legal h2{font-size:34px;margin-bottom:6px}
.legal h3{font-family:var(--sans);font-weight:500;font-size:17px;margin:20px 0 6px}
.legal p,.legal li{font-size:16px;color:#4E3C55}
.legal ul{padding-left:20px;margin:6px 0}
.fecha{font-size:13.5px;color:var(--suave)}
.completar{background:#FCEBD2;padding:0 4px;border-radius:4px}

/* Próximas terapias (2027) */
.pronto{margin-top:34px;padding-top:28px;border-top:1px dashed var(--oro-claro);display:grid;gap:16px}
.grid-pronto{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ses.proxima{background:rgba(255,255,255,.55);border-style:dashed}
.ses.proxima:hover{transform:none}
.ses.proxima .ico{background:#F1ECE4!important;color:var(--suave)}
@media (max-width:600px){.grid-pronto{grid-template-columns:1fr}}
/* Alinear el pie de todas las tarjetas de sesión */
.ses{display:flex;flex-direction:column}
.ses .pie-ses{margin-top:auto}
.ses p{margin-bottom:8px}

/* ---------- Aviso de cookies ---------- */
.cookies{position:fixed;z-index:60;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:430px;background:var(--blanco);border:1px solid var(--linea);border-radius:20px;padding:22px;box-shadow:0 24px 60px -24px rgba(43,26,51,.45);display:grid;gap:12px;font-size:14.5px;line-height:1.55}
.cookies-tit{font-family:var(--serif);font-size:24px;color:var(--ciruela)}
.cookies a{color:var(--ciruela)}
.cookies-config{display:grid;gap:10px;padding:12px 0;border-block:1px solid var(--linea)}
.cookies-btns{display:flex;gap:8px;flex-wrap:wrap}
.cookies-btns .btn{flex:1 1 auto;padding:10px 16px;font-size:14.5px}
@media (max-width:900px){.cookies{left:12px;right:12px;max-width:none;bottom:calc(84px + env(safe-area-inset-bottom,0px))}}

/* ---------- Vídeos de YouTube (se cargan al pulsar) ---------- */
.yt{position:relative;aspect-ratio:16/9;border-radius:var(--radio);overflow:hidden;background:linear-gradient(135deg,var(--noche),var(--ciruela-2) 60%,#C98A8C);cursor:pointer;display:grid;place-items:center;margin:30px 0;color:#fff}
.yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.yt .play{position:relative;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.yt .play::after{content:"";margin-left:6px;border-left:22px solid var(--ciruela);border-top:14px solid transparent;border-bottom:14px solid transparent}
.yt .yt-tit{position:absolute;left:18px;bottom:14px;right:18px;font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-aviso{position:absolute;inset:0;background:rgba(43,26,51,.88);display:grid;place-content:center;justify-items:center;gap:14px;padding:20px;text-align:center;font-size:15px}
.redes{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.redes .red{font-size:13.5px;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2)}
.tabla-cookies{width:100%;border-collapse:collapse;font-size:14.5px;margin:10px 0;min-width:560px}
.tabla-cookies th,.tabla-cookies td{text-align:left;padding:10px;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla-cookies th{font-weight:500;color:var(--ciruela)}

/* =========================================================
   PÁGINAS DE CADA SESIÓN
   ========================================================= */
.serv-cab{padding-block:clamp(40px,6vw,72px) 0;background:linear-gradient(180deg,#EFE6F4 0%,#F8E3DF 70%,var(--fondo) 100%)}
.serv-cab .wrap{max-width:960px}
.serv-cab-in{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,40px);align-items:start;padding-bottom:clamp(20px,4vw,40px)}
.ico-grande{width:96px;height:96px;border-radius:50%;background:var(--blanco);border:1px solid var(--oro-claro);display:grid;place-items:center;color:var(--oro)}
.ico-grande svg{width:52px;height:52px}
.serv-cab h1{font-size:clamp(38px,5.4vw,62px)}
.serv-cab .entradilla{font-family:var(--serif);font-size:clamp(21px,2.3vw,26px);line-height:1.4;color:var(--ciruela);max-width:36em}
@media (max-width:600px){.serv-cab-in{grid-template-columns:1fr}.ico-grande{width:72px;height:72px}}
.art .faq{margin-bottom:10px}
.otras{margin-top:34px;display:grid;gap:10px}
.otras ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.otras a{display:inline-block;font-size:14.5px;padding:7px 14px;border-radius:999px;border:1px solid var(--linea);background:var(--blanco);text-decoration:none;color:var(--ciruela)}
.otras a:hover{border-color:var(--oro-claro)}
.ses-link{text-decoration:none;color:inherit}
.ses-link:hover{color:var(--ciruela-2);text-decoration:underline;text-decoration-color:var(--oro-claro);text-underline-offset:4px}
.pie-ses .mas{color:var(--suave);text-decoration:none;font-size:14px}
.pie-ses .mas:hover{color:var(--ciruela)}

/* =========================================================
   PÁGINA DE ENLACES (biografía de las redes)
   ========================================================= */
.enlaces{max-width:520px;margin:0 auto;padding:48px 16px 64px;display:grid;gap:12px;justify-items:center;text-align:center}
.enl-marca{font-family:var(--serif);font-weight:600;font-size:26px;letter-spacing:.14em;color:var(--ciruela)}
.enl-lema{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--oro);margin-bottom:12px}
.enl{display:block;width:100%;padding:15px 20px;border-radius:16px;border:1px solid var(--linea);background:var(--blanco);text-decoration:none;color:var(--ciruela);font-weight:500}
.enl:hover{border-color:var(--oro-claro)}
.enl.principal{background:var(--coral);border-color:var(--coral);color:#fff}
.enl-pie{margin-top:18px;font-size:13px}
.enl-pie a{color:var(--suave)}
