/* =========================================================
   Elevo Agency — Sistema de diseño compartido
   Reproducción fiel del diseño Figma (V2 Optimizada)
   ========================================================= */

:root{
  /* Fondos */
  --bg:#0a0b12;
  --bg-alt:#0e0f17;          /* Secciones V2 */
  --card-glass:rgba(255,255,255,0.03);
  --card-solid:#13141d;
  --card-plum:#1b1726;
  --pill:#1f1729;
  --field:#0e0f17;
  --footer-bg:#0c0e16;

  /* Bordes */
  --border:rgba(255,255,255,0.1);
  --border-soft:rgba(255,255,255,0.05);
  --border-plum:#403052;
  --border-rose:rgba(255,177,197,0.2);

  /* Texto */
  --text:#e2e1ee;
  --text-bright:#f0edf7;
  --text-rose:#e3bdc5;
  --text-lav:#dcb8ff;
  --text-muted:#b2a6ba;
  --pink-accent:#ffb1c5;
  --pink:#ff2e88;
  --pink-2:#ff2994;
  --purple:#7701d0;
  --blue-accent:#b1c5ff;

  /* Degradados */
  --grad-cta:linear-gradient(140deg,#ff2e88 0%,#7701d0 100%);
  --grad-text:linear-gradient(116deg,#ff2e88 0%,#dcb8ff 100%);

  /* Layout */
  --maxw:1280px;
  --pad:64px;
  --radius:24px;

  --font-head:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* Glows ambientales de fondo */
.bg-glows{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bg-glows::before,.bg-glows::after{
  content:"";position:absolute;border-radius:50%;filter:blur(120px);opacity:.5;
}
.bg-glows::before{width:600px;height:600px;background:rgba(255,46,136,.18);top:-200px;left:-150px}
.bg-glows::after{width:700px;height:700px;background:rgba(119,1,208,.20);top:40%;right:-250px}

/* Contenedor general */
.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(17,19,27,.8);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  box-shadow:0 25px 50px -12px rgba(255,177,197,.05);
}
.nav__inner{display:flex;align-items:center;justify-content:space-between;
  max-width:var(--maxw);margin:0 auto;padding:16px var(--pad)}
.nav__logo{display:flex;align-items:center}
.brand-logo{height:34px;width:auto}
/* Wordmark stand-in del logo (reemplazable por assets/elevo-logo.svg) */
.brand-wordmark{font-family:var(--font-head);font-weight:800;font-size:26px;letter-spacing:-1px;color:#fff;line-height:1}
.footer .brand-wordmark{font-size:20px;opacity:.5}
.nav__links{display:flex;gap:32px;align-items:center}
.nav__links a{color:var(--text-rose);font-size:16px;padding:6px 12px;border-radius:8px;transition:color .2s,background .2s}
.nav__links a:hover{color:#fff;background:rgba(255,255,255,.04)}
.nav__toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.nav__toggle span{width:24px;height:2px;background:var(--text-rose);border-radius:2px;transition:.3s}

/* Botón CTA pill degradado */
.btn-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--grad-cta);color:#fff;
  padding:10px 24px;border-radius:9999px;
  font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase;
  filter:drop-shadow(0 0 10px rgba(255,46,136,.3));
  transition:transform .2s,filter .2s;white-space:nowrap;
}
.btn-cta:hover{transform:translateY(-2px);filter:drop-shadow(0 0 18px rgba(255,46,136,.5))}
.btn-cta.lg{padding:17px 32px;filter:drop-shadow(0 0 15px rgba(255,46,136,.4))}
.btn-cta .arrow{width:10px;height:11px}

/* Botón secundario glass */
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--card-glass);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.2);color:var(--text);
  padding:17px 33px;border-radius:9999px;font-weight:600;font-size:12px;letter-spacing:.6px;
  transition:background .2s,transform .2s;white-space:nowrap;
}
.btn-ghost:hover{background:rgba(255,255,255,.07);transform:translateY(-2px)}

/* =========================================================
   Utilidades de sección
   ========================================================= */
.section{padding:80px 0;position:relative}
.section--alt{background:var(--bg-alt)}
.eyebrow{font-family:var(--font-head);color:var(--pink-2);font-size:12px;letter-spacing:.6px;text-transform:uppercase;text-align:center;margin:0 0 12px}
.section-title{font-family:var(--font-head);font-weight:700;color:var(--text-bright);
  font-size:44px;line-height:1.15;text-align:center;margin:0 auto;letter-spacing:-.5px;max-width:900px}
.section-sub{color:var(--text-muted);font-size:17px;text-align:center;max-width:800px;margin:16px auto 0}
.section-title.left{text-align:left;margin:0}
.h2{font-family:var(--font-head);font-weight:700;color:var(--text);font-size:48px;letter-spacing:-.48px;line-height:1.2;margin:0}

/* Badge pill "disponibles" */
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.03);backdrop-filter:blur(10px);
  border:1px solid var(--border-rose);border-radius:9999px;padding:7px 17px;
  color:var(--pink-accent);font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase;
}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--pink-accent)}

/* Texto degradado */
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* =========================================================
   HERO
   ========================================================= */
.hero{padding:72px 0 40px;position:relative}
.hero__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.hero__col{max-width:620px}
.hero .kicker{display:block;color:var(--text-lav);font-size:12px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600;margin:24px 0 12px}
.hero h1{font-family:var(--font-head);font-weight:800;color:var(--text);
  font-size:72px;line-height:1.05;letter-spacing:-1.44px;margin:0 0 16px}
.hero h1 .grad-text{font-weight:700}
.hero__lead{color:var(--text-rose);font-size:18px;line-height:1.6;max-width:560px;margin:0 0 28px}
.hero__actions{display:flex;gap:16px;flex-wrap:wrap}

/* =========================================================
   STATS
   ========================================================= */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--card-glass);backdrop-filter:blur(10px);
  border:1px solid var(--border);border-radius:24px;
  padding:34px 24px;
}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px;position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:rgba(255,255,255,.1)}
.stat__icon{width:26px;height:26px;color:var(--pink-accent);margin-bottom:4px}
.stat__num{font-family:var(--font-head);font-weight:700;color:var(--text);font-size:48px;letter-spacing:-.48px;line-height:1}
.stat__label{color:var(--text-rose);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;line-height:1.4}

/* =========================================================
   Cards "Sistema Elevo" / genéricas plum
   ========================================================= */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.sys-card{background:var(--card-solid);border:1px solid var(--border-plum);border-radius:22px;padding:23px;min-height:270px;position:relative}
.sys-card.alt{background:var(--card-plum)}
.sys-card__num{font-family:var(--font-head);color:var(--pink-2);font-size:13px;margin:0 0 26px}
.sys-card__title{font-family:var(--font-head);color:var(--text-bright);font-size:25px;margin:0 0 20px}
.sys-card__desc{color:var(--text-muted);font-size:15px;margin:0 0 24px;line-height:1.5}
.sys-card__pill{display:inline-block;background:var(--pill);border:1px solid var(--border-plum);
  border-radius:16px;padding:7px 16px;color:var(--text-muted);font-family:var(--font-head);font-size:11px}

/* =========================================================
   Featured Work
   ========================================================= */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.section-head p.sub{color:var(--text-rose);font-size:18px;margin:8px 0 0}
.link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--text-lav);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}
.link-arrow svg{width:16px;height:16px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.work-card{
  background:var(--card-glass);backdrop-filter:blur(10px);
  border:1px solid var(--border);border-radius:32px;padding:25px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s,border-color .25s;
}
.work-card:hover{transform:translateY(-4px);border-color:var(--border-rose)}
.work-card__media{
  height:256px;border-radius:12px;margin-bottom:24px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,rgba(255,46,136,.25),rgba(119,1,208,.35));
  background-size:cover;background-position:center;
}
.work-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.work-card__title{font-family:var(--font-head);font-weight:600;color:var(--text);font-size:32px;line-height:1.3;margin:0}
.work-card__circle{width:40px;height:40px;flex:0 0 40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--text)}
.work-card__circle svg{width:13px;height:13px}
.work-card__desc{color:var(--text-rose);font-size:16px;margin:8px 0 0}
.tags{display:flex;gap:8px;padding-top:16px;flex-wrap:wrap}
.tag{font-size:10px;letter-spacing:.4px;text-transform:uppercase;padding:5px 13px;border-radius:9999px;line-height:1.5}
.tag--rose{background:rgba(255,177,197,.1);border:1px solid rgba(255,177,197,.2);color:var(--pink-accent)}
.tag--plain{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-rose)}
.tag--purple{background:rgba(119,1,208,.3);border:1px solid rgba(119,1,208,.5);color:var(--text-lav)}
.tag--blue{background:rgba(90,140,255,.2);border:1px solid rgba(90,140,255,.3);color:var(--blue-accent)}

/* =========================================================
   Manuales Reales
   ========================================================= */
.manual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.manual-card{background:var(--card-solid);border:1px solid var(--border-plum);border-radius:22px;overflow:hidden;
  transition:transform .25s,border-color .25s;display:block}
.manual-card:hover{transform:translateY(-4px);border-color:#5a4570}
.manual-card__media{height:230px;background:linear-gradient(135deg,#241a30,#151019);
  background-size:cover;background-position:center;position:relative}
.manual-card__body{padding:23px}
.manual-card__title{font-family:var(--font-head);color:var(--text-bright);font-size:22px;margin:0 0 12px}
.manual-card__loc{color:var(--pink-2);font-size:13px;margin:0 0 10px}
.manual-card__meta{color:var(--text-muted);font-size:13px;margin:0 0 20px}
.manual-card__link{font-family:var(--font-head);color:var(--text-bright);font-size:12px;letter-spacing:.5px}

/* =========================================================
   Capabilities Bento
   ========================================================= */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:32px}
.bento-card{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border);
  border-radius:24px;padding:33px;position:relative;overflow:hidden}
.bento-card.big{padding:49px}
.bento-card .glow{position:absolute;width:256px;height:256px;border-radius:50%;
  background:rgba(255,177,197,.1);filter:blur(32px);bottom:-80px;right:-80px;pointer-events:none}
.bento-card .glow.pink{background:rgba(255,46,136,.18);right:-120px;bottom:auto;top:0}
.bento-icon{width:30px;height:30px;color:var(--pink-accent);margin-bottom:15px}
.bento-card h3{font-family:var(--font-head);font-weight:600;color:var(--text);font-size:32px;margin:0 0 12px;position:relative}
.bento-card p{color:var(--text-rose);font-size:16px;line-height:1.6;margin:0;position:relative;max-width:520px}
.col-8{grid-column:span 8}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-7{grid-column:span 7}

/* =========================================================
   Testimonial
   ========================================================= */
.testimonial{background:var(--card-plum);border:1px solid var(--border-plum);border-radius:28px;
  display:grid;grid-template-columns:439px 1fr;gap:59px;padding:57px;align-items:stretch}
.testimonial__video{border-radius:28px;background:linear-gradient(160deg,#241a30,#12101a);
  min-height:520px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  background-size:cover;background-position:center}
.play-btn{width:74px;height:74px;border-radius:50%;background:rgba(255,41,148,.9);
  display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(255,46,136,.5)}
.play-btn svg{width:26px;height:26px;color:#fff;margin-left:4px}
.testimonial__body{display:flex;flex-direction:column;justify-content:flex-start}
.testimonial__eyebrow{color:var(--pink-2);font-family:var(--font-head);font-size:12px;letter-spacing:.5px;margin:0 0 20px}
.testimonial__quote{font-family:var(--font-head);color:var(--text-bright);font-size:30px;line-height:1.35;margin:0 0 auto}
.testimonial__name{font-family:var(--font-head);color:var(--text-bright);font-size:18px;margin:32px 0 4px}
.testimonial__role{color:var(--text-muted);font-size:14px;margin:0 0 18px}
.testimonial__link{font-family:var(--font-head);color:var(--text-bright);font-size:12px;letter-spacing:.5px}

/* =========================================================
   Process
   ========================================================= */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative;margin-top:32px}
.process::before{content:"";position:absolute;top:24px;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}
.step{position:relative}
.step__num{width:48px;height:48px;border-radius:50%;background:var(--card-glass);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;
  color:var(--text-lav);font-size:16px;margin-bottom:16px}
.step__title{color:var(--text);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin:0 0 8px}
.step__desc{color:var(--text-rose);font-size:14px;margin:0;line-height:1.45}

/* =========================================================
   Diagnóstico lead magnet
   ========================================================= */
.leadmagnet{background:var(--card-plum);border:1px solid var(--border-plum);border-radius:30px;
  display:grid;grid-template-columns:1fr 476px;gap:64px;padding:53px 55px;align-items:center}
.leadmagnet__eyebrow{color:var(--pink-2);font-family:var(--font-head);font-size:12px;letter-spacing:.5px;margin:0 0 20px}
.leadmagnet h2{font-family:var(--font-head);color:var(--text-bright);font-size:38px;line-height:1.2;margin:0 0 24px}
.leadmagnet__desc{color:var(--text-muted);font-size:16px;line-height:1.6;margin:0 0 28px;max-width:500px}
.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.checklist li{color:var(--text-bright);font-size:14px;display:flex;align-items:center;gap:12px}
.checklist li::before{content:"✓";color:var(--pink-2);font-weight:700}
.diag-form{background:var(--card-solid);border:1px solid var(--border-plum);border-radius:24px;padding:27px}
.diag-form h3{font-family:var(--font-head);color:var(--text-bright);font-size:22px;margin:0 0 24px}
.diag-form input,.diag-form select{
  width:100%;background:var(--field);border:1px solid var(--border-plum);border-radius:14px;
  padding:18px 17px;color:var(--text);font-size:14px;margin-bottom:18px;font-family:inherit;
}
.diag-form input::placeholder{color:var(--text-muted)}
.diag-form select{color:var(--text-muted)}
.diag-form input:focus,.diag-form select:focus{outline:none;border-color:var(--pink-2)}
.btn-solid-pink{width:100%;background:var(--pink-2);color:var(--text-bright);border:0;cursor:pointer;
  border-radius:32px;padding:22px;font-family:var(--font-head);font-size:12px;letter-spacing:.6px;
  text-transform:uppercase;transition:background .2s,transform .2s}
.btn-solid-pink:hover{background:#ff45a5;transform:translateY(-2px)}

/* =========================================================
   FAQ
   ========================================================= */
.faq{max-width:960px;margin:32px auto 0;display:flex;flex-direction:column;gap:18px}
.faq-item{background:var(--card-solid);border:1px solid var(--border-plum);border-radius:14px;overflow:hidden}
.faq-q{width:100%;background:none;border:0;cursor:pointer;color:var(--text-bright);font-size:15px;
  text-align:left;padding:19px 21px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:inherit}
.faq-q .plus{color:var(--pink-2);font-size:26px;font-family:var(--font-head);line-height:1;transition:transform .3s;flex:0 0 auto}
.faq-item.open .plus{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;
  color:var(--text-muted);font-size:15px;line-height:1.6;padding:0 21px}
.faq-item.open .faq-a{max-height:400px;padding:0 21px 20px}

/* =========================================================
   CTA Final
   ========================================================= */
.cta-final{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border-rose);
  border-radius:48px;padding:82px 81px;display:grid;grid-template-columns:1fr 330px;gap:64px;
  align-items:center;position:relative;overflow:hidden}
.cta-final::before{content:"";position:absolute;inset:0;
  background:linear-gradient(154deg,rgba(255,177,197,.1),rgba(119,1,208,.1));pointer-events:none}
.cta-final__inner{position:relative}
.cta-final h2{font-family:var(--font-head);font-weight:800;color:var(--text);font-size:72px;
  line-height:1.1;letter-spacing:-1.44px;margin:0 0 24px}
.cta-final h2 .grad-text{font-weight:700}
.cta-final__lead{color:var(--text-rose);font-size:18px;line-height:1.6;margin:0 0 28px;max-width:448px}
.contact-cards{display:flex;flex-direction:column;gap:24px;position:relative}
.contact-card{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border-soft);
  border-radius:16px;padding:17px;display:flex;gap:16px;align-items:center}
.contact-card svg{width:22px;height:22px;color:var(--pink-accent);flex:0 0 22px}
.contact-card__label{color:var(--text-rose);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}
.contact-card__value{color:var(--text);font-size:16px;word-break:break-word}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--footer-bg);border-top:1px solid var(--border-soft);padding:49px 0 48px}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);flex-wrap:wrap}
.footer__logo{height:24px;opacity:.5;filter:grayscale(1)}
.footer__copy{color:var(--text-lav);font-size:16px}
.footer__links{display:flex;gap:24px}
.footer__links a{color:var(--text-rose);font-size:12px;font-weight:600;letter-spacing:.6px}
.footer__links a:hover{color:#fff}

/* =========================================================
   PÁGINAS INTERNAS (Servicios, Nosotros, Contacto, Trabajo)
   ========================================================= */
.page-hero{padding:96px 0 40px;text-align:center;position:relative}
.page-hero h1{font-family:var(--font-head);font-weight:800;color:var(--text);
  font-size:72px;line-height:1.1;letter-spacing:-1.44px;margin:0 auto;max-width:900px}
.page-hero__sub{color:var(--text-rose);font-size:18px;line-height:1.6;max-width:672px;margin:24px auto 0}
.page-hero.left{text-align:left}
.page-hero.left h1,.page-hero.left .page-hero__sub{margin-left:0}

/* Services bento (Servicios) */
.svc-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:8px}
.svc-card{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);
  border-radius:16px;padding:49px;position:relative;overflow:hidden;display:flex;flex-direction:column;
  justify-content:space-between;min-height:320px}
.svc-card.md{padding:33px}
.svc-card .blur-orb{position:absolute;width:256px;height:256px;border-radius:50%;filter:blur(30px);pointer-events:none}
.icon-box{width:64px;height:64px;border-radius:12px;background:#1d1f28;border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;color:var(--pink-accent);margin-bottom:17px}
.icon-box.sm{width:56px;height:56px}
.icon-box svg{width:26px;height:26px}
.svc-card h3{font-family:var(--font-head);font-weight:600;color:var(--text);font-size:32px;margin:0 0 10px}
.svc-card p{color:var(--text-rose);font-size:18px;line-height:1.6;margin:0}
.svc-card.md p{font-size:16px}
.pill-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;position:relative}
.pill-rose{background:rgba(255,177,197,.1);border:1px solid rgba(255,177,197,.2);color:var(--pink-accent);
  border-radius:9999px;padding:9px 17px;font-size:12px;font-weight:600;letter-spacing:.6px}
.pill-dark{background:#33343e;border:1px solid var(--border);color:var(--text);
  border-radius:9999px;padding:9px 17px;font-size:12px;font-weight:600;letter-spacing:.6px}
.check-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px}
.check-list li{color:var(--text);font-size:16px;display:flex;align-items:center;gap:12px}
.check-list li::before{content:"";width:12px;height:12px;border-radius:50%;flex:0 0 12px;
  background:var(--grad-cta);box-shadow:0 0 8px rgba(255,46,136,.6)}
.svc-card.image-bg{justify-content:flex-end;background:linear-gradient(to top,#0c0e16 0%,rgba(12,14,22,.8) 50%,rgba(12,14,22,0) 100%),linear-gradient(135deg,#241a30,#12101a);background-size:cover;background-position:center}

/* Highlight data (números grandes) */
.highlight{background:rgba(25,27,36,.5);backdrop-filter:blur(32px);
  border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);
  padding:120px 0;text-align:center}
.highlight__row{display:flex;gap:96px;align-items:center;justify-content:center;margin-bottom:32px;flex-wrap:wrap}
.num-xl{font-family:var(--font-head);font-weight:800;font-size:72px;letter-spacing:-1.44px;line-height:1;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.num-xl.blue{background:linear-gradient(116deg,#dcb8ff,#b1c5ff);-webkit-background-clip:text;background-clip:text}
.highlight__div{width:1px;height:96px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.2),transparent)}
.highlight__caption{font-family:var(--font-head);font-weight:600;color:var(--text-rose);font-size:32px;line-height:1.3;max-width:768px;margin:0 auto}

/* CTA centrado simple */
.cta-center{text-align:center;padding:0 0 120px}
.cta-center h2{font-family:var(--font-head);font-weight:700;color:var(--text);font-size:48px;letter-spacing:-.48px;margin:0 0 32px}

/* Nosotros — fundador / bento asimétrico */
.founder{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;align-items:stretch}
.founder__photo{border-radius:24px;min-height:380px;background:linear-gradient(150deg,#241a30,#12101a);
  background-size:cover;background-position:center;border:1px solid var(--border-plum)}
.founder__card{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border);
  border-radius:24px;padding:44px;display:flex;flex-direction:column;justify-content:center}
.founder__card .role{color:var(--pink-2);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin:0 0 12px}
.founder__card h3{font-family:var(--font-head);color:var(--text);font-size:32px;margin:0 0 16px}
.founder__card p{color:var(--text-rose);font-size:16px;line-height:1.7;margin:0 0 14px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.value-card{background:var(--card-glass);border:1px solid var(--border);border-radius:20px;padding:32px}
.value-card .vicon{width:44px;height:44px;border-radius:12px;background:#1d1f28;display:flex;align-items:center;
  justify-content:center;color:var(--pink-accent);margin-bottom:18px}
.value-card h4{font-family:var(--font-head);color:var(--text);font-size:20px;margin:0 0 10px}
.value-card p{color:var(--text-muted);font-size:15px;line-height:1.6;margin:0}

/* Contacto */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:8px;align-items:start}
.contact-form{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border);
  border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:18px}
.contact-form label{color:var(--text-rose);font-size:13px;font-weight:600;letter-spacing:.4px;margin-bottom:-8px}
.contact-form input,.contact-form textarea,.contact-form select{
  background:var(--field);border:1px solid var(--border-plum);border-radius:14px;padding:16px;
  color:var(--text);font-size:15px;font-family:inherit;width:100%}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--pink-2)}
.contact-info{display:flex;flex-direction:column;gap:20px}

/* Trabajo — portfolio grid */
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:8px}
.logo-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:8px}
.logo-chip{background:var(--card-glass);border:1px solid var(--border);border-radius:16px;
  min-height:96px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);
  font-family:var(--font-head);font-weight:700;font-size:18px;letter-spacing:.5px}

@media (max-width:1024px){
  .page-hero h1{font-size:56px}
  .founder,.contact-layout{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .highlight__row{gap:48px}
  .num-xl{font-size:56px}
  .logo-wall{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .svc-bento{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .page-hero{padding:56px 0 24px}
  .page-hero h1{font-size:40px}
  .svc-card{padding:32px;min-height:0}
  .highlight{padding:64px 0}
  .highlight__row{flex-direction:column;gap:24px}
  .highlight__div{width:96px;height:1px}
  .num-xl{font-size:48px}
  .cta-center h2{font-size:30px}
  .highlight__caption{font-size:22px}
  .logo-wall{grid-template-columns:repeat(2,1fr)}
  .contact-form,.founder__card{padding:28px}
}

/* Nosotros — stats mini + why + proceso */
.founder-wrap{display:grid;grid-template-columns:5fr 7fr;gap:24px;margin-top:32px;align-items:stretch}
.founder-photo{border-radius:16px;min-height:640px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#2a1f38,#12101a);background-size:cover;background-position:center;
  border:1px solid var(--border)}
.founder-photo__badge{position:absolute;left:24px;right:24px;bottom:24px;display:flex;
  align-items:flex-end;justify-content:space-between;gap:16px}
.founder-photo__badge h3{font-family:var(--font-head);font-weight:600;color:var(--text);font-size:32px;margin:0}
.founder-photo__badge .role{color:var(--pink-accent);font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin:8px 0 0}
.founder-photo__badge .fab{width:48px;height:48px;border-radius:50%;background:rgba(255,74,144,.2);
  backdrop-filter:blur(10px);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 48px}
.founder-col{display:flex;flex-direction:column;gap:32px}
.founder-quote{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border);
  border-radius:16px;padding:49px;position:relative}
.founder-quote p{color:var(--text);font-size:18px;line-height:1.65;font-weight:600;margin:0}
.founder-quote .qmark{position:absolute;top:-14px;left:24px;font-family:Georgia,serif;font-size:90px;
  line-height:1;color:rgba(255,177,197,.25)}
.stat-mini-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-mini{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border);
  border-radius:12px;padding:20px;text-align:center}
.stat-mini .n{font-family:var(--font-head);font-weight:600;font-size:32px;line-height:1.1}
.stat-mini .l{color:var(--text-rose);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin-top:6px}
.why-card{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border-rose);
  border-radius:32px;padding:64px;max-width:896px;margin:0 auto;text-align:center;position:relative;
  box-shadow:0 20px 60px -15px rgba(255,74,144,.1)}
.why-card h2{font-family:var(--font-head);font-weight:700;color:var(--text);font-size:48px;letter-spacing:-.48px;margin:0 0 24px}
.why-card p{color:var(--text-rose);font-size:20px;line-height:1.4;margin:0 0 24px}
.pill-flow{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap}
.pill-flow .chip{background:rgba(29,31,40,.5);border:1px solid var(--border-soft);border-radius:9999px;
  padding:13px 25px;color:var(--text);font-size:16px;font-weight:600;display:flex;align-items:center;gap:12px}
.pill-flow .dot{width:7px;height:8px;border-radius:9999px;background:#33343e}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;margin-top:32px}
.proc-grid::before{content:"";position:absolute;top:64px;left:5%;right:5%;height:1px;
  background:linear-gradient(90deg,transparent,#33343e,transparent)}
.proc-card{background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--border);
  border-radius:16px;padding:33px;text-align:center;position:relative}
.proc-card .circle{width:64px;height:64px;border-radius:50%;background:#11131b;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;margin:0 auto 24px;
  font-family:var(--font-head);font-weight:600;color:var(--text-rose);font-size:32px;box-shadow:0 0 15px rgba(255,255,255,.05)}
.proc-card h3{font-family:var(--font-head);font-weight:600;color:var(--text);font-size:20px;margin:0 0 8px}
.proc-card p{color:var(--text-rose);font-size:14px;line-height:1.45;margin:0}

/* Trabajo — portfolio case grid */
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:8px}
.case-card{position:relative;min-height:320px;border-radius:12px;overflow:hidden;display:flex;
  flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.06);
  box-shadow:0 0 60px 0 rgba(255,74,144,.10);
  background:linear-gradient(160deg,#241a30,#12101a);background-size:cover;background-position:center;
  transition:transform .25s}
.case-card:hover{transform:translateY(-4px)}
.case-card::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,5,8,0) 0%,rgba(5,5,8,.1) 30%,rgba(5,5,8,.6) 50%,rgba(5,5,8,.92) 78%,rgba(5,5,8,.98) 100%)}
.case-card__body{position:relative;padding:27px 24px 24px}
.case-tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.6px;padding:5px 13px;border-radius:9999px;margin-bottom:12px}
.case-tag.rose{background:rgba(255,74,144,.2);border:1px solid rgba(255,74,144,.3);color:#ffd9e1}
.case-tag.purple{background:rgba(119,1,208,.2);border:1px solid rgba(119,1,208,.3);color:#efdbff}
.case-tag.blue{background:rgba(90,140,255,.2);border:1px solid rgba(90,140,255,.3);color:#dae2ff}
.case-tag.gray{background:rgba(51,52,62,.5);border:1px solid var(--border);color:var(--text)}
.case-card__title{font-family:var(--font-head);font-weight:600;color:var(--text);font-size:32px;margin:4px 0 8px}
.case-card__desc{color:var(--text-rose);font-size:16px;margin:0;line-height:1.5}

/* Brands wall */
.brand-wall{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);
  padding:49px 0;text-align:center}
.brand-wall__label{color:var(--text-rose);font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 28px}
.brand-wall__row{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:center;opacity:.8}
.brand-wall__row .b{font-family:var(--font-head);font-weight:700;font-size:22px;color:rgba(226,225,238,.6)}
.brand-wall__row .sep{color:rgba(255,255,255,.2);font-size:20px}

/* Contacto — info + acciones + mapa */
.contact-bento{display:grid;grid-template-columns:5fr 7fr;gap:24px;margin-top:8px;align-items:start}
.info-card{background:var(--card-glass);backdrop-filter:blur(10px);border-radius:16px;padding:33px;
  position:relative;overflow:hidden;box-shadow:0 0 60px 10px rgba(255,74,144,.15)}
.info-card h2{font-family:var(--font-head);font-weight:600;color:var(--text);font-size:32px;margin:0 0 32px}
.info-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.info-item .ic{width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:#1d1f28;border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;color:var(--pink-accent)}
.info-item .lbl{color:var(--text-rose);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin:0 0 4px}
.info-item .val{color:var(--text);font-size:18px;margin:0;word-break:break-word}
.social-row{display:flex;gap:16px;margin-top:24px}
.social-row a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;color:var(--text-rose);transition:background .2s,color .2s}
.social-row a:hover{background:rgba(255,74,144,.2);color:#fff}
.contact-actions{display:flex;flex-direction:column;gap:24px}
.actions-panel{background:linear-gradient(168deg,#191b24,#0c0e16);border-radius:16px;padding:33px;
  display:flex;gap:24px;flex-wrap:wrap}
.btn-grad{flex:1 1 240px;background:var(--grad-cta);border-radius:12px;padding:16px 24px;display:flex;
  align-items:center;justify-content:center;gap:12px;color:#fff;font-weight:700;font-size:16px;text-align:center;
  filter:drop-shadow(0 0 10px rgba(255,74,144,.3));transition:transform .2s}
.btn-grad:hover{transform:translateY(-2px)}
.btn-wa{flex:1 1 240px;background:#282a32;border:1px solid var(--border);border-radius:12px;padding:16px 24px;
  display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text);font-weight:700;font-size:16px;transition:background .2s}
.btn-wa:hover{background:#33353f}
.btn-grad svg,.btn-wa svg{width:20px;height:20px;flex:0 0 20px}
.map-radar{background:#0c0e16;border:1px solid var(--border);border-radius:16px;height:300px;position:relative;overflow:hidden;
  background-image:radial-gradient(circle at 50% 50%,rgba(255,74,144,.08),transparent 60%)}
.map-radar::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);
  border-radius:50%;background:var(--pink-accent);box-shadow:0 0 15px var(--pink-accent)}
.map-radar .ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;
  border:1px solid var(--pink-accent);animation:radar 3s ease-out infinite}
.map-radar .ring.r1{width:64px;height:64px;opacity:.75}
.map-radar .ring.r2{width:128px;height:128px;opacity:.3;animation-delay:.6s}
@keyframes radar{0%{transform:translate(-50%,-50%) scale(.4);opacity:.8}100%{transform:translate(-50%,-50%) scale(1.6);opacity:0}}

@media (max-width:1024px){
  .founder-wrap,.contact-bento{grid-template-columns:1fr}
  .founder-photo{min-height:380px}
  .stat-mini-row{grid-template-columns:repeat(2,1fr)}
  .proc-grid{grid-template-columns:repeat(2,1fr)}
  .proc-grid::before{display:none}
  .why-card h2{font-size:36px}
}
@media (max-width:820px){
  .case-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .founder-quote,.why-card,.info-card,.actions-panel{padding:28px}
  .why-card h2{font-size:28px}
  .why-card p{font-size:16px}
  .stat-mini-row{grid-template-columns:repeat(2,1fr)}
  .proc-grid{grid-template-columns:1fr}
  .case-card__title{font-size:26px}
}

/* =========================================================
   CASE STUDIES (layout propio, panel #191b24)
   ========================================================= */
.cs{background:#191b24;color:#f2f2f7}
.cs .cs-wrap{max-width:1180px;margin:0 auto;padding:0 72px}
.cs-nav{display:flex;align-items:center;justify-content:space-between;padding:40px 72px 0;max-width:1180px;margin:0 auto}
.cs-nav .brand{font-family:var(--font-head);font-weight:600;color:#f2f2f7;font-size:26px}
.cs-nav .back{color:#a8abb8;font-size:11px;font-weight:600;letter-spacing:.5px}
.cs-nav .back:hover{color:#f2f2f7}
.cs-section{padding:64px 0}
.cs-eyebrow{color:#33c7e0;font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase;margin:0 0 20px}
.cs-eyebrow.pink{color:#ff2994}
.cs-kicker{color:#e2e1ee;font-weight:600;font-size:12px;letter-spacing:.5px;margin:0 0 20px}
.cs h1{font-family:var(--font-head);font-weight:600;color:#f2f2f7;font-size:72px;line-height:1.05;margin:0 0 24px}
.cs-lead{font-family:var(--font-head);color:#a8abb8;font-size:24px;line-height:1.4;margin:0 0 32px;max-width:900px}
.cs-meta{background:#282a32;border-radius:18px;padding:20px;display:flex;gap:40px;flex-wrap:wrap;margin-bottom:32px}
.cs-meta__item{flex:1 1 160px}
.cs-meta__item .k{color:#ff2994;font-size:10px;font-weight:600;letter-spacing:.5px;margin:0 0 6px}
.cs-meta__item .v{color:#f2f2f7;font-size:14px;font-weight:600;margin:0}
.cs-hero-img{border:1px solid #e2e1ee;border-radius:24px;width:100%;aspect-ratio:16/9;object-fit:cover;
  background:linear-gradient(135deg,#2a2d38,#191b24);background-size:cover;background-position:center;display:block}
.cs-h2{font-family:var(--font-head);font-weight:600;color:#f2f2f7;font-size:46px;line-height:1.15;margin:0 0 24px}
.cs-h2.sm{font-size:36px}
.cs-black{font-family:var(--font-body);font-weight:900;color:#e2e1ee;font-size:36px;margin:0 0 24px;letter-spacing:.5px}
.cs-para{font-family:var(--font-head);color:#a8abb8;font-size:19px;line-height:1.5;margin:0 0 32px;max-width:960px}
.cs-para.sm{font-size:17px;font-family:var(--font-body)}
.cs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.cs-card{background:#282a32;border-radius:18px;padding:24px 22px}
.cs-card .lbl{color:#33c7e0;font-size:11px;font-weight:600;margin:0 0 12px;letter-spacing:.4px}
.cs-card p{color:#f2f2f7;font-size:17px;line-height:1.45;margin:0}
.cs-solution{background:rgba(255,255,255,.11);border-radius:22px;padding:64px 40px}
.cs-deliverables{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#191b24;border-radius:18px;padding:0}
.cs-deliverables .d{background:#191b24;border-radius:12px;padding:14px 16px;color:#f2f2f7;font-size:13px;font-weight:600}
.cs-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:8px}
.cs-gallery .g{border:1px solid #e2e1ee;border-radius:18px;height:227px;
  background:linear-gradient(135deg,#2a2d38,#12101a);background-size:cover;background-position:center}
.cs-web{background:#12131a;border-radius:22px;padding:54px 38px;margin-top:24px}
.cs-web-img{border-radius:24px;width:100%;min-height:420px;margin-top:18px;
  background:linear-gradient(135deg,#22242e,#12131a);background-size:cover;background-position:top center}
.cs-cta-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.cs-btn{padding:18px 26px;border-radius:28px;font-size:12px;font-weight:600;letter-spacing:.4px;color:#fff;display:inline-flex;align-items:center;gap:8px}
.cs-deliverables-wrap{margin-top:12px}
@media (max-width:900px){
  .cs-nav,.cs .cs-wrap{padding-left:32px;padding-right:32px}
  .cs h1{font-size:48px}
  .cs-h2{font-size:34px}
  .cs-lead{font-size:20px}
  .cs-cards,.cs-gallery,.cs-deliverables{grid-template-columns:1fr}
  .cs-solution{padding:40px 28px}
}
@media (max-width:600px){
  .cs-nav,.cs .cs-wrap{padding-left:20px;padding-right:20px}
  .cs h1{font-size:36px}
  .cs-h2,.cs-black{font-size:28px}
  .cs-lead{font-size:18px}
  .cs-meta{gap:20px}
  .cs-web{padding:32px 22px}
}

/* =========================================================
   DIAGNÓSTICO (herramienta interactiva)
   ========================================================= */
body.diag-body{background:#191b24}
.diag-top{border-bottom:1px solid #2a2c36;position:sticky;top:0;z-index:40;background:rgba(25,27,36,.9);backdrop-filter:blur(10px)}
.diag-top__inner{max-width:1180px;margin:0 auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.diag-top .brand{font-family:var(--font-head);font-weight:800;color:#fff;font-size:24px;letter-spacing:-1px}
.diag-top .close{color:#adadb8;font-size:13px}
.diag-top .close:hover{color:#fff}
.diag-progress{max-width:1180px;margin:0 auto;padding:16px 40px 0}
.diag-progress__bar{height:6px;background:#2a2c36;border-radius:9999px;overflow:hidden}
.diag-progress__fill{height:100%;background:linear-gradient(90deg,#c7147a,#ff2994);border-radius:9999px;transition:width .4s ease;width:33%}
.diag-progress__label{color:#adadb8;font-size:12px;font-weight:600;letter-spacing:.5px;margin:10px 0 0;text-transform:uppercase}
.diag-wrap{max-width:1180px;margin:0 auto;padding:40px}
.diag-step{display:none}
.diag-step.active{display:block;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.diag-h{font-family:var(--font-head);font-weight:600;color:#f5f2f0;font-size:44px;line-height:1.2;margin:0 0 16px}
.diag-sub{color:#adadb8;font-size:17px;line-height:1.4;margin:0 0 28px;max-width:1080px}
.diag-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}
.diag-option{background:#131318;border:1px solid #33333d;border-radius:16px;padding:18px;cursor:pointer;transition:border-color .2s,background .2s;text-align:left}
.diag-option:hover{border-color:#c7147a}
.diag-option.selected{border-color:#ff2994;background:#1d1424}
.diag-option h4{font-family:var(--font-head);color:#f5f2f0;font-size:17px;margin:0 0 7px}
.diag-option p{color:#adadb8;font-size:13px;margin:0}
.diag-q{background:#131318;border-radius:16px;padding:16px 18px;margin-bottom:16px}
.diag-q__t{font-family:var(--font-head);font-weight:600;color:#f5f2f0;font-size:15px;margin:0 0 12px}
.diag-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.diag-scale button{background:#09090b;border:1px solid transparent;color:#adadb8;border-radius:14px;padding:11px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.diag-scale button:hover{border-color:#54324a}
.diag-scale button.on{background:#c7147a;color:#f5f2f0}
.diag-note{background:#c7147a;color:#f5f2f0;border-radius:16px;padding:14px 16px;margin:8px 0 24px}
.diag-note .k{font-size:10px;font-weight:700;letter-spacing:.5px;margin:0 0 6px}
.diag-note p{font-size:13px;margin:0}
.diag-field{margin-bottom:18px}
.diag-field label{display:block;color:#adadb8;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin:0 0 7px}
.diag-field input{width:100%;background:#131318;border:1px solid #33333d;border-radius:16px;padding:14px 16px;color:#f5f2f0;font-size:14px;font-family:inherit}
.diag-field input::placeholder{color:#6e6e78}
.diag-field input:focus{outline:none;border-color:#c7147a}
.diag-consent{background:#131318;border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;margin-bottom:24px}
.diag-consent input{width:22px;height:22px;accent-color:#c7147a;flex:0 0 22px;margin-top:1px}
.diag-consent label{color:#adadb8;font-size:12px;line-height:1.4}
.diag-btn{background:#c7147a;color:#f5f2f0;border:0;cursor:pointer;border-radius:16px;padding:15px 24px;font-size:12px;font-weight:600;letter-spacing:.4px;font-family:inherit;transition:background .2s,transform .2s;display:inline-flex;align-items:center;gap:8px}
.diag-btn:hover{background:#e0198c;transform:translateY(-1px)}
.diag-btn.ghost{background:transparent;border:1px solid #33333d;color:#adadb8}
.diag-btn.ghost:hover{border-color:#54324a;color:#f5f2f0;background:transparent}
.diag-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}
.diag-fineprint{color:#adadb8;font-size:11px;margin:16px 0 0}
/* Resultado */
.res-eyebrow{color:#ff2994;font-weight:600;font-size:12px;letter-spacing:.5px;margin:0 0 14px}
.res-h{font-family:var(--font-head);font-weight:600;color:#f0edf7;font-size:48px;line-height:1.12;margin:0 0 14px}
.res-lead{font-family:var(--font-head);color:#ada8c2;font-size:19px;line-height:1.45;margin:0 0 32px}
.score-summary{background:#181424;border-radius:24px;padding:24px;display:flex;gap:24px;align-items:center;margin-bottom:24px;flex-wrap:wrap}
.score-ring{width:180px;height:180px;flex:0 0 180px;position:relative}
.score-ring svg{transform:rotate(-90deg)}
.score-ring .val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.score-ring .val b{font-family:var(--font-head);font-weight:700;color:#f0edf7;font-size:40px;line-height:1}
.score-ring .val span{color:#ada8c2;font-size:12px;margin-top:2px}
.score-copy{flex:1 1 300px}
.score-copy .big{font-family:var(--font-head);font-weight:600;color:#f0edf7;font-size:48px;margin:0 0 10px}
.score-copy .state{color:#ff4fa8;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 10px}
.score-copy p{color:#ada8c2;font-size:17px;line-height:1.45;margin:0}
.priority-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.priority-card{background:#181424;border-radius:18px;padding:22px 20px}
.priority-card .n{color:#ff2994;font-size:13px;font-weight:600;margin:0 0 12px}
.priority-card h4{font-family:var(--font-head);color:#f0edf7;font-size:20px;margin:0 0 12px}
.priority-card p{color:#ada8c2;font-size:14px;line-height:1.45;margin:0}
.bands{background:#121217;border:1px solid #33313a;border-radius:16px;padding:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.band{background:#08080b;border-radius:12px;padding:14px}
.band .lab{display:flex;gap:8px;align-items:baseline;margin-bottom:5px}
.band .rng{font-weight:700;font-size:14px}
.band .st{color:#f6f3f1;font-size:11px;font-weight:600}
.band p{color:#aaa6b0;font-size:12px;margin:0}
.band.active{outline:2px solid #ff2994;outline-offset:1px}
.diag-cta{background:#1c1226;border:1px solid #542e61;border-radius:22px;padding:28px}
.diag-cta h3{font-family:var(--font-head);font-weight:600;color:#f0edf7;font-size:30px;margin:0 0 16px}
.diag-cta p{color:#ada8c2;font-size:17px;line-height:1.45;margin:0 0 20px;max-width:760px}
.diag-cta a{background:#ff2994;color:#fff;border-radius:30px;padding:18px 26px;font-size:12px;font-weight:600;letter-spacing:.4px;display:inline-block}
.diag-cta a:hover{background:#ff45a5}
@media (max-width:820px){
  .diag-top__inner,.diag-progress,.diag-wrap{padding-left:20px;padding-right:20px}
  .diag-options{grid-template-columns:1fr}
  .diag-h{font-size:32px}
  .res-h{font-size:34px}
  .priority-cards,.bands{grid-template-columns:1fr}
  .score-copy .big{font-size:38px}
}

/* =========================================================
   Video lightbox (testimonio)
   ========================================================= */
.testimonial__video.js-video{cursor:pointer}
.video-lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,7,12,.92);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;padding:24px}
.video-lightbox.open{display:flex}
.video-lightbox__frame{position:relative;width:min(420px,92vw);aspect-ratio:9/16;max-height:88vh;
  border-radius:18px;overflow:hidden;box-shadow:0 20px 70px rgba(255,46,136,.3);background:#000}
.video-lightbox__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-lightbox__close{position:absolute;top:20px;right:24px;background:rgba(255,255,255,.1);
  border:1px solid var(--border);color:#fff;width:44px;height:44px;border-radius:50%;
  font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.video-lightbox__close:hover{background:rgba(255,46,136,.35)}

/* =========================================================
   Mobile menu overlay
   ========================================================= */
.mobile-menu{position:fixed;inset:0;z-index:60;background:rgba(10,11,18,.97);backdrop-filter:blur(12px);
  display:flex;flex-direction:column;padding:24px var(--pad);transform:translateX(100%);
  transition:transform .3s ease;visibility:hidden}
.mobile-menu.open{transform:translateX(0);visibility:visible}
.mobile-menu__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}
.mobile-menu__close{background:none;border:0;color:var(--text);font-size:32px;cursor:pointer;line-height:1}
.mobile-menu a{color:var(--text);font-family:var(--font-head);font-size:28px;padding:14px 0;border-bottom:1px solid var(--border-soft)}
.mobile-menu .btn-cta{margin-top:32px;justify-content:center;padding:16px}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
  :root{--pad:40px}
  .hero h1{font-size:60px}
  .cta-final h2{font-size:60px}
  .section-title,.h2{font-size:38px}
  .testimonial{grid-template-columns:1fr;gap:32px}
  .testimonial__video{min-height:320px}
  .leadmagnet{grid-template-columns:1fr;gap:40px}
  .cta-final{grid-template-columns:1fr;gap:40px;padding:56px 40px}
  .bento-card h3{font-size:28px}
}
@media (max-width:820px){
  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:flex}
  .grid-3,.work-grid,.manual-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr;gap:20px}
  .col-8,.col-4,.col-5,.col-7{grid-column:auto}
  .process{grid-template-columns:repeat(2,1fr);gap:32px 24px}
  .process::before{display:none}
  .stats{grid-template-columns:repeat(2,1fr);gap:8px}
  .stat:nth-child(3)::before,.stat:nth-child(2)::before{content:none}
}
@media (max-width:600px){
  :root{--pad:20px}
  .hero{padding:48px 0 24px}
  .hero h1{font-size:44px;letter-spacing:-1px}
  .hero__lead{font-size:16px}
  .section{padding:56px 0}
  .section-title,.h2{font-size:30px}
  .cta-final h2{font-size:44px}
  .cta-final{padding:40px 24px;border-radius:32px}
  .stats{grid-template-columns:1fr;padding:20px}
  .stat::before{content:none!important}
  .process{grid-template-columns:1fr}
  .work-card__title,.testimonial__quote{font-size:24px}
  .leadmagnet{padding:32px 24px}
  .leadmagnet h2{font-size:28px}
  .testimonial{padding:28px}
  .footer__inner{flex-direction:column;text-align:center;gap:16px}
}
