:root{
  --bg:#FBF7F0; --paper:#FFFFFF; --ink:#151A2D; --muted:#5B6178; --line:#E8E1D4;
  --coral:#FF5A3C; --mustard:#FFC53D; --teal:#12A594; --navy:#151A2D; --violet:#5B5BD6;
  --r:18px; --shadow:0 10px 30px rgba(21,26,45,.08);
  --fd:"Bricolage Grotesque","Inter",system-ui,sans-serif; --fb:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fb);color:var(--ink);background:var(--bg);line-height:1.55;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--fd);line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}
.wrap--narrow{width:min(760px,100% - 2rem)}
section{padding:64px 0}
@media(min-width:900px){section{padding:96px 0}}

/* tipografía */
.h2{font-size:clamp(1.9rem,4.5vw,2.9rem);font-weight:800;text-align:center;margin-bottom:.6em}
.h2--left{text-align:left}
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted)}
.lead--center{text-align:center;max-width:680px;margin:0 auto 2.5rem}
.eyebrow{display:inline-flex;align-items:baseline;gap:.5rem;font-weight:600;font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;color:var(--coral);margin-bottom:1rem}
.eyebrow--light{color:var(--mustard)}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.micro{font-size:.82rem;color:var(--muted)}
.micro--light{color:rgba(255,255,255,.7)}
em{font-style:normal;color:var(--coral)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--coral);color:#fff;font-weight:700;text-decoration:none;padding:14px 22px;border-radius:999px;font-family:var(--fd);font-size:1.05rem;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px rgba(255,90,60,.3);white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,90,60,.38)}
.btn--sm{padding:10px 16px;font-size:.92rem}
.btn--lg{padding:18px 28px;font-size:1.15rem}
.btn--full{width:100%}
.btn--light{background:#fff;color:var(--ink);box-shadow:0 8px 20px rgba(0,0,0,.2)}
.btn__price{background:rgba(255,255,255,.22);padding:4px 10px;border-radius:999px;font-size:.9em}

/* topbar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(251,247,240,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:.5rem;font-family:var(--fd);text-decoration:none;font-size:1rem;white-space:nowrap}
.brand b{margin-left:.25em}
@media(max-width:380px){.brand{font-size:.9rem}}
.brand__mark{display:inline-flex}
.topbar__right{display:flex;align-items:center;gap:1rem}
.topbar__price{font-size:.95rem;display:none}
.topbar__price s{color:var(--muted);margin-right:.3rem}
@media(min-width:600px){.topbar__price{display:inline}}

/* hero */
.hero{padding:48px 0 56px;overflow:hidden}
.hero__grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.hero{padding:80px 0}.hero__grid{grid-template-columns:1.05fr .95fr;gap:4rem}}
.hero h1{font-size:clamp(2.4rem,6.5vw,4.2rem);font-weight:800;margin-bottom:.4em}
.hero__cta{margin:1.6rem 0 1.2rem}
.hero__cta .btn{width:100%}
@media(min-width:600px){.hero__cta .btn{width:auto}}
.hero__cta .micro{margin-top:.7rem}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:500}
.hero__art{position:relative;min-height:420px}
.hero__img{border-radius:24px;box-shadow:var(--shadow);position:relative;z-index:2}
.hero__img ~ .stack{display:none}
.stack{position:relative;height:440px;max-width:420px;margin:0 auto}
.sheet{position:absolute;background:#fff;border-radius:14px;box-shadow:0 18px 40px rgba(21,26,45,.14);padding:22px;width:270px;border:1px solid var(--line)}
.sheet--1{left:0;top:60px;transform:rotate(-5deg);z-index:3;width:290px}
.sheet--2{right:0;top:0;transform:rotate(6deg);z-index:2}
.sheet--3{right:30px;bottom:0;transform:rotate(-2deg);z-index:1}
.sheet__tag{display:inline-block;background:var(--ink);color:#fff;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;margin-bottom:10px;letter-spacing:.03em}
.sheet h4{font-size:1.05rem;margin-bottom:.6rem}
.sheet p{font-size:.82rem;color:var(--muted);margin:0}
.sheet__pies{display:flex;align-items:center;gap:12px;margin:8px 0}
.sheet__row{display:flex;justify-content:space-between;font-size:1rem;margin-bottom:10px}
.sheet__row i{font-style:normal;color:var(--teal);font-weight:600}
.eq{font-family:var(--fd);font-weight:700;font-size:1.3rem;color:var(--muted)}

/* piezas visuales */
.frac{display:inline-grid;font-family:var(--fd);font-weight:800;font-size:1.35rem;line-height:1;text-align:center}
.frac b:first-child{border-bottom:3px solid var(--ink);padding-bottom:3px;margin-bottom:3px}
.frac--big{font-size:2rem}
.frac--big b:first-child{border-width:4px}
.frac--sm{font-size:1rem}
.frac--sm b:first-child{border-width:2px}
.frac--teal{color:var(--teal)}
.frac--teal b:first-child{border-color:var(--teal)}
.bars{display:grid;gap:6px}
.bars span{display:block;height:14px;border-radius:5px;background:linear-gradient(90deg,var(--coral) var(--w),var(--line) var(--w))}
.bars span:nth-child(2){background:linear-gradient(90deg,var(--mustard) var(--w),var(--line) var(--w))}
.bars span:nth-child(3){background:linear-gradient(90deg,var(--teal) var(--w),var(--line) var(--w))}
.bars--big{width:180px}
.bars--big span{height:22px;border-radius:8px}
.bars--sm{width:70px}
.bars--sm span{height:7px;border-radius:3px;gap:3px}
.pill{background:#fff;border:1px solid var(--line);padding:4px 10px;border-radius:999px;font-weight:600;font-size:.85rem}
svg.pie{display:block}

/* dolor */
.pain{background:#fff}
.cards3{display:grid;gap:1.2rem}
@media(min-width:800px){.cards3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--bg);border-radius:var(--r);padding:26px;border:1px solid var(--line)}
.card__ico{display:inline-flex;margin-bottom:14px}
.card h3{font-size:1.2rem;font-weight:700}
.card p{color:var(--muted);margin:0;font-size:.98rem}
.pain__note{text-align:center;max-width:640px;margin:2.2rem auto 0;font-size:1.05rem;font-weight:500}

/* método */
.method{background:var(--navy);color:#fff;text-align:center}
.method .lead{color:rgba(255,255,255,.72)}
.steps{display:grid;gap:1.4rem;margin-top:1rem}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:28px 22px}
.step__art{height:96px;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px;color:#fff}
.step__art .frac b:first-child{border-color:#fff}
.step__art .frac--teal{color:var(--mustard)}
.step__art .frac--teal b:first-child{border-color:var(--mustard)}
.step__art .eq{color:rgba(255,255,255,.6)}
.step__art .bars span{background:linear-gradient(90deg,var(--coral) var(--w),rgba(255,255,255,.15) var(--w))}
.step__art .bars span:nth-child(2){background:linear-gradient(90deg,var(--mustard) var(--w),rgba(255,255,255,.15) var(--w))}
.step__art .bars span:nth-child(3){background:linear-gradient(90deg,var(--teal) var(--w),rgba(255,255,255,.15) var(--w))}
.step b{font-family:var(--fd);font-size:1.25rem;display:block;margin-bottom:.4rem}
.step p{color:rgba(255,255,255,.75);margin:0;font-size:.97rem}
.guide{margin:2.5rem auto 0;max-width:720px;background:var(--mustard);color:var(--ink);border-radius:var(--r);padding:28px;text-align:left;position:relative}
.guide__badge{display:inline-block;background:var(--ink);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:10px;letter-spacing:.03em;text-transform:uppercase}
.guide h3{font-size:1.5rem}
.guide p{margin:0}

/* niveles */
.route{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.lvl{display:grid;grid-template-columns:52px 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;border-left:6px solid var(--c)}
.lvl__n{width:52px;height:52px;border-radius:14px;background:var(--c);color:#fff;font-family:var(--fd);font-weight:800;font-size:1.5rem;display:grid;place-items:center}
.lvl__head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:.3rem}
.lvl h3{font-size:1.2rem;margin:0}
.lvl__grade{font-size:.78rem;font-weight:700;background:var(--bg);border:1px solid var(--line);padding:3px 9px;border-radius:999px}
.lvl p{color:var(--muted);font-size:.97rem;margin-bottom:.7rem}
.lvl__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lvl__meta em{margin-left:auto;font-size:.85rem;font-weight:600;color:var(--ink);background:var(--bg);padding:3px 10px;border-radius:999px}
@media(min-width:800px){.route{grid-template-columns:1fr 1fr}.lvl:last-child{grid-column:1/-1}}
.levels__total{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
@media(min-width:800px){.levels__total{grid-template-columns:repeat(4,1fr)}}
.levels__total div{background:var(--ink);color:#fff;border-radius:var(--r);padding:20px;text-align:center}
.levels__total b{display:block;font-family:var(--fd);font-size:2.2rem;line-height:1}
.levels__total span{font-size:.85rem;color:rgba(255,255,255,.75)}

/* galería */
.gallery{background:#fff}
.gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:800px){.gallery__grid{grid-template-columns:repeat(4,1fr)}}
.gallery figure{margin:0;background:var(--bg);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.gallery img{aspect-ratio:3/4;object-fit:cover;width:100%}
.gallery figure.is-empty{display:none}
.gallery figcaption{padding:10px 14px;font-size:.85rem;font-weight:600}

/* para quién */
.tabs{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.tab{border:1px solid var(--line);background:#fff;padding:10px 18px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;color:var(--muted)}
.tab.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.panel{display:none;max-width:720px;margin:0 auto}
.panel.is-active{display:block}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.checks li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px 14px 48px;position:relative;font-size:1rem}
.checks li::before{content:"";position:absolute;left:16px;top:16px;width:20px;height:20px;border-radius:50%;background:var(--teal);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10'/%3E%3Cpath d='M6 10.5l2.6 2.5L14 7.5' stroke='%23000' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10'/%3E%3Cpath d='M6 10.5l2.6 2.5L14 7.5' stroke='%23000' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.checks li::after{content:"";position:absolute;left:21px;top:22px;width:10px;height:5px;border-left:2.2px solid #fff;border-bottom:2.2px solid #fff;transform:rotate(-45deg)}

/* bonos */
.bonus{background:#fff}
.bonus .eyebrow{display:flex;justify-content:center}
.bonus__grid{display:grid;gap:1rem}
@media(min-width:700px){.bonus__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.bonus__grid{grid-template-columns:repeat(3,1fr)}.bcard--wide{grid-column:span 3}}
.bcard{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.bcard__n{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--coral)}
.bcard h3{font-size:1.15rem;margin:.4rem 0}
.bcard p{margin:0;color:var(--muted);font-size:.95rem}

/* precio */
.price__grid{display:grid;gap:2rem;align-items:start}
@media(min-width:900px){.price__grid{grid-template-columns:1fr 420px;gap:3rem}}
.price__list .h2{text-align:left}
.stack-list{list-style:none;padding:0;margin:0}
.stack-list li{display:flex;justify-content:space-between;gap:1rem;padding:14px 0;border-bottom:1px solid var(--line)}
.stack-list b{white-space:nowrap}
.stack-list__total{font-family:var(--fd);font-size:1.15rem}
.pricebox{background:var(--ink);color:#fff;border-radius:24px;padding:30px;position:sticky;top:80px}
.pricebox__tag{display:inline-block;background:var(--mustard);color:var(--ink);font-size:.75rem;font-weight:800;padding:5px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.pricebox__amount{font-family:var(--fd);font-size:4.4rem;font-weight:800;line-height:1;margin:14px 0 4px}
.pricebox__amount small{font-size:1.4rem;vertical-align:top;margin-right:4px;color:var(--mustard)}
.pricebox__sub{color:rgba(255,255,255,.7);font-size:.95rem}
.pricebox__list{list-style:none;padding:0;margin:1.2rem 0 .6rem;display:grid;gap:.5rem;font-size:.95rem}
.pricebox__list li::before{content:"✓";color:var(--teal);font-weight:800;margin-right:.5rem}
.pricebox .micro{color:rgba(255,255,255,.55);margin:0}

/* garantía */
.guarantee{background:#fff}
.guarantee__in{display:grid;gap:1.5rem;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:28px}
@media(min-width:700px){.guarantee__in{grid-template-columns:140px 1fr;gap:2rem;padding:36px}}
.seal{display:grid;place-items:center;gap:.4rem;font-family:var(--fd);font-weight:800;font-size:1.3rem}
.guarantee p{margin:0;color:var(--muted)}

/* faq */
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 20px;margin-bottom:.7rem}
.faq summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-family:var(--fd);font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--coral);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);padding-bottom:16px;margin:0}

/* final */
.final{background:var(--coral);color:#fff;text-align:center}
.final__in{max-width:760px;margin:0 auto}
.final__pies{display:flex;justify-content:center;gap:12px;margin-bottom:1.2rem}
.final__pies svg circle,.final__pies svg path.bg{fill:rgba(255,255,255,.25)!important}
.final h2{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;margin-bottom:1.2em}
.final .btn--light{color:var(--coral)}

/* footer */
.footer{padding:32px 0 110px;color:var(--muted);font-size:.85rem;text-align:center}
.footer a{color:var(--muted)}
@media(min-width:700px){.footer{padding-bottom:40px}}

/* sticky móvil */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .25s}
.sticky.is-on{transform:none}
.sticky__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1120px;margin:0 auto}
.sticky small{display:block;color:var(--muted);font-size:.75rem}
.sticky b{font-family:var(--fd);font-size:1.25rem}
@media(min-width:700px){.sticky{display:none}}

/* ===== v2 ===== */
/* por dentro */
.inside{background:#fff;overflow:hidden}
.inside__scroller{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:8px 0 16px;scrollbar-width:none}
.inside__scroller::-webkit-scrollbar{display:none}
.inside__track{display:flex;gap:14px;padding:0 max(1rem,calc((100% - 1120px)/2))}
.shot{flex:0 0 78vw;max-width:340px;scroll-snap-align:start;margin:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.shot img{aspect-ratio:3/4;object-fit:cover;width:100%}
.shot--tall img{aspect-ratio:4/5}
.shot figcaption{padding:12px 14px 14px}
.shot figcaption b{display:block;font-family:var(--fd);font-size:1rem;margin-bottom:2px}
.shot figcaption span{font-size:.85rem;color:var(--muted)}
.inside__hint{text-align:center;color:var(--muted);font-size:.85rem;margin:0 0 1.5rem}
@media(min-width:900px){.inside__hint{display:none}.shot{flex-basis:calc((1120px - 14px*3)/4)}}
.inside__each{max-width:820px;margin:0 auto}
.inside__each h3{text-align:center;font-size:1.4rem;margin-bottom:1rem}
.checks--grid{grid-template-columns:1fr}
@media(min-width:700px){.checks--grid{grid-template-columns:1fr 1fr}}

/* pitch */
.vs{display:grid;gap:.8rem;margin-bottom:2rem}
.vs__row{display:grid;gap:.6rem}
@media(min-width:700px){.vs__row{grid-template-columns:1fr 1fr}}
.vs__bad,.vs__good{border-radius:14px;padding:16px 18px;font-size:.98rem;line-height:1.5}
.vs__bad{background:#fff;border:1px solid var(--line);color:var(--muted)}
.vs__good{background:var(--ink);color:#fff}
.vs__bad small,.vs__good small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.vs__bad small{color:var(--coral)}
.vs__good small{color:var(--mustard)}
.pitch__box{background:var(--mustard);border-radius:var(--r);padding:26px}
.pitch__box h3{font-size:1.35rem;margin-bottom:1rem}
.pitch__box .checks li{background:rgba(255,255,255,.75);border-color:transparent}

/* bonos v2 */
.bcard{padding:0;overflow:hidden;display:flex;flex-direction:column}
.bcard img{aspect-ratio:16/10;object-fit:cover;width:100%}
.bcard__body{padding:18px 20px 20px}
.bcard__n i{font-style:normal;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin-left:.5rem}
.bcard small{display:block;margin-top:.7rem;font-size:.82rem;color:var(--ink);background:#fff;border:1px dashed var(--line);border-radius:10px;padding:8px 10px}
@media(min-width:1000px){.bcard--wide{flex-direction:row}.bcard--wide img{width:40%;aspect-ratio:auto}}
.bonus__sum{text-align:center;margin:2rem 0 0;font-size:1.1rem}

/* cómo funciona */
.how{background:var(--ink);color:#fff}
.how__grid{display:grid;gap:1rem}
@media(min-width:800px){.how__grid{grid-template-columns:repeat(3,1fr)}}
.how__step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:24px}
.how__step span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--coral);font-family:var(--fd);font-weight:800;font-size:1.2rem;margin-bottom:12px}
.how__step h3{font-size:1.2rem}
.how__step p{margin:0;color:rgba(255,255,255,.75);font-size:.95rem}

/* pagos */
.pay{margin-top:2rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.pay h3{font-size:1.2rem}
.pay p{color:var(--muted);font-size:.95rem}
.pay__logos{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:8px}
.pay__logos li{background:var(--bg);border:1px solid var(--line);border-radius:10px;height:40px;padding:6px 12px;display:grid;place-items:center;overflow:hidden}
.pay__logos img{height:26px;max-height:26px;width:auto;max-width:80px;object-fit:contain}
.pay__countries{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem}
.pay__countries li{background:var(--bg);padding:4px 10px;border-radius:999px;border:1px solid var(--line)}
.pricebox__pay{display:flex;gap:8px;justify-content:center;margin:1rem 0 .5rem}
.pricebox__pay img{height:28px;width:auto;background:#fff;border-radius:6px;padding:3px 6px}
