  :root{
    --burdeos:#5C1A23; --oscuro:#3A0F15; --crema:#F4ECE1; --crema-2:#FAF6EF;
    --arena:#C9B39A; --negro:#1E1A18; --gris:#6B625C; --linea:rgba(30,26,24,.14);
    --ancho:1080px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:Inter,system-ui,sans-serif;background:var(--crema-2);color:var(--negro);
       font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  .wrap{max-width:var(--ancho);margin:0 auto;padding:0 24px}
  .estrecho{max-width:720px}
  section{padding:112px 0}
  .serif{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;
         text-transform:none;letter-spacing:0;color:var(--burdeos)}
  .ante{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--burdeos);
        display:block;margin-bottom:22px}
  h1,h2{font-weight:800;letter-spacing:-.035em;line-height:1.04;text-transform:uppercase;text-wrap:balance}
  h1{font-size:clamp(36px,6.2vw,74px)}
  h2{font-size:clamp(28px,4.2vw,48px)}
  h1 .serif,h2 .serif{font-size:1.12em;line-height:1}
  h3{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
  p{max-width:62ch}
  .sub{font-size:19px;color:var(--gris);margin-top:26px}
  .btn{display:inline-block;background:var(--burdeos);color:var(--crema);text-decoration:none;
       font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
       padding:19px 38px;border-radius:999px;transition:background .2s}
  .btn:hover{background:var(--oscuro)}
  .btn.claro{background:var(--crema);color:var(--oscuro)}
  .btn.claro:hover{background:#fff}
  .btn.linea{background:transparent;color:var(--burdeos);border:1px solid var(--burdeos)}
  .btn.linea:hover{background:var(--burdeos);color:var(--crema)}

  /* Cabecera */
  header{position:sticky;top:0;z-index:10;background:rgba(250,246,239,.9);backdrop-filter:blur(10px);
         border-bottom:1px solid var(--linea)}
  header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
  .logo{font-weight:800;letter-spacing:-.04em;font-size:20px;color:var(--oscuro);text-decoration:none}
  header .btn{padding:12px 22px;font-size:11px}

  /* Hero */
  .hero{padding:104px 0 96px;text-align:center}
  .hero p{margin-left:auto;margin-right:auto}
  .hero .btn{margin-top:40px}
  .nota{font-size:13px;color:var(--gris);margin-top:18px;letter-spacing:.02em}

  /* Vídeo y calendario */
  .paso{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--arena);
        text-align:center;margin-bottom:22px}
  .marco{background:var(--oscuro);border-radius:6px;aspect-ratio:16/9;display:flex;align-items:center;
         justify-content:center;color:var(--arena);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
         text-align:center;padding:24px}
  .marco.cal{aspect-ratio:auto;min-height:520px;background:#fff;border:1px solid var(--linea);color:var(--gris)}
  .franja{background:var(--crema)}

  /* Te suena */
  .lista-grande{list-style:none;margin-top:48px;border-top:1px solid var(--linea)}
  .lista-grande li{padding:26px 0;border-bottom:1px solid var(--linea);font-size:clamp(19px,2.3vw,25px);
                   line-height:1.35;letter-spacing:-.01em}
  .remate{margin-top:44px;font-size:clamp(26px,3.4vw,38px);line-height:1.2}

  /* Historia */
  .dos{display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:center}
  .foto{background:var(--arena);aspect-ratio:4/5;border-radius:4px;display:flex;align-items:flex-end;
        padding:18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--oscuro)}
  .historia p + p{margin-top:18px}
  .historia h2{margin-bottom:30px}

  /* Qué tendrás */
  .cuatro{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px;border-top:1px solid var(--linea)}
  .cuatro div{padding:32px 26px 8px 0;border-right:1px solid var(--linea)}
  .cuatro div + div{padding-left:26px}
  .cuatro div:last-child{border-right:0}
  .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:34px;color:var(--arena);line-height:1;
       display:block;margin-bottom:18px}
  .cuatro p{font-size:15.5px;color:var(--gris);margin-top:10px}

  /* Proceso */
  .oscuro{background:var(--oscuro);color:var(--crema)}
  .oscuro .ante{color:var(--arena)}
  .oscuro .serif{color:var(--arena)}
  .oscuro .sub{color:rgba(244,236,225,.72)}
  .pasos{margin-top:60px;border-top:1px solid rgba(244,236,225,.18)}
  .fila{display:grid;grid-template-columns:90px 280px 1fr;gap:24px;padding:30px 0;
        border-bottom:1px solid rgba(244,236,225,.18);align-items:baseline}
  .fila .num{margin:0}
  .fila p{color:rgba(244,236,225,.76);font-size:16px}
  .ritmo{margin-top:44px;font-size:15px;color:rgba(244,236,225,.72)}

  /* Testimonios */
  .cita{font-size:clamp(26px,3.6vw,42px);line-height:1.22;max-width:22ch}
  .autor{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-top:26px;color:var(--gris)}
  .testis{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:72px}
  .testi{background:#fff;border:1px solid var(--linea);border-radius:4px;padding:34px 30px}
  .testi p{font-size:15.5px;color:#3d3632}
  .testi .autor{margin-top:22px}
  .testi.hueco{background:transparent;border-style:dashed;color:var(--gris);display:flex;align-items:center}

  .capturas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:72px;align-items:start}
  .captura{overflow:hidden;border-radius:10px;background:#0b141a}
  .captura img{display:block;max-width:none;width:calc(100% * var(--w) / (var(--w) - var(--x)));
               margin-left:calc(-100% * var(--x) / (var(--w) - var(--x)));
               margin-top:calc(-100% * var(--y) / (var(--w) - var(--x)))}
  .pie-capturas{font-size:13px;color:var(--gris);margin-top:16px}
  .retiro-banner{position:relative;padding:120px 0;color:var(--crema);text-align:center;
                 background:linear-gradient(rgba(58,15,21,.72),rgba(58,15,21,.72)),url("img/retiro.jpg") center/cover no-repeat,var(--burdeos)}
  .retiro-banner .ante{color:var(--arena)}
  .retiro-banner .serif{color:var(--arena)}
  .retiro-banner p{margin:22px auto 38px;color:rgba(244,236,225,.86);max-width:56ch}
  .retiro-banner .datos{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--arena);margin:0 auto 36px}

  /* Para quién */
  .si-no{display:grid;grid-template-columns:3fr 2fr;gap:72px;margin-top:56px}
  .checks{list-style:none}
  .checks li{padding:18px 0 18px 34px;border-bottom:1px solid var(--linea);position:relative}
  .checks li::before{content:"";position:absolute;left:2px;top:28px;width:14px;height:7px;
                     border-left:1.5px solid var(--burdeos);border-bottom:1.5px solid var(--burdeos);transform:rotate(-45deg)}
  .no{background:var(--crema);padding:36px 32px;border-radius:4px;align-self:start}
  .no p{font-size:15.5px;color:var(--gris);margin-top:14px}

  /* FAQ */
  details{border-bottom:1px solid var(--linea);padding:24px 0}
  details:first-of-type{border-top:1px solid var(--linea)}
  summary{cursor:pointer;list-style:none;font-weight:600;font-size:17px;display:flex;justify-content:space-between;gap:20px}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";font-weight:400;font-size:22px;line-height:1;color:var(--burdeos)}
  details[open] summary::after{content:"–"}
  details p{margin-top:14px;color:var(--gris);font-size:16px}

  /* Retiro y cierre */
  .retiro{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
  .retiro p{color:var(--gris);font-size:16px;margin-top:12px;max-width:52ch}
  .cierre{text-align:center}
  .cierre p{margin:26px auto 40px}
  footer{padding:44px 0;text-align:center;font-size:13px;color:var(--gris);border-top:1px solid var(--linea)}
  footer .serif{font-size:22px;display:block;margin-bottom:8px}
  .centro{text-align:center}
  .centro p{margin-left:auto;margin-right:auto}

  @media (max-width:860px){
    section{padding:76px 0}
    .hero{padding:64px 0 68px}
    .dos,.si-no{grid-template-columns:1fr;gap:40px}
    .foto{aspect-ratio:4/3;max-width:420px}
    .cuatro{grid-template-columns:1fr 1fr}
    .cuatro div{padding:28px 18px 20px 0;border-bottom:1px solid var(--linea)}
    .cuatro div + div{padding-left:0}
    .cuatro div:nth-child(even){padding-left:18px;border-right:0}
    .fila{grid-template-columns:48px 1fr;gap:6px 14px}
    .fila p{grid-column:2}
    .testis,.capturas{grid-template-columns:1fr}
    .capturas{max-width:460px}
    .retiro-banner{padding:84px 0}
    .btn{padding:17px 28px}
  }

  /* Páginas step1 y antes-de-tu-llamada */
  .solo-logo .wrap{justify-content:center}
  .lista-num{list-style:none;margin-top:48px;border-top:1px solid var(--linea);counter-reset:n}
  .lista-num li{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:28px 0;border-bottom:1px solid var(--linea);counter-increment:n}
  .lista-num li::before{content:counter(n);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:34px;color:var(--arena);line-height:1}
  .lista-num h3{margin-bottom:8px}
  .lista-num p{color:var(--gris);font-size:16px}
  .oscuro .lista-grande,.oscuro .lista-grande li{border-color:rgba(244,236,225,.18)}
  .formulario{max-width:460px;margin:44px auto 0;text-align:left;display:none}
  .formulario.abierto{display:block}
  .formulario label{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:20px 0 8px;color:var(--gris)}
  .formulario input,.formulario select{width:100%;font:inherit;padding:15px 16px;border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--negro)}
  .formulario input:focus,.formulario select:focus{outline:2px solid var(--burdeos);outline-offset:1px}
  .formulario .tel{display:grid;grid-template-columns:120px 1fr;gap:10px}
  .formulario button{width:100%;margin-top:28px;border:0;cursor:pointer;font-family:inherit}
  .firma{font-size:30px;margin-top:28px;display:block}


  /* Integración: logo en imagen, vídeos reales, miniatura de step1, foto, errores */
  .logo img{height:24px;width:auto;display:block}
  .video-real{display:block;width:100%;aspect-ratio:16/9;border-radius:6px;background:#000;object-fit:cover}
  .video-real.yt{position:relative;overflow:hidden}
  .video-real.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:6px;overflow:hidden;cursor:pointer;background:var(--oscuro)}
  .thumb img{width:100%;height:100%;object-fit:cover}
  .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(92,26,35,.28),rgba(58,15,21,.6))}
  .thumb .play{position:absolute;z-index:2;top:50%;left:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--crema)}
  .thumb .play::after{content:"";position:absolute;left:31px;top:23px;border-style:solid;border-width:15px 0 15px 24px;border-color:transparent transparent transparent var(--burdeos)}
  .foto.con-foto{padding:0;overflow:hidden;display:block}
  .foto.con-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
  .form-error{display:none;color:#B3261E;font-size:14px;margin-top:14px;text-align:center}
  .form-error.show{display:block}
  .formulario button[disabled]{opacity:.6;cursor:default}

  @media (max-width:520px){
    header .wrap{gap:12px}
    .logo img{height:19px}
    header .btn{padding:11px 16px;font-size:10px;letter-spacing:.14em;white-space:nowrap}
  }
