/* ═══════════════════════════════════════════════════════
   RESPIRACIONES GRUPALES · landing specific styles
   Reusa tokens de styles.css. Hereda el sistema de breathwork.css
   (mismo acento rosa-frambuesa, es la versión grupal del método)
═══════════════════════════════════════════════════════ */

body{background:var(--dark);}

.rg-hero,.rg-what,.rg-why,.rg-invest,.rg-private,.rg-faq,.rg-cta,.rg-footer{
  --rg-rose:#C8557A;
  --rg-rose-soft:#D89AAE;
}

/* ═══════════════════════════════════════════════════════
   HERO · cuenco
═══════════════════════════════════════════════════════ */
.rg-hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:7rem 3rem 5rem;overflow:hidden;text-align:center;
}
.rg-hero-bg{
  position:absolute;inset:0;
  background:url('https://res.cloudinary.com/dcokjh4g1/image/upload/f_auto,q_auto/cuenco') center/cover no-repeat;
  filter:saturate(0.65) brightness(0.45) contrast(1.05);
  transform:scale(1.05);
  animation:rgZoom 28s ease-in-out infinite alternate;
}
@keyframes rgZoom{from{transform:scale(1.05);}to{transform:scale(1.13);}}

.rg-hero-vignette{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 55% at 50% 50%,rgba(10,4,6,0.65) 0%,rgba(10,4,6,0.4) 50%,transparent 85%),
    linear-gradient(135deg,rgba(60,20,35,0.5) 0%,rgba(200,85,122,0.18) 45%,transparent 75%),
    linear-gradient(to bottom,rgba(60,20,35,0.4) 0%,transparent 25%,transparent 60%,rgba(10,4,6,0.85) 100%);
}
.rg-hero-grain{
  position:absolute;inset:0;opacity:.22;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}

.rg-back{
  position:absolute;top:5.5rem;left:4rem;z-index:10;
  color:rgba(235,230,220,.55);text-decoration:none;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  transition:color .3s, transform .3s;
}
.rg-back:hover{color:var(--cream);transform:translateX(-3px);}

.rg-hero-content{
  position:relative;z-index:5;max-width:700px;
  display:flex;flex-direction:column;align-items:center;
}

.rg-tag{
  display:inline-block;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(235,230,220,.6);
  padding:.5rem 1.1rem;
  border:1px solid rgba(235,230,220,.18);
  margin-bottom:2rem;
  background:rgba(200,85,122,.18);
  backdrop-filter:blur(6px);
  animation:rgFadeUp 1.4s .25s both;
}

.rg-title{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:clamp(3rem,7vw,5.8rem);
  line-height:1;letter-spacing:-0.01em;
  color:var(--cream);
  margin-bottom:2rem;
  animation:rgFadeUp 1.4s .4s both;
}
.rg-title em{font-style:italic;color:rgba(235,230,220,.8);}

.rg-sub{
  font-size:clamp(.98rem,1.6vw,1.15rem);
  font-weight:300;line-height:1.75;
  color:rgba(235,230,220,.65);
  max-width:520px;margin-bottom:2.5rem;
  animation:rgFadeUp 1.4s .7s both;
}

.rg-cta-wrap{
  display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;
  animation:rgFadeUp 1.4s .85s both;
}

.rg-btn-solid{
  display:inline-block;
  padding:1rem 2.2rem;
  background:var(--wine);
  border:1px solid var(--wine);
  color:var(--cream);text-decoration:none;
  font-size:.78rem;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s, transform .3s;
}
.rg-btn-solid:hover{background:var(--wine-lt);transform:translateY(-2px);}

.rg-btn{
  display:inline-block;
  padding:1rem 2.2rem;
  border:1px solid rgba(235,230,220,.3);
  color:var(--cream);text-decoration:none;
  font-size:.78rem;font-weight:300;
  letter-spacing:.14em;text-transform:uppercase;
  background:rgba(235,230,220,.05);
  transition:background .3s, border-color .3s;
}
.rg-btn:hover{border-color:rgba(235,230,220,.7);background:rgba(235,230,220,.12);}
.rg-btn-lg{padding:1.1rem 2.6rem;font-size:.82rem;}

.rg-scroll-hint{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  z-index:10;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:.85rem;color:rgba(235,230,220,.35);letter-spacing:.14em;
  animation:rgBob 3s ease-in-out infinite;
}
@keyframes rgBob{
  0%,100%{transform:translateX(-50%) translateY(0);opacity:.35;}
  50%{transform:translateX(-50%) translateY(4px);opacity:.6;}
}
@keyframes rgFadeUp{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:none;}
}

/* ═══════════════════════════════════════════════════════
   SHARED SECTION STYLES
═══════════════════════════════════════════════════════ */
.rg-section-kicker{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1rem;
}
.rg-section-kicker-lt{color:rgba(235,230,220,.4);}

.rg-section-title{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(2.2rem,4.5vw,3.6rem);
  line-height:1.1;color:var(--wine-dk);margin-bottom:2rem;
}
.rg-section-title em{font-style:italic;color:var(--wine);}
.rg-section-title-lt{color:var(--cream);}
.rg-section-title-lt em{color:rgba(235,230,220,.7);}

/* ═══════════════════════════════════════════════════════
   QUÉ ES · cream
═══════════════════════════════════════════════════════ */
.rg-what{
  background:var(--cream-lt);
  padding:7rem 2rem;
}
.rg-what-inner{max-width:820px;margin:0 auto;}
.rg-what-body p{
  font-size:1.05rem;line-height:1.9;font-weight:300;
  color:var(--text);margin-bottom:1.6rem;
}
.rg-what-body em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:var(--wine);font-size:1.1em;
}

/* ═══════════════════════════════════════════════════════
   POR QUÉ EN GRUPO · wine
═══════════════════════════════════════════════════════ */
.rg-why{
  background:var(--wine-dk);
  background-image:
    radial-gradient(ellipse 50% 40% at 15% 15%,rgba(200,85,122,0.18) 0%,transparent 60%),
    radial-gradient(ellipse 55% 45% at 85% 85%,rgba(122,46,79,0.15) 0%,transparent 60%);
  padding:7rem 2rem;
}
.rg-why-inner{max-width:780px;margin:0 auto;text-align:center;}
.rg-why-body p{
  font-size:1.08rem;line-height:1.9;font-weight:300;
  color:rgba(235,230,220,.8);
}
.rg-why-body em{font-style:italic;color:var(--rg-rose-soft);}

/* ═══════════════════════════════════════════════════════
   INVERSIÓN · cream-lt
═══════════════════════════════════════════════════════ */
.rg-invest{
  background:var(--cream-lt);
  padding:7rem 2rem;
}
.rg-invest-inner{max-width:640px;margin:0 auto;text-align:center;}
.rg-cell{
  background:var(--wine);
  border:1px solid var(--wine);
  color:var(--cream);
  padding:2.8rem 2.5rem;
  margin-top:3rem;
  text-align:left;
}
.rg-cell-label{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(235,230,220,.6);margin-bottom:1.2rem;font-weight:500;
}
.rg-cell-val{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:2.4rem;line-height:1.15;color:var(--cream);
  margin-bottom:1rem;
}
.rg-cell-val span{
  display:inline-block;font-size:.6em;font-style:italic;
  color:rgba(235,230,220,.6);margin-left:.5rem;
}
.rg-cell-detail{
  font-size:.92rem;line-height:1.7;font-weight:300;
  color:rgba(235,230,220,.78);
  padding-top:1rem;border-top:1px solid rgba(235,230,220,.15);
}

/* ═══════════════════════════════════════════════════════
   ENCUENTRO PRIVADO · cream
═══════════════════════════════════════════════════════ */
.rg-private{
  background:var(--cream);
  padding:6rem 2rem;
}
.rg-private-inner{
  max-width:780px;margin:0 auto;text-align:center;
  padding:2.8rem 3rem;
  border:1px solid rgba(90,30,55,.12);
  background:rgba(90,30,55,.03);
}
.rg-private-title{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:1.6rem;color:var(--wine-dk);margin-bottom:1rem;
}
.rg-private-text{
  font-size:.98rem;line-height:1.8;font-weight:300;
  color:var(--text);margin-bottom:1.6rem;
}
.rg-private-link{
  font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--wine-dk);text-decoration:none;
  border-bottom:1px solid rgba(90,30,55,.3);padding-bottom:2px;
}
.rg-private-link:hover{color:var(--wine);}

/* ═══════════════════════════════════════════════════════
   FAQ · cream-dk
═══════════════════════════════════════════════════════ */
.rg-faq{
  background:var(--cream-dk);
  padding:7rem 2rem;
}
.rg-faq-inner{max-width:820px;margin:0 auto;}
.rg-faq-inner > .rg-section-title{text-align:center;}
.rg-faq-item{border-top:1px solid rgba(90,30,55,.12);padding:0;}
.rg-faq-item:last-child{border-bottom:1px solid rgba(90,30,55,.12);}
.rg-faq-item summary{
  cursor:pointer;
  padding:1.6rem 2.5rem 1.6rem 0;
  font-size:1.02rem;font-weight:400;
  color:var(--wine-dk);
  position:relative;list-style:none;
  transition:color .3s;
}
.rg-faq-item summary::-webkit-details-marker{display:none;}
.rg-faq-item summary::after{
  content:'+';position:absolute;right:.5rem;top:50%;
  transform:translateY(-50%);
  font-family:'Fraunces',serif;font-weight:300;
  font-size:1.6rem;color:var(--rg-rose);
  transition:transform .3s;
}
.rg-faq-item[open] summary::after{content:'−';}
.rg-faq-item summary:hover{color:var(--wine);}
.rg-faq-body{
  padding:0 0 1.8rem 0;
  font-size:.95rem;line-height:1.85;font-weight:300;
  color:var(--text);
}

/* ═══════════════════════════════════════════════════════
   CTA FINAL · dark warm
═══════════════════════════════════════════════════════ */
.rg-cta{
  background:var(--dark);
  background-image:
    radial-gradient(ellipse 60% 50% at 50% 50%,rgba(200,85,122,0.22) 0%,transparent 70%);
  padding:8rem 2rem;text-align:center;
}
.rg-cta-title{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:clamp(2.2rem,4.5vw,3.6rem);
  line-height:1.1;color:var(--cream);
  margin-bottom:1.5rem;
}
.rg-cta-title em{font-style:italic;color:var(--rg-rose-soft);}
.rg-cta-note{
  font-size:.98rem;line-height:1.8;font-weight:300;
  color:rgba(235,230,220,.58);
  max-width:540px;margin:0 auto 2.5rem;
}
.rg-cta-row{
  display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;
}

/* ═══════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════ */
.rg-footer{
  background:var(--dark);
  padding:4rem 2rem 3rem;
  text-align:center;
  border-top:1px solid rgba(235,230,220,.04);
}
.rg-footer img{height:48px;margin-bottom:1.5rem;opacity:.85;}
.rg-footer .footer-links{
  display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;
  margin-bottom:1.5rem;
}
.rg-footer .footer-links a{
  color:rgba(235,230,220,.65);text-decoration:none;
  font-size:.85rem;letter-spacing:.08em;
  transition:color .3s;
}
.rg-footer .footer-links a:hover{color:var(--cream);}
.rg-footer .footer-cr{
  display:block;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:.85rem;color:rgba(235,230,220,.5);
  letter-spacing:.08em;
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════ */
@media(max-width:900px){
  .rg-hero{padding:5rem 2rem 4rem;}
  .rg-back{top:5rem;left:2rem;}
}
@media(max-width:600px){
  .rg-hero{padding:5rem 1.4rem 4rem;min-height:90vh;}
  .rg-back{top:4.8rem;left:1.4rem;font-size:.7rem;}
  .rg-what,.rg-why,.rg-invest,.rg-private,.rg-faq{padding:5rem 1.4rem;}
  .rg-cta{padding:6rem 1.4rem;}
  .rg-cell{padding:2.2rem 1.8rem;}
  .rg-private-inner{padding:2.2rem 1.6rem;}
  .rg-cta-row{flex-direction:column;align-items:stretch;}
  .rg-cta-row a{text-align:center;}
}
