/* v2-styles.css — layout for the bootcamp funnel sections.
   Loads AFTER styles.css. Tokens only — no raw hex. */

/* Body-copy ink one step darker than navy-70 for AA contrast on cream/white. */
:root{--navy-85:#333E5D}

/* ---------- NAV (text lockup, page-level sticky, navy ground) ---------- */
.v2-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,64px);padding:clamp(16px,1.7vw,24px) clamp(24px,5vw,96px);background:var(--navy);border-bottom:1px solid rgba(236,233,223,.2)}
.v2-nav__brand-link{text-decoration:none;color:inherit}
.v2-nav__menu{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px)}
.v2-nav__link{position:relative;white-space:nowrap;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);text-decoration:none;padding:6px 0;transition:opacity var(--dur-2) var(--ease-out)}
.v2-nav__link:hover{opacity:.6}
.v2-nav__cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);background:var(--cream);border:1px solid var(--cream);padding:12px 20px;text-decoration:none;white-space:nowrap;transition:background var(--dur-2) var(--ease-out)}
.v2-nav__cta:hover{background:var(--white)}
.v2-nav__cta span{transition:transform var(--dur-2) var(--ease-out)}
.v2-nav__cta:hover span{transform:translateX(4px)}
@media (max-width:820px){.v2-nav{flex-wrap:wrap;row-gap:12px}.v2-nav__menu{gap:16px}.v2-nav__link{font-size:10px;letter-spacing:.14em}.v2-nav__cta{padding:10px 14px;font-size:10px;letter-spacing:.12em}}
@media (max-width:640px){.v2-nav__cta{order:3;width:100%;justify-content:center}}
/* Focus visible — acid ring on every interactive element */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--t-accent);outline-offset:3px;border-radius:1px}
.section--acid a:focus-visible,.section--acid button:focus-visible,.section--acid input:focus-visible{outline-color:var(--navy)}
.v2-nav__brand{display:flex;align-items:baseline;gap:9px;font-family:var(--font-display);font-weight:700;font-size:clamp(15px,1.15vw,18px);letter-spacing:-.01em;color:var(--white)}
.v2-nav__brand b{font-weight:700}
.v2-nav__bracket{color:var(--t-accent);font-weight:800}
.v2-nav__full{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--white);opacity:.7;margin-left:4px}
@media (max-width:1100px){.v2-nav__full{display:none}}
@media (max-width:560px){.v2-nav__full{display:none}}

/* ---------- HERO (full-bleed image, centered text) ---------- */
.v2-hero{position:relative;min-height:min(92vh,920px);display:grid;place-items:center;padding:clamp(72px,9vw,132px) clamp(24px,5vw,96px);overflow:hidden;isolation:isolate;background:var(--navy)}
.v2-hero__bg{position:absolute;inset:0;z-index:0}
.v2-hero__bg .photo,.v2-hero__bg image-slot{display:block;width:100%;height:100%}
.v2-hero__bg img{width:100%;height:100%;object-fit:cover}
/* The hero slot IS the full-screen background. Keep its drop chrome visible and
   droppable, but park the empty state at the bottom of the frame so it never
   lands behind the centered copy, and tint it for the navy ground. */
.v2-hero__bg .photo{background:transparent}
.v2-hero__bg .photo::before,.v2-hero__bg .photo::after{display:none}
.v2-hero__bg image-slot::part(frame){background:transparent}
/* Park the empty state in the bottom-right corner — clear of the centered
   copy column and of the CTA, which the upload glyph was poking out from under. */
.v2-hero__bg image-slot:not([data-filled])::part(empty){justify-content:flex-end;align-items:flex-end;text-align:right;padding:0 clamp(20px,3vw,44px) clamp(18px,2.6vw,36px) 0;color:rgba(236,233,223,.8)}
.v2-hero__bg image-slot:not([data-filled])::part(ring){border-color:rgba(236,233,223,.4)}
.v2-hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(23,36,63,.62),rgba(23,36,63,.8) 45%,rgba(23,36,63,.8) 78%,rgba(23,36,63,.68));pointer-events:none}
.v2-hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:min(1120px,100%)}
.v2-hero__eyebrow{font-family:var(--font-serif-italic);font-style:italic;font-size:clamp(19px,1.85vw,30px);line-height:1.15;color:var(--white);margin:0 0 clamp(28px,3.4vw,52px);max-width:22ch}
.v2-hero__headline{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(34px,4.6vw,65px);line-height:.98;letter-spacing:-.028em;color:var(--white);margin:0 0 clamp(24px,2.6vw,38px);max-width:24ch;text-wrap:balance}
.v2-hero__headline .mark-highlight{color:var(--navy)}
/* Solid acid block — no angled gradient edge at the start of the swipe. */
.v2-hero__headline .mark-highlight{background-image:linear-gradient(var(--t-accent),var(--t-accent));padding:0 .14em}
.v2-hero__sub{font-family:var(--font-body);font-size:clamp(15px,1.15vw,19px);line-height:1.6;color:var(--cream);opacity:.92;max-width:64ch;margin:0 0 clamp(36px,4vw,56px);text-wrap:pretty}
.v2-hero__cta{display:inline-flex;align-items:center;white-space:nowrap;gap:14px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--cream);color:var(--navy);border:1px solid var(--cream);padding:20px 36px;border-radius:var(--r-0);cursor:pointer;transition:background var(--dur-2) var(--ease-out)}
.v2-hero__cta:hover{background:var(--white)}
.v2-hero__cta span{transition:transform var(--dur-2) var(--ease-out)}
.v2-hero__cta:hover span{transform:translateX(5px)}
a.v2-hero__cta{text-decoration:none}
.v2-hero__loop{position:absolute;z-index:2;left:clamp(-40px,-2vw,0px);bottom:clamp(24px,4vw,64px);width:clamp(180px,22vw,340px);height:clamp(90px,11vw,170px);transform:rotate(-6deg)}

/* ---------- DOLOR (navy) ---------- */
#dolor{padding-top:clamp(38px,4vw,60px);padding-bottom:clamp(38px,4vw,60px)}
.pain__headline{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3.2vw,44px);line-height:1.06;letter-spacing:-.024em;color:var(--cream);max-width:26ch;margin:0 0 clamp(28px,3.2vw,46px);text-align:left;text-wrap:balance}
.pain-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;border-top:1px solid rgba(236,233,223,.2)}
.pain-col{text-align:left;padding:clamp(22px,2.6vw,36px) clamp(20px,2.6vw,40px);border-right:1px solid rgba(236,233,223,.2)}
.pain-col:first-child{padding-left:0}
.pain-col:last-child{border-right:0;padding-right:0}
.pain-col__title{font-family:var(--font-serif-italic);font-style:italic;font-weight:400;font-size:clamp(22px,2.1vw,32px);line-height:1.08;color:var(--cream);margin:0 0 clamp(12px,1.4vw,20px)}
.pain-col__body{font-family:var(--font-body);font-size:clamp(15px,1.12vw,18px);line-height:1.62;color:rgba(236,233,223,.92);margin:0;max-width:34ch;text-wrap:pretty}

/* ---------- MECANISMO (cream) ---------- */
#mecanismo{padding-top:clamp(44px,4.8vw,74px);padding-bottom:clamp(44px,4.8vw,74px)}
.mech-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,104px);align-items:start}
.mech__kicker{font-family:var(--font-display);font-weight:800;text-transform:none;font-size:clamp(26px,3vw,48px);line-height:1.02;letter-spacing:-.024em;color:var(--navy);margin:0 0 clamp(38px,4.4vw,64px)}
.mech-list{display:grid;gap:0}
.mech-item{display:grid;grid-template-columns:clamp(64px,6vw,104px) 1fr;gap:clamp(16px,2.2vw,36px);align-items:start;padding:clamp(18px,2.2vw,30px) 0;border-bottom:1px solid var(--navy-20)}
.mech-item:first-child{padding-top:0}
.mech-item:last-child{border-bottom:0}
.mech-item__num{font-family:var(--font-serif);font-weight:400;font-size:clamp(40px,4.4vw,74px);line-height:.86;color:var(--navy);letter-spacing:-.02em}
.mech-item__title{font-family:var(--font-display);font-weight:800;text-transform:none;font-size:clamp(16px,1.55vw,25px);line-height:1.12;letter-spacing:-.008em;color:var(--navy);margin:0 0 clamp(8px,.9vw,13px)}
.mech-item__body{font-family:var(--font-body);font-size:clamp(14px,1.05vw,17px);line-height:1.62;color:var(--navy-85,var(--navy-70));margin:0;max-width:52ch;text-wrap:pretty}
/* Right-anchored decorative loops bleed past the viewport edge and would extend
   scrollWidth in LTR — clip horizontally while keeping the vertical bleed. */
#mecanismo,#workbook{overflow-x:clip}
.mech__photo{position:relative;overflow:visible;width:100%;max-width:360px;margin-inline:auto;padding:clamp(10px,1.2vw,18px)}
#mecanismo .bracket-corner{z-index:6;width:clamp(22px,2.2vw,34px);height:clamp(22px,2.2vw,34px)}

/* ---------- AUTORIDAD (navy) ---------- */
.auth-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,104px);align-items:start}
.auth__photo{position:relative;padding:clamp(16px,1.8vw,30px);overflow:visible}
.auth__headline{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,2.6vw,35px);line-height:1.08;letter-spacing:-.02em;color:var(--cream);margin:0 0 clamp(28px,3vw,44px);max-width:28ch;text-wrap:balance}
.auth__body{font-family:var(--font-body);font-size:clamp(15px,1.15vw,18px);line-height:1.68;color:rgba(236,233,223,.8);margin:0 0 1.35em;max-width:62ch}
.auth__body:last-of-type{margin-bottom:clamp(14px,1.4vw,20px)}
.auth__pull{font-family:var(--font-serif-italic);font-style:italic;font-size:clamp(21px,1.85vw,30px);line-height:1.3;color:var(--acid);margin:0 0 1.3em;max-width:44ch}
.auth__sig{display:flex;align-items:center;gap:14px;padding-top:0}
.auth__sig-name{font-family:var(--font-mark);font-weight:600;font-size:clamp(24px,2.2vw,36px);color:var(--t-accent);line-height:1}
.auth__sig-role{font-family:var(--font-body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(236,233,223,.55)}
.auth__cta{margin-top:clamp(22px,2.4vw,34px)}

/* ---------- PRUEBA (sección propia, ground claro) ---------- */
#prueba{padding-top:clamp(38px,4vw,62px);padding-bottom:clamp(38px,4vw,62px)}
.proof{display:grid;gap:clamp(30px,3.4vw,52px)}
.proof__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px);list-style:none;margin:0;padding:0 0 clamp(26px,3vw,42px);border-bottom:1px solid var(--navy-20)}
.proof__stat{display:flex;flex-direction:column;gap:6px}
.proof__stat-n{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,3vw,46px);line-height:1;letter-spacing:-.03em;color:var(--navy)}
.proof__stat-n[data-word]{font-family:var(--font-body);font-size:clamp(14px,1.15vw,17px);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.25;padding-top:clamp(6px,.8vw,12px)}
.proof__stat-l{font-family:var(--font-body);font-size:clamp(12px,.92vw,14px);line-height:1.4;color:var(--navy-85,var(--navy-70))}
.proof__quotes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,56px)}
.proof__quote{margin:0;padding-left:clamp(16px,1.6vw,24px);border-left:1px solid var(--navy)}
.proof__quote blockquote{font-family:var(--font-serif-italic);font-style:italic;font-size:clamp(17px,1.5vw,23px);line-height:1.32;color:var(--navy);margin:0 0 clamp(12px,1.4vw,18px);max-width:42ch}
.proof__quote figcaption{display:flex;flex-direction:column;gap:3px}
.proof__who{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.proof__what{font-family:var(--font-body);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-70)}

/* ---------- BOOTCAMPS (cream) ---------- */
#bootcamps{padding-top:clamp(56px,5.6vw,88px);padding-bottom:clamp(72px,7vw,104px)}
.bc__headline{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,3.5vw,58px);line-height:1.05;letter-spacing:-.024em;color:var(--navy);margin:0 0 clamp(14px,1.5vw,20px);max-width:26ch;text-wrap:balance}
.bc__lede{font-family:var(--font-body);font-size:clamp(16px,1.2vw,20px);line-height:1.55;color:var(--navy-85,var(--navy-70));max-width:62ch;margin:0 0 clamp(26px,3vw,40px);text-wrap:pretty}
/* Rail de etapas — comunica la secuencia antes de leer las tarjetas */
.bc-rail{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--navy)}
.bc-rail__step{position:relative;display:flex;align-items:baseline;gap:10px;padding:12px clamp(14px,1.6vw,24px) 12px 0;font-family:var(--font-body)}
.bc-rail__step::before{content:"";position:absolute;top:-4px;left:0;width:1px;height:7px;background:var(--navy)}
.bc-rail__step:first-child{padding-left:0}
.bc-rail__n{font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--navy);opacity:.5}
.bc-rail__s{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--navy)}
.bc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--navy-20);border-left:1px solid var(--navy-20)}
.bc-card{display:flex;flex-direction:column;padding:clamp(22px,2.2vw,34px);border-right:1px solid var(--navy-20);border-bottom:1px solid var(--navy-20);background:transparent;transition:background var(--dur-2) var(--ease-out)}
.bc-card:hover{background:var(--white)}
.bc-card__num{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--navy);opacity:.55;margin:0 0 clamp(18px,2vw,28px)}
.bc-card__promise{font-family:var(--font-serif);font-size:clamp(15px,1.15vw,18px);line-height:1.35;color:var(--navy);margin:0 0 16px}
.bc-card__title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(17px,1.35vw,22px);line-height:1.1;letter-spacing:-.012em;color:var(--navy);margin:0 0 12px}
.bc-card__body{font-family:var(--font-body);font-size:clamp(13px,.98vw,15px);line-height:1.62;color:var(--navy-85,var(--navy-70));margin:0 0 clamp(20px,2.2vw,28px);flex:1}
.bc-card__btn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:transparent;color:var(--navy);border:1px solid var(--navy);padding:14px 16px;text-decoration:none;transition:background var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}
.bc-card__btn:hover{background:var(--navy);color:var(--cream)}
.bc-card__btn span{transition:transform var(--dur-2) var(--ease-out)}
.bc-card__btn:hover span{transform:translateX(4px)}
.bc-foot{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(22px,3vw,56px);background:var(--navy);color:var(--cream);padding:clamp(26px,3vw,40px) clamp(20px,2.4vw,36px)}
.bc-foot__stmt{font-family:var(--font-display);font-weight:700;font-size:clamp(21px,2vw,30px);line-height:1.14;letter-spacing:-.02em;color:var(--cream);margin:0;max-width:26ch;text-wrap:pretty}
.bc-foot__stmt em{font-style:normal;color:var(--t-accent)}
.bc-foot__sub{font-family:var(--font-body);font-size:clamp(13px,1vw,15px);line-height:1.6;color:rgba(236,233,223,.78);margin:12px 0 0;max-width:60ch;text-wrap:pretty}
.bc-foot .bc-foot__btn{align-self:center}
.bc__tira{display:flex;flex-wrap:nowrap;flex:0 1 auto;min-width:0;gap:10px clamp(12px,1.4vw,22px);list-style:none;margin:0;padding:0}
.bc__tira li{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);white-space:nowrap;display:flex;align-items:center;gap:clamp(12px,1.4vw,22px)}
.bc__tira li:not(:last-child)::after{content:"";width:1px;height:12px;background:rgba(236,233,223,.3)}
.bc-foot__btn{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--t-accent);color:var(--navy);border:1px solid var(--t-accent);padding:16px 22px;text-decoration:none;white-space:nowrap;transition:background var(--dur-2) var(--ease-out)}
.bc-foot__btn:hover{background:var(--acid-deep)}
.bc-foot__btn span{transition:transform var(--dur-2) var(--ease-out)}
.bc-foot__btn:hover span{transform:translateX(4px)}

/* ---------- BOOTCAMPS · Índice editorial (propuesta B) ---------- */
.bcx{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(32px,4.5vw,88px);align-items:start}
.bcx__aside .bc__headline{margin-bottom:clamp(16px,1.8vw,24px);max-width:18ch}
.bcx__aside .bc__lede{max-width:38ch;margin-bottom:clamp(22px,2.4vw,32px)}
.bcx__aside .bc__tira{display:grid;grid-template-columns:1fr;gap:8px;padding-top:clamp(18px,2vw,26px);border-top:1px solid var(--navy-20);margin-bottom:clamp(22px,2.4vw,32px)}
.bcx__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--navy)}
.bcx__row{border-bottom:1px solid var(--navy-20)}
.bcx__row:last-child{border-bottom:1px solid var(--navy)}
.bcx__link{display:grid;grid-template-columns:clamp(44px,4.4vw,72px) 1fr clamp(28px,2.6vw,40px);gap:clamp(12px,1.6vw,26px);align-items:start;padding:clamp(20px,2.2vw,32px) clamp(8px,1vw,16px) clamp(20px,2.2vw,32px) 0;text-decoration:none;color:var(--navy);transition:background var(--dur-2) var(--ease-out),padding-left var(--dur-2) var(--ease-out)}
.bcx__link:hover{background:var(--white);padding-left:clamp(8px,1vw,16px)}
.bcx__n{font-family:var(--font-serif);font-size:clamp(26px,2.6vw,40px);line-height:.9;color:var(--navy);opacity:.4}
.bcx__copy{display:flex;flex-direction:column;gap:8px}
.bcx__said{font-family:var(--font-display);font-weight:800;font-size:clamp(18px,1.65vw,26px);line-height:1.14;letter-spacing:-.016em;color:var(--navy);max-width:30ch;text-wrap:pretty}
.bcx__what{font-family:var(--font-body);font-size:clamp(13px,.98vw,15px);line-height:1.6;color:var(--navy-85,var(--navy-70));max-width:56ch;text-wrap:pretty}
.bcx__what b{font-weight:600;color:var(--navy);text-transform:uppercase;letter-spacing:.1em;font-size:.92em}
.bcx__arrow{justify-self:end;font-family:var(--font-body);font-size:18px;line-height:1.2;color:var(--navy);transition:transform var(--dur-2) var(--ease-out)}
.bcx__link:hover .bcx__arrow{transform:translateX(5px)}
@media (max-width:900px){
  .bcx{grid-template-columns:1fr;gap:clamp(24px,3vw,40px)}
  .bcx__aside .bc__headline,.bcx__aside .bc__lede{max-width:34ch}
  .bcx__aside .bc__tira{grid-template-columns:1fr 1fr}
}

/* ---------- TEST (banda a sangre) ---------- */
.quiz{position:relative;display:grid;place-items:center;min-height:clamp(200px,23vw,280px);padding:clamp(36px,4.2vw,60px) clamp(24px,5vw,96px);overflow:hidden;isolation:isolate;background:var(--navy)}
.quiz__bg{position:absolute;inset:0;z-index:0}
.quiz__bg .photo,.quiz__bg image-slot{display:block;width:100%;height:100%}
.quiz__bg img{width:100%;height:100%;object-fit:cover}
.quiz__bg .photo{background:transparent}
.quiz__bg .photo::before,.quiz__bg .photo::after{display:none}
.quiz__bg image-slot::part(frame){background:transparent}
.quiz__bg image-slot:not([data-filled])::part(empty){justify-content:flex-end;align-items:flex-end;text-align:right;padding:0 clamp(16px,2.4vw,32px) clamp(12px,1.8vw,24px) 0;color:rgba(236,233,223,.75)}
.quiz__bg image-slot:not([data-filled])::part(ring){border-color:rgba(236,233,223,.35)}
.quiz__scrim{position:absolute;inset:0;z-index:1;background:rgba(23,36,63,.58);pointer-events:none}
.quiz__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:min(880px,100%)}
.quiz__title{font-family:var(--font-serif-italic);font-style:italic;font-weight:400;font-size:clamp(27px,3.4vw,50px);line-height:1.06;color:var(--white);margin:0 0 clamp(12px,1.3vw,18px);max-width:24ch;text-wrap:balance}
.quiz__lede{font-family:var(--font-body);font-size:clamp(14px,1.05vw,17px);line-height:1.5;color:var(--cream);opacity:.9;max-width:56ch;margin:0 0 clamp(18px,2vw,26px);text-wrap:pretty}
.quiz__btn{display:inline-flex;align-items:center;text-decoration:none;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--cream);color:var(--navy);border:1px solid var(--cream);padding:17px 38px;border-radius:var(--r-0);cursor:pointer;transition:background var(--dur-2) var(--ease-out)}
.quiz__btn:hover{background:var(--white)}

/* ---------- LEAD MAGNET (navy) ---------- */
#workbook{padding-top:clamp(44px,4.8vw,74px);padding-bottom:clamp(44px,4.8vw,74px)}
.lm-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(36px,5vw,88px);align-items:center}
.lm__photo{position:relative;padding:clamp(14px,1.6vw,26px);overflow:visible;width:100%;max-width:340px}
.lm__eyebrow{font-family:var(--font-body);font-size:clamp(24px,2.8vw,40px);font-weight:600;letter-spacing:.14em;line-height:1.16;text-transform:uppercase;color:var(--t-accent);margin:0 0 clamp(16px,1.8vw,24px)}
.lm__title{font-family:var(--font-serif-italic);font-style:italic;font-weight:400;font-size:clamp(21px,2.1vw,28px);line-height:1.16;letter-spacing:-.01em;color:var(--cream);margin:0 0 clamp(20px,2.2vw,30px);max-width:42ch;text-wrap:balance}
.lm__title .mark-underline{white-space:nowrap}
.lm__body{font-family:var(--font-body);font-size:14px;line-height:1.62;color:rgba(236,233,223,.8);max-width:52ch;margin:0 0 clamp(24px,2.6vw,34px)}
.lm__btn{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--cream);color:var(--navy);border:1px solid var(--cream);padding:20px 34px;border-radius:var(--r-0);cursor:pointer;transition:background var(--dur-2) var(--ease-out)}
.lm__btn:hover{background:var(--white)}
.lm__btn span{transition:transform var(--dur-2) var(--ease-out)}
.lm__btn:hover span{transform:translateX(5px)}

/* Workbook modal */
.wb-overlay{position:fixed;inset:0;z-index:200;background:rgba(23,36,63,.72);display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,60px)}
.wb-modal{position:relative;background:var(--cream);color:var(--navy);width:min(560px,100%);padding:clamp(32px,4vw,56px);border:1px solid var(--navy)}
.wb-modal__close{position:absolute;top:14px;right:16px;background:none;border:none;font-family:var(--font-body);font-size:22px;line-height:1;color:var(--navy-50);cursor:pointer;padding:6px}
.wb-modal__close:hover{color:var(--navy)}
.wb-modal__eyebrow{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--navy-50);margin:0 0 16px}
.wb-modal__title{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,2.4vw,36px);line-height:1.08;letter-spacing:-.02em;margin:0 0 14px;max-width:22ch}
.wb-modal__body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--navy-70);margin:0 0 clamp(24px,2.6vw,34px);max-width:44ch}
.wb-form{display:flex;flex-direction:column;gap:18px}
.wb-form__field{display:flex;flex-direction:column;gap:8px}
.wb-form__field span{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-50)}
.wb-form__field input{font-family:var(--font-body);font-size:16px;color:var(--navy);background:var(--white);border:1px solid var(--navy);border-radius:var(--r-2);padding:15px 16px}
.wb-form__field input:focus{outline:2px solid var(--t-accent);outline-offset:1px}
.wb-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--navy);color:var(--cream);border:1px solid var(--navy);padding:18px 24px;border-radius:var(--r-0);cursor:pointer;transition:background var(--dur-2) var(--ease-out)}
.wb-form__submit:hover{background:var(--navy-90)}
.wb-modal__done-title{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,2.4vw,36px);line-height:1.1;letter-spacing:-.02em;margin:0 0 12px}
.wb-modal__done-body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--navy-70);margin:0}

/* ---------- RECURSOS (cream) ---------- */
#recursos{padding-top:clamp(34px,3.4vw,56px);padding-bottom:clamp(34px,3.4vw,56px)}
.res__free{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);background:var(--t-accent);padding:6px 12px;margin:0 0 clamp(14px,1.6vw,20px)}
.res__headline{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,3.5vw,58px);line-height:1.04;letter-spacing:-.024em;color:var(--navy);margin:0 0 clamp(14px,1.6vw,20px);max-width:24ch}

/* Marked phrases in v2 display headlines must never wrap inside the inline-block
   span (the underline SVG only tracks one line) — the ch-based max-widths above
   guarantee the phrase fits. On cream grounds the glyphs stay navy for contrast;
   only the squiggle carries the accent. */
.v2-hero__headline .mark-underline,.pain__headline .mark-underline,.mech-item__title .mark-underline,.auth__headline .mark-underline,.bc__headline .mark-underline,.lm__title .mark-underline,.res__headline .mark-underline,.comm__title .mark-underline{white-space:nowrap}
.bc__headline .mark-underline,.res__headline .mark-underline{color:inherit}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.res-card{display:flex;flex-direction:column;border:1px solid var(--navy-20);background:var(--white);transition:box-shadow 360ms var(--ease-out)}
.res-card:hover{box-shadow:var(--shadow-hover)}
.res-card__media{position:relative;overflow:hidden;aspect-ratio:16/10;border-bottom:1px solid var(--navy-20)}
.res-card__media .photo,.res-card__media image-slot{width:100%;height:100%;display:block}
.res-card__media img{transition:transform 360ms var(--ease-out)}
.res-card:hover .res-card__media img{transform:scale(1.02)}
.res-card__inner{display:flex;flex-direction:column;flex:1;padding:clamp(22px,2.2vw,32px)}
.res-card__num{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--navy);opacity:.55;margin:0 0 16px}
a.res-card__link{text-decoration:none}
.form-note{font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--navy-85,var(--navy-70));margin:2px 0 0;max-width:44ch}
.form-note--acid{grid-column:1/-1;color:var(--navy);opacity:.72}
.res-card__title{font-family:var(--font-display);font-weight:800;font-size:clamp(17px,1.4vw,23px);line-height:1.16;letter-spacing:-.014em;color:var(--navy);margin:0 0 14px}
.res-card__body{font-family:var(--font-body);font-size:clamp(13px,.98vw,15px);line-height:1.6;color:var(--navy-85,var(--navy-70));margin:0 0 clamp(24px,2.6vw,34px);flex:1}
.res-card__link{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);border:none;background:none;padding:0;cursor:pointer;align-self:flex-start;transition:opacity var(--dur-2) var(--ease-out)}
.res-card__link:hover{opacity:.6}
.res-card__link span{transition:transform var(--dur-2) var(--ease-out)}
.res-card__link:hover span{transform:translateX(4px)}

/* ---------- COMUNIDAD (acid) ---------- */
#comunidad{padding-top:clamp(44px,4.8vw,74px);padding-bottom:clamp(44px,4.8vw,74px)}
#comunidad .mark-loop svg path{stroke:var(--white)}
#comunidad .bracket-corner{border-color:var(--white);z-index:6;width:clamp(22px,2.2vw,34px);height:clamp(22px,2.2vw,34px)}
.comm-band{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(28px,4vw,72px);align-items:end;padding-top:clamp(20px,2.4vw,32px);border-top:1px solid var(--navy)}
.comm-band__side{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,2vw,26px)}
.comm__photo{position:relative;overflow:visible;width:100%;max-width:340px;padding:clamp(10px,1.2vw,18px)}
.comm__title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.4vw,54px);line-height:1;letter-spacing:-.026em;color:var(--navy);margin:0;max-width:22ch;text-wrap:balance}
.comm__handle{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);opacity:.65;margin:0}
.comm__btn{display:inline-flex;align-items:center;white-space:nowrap;gap:14px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--navy);color:var(--cream);border:1px solid var(--navy);padding:20px 32px;text-decoration:none;transition:background var(--dur-2) var(--ease-out)}
.comm__btn:hover{background:var(--navy-90)}
.comm__btn span{transition:transform var(--dur-2) var(--ease-out)}
.comm__btn:hover span{transform:translateX(5px)}
.comm__lede{font-family:var(--font-body);font-size:clamp(15px,1.15vw,19px);line-height:1.55;color:var(--navy);opacity:.82;max-width:48ch;margin:0 0 clamp(22px,2.6vw,34px)}
.comm-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;max-width:640px}
.comm-form__field{display:flex;flex-direction:column;gap:8px}
.comm-form__field span{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);opacity:.6}
.comm-form__field input{font-family:var(--font-body);font-size:16px;color:var(--navy);background:transparent;border:none;border-bottom:1px solid var(--navy);border-radius:0;padding:12px 2px}
.comm-form__field input::placeholder{color:var(--navy);opacity:.4}
.comm-form__field input:focus{outline:none;border-bottom-width:2px}
.comm-form__submit{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;gap:14px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--navy);color:var(--cream);border:1px solid var(--navy);padding:20px 30px;border-radius:var(--r-0);cursor:pointer;justify-self:start;transition:background var(--dur-2) var(--ease-out)}
.comm-form__submit:hover{background:var(--navy-90)}
.comm-form__submit span{transition:transform var(--dur-2) var(--ease-out)}
.comm-form__submit:hover span{transform:translateX(5px)}
.comm-form--done{display:block}
.comm-form__done-title{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,2.2vw,34px);line-height:1.1;color:var(--navy);margin:0 0 10px}
.comm-form__done-body{font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--navy);opacity:.75;margin:0}

/* ---------- FOOTER (más compacto en v2) ---------- */
.footer{padding:clamp(28px,3vw,44px) clamp(24px,5vw,96px) 20px}
.footer__top{gap:clamp(24px,3vw,44px)}
.footer__brand-img{width:clamp(130px,11vw,170px)}
.footer__col-label{margin:0 0 14px}
.footer__contact,.footer__social{gap:14px}
.footer__meta{margin-top:20px}
.footer__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:clamp(24px,2.6vw,38px);padding-top:16px;border-top:1px solid rgba(236,233,223,.2)}
.footer__legal-copy,.footer__legal-links a{font-family:var(--font-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(236,233,223,.6);margin:0}
.footer__legal-links{display:flex;gap:clamp(16px,2vw,28px)}
.footer__legal-links a{text-decoration:none;transition:color var(--dur-2) var(--ease-out)}
.footer__legal-links a:hover{color:var(--cream)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .auth-grid,.lm-grid,.mech-grid{grid-template-columns:1fr}
  .proof__stats{grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,28px)}
  .pain-cols{grid-template-columns:1fr;max-width:56ch;border-top:0}
  .pain-col{border-right:0;border-top:1px solid rgba(236,233,223,.2);padding-inline:0}
  .bc-grid{grid-template-columns:repeat(2,1fr)}
  .res-grid{grid-template-columns:1fr}
  .mech-item{grid-template-columns:clamp(48px,6vw,72px) 1fr}
}
@media (max-width:1000px){
  .bc-foot{gap:22px clamp(24px,3vw,40px)}
}
@media (max-width:700px){
  .bc-foot{grid-template-columns:1fr}
  .bc-foot .bc-foot__btn{justify-self:start}
  .bc__tira li:not(:last-child)::after{display:none}
}
@media (max-width:760px){
  .comm-band{grid-template-columns:1fr;align-items:start;gap:clamp(24px,3vw,36px)}
  .proof__quotes{grid-template-columns:1fr}
  .proof__quote blockquote{max-width:none}
}
@media (max-width:640px){
  .bc-grid{grid-template-columns:1fr}
  .comm-form{grid-template-columns:1fr}
}

.mech__kicker .mark-highlight{background-image:linear-gradient(var(--t-accent),var(--t-accent));color:var(--navy);padding:0 .14em}

.bc-foot__label{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--t-accent);margin:0 0 14px}
.bc-foot__list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.bc-foot__list li{font-family:var(--font-body);font-size:clamp(13px,1vw,15px);line-height:1.5;color:var(--cream);padding:12px 0 12px 20px;border-top:1px solid rgba(236,233,223,.2);position:relative}
.bc-foot__list li::before{content:"+";position:absolute;left:0;top:12px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--t-accent)}
.bc-foot__list li:last-child{border-bottom:1px solid rgba(236,233,223,.2)}

.bc-foot__access{justify-self:end;max-width:44ch}
.bc-foot-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--t-accent);color:var(--navy);padding:clamp(18px,1.8vw,24px) clamp(20px,2.4vw,36px);text-decoration:none;transition:background var(--dur-2) var(--ease-out)}
.bc-foot-cta:hover{background:var(--acid-deep);color:var(--navy)}
.bc-foot-cta__txt{font-family:var(--font-display);font-weight:700;font-size:clamp(15px,1.3vw,19px);letter-spacing:-.01em}
.bc-foot-cta__arrow{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.bc-foot-cta__arrow span{transition:transform var(--dur-2) var(--ease-out)}
.bc-foot-cta:hover .bc-foot-cta__arrow span{transform:translateX(4px)}
@media (max-width:700px){.bc-foot-cta{flex-direction:column;align-items:flex-start;gap:14px}}
@media (max-width:700px){.bc-foot__access{justify-self:start;max-width:none}}

.bc-foot__facts,.bc-foot__facts-note{display:none}
.auth__lead{font-weight:600;color:var(--cream)}
.auth__key{color:var(--cream)}
.auth-facts{display:none}
/* ---------- ESTO ES PARA TI SI · autochequeo ---------- */
.fit-list__btn{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;width:100%;appearance:none;background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.fit-list__mark{flex:none;color:var(--t-accent)}
.fit-list__hint{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(236,233,223,.5);margin:14px 0 0}
.fit-list__next{align-items:center;gap:10px;min-height:46px;margin-top:12px;padding:0 0 6px;border-bottom:1px solid var(--t-accent);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--t-accent);text-decoration:none}
.fit-list__hint,.fit-list__next{display:none}
.fit-list__next:hover{opacity:.7;color:var(--t-accent)}
.tst-hint{display:none}
.tst-card__next{display:none}
.mob-break{display:none}
.ltr__eyebrow-avatar{display:none}
.how2-mockup{display:none}
.ltr__toggle{display:none}
.ltr__more{display:block}
.how2-val__facts{display:none}
.only-mob{display:none}
.v2-hero__bg-mob{display:none}
.auth__photo-mob{display:none}
.v2-hero__sub--mob,.v2-hero__stages{display:none}
.v2-nav__logo-img{display:none}
.v2-nav__toggle,.v2-nav-sheet{display:none}
.bc-card__btn{white-space:nowrap;min-height:47px}
@media (min-width:1001px) and (max-width:1320px){.bc-card__btn{font-size:10px;letter-spacing:.08em;padding-left:12px;padding-right:12px}}
