@font-face{font-family:Outfit;src:url(fonts/Outfit.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--navy:#16153a;--navy2:#1f1d4a;--lime:#c2f970;--red:#b8173a;--wine:#5e1c4e;--indigo:#2a1f57;--ink:#1d1c45;--txt:#3a3955;--mute:#66657c;--line:#e6e5ee;--paper:#fff;--wm:#f3f3f6;--w:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Outfit,system-ui,sans-serif;color:var(--txt);background:var(--paper);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px;position:relative;z-index:2}
h1,h2,h3{font-weight:600;color:var(--ink);line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(42px,6.4vw,84px);letter-spacing:-.02em}
h2{font-size:clamp(32px,4vw,52px);color:var(--red);max-width:18ch}
h3{font-size:22px;line-height:1.3}
.lead{font-size:clamp(19px,1.7vw,22px);max-width:60ch}
.dark{background:var(--navy);color:#e9e8f3}
.dark h1,.dark h2{color:var(--lime)}
.dark h3{color:#fff}
.dark p{font-weight:300}
section{position:relative;overflow:hidden;padding:120px 0}
.wm{position:absolute;z-index:0;font-weight:700;color:var(--wm);line-height:.8;font-size:clamp(420px,62vw,900px);letter-spacing:-.03em;pointer-events:none;user-select:none}
.dark .wm{color:rgba(255,255,255,.035)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 18px/1 Outfit,sans-serif;padding:20px 30px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-lime{background:var(--lime);color:var(--navy)}
.btn-red{background:var(--red);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:#fff}

/* nav */
.nav{position:absolute;top:0;left:0;right:0;z-index:5;padding:28px 0}
.nav .wrap{display:flex;align-items:center;justify-content:space-between}
.nav img{height:34px;width:auto}
.nav a.btn{padding:13px 22px;font-size:16px}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;padding:150px 0 90px;background:var(--navy) url(img/s-008.jpg) center/cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,17,46,.96) 30%,rgba(18,17,46,.72))}
.hero .grid{display:grid;grid-template-columns:1.25fr .9fr;gap:64px;align-items:center}
.hero p.lead{margin:28px 0 40px;color:#dcdbe9}
.hero .ctas{display:flex;gap:16px;flex-wrap:wrap}
.hero .note{margin-top:22px;font-size:15px;color:#a9a8c0}
.media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.media img,.media video,.media iframe{width:100%;height:100%;object-fit:cover;border:0}
.media .tag{position:absolute;left:18px;bottom:18px;background:rgba(22,21,58,.85);color:#fff;font-size:15px;padding:10px 16px;border-radius:999px}
.vbar{position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(180deg,var(--indigo),var(--wine) 40%,#bd0f29)}
@media (prefers-reduced-motion:no-preference){
  .hero h1,.hero p.lead,.hero .ctas,.hero .media{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero p.lead{animation-delay:.12s}.hero .ctas{animation-delay:.22s}.hero .media{animation-delay:.3s}
  @keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
}

/* logos */
.logos{padding:46px 0;background:#fff;border-bottom:1px solid var(--line)}
.logos .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.logos p{font-size:15px;color:var(--mute);max-width:16ch;line-height:1.35}
.logos .row{display:flex;align-items:center;gap:48px;flex-wrap:wrap}
.logos img{height:34px;width:auto;filter:grayscale(1) brightness(.35);opacity:.85}
.logos img.ch{height:48px;border-radius:6px;filter:none;opacity:1}
.logos .wd{font-weight:600;font-size:24px;color:#3f3e57;letter-spacing:.02em;line-height:1}
.logos .wd small{display:block;font-size:10px;font-weight:400;letter-spacing:.18em;margin-top:3px}

/* results */
.results .grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid rgba(255,255,255,.14)}
.results .it{padding:40px 36px 0 0}
.results .it+.it{padding-left:36px;border-left:1px solid rgba(255,255,255,.14)}
.results .n{font-size:clamp(64px,8vw,112px);font-weight:600;color:var(--lime);line-height:1}
.results h3{margin:14px 0 10px}
.results p{color:#c9c8dc;font-size:17px}

/* needs */
.needs .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:64px}
.needs img{height:64px;width:auto;margin-bottom:22px}
.needs h3{margin-bottom:12px}
.needs p{color:var(--mute);font-size:17px}

/* process */
.process{background:#faf9fc}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;counter-reset:s}
.step{position:relative;padding:34px 40px 34px 34px;color:#fff;min-height:260px;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%,12% 50%)}
.step:first-child{clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%)}
.step+.step{margin-left:-18px;padding-left:52px}
.step:nth-child(1){background:linear-gradient(90deg,#bd0f29,#9b1336)}
.step:nth-child(2){background:linear-gradient(90deg,#9b1336,#7a1744)}
.step:nth-child(3){background:linear-gradient(90deg,#7a1744,var(--wine))}
.step:nth-child(4){background:linear-gradient(90deg,var(--wine),var(--indigo))}
.step .k{color:var(--lime);font-weight:600;font-size:15px}
.step h3{color:#fff;margin:8px 0 10px;font-size:21px}
.step p{font-size:15.5px;font-weight:300;line-height:1.5;max-width:22ch}

/* quotes */
.quotes .grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;margin-top:64px;align-items:start}
.q{padding:40px 36px;border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(22,21,58,.10)}
.q.main{background:var(--navy);color:#fff}
.q blockquote{font-size:20px;line-height:1.55}
.q.main blockquote{font-size:24px;font-weight:300}
.q .who{margin-top:26px;font-size:16px;color:var(--mute)}
.q .who b{display:block;color:var(--red);font-weight:600;font-size:17px}
.q.main .who{color:#b9b8cf}.q.main .who b{color:var(--lime)}
.quotes .letters{margin-top:36px;color:var(--mute);font-size:16px}

/* fit */
.fit .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:56px}
.fit ul{list-style:none}
.fit li{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:19px}
.fit .yes li:before{content:"✓";color:var(--lime);font-weight:700;margin-right:14px}
.fit .no li{color:#aeadc4}.fit .no li:before{content:"✕";color:#e0577a;font-weight:700;margin-right:14px}
.fit h3{font-size:19px;color:#fff;margin-bottom:6px}

/* bio */
.bio .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.bio .ph{border-radius:22px;overflow:hidden;aspect-ratio:3/4}
.bio .ph img{width:100%;height:100%;object-fit:cover}
.bio p{margin-top:18px;max-width:60ch}
.creds{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}
.creds span{font-size:14.5px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink)}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:24px 0;max-width:820px}
.faq summary{cursor:pointer;font-weight:600;font-size:21px;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--red);font-size:28px;line-height:1;transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--mute);max-width:66ch}

/* cta */
.cta .grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.cta p.lead{margin:24px 0 34px;color:#d6d5e6}
form{display:grid;gap:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:34px;border-radius:24px}
label{font-size:15px;color:#c9c8dc;display:grid;gap:6px}
input,select,textarea{font:400 17px Outfit,sans-serif;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}
select option{color:#000}
textarea{min-height:90px;resize:vertical}
.ok{display:none;padding:22px;border-radius:16px;background:rgba(194,249,112,.12);color:#fff}
footer{background:#0f0e2b;color:#9e9db6;padding:40px 0;font-size:15px}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer img{height:26px;width:auto}

@media (max-width:900px){
  section{padding:84px 0}
  .hero .grid,.bio .grid,.cta .grid,.fit .grid,.quotes .grid{grid-template-columns:1fr}
  .hero .media{max-width:420px}
  .results .grid,.needs .grid{grid-template-columns:1fr}
  .results .it,.results .it+.it{padding:30px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .steps{grid-template-columns:1fr;gap:10px}
  .step,.step:first-child,.step+.step{clip-path:none;margin:0;padding:28px;min-height:0;border-radius:18px}
  .step p{max-width:none}
  .nav .btn{display:none}
}

/* temas */
.topics{padding:110px 0;background:#fff;border-top:1px solid var(--line)}
.topics .grid2{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.tlist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.tlist li{padding:20px 0 20px 34px;border-bottom:1px solid var(--line);position:relative;font-size:19px;color:var(--ink);font-weight:500;line-height:1.4}
.tlist li:before{content:"";position:absolute;left:0;top:27px;width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,#bd0f29,var(--indigo))}
.hero .note a{color:#fff}
/* honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* whatsapp flotante */
.wa{position:fixed;right:22px;bottom:22px;z-index:20;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .2s}
.wa:hover{transform:scale(1.07)}
/* agenda incrustada */
#agendaBox iframe{width:100%;height:640px;border:0;border-radius:18px;background:#fff}
#fail{display:none}

/* animaciones: una entrada por sección + conteo de resultados */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .js .rv.in{opacity:1;transform:none}
  .js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}.js .rv.d4{transition-delay:.32s}.js .rv.d5{transition-delay:.4s}
  .js .steps .step.rv{transform:translateX(-24px)}
  .js .steps .step.rv.in{transform:none}
  .wm{transition:transform 1.2s ease-out}
  .wa{animation:waIn .6s 1.6s both}
  @keyframes waIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
}
@media (max-width:900px){
  .topics .grid2{grid-template-columns:1fr;gap:28px}
  .tlist{grid-template-columns:1fr}
  .wa{width:54px;height:54px;right:16px;bottom:16px}
}

/* ===== Iteración 3: ritmo de secciones y móvil ===== */
section h2:before{content:"";display:block;width:56px;height:6px;border-radius:3px;margin-bottom:22px;background:linear-gradient(90deg,#bd0f29,var(--wine),var(--indigo))}
.dark h2:before{background:var(--lime)}
.hero h1:before,.cta h2:before{display:none}
.needs{background:#f5f4fa}
.needs .grid>div{background:#fff;border-radius:22px;padding:34px 30px;box-shadow:0 10px 30px rgba(22,21,58,.07);border:1px solid #ecebf3}
.process{background:#fff;border-top:1px solid var(--line)}
.topics{background:#f5f4fa;border-top:0}
.tlist{background:#fff;border-radius:22px;padding:8px 30px;box-shadow:0 10px 30px rgba(22,21,58,.07);border:1px solid #ecebf3}
.tlist li:last-child,.tlist li:nth-last-child(2){border-bottom:0}
.quotes{background:#f5f4fa}
.bio{background:#fff}
.logos .row{gap:40px 44px}

@media (max-width:900px){
  section{padding:72px 0}
  h2{font-size:31px}
  h2:before{margin-bottom:16px}
  .hero{min-height:0;padding:118px 0 56px}
  .hero h1{font-size:40px}
  .hero p.lead{margin:20px 0 28px;font-size:18px}
  .hero .ctas .btn{width:100%}
  .hero .media{aspect-ratio:16/10;max-width:none;margin-top:8px;border-radius:18px}
  .logos{padding:30px 0}
  .logos .wrap{flex-direction:column;align-items:flex-start;gap:18px}
  .logos p{max-width:none}
  .logos .row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 18px;width:100%;align-items:center;justify-items:center}
  .logos img{height:24px}.logos img.ch{height:38px}
  .logos .wd{font-size:19px}
  .results .grid{margin-top:36px}
  .results .it,.results .it+.it{display:grid;grid-template-columns:auto 1fr;column-gap:20px;align-items:center;padding:26px 0}
  .results .n{font-size:58px;grid-row:span 2}
  .results h3{margin:0 0 4px;font-size:19px}
  .results p{grid-column:1/-1;margin-top:10px;font-size:16px}
  .needs .grid{gap:16px;margin-top:36px}
  .needs .grid>div{display:grid;grid-template-columns:52px 1fr;column-gap:16px;padding:22px 20px}
  .needs img{height:44px;margin:0;grid-row:span 2}
  .needs h3{font-size:18px;margin-bottom:6px}
  .needs p{font-size:16px}
  .tlist{padding:4px 20px}
  .tlist li{font-size:17px;padding:16px 0 16px 28px}
  .tlist li:before{top:22px;width:12px;height:12px}
  .tlist li:nth-last-child(2){border-bottom:1px solid var(--line)}
  .steps{margin-top:36px}
  .quotes .grid{margin-top:36px;gap:16px}
  .q{padding:28px 24px}
  .q.main blockquote{font-size:20px}
  .fit .grid{margin-top:32px;gap:28px}
  .fit li{font-size:17px;padding:14px 0}
  .bio .grid{gap:30px}
  .bio .ph{aspect-ratio:4/3;border-radius:18px}
  .bio .ph img{object-position:center 30%}
  .faq summary{font-size:18px}
  .faq details{padding:18px 0}
  form{padding:22px}
  .cta .grid{gap:36px}
}
.topics{background:#fff;border-top:0}
.process{background:#f5f4fa;border-top:0}
.quotes{background:#fff}
.faq{background:#f5f4fa!important}
.logos img{filter:grayscale(1) contrast(1.1);opacity:.75;transition:filter .3s,opacity .3s}
.logos img:hover{filter:none;opacity:1}
.logos img.ch{height:46px;filter:grayscale(1);opacity:.75;border-radius:0}
.logos img.tall{height:44px}
@media (max-width:900px){.logos img.tall,.logos img.ch{height:36px}}
.logos img.inv{filter:brightness(0);opacity:.6}.logos img.inv:hover{filter:brightness(0);opacity:.85}
