
  :root{
    --ink:#12202E;
    --ink-soft:#5D6C7B;
    --navy:#1B3F68;
    --navy-deep:#09294D;
    --navy-night:#031A31;
    --accent-base:#F05E07;
    --accent-mid:#AD4000;
    --accent-strong:#AD4000;
    --mist:#EEF2F6;
    --mist-2:#F4F7FA;
    --cloud:#F6F8FA;
    --white:#FFFFFF;
    --line:#DBE2EA;
    --shadow:0 18px 50px -20px rgba(3,26,49,.26);
    --maxw:1140px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Lato',system-ui,sans-serif;color:var(--ink);background:var(--white);
    line-height:1.62;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,.display{font-family:'Maven Pro',sans-serif;line-height:1.12;letter-spacing:-.025em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  section{position:relative}

  
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:'Maven Pro',sans-serif;font-weight:700;font-size:15px;
    padding:14px 28px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap;
  }
  .btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
  
  .btn-primary{background:linear-gradient(135deg,var(--accent-base),var(--accent-strong));color:#fff;
    box-shadow:0 10px 24px -10px rgba(173,64,0,.75)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(173,64,0,.85)}
  .btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
  .btn-ghost:hover{background:rgba(255,255,255,.12)}
  .btn-outline{background:#fff;border-color:var(--line);color:var(--ink)}
  .btn-outline:hover{border-color:var(--navy);color:var(--navy-deep);transform:translateY(-2px)}
  .btn-lg{padding:17px 38px;font-size:16px}

  .eyebrow{
    font-family:'Maven Pro',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--navy-deep);display:inline-flex;align-items:center;gap:9px;
  }
  .eyebrow::before{content:"";width:26px;height:3px;border-radius:2px;
    background:linear-gradient(135deg,var(--accent-base),var(--accent-strong))}

  
  header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);
    backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px}
  .logo img{height:28px;width:auto}
  .nav-links{display:flex;gap:30px;align-items:center;font-size:14.5px;font-weight:700}
  .nav-links a{color:var(--ink-soft);transition:color .15s}
  .nav-links a:hover{color:var(--navy-deep)}
  .nav-cta{display:flex;align-items:center;gap:14px}

  
  .hero{overflow:hidden;text-align:center;background:#fff}
  .hero-title-band{
    background:
      radial-gradient(920px 420px at 50% -14%,rgba(27,63,104,.16),transparent 62%),
      linear-gradient(180deg,var(--mist-2) 0%,var(--cloud) 100%);
    padding:44px 0 20px;
  }
  .hero-video-band{background:#fff;padding:0 0 74px}
  .hero-grid{display:block;max-width:940px;margin:0 auto}
  .hero-logo{display:flex;justify-content:center;margin:0 auto 26px}
  .hero-logo img{height:74px;width:auto}
  .hero h1{font-size:clamp(2.4rem,5.2vw,4rem);font-weight:800}
  .hero h1 .accent{background:linear-gradient(135deg,var(--accent-base),var(--accent-strong));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p.lead{font-size:1.18rem;color:var(--ink-soft);margin:22px auto 0;max-width:660px}
  .hero-actions{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:32px}
  .hero-trust{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap;justify-content:center}
  .hero-trust .t{font-size:13.5px;color:var(--ink-soft);display:flex;align-items:center;gap:7px;
    font-weight:600}
  .hero-trust .t b{font-family:'Maven Pro',sans-serif;color:var(--ink);font-weight:800}
  .check{width:18px;height:18px;color:var(--accent-mid);flex:0 0 18px}
  .hero-visual{position:relative;max-width:880px;margin:0 auto}

  
  .video-frame{
    max-width:840px;margin:0 auto;aspect-ratio:16/9;border-radius:22px;overflow:hidden;
    position:relative;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--navy),var(--navy-night));
  }
  .video-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
  .play{width:78px;height:78px;border-radius:50%;position:relative;z-index:2;
    background:linear-gradient(135deg,var(--accent-base),var(--accent-strong));
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 12px 30px -8px rgba(173,64,0,.7);transition:transform .2s}
  .video-frame:hover .play{transform:scale(1.08)}
  .play svg{margin-left:5px;fill:#fff;width:26px;height:26px}
  .video-frame.playing .play,.video-frame.playing img{opacity:0;pointer-events:none}

  
  .proof{padding:38px 0 46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    background:var(--white)}
  .proof p.tag{text-align:center;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--ink-soft);font-weight:700;margin-bottom:26px;font-family:'Maven Pro',sans-serif}
  .logos{display:flex;flex-wrap:wrap;gap:38px;justify-content:center;align-items:center}
  .logos span{font-family:'Maven Pro',sans-serif;font-weight:800;color:#9FB0C0;
    font-size:clamp(1rem,2vw,1.4rem);transition:color .2s}
  .logos span:hover{color:var(--navy)}

  
  .sec-head{text-align:center;max-width:700px;margin:0 auto 46px}
  .sec-head h2{font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:800}
  .sec-head p{color:var(--ink-soft);margin-top:14px;font-size:1.08rem}

  
  .product{padding:84px 0;background:#fff}
  .product-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;
    align-items:center}
  .product-media img{width:100%;border-radius:22px;box-shadow:var(--shadow)}
  .product-copy h2{font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:800;margin-top:14px}
  .product-copy p{color:var(--ink-soft);font-size:1.06rem;margin-top:16px}
  .product-points{display:grid;gap:12px;margin-top:26px}
  .product-point{display:flex;gap:13px;align-items:flex-start;background:var(--mist-2);
    border:1px solid var(--line);border-radius:14px;padding:15px 17px;color:var(--ink-soft);
    font-size:.98rem}
  .product-point b{display:block;color:var(--ink);font-family:'Maven Pro',sans-serif;
    font-size:1rem;margin-bottom:3px}
  .product-point .check{margin-top:3px}

  
  .capas{position:relative;overflow:hidden;border-radius:22px;box-shadow:var(--shadow);
    background:linear-gradient(160deg,#0c3157 0%,#09294d 46%,#031a31 100%);
    padding:34px 32px 30px;color:#fff;isolation:isolate}
  .capas::after{content:"";position:absolute;top:-18%;right:-52%;width:62%;height:140%;
    transform:rotate(13deg);z-index:0;opacity:.9;
    background:linear-gradient(200deg,rgba(240,94,7,.8) 0%,rgba(173,64,0,.3) 55%,rgba(3,26,49,0) 100%)}
  .capas > *{position:relative;z-index:1}
  .capas .capas-logo{display:block;width:118px;height:auto;margin-bottom:20px;
    border-radius:0;box-shadow:none}
  .capas-kicker{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:rgba(255,255,255,.62);margin:0 0 12px}
  .capas h3{font-family:'Maven Pro',sans-serif;font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:800;
    line-height:1.16;margin:0 0 26px;max-width:11ch}
  .capas-lista{display:grid;gap:0}
  .capa{padding:16px 0;border-top:1px solid rgba(255,255,255,.16);display:grid;
    grid-template-columns:26px 1fr;gap:10px;align-items:start}
  .capa:first-child{border-top:none;padding-top:0}
  .capa-num{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.5);
    padding-top:3px}
  .capa b{display:block;font-family:'Maven Pro',sans-serif;font-size:1.02rem;font-weight:700;
    margin-bottom:5px}
  .capa span{display:block;font-size:.86rem;line-height:1.58;color:rgba(255,255,255,.78)}
  @media (max-width:900px){.capas{padding:28px 24px 24px}.capas h3{max-width:none}}

  
  .benefits{padding:84px 0;background:var(--cloud)}
  .ben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .ben-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;
    transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
  .ben-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
  .ben-ico{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;
    justify-content:center;margin-bottom:20px;
    background:linear-gradient(135deg,rgba(240,94,7,.10),rgba(173,64,0,.05));
    border:1px solid rgba(240,94,7,.16)}
  .ben-ico svg{width:25px;height:25px;fill:none;stroke:var(--accent-mid);stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round}
  .ben-card h3{font-size:1.24rem;font-weight:800;margin-bottom:10px}
  .ben-card p{color:var(--ink-soft);font-size:.97rem}
  .ben-proof{margin-top:auto;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}
  .ben-proof b{display:block;font-family:'Maven Pro',sans-serif;color:var(--navy-deep);
    font-size:1.18rem;line-height:1.2}
  .ben-proof small{display:block;margin-top:6px;color:var(--ink-soft);font-size:12.5px;line-height:1.5}

  
  .results{padding:84px 0;color:#fff;text-align:center;
    background:radial-gradient(700px 320px at 78% 4%,rgba(27,63,104,.55),transparent 60%),
      linear-gradient(180deg,var(--navy-night),var(--navy-deep))}
  .results h2{font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:800;color:#fff}
  .results .sub{color:rgba(255,255,255,.72);margin:14px auto 0;max-width:640px;font-size:1.02rem}
  .stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:44px}
  .stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:18px;
    padding:26px 15px}
  .stat b{font-family:'Maven Pro',sans-serif;font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:800;
    color:#fff;display:block}
  .stat span{display:block;font-weight:700;margin-top:6px;font-size:.96rem}
  .stat small{display:block;color:rgba(255,255,255,.62);font-size:12.5px;margin-top:8px;line-height:1.45}
  .results .src{color:rgba(255,255,255,.5);font-size:12px;margin-top:34px;max-width:760px;
    margin-inline:auto;line-height:1.6}

  
  .faq{padding:84px 0}
  .faq-wrap{max-width:790px;margin:0 auto}
  details{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:#fff;
    overflow:hidden;transition:border-color .2s}
  details[open]{border-color:var(--accent-base)}
  summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:'Maven Pro',sans-serif;
    font-weight:700;font-size:1.04rem;display:flex;justify-content:space-between;align-items:center;
    gap:16px}
  summary::-webkit-details-marker{display:none}
  summary .ico{flex:0 0 24px;height:24px;border-radius:50%;border:1.5px solid var(--accent-base);
    color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-size:18px;
    transition:transform .2s}
  details[open] summary .ico{transform:rotate(45deg)}
  details .ans{padding:0 24px 22px;color:var(--ink-soft);font-size:.98rem}

  
  .final{padding:0}
  .final-band{
    background:radial-gradient(700px 300px at 82% 0%,rgba(240,94,7,.28),transparent 62%),
      linear-gradient(120deg,var(--navy-night),var(--navy));
    color:#fff;border-radius:24px;padding:56px 32px;text-align:center;position:relative;
    overflow:hidden;margin:0 24px 80px;max-width:var(--maxw);margin-inline:auto;
  }
  .final-band h2{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;color:#fff;max-width:740px;
    margin:0 auto 16px}
  .final-band p{color:rgba(255,255,255,.86);font-size:1.1rem;max-width:580px;margin:0 auto 30px}
  .final-band .btn-primary{background:#fff;color:var(--navy-deep);
    box-shadow:0 14px 30px -10px rgba(0,0,0,.45)}
  .final-band .btn-primary:hover{background:#F7FAFD}

  
  footer{background:var(--navy-night);color:rgba(255,255,255,.68);padding:34px 0 34px;font-size:13px}
  .footer-legal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
  .footer-legal img{height:26px;width:auto;opacity:.9;margin-bottom:4px}
  .legal-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
  .legal-links a{color:rgba(255,255,255,.8);font-weight:700}
  .legal-links a:hover{color:#fff}
  .legal-note{max-width:1000px;color:rgba(255,255,255,.5);font-size:11.5px;line-height:1.6}

  @media(max-width:920px){
    .ben-grid,.product-grid{grid-template-columns:1fr}
    .stat-grid{grid-template-columns:repeat(2,1fr)}
    .nav-links{display:none}
    .hero-actions .btn{flex:1}
  }
  @media(max-width:560px){
    .hero-title-band{padding:38px 0 18px}
    .hero-video-band{padding:0 0 50px}
    .hero-logo img{height:56px}
    .stat-grid{grid-template-columns:1fr}
    .final-band{padding:46px 26px}
    .nav-cta .btn-outline{display:none}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;
    transition:none!important}}

/* Identidad Soulspring. Medidas, fuentes y estructura de la referencia conservadas. */
:root{--accent:#F05E07;--accent-dark:#AD4000}
section[id]{scroll-margin-top:88px}
.btn-primary{background:var(--navy-deep);box-shadow:0 10px 24px -10px rgba(3,26,49,.4)}
.btn-primary:hover{background:var(--navy);box-shadow:0 16px 30px -10px rgba(3,26,49,.4)}
.eyebrow::before{background:var(--accent)}
.hero h1 .accent{background:none;color:var(--accent-dark)}
.check{width:18px;height:18px;flex:0 0 18px;color:var(--accent-dark)}
.play,.marca{background:var(--navy-deep);box-shadow:0 12px 30px -8px rgba(3,26,49,.45)}
.play{border:0;cursor:pointer}
.play:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.capas{background:var(--navy-deep)}
.capas::after{background:linear-gradient(200deg,rgba(240,94,7,.24),transparent 70%)}
.capas .capas-logo{width:205px;filter:brightness(0) invert(1)}
.capas h3{max-width:18ch}
.capas-kicker{color:rgba(255,255,255,.78)}
.ben-ico,.paso .n{background:#FFF3EA;border-color:#F4C8AD;color:var(--accent-dark)}
.ben-ico svg{stroke:var(--accent-dark)}
.logos span{color:var(--navy);font-size:1.2rem}
.final-band{background:var(--navy-deep)}
.final-band .btn-primary{background:#fff;color:var(--navy-deep)}
.footer-legal>img{height:36px;filter:brightness(0) invert(1)}
.footer-legal .agency img{height:22px;filter:brightness(0) invert(1);opacity:.8;margin:4px auto 0}
.agency{font-size:11px;color:#C8D4E0;margin-top:10px}
.legal-note,.results .src{color:#BCCAD7}
.stat small{color:#C8D4E0}
.hero-logo img{height:auto;width:340px;max-width:100%}
.video-caption{text-align:center;font-size:13px;color:var(--ink-soft);margin:15px auto 0;padding:0 15px;max-width:800px}
.video-frame.playing button{display:none}
.video-frame video{object-fit:contain}
.video-error{max-width:840px;text-align:center;margin:12px auto;color:var(--ink)}
.skip-link{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;padding:12px 16px;border:2px solid var(--navy)}
.skip-link:focus{top:10px}
.aviso{white-space:normal;justify-content:center}
.aviso svg{flex-shrink:0}
.contact-hint{font-size:13px;color:var(--ink-soft);margin-top:12px}
.paso a{color:var(--navy-deep);text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){
 .wrap{padding:0 18px}.nav-inner{gap:12px}.logo img{height:auto;width:130px}
 .nav-cta .btn,.nav-inner>.btn{font-size:13px;padding:11px 16px}
 .hero-logo img{width:280px;height:auto}.hero h1{font-size:2.2rem}
 .hero-actions{gap:12px}.hero-actions .btn{flex-basis:100%;padding:15px 18px}
 .hero-trust{gap:14px}.hero-trust .t{font-size:13px}.video-frame{border-radius:14px}
 .play{width:62px;height:62px}.hero p.lead{font-size:1.06rem}
 .proof{padding:30px 0}.logos{gap:16px 24px}.logos span{font-size:1.04rem}
 .product,.benefits,.results,.faq,.pasos,.servicio{padding:56px 0}
 .final{padding:0 18px}.final-band{margin-bottom:56px;border-radius:18px;padding:40px 22px}
 .ben-card,.paso{padding:26px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}
 .stat{padding:20px 12px}.stat:last-child{grid-column:1/-1}
 .aviso{border-radius:16px;padding:12px 16px}.hero{overflow:hidden}
}
