@font-face{font-family:"Fredoka";src:url(/fonts/fredoka.ttf) format("truetype");font-weight:300 700;font-display:swap}
@font-face{font-family:"Nunito";src:url(/fonts/nunito.ttf) format("truetype");font-weight:200 1000;font-display:swap}
:root{--ink:#3C6054;--coral:#F09A7E;--sun:#F0BC5B;--sage:#8DAF92;--sky:#8BB9C6;--cream:#FCFBF7;--muted:#6b7f78;--line:#e7ebe6}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Nunito",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;font-size:17px}
h1,h2,h3{font-family:"Fredoka","Nunito",sans-serif;font-weight:600;line-height:1.15}
a{color:var(--ink)}
.accent{color:#d0735a;font-weight:500}
/* language switch */
html[data-lang="en"] [data-l="es"],html[data-lang="es"] [data-l="en"],html:not([data-lang]) [data-l="es"]{display:none!important}
.navr{display:flex;align-items:center;gap:.7rem}
.lang{display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}
.lang button{border:0;background:none;padding:.4rem .7rem;border-radius:999px;font:inherit;font-weight:800;font-size:.85rem;cursor:pointer;color:var(--muted)}
.lang button.on{background:var(--ink);color:#fff}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
.bg-soft{background:linear-gradient(135deg,#fdeee6 0%,#fdf6e6 35%,#eaf3f5 70%,#eef4ec 100%)}

/* nav */
header.nav{padding:1rem 0}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
header.nav img{height:96px;width:auto;margin:-12px 0}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:800;border:0;cursor:pointer;
     padding:.85rem 1.4rem;border-radius:999px;font-size:1rem;font-family:inherit;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 16px rgba(60,96,84,.22)}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(60,96,84,.28)}
.btn.coral{background:var(--coral);box-shadow:0 6px 16px rgba(240,154,126,.35)}
.btn.small{padding:.55rem 1rem;font-size:.9rem}
.btn[disabled]{opacity:.6;cursor:wait}

/* hero */
.hero{padding:2.5rem 0 4rem}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.hero .sub{font-size:1.15rem;color:var(--muted);margin:1rem 0 1.6rem;max-width:34rem}
.hero .cover{width:100%;max-width:380px;justify-self:center;border-radius:18px;box-shadow:0 24px 50px rgba(60,96,84,.18);transform:rotate(2deg)}
.pill{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:.85rem;font-weight:700;margin:0 .3rem .4rem 0}

/* sections */
section{padding:4rem 0}
section h2{font-size:clamp(1.7rem,3.5vw,2.3rem);text-align:center}
section .lead{text-align:center;color:var(--muted);max-width:40rem;margin:.6rem auto 2.5rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{background:#fff;border-radius:20px;padding:1.6rem;border:1px solid var(--line)}
.card .dot{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:1.4rem;margin-bottom:.9rem}
.card h3{font-size:1.25rem;margin-bottom:.3rem}
.card p{color:var(--muted);font-size:.97rem}
.cta-band{background:var(--ink);color:#fff;border-radius:28px;padding:3rem 2rem;text-align:center}
.cta-band h2{color:#fff}
.cta-band p{opacity:.85;margin:.6rem 0 1.6rem}
.weeks{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.week{border-radius:18px;padding:1.2rem;color:var(--ink);background:#fff;border-top:6px solid}
.week b{font-family:"Fredoka";font-size:1.1rem;display:block}
.week small{color:var(--muted)}

/* funnel */
.funnel{padding:2rem 0 4rem}
.funnel .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.funnel ul{list-style:none;margin:1.2rem 0}
.funnel li{padding-left:1.8rem;position:relative;margin:.55rem 0}
.funnel li:before{content:"✓";position:absolute;left:0;color:#fff;background:var(--sage);border-radius:50%;width:1.25rem;height:1.25rem;font-size:.75rem;display:grid;place-items:center;top:.2rem}
form.box{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 20px 50px rgba(60,96,84,.12);border:1px solid var(--line)}
form.box h2{text-align:left;font-size:1.6rem;margin-bottom:.3rem}
label{display:block;font-weight:800;font-size:.92rem;margin:1rem 0 .35rem}
label span.es{font-weight:600}
input[type=text],input[type=email],select{width:100%;padding:.8rem .95rem;border-radius:12px;border:1.5px solid var(--line);font:inherit;background:#fcfdfc;color:var(--ink)}
input:focus,select:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 4px rgba(141,175,146,.2)}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:600;font-size:.9rem;margin-top:1.2rem}
.check input{margin-top:.3rem;width:1.1rem;height:1.1rem;accent-color:var(--ink)}
.hp{position:absolute;left:-9999px}
.fine{font-size:.8rem;color:var(--muted);margin-top:.9rem}
.err{background:#fdecea;color:#a3402b;border-radius:10px;padding:.6rem .8rem;margin-top:1rem;font-size:.92rem;display:none}
form .btn{width:100%;margin-top:1.3rem;font-size:1.05rem}

/* thanks / text pages */
.center{text-align:center;max-width:40rem;margin:0 auto;padding:3rem 1.25rem 5rem}
.center h1{font-size:clamp(2rem,4.5vw,2.8rem)}
.center p{color:var(--muted);margin:.9rem 0}
.text{max-width:46rem;margin:0 auto;padding:2rem 1.25rem 5rem}
.text h1{font-size:2.2rem;margin-bottom:1rem}
.text h2{font-size:1.3rem;margin:1.6rem 0 .4rem;text-align:left}
.text p,.text li{color:#4d6560;margin:.5rem 0}
.text ul{padding-left:1.3rem}

footer.site{padding:2.5rem 0;text-align:center;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line)}
footer.site a{color:var(--muted)}

@media (max-width:820px){
  .hero .wrap,.funnel .wrap{grid-template-columns:1fr;gap:2rem}
  .hero{padding-top:1rem}
  .hero .cover{max-width:280px;order:-1}
  .cards{grid-template-columns:1fr}
  .weeks{grid-template-columns:1fr 1fr}
  header.nav img{height:72px}
  form.box{padding:1.4rem}
  .fcover{display:none}
}
