:root{
  --forest:#0d1714;
  --forest-2:#15231e;
  --cream:#f1eee5;
  --paper:#e8e3d6;
  --sage:#879d8b;
  --gold:#bba77b;
  --ink:#18221e;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.site-header{
  position:fixed;z-index:50;top:0;left:0;width:100%;
  display:flex;align-items:center;gap:4px;
  padding:17px 4vw;
  background:rgba(240,242,241,.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(24,34,30,.10);
  box-shadow:0 8px 30px rgba(20,32,25,.06);
}
.brand{
  display:flex;align-items:center;gap:10px;min-width:max-content;
  color:#343936;font-size:13px;letter-spacing:.22em;font-weight:800;
}
.brand-mark{font-size:25px;font-weight:300;color:var(--gold);line-height:1}
.main-nav{
  display:flex;align-items:center;justify-content:center;gap:clamp(18px,2vw,30px);
  overflow-x:auto;white-space:nowrap;scrollbar-width:none;flex:1;
}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{
  position:relative;color:#303532;
  font-family:var(--sans);
  font-size:11px;line-height:1;
  letter-spacing:.095em;
  font-weight:700;
  text-transform:uppercase;
  padding:9px 0 11px;
  transition:color .3s ease,transform .3s ease;
}
.main-nav a::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:center;
  transition:transform .3s ease;
}
.main-nav a:hover,.main-nav a.active{
  color:var(--gold);
  transform:translateY(-1px);
}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.hero{height:100svh;min-height:680px;position:relative;display:grid;place-items:center;overflow:hidden;background:#0d1714;color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.65)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,10,.76),rgba(5,13,10,.22) 60%,rgba(5,13,10,.48))}
.hero-content{position:relative;z-index:2;width:min(1100px,88vw);padding-top:70px}
.eyebrow{font-size:10px;letter-spacing:.28em;font-weight:500;display:block;color:var(--gold);margin-bottom:22px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(58px,8vw,80px);line-height:.84;letter-spacing:-.035em}
.hero h1 em,h2 em{font-style:italic;font-weight:400;color:var(--gold)}
.hero-copy{max-width:480px;margin-top:32px;line-height:1.9;font-size:13px;color:rgba(255,255,255,.78)}
.hero-button{display:inline-flex;align-items:center;gap:22px;margin-top:34px;border:1px solid rgba(255,255,255,.4);padding:15px 20px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;transition:.4s}
.hero-button:hover{background:#fff;color:var(--forest);transform:translateY(-3px)}
.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.28em;color:rgba(255,255,255,.7);display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-cue span{height:42px;width:1px;background:rgba(255,255,255,.5);animation:pulse 2s infinite}
.floating-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12);animation:float 9s ease-in-out infinite}
.orb-one{width:280px;height:280px;right:9%;top:22%}.orb-two{width:150px;height:150px;right:21%;bottom:17%;animation-delay:-3s}
.section-light{background:var(--cream);position:relative;padding:140px 8vw}
.section-number{position:absolute;left:4vw;top:65px;color:rgba(24,34,30,.35);font-size:9px;letter-spacing:.2em}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;max-width:1100px;margin:auto}
.section-heading h2,.center-heading h2,.sacred h2,.healer-title h2,.aroma h2,.wellness-content h2,.community h2{font-family:var(--serif);font-weight:400;font-size:clamp(50px,6vw,88px);line-height:.88;letter-spacing:-.025em}
.section-copy{padding-top:60px;font-size:15px;line-height:2;color:#27332d}
.section-copy p+p{margin-top:22px}
.dark{background:var(--forest);color:#f2eee4}
.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:780px}
.visual-panel{position:relative;min-height:600px;background:radial-gradient(circle at 50% 45%,#53675a 0,#263a31 26%,#111f1a 65%);overflow:hidden}
.visual-panel:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.08);border-radius:50%;animation:spin 30s linear infinite}
.leaf-ring{position:absolute;width:320px;height:320px;border:1px solid rgba(187,167,123,.6);border-radius:48% 52% 55% 45%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(25deg);box-shadow:0 0 0 30px rgba(187,167,123,.03),0 0 0 70px rgba(187,167,123,.02)}
.visual-caption{position:absolute;bottom:32px;left:35px;font-size:9px;letter-spacing:.25em;color:rgba(255,255,255,.55)}
.text-panel{display:flex;justify-content:center;flex-direction:column;padding:10vw}
.text-panel h2{font-family:var(--serif);font-size:clamp(52px,5vw,80px);line-height:.9;font-weight:400}
.text-panel p{max-width:420px;line-height:2;margin-top:28px;font-size:13px;color:rgba(255,255,255,.68)}
.text-link{margin-top:32px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.text-link span{margin-left:12px}
.center-heading{text-align:center;max-width:760px;margin:0 auto 75px}
.center-heading p{margin:25px auto 0;max-width:520px;font-size:15px;line-height:1.95;color:#27332d}
.ritual-cards{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ritual-card{border-top:1px solid rgba(24,34,30,.25);padding:28px 4px 10px}
.ritual-card span{font-size:9px;letter-spacing:.18em;color:var(--gold)}
.ritual-card h3{font-family:var(--serif);font-size:36px;font-weight:400;margin:32px 0 10px}
.ritual-card p{font-size:14px;line-height:1.9;color:#3f4a44}

/* ===== Grounding — Four Elements ===== */
.grounding{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:95px;
  padding-bottom:70px;
  overflow:hidden;
}

.grounding-heading{
  width:min(1100px,100%);
  margin:0 auto 38px;
  text-align:center;
}

.grounding-heading h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(48px,6vw,82px);
  line-height:.9;
  letter-spacing:-.025em;
}

.grounding-elements{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.element-card{
  min-width:0;
  position:relative;
}

.element-image{
  position:relative;
  width:100%;
  aspect-ratio:0.474;
  overflow:hidden;
  background:#d8ddd7;
  box-shadow:0 18px 45px rgba(20,32,25,.12);
}

.element-image img{
  position:absolute;
  width:100%;
  max-width:none;
  height:auto;
  transform:translateX(0);
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
}



.element-card:hover .element-image img{
  transform:scale(1.045);
}

.element-copy{
  padding:18px 5px 0;
}

.element-copy span{
  display:block;
  font-size:8px;
  letter-spacing:.2em;
  color:var(--gold);
  margin-bottom:10px;
}

.element-copy h3{
  font-family:var(--serif);
  font-size:30px;
  line-height:1;
  font-weight:400;
  margin-bottom:8px;
}

.element-copy p{
  font-size:11px;
  line-height:1.65;
  color:#3f4a44;
  max-width:220px;
}

.grounding-caption{
  width:min(980px,100%);
  margin:38px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(24,34,30,.18);
  text-align:center;
}

.grounding-caption p{
  font-size:14px;
  line-height:1.85;
  color:#3f4a44;
}

.element-card{
  animation:groundingFloat 7s ease-in-out infinite;
  animation-delay:var(--element-delay,0s);
}

.element-earth{--element-delay:0s}
.element-water{--element-delay:-1.2s}
.element-air{--element-delay:-2.4s}
.element-fire{--element-delay:-3.6s}

@keyframes groundingFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-9px)}
}

@media(max-width:850px){
  .grounding{
    min-height:auto;
    padding:95px 8vw 65px;
  }
  .grounding-heading{margin-bottom:32px}
  .grounding-elements{
    grid-template-columns:repeat(2,1fr);
    gap:28px 16px;
  }
  .element-image{aspect-ratio:.62}
  .grounding-caption{margin-top:38px}
}

@media(max-width:520px){
  .grounding{padding:82px 7vw 55px}
  .grounding-elements{gap:25px 12px}
  .element-image{aspect-ratio:.60}
  .element-copy{padding-top:13px}
  .element-copy h3{font-size:25px}
  .element-copy p{font-size:10px}
  .grounding-caption{margin-top:30px;padding-top:20px}
  .grounding-caption p{font-size:10px;line-height:1.75}
}

@media(prefers-reduced-motion:reduce){
  .element-card{animation:none}
  .element-card .element-image img{transition:none}
}


/* ===== Wellness — 4 images controlled from index.html ===== */
.wellness-section{
  min-height:100svh!important;
  height:100svh;
  background:var(--forest);
  color:#fff;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(80px,9vh,110px) 5vw 45px;
}

.wellness-gallery{
  width:min(1080px,100%);
  height:min(68svh,620px);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(8px,1.2vw,16px);
  align-items:center;
}

.wellness-card{
  position:relative;
  min-width:0;
  height:100%;
  overflow:hidden;
  border-radius:2px;
  animation:wellnessCardFloat 7s ease-in-out infinite;
  animation-delay:var(--wellness-delay,0s);
  will-change:transform;
}

.wellness-card-1{--wellness-delay:0s}
.wellness-card-2{--wellness-delay:-1.4s}
.wellness-card-3{--wellness-delay:-2.8s}
.wellness-card-4{--wellness-delay:-4.2s}

.wellness-image{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#17251f;
}

.wellness-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,13,10,.42),rgba(5,13,10,0) 50%);
  pointer-events:none;
}

.wellness-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  animation:wellnessImageZoom 8s ease-in-out infinite alternate;
  transition:transform 1s ease,filter 1s ease;
  will-change:transform;
}

.wellness-card:hover .wellness-image img{
  transform:scale(1.055);
  filter:saturate(1.08);
}

.wellness-label{
  position:absolute;
  z-index:2;
  left:8px;
  right:8px;
  bottom:14px;
  text-align:center;
  color:#fff;
  font-size:clamp(17px,.65vw,10px);
  line-height:1.3;
  letter-spacing:.14em;
  font-weight:600;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}

@keyframes wellnessCardFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

@keyframes wellnessImageZoom{
  0%{transform:scale(1.01)}
  100%{transform:scale(1.045)}
}

@media(max-width:850px){
  .wellness-section{
    height:auto!important;
    min-height:calc(100svh - 110px)!important;
    padding:60px 7vw 50px;
  }

  .wellness-gallery{
    width:100%;
    height:auto;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }

  .wellness-card{
    height:34svh;
    min-height:210px;
  }

  .wellness-label{
    bottom:10px;
    font-size:17px;
    letter-spacing:.1em;
  }
}

@media(max-width:520px){
  .wellness-section{
    min-height:calc(100svh - 114px)!important;
    padding:50px 6vw 40px;
  }

  .wellness-gallery{
    grid-template-columns:repeat(2,1fr);
    gap:9px;
  }

  .wellness-card{
    height:31svh;
    min-height:185px;
  }

  .wellness-label{
    bottom:8px;
    font-size:14px;
  }
}

@media(prefers-reduced-motion:reduce){
  .wellness-card,
  .wellness-image img{
    animation:none;
    transition:none;
  }
}

.sacred-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw}
.sacred-copy p{max-width:420px;line-height:2;font-size:15px;margin-top:30px;color:#27332d}
.sacred-circle{width:min(430px,80vw);aspect-ratio:1;margin:auto;border-radius:50%;background:radial-gradient(circle at 40% 35%,#c6b98f,#89947d 34%,#31433a 70%,#17251f);display:grid;place-items:center;box-shadow:0 30px 80px rgba(20,32,25,.18);animation:breath 7s ease-in-out infinite}
.circle-inner{text-align:center;color:#f3efe4;letter-spacing:.25em;font-size:10px;line-height:2}
.circle-inner em{font-family:var(--serif);font-size:50px;letter-spacing:0;font-style:italic}
.healers{padding:150px 8vw;position:relative}
.healer-layout{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.healer-text{padding-top:70px}
.healer-text>p{font-size:14px;line-height:2;color:rgba(255,255,255,.68);max-width:430px}
.quote{font-family:var(--serif);font-size:34px;line-height:1.1;color:var(--gold);margin-top:65px;max-width:450px}
.aroma-layout{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw}
.aroma-bottle{height:480px;display:grid;place-items:center;position:relative}
.bottle{width:150px;height:230px;background:linear-gradient(90deg,#4a5b4d,#8c9b84 50%,#34483b);border-radius:8px 8px 25px 25px;display:grid;place-items:center;text-align:center;color:#f1eee5;letter-spacing:.2em;font-size:10px;box-shadow:0 30px 70px rgba(22,35,27,.2)}
.bottle small{font-size:6px;letter-spacing:.3em}
.bottle-cap{position:absolute;width:55px;height:60px;background:#26362e;top:76px;border-radius:5px 5px 2px 2px}
.aroma-copy p{max-width:430px;line-height:2;font-size:15px;margin-top:30px;color:#27332d}
.notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.notes span{font-size:8px;letter-spacing:.18em;border:1px solid rgba(24,34,30,.2);padding:9px 11px}
/* Community — inspired by Tucano Peru's international community page */
.community{min-height:100svh;background:#fff;color:#171717;position:relative;overflow:hidden;padding:110px 6vw 90px;display:block}
.community-inner{width:min(1240px,100%);margin:0 auto}
.community-heading{text-align:center;margin:0 auto 48px}
.community-heading .eyebrow{color:#6d6d6d}
.community-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(50px,6vw,88px);line-height:.88;letter-spacing:-.025em;margin-top:18px;color:#171717}
.community-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:18px;row-gap:18px;align-items:center;justify-items:center}
.community-logo{width:100%;height:125px;display:flex;align-items:center;justify-content:center;background:#fff}
.community-logo img{display:block;width:100%;height:100%;max-width:190px;max-height:115px;object-fit:contain}

footer{position:absolute;z-index:3;bottom:24px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.16em;color:rgba(255,255,255,.4);text-transform:uppercase}
.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s ease,transform 1s ease}
.reveal.visible{opacity:1;transform:none}
@keyframes float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.03)}}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes breath{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(max-width:850px){
  .site-header{padding:13px 16px;gap:10px}.brand{justify-content:center;width:100%;margin-bottom:10px}.brand span:last-child{display:inline}.main-nav{width:100%;justify-content:flex-start;gap:22px;padding:4px 8px 7px;overflow-x:auto}.main-nav a{font-size:10px;font-weight:700;flex:0 0 auto}
  .hero{min-height:620px}.hero-content{padding-top:90px}.hero h1{font-size:clamp(54px,15vw,38px)}.hero-copy{font-size:12px}
  .section-light,.healers{padding:100px 8vw}.section-number{top:40px}
  .content-grid,.split-section,.sacred-inner,.healer-layout,.aroma-layout{grid-template-columns:1fr}
  .section-copy{padding-top:0}.split-section{min-height:auto}.visual-panel{min-height:460px}.text-panel{padding:90px 8vw;min-height:500px}
  .ritual-cards{grid-template-columns:1fr;gap:34px}.center-heading{margin-bottom:50px}
  .sacred-circle{margin-top:20px}.healer-text{padding-top:0}.quote{margin-top:40px}
  .aroma-bottle{height:380px}.bottle-cap{top:40px}.community{min-height:auto;padding:90px 7vw 70px}.community-heading{margin-bottom:42px}.community-heading h2{font-size:clamp(42px,9vw,64px)}.community-logos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:14px}.community-logo{height:115px}.community-logo img{max-width:160px;max-height:105px}
  footer{flex-direction:column;gap:8px;align-items:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.floating-orb,.leaf-ring,.visual-panel:after,.community-bg:before,.sacred-circle,.author-photo-wrap,.author-photo-ring,.author-photo-ring img,.wellness-card,.wellness-image img{animation:none}
}

.author-signature{font-size:9px;letter-spacing:.22em;color:var(--gold);margin-bottom:12px}

.top-tagline{min-height:54px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 20px;background:#23b0ba;color:#fff;font-size:clamp(9px,1.15vw,13px);font-weight:500;letter-spacing:.25em;line-height:1.4}
.site-header{position:sticky;top:0}
.full-screen-section{min-height:100svh!important;height:100svh}
.media-panel{position:relative;overflow:hidden;background:#111f1a}
.section-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75)}
.media-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,10,.12),rgba(5,13,10,.38));pointer-events:none}
.auto-slider{position:relative;width:100%;height:min(70vh,620px);overflow:hidden;background:#18221e;box-shadow:0 25px 70px rgba(20,32,25,.15)}
.auto-slider .slider-track{display:flex;width:300%;height:100%;transition:transform .9s cubic-bezier(.65,.05,.36,1)}
.auto-slider img{width:33.333333%;height:100%;flex:0 0 33.333333%;object-fit:cover;display:block}
.slider-dots{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:9px}
.slider-dot{width:34px;height:2px;border:0;padding:0;background:rgba(255,255,255,.42);cursor:pointer;transition:.3s}
.slider-dot.active{background:#fff;width:52px}
.sacred-inner,.aroma-layout{min-height:calc(100svh - 1px)}
@media(max-width:850px){
.top-tagline{min-height:58px;font-size:8px;letter-spacing:.15em;padding:11px 18px}
.site-header{position:sticky;top:0;display:block;padding:12px 12px 9px;text-align:center}
.brand{justify-content:center;width:100%;margin-bottom:9px}.brand span:last-child{display:inline}
.main-nav{width:100%;justify-content:flex-start;gap:20px;padding:3px 8px 5px;-webkit-overflow-scrolling:touch}
.main-nav a{flex:0 0 auto;font-size:9px;font-weight:700;letter-spacing:.08em}
.hero{height:calc(100svh - 104px);min-height:620px}
.full-screen-section{height:auto!important;min-height:calc(100svh - 104px)!important}
.split-section{grid-template-columns:1fr}
.visual-panel{min-height:50svh;height:50svh}
.text-panel{min-height:50svh;padding:70px 8vw}
.sacred-inner,.aroma-layout{min-height:auto;gap:50px}
.auto-slider{height:52svh;min-height:330px}
.sacred-copy,.aroma-copy{padding-bottom:40px}
}
@media(max-width:520px){
.top-tagline{min-height:52px;font-size:7px;letter-spacing:.12em}
.site-header{padding:10px 10px 8px}.brand{font-size:11px;letter-spacing:.18em}.main-nav{gap:18px;padding-left:6px;padding-right:6px}.main-nav a{font-size:8.5px;font-weight:700;letter-spacing:.07em}
.section-light,.healers{padding:85px 7vw}.section-number{left:7vw;top:32px}
.text-panel,.wellness-content{padding:65px 7vw}
.auto-slider{height:44svh;min-height:280px}.slider-dot{width:24px}.slider-dot.active{width:38px}
}


/* ===== About the Author ===== */
.about-author-section{display:flex;align-items:center;justify-content:center;min-height:100svh!important;height:100svh;padding:90px 8vw 70px;overflow:hidden}
.about-author-grid{width:min(1180px,100%);display:grid;grid-template-columns:minmax(320px,42%) minmax(0,58%);align-items:center;gap:clamp(50px,7vw,110px);margin:auto}
.author-photo-wrap{display:flex;justify-content:center;align-items:center}
.author-photo-ring{width:min(390px,34vw);aspect-ratio:1;border-radius:50%;padding:9px;background:linear-gradient(145deg,rgba(187,167,123,.95),rgba(24,34,30,.12));box-shadow:0 30px 80px rgba(20,32,25,.22);overflow:hidden}
.author-photo-ring img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;border-radius:50%;filter:grayscale(100%);transition:transform .8s ease}
.author-photo-ring:hover img{transform:scale(1.035)}
.author-bio{max-width:700px;max-height:78svh;overflow:auto;padding-right:14px;scrollbar-width:thin}
.author-bio h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4.6vw,72px);line-height:.92;letter-spacing:-.025em;margin-bottom:28px}
.author-bio .eyebrow{margin-bottom:16px}
.bio-copy{font-size:15px;line-height:1.9;color:#27332d;font-weight:400; text-align:justify;}
.bio-copy p+p{margin-top:14px}
.author-signoff{display:flex;flex-direction:column;gap:5px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(24,34,30,.18)}
.author-signoff strong{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--ink)}
.author-signoff span{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#756642;font-weight:500}
@media(max-width:850px){
  .about-author-section{height:auto!important;min-height:calc(100svh - 104px)!important;padding:95px 8vw 70px}
  .about-author-grid{grid-template-columns:1fr;gap:45px}
  .author-photo-ring{width:min(300px,58vw)}
  .author-bio{max-height:none;overflow:visible;padding-right:0}
  .author-bio h2{font-size:clamp(42px,10vw,64px)}
}
@media(max-width:520px){
  .about-author-section{padding:82px 7vw 60px}
  .author-photo-ring{width:min(250px,66vw);padding:7px}
  .author-bio h2{font-size:clamp(38px,11vw,54px);margin-bottom:22px}
  .bio-copy{font-size:13.5px;line-height:1.85;color:#27332d}
  .author-signoff strong{font-size:25px}
  .author-signoff span{font-size:8px;line-height:1.5}
}


/* ===== Responsive Hamburger Menu ===== */
.menu-toggle{display:none;width:44px;height:44px;margin-left:auto;border:1px solid rgba(24,34,30,.16);background:rgba(255,255,255,.35);border-radius:50%;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:background .3s ease,border-color .3s ease;flex:0 0 auto}
.menu-toggle:hover{background:rgba(255,255,255,.72);border-color:rgba(187,167,123,.65)}
.menu-toggle span{display:block;width:18px;height:1.5px;background:#303532;transition:transform .35s ease,opacity .25s ease;transform-origin:center}
.menu-toggle.is-active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-toggle.is-active span:nth-child(2){opacity:0}
.menu-toggle.is-active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
body.menu-open{overflow:hidden}

@media(max-width:850px){
  .site-header{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:10px 14px;text-align:left}
  .site-header .brand{width:auto;margin:0;justify-content:flex-start}
  .menu-toggle{display:flex}
  .main-nav{position:absolute;top:100%;left:0;right:0;width:100%;height:auto;max-height:calc(100svh - 68px);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:10px 18px 18px;background:rgba(240,242,241,.98);backdrop-filter:blur(18px);border-bottom:1px solid rgba(24,34,30,.12);box-shadow:0 18px 35px rgba(20,32,25,.12);overflow-y:auto;overflow-x:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease}
  .main-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .main-nav a{width:100%;padding:16px 4px;font-size:10px;letter-spacing:.12em;border-bottom:1px solid rgba(24,34,30,.08);transform:none}
  .main-nav a:last-child{border-bottom:0}
  .main-nav a::after{left:auto;right:4px;bottom:0;width:35px;transform:scaleX(0)}
  .main-nav a:hover,.main-nav a.active{transform:none}
  .main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
  .hero{height:calc(100svh - 110px)}
  .full-screen-section{min-height:calc(100svh - 110px)!important}
}
@media(max-width:520px){
  .site-header{min-height:62px;padding:9px 10px}
  .brand{font-size:11px;letter-spacing:.18em}
  .menu-toggle{width:40px;height:40px}
  .main-nav{max-height:calc(100svh - 62px);padding:8px 16px 14px}
  .main-nav a{font-size:9px;padding:15px 4px}
  .hero{height:calc(100svh - 114px)}
  .full-screen-section{min-height:calc(100svh - 114px)!important}
}

/* ===== Animated About the Author photo ===== */
.author-photo-wrap{
  animation:aboutPhotoFloat 6s ease-in-out infinite;
  will-change:transform;
}
.author-photo-ring{
  animation:aboutPhotoGlow 6s ease-in-out infinite;
  will-change:transform,box-shadow;
}
.author-photo-ring img{
  animation:aboutPhotoZoom 8s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes aboutPhotoFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-10px) rotate(.6deg)}
}
@keyframes aboutPhotoGlow{
  0%,100%{box-shadow:0 30px 80px rgba(20,32,25,.22)}
  50%{box-shadow:0 38px 95px rgba(20,32,25,.30)}
}
@keyframes aboutPhotoZoom{
  0%{transform:scale(1)}
  100%{transform:scale(1.045)}
}


/* ==========================================
   WELCOME + SACRED
   MISMO DISEÑO 50 / 50
   ========================================== */

#welcome,
#sacred {
    position: relative;
    padding: 0 !important;
    overflow: hidden;
}

/* Ocultar número de sección */
#welcome .section-number,
#sacred .section-number {
    display: none;
}

/* ==========================================
   CONTENEDOR PRINCIPAL — 50 / 50
   ========================================== */

#welcome .sacred-inner,
#sacred .sacred-inner {
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 0 !important;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 0;
    align-items: stretch;
}

/* ==========================================
   SLIDER — MITAD IZQUIERDA
   ========================================== */

#welcome .auto-slider,
#sacred .auto-slider {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: #18221e;
    box-shadow: none;
}

/* Track */
#welcome .auto-slider .slider-track,
#sacred .auto-slider .slider-track {
    display: flex;
    width: 300%;
    height: 100%;
    transition: transform .9s cubic-bezier(.65,.05,.36,1);
}

/* Imágenes */
#welcome .auto-slider img,
#sacred .auto-slider img {
    width: 33.333333%;
    height: 100%;
    flex: 0 0 33.333333%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* ==========================================
   PUNTOS DEL SLIDER
   ========================================== */

#welcome .slider-dots,
#sacred .slider-dots {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    display: flex;
    gap: 9px;
}

#welcome .slider-dot,
#sacred .slider-dot {
    width: 34px;
    height: 2px;
    padding: 0;
    border: 0;
    background: rgba(255,255,255,.45);
    cursor: pointer;
    transition: .3s;
}

#welcome .slider-dot.active,
#sacred .slider-dot.active {
    width: 52px;
    background: #fff;
}

/* ==========================================
   TEXTO — MITAD DERECHA
   ========================================== */

#welcome .sacred-copy,
#sacred .sacred-copy {
    width: 100%;
    height: 100%;
    padding: 0 7vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

#welcome .sacred-copy .eyebrow,
#sacred .sacred-copy .eyebrow {
    margin-bottom: 14px;
}

#welcome .sacred-copy h2,
#sacred .sacred-copy h2 {
    margin: 0;
    font-size: clamp(48px, 5vw, 76px);
    line-height: .92;
    max-width: 500px;
}

#welcome .sacred-copy p,
#sacred .sacred-copy p {
    max-width: 450px;
    margin-top: 28px;
    text-align: justify;
    font-size: 15px;
    line-height: 1.9;
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 850px) {

    #welcome,
    #sacred {
        height: auto !important;
        min-height: 0 !important;
    }

    #welcome .sacred-inner,
    #sacred .sacred-inner {
        height: auto;
        min-height: 0 !important;
        grid-template-columns: 1fr;
    }

    #welcome .auto-slider,
    #sacred .auto-slider {
        width: 100%;
        height: 55svh;
        min-height: 350px;
    }

    #welcome .sacred-copy,
    #sacred .sacred-copy {
        height: auto;
        min-height: 50svh;
        padding: 70px 8vw;
    }

    #welcome .sacred-copy h2,
    #sacred .sacred-copy h2 {
        font-size: clamp(48px, 9vw, 68px);
    }
}

/* ==========================================
   CELULAR
   ========================================== */

@media (max-width: 520px) {

    #welcome .auto-slider,
    #sacred .auto-slider {
        height: 48svh;
        min-height: 300px;
    }

    #welcome .sacred-copy,
    #sacred .sacred-copy {
        min-height: auto;
        padding: 65px 8vw 75px;
    }

    #welcome .sacred-copy h2,
    #sacred .sacred-copy h2 {
        font-size: 48px;
        line-height: .95;
    }

    #welcome .sacred-copy p,
    #sacred .sacred-copy p {
        font-size: 13px;
        line-height: 1.8;
        margin-top: 25px;
    }

    #welcome .slider-dots,
    #sacred .slider-dots {
        bottom: 18px;
    }

    #welcome .slider-dot,
    #sacred .slider-dot {
        width: 25px;
    }

    #welcome .slider-dot.active,
    #sacred .slider-dot.active {
        width: 38px;
    }
}


/* ==========================================
   HEALERS

   Diseño 50 / 50
   ========================================== */

#healers {
    position: relative;
    padding: 0 !important;
    overflow: hidden;
}

/* Contenedor principal */

#healers .healers-inner {
    width: 100%;
    max-width: none;

    height: 100%;
    min-height: 0 !important;

    margin: 0;
    padding: 0;

    display: grid;
    grid-template-columns: 50% 50%;

    gap: 0;

    align-items: stretch;
}


/* ==========================================
   3 IMÁGENES
   ========================================== */

#healers .healers-images {
    width: 100%;
    height: 100%;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 6px;

    overflow: hidden;

    background: #18221e;
}


/* Cada imagen */

#healers .healer-image {
    position: relative;

    width: 100%;
    height: 100%;

    overflow: hidden;
}


/* Imagen */

#healers .healer-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;

    transform: scale(1.04);

    animation:
        healerZoom 8s ease-in-out infinite alternate,
        healerFade 8s ease-in-out infinite;

    will-change: transform, opacity;
}


/* ==========================================
   ANIMACIÓN DIFERENTE PARA CADA IMAGEN
   ========================================== */

#healers .healer-image-1 img {
    animation-delay: 0s;
}

#healers .healer-image-2 img {
    animation-delay: 1.5s;
}

#healers .healer-image-3 img {
    animation-delay: 3s;
}


/* Zoom suave */

@keyframes healerZoom {

    0% {
        transform: scale(1.04);
    }

    100% {
        transform: scale(1.12);
    }

}


/* Movimiento de opacidad */

@keyframes healerFade {

    0% {
        opacity: .78;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: .88;
    }

}


/* ==========================================
   CONTENIDO DERECHO
   ========================================== */

#healers .healers-copy {

    width: 100%;
    height: 100%;

    padding: 0 7vw;

    box-sizing: border-box;

    display: flex;
    flex-direction: column;

    justify-content: center;

}


/* Eyebrow */

#healers .healers-copy .eyebrow {
    margin-bottom: 14px;
}


/* Título */

#healers .healers-copy h2 {

    margin: 0;

    max-width: 520px;

    font-size: clamp(48px, 5vw, 76px);

    line-height: .92;
    
    

}


/* Texto */

#healers .healers-copy p {

    max-width: 450px;

    margin-top: 30px;

    font-size: 15px;

    line-height: 1.9;
    
    text-align:justify;

}


/* Frase */

#healers .healers-quote {

    margin-top: 30px;

  

    font-size: 18px;

 

    
}


/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 850px) {

    #healers {

        height: auto !important;

        min-height: 0 !important;

    }


    #healers .healers-inner {

        height: auto;

        min-height: 0 !important;

        grid-template-columns: 1fr;

    }


    #healers .healers-images {

        height: 55svh;

        min-height: 350px;

        grid-template-columns: repeat(3, 1fr);

    }


    #healers .healers-copy {

        height: auto;

        min-height: 50svh;

        padding: 70px 8vw;

    }


    #healers .healers-copy h2 {

        font-size: clamp(48px, 9vw, 68px);

    }

}


/* ==========================================
   CELULAR
   ========================================== */

@media (max-width: 520px) {

    #healers .healers-images {

        height: 20svh;

        min-height: 200px;

        gap: 4px;

    }


    #healers .healers-copy {

        min-height: auto;

        padding: 45px 8vw 55px;

    }


    #healers .healers-copy h2 {

        font-size: 48px;

        line-height: .95;

    }


    #healers .healers-copy p {

        font-size: 13px;

        line-height: 1.8;

        margin-top: 25px;

    }


    #healers .healers-quote {

        font-size: 16px;

    }

}



#healers .healers-copy h2 {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(50px, 6vw, 88px);
    line-height: .95;
    color: #18221e;
}

#healers .healers-copy h2 em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    color: #b99669;
}
/* Community logos animation */
.community-logo{
  opacity:0;
  transform:translateY(22px) scale(.96);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1), filter .35s ease;
  will-change:transform,opacity;
}
.community-logo img{
  transition:transform .45s cubic-bezier(.22,1,.36,1), filter .35s ease;
}
.community-logo:nth-child(1){transition-delay:.03s}
.community-logo:nth-child(2){transition-delay:.07s}
.community-logo:nth-child(3){transition-delay:.11s}
.community-logo:nth-child(4){transition-delay:.15s}
.community-logo:nth-child(5){transition-delay:.19s}
.community-logo:nth-child(6){transition-delay:.23s}
.community-logo:nth-child(7){transition-delay:.27s}
.community-logo:nth-child(8){transition-delay:.31s}
.community-logo:nth-child(9){transition-delay:.35s}
.community-logo:nth-child(10){transition-delay:.39s}
.community-logo:nth-child(11){transition-delay:.43s}
.community-logo:nth-child(12){transition-delay:.47s}
.community-logo:nth-child(13){transition-delay:.51s}
.community-logo:nth-child(14){transition-delay:.55s}
.community-logo:nth-child(15){transition-delay:.59s}
.community-logo:nth-child(16){transition-delay:.63s}
.community-logo:nth-child(17){transition-delay:.67s}
.community-logos.is-visible .community-logo{
  opacity:1;
  transform:translateY(0) scale(1);
}
.community-logo:hover img{
  transform:scale(1.08);
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.12));
}

@media (prefers-reduced-motion: reduce){
  .community-logo,.community-logo img{transition:none!important;transform:none!important}
  .community-logo{opacity:1}
}

/* ===== Spa — 7-image editorial collage ===== */
.spa-section{
  min-height:100svh;
  background:var(--cream);
  color:#171717;
  padding:110px 6vw 100px;
  overflow:hidden;
}
.spa-inner{width:min(1240px,100%);margin:0 auto}
.spa-heading{max-width:780px;margin:0 auto 52px;text-align:center}
.spa-heading .eyebrow{color:#6d6d6d}
.spa-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(52px,6vw,88px);line-height:.88;letter-spacing:-.025em;margin-top:18px}
.spa-heading h2 em{font-style:italic}
.spa-heading p{max-width:520px;margin:24px auto 0;font-size:13px;line-height:1.9;color:#526057}

.spa-gallery{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(4,145px);
  grid-template-areas:
    "one one one one two two two three three three three three"
    "one one one one four four five five five three three three"
    "one one one one six six five five five seven seven seven"
    "one one one one six six five five five seven seven seven";
  gap:14px;
}
.spa-card{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#d9ddd8;
  cursor:pointer;
  outline:none;
  box-shadow:0 16px 45px rgba(20,32,25,.12);
  opacity:0;
  transform:translateY(35px) scale(.985);
  transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .8s ease,box-shadow .5s ease;
}
.spa-card.is-visible{opacity:1;transform:none}
.spa-card:nth-child(1){grid-area:one;transition-delay:.05s}
.spa-card:nth-child(2){grid-area:two;transition-delay:.12s}
.spa-card:nth-child(3){grid-area:three;transition-delay:.19s}
.spa-card:nth-child(4){grid-area:four;transition-delay:.26s}
.spa-card:nth-child(5){grid-area:five;transition-delay:.33s}
.spa-card:nth-child(6){grid-area:six;transition-delay:.40s}
.spa-card:nth-child(7){grid-area:seven;transition-delay:.47s}
.spa-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.spa-card:hover img,.spa-card.is-open img{transform:scale(1.045);filter:saturate(.9)}
.spa-card:hover,.spa-card:focus-visible{box-shadow:0 24px 55px rgba(20,32,25,.2)}
.spa-card:focus-visible{box-shadow:0 0 0 2px var(--gold),0 24px 55px rgba(20,32,25,.2)}
.spa-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,12,.02) 35%,rgba(8,16,12,.68) 100%);pointer-events:none}
.spa-card-label{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;align-items:end;justify-content:space-between;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.3);transition:transform .45s ease,opacity .45s ease}
.spa-card-label span{font-size:8px;letter-spacing:.2em;opacity:.8}
.spa-card-label strong{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1}
.spa-card.is-open .spa-card-label{transform:translateY(15px);opacity:0}

.spa-card-info{
  position:absolute;
  z-index:4;
  left:12px;right:12px;bottom:12px;
  padding:20px 46px 20px 20px;
  background:rgba(247,244,235,.96);
  color:#1d2822;
  transform:translateY(calc(100% + 24px));
  opacity:0;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease;
  box-shadow:0 12px 35px rgba(0,0,0,.16);
}
.spa-card.is-open .spa-card-info{transform:translateY(0);opacity:1}
.spa-info-number{display:block;font-size:8px;letter-spacing:.2em;color:var(--gold);margin-bottom:8px}
.spa-card-info h3{font-family:var(--serif);font-size:30px;line-height:1;margin:0 0 9px;font-weight:400}
.spa-card-info p{font-size:11px;line-height:1.7;color:#526057;margin:0}
.spa-close{position:absolute;top:9px;right:10px;border:0;background:none;color:#1d2822;font-size:24px;line-height:1;cursor:pointer;padding:5px}
.spa-close:hover{color:var(--gold)}

@media(max-width:850px){
  .spa-section{min-height:auto;padding:90px 7vw 75px}
  .spa-heading{margin-bottom:38px}
  .spa-heading h2{font-size:clamp(46px,10vw,68px)}
  .spa-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(7,210px);
    grid-template-areas:
      "one one"
      "one one"
      "two three"
      "four five"
      "six five"
      "six seven"
      "seven seven";
    gap:10px;
  }
  .spa-card-label{left:14px;right:14px;bottom:14px}
  .spa-card-label strong{font-size:21px}
  .spa-card-info{left:8px;right:8px;bottom:8px;padding:16px 40px 16px 16px}
  .spa-card-info h3{font-size:25px}
}

@media(prefers-reduced-motion:reduce){
  .spa-card,.spa-card img,.spa-card-info,.spa-card-label{transition:none!important}
}


/* =========================================================
   SPA V2 — CLEAN EDITORIAL MOSAIC
   Matches the proportions of spa.jpg more closely.
   ========================================================= */
#spa.spa-section{
  position:relative;
  width:100%;
  height:100svh;
  min-height:600px;
  padding:0;
  margin:0;
  overflow:hidden;
  background:#111;
}
#spa .spa-gallery{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1.00fr 1.12fr 1.34fr 1.52fr;
  grid-template-rows:1fr 1fr;
  grid-template-areas:
    "one two three four"
    "five six six seven";
  gap:3px;
  width:100%;
  height:100%;
}
#spa .spa-card{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#111;
  cursor:pointer;
  opacity:0;
  transform:translateY(18px);
  animation:spaV2In .8s cubic-bezier(.2,.7,.2,1) forwards;
}
#spa .spa-card:nth-child(1){grid-area:one;animation-delay:.05s}
#spa .spa-card:nth-child(2){grid-area:two;animation-delay:.12s}
#spa .spa-card:nth-child(3){grid-area:three;animation-delay:.19s}
#spa .spa-card:nth-child(4){grid-area:four;animation-delay:.26s}
#spa .spa-card:nth-child(5){grid-area:five;animation-delay:.33s}
#spa .spa-card:nth-child(6){grid-area:six;animation-delay:.40s}
#spa .spa-card:nth-child(7){grid-area:seven;animation-delay:.47s}
#spa .spa-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(0,0,0,.76) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,0) 72%);
  pointer-events:none;
}
#spa .spa-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.02);
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s ease;
  animation:spaV2Zoom 9s ease-in-out infinite alternate;
  will-change:transform;
}
#spa .spa-card:hover img,
#spa .spa-card:focus-within img{
  transform:scale(1.07);
  filter:saturate(1.08) brightness(1.03);
}
#spa .spa-card-info{
  position:absolute;
  z-index:3;
  left:clamp(12px,1.5vw,24px);
  right:clamp(12px,1.5vw,24px);
  bottom:clamp(12px,1.5vw,24px);
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
  transform:translateY(5px);
  transition:transform .45s ease;
}
#spa .spa-card:hover .spa-card-info{transform:translateY(0)}
#spa .spa-card-info span{
  display:block;
  margin-bottom:5px;
  font-size:8px;
  line-height:1;
  letter-spacing:.22em;
  font-weight:600;
  opacity:.85;
}
#spa .spa-card-info strong{
  display:block;
  font-family:var(--sans,Montserrat,sans-serif);
  font-size:clamp(9px,.82vw,13px);
  line-height:1.1;
  letter-spacing:.13em;
  font-weight:600;
}
#spa .spa-card-info p{
  max-width:280px;
  margin:7px 0 0;
  font-size:clamp(8px,.68vw,10.5px);
  line-height:1.45;
  color:rgba(255,255,255,.88);
  opacity:.9;
}
@keyframes spaV2In{
  to{opacity:1;transform:none}
}
@keyframes spaV2Zoom{
  0%{transform:scale(1.02) translate3d(0,0,0)}
  100%{transform:scale(1.055) translate3d(.5%,-.35%,0)}
}

@media(max-width:850px){
  #spa .spa-card{box-shadow:0 4px 12px rgba(20,32,25,.07)}
  #spa.spa-section{
    height:auto;
    min-height:0;
    overflow:visible;
  }
  #spa .spa-gallery{
    position:relative;
    inset:auto;
    height:calc(100svh - 106px);
    min-height:620px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:30% 22% 24% 24%;
    grid-template-areas:
      "one one"
      "two three"
      "four five"
      "six seven";
    gap:3px;
  }
  #spa .spa-card-info{left:12px;right:12px;bottom:12px}
  #spa .spa-card-info p{font-size:8.5px;line-height:1.35;max-width:240px}
}
@media(max-width:520px){
  #spa .spa-gallery{
    height:calc(100svh - 86px);
    min-height:560px;
    grid-template-rows:31% 23% 23% 23%;
    gap:2px;
  }
  #spa .spa-card-info{left:9px;right:9px;bottom:9px}
  #spa .spa-card-info span{font-size:6.5px;margin-bottom:4px}
  #spa .spa-card-info strong{font-size:7.5px;letter-spacing:.10em}
  #spa .spa-card-info p{margin-top:4px;font-size:7px;line-height:1.25;max-width:180px}
}
@media(prefers-reduced-motion:reduce){
  #spa .spa-card,#spa .spa-card img{animation:none!important;transition:none!important}
  #spa .spa-card{opacity:1;transform:none}
}

/* =========================================================
   SPA CLICK INFO MODAL
   ========================================================= */
body.spa-modal-open{overflow:hidden}
.spa-card{cursor:pointer}
.spa-card:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}

.spa-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease,visibility .35s ease;
}
.spa-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.spa-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,10,8,.78);
  backdrop-filter:blur(8px);
}
.spa-modal-dialog{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(300px,1.15fr) minmax(280px,.85fr);
  width:min(900px,92vw);
  max-height:88svh;
  overflow:hidden;
  background:#101a17;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 30px 100px rgba(0,0,0,.5);
  transform:translateY(20px) scale(.97);
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.spa-modal.is-open .spa-modal-dialog{transform:translateY(0) scale(1)}
.spa-modal-image-wrap{min-height:440px;background:#0b120f}
.spa-modal-image-wrap img{width:100%;height:100%;display:block;object-fit:cover}
.spa-modal-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,65px);color:#fff}
.spa-modal-content span{color:var(--gold);font-size:10px;letter-spacing:.28em;font-weight:600;margin-bottom:15px}
.spa-modal-content h3{font-family:var(--serif);font-size:clamp(34px,4vw,58px);font-weight:400;line-height:.95;margin:0 0 20px}
.spa-modal-content p{font-size:13px;line-height:1.8;color:rgba(255,255,255,.76);margin:0;max-width:390px}
.spa-modal-close{position:absolute;z-index:4;top:13px;right:15px;width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:28px;line-height:35px;cursor:pointer;transition:.25s ease}
.spa-modal-close:hover{background:rgba(255,255,255,.14);transform:rotate(90deg)}

@media(max-width:700px){
  .spa-modal{padding:15px}
  .spa-modal-dialog{grid-template-columns:1fr;width:94vw;max-height:90svh;overflow:auto}
  .spa-modal-image-wrap{height:42svh;min-height:260px}
  .spa-modal-content{padding:26px 24px 32px}
  .spa-modal-content h3{font-size:38px}
  .spa-modal-content p{font-size:12px;line-height:1.65}
}

/* =========================================================
   SPA CLICK INFO MODAL
   ========================================================= */
body.spa-modal-open{overflow:hidden}

#spa .spa-card{
  -webkit-tap-highlight-color:transparent;
}

#spa .spa-card:focus-visible{
  outline:3px solid rgba(187,167,123,.95);
  outline-offset:-3px;
}

#spa .spa-card-info{
  pointer-events:none;
}

.spa-modal{
  position:fixed;
  z-index:9999;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,4vw,60px);
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease,visibility .35s ease;
}

.spa-modal.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}

.spa-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,13,10,.78);
  backdrop-filter:blur(8px);
}

.spa-modal-dialog{
  position:relative;
  z-index:2;
  width:min(920px,94vw);
  max-height:min(760px,90svh);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  background:#f5f1e8;
  color:#18221e;
  box-shadow:0 35px 100px rgba(0,0,0,.38);
  transform:translateY(25px) scale(.97);
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
}

.spa-modal.is-open .spa-modal-dialog{
  transform:none;
}

.spa-modal-image{
  min-height:500px;
  background:#17251f;
  overflow:hidden;
}

.spa-modal-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  animation:spaModalZoom 9s ease-in-out infinite alternate;
}

@keyframes spaModalZoom{
  from{transform:scale(1)}
  to{transform:scale(1.055)}
}

.spa-modal-content{
  align-self:center;
  padding:clamp(38px,5vw,70px);
}

.spa-modal-content > span{
  display:block;
  margin-bottom:14px;
  color:#a78e60;
  font-size:10px;
  font-weight:600;
  letter-spacing:.25em;
}

.spa-modal-content h2{
  margin:0;
  max-width:400px;
  font-family:var(--serif);
  font-size:clamp(42px,5vw,72px);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.025em;
}

.spa-modal-content p{
  max-width:390px;
  margin-top:28px;
  color:#526057;
  font-size:14px;
  line-height:1.9;
}

.spa-modal-close{
  position:absolute;
  z-index:5;
  top:13px;
  right:13px;
  width:40px;
  height:40px;
  border:1px solid rgba(24,34,30,.18);
  border-radius:50%;
  background:rgba(245,241,232,.88);
  color:#18221e;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}

.spa-modal-close:hover{
  transform:rotate(90deg);
  background:#18221e;
  color:#fff;
}

@media(max-width:700px){
  .spa-modal{
    padding:14px;
  }

  .spa-modal-dialog{
    width:100%;
    max-height:92svh;
    grid-template-columns:1fr;
    grid-template-rows:minmax(250px,42svh) auto;
    overflow:auto;
  }

  .spa-modal-image{
    min-height:0;
  }

  .spa-modal-content{
    padding:30px 28px 34px;
  }

  .spa-modal-content h2{
    font-size:clamp(38px,12vw,58px);
  }

  .spa-modal-content p{
    margin-top:18px;
    font-size:12px;
    line-height:1.75;
  }

  .spa-modal-close{
    width:36px;
    height:36px;
    font-size:24px;
  }
}

@media(prefers-reduced-motion:reduce){
  .spa-modal,.spa-modal-dialog,.spa-modal-close{transition:none!important}
  .spa-modal-image img{animation:none!important}
}

/* SPA MODAL — smaller dark-green title */
.spa-modal-content h2#spaModalTitle{
  font-family:var(--serif);
  font-size:clamp(24px,2.4vw,38px);
  line-height:1.05;
  font-weight:400;
  color:#1f4d3a;
  margin:0 0 16px;
}

@media(max-width:520px){
  .spa-modal-content h2#spaModalTitle{
    font-size:28px;
  }
}

/* =========================================
   SPA — ELIMINAR DEGRADADO NEGRO
   ========================================= */

#spa .spa-card::before,
#spa .spa-card::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
}

#spa .spa-card img {
    opacity: 1 !important;
    filter: none !important;
}

#spa .spa-card:hover img,
#spa .spa-card:focus-within img {
    opacity: 1 !important;
    filter: none !important;
}

/* ===== Wellness Ambassador Button + Modal ===== */
.wellness-ambassador-btn{
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:18px;padding:14px 22px;border:1px solid rgba(187,167,123,.75);
  background:transparent;color:#7f6d49;font-family:var(--sans);font-size:10px;
  font-weight:700;letter-spacing:.18em;line-height:1.2;text-transform:uppercase;
  cursor:pointer;transition:all .35s ease;
}
.wellness-ambassador-btn::after{content:"↗";margin-left:12px;font-size:13px;transition:transform .35s ease}
.wellness-ambassador-btn:hover{background:var(--forest);color:#fff;border-color:var(--forest);transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,32,25,.15)}
.wellness-ambassador-btn:hover::after{transform:translate(3px,-3px)}
.wellness-ambassador-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

body.ambassador-modal-open{overflow:hidden}
.ambassador-modal{
  position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;
  padding:24px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s ease,visibility .35s ease;
}
.ambassador-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.ambassador-modal-backdrop{position:absolute;inset:0;background:rgba(5,12,9,.86);backdrop-filter:blur(10px)}
.ambassador-modal-dialog{
  position:relative;z-index:2;width:min(1000px,94vw);max-height:92svh;
  display:flex;align-items:center;justify-content:center;background:#fff;
  border:1px solid rgba(255,255,255,.18);box-shadow:0 35px 110px rgba(0,0,0,.55);
  overflow:hidden;transform:translateY(25px) scale(.97);transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.ambassador-modal.is-open .ambassador-modal-dialog{transform:none}
.ambassador-modal-image{display:block;width:auto;max-width:100%;max-height:92svh;height:auto;object-fit:contain}
.ambassador-modal-close{
  position:absolute;z-index:3;top:14px;right:14px;width:42px;height:42px;
  border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(13,23,20,.72);
  color:#fff;font-size:28px;line-height:1;cursor:pointer;transition:transform .25s ease,background .25s ease;
}
.ambassador-modal-close:hover{background:var(--gold);transform:rotate(90deg)}
@media(max-width:700px){
  .wellness-ambassador-btn{width:100%;max-width:290px;padding:13px 16px;font-size:9px}
  .ambassador-modal{padding:12px}.ambassador-modal-dialog{width:100%;max-height:94svh}
  .ambassador-modal-image{max-width:100%;max-height:94svh}
  .ambassador-modal-close{top:9px;right:9px;width:38px;height:38px;font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  .ambassador-modal,.ambassador-modal-dialog,.wellness-ambassador-btn,.wellness-ambassador-btn::after{transition:none}
}

.healers-single-image {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    overflow: hidden;
    cursor: pointer;
}

.healers-single-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    cursor: pointer;
    transition: transform 0.8s ease;
}

.healers-single-image:hover img {
    transform: scale(1.03);
}


/* ==========================================
   HEALER IMAGE
========================================== */

.healer-photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
}

.healer-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.6s ease;
}

.healer-photo:hover img {
    transform: scale(1.03);
}


/* ==========================================
   HEALER MODAL
========================================== */

#healerInfoModal {
    position: fixed;
    left: 0;
    top: 0;

    width: 100%;
    height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 999999;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.35s ease,
        visibility 0.35s ease;
}


/* Modal abierto */

#healerInfoModal.show {
    opacity: 1;
    visibility: visible;
}


/* Fondo */

.healer-modal-background {
    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.82);

    cursor: pointer;
}


/* Caja */

.healer-info-box {
    position: relative;

    z-index: 2;

    width: 650px;
    max-width: 90%;

    padding: 60px 65px;

    background: #f4f1e8;

    text-align: center;

    box-sizing: border-box;

    transform: translateY(30px);

    transition: transform 0.4s ease;
}


#healerInfoModal.show .healer-info-box {
    transform: translateY(0);
}


/* Título */

.healer-info-box h2 {

    margin: 0 0 25px;

    color: #31543d;

    font-size: 30px;

    font-weight: 500;

    line-height: 1.2;
}


/* Texto */

.healer-info-box p {

    margin: 0;

    color: #333;

    font-size: 17px;

    line-height: 1.8;
}


/* Botón X */

.healer-close-button {

    position: absolute;

    top: 10px;
    right: 18px;

    width: 40px;
    height: 40px;

    border: none;

    background: transparent;

    color: #31543d;

    font-size: 38px;

    line-height: 40px;

    cursor: pointer;

    padding: 0;
}


.healer-close-button:hover {

    transform: rotate(90deg);

}


/* Bloquear scroll mientras modal está abierto */

body.healer-modal-open {

    overflow: hidden;

}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 768px) {

    .healer-info-box {

        width: 90%;

        padding: 50px 25px;

    }

    .healer-info-box h2 {

        font-size: 24px;

    }

    .healer-info-box p {

        font-size: 15px;

        line-height: 1.7;

    }

}


