/* ==========================================================================
   Mentora Agency — estilos
   Concepto: "la noche" (trabajamos 24/7 mientras duermes) + "el amanecer"
   (los resultados). Fondo nocturno, acento degradado rosa → melocotón.
   ========================================================================== */

:root{
  --ink:#0D0A10;
  --ink-2:#141018;
  --ink-3:#1B1520;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.15);
  --text:#F5EFF4;
  --soft:#D2C7D6;
  --muted:#A597AA;
  --muted-2:#7C7082;
  --rose:#FF9DB6;
  --peach:#FFC8A2;
  --violet:#9B7BFF;
  --green:#5BE49B;
  --cream:#F7F1EA;
  --grad:linear-gradient(120deg,#FF8FAE 0%,#FFB0A8 45%,#FFD3A8 100%);
  --grad-deep:linear-gradient(120deg,#C93A6C 0%,#E0704F 100%);
  --r:24px;
  --serif:"Instrument Serif","Times New Roman",Georgia,serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1200px;
  --ease:cubic-bezier(.2,.75,.2,1);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;background:var(--ink);color:var(--text);
  font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;overflow-x:clip;
}
/* grano sutil para dar textura "de revista" */
body::after{
  content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:inherit}
::selection{background:rgba(255,157,182,.35);color:#fff}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
@media (min-width:768px){.wrap{padding-inline:32px}}

.skip{position:absolute;left:-9999px;top:12px;z-index:200;background:#fff;color:#000;padding:10px 16px;border-radius:10px;font-weight:700}
.skip:focus{left:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--peach);outline-offset:3px;border-radius:8px
}

/* ---------- Tipografía común ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;
  font:800 12px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)
}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--grad);box-shadow:0 0 14px rgba(255,157,182,.9);flex:none}
.display{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(50px,7.6vw,102px);line-height:.95;letter-spacing:-.025em;margin:0 0 26px;text-wrap:balance
}
.title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(40px,5.4vw,70px);line-height:1;letter-spacing:-.018em;margin:0 0 22px;text-wrap:balance
}
.display em,.title em,.grad-text{
  font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;
  color:transparent;padding-right:.08em
}
.sub{color:var(--muted);font-size:clamp(17px,1.5vw,19px);line-height:1.6;max-width:62ch;margin:0}
.head{max-width:780px;margin-bottom:clamp(44px,6vw,72px)}
.head--center{text-align:center;margin-inline:auto}
.head--center .sub{margin-inline:auto}

.section{position:relative;padding:clamp(80px,9vw,128px) 0}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:56px;padding:0 28px;border-radius:999px;border:0;cursor:pointer;
  font:800 16px/1 var(--sans);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s
}
.btn svg{width:18px;height:18px;flex:none;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn--primary{
  background:var(--grad);color:#1B0E15;
  box-shadow:0 12px 34px -12px rgba(255,143,174,.7),inset 0 1px 0 rgba(255,255,255,.55)
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 44px -12px rgba(255,143,174,.85),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--ghost{background:rgba(255,255,255,.04);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn--ghost:hover{background:rgba(255,255,255,.08)}
.btn--sm{min-height:44px;padding:0 20px;font-size:14.5px}
.btn[disabled]{opacity:.6;pointer-events:none}

/* ---------- Iconos ---------- */
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ==========================================================================
   Navegación
   ========================================================================== */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .35s,box-shadow .35s}
.nav.is-scrolled,.nav.is-open{
  background:rgba(13,10,16,.74);
  -webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);
  box-shadow:0 1px 0 var(--line)
}
.nav__in{display:flex;align-items:center;gap:30px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand__mark{width:34px;height:34px}
.brand__name{display:flex;align-items:baseline;gap:7px;font-family:var(--serif);font-size:29px;line-height:1;letter-spacing:-.01em}
.brand__sub{font:800 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.nav__links{display:none;gap:32px}
.nav__links a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:700;transition:color .2s}
.nav__links a:hover{color:var(--text)}
.nav__cta{display:none}
.nav__burger{
  width:46px;height:46px;border-radius:14px;cursor:pointer;
  background:rgba(255,255,255,.05);border:1px solid var(--line-2);
  display:grid;place-content:center;gap:6px
}
.nav__burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform .3s var(--ease)}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu{padding:8px 20px 26px;border-top:1px solid var(--line)}
.menu a:not(.btn){display:block;padding:15px 2px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:24px;text-decoration:none}
.menu .btn{width:100%;margin-top:20px}
@media (min-width:980px){
  .nav__links,.nav__cta{display:flex}
  .nav__burger,.menu{display:none!important}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:128px 0 72px}
@media (min-width:980px){.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:120px 0 90px}}
.hero__glow{
  position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(55% 45% at 82% 100%,rgba(255,143,174,.26),transparent 70%),
    radial-gradient(35% 35% at 100% 72%,rgba(255,200,162,.2),transparent 70%),
    radial-gradient(45% 45% at 0% 0%,rgba(124,77,255,.18),transparent 70%)
}
.stars{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.4;
  background-image:
    radial-gradient(1px 1px at 22px 34px,#fff 50%,transparent 52%),
    radial-gradient(1px 1px at 128px 86px,rgba(255,255,255,.85) 50%,transparent 52%),
    radial-gradient(1.6px 1.6px at 206px 150px,#fff 50%,transparent 52%),
    radial-gradient(1px 1px at 64px 196px,rgba(255,255,255,.7) 50%,transparent 52%),
    radial-gradient(1.2px 1.2px at 176px 226px,rgba(255,255,255,.75) 50%,transparent 52%),
    radial-gradient(1px 1px at 250px 40px,rgba(255,255,255,.6) 50%,transparent 52%);
  background-size:280px 260px;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 75%);mask-image:linear-gradient(to bottom,#000 0%,transparent 75%);
  animation:twinkle 6s ease-in-out infinite alternate
}
@keyframes twinkle{from{opacity:.28}to{opacity:.5}}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,143,174,.55),rgba(255,211,168,.55),transparent)
}
.hero__in{display:grid;gap:60px;align-items:center}
@media (min-width:980px){.hero__in{grid-template-columns:1.12fr .88fr;gap:40px}}
.hero .eyebrow{font-size:12.5px}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--soft);max-width:54ch;margin:0 0 34px}
.lead strong{color:var(--text);font-weight:800}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:540px){.hero__ctas .btn{width:100%}}
.ticks{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 24px;color:var(--muted);font-size:14.5px;font-weight:700}
.ticks li{display:flex;align-items:center;gap:8px}
.ticks li::before{
  content:"";width:17px;height:17px;flex:none;background:var(--grad);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12.5 4.5 4.5L19 7.5'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12.5 4.5 4.5L19 7.5'/></svg>") center/contain no-repeat
}

/* ---------- Móvil del hero ---------- */
.hero__visual{position:relative;display:flex;justify-content:center;padding:10px 0 20px}
.phone-tilt{transform:perspective(1400px) rotateY(-10deg) rotateX(3deg) rotateZ(1.5deg)}
@media (max-width:979px){.phone-tilt{transform:rotateZ(-2deg)}}
.phone{
  position:relative;width:min(300px,76vw);aspect-ratio:300/620;border-radius:50px;padding:10px;
  background:linear-gradient(160deg,#2C2432 0%,#120E15 42%,#211A27 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.09),0 50px 90px -30px rgba(0,0,0,.9),0 0 140px -30px rgba(255,143,174,.5);
  animation:float 7s ease-in-out infinite
}
@keyframes float{50%{transform:translateY(-12px)}}
.phone__screen{
  position:relative;height:100%;border-radius:40px;overflow:hidden;padding:12px 15px 0;
  display:flex;flex-direction:column;
  background:radial-gradient(120% 55% at 50% 0%,#2B1E34 0%,#120E16 62%)
}
.phone__island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:94px;height:27px;border-radius:20px;background:#000}
.phone__status{display:flex;justify-content:space-between;align-items:center;height:27px;padding:0 12px;font-size:13px;font-weight:800}
.phone__sig{display:flex;align-items:flex-end;gap:2px;height:11px}
.phone__sig i{display:block;width:3px;border-radius:1px;background:var(--text)}
.phone__sig i:nth-child(1){height:4px}.phone__sig i:nth-child(2){height:6px}.phone__sig i:nth-child(3){height:8px}.phone__sig i:nth-child(4){height:11px}
.phone__bat{width:22px;height:11px;border-radius:3px;border:1.5px solid var(--text);margin-left:6px;position:relative}
.phone__bat::after{content:"";position:absolute;inset:1.5px;right:5px;border-radius:1px;background:var(--text)}
.app__head{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 12px}
.app__kicker{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.app__title{display:flex;align-items:center;gap:6px;margin:3px 0 0;font-family:var(--serif);font-size:27px;line-height:1}
.verified{width:17px;height:17px;flex:none;margin-top:2px}
/* foto de perfil con anillo de historia, igual que en los casos reales */
.app__avatar{width:42px;height:42px;flex:none;padding:2px;border-radius:50%;background:linear-gradient(45deg,#FEDA75,#FA7E1E 28%,#D62976 58%,#962FBF 82%,#4F5BD5)}
.app__avatar img{display:block;width:100%;height:100%;border-radius:50%;border:2px solid #1F1726;object-fit:cover}
.app__live{
  display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:15px;
  font-size:12.5px;font-weight:800;color:#C4F7DA;
  background:rgba(91,228,155,.09);border:1px solid rgba(91,228,155,.24)
}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(91,228,155,.6)}70%{box-shadow:0 0 0 10px rgba(91,228,155,0)}100%{box-shadow:0 0 0 0 rgba(91,228,155,0)}}
.app__kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.kpi{padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.kpi__l{margin:0;font-size:10.5px;font-weight:700;color:var(--muted)}
.kpi__v{margin:2px 0 0;font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
/* cada venta del feed suma a las ganancias de hoy */
.kpi__v.is-bump{animation:bump .9s var(--ease)}
@keyframes bump{0%{color:var(--text)}20%{color:#7BEAAE;transform:scale(1.06)}100%{color:var(--text);transform:none}}
.app__section{margin:16px 2px 9px;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.feed{
  list-style:none;margin:0;padding:0;flex:1;overflow:hidden;display:flex;flex-direction:column;gap:8px;
  -webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 96%);mask-image:linear-gradient(to bottom,#000 62%,transparent 96%)
}
.feed li{
  display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:16px;flex:none;
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  animation:feedIn .6s var(--ease)
}
@keyframes feedIn{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
.feed__ic{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;flex:none}
.feed__ic .ic{width:16px;height:16px;stroke-width:2}
.feed__txt{min-width:0}
.feed__t{display:block;font-size:12.5px;font-weight:800;line-height:1.2}
.feed__s{display:block;font-size:11px;color:var(--muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed__time{margin-left:auto;font-size:10.5px;color:var(--muted-2);white-space:nowrap}
.tone--rose{background:rgba(255,157,182,.15);color:#FFA9BF}
.tone--peach{background:rgba(255,200,162,.15);color:#FFCBA6}
.tone--violet{background:rgba(155,123,255,.18);color:#C8B6FF}
.tone--green{background:rgba(91,228,155,.13);color:#80EBB1}
/* seguidores nuevos: icono de cada red */
.feed__ic--ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff}
.feed__ic--tt{background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.feed__ic--rd{background:#FF4500}
/* "feed__logo" y no "brand": ".brand" es el logo de Mentora del menú y los descentraba */
.feed__logo{display:block;width:18px;height:18px}
.feed__ic--ig .feed__logo{width:20px;height:20px}
.feed__ic--rd .feed__logo{width:22px;height:22px}
.feed__ic--tt .feed__logo{filter:drop-shadow(-1px -1px 0 #25F4EE) drop-shadow(1px 1px 0 #FE2C55)}

.chip{
  position:absolute;z-index:2;display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:16px;white-space:nowrap;
  font-size:13px;font-weight:700;background:rgba(26,20,31,.82);border:1px solid var(--line-2);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 22px 44px -22px rgba(0,0,0,.9)
}
.chip b{font-weight:800}
.chip__k{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rose)}
/* arriba a la izquierda, sobre el reloj del móvil: no tapa ni ganancias ni actividad */
.chip--a{top:3%;left:0}
.chip--b{bottom:9%;right:0}
@media (min-width:980px){.chip--a{left:-8%}.chip--b{right:-6%}}
@media (max-width:420px){.chip{font-size:12px;padding:9px 12px}.chip--b{bottom:5%}}

/* ==========================================================================
   Cifras
   ========================================================================== */
.stats{border-block:1px solid var(--line)}
.stats .wrap{padding-inline:0}
@media (min-width:768px){.stats .wrap{padding-inline:32px}}
.stats__in{display:grid;gap:1px;background:var(--line)}
@media (min-width:760px){.stats__in{grid-template-columns:repeat(3,1fr)}}
.stat{background:var(--ink);padding:clamp(26px,3.4vw,44px) clamp(20px,2.6vw,36px)}
.stat__n{margin:0;font-family:var(--serif);font-size:clamp(50px,6vw,84px);line-height:1;letter-spacing:-.02em;white-space:nowrap}
.stat__l{margin:12px 0 0;color:var(--muted);font-size:15px;font-weight:700;line-height:1.4;max-width:26ch}
@media (max-width:759px){
  .stat{display:flex;align-items:center;gap:18px;padding:20px}
  .stat__n{font-size:44px;min-width:128px}
  .stat__l{margin:0}
}

/* ==========================================================================
   Qué hacemos: tu parte (1) / nuestra parte (12)
   ========================================================================== */
.split{display:grid;gap:18px}
@media (min-width:980px){.split{grid-template-columns:.78fr 1.5fr;gap:22px}}
.card{
  position:relative;overflow:hidden;border-radius:var(--r);padding:clamp(26px,3.2vw,42px);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line)
}
.part__k{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.part__k span+span{color:var(--rose);letter-spacing:.14em}
.part--you{display:flex;flex-direction:column;background:radial-gradient(90% 70% at 0% 100%,rgba(255,143,174,.16),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
.part__big{margin:6px 0 0;font-family:var(--serif);font-size:clamp(130px,15vw,200px);line-height:.82}
.part__task{margin:auto 0 10px;padding-top:28px;font-family:var(--serif);font-size:clamp(34px,3.4vw,46px);line-height:1.02}
.part--you p:last-child{margin:0;color:var(--muted)}
.groups{display:grid;gap:22px 34px;margin-top:16px}
@media (min-width:700px){.groups{grid-template-columns:1fr 1fr}}
.group__h{display:flex;align-items:center;gap:10px;margin:0 0 2px;font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}
.group__h::before{content:"";width:16px;height:2px;border-radius:2px;background:var(--grad)}
.duties{list-style:none;margin:0;padding:0}
.duties li{display:flex;align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:15.5px;line-height:1.35}
.duties li:last-child{border-bottom:0}
.duties li b{font-size:11px;font-weight:800;color:var(--rose);min-width:20px;font-variant-numeric:tabular-nums}

/* ==========================================================================
   24/7 — mientras duermes
   ========================================================================== */
.night{overflow:hidden;isolation:isolate;background:radial-gradient(70% 55% at 50% 0%,rgba(124,77,255,.14),transparent 70%)}
.night .stars{opacity:.35}
.clock-hl{
  display:inline-block;padding:0 .16em;border-radius:.18em;font-style:normal;
  background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line-2)
}
.clocks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:34px;max-width:880px}
@media (min-width:760px){.clocks{grid-template-columns:repeat(4,1fr)}}
.clock{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.clock--us{background:rgba(255,143,174,.07);border-color:rgba(255,143,174,.22)}
.clock--team{background:rgba(91,228,155,.06);border-color:rgba(91,228,155,.22)}
.clock__city{margin:0;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.clock__time{margin:4px 0 2px;font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.clock__st{margin:0;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--soft)}
.bridge{margin:30px 0 0}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;text-decoration:none;color:var(--peach)}
.link-arrow svg{width:18px;height:18px;transition:transform .25s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}

/* tarjetas de pasos (página de gracias) */
.dcard{padding:22px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.dcard--hot{background:linear-gradient(180deg,rgba(255,143,174,.12),rgba(255,200,162,.05));border-color:rgba(255,143,174,.28)}
.dcard__h{margin:0;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--rose);font-variant-numeric:tabular-nums}
.dcard h3{margin:6px 0 6px;font-size:18px;font-weight:800;letter-spacing:-.01em}
.dcard p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}

/* ==========================================================================
   Resultados (casos reales)
   ========================================================================== */
.cases{display:grid;gap:14px}
@media (min-width:900px){.cases{grid-template-columns:repeat(3,1fr)}}
/* en móvil, carrusel deslizable para no alargar la página */
@media (max-width:899px){
  .cases{
    grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;margin-inline:-20px;padding:4px 20px 6px;scroll-padding-inline:20px;scrollbar-width:none
  }
  .cases::-webkit-scrollbar{display:none}
  .case{scroll-snap-align:start}
}
.cases__dots{display:none;justify-content:center;gap:8px;margin-top:16px}
.cases__dots span{width:7px;height:7px;border-radius:50%;background:var(--line-2);transition:width .3s var(--ease),background .3s}
.cases__dots span.is-on{width:22px;border-radius:4px;background:var(--grad)}
@media (max-width:899px){.cases__dots{display:flex}}

.case{
  display:flex;flex-direction:column;min-width:0;padding:26px;border-radius:var(--r);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line)
}
.case__tag{margin:0 0 18px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--peach)}
.case__head{display:flex;align-items:center;gap:12px}
/* foto de perfil estilo Instagram (anillo de historia) con la cara pixelada */
.case__avatar{width:60px;height:60px;flex:none;padding:2.5px;border-radius:50%;background:linear-gradient(45deg,#FEDA75,#FA7E1E 28%,#D62976 58%,#962FBF 82%,#4F5BD5)}
.case__avatar img{display:block;width:100%;height:100%;border-radius:50%;border:2.5px solid #19151C;object-fit:cover;background:#19151C}
.case__name{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em}
.case__period{margin:1px 0 0;font-size:13px;font-weight:600;color:var(--muted)}
/* mismo verde que el indicador de crecimiento de OnlyFans */
.case__badge{margin-left:auto;padding:6px 10px;border-radius:999px;white-space:nowrap;font-size:13px;font-weight:800;color:#7BEAAE;background:rgba(91,228,155,.12);border:1px solid rgba(91,228,155,.28)}
.case__big{margin:22px 0 0;font-family:var(--serif);font-size:clamp(48px,4.6vw,62px);line-height:1;letter-spacing:-.01em}
.case__label{margin:6px 0 0;font-size:15px;font-weight:700;color:var(--soft)}
.case__label span{font-weight:600;color:var(--muted-2)}
.case__insight{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.case__insight a{color:var(--peach);text-underline-offset:3px}
.mix{margin-top:16px}
.mix__bar{display:flex;height:10px;border-radius:6px;overflow:hidden;gap:2px}
.mix__bar span{width:var(--w)}
.mix__legend{list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;padding:0;font-size:12.5px;font-weight:700;color:var(--muted)}
.mix__legend li{display:flex;align-items:center;gap:6px}
.mix__legend i{width:8px;height:8px;border-radius:50%}
.mix--msg{background:var(--grad)}
.mix--sub{background:var(--violet)}
.mix--tip{background:var(--green)}
/* la captura ocupa el hueco que quede: tarjetas parejas y más prueba visible */
.case__shot{
  position:relative;display:block;width:100%;flex:1 0 170px;min-height:170px;padding:0;overflow:hidden;cursor:zoom-in;
  border:1px solid var(--line-2);border-radius:16px;background:#fff;font:inherit;color:inherit
}
.case__insight{margin-bottom:20px}
.case__shot img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:left top;transition:transform .6s var(--ease)}
.case__shot:hover img{transform:scale(1.03)}
.case__shot::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(13,10,16,.88))}
.case__shot-cta{position:absolute;left:14px;bottom:12px;z-index:1;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:#fff}
.case__shot-cta .ic{width:17px;height:17px;stroke-width:2.2}
.cases__note{max-width:62ch;margin:20px auto 0;text-align:center;font-size:13px;color:var(--muted-2)}
.center-cta{display:flex;justify-content:center;margin-top:30px}

/* visor de capturas */
.lightbox{max-width:min(94vw,920px);max-height:92vh;padding:0;border:0;background:transparent;color:var(--text);overflow:visible}
.lightbox::backdrop{background:rgba(8,6,10,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lightbox img{display:block;max-width:100%;max-height:80vh;margin:0 auto;border-radius:16px;box-shadow:0 30px 80px -20px #000}
.lightbox__cap{margin:14px auto 0;max-width:60ch;text-align:center;font-size:14px;font-weight:600;color:var(--soft)}
.lightbox__close{
  position:absolute;top:-16px;right:-12px;z-index:1;width:42px;height:42px;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;color:#1B0E15;background:var(--grad);border:0;box-shadow:0 10px 30px -10px #000
}
.lightbox__close .ic{width:18px;height:18px;stroke-width:2.4}
@media (max-width:600px){.lightbox__close{top:-52px;right:0}}

/* ==========================================================================
   Nuestras reglas (sección clara)
   ========================================================================== */
.rules{background:var(--cream);color:#1D1422}
.rules .eyebrow{color:#7C6C80}
.rules .title{color:#1D1422}
.rules .title em{background:var(--grad-deep);-webkit-background-clip:text;background-clip:text;color:transparent}
.rules .sub{color:#5F5264}
.rules__grid{display:grid;gap:14px}
@media (min-width:720px){.rules__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.rules__grid{grid-template-columns:repeat(3,1fr)}}
.rule{padding:28px;border-radius:22px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px -26px rgba(70,20,45,.35)}
.rule__ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin-bottom:20px;background:#1D1422;color:var(--peach)}
.rule__ic .ic{width:21px;height:21px}
.rule h3{margin:0 0 6px;font-size:19px;font-weight:800;letter-spacing:-.015em}
.rule p{margin:0;color:#5F5264;font-size:15.5px}
@media (max-width:719px){
  .rule{display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:start;padding:20px}
  .rule__ic{margin:0;grid-row:span 2}
  .rule h3{margin:1px 0 4px;font-size:17.5px}
  .rule p{font-size:15px}
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{max-width:880px;margin-inline:auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 2px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:clamp(17px,1.8vw,20px);font-weight:800;letter-spacing:-.01em;line-height:1.35}
.faq__ic{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;border:1px solid var(--line-2);transition:transform .35s var(--ease),background .3s,color .3s}
.faq__ic .ic{width:16px;height:16px;stroke-width:2.2}
.faq details[open] .faq__ic{transform:rotate(45deg);background:var(--grad);color:#1B0E15;border-color:transparent}
.faq details p{margin:0;padding:0 56px 26px 2px;color:var(--muted);max-width:72ch}
.faq summary:hover h3{color:#fff}
.faq__more{margin:34px 0 0;text-align:center;color:var(--muted);font-weight:600}
.faq details p a{color:var(--peach);text-underline-offset:3px}

/* ==========================================================================
   Formulario de solicitud
   ========================================================================== */
.apply-sec{overflow:hidden;isolation:isolate}
.apply-sec::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(50% 50% at 100% 50%,rgba(255,143,174,.14),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgba(124,77,255,.12),transparent 70%)
}
/* móvil: titular → formulario → pasos · escritorio: titular y pasos a la izquierda, formulario a la derecha */
.apply{display:grid;gap:36px;align-items:start;grid-template-areas:"head" "form" "path"}
.apply__head{grid-area:head}
.apply__path{grid-area:path}
.apply .form-card{grid-area:form}
@media (min-width:980px){.apply{grid-template-columns:.9fr 1.1fr;grid-template-areas:"head form" "path form";column-gap:70px;row-gap:0}}
@media (max-width:979px){.apply__path .path{margin-top:0}}
.path{list-style:none;margin:34px 0 0;padding:0}
.path li{position:relative;display:grid;grid-template-columns:42px 1fr;gap:16px;padding-bottom:20px}
.path li:last-child{padding-bottom:0}
.path li:not(:last-child)::before{content:"";position:absolute;left:20.5px;top:46px;bottom:4px;width:1px;background:var(--line-2)}
.path__n{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:21px;line-height:1;color:var(--peach);background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.path li:first-child .path__n{background:var(--grad);color:#1B0E15;border-color:transparent;box-shadow:0 0 24px -4px rgba(255,143,174,.7)}
.path h3{margin:8px 0 2px;font-size:17px;font-weight:800;letter-spacing:-.01em}
.path p{margin:0;color:var(--muted);font-size:15px}
.apply__note{margin:30px 0 0;font-size:14px;color:var(--muted-2)}

.form-card{
  position:relative;border-radius:30px;padding:clamp(22px,3.2vw,38px);
  background:linear-gradient(180deg,#1B1521,#140F18);border:1px solid var(--line-2);
  box-shadow:0 50px 110px -50px rgba(255,143,174,.45)
}
.progress{height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.progress span{display:block;width:25%;height:100%;border-radius:4px;background:var(--grad);transition:width .45s var(--ease)}
.form-top{display:flex;justify-content:space-between;margin:12px 0 26px;font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.form-card fieldset{border:0;margin:0;padding:0;min-width:0}
.form-card fieldset[hidden]{display:none}
/* el título del paso recibe el foco solo para que los lectores de pantalla lo anuncien: sin recuadro */
.form-card legend:focus,.form-card legend:focus-visible{outline:none}
.form-card legend{padding:0;margin:0 0 8px;font-family:var(--serif);font-size:clamp(30px,3vw,38px);line-height:1.05;outline:none}
.hint{margin:0 0 22px;color:var(--muted);font-size:15px}
.opts{display:grid;gap:10px}
@media (min-width:560px){.opts--2{grid-template-columns:1fr 1fr}}
.opt{position:relative;display:block}
.opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.opt__box{
  display:flex;align-items:center;gap:14px;min-height:58px;padding:14px 18px;border-radius:17px;cursor:pointer;
  background:rgba(255,255,255,.03);border:1px solid var(--line-2);transition:border-color .2s,background .2s,transform .15s
}
.opt__box::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;border:2px solid rgba(255,255,255,.25);transition:all .2s}
.opt__box:hover{background:rgba(255,255,255,.055)}
.opt input:checked + .opt__box{border-color:rgba(255,157,182,.75);background:rgba(255,157,182,.09)}
.opt input:checked + .opt__box::before{border-color:transparent;background:var(--grad);box-shadow:inset 0 0 0 4px #1B1521}
.opt input:focus-visible + .opt__box{outline:2px solid var(--peach);outline-offset:2px}
.opt__txt b{display:block;font-size:16px;font-weight:800;line-height:1.3}
.opt__txt small{display:block;margin-top:2px;font-size:13.5px;color:var(--muted);font-weight:600}
.field{display:grid;gap:8px;margin-bottom:16px}
.field label{font-size:14px;font-weight:800;color:var(--soft)}
.field label small{font-weight:600;color:var(--muted-2)}
.input,.tel{
  width:100%;height:56px;border-radius:15px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);
  color:var(--text);font:700 16px var(--sans);transition:border-color .2s,background .2s
}
.input{padding:0 16px}
.input::placeholder,.tel input::placeholder{color:var(--muted-2);font-weight:600}
.input:focus,.tel:focus-within{outline:none;border-color:rgba(255,157,182,.7);background:rgba(255,255,255,.06)}
.tel{display:flex;align-items:center}
.tel span{padding:0 6px 0 16px;color:var(--muted);font-weight:800}
.tel input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:inherit;font:inherit;padding-right:16px}
.tel input:focus{outline:none}
.checks{display:grid;gap:12px;margin-top:6px}
.check{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;color:var(--soft);cursor:pointer;line-height:1.45}
.check input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:#FF9DB6}
.check a{color:var(--peach)}
.form-error{min-height:1.3em;margin:14px 0 0;font-size:14px;font-weight:700;color:#FF93A8}
.form-nav{display:flex;gap:10px;margin-top:22px}
.form-nav .btn--primary{flex:1}
.btn--back{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-2);padding:0 22px}
.btn--back:hover{color:var(--text)}
.form-safe{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0;font-size:13px;color:var(--muted-2);text-align:center}
.form-safe .ic{width:15px;height:15px}
.hp{position:absolute;left:-9999px}

/* ==========================================================================
   Footer
   ========================================================================== */
.footer{border-top:1px solid var(--line);padding:60px 0 120px;color:var(--muted);font-size:15px}
@media (min-width:980px){.footer{padding-bottom:60px}}
.footer__grid{display:grid;gap:36px}
@media (min-width:820px){.footer__grid{grid-template-columns:1.5fr 1fr 1fr}}
.footer__about{max-width:40ch;margin:18px 0 0}
.footer__wa{display:inline-flex;align-items:center;gap:9px;margin-top:16px;font-weight:700;color:var(--soft)}
.footer__wa svg{width:18px;height:18px;fill:#25D366}
.footer__h{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer a{text-decoration:none;transition:color .2s}
.footer a:hover{color:var(--text)}
.footer__cities{margin:44px 0 0;padding-top:26px;border-top:1px solid var(--line);font-size:14px}
.footer__legal{margin:18px 0 0;font-size:13px;color:var(--muted-2);line-height:1.6}

/* ---------- CTA fija en móvil ---------- */
.sticky{
  position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:55;
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:22px;
  background:rgba(24,19,29,.9);border:1px solid var(--line-2);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 50px -20px #000;
  transform:translateY(160%);transition:transform .45s var(--ease)
}
.sticky.is-on{transform:none}
.sticky p{margin:0;font-size:13.5px;font-weight:800;line-height:1.25}
.sticky p small{display:block;color:var(--muted);font-weight:700;font-size:12px}
.sticky .btn{min-height:46px;padding:0 18px;font-size:14.5px}
@media (min-width:980px){.sticky{display:none}}

/* ---------- WhatsApp flotante ---------- */
.wa{
  position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:58;
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#25D366;
  box-shadow:0 12px 30px -8px rgba(37,211,102,.6),0 4px 14px rgba(0,0,0,.4);
  transition:transform .25s var(--ease),bottom .45s var(--ease)
}
.wa svg{width:30px;height:30px;fill:currentColor}
.wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:waPulse 2.8s var(--ease) infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}
.wa:hover{transform:translateY(-3px) scale(1.04)}
.wa__tip{
  position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%);opacity:0;pointer-events:none;white-space:nowrap;
  padding:9px 13px;border-radius:12px;background:#fff;color:#1B1320;font-size:13.5px;font-weight:800;
  box-shadow:0 14px 30px -12px rgba(0,0,0,.6);transition:opacity .25s,transform .25s var(--ease)
}
.wa:hover .wa__tip,.wa:focus-visible .wa__tip{opacity:1;transform:translate(0,-50%)}
@media (min-width:980px){.wa{right:28px;bottom:28px}}
/* en móvil sube cuando aparece la barra fija de abajo */
@media (max-width:979px){.sticky.is-on ~ .wa{bottom:calc(92px + env(safe-area-inset-bottom))}}

/* ==========================================================================
   Animaciones de entrada
   ========================================================================== */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js [data-reveal].is-in{opacity:1;transform:none}
/* el hero entra con CSS puro: no depende de JS y no retrasa el LCP */
.js .hero [data-reveal]{opacity:1;transform:none;transition:none;animation:heroIn 1s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal],.js .hero [data-reveal]{opacity:1;transform:none;transition:none;animation:none}
  .phone,.stars,.pulse,.feed li,.wa::before,.kpi__v.is-bump{animation:none}
}

/* ==========================================================================
   Página de gracias
   ========================================================================== */
.thanks{min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 0 80px;position:relative;isolation:isolate;overflow:hidden}
.thanks__badge{width:74px;height:74px;margin:0 auto 30px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#1B0E15;box-shadow:0 0 60px -6px rgba(255,143,174,.7)}
.thanks__badge .ic{width:34px;height:34px;stroke-width:2.4}
.thanks .display{font-size:clamp(46px,7vw,86px)}
.thanks .sub{margin:0 auto}
.thanks__steps .dcard a{color:var(--peach);font-weight:800;white-space:nowrap}
.thanks__steps{display:grid;gap:12px;max-width:720px;margin:44px auto 40px;text-align:left}
@media (min-width:720px){.thanks__steps{grid-template-columns:repeat(3,1fr)}}
