*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --cta:         #D0220E;
  --cta-hover:   #A81A0A;
  --deep:        #1A2B3C;
  --deep-mid:    #2C4158;
  --hero-bg:     #0F1E2D;
  --white:       #FDFCFB;
  --pink-light:  #FFF0F5;
  --pink-mid:    #F7CCDC;
  --blue-light:  #EAF4FF;
  --blue-mid:    #BCD9F2;
  --text-dark:   #1A2B3C;
  --text-mid:    #4A6070;
  --gold:        #C9922A;
  --teal:        #2A8B8B;
  --teal-light:  #E0F5F5;
  --purple:      #6B4C9A;
  --purple-light:#F3EEFF;
}

html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: var(--white); color: var(--text-dark); overflow-x: hidden; }

/* ══ NAV ══ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 2.5rem;
  background: rgba(15,30,45,.82);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.nav-logo { display: flex; align-items: center; gap: .7rem; text-decoration: none; }
.nav-logo img { height: 36px; width: auto; filter: brightness(0) invert(1); }
.nav-logo-text { font-family:'Fraunces',serif; font-weight:900; font-size:1.05rem; color:var(--white); line-height:1; }
.nav-logo-text small { display:block; font-family:'DM Sans',sans-serif; font-weight:400; font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-top:2px; }
.nav-links { display:flex; gap:1.6rem; list-style:none; align-items:center; }
.nav-links a { color:rgba(255,255,255,.68); text-decoration:none; font-size:.85rem; font-weight:500; transition:color .2s; }
.nav-links a:hover { color:var(--white); }
.nav-cta { background:var(--cta)!important; color:var(--white)!important; padding:.48rem 1.2rem; border-radius:999px; font-weight:600!important; font-size:.83rem!important; transition:background .2s!important; }
.nav-cta:hover { background:var(--cta-hover)!important; }

/* ══ ALLIES TICKER ══ */
#allies-ticker {
  background: var(--deep);
  border-bottom: 1px solid rgba(255,255,255,.07);
  padding: .6rem 0;
  overflow: hidden;
  position: relative;
}
#allies-ticker::before,
#allies-ticker::after {
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
}
#allies-ticker::before { left:0; background:linear-gradient(to right, var(--deep), transparent); }
#allies-ticker::after  { right:0; background:linear-gradient(to left,  var(--deep), transparent); }

.ticker-label {
  position:absolute; left:1.5rem; top:50%; transform:translateY(-50%);
  font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.3); z-index:3; white-space:nowrap;
}
.ticker-track {
  display:flex; gap:2.5rem; width:max-content;
  animation: tickerScroll 28s linear infinite;
  padding-left: 160px;
}
.ticker-track:hover { animation-play-state: paused; }
@keyframes tickerScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ticker-item {
  display:flex; align-items:center; gap:.55rem;
  white-space:nowrap; font-size:.8rem; color:rgba(255,255,255,.55);
  padding:.15rem .9rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius:999px;
  transition: color .2s, border-color .2s;
  cursor: default;
}
.ticker-item:hover { color:rgba(255,255,255,.88); border-color:rgba(255,255,255,.25); }
.ticker-item .ti-dot { width:6px; height:6px; border-radius:50%; background:var(--blue-mid); flex-shrink:0; }
.ticker-item.sponsor .ti-dot { background:var(--gold); }
.ticker-item.sponsor { color:rgba(255,220,140,.65); border-color:rgba(255,220,140,.15); }
.ticker-item.sponsor:hover { color:rgba(255,220,140,.95); }

/* ══ HERO ══ */
#hero {
  min-height: 100vh;
  background: var(--hero-bg);
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 9rem 2rem 7rem;
  text-align: center;
}
#hero::before {
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(circle, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 40px 40px; pointer-events:none;
}
.hero-glow {
  position:absolute; width:750px; height:750px; border-radius:50%;
  background:radial-gradient(circle, rgba(44,65,88,.6) 0%, transparent 70%);
  top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none;
}
.hero-watermark {
  position:absolute; right:-40px; bottom:-30px;
  opacity:.04; pointer-events:none; user-select:none;
}
.hero-watermark img { width:460px; height:auto; filter:brightness(0) invert(1); }

.hero-eyebrow {
  display:inline-flex; align-items:center; gap:.55rem;
  color:var(--blue-mid); font-size:.78rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  margin-bottom:1.6rem; animation:fadeUp .6s ease both; position:relative; z-index:1;
}
.hero-eyebrow::before,.hero-eyebrow::after { content:''; display:inline-block; width:26px; height:1px; background:var(--blue-mid); opacity:.5; }

h1 {
  font-family:'Fraunces',serif; font-weight:900;
  font-size:clamp(2.4rem,5.5vw,4.8rem);
  line-height:1.08; color:var(--white); max-width:800px;
  position:relative; z-index:1; animation:fadeUp .7s .1s ease both;
}
h1 em { font-style:italic; font-weight:400; color:var(--blue-mid); }

.hero-body {
  margin-top:1.8rem; font-size:clamp(.95rem,1.8vw,1.1rem);
  color:rgba(255,255,255,.65); max-width:560px; line-height:1.8;
  position:relative; z-index:1; animation:fadeUp .7s .2s ease both;
}
.hero-body strong { color:rgba(255,255,255,.88); font-weight:500; }

.confidential-pill {
  margin-top:1.5rem;
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:999px; padding:.45rem 1.1rem;
  font-size:.77rem; color:rgba(255,255,255,.48);
  position:relative; z-index:1; animation:fadeUp .7s .25s ease both;
}

.hero-cta-wrap {
  margin-top:2.5rem; display:flex; flex-direction:column; align-items:center; gap:.9rem;
  position:relative; z-index:1; animation:fadeUp .7s .3s ease both;
}
.btn-primary {
  background:var(--cta); color:var(--white); font-weight:700; font-size:1.05rem;
  border:none; border-radius:999px; padding:1rem 2.6rem; cursor:pointer;
  box-shadow:0 6px 28px rgba(208,34,14,.35);
  transition:background .2s, transform .2s, box-shadow .2s;
  text-decoration:none; display:inline-block; letter-spacing:.01em;
}
.btn-primary:hover { background:var(--cta-hover); transform:translateY(-2px); box-shadow:0 12px 36px rgba(208,34,14,.42); }
.btn-ghost {
  background:transparent; color:rgba(255,255,255,.52); font-size:.87rem; font-weight:500;
  border:none; cursor:pointer; text-decoration:underline; text-underline-offset:3px;
  transition:color .2s; padding:0;
}
.btn-ghost:hover { color:var(--white); }

.hero-journey {
  display:flex; flex-wrap:wrap; gap:.55rem; justify-content:center;
  margin-top:3.2rem; position:relative; z-index:1; animation:fadeUp .7s .4s ease both;
}
.journey-step {
  display:flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  border-radius:999px; padding:.45rem 1rem; font-size:.77rem; color:rgba(255,255,255,.52);
}
.journey-step .num {
  background:var(--deep-mid); color:var(--blue-mid); width:20px; height:20px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; flex-shrink:0;
}
.journey-arrow { color:rgba(255,255,255,.18); font-size:.75rem; }

@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* ══ WAVE ══ */
.wave-wrap { line-height:0; display:block; margin-top:-1px; }
.wave-wrap svg { width:100%; display:block; }

/* ══ SHARED ══ */
.section-eyebrow {
  display:inline-block; font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--deep-mid); background:rgba(44,65,88,.1); border-radius:999px; padding:.33rem 1rem; margin-bottom:.9rem;
}
.section-title {
  font-family:'Fraunces',serif; font-weight:900;
  font-size:clamp(1.75rem,3.5vw,2.55rem); line-height:1.15; color:var(--text-dark);
  max-width:620px; margin:0 auto .9rem; text-align:center;
}
.section-sub {
  text-align:center; color:var(--text-mid); font-size:.97rem;
  max-width:540px; margin:0 auto 3.5rem; line-height:1.72;
}

/* ══ QUÉ ES ══ */
#que-es { background:linear-gradient(180deg, var(--pink-light) 0%, var(--blue-light) 100%); padding:5.5rem 2rem 6rem; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; max-width:960px; margin:0 auto; }
@media(max-width:640px){ .two-col{grid-template-columns:1fr} }

.info-card {
  background:var(--white); border-radius:1.4rem; padding:1.9rem 1.7rem;
  box-shadow:0 3px 18px rgba(26,43,60,.07); transition:transform .25s, box-shadow .25s;
}
.info-card:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(26,43,60,.11); }
.info-card .icon-wrap {
  width:50px; height:50px; border-radius:13px; background:var(--blue-light);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:1rem;
}
.info-card h3 { font-family:'Fraunces',serif; font-weight:700; font-size:1.02rem; margin-bottom:.45rem; color:var(--text-dark); }
.info-card p { font-size:.88rem; color:var(--text-mid); line-height:1.62; }

.highlight-box {
  grid-column:1/-1;
  background:linear-gradient(135deg, var(--deep) 0%, var(--deep-mid) 100%);
  border-radius:1.4rem; padding:2rem 2.2rem;
  display:flex; align-items:flex-start; gap:1.4rem;
}
.highlight-box .hb-icon { font-size:2rem; flex-shrink:0; margin-top:.15rem; }
.highlight-box p { font-size:.92rem; line-height:1.7; color:rgba(255,255,255,.78); }
.highlight-box p strong { color:var(--white); font-weight:600; }

/* ══ CAPACITACIÓN ══ */
#capacitacion { background:linear-gradient(180deg, var(--blue-light) 0%, var(--teal-light) 100%); padding:5.5rem 2rem 6rem; }
.training-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.3rem; max-width:960px; margin:0 auto; }
.training-card {
  background:var(--white); border-radius:1.4rem; padding:1.9rem 1.7rem;
  box-shadow:0 3px 18px rgba(26,43,60,.07); border-top:4px solid var(--teal);
  transition:transform .25s, box-shadow .25s;
}
.training-card:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(26,43,60,.12); }
.training-card .tc-icon { font-size:1.8rem; margin-bottom:.9rem; display:block; }
.training-card h3 { font-family:'Fraunces',serif; font-weight:700; font-size:1rem; margin-bottom:.45rem; color:var(--text-dark); }
.training-card p { font-size:.87rem; color:var(--text-mid); line-height:1.62; }
.tc-tag { display:inline-block; margin-top:.8rem; font-size:.73rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--teal); background:var(--teal-light); border-radius:999px; padding:.25rem .8rem; }

.training-cta-box {
  max-width:960px; margin:2rem auto 0;
  background:var(--deep); border-radius:1.4rem; padding:2rem 2.4rem;
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
}
.training-cta-box p { font-size:.93rem; color:rgba(255,255,255,.72); line-height:1.62; max-width:520px; }
.training-cta-box p strong { color:var(--white); }
.btn-teal {
  background:var(--teal); color:var(--white); font-weight:600; font-size:.88rem;
  border:none; border-radius:999px; padding:.75rem 1.8rem; cursor:pointer;
  white-space:nowrap; text-decoration:none; display:inline-block; flex-shrink:0;
  transition:background .2s, transform .2s;
}
.btn-teal:hover { background:#226f6f; transform:translateY(-1px); }

/* ══ CÓMO FUNCIONA ══ */
#como-funciona { background:linear-gradient(180deg, var(--teal-light) 0%, var(--pink-light) 100%); padding:5.5rem 2rem 6rem; }
.steps-wrap { max-width:700px; margin:0 auto; display:flex; flex-direction:column; }
.step { display:flex; gap:1.6rem; align-items:flex-start; padding-bottom:2.4rem; position:relative; }
.step:not(:last-child)::before {
  content:''; position:absolute; left:22px; top:48px; width:2px; bottom:0;
  background:linear-gradient(to bottom, var(--blue-mid), transparent);
}
.step-num {
  flex-shrink:0; width:46px; height:46px; border-radius:50%;
  background:var(--white); border:2px solid var(--blue-mid);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-weight:900; font-size:1.1rem; color:var(--deep);
}
.step-content { padding-top:.3rem; }
.step-content h4 { font-family:'Fraunces',serif; font-weight:700; font-size:1.05rem; color:var(--text-dark); margin-bottom:.45rem; }
.step-content p { font-size:.9rem; color:var(--text-mid); line-height:1.65; }
.price-tag {
  display:inline-flex; align-items:center; gap:.4rem; margin-top:.65rem;
  background:var(--white); border:1px solid var(--blue-mid); border-radius:999px;
  padding:.3rem .9rem; font-size:.8rem; font-weight:600; color:var(--deep);
}
.price-tag.free    { border-color:#A8D5A2; color:#2D6A4F; background:#F0FAF0; }
.price-tag.paid    { border-color:var(--gold); color:#7A5B0A; background:#FFFAF0; }
.price-tag.consult { border-color:var(--pink-mid); color:#8B3A5A; background:var(--pink-light); }

.confidential-banner {
  max-width:700px; margin:2.5rem auto 0;
  background:var(--white); border:1px solid var(--blue-mid); border-radius:1.2rem;
  padding:1.3rem 1.8rem; display:flex; align-items:flex-start; gap:1rem;
  box-shadow:0 2px 14px rgba(26,43,60,.06);
}
.confidential-banner .lock { font-size:1.4rem; flex-shrink:0; margin-top:.1rem; }
.confidential-banner p { font-size:.87rem; color:var(--text-mid); line-height:1.62; }
.confidential-banner strong { color:var(--text-dark); }

/* ══ COMUNIDAD ══ */
#comunidad { background:linear-gradient(180deg, var(--pink-light) 0%, var(--purple-light) 100%); padding:5.5rem 2rem 6rem; }

.community-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:1.3rem; max-width:1040px; margin:0 auto 2.5rem;
}
.community-card {
  background:var(--white); border-radius:1.4rem; padding:2rem 1.7rem;
  box-shadow:0 3px 18px rgba(26,43,60,.07);
  border-left:4px solid var(--purple);
  transition:transform .25s, box-shadow .25s;
}
.community-card:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(107,76,154,.12); }
.community-card .cc-icon { font-size:2rem; margin-bottom:.9rem; display:block; }
.community-card h3 { font-family:'Fraunces',serif; font-weight:700; font-size:1.02rem; margin-bottom:.45rem; color:var(--text-dark); }
.community-card p { font-size:.87rem; color:var(--text-mid); line-height:1.62; }
.cc-tag { display:inline-block; margin-top:.8rem; font-size:.73rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--purple); background:var(--purple-light); border-radius:999px; padding:.25rem .8rem; }
.cc-badge {
  display:inline-flex; align-items:center; gap:.3rem;
  font-size:.72rem; font-weight:600; color:#2D6A4F;
  background:#F0FAF0; border:1px solid #A8D5A2; border-radius:999px;
  padding:.22rem .75rem; margin-top:.55rem;
}

.community-coming {
  max-width:1040px; margin:0 auto;
  background:linear-gradient(135deg, var(--purple) 0%, #4A3070 100%);
  border-radius:1.4rem; padding:2.2rem 2.4rem;
  display:flex; align-items:center; gap:1.8rem; flex-wrap:wrap;
}
.community-coming .cc-text { flex:1; min-width:240px; }
.community-coming h4 { font-family:'Fraunces',serif; font-weight:700; font-size:1.15rem; color:var(--white); margin-bottom:.4rem; }
.community-coming p { font-size:.88rem; color:rgba(255,255,255,.72); line-height:1.62; }
.btn-purple {
  background:var(--white); color:var(--purple);
  font-weight:700; font-size:.88rem; border:none; border-radius:999px;
  padding:.75rem 1.8rem; cursor:pointer; white-space:nowrap;
  text-decoration:none; display:inline-block; flex-shrink:0;
  transition:transform .2s, box-shadow .2s;
}
.btn-purple:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.18); }

/* ══ ÚNETE ══ */
#unete { background:linear-gradient(180deg, var(--purple-light) 0%, var(--blue-light) 100%); padding:5.5rem 2rem 6rem; }

.join-tabs {
  display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap;
  margin-bottom:2.8rem;
}
.join-tab {
  padding:.55rem 1.4rem; border-radius:999px; font-size:.85rem; font-weight:600;
  border:2px solid transparent; cursor:pointer; transition:all .2s;
  background:var(--white); color:var(--text-mid);
  box-shadow:0 2px 10px rgba(26,43,60,.07);
}
.join-tab.active, .join-tab:hover { background:var(--deep); color:var(--white); border-color:var(--deep); }

.join-panel { display:none; max-width:700px; margin:0 auto; }
.join-panel.active { display:block; }

.join-card {
  background:var(--white); border-radius:1.6rem; padding:2.4rem 2.2rem;
  box-shadow:0 4px 24px rgba(26,43,60,.09);
}
.join-card-header { margin-bottom:1.8rem; }
.join-card-header h3 { font-family:'Fraunces',serif; font-weight:900; font-size:1.4rem; color:var(--text-dark); margin-bottom:.4rem; }
.join-card-header p { font-size:.9rem; color:var(--text-mid); line-height:1.6; }

.req-list { margin:.9rem 0 1.6rem; padding:0; list-style:none; }
.req-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.85rem; color:var(--text-mid); line-height:1.55; padding:.3rem 0;
  border-bottom:1px solid rgba(26,43,60,.06);
}
.req-list li:last-child { border-bottom:none; }
.req-list li::before { content:'✓'; color:var(--teal); font-weight:700; flex-shrink:0; margin-top:.05rem; }
.req-list li.req-no::before { content:'✗'; color:var(--cta); }

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media(max-width:560px){ .form-grid{grid-template-columns:1fr} }
.form-field { display:flex; flex-direction:column; gap:.35rem; }
.form-field.full { grid-column:1/-1; }
.form-field label { font-size:.8rem; font-weight:600; color:var(--text-dark); letter-spacing:.02em; }
.form-field input,
.form-field select,
.form-field textarea {
  padding:.7rem 1rem; border:1.5px solid #D8E6F0; border-radius:.8rem;
  font-family:'DM Sans',sans-serif; font-size:.88rem; color:var(--text-dark);
  background:var(--white); outline:none; transition:border-color .2s;
  appearance:none; -webkit-appearance:none;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color:var(--blue-mid); box-shadow:0 0 0 3px rgba(188,217,242,.25); }
.form-field textarea { resize:vertical; min-height:90px; }
.form-field select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A6070' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }

.form-disclaimer {
  font-size:.77rem; color:var(--text-mid); line-height:1.55; margin-top:1.2rem;
  padding:.9rem 1.1rem; background:var(--blue-light); border-radius:.8rem;
}
.form-disclaimer strong { color:var(--text-dark); }

.btn-submit {
  width:100%; margin-top:1.4rem;
  background:var(--deep); color:var(--white); font-weight:700; font-size:1rem;
  border:none; border-radius:999px; padding:.95rem; cursor:pointer;
  transition:background .2s, transform .2s;
}
.btn-submit:hover { background:var(--deep-mid); transform:translateY(-1px); }

.form-success {
  display:none; text-align:center; padding:2rem 1rem;
}
.form-success .fs-icon { font-size:3rem; margin-bottom:.8rem; }
.form-success h4 { font-family:'Fraunces',serif; font-weight:700; font-size:1.2rem; margin-bottom:.4rem; }
.form-success p { font-size:.9rem; color:var(--text-mid); line-height:1.6; }

/* ══ CTA FINAL ══ */
#cta-final {
  background:var(--deep); padding:6rem 2rem 5rem;
  text-align:center; position:relative; overflow:hidden;
}
#cta-final .bg-shield { position:absolute; right:-60px; bottom:-40px; opacity:.035; pointer-events:none; }
#cta-final .bg-shield img { width:420px; height:auto; filter:brightness(0) invert(1); }
#cta-final h2 {
  font-family:'Fraunces',serif; font-weight:900;
  font-size:clamp(1.8rem,4vw,3rem); color:var(--white);
  max-width:620px; margin:0 auto .5rem; line-height:1.15; position:relative; z-index:1;
}
#cta-final h2 em { font-style:italic; font-weight:400; color:var(--blue-mid); }
#cta-final .sub {
  color:rgba(255,255,255,.58); font-size:1rem;
  max-width:460px; margin:.8rem auto 2.4rem; line-height:1.7; position:relative; z-index:1;
}

/* ══ FOOTER ══ */
footer {
  background:#0A1520; color:rgba(255,255,255,.38);
  text-align:center; padding:2.4rem 2rem; font-size:.82rem; line-height:1.75;
}
footer strong { color:rgba(255,255,255,.65); }
footer a { color:rgba(255,255,255,.38); text-decoration:underline; text-underline-offset:2px; }
footer a:hover { color:rgba(255,255,255,.6); }
.footer-logo { display:flex; align-items:center; justify-content:center; gap:.6rem; margin-bottom:.7rem; }
.footer-logo img { height:26px; filter:brightness(0) invert(1); opacity:.45; }
.footer-logo span { font-family:'Fraunces',serif; font-weight:700; font-size:.95rem; color:rgba(255,255,255,.45); }