:root{
  --navy:#081A2F;
  --navy-2:#102E4D;
  --ink:#172033;
  --muted:#667085;
  --gold:#B89650;
  --gold-2:#D9C089;
  --cream:#F7F1E5;
  --ivory:#FFFDF8;
  --line:rgba(16,46,77,.12);
  --shadow:0 24px 70px rgba(8,26,47,.13);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--ivory);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.container-xl{max-width:1180px}
.section{padding:96px 0}
.section-sm{padding:70px 0}
.eyebrow{
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.76rem;
  font-weight:800;
  color:var(--gold);
}
.display-title,.section-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  color:var(--navy);
  line-height:.96;
  letter-spacing:-.035em;
}
.display-title{font-size:clamp(3.1rem,7vw,6.7rem);font-weight:700}
.section-title{font-size:clamp(2.35rem,4.2vw,4.6rem);font-weight:700}
.lead-soft{color:#5d687b;font-size:1.13rem;line-height:1.8}
.text-muted-elite{color:var(--muted)}
.btn-elite{
  display:inline-flex;align-items:center;gap:.65rem;
  border-radius:999px;
  padding:.96rem 1.35rem;
  background:linear-gradient(135deg,var(--gold),#E2C987);
  color:#101828!important;
  font-weight:800;
  box-shadow:0 18px 38px rgba(184,150,80,.28);
  border:0;
  transition:.24s ease;
}
.btn-elite:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(184,150,80,.34)}
.btn-ghost-elite{
  display:inline-flex;align-items:center;gap:.65rem;
  border-radius:999px;
  padding:.92rem 1.25rem;
  border:1px solid rgba(255,255,255,.32);
  color:#fff!important;
  font-weight:800;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}
.btn-outline-darkelite{
  display:inline-flex;align-items:center;gap:.65rem;
  border-radius:999px;
  padding:.88rem 1.18rem;
  border:1px solid rgba(8,26,47,.18);
  color:var(--navy)!important;
  font-weight:800;
  background:#fff;
}
.navbar{
  padding:18px 0;
  transition:.25s ease;
}
.navbar.scrolled{
  background:rgba(255,253,248,.92);
  backdrop-filter:blur(18px);
  box-shadow:0 14px 38px rgba(8,26,47,.08);
}
.brand-mark{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  color:var(--navy);font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.35rem;
  background:linear-gradient(135deg,#F7E9C8,var(--gold));
  box-shadow:0 16px 35px rgba(184,150,80,.25);
}
.navbar-brand span{font-weight:900;color:var(--navy);letter-spacing:-.02em}
.nav-link{font-weight:750;color:rgba(8,26,47,.78)!important;font-size:.94rem}
.nav-link:hover{color:var(--gold)!important}
.hero{
  min-height:100vh;
  padding:136px 0 80px;
  position:relative;
  background:radial-gradient(circle at 75% 20%,rgba(216,190,127,.18),transparent 36%),linear-gradient(180deg,#fff 0%,#F7F1E5 100%);
}
.hero-card{
  border-radius:36px;
  overflow:hidden;
  min-height:650px;
  position:relative;
  background:var(--navy);
  box-shadow:var(--shadow);
  color:#fff;
}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,26,47,.92) 0%,rgba(8,26,47,.74) 48%,rgba(8,26,47,.24) 100%)}
.hero-content{position:relative;z-index:2;padding:70px 62px;max-width:760px}
.hero .display-title{color:#fff}
.hero .lead-soft{color:rgba(255,255,255,.78)}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 34px}
.badge-elite{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:999px;
  padding:.54rem .78rem;
  font-size:.84rem;
  font-weight:750;
}
.hero-stats{
  position:relative;z-index:3;margin-top:-58px;
}
.stat-card{
  height:100%;
  background:rgba(255,253,248,.92);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 22px 55px rgba(8,26,47,.1);
  border-radius:24px;
  padding:24px;
  backdrop-filter:blur(16px);
}
.stat-card .num{font-family:'Cormorant Garamond',serif;font-size:2.35rem;font-weight:700;color:var(--navy);line-height:1}
.card-elite{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:32px;
  height:100%;
  box-shadow:0 16px 50px rgba(8,26,47,.06);
  transition:.24s ease;
}
.card-elite:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(8,26,47,.11)}
.icon-pill{
  width:52px;height:52px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(184,150,80,.16),rgba(16,46,77,.08));
  color:var(--gold);font-weight:900;font-size:1.3rem;
}
.dark-band{
  background:linear-gradient(135deg,var(--navy),#102B49);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.dark-band:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 80% 20%,rgba(217,192,137,.24),transparent 28%);pointer-events:none}
.dark-band .section-title,.dark-band h3{color:#fff}
.dark-band .lead-soft,.dark-band .text-muted-elite{color:rgba(255,255,255,.74)}
.method-step{
  display:flex;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)
}
.method-letter{
  min-width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;
  background:linear-gradient(135deg,#F4E7C4,var(--gold));color:var(--navy);
}
.split-img{
  border-radius:36px;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.45);
}
.placeholder-note{
  border:1px dashed rgba(184,150,80,.55);
  background:rgba(184,150,80,.08);
  color:#775f2b;
  border-radius:20px;
  padding:14px 16px;
  font-size:.92rem;
}
.program-card h3{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--navy)}
.program-card ul{padding-left:1.1rem;color:var(--muted);line-height:1.9}
.quote-card{
  background:linear-gradient(180deg,#fff,#FFFCF4);
  border:1px solid rgba(184,150,80,.2);
  border-radius:28px;
  padding:30px;
  height:100%;
}
.quote-card p{font-family:'Cormorant Garamond',serif;font-size:1.55rem;line-height:1.25;color:var(--navy)}
.social-grid a{
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:18px 20px;border-radius:20px;background:#fff;border:1px solid var(--line);
  font-weight:850;color:var(--navy);box-shadow:0 12px 34px rgba(8,26,47,.05);
}
.social-grid small{display:block;color:var(--muted);font-weight:600;margin-top:3px}
.contact-panel{
  background:linear-gradient(135deg,var(--navy),#133A60);
  color:#fff;border-radius:36px;padding:46px;box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.contact-panel:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-90px;top:-120px;background:rgba(217,192,137,.18)}
.contact-panel>*{position:relative;z-index:2}
.footer{background:#061424;color:rgba(255,255,255,.72);padding:42px 0}
.footer a{color:#fff}
.back-to-top{
  position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold);color:var(--navy);box-shadow:0 16px 38px rgba(8,26,47,.18);opacity:0;pointer-events:none;transition:.25s;z-index:999;
}
.back-to-top.show{opacity:1;pointer-events:auto}
@media (max-width:991px){
  .navbar{background:rgba(255,253,248,.96);backdrop-filter:blur(12px)}
  .hero-content{padding:48px 28px}.hero-card{min-height:720px}.hero-overlay{background:linear-gradient(180deg,rgba(8,26,47,.94),rgba(8,26,47,.72))}
  .section{padding:72px 0}
}
@media (max-width:575px){
  .display-title{font-size:3.05rem}.hero{padding-top:108px}.hero-content{padding:38px 22px}.contact-panel{padding:30px 22px;border-radius:28px}.card-elite{padding:24px}
}


/* Ajuste fotografía profesional v1 */
.profile-photo{
  width:100%;
  max-height:620px;
  object-fit:cover;
  object-position:center top;
  display:block;
  background:#071321;
}
@media (max-width:991px){
  .profile-photo{max-height:560px;}
}
@media (max-width:575px){
  .profile-photo{max-height:480px;border-radius:28px;}
}


/* Ajustes solicitados v1 - sin cambiar estructura */
.hero .display-title{
  font-size:clamp(1.55rem,3.5vw,3.35rem) !important;
  line-height:1.08;
  max-width:680px;
}
.contact-panel .section-title,
.contact-panel .lead-soft,
.contact-panel .eyebrow,
.contact-panel p,
.contact-panel .text-muted-elite{
  color:#fff !important;
}
.contact-panel .lead-soft{opacity:.92;}


/* Hero actualizado con gráfico de tres círculos */
.hero-card{min-height:650px;}
.hero-content-wide{max-width:none !important;width:100%;}
.hero-two-col{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:38px;align-items:center;min-height:510px;}
.hero-copy{max-width:690px;}
.hero-main-title{font-size:clamp(2rem,4.1vw,4.35rem) !important;line-height:1.02;letter-spacing:-.035em;}
.hero-mind-visual{display:flex;align-items:center;justify-content:center;min-width:0;}
.hero-mind-visual svg{width:min(100%,520px);height:auto;display:block;overflow:visible;}
.mind-ring{fill:rgba(15,42,70,.28);stroke:url(#mindGold);stroke-width:2.4;filter:drop-shadow(0 0 10px rgba(217,192,137,.20));}
.ring-middle{fill:rgba(16,46,77,.22);stroke-width:2;}
.ring-inner{fill:rgba(8,26,47,.58);stroke-width:2.2;}
.mind-label{font-family:'Cormorant Garamond',Georgia,serif;fill:#F4E7C4;font-size:30px;font-weight:700;letter-spacing:.01em;text-shadow:0 3px 14px rgba(0,0,0,.45);}
.mind-label-middle{font-size:28px;}
.mind-label-inner{font-size:28px;}
.mind-dot,.mind-particles circle{fill:#D9C089;filter:drop-shadow(0 0 8px rgba(217,192,137,.65));}
.mind-wave{fill:none;stroke:rgba(217,192,137,.38);stroke-width:1.4;stroke-linecap:round;}
.mind-wave.faint{stroke:rgba(217,192,137,.22);}
@media (max-width:991px){
  .hero-two-col{grid-template-columns:1fr;gap:28px;min-height:auto;}
  .hero-mind-visual{justify-content:flex-start;}
  .hero-mind-visual svg{width:min(100%,460px);}
  .hero-card{min-height:auto;}
}
@media (max-width:575px){
  .hero-main-title{font-size:clamp(2rem,10vw,2.75rem) !important;}
  .hero-mind-visual svg{width:100%;}
  .mind-label{font-size:25px;}
  .mind-label-middle,.mind-label-inner{font-size:23px;}
}


/* Corrección hero círculos: gráfico como figura lateral/fondo, no debajo del texto */
.hero-card-labeled-circles{position:relative;min-height:650px;}
.hero-card-labeled-circles .hero-bg{z-index:0;}
.hero-card-labeled-circles .hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(8,26,47,.94) 0%,rgba(8,26,47,.80) 48%,rgba(8,26,47,.24) 100%);}
.hero-card-labeled-circles .hero-content{z-index:3;max-width:700px;position:relative;}
.hero-circles-bg{
  position:absolute;
  z-index:2;
  right:2.5%;
  top:50%;
  transform:translateY(-50%);
  width:min(52%,590px);
  max-height:92%;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 22px 50px rgba(0,0,0,.24));
}
.hero-main-title{font-size:clamp(2.1rem,4.6vw,4.55rem) !important;line-height:1.02;letter-spacing:-.035em;}
.hero-content-wide,.hero-two-col,.hero-mind-visual{display:initial;}
@media (max-width:991px){
  .hero-circles-bg{width:min(66%,520px);right:-10%;opacity:.34;}
  .hero-card-labeled-circles .hero-overlay{background:linear-gradient(180deg,rgba(8,26,47,.96),rgba(8,26,47,.76));}
  .hero-card-labeled-circles .hero-content{max-width:100%;}
}
@media (max-width:575px){
  .hero-circles-bg{width:115%;right:-44%;top:54%;opacity:.18;}
  .hero-main-title{font-size:clamp(2rem,10vw,2.85rem) !important;}
}


/* Corrección final: hero con círculos laterales, sin gráfico debajo del texto */
.hero-card-clean{
  position:relative;
  min-height:650px;
  overflow:hidden;
}
.hero-card-clean .hero-bg{z-index:0;opacity:.88;}
.hero-card-clean .hero-overlay{
  z-index:1;
  background:linear-gradient(90deg,rgba(8,26,47,.94) 0%,rgba(8,26,47,.83) 46%,rgba(8,26,47,.34) 100%);
}
.hero-card-clean .hero-content.hero-content-grid{
  position:relative;
  z-index:3;
  max-width:none!important;
  width:100%;
  padding:58px 56px;
  min-height:650px;
  display:grid!important;
  grid-template-columns:minmax(0, 0.96fr) minmax(390px, 0.92fr);
  align-items:center;
  gap:24px;
}
.hero-copy-left{
  max-width:670px;
  align-self:center;
  margin:0;
  padding:0;
}
.hero-copy-left .eyebrow{
  margin-top:0!important;
  padding-top:0!important;
}
.hero-copy-left .hero-main-title{
  margin-top:0!important;
  font-size:clamp(2.25rem,4.15vw,4.45rem)!important;
  line-height:1.02;
  letter-spacing:-.035em;
  max-width:700px;
}
.hero-copy-left .lead-soft{
  max-width:640px;
}
.hero-visual-right{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  height:100%;
  padding:0;
  margin:0;
}
.hero-visual-right img{
  display:block;
  width:min(100%, 560px);
  max-height:560px;
  object-fit:contain;
  filter:drop-shadow(0 24px 55px rgba(0,0,0,.28));
}
.hero-circles-bg{display:none!important;}
.hero-mind-visual{display:none!important;}
.hero-two-col{display:block!important;}
@media (max-width:991px){
  .hero-card-clean{min-height:auto;}
  .hero-card-clean .hero-overlay{background:linear-gradient(180deg,rgba(8,26,47,.96),rgba(8,26,47,.78));}
  .hero-card-clean .hero-content.hero-content-grid{
    grid-template-columns:1fr;
    min-height:auto;
    padding:48px 30px;
  }
  .hero-visual-right{
    display:none!important;
  }
  .hero-copy-left{max-width:100%;}
}
@media (max-width:575px){
  .hero-card-clean .hero-content.hero-content-grid{padding:38px 22px;}
  .hero-copy-left .hero-main-title{font-size:clamp(2rem,9vw,2.75rem)!important;}
}


/* Corrección v10: etiquetas integradas en el SVG de fondo, sin gráfico debajo del texto */
.hero-card-clean .hero-content.hero-content-clean-final{
  position:relative;
  z-index:3;
  max-width:700px!important;
  width:auto;
  padding:58px 56px;
  min-height:650px;
  display:flex!important;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
}
.hero-card-clean .hero-overlay{
  background:linear-gradient(90deg,rgba(8,26,47,.96) 0%,rgba(8,26,47,.84) 47%,rgba(8,26,47,.10) 100%)!important;
}
.hero-copy-left{
  max-width:670px;
  margin:0!important;
  padding:0!important;
}
.hero-copy-left .eyebrow{
  margin-top:0!important;
  padding-top:0!important;
}
.hero-copy-left .hero-main-title{
  margin-top:0!important;
}
.hero-visual-right{display:none!important;}
.hero-two-col,.hero-content-grid{display:block!important;}
@media (max-width:991px){
  .hero-card-clean .hero-overlay{background:linear-gradient(180deg,rgba(8,26,47,.97),rgba(8,26,47,.82))!important;}
  .hero-card-clean .hero-content.hero-content-clean-final{max-width:100%!important;min-height:auto;padding:48px 30px;}
}
@media (max-width:575px){
  .hero-card-clean .hero-content.hero-content-clean-final{padding:38px 22px;}
}


/* v11: etiquetas visibles sobre los círculos laterales del hero */
.hero-card-clean.hero-card-with-circles{
  position:relative;
}
.hero-circle-labels{
  position:absolute;
  z-index:2;
  right:8.5%;
  top:8.5%;
  width:min(42vw, 470px);
  height:min(42vw, 470px);
  min-width:360px;
  min-height:360px;
  pointer-events:none;
}
.hero-circle-labels .circle-label{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:700;
  color:#F4E7C4;
  line-height:1;
  white-space:nowrap;
  letter-spacing:.01em;
  text-shadow:0 2px 18px rgba(0,0,0,.72), 0 0 16px rgba(217,192,137,.36);
  filter:drop-shadow(0 0 7px rgba(217,192,137,.24));
}
.circle-label-conscious{top:13%;font-size:clamp(1.28rem,2.15vw,2.15rem);}
.circle-label-subconscious{top:40.5%;font-size:clamp(1.12rem,1.92vw,1.92rem);}
.circle-label-unconscious{top:55.7%;font-size:clamp(1.02rem,1.72vw,1.72rem);}
.hero-circle-labels .circle-label::after{
  content:"";
  display:block;
  width:9px;
  height:9px;
  border-radius:50%;
  margin:14px auto 0;
  background:#D9C089;
  box-shadow:0 0 16px rgba(217,192,137,.68);
}
.hero-card-clean .hero-content.hero-content-clean-final{
  padding-top:58px!important;
}
.hero-copy-left .eyebrow,
.hero-copy-left .hero-main-title,
.hero-copy-left .lead-soft{
  margin-top:0!important;
}
@media (max-width:991px){
  .hero-circle-labels{
    right:-5%;
    top:14%;
    opacity:.32;
    width:440px;
    height:440px;
    min-width:0;
    min-height:0;
  }
  .hero-circle-labels .circle-label{font-size:1.35rem!important;}
}
@media (max-width:575px){
  .hero-circle-labels{
    display:none;
  }
}


/* v12: etiquetas escritas directamente dentro de abstract-hero.svg */
.hero-circle-labels{display:none!important;}
.hero-card-clean .hero-overlay{background:linear-gradient(90deg,rgba(8,26,47,.96) 0%,rgba(8,26,47,.86) 46%,rgba(8,26,47,.02) 100%)!important;}
.hero-card-clean .hero-content.hero-content-clean-final{padding-top:58px!important;}
.hero-copy-left .eyebrow{margin-top:0!important;padding-top:0!important;}
