/* ═══════════════════════════════════════════════════════════════════
   Garritz Research — hoja de estilo
   Tokens tomados del sistema de la nueva garritz.com:
   amarillo #E3FF00, Poppins display / Avenir Next body, secciones
   alternadas negro-blanco, botones pastilla.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --black:#000000;
  --white:#ffffff;
  --yellow:#E3FF00;
  --yellow-hover:#CDE600;
  --line:rgba(255,255,255,0.14);
  --line-dark:rgba(0,0,0,0.12);
  --muted-on-black:rgba(255,255,255,0.6);
  --muted-on-white:rgba(0,0,0,0.58);
  --display:'Poppins', sans-serif;
  --body:'Avenir Next','Avenir','Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;
  --pad:clamp(56px,7vw,110px);
  --gutter:clamp(20px,5vw,48px);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--black); color:var(--white);
  font-family:var(--body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
img{max-width:100%;display:block;}

/* ── HONEYPOT · no borrar: si se vuelve visible, los envíos legítimos
      se descartan en silencio ─────────────────────────────────────── */
.hp{position:absolute !important;left:-9999px !important;opacity:0 !important;height:0;overflow:hidden;}

/* ── Bandas ─────────────────────────────────────────────────────── */
.hero,.stats,.cuts,.method,.cta--closing,.footer,.hub-hero,.hub-list,.crumb{
  padding-left:var(--gutter); padding-right:var(--gutter);
}
.hero,.cuts,.cta--closing,.footer,.hub-hero{background:var(--black);color:var(--white);}
.stats,.method,.hub-list{background:var(--white);color:var(--black);}

.hero,.stats,.cuts,.method,.hub-hero,.hub-list{padding-top:var(--pad);padding-bottom:var(--pad);}
.hero > *,.stats > *,.cuts > *,.method > *,.cta--closing > *,.footer > *,
.hub-hero > *,.hub-list > *,.crumb > *{max-width:1100px;margin-left:auto;margin-right:auto;}

/* ── Tipografía ─────────────────────────────────────────────────── */
.hero__eyebrow,.cuts__title,.method__title,.stat__num,.hero__title,
.hub-hero .hero__title,.cut__title,.report-card__title,.modal__title,.method__item h3{
  font-family:var(--display);
}
.hero__eyebrow{
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--yellow);margin:0 0 18px;
}
.hero__title{
  font-size:clamp(32px,4.8vw,60px);font-weight:700;line-height:1.06;
  letter-spacing:-.015em;margin:0 0 24px;max-width:16ch;
}
.hero__subhead{
  font-size:clamp(17px,1.5vw,20px);color:var(--muted-on-black);
  max-width:60ch;margin:0;
}

/* ── Botones ────────────────────────────────────────────────────── */
.btn{
  display:inline-block;font-family:var(--body);font-size:14.5px;font-weight:700;
  padding:15px 26px;border-radius:26px;border:1px solid transparent;
  text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease;
}
.btn--primary{background:var(--yellow);color:var(--black);}
.btn--primary:hover{background:var(--yellow-hover);}
.btn--secondary{background:transparent;color:var(--black);border-color:rgba(0,0,0,.3);}
.btn--secondary:hover{background:var(--black);color:var(--white);border-color:var(--black);}
.btn[disabled]{opacity:.5;cursor:default;}

/* ── CTA ────────────────────────────────────────────────────────── */
.cta{margin-top:40px;}
.cta__greeting{font-family:var(--display);font-size:20px;font-weight:600;margin:0 0 16px;}
.cta__micro{font-size:13px;color:var(--muted-on-black);margin:14px 0 0;letter-spacing:.02em;}
.cta__alt{margin:16px 0 0;font-size:14px;}
.cta__alt a{color:var(--yellow);text-decoration:none;border-bottom:1px solid rgba(227,255,0,.4);padding-bottom:2px;}
.cta--closing{padding-bottom:var(--pad);text-align:left;}

.notice{
  margin-top:28px;padding:14px 18px;border-left:3px solid var(--yellow);
  background:rgba(227,255,0,.08);font-size:14.5px;max-width:52ch;
}

/* ── Cifras ─────────────────────────────────────────────────────── */
.stats__list{
  list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:clamp(24px,3vw,48px);
}
.stat{display:flex;flex-direction:column;gap:6px;}
.stat__num{
  font-size:clamp(30px,3.6vw,46px);font-weight:700;line-height:1;letter-spacing:-.02em;
}
.stat__label{font-size:13.5px;color:var(--muted-on-white);letter-spacing:.01em;}
.stats__foot{
  margin:36px 0 0;font-size:13px;color:var(--muted-on-white);
  padding-top:20px;border-top:1px solid var(--line-dark);
}

/* ── Cortes ─────────────────────────────────────────────────────── */
.cuts__title{font-size:clamp(28px,3.8vw,46px);font-weight:700;letter-spacing:-.015em;margin:0 0 14px;}
.cuts__intro{color:var(--muted-on-black);max-width:58ch;margin:0 0 48px;}
.cuts__list{list-style:none;counter-reset:cut;padding:0;margin:0;}
.cut{
  counter-increment:cut;border-top:1px solid var(--line);
  padding:26px 0 26px 64px;position:relative;
}
.cut::before{
  content:counter(cut,decimal-leading-zero);
  position:absolute;left:0;top:28px;
  font-family:var(--display);font-size:13px;font-weight:700;
  color:var(--yellow);letter-spacing:.08em;
}
.cut__title{font-size:clamp(18px,1.9vw,23px);font-weight:600;margin:0 0 6px;letter-spacing:-.01em;}
.cut__body{margin:0;color:var(--muted-on-black);max-width:62ch;}

/* ── Método ─────────────────────────────────────────────────────── */
.method__title{font-size:clamp(28px,3.8vw,46px);font-weight:700;letter-spacing:-.015em;margin:0 0 44px;}
.method{display:block;}
.method > .method__item{max-width:1100px;}
.method__item{padding:24px 0;border-top:1px solid var(--line-dark);}
.method__item h3{font-size:19px;font-weight:600;margin:0 0 6px;}
.method__item p{margin:0;color:var(--muted-on-white);max-width:64ch;}

/* ── Migas y pie ────────────────────────────────────────────────── */
.crumb{padding-top:28px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-on-black);}
.crumb a{color:var(--yellow);text-decoration:none;}
.footer{padding-top:44px;padding-bottom:44px;border-top:1px solid var(--line);}
.footer p{margin:0;font-size:13.5px;color:var(--muted-on-black);}
.footer a{color:var(--white);text-decoration:none;border-bottom:1px solid var(--line);}

/* ── Hub ────────────────────────────────────────────────────────── */
.hub-hero .hero__title{font-size:clamp(38px,6vw,72px);margin-bottom:20px;}
.hub-hero .hero__subhead{max-width:56ch;}
.report-card{border-top:1px solid var(--line-dark);padding:40px 0;}
.report-card:first-child{border-top:none;padding-top:0;}
.report-card__title{font-size:clamp(24px,2.6vw,32px);font-weight:700;margin:0 0 10px;letter-spacing:-.015em;}
.report-card__title a{text-decoration:none;}
.report-card__title a:hover{border-bottom:2px solid var(--yellow);}
.report-card__blurb{margin:0 0 20px;color:var(--muted-on-white);max-width:62ch;}
.report-card__stats{
  list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;
  gap:28px;font-size:13.5px;color:var(--muted-on-white);
}
.report-card__stats strong{font-family:var(--display);font-size:20px;font-weight:700;color:var(--black);display:block;}
.report-card .btn--primary{background:var(--black);color:var(--white);}
.report-card .btn--primary:hover{background:var(--yellow);color:var(--black);}

/* ── Modal ──────────────────────────────────────────────────────── */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal[hidden]{display:none;}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);}
.modal__panel{
  position:relative;background:var(--white);color:var(--black);
  width:100%;max-width:460px;max-height:90vh;overflow-y:auto;
  padding:clamp(28px,4vw,42px);border-radius:14px;
}
.modal__close{
  position:absolute;top:14px;right:18px;background:none;border:none;
  font-size:26px;line-height:1;cursor:pointer;color:rgba(0,0,0,.4);padding:4px;
}
.modal__close:hover{color:var(--black);}
.modal__title{font-size:clamp(22px,2.6vw,28px);font-weight:700;margin:0 0 8px;letter-spacing:-.015em;}
.modal__sub{margin:0 0 26px;font-size:15px;color:var(--muted-on-white);}
body.is-modal-open{overflow:hidden;}

/* ── Formulario ─────────────────────────────────────────────────── */
.field{margin-bottom:16px;display:flex;flex-direction:column;}
.field label{font-size:13px;font-weight:600;margin-bottom:6px;letter-spacing:.01em;}
.field__opt{font-weight:400;color:var(--muted-on-white);}
.field input[type="text"],.field input[type="email"]{
  font-family:var(--body);font-size:16px;padding:13px 14px;
  border:1px solid rgba(0,0,0,.22);border-radius:8px;background:var(--white);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field input:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 3px rgba(227,255,0,.55);}
.field input.is-invalid{border-color:#c0392b;}
.field--check{margin:22px 0;}
.field--check label{
  flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;
  font-weight:400;line-height:1.45;cursor:pointer;
}
.field--check input{margin-top:3px;flex-shrink:0;width:17px;height:17px;accent-color:var(--black);}
.field__error,.form__error{color:#c0392b;font-size:12.5px;margin:5px 0 0;}
.form__error:empty{display:none;}
.cf-turnstile{margin:18px 0;}
form .btn--primary{width:100%;margin-top:6px;}
.form__privacy{font-size:12px;color:var(--muted-on-white);margin:18px 0 0;line-height:1.5;}
.form__privacy a{color:var(--black);}

/* ── Estado post-descarga ───────────────────────────────────────── */
.upsell{margin-top:26px;padding-top:24px;border-top:1px solid var(--line-dark);}
.upsell p{font-size:14.5px;color:var(--muted-on-white);margin:0 0 20px;}
.upsell .btn{width:100%;}
.upsell__ack{
  font-size:14px;color:var(--black);margin:0;padding:14px 16px;
  background:rgba(227,255,0,.35);border-radius:8px;
}

@media (max-width:640px){
  body{font-size:16px;}
  .cut{padding-left:48px;}
  .cta--closing .btn,.hero .btn{width:100%;text-align:center;}
}
