:root{
  --cream:#f6f2e8; --paper:#fbf9f1; --green:#174f42; --green2:#2f715e;
  --sage:#c9d9c8; --gold:#caa85a; --ink:#23463d; --white:#fffdf7;
  --shadow:0 18px 60px rgba(24,63,53,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-weight:400;line-height:1.7}
a{text-decoration:none;color:inherit}
.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(251,249,241,.72);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,79,66,.08)}
.brand,.logo{font-family:"Cormorant Garamond",serif;letter-spacing:.23em;color:var(--green)}
.brand{font-size:27px}.brand span,.logo span{position:relative}
.nav{display:flex;gap:2rem;font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.nav a:hover{color:var(--gold)}
.mini-portal{font-family:"Cormorant Garamond";font-size:28px;color:var(--green)}
.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--green)}
.section{position:relative;overflow:hidden}
.section-no{position:absolute;left:4%;top:55px;font-size:10px;letter-spacing:.12em;color:var(--green2);border-left:1px solid currentColor;padding:0 0 35px 12px}
.section-inner{width:min(1120px,84vw);margin:auto;position:relative}
.hero{min-height:760px;height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,#dce8d9 0%,#f5efe1 55%,#c9d9d2 100%);position:relative}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(30,80,66,.15));}
.hero-glow,.closing-glow{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,246,198,.9),rgba(202,168,90,.18) 35%,transparent 70%);filter:blur(3px)}
.hero-glow{top:24%;left:50%;transform:translateX(-50%)}
.hero-content{position:relative;z-index:2;text-align:center;margin-top:30px}
.logo{font-size:78px;line-height:1}
.hero-content p{font-family:"Cormorant Garamond";font-size:20px;letter-spacing:.08em}
.outline-btn,.solid-btn{display:inline-block;border-radius:999px;padding:11px 28px;font-size:10px;letter-spacing:.18em;transition:.25s}
.outline-btn{border:1px solid var(--green)}
.outline-btn:hover{background:var(--green);color:white}
.solid-btn{background:var(--green);color:white;border:1px solid var(--green)}
.solid-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.scroll-mark{position:absolute;z-index:2;bottom:30px;font-size:25px}
.light{background:var(--paper)}
.about{padding:115px 0 105px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--green2);margin:0 0 15px}
h2{font-family:"Cormorant Garamond",serif;font-size:54px;font-weight:500;line-height:1.05;margin:0 0 25px;color:var(--green)}
.lead{font-size:17px;max-width:580px}
.healing{min-height:260px;position:relative;display:flex;align-items:center;justify-content:center}
.healing>p{font-size:14px;letter-spacing:.27em;text-align:center;z-index:2}
.flow-line,.gold-line{position:absolute;left:-10%;right:-10%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:rotate(-4deg)}
.flow-line{top:65%}
.flower-of-life{position:absolute;right:3%;top:0;width:190px;height:190px;opacity:.45}
.flower-of-life:before,.flower-of-life:after,.flower-of-life span{content:"";position:absolute;border:1px solid var(--gold);border-radius:50%;width:75px;height:75px;left:58px;top:58px}
.flower-of-life:before{transform:translateX(-38px)}.flower-of-life:after{transform:translateX(38px)}
.flower-of-life span:nth-child(1){transform:translateY(-38px)}
.flower-of-life span:nth-child(2){transform:translateY(38px)}
.flower-of-life span:nth-child(3){transform:translate(-27px,-20px)}
.flower-of-life span:nth-child(4){transform:translate(27px,20px)}
.flower-of-life span:nth-child(5){transform:scale(.65)}
.therapy{background:#f2efe5;padding:105px 0}
.therapy-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}
.body-copy{font-size:15px;max-width:560px}
.text-btn{border:0;background:none;padding:0;color:var(--green);font:500 11px Manrope;letter-spacing:.12em;cursor:pointer;margin-top:14px}
.steps{position:relative;padding-top:30px}
.step{display:inline-flex;width:24%;min-width:100px;flex-direction:column;align-items:center;gap:13px;position:relative;z-index:2}
.step span{width:90px;height:90px;border:1px solid rgba(47,113,94,.35);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#d9e4d4,#edf0e5 62%,transparent 64%);font-family:"Cormorant Garamond";font-size:25px}
.step strong{font-size:9px;letter-spacing:.2em}
.gold-line{top:76px;z-index:1}
.locations{display:flex;justify-content:center;gap:70px;margin-top:48px;font-size:12px}
.locations div{display:flex;gap:10px}.locations b{font-size:22px;color:var(--gold)}.locations small{font-size:10px;color:#60746d}
.humanity{padding:110px 0}
.humanity-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:center}
.human-symbol{height:250px;position:relative;background:radial-gradient(circle at 50% 50%,rgba(202,168,90,.18),transparent 55%)}
.leaf{position:absolute;width:80px;height:160px;border:1px solid rgba(47,113,94,.3);border-radius:100% 0 100% 0;transform:rotate(28deg);right:28%;top:28px}
.leaf2{transform:rotate(80deg);right:42%;top:70px}.leaf3{transform:rotate(140deg);right:53%;top:25px}
.consciousness{background:linear-gradient(110deg,#163f36,#416b59 55%,#1b4b40);color:white;padding:110px 0}
.consciousness h2,.consciousness .eyebrow{color:white}
.consciousness-grid{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:50px;align-items:center}
.portal-art,.closing-portal{height:260px;display:grid;place-items:center;position:relative}
.portal{width:140px;height:140px;border:1px solid rgba(202,168,90,.85);border-radius:50%;box-shadow:0 0 55px rgba(202,168,90,.2);position:relative}
.portal:before{content:"";position:absolute;left:50%;top:-25%;height:150%;width:1px;background:linear-gradient(transparent,var(--gold),transparent);transform:rotate(12deg)}
.portal:after{content:"";position:absolute;inset:27%;border:1px solid rgba(202,168,90,.55);border-radius:50%}
.rays{position:absolute;width:300px;height:300px;border:1px solid rgba(202,168,90,.2);border-radius:50%;transform:rotate(45deg)}
.sessions{background:var(--paper);padding:55px 0;border-top:1px solid rgba(23,79,66,.08);border-bottom:1px solid rgba(23,79,66,.08)}
.session-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr 1fr;align-items:center;gap:22px}
.sessions h2{font-size:45px;margin:0}.session-item{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.session-item .icon{font-size:22px;color:var(--green2);grid-row:span 2}.session-item b{font-size:9px;letter-spacing:.16em}.session-item small{font-size:9px;color:#667a72}.phone{display:flex;align-items:center}
.closing{min-height:610px;background:linear-gradient(180deg,#e9eee3,#d3ded4 55%,#d6cdb8);display:flex;align-items:center}
.closing-glow{left:50%;top:40%;transform:translate(-50%,-50%);width:300px;height:300px}
.closing-grid{display:grid;grid-template-columns:1.1fr .7fr 1fr;align-items:center;gap:55px;z-index:2}
.closing-logo{font-size:70px}.closing-grid p{font-family:"Cormorant Garamond";font-size:19px}.closing-grid h3{font:500 22px "Cormorant Garamond";color:var(--green)}
footer{position:absolute;bottom:30px;left:8%;right:8%;display:flex;gap:28px;font-size:9px;letter-spacing:.03em;color:#526b63;border-top:1px solid rgba(23,79,66,.15);padding-top:15px}
.modal{position:fixed;inset:0;background:rgba(17,50,42,.48);backdrop-filter:blur(7px);display:none;place-items:center;z-index:100;padding:25px}
.modal.open{display:grid}.modal-box{background:var(--paper);max-width:720px;max-height:82vh;overflow:auto;padding:55px;border-radius:3px;box-shadow:0 25px 90px rgba(0,0,0,.2);position:relative}.modal-box h2{font-size:45px}.modal-box p{font-size:14px}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:30px;color:var(--green);cursor:pointer}
@media(max-width:900px){
 .nav{display:none}.menu-toggle{display:block}.mini-portal{display:none}
 .nav.open{display:flex;position:absolute;top:76px;left:0;right:0;background:rgba(251,249,241,.97);flex-direction:column;padding:22px 8vw;gap:18px}
 .hero{min-height:680px}.logo{font-size:58px}.section-inner{width:86vw}
 h2{font-size:43px}.two-col,.therapy-grid,.humanity-grid,.consciousness-grid,.closing-grid{grid-template-columns:1fr;gap:40px}
 .healing{min-height:190px}.flower-of-life{right:10%;opacity:.3}
 .step{width:49%;margin-bottom:25px}.gold-line{display:none}.locations{gap:25px}
 .session-grid{grid-template-columns:1fr 1fr}.sessions h2{grid-column:1/-1}
 .closing{padding:100px 0 120px}.closing-portal{display:none}
 footer{position:relative;left:auto;right:auto;bottom:auto;margin:70px 7vw 0;flex-wrap:wrap}
}
@media(max-width:560px){
 .hero-content p{font-size:17px}.lead{font-size:15px}.section-no{left:6%;top:35px}
 .about,.therapy,.humanity,.consciousness{padding:85px 0}.step span{width:74px;height:74px}
 .session-grid{grid-template-columns:1fr}.session-item{max-width:320px}.solid-btn{justify-self:start}
 .modal-box{padding:38px 25px}.modal-box h2{font-size:38px}
}

/* ===== Cambios: logo de "Espacio de sanación" y foto en "Mi humanidad" ===== */
.healing-mark{
  position:absolute;left:50%;top:50%;
  width:240px;height:240px;
  transform:translate(-50%,-50%);
  opacity:.4;pointer-events:none;
}
.healing>p{text-shadow:0 0 14px var(--paper),0 0 6px var(--paper)}

.human-photo{margin:0;justify-self:center;width:100%;max-width:360px}
.human-photo img{
  display:block;width:100%;height:auto;
  border-radius:180px 180px 14px 14px;
  outline:1px solid rgba(202,168,90,.65);outline-offset:10px;
}

@media(max-width:900px){
  .healing-mark{width:200px;height:200px}
  .human-photo{max-width:300px}
}

/* ===== Botón flotante de WhatsApp ===== */
.wsp-float{
  position:fixed;
  right:max(20px,env(safe-area-inset-right));
  bottom:max(20px,env(safe-area-inset-bottom));
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;
  box-shadow:0 6px 18px rgba(17,50,42,.28);
  z-index:40; /* debajo del menú (50) y de las ventanas (100) */
  transition:transform .2s ease,box-shadow .2s ease;
}
.wsp-float svg{width:32px;height:32px;fill:#fff}
.wsp-float:hover{transform:scale(1.08);box-shadow:0 8px 22px rgba(17,50,42,.34)}
.wsp-float:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
  .wsp-float:before{
    content:"";position:absolute;inset:0;border-radius:50%;
    border:2px solid #25D366;animation:wsp-pulse 2.4s ease-out infinite;
  }
  @keyframes wsp-pulse{from{transform:scale(1);opacity:.7}to{transform:scale(1.6);opacity:0}}
}
@media(max-width:900px){.wsp-float{width:54px;height:54px}.wsp-float svg{width:30px;height:30px}}

/* ===== Ajustes responsive: evitan desplazamiento lateral y solapamientos ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
img{max-width:100%}
h2,.lead,.body-copy,.modal-box{overflow-wrap:break-word}
.hero{overflow:hidden}
.hero-glow{width:min(360px,80vw);height:min(360px,80vw)}
.rays{width:min(300px,80vw);height:min(300px,80vw)}
.text-btn{padding:8px 0;margin-top:6px}
@supports(height:100dvh){.hero{height:100dvh}}

/* Pantallas medianas: el menú no se pisa con el logo */
@media(min-width:901px) and (max-width:1100px){
  .topbar{padding:0 3vw}
  .brand{font-size:23px}
  .nav{gap:1.1rem;font-size:9px;letter-spacing:.08em}
}

/* Contacto y pie de página en celulares y tablets: se apilan en columna
   (antes quedaban uno al lado del otro y el texto pegado al borde) */
@media(max-width:900px){
  .closing{flex-direction:column;align-items:center;justify-content:center}
  .closing .section-inner{margin:0 auto}
  .closing footer{align-self:stretch;margin:60px 7vw 0}
  .closing-grid p{text-wrap:balance}
}

/* Celulares muy chicos */
@media(max-width:360px){
  .logo{font-size:48px}
  .hero-content p{font-size:16px}
  h2{font-size:36px}
  .modal{padding:14px}
  .modal-box{padding:32px 20px}
  .modal-box h2{font-size:32px}
}

/* Celulares apaisados (horizontal) */
@media(max-height:520px) and (orientation:landscape){
  .hero{height:auto;min-height:520px}
  .modal-box{max-height:90vh}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== Notas (blog): secciones expandibles con paginación ===== */
.blog{background:#f2efe5;padding:110px 0 120px}
.blog-head{margin-bottom:46px}
.blog-head h2{margin:0}
.blog-grid{display:flex;flex-direction:column;gap:16px}
.post{background:var(--white);border:1px solid rgba(23,79,66,.10);border-left:2px solid var(--gold);border-radius:3px;padding:28px 36px;transition:box-shadow .3s}
.post.open{box-shadow:var(--shadow)}
.post[hidden]{display:none}
.post-img{display:none}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 12px;font-size:11px;color:#60746d}
.post-cat{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--green2);border:1px solid rgba(47,113,94,.35);border-radius:999px;padding:2px 12px}
.post-title{font:500 30px/1.15 "Cormorant Garamond",serif;color:var(--green);margin:0 0 10px}
.post-excerpt{font-size:14px;margin:0;max-width:640px}
.post-toggle{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:8px 0}
.post-toggle .sign{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--green);border-radius:50%;font-size:14px;line-height:1;transition:background .25s,color .25s}
.post-toggle:hover .sign{background:var(--green);color:#fff}
.post-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.post-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.post.open .post-body{grid-template-rows:1fr}
.post-full{display:block;overflow:hidden;min-height:0}
.post-full p{font-size:15.5px;line-height:1.85;max-width:66ch;margin:0 0 1em}
.post-full p:first-child{margin-top:22px;padding-top:22px;border-top:1px solid rgba(202,168,90,.5)}
.blog-pager{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:38px}
.blog-pager[hidden]{display:none}
.pager-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--green);background:none;color:var(--green);font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s}
.pager-btn:hover:not(:disabled){background:var(--green);color:#fff}
.pager-btn:disabled{opacity:.3;cursor:default}
.pager-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pager-count{font-size:12px;letter-spacing:.22em;min-width:64px;text-align:center}
@media(min-width:901px) and (max-width:1100px){.nav{gap:.8rem;font-size:8.5px}}
@media(max-width:900px){.blog{padding:85px 0 95px}}
@media(max-width:640px){
  .post{padding:24px 22px}
  .post-title{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.post-body{transition:none}}