:root{
  --background:#ffffff; --ink:#0a0a0a; --charcoal:#2c2c2c;
  --violet:#4B3374; --violet-soft:#A780D8; --violet-ink:#0A0812; --violet-panel:#1C1630; --violet-deep:#2A1C46;
  --surface:#f6f4f9; --ink-soft:#6a6672; --hairline:#d8d5de; --ghost:#e6e2ec;
  --font-serif:Georgia,"Times New Roman",serif;
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-sans:Arial,Helvetica,sans-serif;
  --font-firma:"Mrs Saint Delafield","Brush Script MT",cursive;
  --radius-card-lg:2rem; --radius-card:1.5rem; --radius-pill:62.5rem;
}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (max-width:1920px){html{font-size:0.833333vw}}
@media (max-width:1440px){html{font-size:1.111111vw}}
@media (max-width:1024px){html{font-size:1.5625vw}}
@media (max-width:640px){html{font-size:4.444444vw}}
body{margin:0;min-height:100vh;background:var(--background);color:var(--ink);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;line-height:1.5}
main{width:100%;overflow-x:clip;padding:0.5rem}
@media (min-width:640px){main{padding:0.75rem}}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:500}
p{margin:0}

/* ---- compartido ---- */
.eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-sans);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.22em;color:var(--ink-soft)}
.eyebrow .dot{width:0.375rem;height:0.375rem;border-radius:var(--radius-pill);background:var(--violet);flex:none}
.pill{display:inline-flex;align-items:center;gap:0.5rem;border-radius:var(--radius-pill);padding:0.875rem 1.75rem;font-family:var(--font-sans);font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;text-decoration:none;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.pill .arw{width:1rem;height:1rem;display:block}
.pill.dark{background:var(--ink);color:#fff}.pill.dark:hover{background:var(--violet)}
.pill.light{background:#fff;color:var(--ink)}.pill.light:hover{background:var(--violet-soft);color:var(--ink)}
.pill.ghost{border:1px solid var(--hairline);color:var(--ink);background:transparent}.pill.ghost:hover{border-color:var(--violet);color:var(--violet)}
.pill.violet{background:var(--violet);color:#fff}.pill.violet:hover{background:var(--violet-soft);color:var(--ink)}
.sec-title{font-family:var(--font-display);font-size:2.5rem;line-height:1.05;letter-spacing:-0.015em;margin-top:0.75rem;text-wrap:balance}
.sec-lead{font-family:var(--font-sans);font-size:0.9375rem;line-height:1.65;color:var(--ink-soft);max-width:34rem;margin-top:1.25rem}
.prose{max-width:38rem;font-size:1.0625rem;line-height:1.7;display:flex;flex-direction:column;gap:1.1rem;margin-top:1.5rem}

/* ---- bloques y sus fondos ---- */
.bloque{background:var(--background);border:1px solid var(--hairline);border-radius:var(--radius-card-lg);margin-top:0.75rem;padding:3rem 1.5rem}
@media (min-width:640px){.bloque{padding:4rem 2.5rem}}
.bloque.suave{background:var(--surface);border-color:transparent}
.bloque.oscuro{background:var(--violet-ink);border-color:transparent;color:#fff}
.bloque.morado{background:var(--violet-deep);border-color:transparent;color:#fff}
.bloque.oscuro .eyebrow,.bloque.morado .eyebrow{color:rgba(255,255,255,.62)}
.bloque.oscuro .eyebrow .dot,.bloque.morado .eyebrow .dot{background:var(--violet-soft)}
.bloque.oscuro .sec-lead,.bloque.morado .sec-lead,.bloque.oscuro .prose,.bloque.morado .prose{color:rgba(255,255,255,.82)}
.bloque.oscuro .lista li,.bloque.morado .lista li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.bloque.oscuro .lista p,.bloque.morado .lista p{color:rgba(255,255,255,.72)}
.bloque.oscuro .lista.num li::before,.bloque.morado .lista.num li::before{color:var(--violet-soft)}
.bloque.oscuro .pill.ghost,.bloque.morado .pill.ghost{border-color:rgba(255,255,255,.3);color:#fff}
.bloque.oscuro .pill.ghost:hover,.bloque.morado .pill.ghost:hover{border-color:var(--violet-soft);color:var(--violet-soft)}
.dos-col{display:grid;gap:2rem}
@media (min-width:900px){.dos-col{grid-template-columns:0.9fr 1.1fr;gap:4rem;align-items:start}}

/* ---- cabecera ---- */
.hero{position:relative;background:var(--background);color:var(--ink);border-radius:var(--radius-card-lg);border:1px solid var(--hairline);overflow:hidden}
.hero.oscuro{background:var(--violet-ink);color:#fff;border-color:transparent;--cuerpo-linea:rgba(255,255,255,.9);--cuerpo-texto:rgba(255,255,255,.7)}
.hero.oscuro .eyebrow{color:rgba(255,255,255,.62)}.hero.oscuro .eyebrow .dot{background:var(--violet-soft)}
.hero.oscuro .hero-lead{color:rgba(255,255,255,.78)}
.hero.oscuro .pill.dark{background:#fff;color:var(--ink)}.hero.oscuro .pill.dark:hover{background:var(--violet-soft)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;border-bottom:1px solid var(--hairline);flex-wrap:wrap}
@media (min-width:640px){.site-header{padding:1.25rem 2.5rem}}
.hero.oscuro .site-header,.cabecera-sola.oscuro .site-header{border-bottom-color:rgba(255,255,255,.14)}
.wordmark{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:1.1875rem;letter-spacing:0.04em;text-decoration:none;font-weight:500;white-space:nowrap}
.wordmark .bar{color:var(--violet-soft);margin:0 0.45em;font-weight:400}
.site-nav{display:flex;gap:1.15rem;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;order:3;width:100%;overflow-x:auto;padding:0.9rem 2.5rem 0 0;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.site-nav::-webkit-scrollbar{display:none}
.site-nav a{text-decoration:none;white-space:nowrap;opacity:.75;padding-bottom:2px;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current]{opacity:1;border-bottom-color:var(--violet-soft)}
@media (min-width:900px){.site-nav{order:0;width:auto;padding:0;overflow:visible;flex:1;justify-content:center;gap:1.6rem;font-size:0.6875rem;letter-spacing:0.12em;-webkit-mask-image:none;mask-image:none}}
.hdr-right{display:flex;align-items:center;gap:0.75rem}
.lang{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;border:0.5px solid var(--hairline);border-radius:var(--radius-pill);padding:0.35rem 0.7rem;color:var(--charcoal);text-decoration:none}
.hero.oscuro .lang,.cabecera-sola.oscuro .lang{border-color:rgba(255,255,255,.3);color:#fff}
.lang:hover{border-color:var(--violet-soft);color:var(--violet-soft)}
.book-link{display:none;font-family:var(--font-sans);font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.1em;text-decoration:none}
@media (min-width:640px){.book-link{display:inline}}
.hero-copy{padding:3rem 1.5rem 3.5rem;max-width:44rem}
@media (min-width:900px){.hero-copy{padding:4.5rem 2.5rem 5rem}}
#hero-title{font-family:var(--font-display);font-size:2.75rem;line-height:1.04;letter-spacing:-0.015em;margin-top:1rem;text-wrap:balance}
@media (min-width:900px){#hero-title{font-size:3.6rem}}
.hero-lead{font-family:var(--font-sans);font-size:0.9375rem;line-height:1.65;color:var(--ink-soft);max-width:30rem;margin-top:1.75rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:2rem}
.hero-grid{display:grid;gap:1rem;align-items:center}
@media (min-width:900px){.hero-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.hero-visual{padding:0 1.5rem 2.5rem}
@media (min-width:900px){.hero-visual{padding:2.5rem 2.5rem 2.5rem 0}}
.hero-visual-frase{font-family:var(--font-display);font-size:1.05rem;line-height:1.4;text-align:center;color:rgba(255,255,255,.78);max-width:26rem;margin:1rem auto 0;text-wrap:balance}
.cabecera-sola{border-radius:var(--radius-card-lg);border:1px solid var(--hairline);overflow:hidden}
.cabecera-sola.oscuro{background:var(--violet-ink);color:#fff;border-color:transparent}

/* ---- las dos sesiones ---- */
.servicios{margin-top:0.75rem;display:grid;gap:0.75rem}
@media (min-width:900px){.servicios{grid-template-columns:1fr 1fr}}
.servicio{background:var(--background);border:1px solid var(--hairline);border-radius:var(--radius-card-lg);padding:2.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
@media (min-width:640px){.servicio{padding:2.75rem 2.25rem}}
.servicio h2{font-family:var(--font-display);font-size:1.9rem;line-height:1.1;letter-spacing:-0.01em}
.servicio p{font-family:var(--font-sans);font-size:0.9375rem;line-height:1.65;color:var(--ink-soft);flex:1}
.servicio .precio{font-family:var(--font-sans);font-size:0.8125rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--violet)}
.servicio .acciones{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:0.5rem}

/* ---- quién ---- */
.quien-grid{align-items:stretch}
@media (min-width:900px){.quien-grid{grid-template-columns:0.8fr 1.2fr;gap:3.5rem;align-items:start}}
.quien-foto{border-radius:var(--radius-card);overflow:hidden;background:var(--ghost);aspect-ratio:4/5;max-width:24rem}
@media (min-width:900px){.quien-foto{position:sticky;top:1rem;aspect-ratio:3/4;height:auto;width:100%}}
.quien-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.quien-cierre{margin-top:1.6rem;font-family:var(--font-display);font-size:1.25rem;line-height:1.5;color:var(--violet);display:flex;flex-direction:column;gap:.1rem}
.firma{margin-top:1.8rem;font-family:var(--font-firma);font-size:2.6rem;line-height:1;color:var(--violet-soft);transform:rotate(-3deg);transform-origin:left center;display:inline-block}

/* ---- puedo / no puedo / busco ---- */
.tres-col{display:grid;gap:0.75rem;margin-top:2rem}
@media (min-width:900px){.tres-col{grid-template-columns:repeat(3,1fr)}}
.tres-col > div{border:2px solid var(--violet);border-radius:var(--radius-card);padding:1.75rem 1.5rem}
.tres-col .no{border-color:var(--hairline)}
.tres-col .busco{border-color:var(--violet-soft)}
.tres-col h3{font-family:var(--font-display);font-size:1.3rem;line-height:1.2;margin-bottom:1rem}
.tres-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;font-family:var(--font-sans);font-size:0.9rem;line-height:1.55;color:var(--ink-soft)}
.tres-col li{position:relative;padding-left:1.1rem}
.tres-col li::before{content:"";position:absolute;left:0;top:.55em;width:.35rem;height:.35rem;border-radius:50%;background:var(--violet)}
.tres-col .no li::before{background:var(--hairline)}

/* ---- pasos / lista ---- */
.lista{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:0.75rem;counter-reset:paso}
@media (min-width:900px){.lista.tres{grid-template-columns:repeat(3,1fr)}}
.lista li{background:var(--background);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:1.75rem 1.5rem;counter-increment:paso}
.lista.num li::before{content:counter(paso,decimal-leading-zero);display:block;font-family:var(--font-sans);font-size:0.75rem;font-weight:700;letter-spacing:0.2em;color:var(--violet);margin-bottom:0.9rem}
.lista h3{font-family:var(--font-display);font-size:1.25rem;line-height:1.2;margin-bottom:0.6rem}
.lista p{font-family:var(--font-sans);font-size:0.9rem;line-height:1.6;color:var(--ink-soft)}

/* ---- reserva ---- */
.reserva{display:grid;gap:0.75rem;margin-top:2rem}
@media (min-width:900px){.reserva{grid-template-columns:1fr 1.4fr 1fr}}
.reserva-paso{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-card);padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.9rem}
.reserva-num{font-family:var(--font-sans);font-size:0.75rem;font-weight:700;letter-spacing:0.2em;color:var(--violet-soft)}
.reserva-paso h3{font-family:var(--font-display);font-size:1.25rem;line-height:1.2;margin-top:-.4rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font-family:var(--font-sans);font-size:0.8125rem;letter-spacing:.02em;padding:.55rem .95rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;cursor:pointer;transition:background .25s,border-color .25s,color .25s;line-height:1.2}
.chip:hover{border-color:var(--violet-soft)}
.chip[aria-pressed="true"]{background:var(--violet-soft);border-color:var(--violet-soft);color:var(--ink)}
.chip:disabled{opacity:.3;cursor:default}
.chips.dias .chip{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:3.4rem;padding:.5rem .6rem}
.chips.dias .chip b{font-family:var(--font-display);font-weight:500;font-size:1.1rem;line-height:1}
.chips.dias .chip i{font-style:normal;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.chips.horas{display:none}
.chips.horas.viva{display:flex}
.reserva-nota{font-family:var(--font-sans);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.reserva-local{text-transform:none;letter-spacing:0;color:var(--violet-soft);margin-left:.5rem}
.reserva-resumen{font-family:var(--font-sans);font-size:0.9rem;line-height:1.55;color:rgba(255,255,255,.75);min-height:3.2em}
.reserva-enviar{align-self:flex-start;margin-top:auto}
.reserva-enviar[aria-disabled="true"]{opacity:.35;pointer-events:none}
.reserva-pago{margin-top:1.5rem;font-family:var(--font-sans);font-size:0.9rem;line-height:1.6;color:rgba(255,255,255,.65);max-width:44rem}

/* ---- precio ---- */
.precio-grande{font-family:var(--font-display);font-size:2.2rem;line-height:1.1;letter-spacing:-0.01em;margin-top:0.75rem;text-wrap:balance}

/* ---- frida ---- */
.frida{display:grid;gap:2rem;margin-top:2rem}
@media (min-width:900px){.frida{grid-template-columns:0.8fr 1.2fr;gap:3.5rem;align-items:start}}
.frida-foto{border-radius:var(--radius-card);overflow:hidden;aspect-ratio:3/4;max-width:24rem;background:#000}
.frida-foto img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05)}
.frida-cabeza{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1.4rem}
.frida-cabeza b{font-family:var(--font-display);font-weight:500;font-size:1.8rem;line-height:1.1}
.frida-cabeza span{font-family:var(--font-sans);font-size:0.875rem;color:rgba(255,255,255,.65);letter-spacing:.02em}
.frida dl{margin:0;display:grid;grid-template-columns:1fr;gap:0}
.frida .fila{display:grid;grid-template-columns:minmax(9rem,0.9fr) 1.6fr;gap:1rem;padding:.6rem 0;border-top:1px solid rgba(255,255,255,.12);font-family:var(--font-sans);font-size:0.9rem;line-height:1.5}
.frida .fila:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.frida dt{color:rgba(255,255,255,.6);letter-spacing:.02em}
.frida dd{margin:0;color:#fff}
.frida-p{margin-top:1.4rem;font-family:var(--font-display);font-size:1.1rem;line-height:1.5;color:#fff;max-width:30rem}

/* ---- preguntas ---- */
.faq{margin-top:1.5rem;max-width:44rem;border-top:1px solid var(--hairline)}
.faq details{border-bottom:1px solid var(--hairline)}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 0;font-family:var(--font-display);font-size:1.2rem;line-height:1.3;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-sans);color:var(--violet);flex:none;font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{font-family:var(--font-sans);font-size:0.9375rem;line-height:1.65;color:var(--ink-soft);padding:0 0 1.25rem;max-width:36rem}

/* ---- reseñas ---- */
.resenas-grid{display:grid;gap:0.75rem;margin-top:2rem}
@media (min-width:640px){.resenas-grid{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.resenas-grid{grid-template-columns:repeat(3,1fr)}}
.resena{background:var(--background);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1rem;margin:0}
.resena .estrellas{color:var(--violet-soft);font-size:1.05rem;letter-spacing:.12em;line-height:1}
.resena blockquote{margin:0;font-family:var(--font-display);font-size:1.2rem;line-height:1.4;color:var(--ink);flex:1;text-wrap:pretty}
.resena blockquote::before{content:"“";color:var(--violet-soft)}
.resena blockquote::after{content:"”";color:var(--violet-soft)}
.resena figcaption{font-family:var(--font-sans);font-size:0.8125rem;line-height:1.5;color:var(--ink-soft);display:flex;flex-direction:column;gap:.15rem}
.resena figcaption strong{color:var(--ink);font-weight:700}
.resenas-acciones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

/* ---- blog vacío ---- */
.blog-vacio{padding:4rem 1.5rem 5rem;max-width:40rem}
@media (min-width:640px){.blog-vacio{padding:5rem 2.5rem 6rem}}

/* ---- pie ---- */
.site-footer{background:var(--violet-ink);color:#fff;border-radius:var(--radius-card-lg);margin-top:0.75rem;padding:3.5rem 1.5rem}
@media (min-width:640px){.site-footer{padding:4rem 2.5rem}}
.foot-cta{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:3.5rem}
@media (min-width:640px){.foot-cta{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.foot-cta .eyebrow{color:rgba(255,255,255,.62)}.foot-cta .eyebrow .dot{background:var(--violet-soft)}
.foot-cta .big{font-family:var(--font-display);font-size:3.25rem;line-height:0.95;letter-spacing:-0.015em;margin-top:1rem;text-wrap:balance}
.foot-cta .big span{display:block}
.foot-cols{display:grid;gap:2rem;padding:3rem 0}
@media (min-width:900px){.foot-cols{grid-template-columns:1.4fr 1fr 1fr}}
.foot-brand .blurb{font-family:var(--font-sans);font-size:0.9rem;line-height:1.6;color:rgba(255,255,255,.7);max-width:24rem;margin-top:1rem}
.foot-brand address{font-style:normal;margin-top:1.1rem;font-family:var(--font-sans);font-size:0.9rem;display:flex;flex-direction:column;gap:.35rem}
.foot-brand address a{color:#fff;text-decoration:none}.foot-brand address a:hover{color:var(--violet-soft)}
.foot-brand address span{color:rgba(255,255,255,.55);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.foot-col h4{margin:0 0 1rem;font-family:var(--font-sans);font-size:0.6875rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:700}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.6rem;font-family:var(--font-sans);font-size:0.9rem}
.foot-col a{color:#fff;text-decoration:none}.foot-col a:hover{color:var(--violet-soft)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:2rem;display:flex;flex-direction:column;gap:1.25rem;font-family:var(--font-sans);font-size:0.8125rem;color:rgba(255,255,255,.6)}
@media (min-width:640px){.foot-bottom{flex-direction:row;justify-content:space-between;align-items:center}}
.foot-bottom nav{display:flex;gap:1.25rem}
.foot-bottom a{color:rgba(255,255,255,.6);text-decoration:none}.foot-bottom a:hover{color:#fff}
/* ===== portada de video (hero de la puerta) ===== */
.portada{position:relative;background:#050409;color:#fff;border-radius:0 0 var(--radius-card-lg) var(--radius-card-lg);overflow:hidden;min-height:min(88vh,860px);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:3rem 1.5rem 5.5rem}
.portada-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.portada-velo{position:absolute;inset:0;background:radial-gradient(ellipse 55% 45% at 50% 48%,rgba(5,4,9,.42) 0%,rgba(5,4,9,.12) 55%,rgba(5,4,9,0) 100%),linear-gradient(180deg,rgba(5,4,9,.3) 0%,rgba(5,4,9,0) 30%,rgba(5,4,9,0) 65%,rgba(5,4,9,.7) 100%)}
.portada-palabra{position:absolute;left:0;right:0;top:50%;transform:translateY(-58%);display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;padding:0 1rem;transition:opacity .7s ease,transform .7s ease}
.portada-palabra b{font-family:var(--font-display);font-weight:400;font-size:min(clamp(3.4rem,11vw,9.5rem),calc(90vw / (var(--n,8) * 0.6)));line-height:.95;white-space:nowrap;letter-spacing:-0.01em;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.4)}
.portada-palabra span{font-family:var(--font-sans);font-size:clamp(.625rem,1vw,.8rem);letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.85);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.portada-palabra.cambia{opacity:0;transform:translateY(-54%)}
.portada-frase{position:relative;z-index:1;margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.35rem,2.8vw,2.1rem);letter-spacing:0.02em;text-align:center;color:#fff;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.portada .galaxia-baja{bottom:1.4rem}


/* ===== galaxia (versión anterior del hero, ya no se usa) ===== */
.galaxia{position:relative;background:#050409;color:#fff;border-radius:0 0 var(--radius-card-lg) var(--radius-card-lg);overflow:hidden;min-height:min(88vh,860px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:3rem 1rem 5rem}
.galaxia-lienzo{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}
.galaxia-frente{z-index:3}
.galaxia-manos{position:relative;width:min(100%,1500px);z-index:2;pointer-events:none}
.galaxia-manos svg{width:100%;height:auto;display:block;overflow:visible}
.galaxia .mano{fill:#050409;stroke:rgba(255,255,255,.92);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(190,170,255,.3))}
.galaxia .mano-int{fill:none;stroke:rgba(255,255,255,.4);stroke-width:1.1;stroke-linecap:round}
.galaxia-frase{position:relative;z-index:2;margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.25rem,2.6vw,1.9rem);letter-spacing:0.02em;text-align:center;color:#fff;opacity:.45;transition:opacity 1.4s ease,text-shadow 1.4s ease;text-wrap:balance}
.galaxia.recogida .galaxia-frase{opacity:1;text-shadow:0 0 24px rgba(167,128,216,.6)}
.galaxia-baja{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);width:26px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:13px;z-index:2}
.galaxia-baja span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:rgba(255,255,255,.8);animation:baja 1.8s ease-in-out infinite}
@keyframes baja{0%,100%{transform:translateY(0);opacity:1}60%{transform:translateY(14px);opacity:0}}
@media (prefers-reduced-motion:reduce){.galaxia-baja span{animation:none}}

/* ===== cuerpo ===== */
.cuerpo{position:relative;display:flex;flex-direction:column;align-items:center;gap:0.6rem;max-width:30rem;margin:0 auto}
.cuerpo svg{width:100%;height:auto;display:block;overflow:visible}
.cuerpo .organo{cursor:pointer;outline:none}
.cuerpo .organo path,.cuerpo .organo circle,.cuerpo .organo rect,.cuerpo .organo line{fill:none;stroke:var(--cuerpo-linea,var(--ink));stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;transition:fill .6s,stroke .6s,opacity .6s,filter .6s}
.cuerpo .organo text{font-family:var(--font-sans);font-size:12.5px;font-weight:700;letter-spacing:0.06em;fill:var(--cuerpo-texto,var(--charcoal));transition:fill .6s,opacity .6s}
.cuerpo .punto{fill:var(--cuerpo-texto,var(--charcoal));transition:fill .6s}
.cuerpo .organo path.con-puntos{fill:url(#cerebro-puntos)}
.cuerpo.tocado .organo:not(.activo){opacity:.3}
.cuerpo .organo.activo path,.cuerpo .organo.activo path.con-puntos,.cuerpo .organo.activo circle,.cuerpo .organo.activo rect{fill:rgba(167,128,216,.32);stroke:var(--violet-soft);filter:drop-shadow(0 0 9px rgba(167,128,216,.9))}
.cuerpo .organo.activo line{stroke:var(--violet-soft)}
.cuerpo .organo.activo text{fill:var(--violet-soft)}
.cuerpo .organo.activo .punto{fill:var(--violet-soft)}
.cuerpo-rotulo{font-family:var(--font-display);font-size:1.4rem;min-height:1.6em;color:var(--violet-soft);transition:opacity .3s}
.cuerpo-rotulo:empty{opacity:0}
.cuerpo-pista,.piedra-pista{font-family:var(--font-sans);font-size:0.6875rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--cuerpo-texto,var(--ink-soft));opacity:.7}

/* ===== piedra + lupa ===== */
.piedra{display:flex;flex-direction:column;align-items:center;gap:0.75rem;user-select:none;-webkit-tap-highlight-color:transparent;width:100%}
.piedra-cuerpo{display:grid;gap:1.5rem;width:100%;align-items:center;justify-items:center}
@media (min-width:640px){.piedra-cuerpo{grid-template-columns:minmax(0,1fr) 11rem;gap:1.25rem}}
.piedra-disco{position:relative;width:100%;max-width:30rem;aspect-ratio:1}
.piedra-disco img{position:absolute;inset:0;width:100%;height:100%;display:block}
.piedra-disco svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.piedra .signo{fill:#A780D8;fill-opacity:0;stroke:#4B3374;stroke-width:.3;stroke-opacity:0;cursor:pointer;outline:none;transition:fill-opacity .35s,stroke-opacity .35s}
.piedra .signo.on{fill-opacity:.62;stroke-opacity:.9;filter:url(#piedra-glow)}
.piedra .signo.on.suave{fill-opacity:.16;stroke-opacity:.25;filter:none}
.piedra-lado{display:flex;flex-direction:column;align-items:center;gap:0.6rem;width:11rem}
.piedra-lupa{width:10rem;height:10rem;border-radius:50%;border:2px solid var(--violet);box-shadow:0 18px 40px -20px rgba(75,51,116,.6),inset 0 0 0 1px #fff;overflow:hidden;background:#fff;position:relative;opacity:.35;transition:opacity .4s,transform .4s;transform:scale(.94)}
.piedra-lupa.viva{opacity:1;transform:none}
.piedra-lupa-img{position:absolute;inset:0;background-image:url(/sanacion/img/piedra-del-sol.svg);background-repeat:no-repeat;background-size:420% 420%;background-position:50% 50%;transition:background-position .45s ease}
.piedra-lupa::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(167,128,216,0) 55%,rgba(167,128,216,.18) 100%);pointer-events:none}
.piedra-rotulo{text-align:center;display:flex;flex-direction:column;gap:.15rem;min-height:3.4rem}
.piedra-rotulo b{font-family:var(--font-display);font-weight:500;font-size:1.5rem;color:var(--violet);letter-spacing:-0.01em;line-height:1.1}
.piedra-rotulo span{font-family:var(--font-sans);font-size:0.8125rem;color:var(--ink-soft);letter-spacing:0.04em}
.piedra-credito{font-family:var(--font-sans);font-size:0.625rem;color:#a9a3b6;letter-spacing:0.02em;text-align:center}
