/* =========================================================================
   ADUAN CONSULTING — Landing (versión PREMIUM)
   "Una consultora top no grita: ordena el aire, fija un solo gesto de marca
   (la órbita AC) y deja que la precisión hable."
   Marca: navy + cyan + swoosh. Cyan = puntuación, no fondo.
   ========================================================================= */

:root{
  /* Navy */
  --navy-950:#051A2E; --navy-900:#08263F; --navy-800:#0B3157; --navy-700:#114A77;
  /* Cyan (acento — nunca texto pequeño sobre blanco) */
  --cyan-600:#0E93C6; --cyan-500:#11A8DD; --cyan-400:#34C0EE; --cyan-300:#8FDBF4;
  /* Neutros */
  --white:#FFFFFF; --gray-50:#F4F8FB; --gray-100:#E7EFF6; --gray-200:#D5E1EC;
  --gray-400:#8595A6; --gray-500:#566676; --ink:#122031;

  /* Tipografía */
  --font-display:"Plus Jakarta Sans", system-ui, sans-serif;
  --font-body:"Inter", system-ui, sans-serif;
  --fs-kicker:.8125rem;
  --fs-small:clamp(.875rem,.84rem + .18vw,.9375rem);
  --fs-body:clamp(1rem,.95rem + .25vw,1.125rem);
  --fs-lead:clamp(1.1875rem,1.08rem + .5vw,1.4375rem);
  --fs-h3:clamp(1.25rem,1.13rem + .6vw,1.5rem);
  --fs-h2:clamp(2rem,1.5rem + 2.1vw,3rem);
  --fs-h1:clamp(2.5rem,1.65rem + 3.9vw,4.5rem);
  --fs-stat:clamp(2.75rem,2rem + 3vw,3.75rem);

  /* Espaciado */
  --section-py:clamp(5rem,4rem + 6vw,9rem);
  --section-py-hero:clamp(6.5rem,5.5rem + 5vw,10rem);
  --container:1200px;
  --container-narrow:760px;
  --gutter:clamp(1.25rem,.6rem + 3vw,2.5rem);

  /* Radios */
  --radius:16px; --radius-sm:12px; --radius-lg:24px; --radius-pill:999px;

  /* Sombras (tintadas en navy) */
  --sh-xs:0 1px 2px rgba(5,26,46,.06);
  --sh-sm:0 1px 2px rgba(5,26,46,.06),0 2px 6px rgba(5,26,46,.05);
  --sh-md:0 2px 4px rgba(5,26,46,.05),0 8px 20px rgba(5,26,46,.08);
  --sh-lg:0 4px 8px rgba(5,26,46,.06),0 18px 40px rgba(5,26,46,.11);
  --sh-card:0 1px 3px rgba(8,38,63,.05),0 12px 28px -8px rgba(8,38,63,.12);
  --sh-form:0 2px 6px rgba(5,26,46,.10),0 30px 60px -20px rgba(5,26,46,.42);

  /* Degradados */
  --grad-hero:linear-gradient(155deg,#0A2B47 0%,#08263F 46%,#051A2E 100%);
  --grad-navy:linear-gradient(180deg,#08263F 0%,#051A2E 100%);
  --grad-footer:linear-gradient(180deg,#051A2E 0%,#03121F 100%);
  --grad-cyan:linear-gradient(135deg,#34C0EE 0%,#11A8DD 50%,#0E93C6 100%);
  --glow-cyan:radial-gradient(60% 60% at 50% 0%,rgba(17,168,221,.20) 0%,rgba(17,168,221,0) 70%);

  /* Hairlines */
  --rule:rgba(18,32,49,.09);
  --rule-on-navy:rgba(143,219,244,.16);

  /* Movimiento */
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-inout:cubic-bezier(.65,0,.35,1);
  --dur-fast:180ms; --dur:280ms; --dur-slow:600ms;

  --nav-h:76px;
}

/* Grano (un solo data-URI, solo bandas navy) */
.hero::after,.section--navy::after,.footer::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;font-family:var(--font-body);color:var(--ink);background:var(--white);
  line-height:1.65;font-size:var(--fs-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"ss01";font-optical-sizing:auto;overflow-x:hidden;
}
img,svg,picture{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;color:var(--navy-800);font-weight:700}
h1,h2{text-wrap:balance}
p{margin:0;text-wrap:pretty}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--cyan-400);outline-offset:3px;border-radius:6px}

.skip-link{position:absolute;left:-999px;top:0;background:var(--navy-800);color:#fff;padding:.7rem 1rem;z-index:1000;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

.shell{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Secciones / ritmo ---------- */
.section{padding-block:var(--section-py);position:relative}
.section--soft{background:var(--gray-50)}
.section--navy{background:var(--grad-navy);color:#eaf3fa}
.section--navy .shell{position:relative;z-index:2}
.section__head{max-width:var(--container-narrow);margin-bottom:clamp(2.5rem,4vw,4rem)}
.section__title{font-size:var(--fs-h2);letter-spacing:-.018em;line-height:1.1}
.section__title--light{color:#fff}
.section__lead{margin-top:var(--sp-4,1rem);color:var(--gray-500);font-size:var(--fs-lead);font-weight:400;line-height:1.5;max-width:62ch}
.section__lead--light{color:#bcd4e6}
.section__lead--muted em{color:var(--gray-400);font-style:italic}

/* ---------- Kicker (regla cyan + label) ---------- */
.kicker{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--font-body);font-weight:600;font-size:var(--fs-kicker);letter-spacing:.16em;
  text-transform:uppercase;color:var(--navy-700);margin:0 0 1rem;line-height:1;
}
.kicker::before{content:"";width:24px;height:1px;background:var(--cyan-500)}
.kicker--light{color:var(--cyan-300)}
.kicker--light::before{background:var(--cyan-400)}

.hl{color:var(--cyan-600)}
.section--navy .hl,.hero .hl{color:var(--cyan-300)}

/* =========================================================================
   BUTTONS
   ========================================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  background:var(--navy-800);color:#fff;font-family:var(--font-body);font-weight:600;letter-spacing:.01em;
  font-size:.97rem;line-height:1;padding:.95rem 1.6rem;border:0;border-radius:var(--radius-pill);
  min-height:50px;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
  text-align:center;
}
.btn .ico{flex:0 0 auto}
.btn--sm{min-height:42px;padding:.6rem 1.15rem;font-size:.9rem}
.btn--lg{min-height:58px;padding:1.1rem 2rem;font-size:1.05rem}
.btn--block{display:flex;width:100%}
.btn--primary{background:var(--grad-cyan);color:#06243B;box-shadow:0 6px 18px rgba(17,168,221,.30)}
.btn--primary:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 12px 28px rgba(17,168,221,.4)}
.btn--primary:active{transform:translateY(0)}
.btn--wa{background:var(--navy-800);color:#fff}
.btn--wa .ico{color:var(--cyan-400)}
.btn--wa:hover{transform:translateY(-2px);background:var(--navy-700);box-shadow:var(--sh-md)}
.btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1px #fff;background:rgba(255,255,255,.08)}

/* =========================================================================
   NAV
   ========================================================================= */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);display:flex;align-items:center;
  transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),backdrop-filter var(--dur)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}
.nav__brand{display:flex;align-items:center}
.nav__logo-pill{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:6px 10px;box-shadow:0 4px 16px rgba(5,26,46,.20)}
.nav__logo{height:56px;width:auto}
.nav__actions{display:flex;align-items:center;gap:.6rem}
.nav.is-stuck{background:rgba(8,38,63,.82);backdrop-filter:saturate(150%) blur(12px);box-shadow:0 1px 0 var(--rule-on-navy),0 12px 30px rgba(5,26,46,.18)}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{position:relative;display:flex;align-items:center;overflow:hidden;
  padding-top:calc(var(--nav-h) + 2.4rem);padding-bottom:clamp(3rem,5vw,5rem);
  background:var(--grad-hero);color:#fff}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:75% center;
  filter:saturate(1.08) contrast(1.02) brightness(.92);opacity:.58;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 48%);mask-image:linear-gradient(90deg,transparent 0%,#000 48%)}
.hero__veil{position:absolute;inset:0;
  background:var(--glow-cyan),linear-gradient(100deg,rgba(5,26,46,.94) 0%,rgba(5,26,46,.74) 46%,rgba(5,26,46,.30) 100%)}
.hero__inner{position:relative;z-index:2;width:100%;display:grid;gap:clamp(1.8rem,4vw,2.8rem);align-items:center;grid-template-columns:1fr;grid-template-areas:"lead" "form" "points"}
.hero__lead{grid-area:lead}
.hero__form{grid-area:form}
.hero__points{grid-area:points}
.hero__content{max-width:none}
.hero__title{font-size:var(--fs-h1);color:#fff;letter-spacing:-.022em;line-height:1.04;font-weight:700;transition:opacity var(--dur-slow) var(--ease)}
.hero__title--out{opacity:0}
.hero__sub{margin-top:1.3rem;font-size:var(--fs-lead);color:#cfe0ee;max-width:40ch;line-height:1.5}
.hero__sub strong{color:#fff;font-weight:600}
.hero__bullets{display:grid;gap:.7rem;margin:1.6rem 0 0;max-width:42ch}
.hero__bullets li{position:relative;padding-left:1.9rem;color:#cfe0ee;font-size:1.05rem}
.hero__bullets li::before{content:"";position:absolute;left:0;top:.45em;width:1rem;height:1rem;border-radius:50%;
  background:rgba(17,168,221,.16);box-shadow:0 0 0 1px rgba(143,219,244,.3) inset}
.hero__bullets li::after{content:"";position:absolute;left:.32rem;top:.5em;width:.32rem;height:.6rem;
  border-right:2px solid var(--cyan-300);border-bottom:2px solid var(--cyan-300);transform:rotate(45deg)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero__micro{margin-top:1rem;font-size:.9375rem;color:#cfe0ee;letter-spacing:.01em}

/* Arco firma */
.hero__arc{position:absolute;z-index:1;right:-8%;top:50%;transform:translateY(-50%);width:min(54vw,620px);height:auto;opacity:.5;pointer-events:none}
.hero__arc-path{stroke-width:2;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 1.6s var(--ease) .3s forwards}
.hero__arc-tip{display:none}
.hero__arc-dot{opacity:0;animation:dotIn .5s ease 1.55s forwards;filter:drop-shadow(0 0 7px rgba(17,168,221,.7))}
@keyframes dotIn{to{opacity:1}}
.process{overflow:hidden}
.process__arc{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
@keyframes draw{to{stroke-dashoffset:0}}
@media(max-width:880px){.hero__arc{opacity:.22;right:-26%;width:92vw}}

/* Form card del hero */
.hero__form{width:100%}
.cform{background:#fff;border-radius:var(--radius-lg);padding:clamp(1.6rem,1.3rem + 1.4vw,2.4rem);
  box-shadow:var(--sh-form);border:1px solid rgba(255,255,255,.6);position:relative;overflow:hidden}
.cform__title{font-family:var(--font-display);font-weight:700;color:var(--navy-800);font-size:var(--fs-h3);letter-spacing:-.01em;margin-bottom:1.3rem}
.cform__row{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.cform label{font-weight:600;font-size:.85rem;color:var(--navy-800)}
.cform .opt{color:var(--gray-400);font-weight:400}
.cform input,.cform select,.cform textarea{
  width:100%;min-height:52px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:.8rem .9rem;
  font:inherit;font-size:16px;color:var(--ink);background:var(--gray-50);transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background var(--dur-fast)}
.cform textarea{min-height:auto;resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:0;border-color:var(--cyan-500);background:#fff;box-shadow:0 0 0 3px rgba(17,168,221,.18)}
.cform .btn{margin-top:.5rem}
.cform__note{margin-top:.85rem;font-size:.875rem;color:var(--gray-500);text-align:center}
.cform__status{margin-top:.9rem;padding:.85rem 1rem;border-radius:var(--radius-sm);font-size:.92rem;font-weight:600}
.cform__status.ok{background:rgba(17,168,221,.12);color:var(--navy-800);border:1px solid var(--cyan-300)}
.cform__status.err{background:#fdeaea;color:#a3261f;border:1px solid #f3c6c2}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

@media(min-width:980px){
  .hero{min-height:100svh;padding-top:calc(var(--nav-h) + 3rem)}
  .hero__inner{grid-template-columns:1.05fr .95fr;column-gap:clamp(2.5rem,4vw,4rem);row-gap:1.6rem;align-items:start;grid-template-areas:"lead form" "points form"}
}

/* =========================================================================
   TRUST BAR
   ========================================================================= */
.trust{background:#fff;border-bottom:1px solid var(--rule);padding-block:3rem}
.trust__lead{text-align:center;color:var(--gray-500);font-weight:600;font-size:1.15rem;letter-spacing:.02em;margin-bottom:1.5rem}
.trust__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 16px}
.chip{display:inline-flex;align-items:center;font-family:var(--font-body);font-weight:600;font-size:1rem;
  color:var(--gray-500);letter-spacing:.02em;padding:.65rem 1.3rem;border:1px solid var(--rule);border-radius:var(--radius-pill);background:#fff}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan-500);margin-right:.55rem;opacity:.8}

/* =========================================================================
   PROBLEMA
   ========================================================================= */
.problem__grid{display:grid;gap:clamp(2rem,4vw,3.5rem)}
.section__lead{}
.painlist{margin-top:1.8rem;display:grid;gap:1.1rem;max-width:62ch}
.painlist li{display:flex;gap:1rem;align-items:flex-start}
.painlist__ico{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--gray-50);color:var(--navy-700);border:1px solid var(--rule)}
.painlist strong{color:var(--navy-800)}
.problem__media{margin:0;display:grid;gap:1rem}
.problem__image{position:relative}
.problem__image picture{display:block}
.problem__media img{display:block;border-radius:var(--radius);box-shadow:var(--sh-card);width:100%;height:auto;object-fit:cover;filter:saturate(1.04) contrast(1.01)}
.problem__tag{position:absolute;left:16px;bottom:16px;right:16px;margin:0;background:rgba(8,38,63,.88);color:#eaf3fa;backdrop-filter:blur(4px);font-size:.9rem;font-weight:600;padding:.7rem 1rem;border-radius:var(--radius-sm);border-left:2px solid var(--cyan-500)}
.problem__proof{position:relative;overflow:hidden;border:1px solid var(--rule);border-radius:var(--radius);background:linear-gradient(180deg,#fff,var(--gray-50));box-shadow:var(--sh-sm);padding:clamp(1rem,.85rem + .8vw,1.35rem)}
.problem__proof::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--grad-cyan)}
.problem__proof-title{font-family:var(--font-display);font-size:clamp(1rem,.94rem + .3vw,1.12rem);line-height:1.35;font-weight:700;letter-spacing:-.01em;color:var(--navy-800);margin:0}
.problem__proof-list{list-style:none;margin:.85rem 0 1rem;padding:0;display:grid;gap:.55rem}
.problem__proof-list li{position:relative;padding-left:1.15rem;color:var(--gray-500);font-size:.95rem;line-height:1.45}
.problem__proof-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--cyan-500);box-shadow:0 0 0 3px rgba(17,168,221,.1)}
.problem__proof-cta{display:inline-flex;align-items:center;gap:.4rem;color:var(--navy-800);font-family:var(--font-body);font-size:.95rem;font-weight:700}
.problem__proof-cta::after{content:"→";color:var(--cyan-600);transition:transform var(--dur) var(--ease)}
.problem__proof-cta:hover::after{transform:translateX(4px)}
@media(min-width:880px){.problem__grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:clamp(3rem,5vw,5rem)}}

/* =========================================================================
   PROCESO
   ========================================================================= */
.process .section__head{margin-inline:auto;text-align:center}
.process .kicker{justify-content:center}
.steps{position:relative;display:grid;gap:1.6rem;counter-reset:s}
.steps__line{display:none}
.step{position:relative;padding:.2rem .4rem}
.step__num{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;
  font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:#06243B;
  background:var(--grad-cyan);margin-bottom:.9rem;box-shadow:0 6px 16px rgba(17,168,221,.4)}
.step__title{color:#fff;font-size:var(--fs-h3);margin-bottom:.4rem;font-weight:600;letter-spacing:-.01em}
.step p{color:rgba(255,255,255,.78);font-size:1rem}
@media(min-width:768px){
  .steps{grid-template-columns:repeat(4,1fr);gap:1.4rem;padding-top:.8rem}
  .steps__line{display:block;position:absolute;top:38px;left:7%;width:86%;height:8px;z-index:0}
  .steps__line path{stroke-dashoffset:1000;transition:stroke-dashoffset 1.3s var(--ease-inout)}
  .steps.is-visible .steps__line path{stroke-dashoffset:0}
  .step{text-align:center}
  .step__num{margin-inline:auto;position:relative;z-index:1}
}

/* =========================================================================
   SERVICIOS
   ========================================================================= */
.services__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,2vw,28px);counter-reset:svc}
.scard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:2rem;box-shadow:var(--sh-sm);counter-increment:svc;flex:1 1 100%;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.scard__num{font-family:var(--font-display);font-weight:600;font-size:.85rem;letter-spacing:.1em;color:var(--gray-500);font-variant-numeric:tabular-nums;margin-bottom:1rem}
.scard__num::before{content:"0" counter(svc)}
.scard__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-sm);color:var(--navy-800);background:var(--gray-50);border:1px solid var(--rule);margin-bottom:1.1rem;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}
.scard__title{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.011em;color:var(--navy-800)}
.scard__title + .scard__rule,.scard__rule{display:block;height:1px;width:32px;background:var(--cyan-500);margin:.7rem 0 .9rem;transition:width var(--dur) var(--ease)}
.scard__promise{color:var(--navy-700);font-weight:500;margin-bottom:1rem}
.scard__list{display:grid;gap:.5rem;margin-bottom:1.4rem}
.scard__list li{position:relative;padding-left:1.4rem;color:var(--gray-500);font-size:.95rem}
.scard__list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--cyan-500);opacity:.7}
.scard__cta{margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;color:var(--navy-800);font-family:var(--font-body);font-weight:600;font-size:.95rem;align-self:flex-start}
.scard__cta::after{content:"→";transition:transform var(--dur) var(--ease);color:var(--cyan-600)}
.scard__cta:hover::after{transform:translateX(4px)}
.scard:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:rgba(17,168,221,.35)}
.scard:hover .scard__rule{width:48px}
.scard:hover .scard__ico{color:var(--cyan-500);background:rgba(17,168,221,.08)}
.scard--featured{background:linear-gradient(180deg,#fff,var(--gray-50));box-shadow:var(--sh-md)}
.scard--featured::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad-cyan);border-radius:var(--radius) var(--radius) 0 0}
.scard__badge{position:absolute;top:1rem;right:1rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan-600);background:rgba(17,168,221,.1);padding:.3rem .6rem;border-radius:var(--radius-pill)}
@media(min-width:640px){.scard{flex:1 1 calc(50% - 16px);max-width:calc(50% - 16px)}}
@media(min-width:1000px){.scard{flex:1 1 calc(33.333% - 20px);max-width:calc(33.333% - 20px)}}

/* =========================================================================
   POR QUÉ / STATS
   ========================================================================= */
.why__grid{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.why__intro .btn{margin-top:1.6rem}
.why__list{display:grid;gap:2rem 2.4rem}
.why__item{}
.why__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-sm);color:var(--navy-800);background:rgba(17,168,221,.1);margin-bottom:.9rem}
.why__item h3{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.01em;margin-bottom:.3rem}
.why__item p{color:var(--gray-500);font-size:.98rem}
@media(min-width:640px){.why__list{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.why__grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(3rem,5vw,5rem)}}

.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:clamp(3rem,5vw,4.5rem);border-top:1px solid var(--rule)}
.stats li{padding:1.8rem 1rem;text-align:center;border-bottom:1px solid var(--rule)}
.stats__num{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--fs-stat);color:var(--navy-800);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stats__lbl{display:block;margin-top:.5rem;font-size:.9rem;color:var(--gray-500)}
.stats__lbl em{color:var(--gray-500);font-style:italic;font-size:.8rem}
@media(min-width:768px){
  .stats{grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule)}
  .stats li{border-bottom:0;border-right:1px solid var(--rule)}
  .stats li:last-child{border-right:0}
}

/* =========================================================================
   CASOS / TESTIMONIOS
   ========================================================================= */
.cases__grid{display:grid;gap:clamp(20px,2vw,28px)}
.tcard{position:relative;background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:2.4rem 1.8rem 1.8rem;margin:0;box-shadow:var(--sh-sm)}
.tcard__quote{position:absolute;top:.4rem;left:1.2rem;font-family:var(--font-display);font-size:3.4rem;color:var(--cyan-300);line-height:1}
.tcard blockquote{margin:0 0 1.2rem;color:var(--ink);font-size:1.05rem;line-height:1.6}
.tcard figcaption{display:flex;flex-direction:column;border-top:1px solid var(--rule);padding-top:1rem}
.tcard__name{font-family:var(--font-display);font-weight:700;color:var(--navy-800)}
.tcard__role{font-size:.85rem;color:var(--gray-500)}
.tcard__role em{color:var(--gray-400)}
@media(min-width:768px){.cases__grid{grid-template-columns:repeat(3,1fr)}}

/* =========================================================================
   FAQ (sin cajas, hairlines)
   ========================================================================= */
.faq__list{max-width:var(--container-narrow);margin-inline:auto;display:grid;gap:0;border-top:1px solid var(--rule)}
.qa{border-bottom:1px solid var(--rule)}
.qa summary{list-style:none;cursor:pointer;padding:1.4rem .25rem;font-family:var(--font-display);font-weight:600;color:var(--navy-800);font-size:1.08rem;letter-spacing:-.01em;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:0 0 auto;width:12px;height:12px;border-right:2px solid var(--cyan-500);border-bottom:2px solid var(--cyan-500);transform:rotate(45deg);transition:transform var(--dur) var(--ease);margin-top:-4px}
.qa[open] summary::after{transform:rotate(225deg);margin-top:2px}
.qa__body{padding:0 .25rem 1.4rem;color:var(--gray-500);max-width:66ch}
.qa__body strong{color:var(--navy-800)}

/* =========================================================================
   CIERRE
   ========================================================================= */
.contact{overflow:hidden;background:var(--grad-navy)}
.contact__arc{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.5}
.contact__final{position:relative;z-index:2;max-width:var(--container-narrow);margin-inline:auto;text-align:center}
.pledges{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem;margin:1.6rem 0 .2rem;padding:0}
.pledges li{display:flex;align-items:center;gap:.45rem;color:#cfe0ee;font-size:.92rem;font-weight:500}
.pledges li::before{content:"✓";color:var(--cyan-300);font-weight:800}
.contact__final .btn{margin:.5rem .35rem 0}
.contact__info{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:center}
.contact__info li{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.72)}
.contact__info a:hover{color:#fff}
.contact__ico{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--cyan-300);background:rgba(255,255,255,.06);border:1px solid var(--rule-on-navy)}

/* =========================================================================
   FOOTER
   ========================================================================= */
.footer{background:var(--grad-footer);color:rgba(255,255,255,.65);padding-block:clamp(3rem,5vw,4.5rem) 1.8rem;position:relative}
.footer__grid{position:relative;z-index:2;display:grid;gap:2.2rem}
.footer__logo{height:52px;width:auto;margin-bottom:1rem}
.footer__brand p{max-width:34ch;font-size:.95rem;color:rgba(255,255,255,.6)}
.footer__col h3{color:#fff;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-weight:600}
.footer__col a,.footer__col span{display:block;color:rgba(255,255,255,.65);font-size:.95rem;padding:.28rem 0}
.footer__col a:hover{color:var(--cyan-300)}
.footer__ruc{color:#cfe0ee;font-weight:600}
.footer__bottom{position:relative;z-index:2;margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--rule-on-navy);display:grid;gap:.6rem}
.footer__bottom p{font-size:.8125rem;color:rgba(255,255,255,.62)}
.footer__legal{max-width:80ch}
@media(min-width:680px){.footer__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}
@media(min-width:768px){.footer__bottom{grid-template-columns:auto 1fr;align-items:center}.footer__legal{text-align:right}}

/* =========================================================================
   FLOATING WHATSAPP (verde WA + anillo orbital cyan)
   ========================================================================= */
.fab{position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;color:#fff;background:#25D366;box-shadow:var(--sh-lg);
  transform:translateY(120px);opacity:0;transition:transform var(--dur-slow) var(--ease),opacity var(--dur-slow) var(--ease),box-shadow var(--dur-fast)}
.fab.is-in{transform:none;opacity:1}
.fab:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(37,211,102,.45)}
.fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--cyan-300);animation:orbit 3.2s ease-out infinite}
@keyframes orbit{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(1.45);opacity:0}}
@supports(padding:max(0px)){.fab{bottom:max(20px,env(safe-area-inset-bottom))}}

/* =========================================================================
   REVEAL / MOVIMIENTO
   ========================================================================= */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
.js .services__grid .reveal,.js .why__list .reveal,.js .steps .reveal{transition-delay:calc(var(--i,0) * 80ms)}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1!important;transform:none!important;transition:none}
  .hero__title{transition:none}
  .hero__arc-path{animation:none;stroke-dashoffset:0}
  .hero__arc-dot{animation:none;opacity:1}
  .steps__line path{transition:none;stroke-dashoffset:0}
  .fab::after{animation:none}
  .btn:hover,.scard:hover,.fab:hover{transform:none}
}

/* ============================================================
   Loop ganador: barra CTA móvil · validación · micro-CTA · progreso
   ============================================================ */
.trust__note{text-align:center;color:var(--gray-500);font-size:.875rem;margin-top:1rem}
.problem__bridge{text-align:center;padding-top:0}
.cform__err{display:block;color:#a3261f;font-size:.875rem;margin-top:.15rem}
.cform .is-invalid{border-color:#e3a0a0;box-shadow:0 0 0 3px rgba(200,60,60,.12)}
.cta-bar{position:fixed;inset-inline:0;bottom:0;display:none;gap:.5rem;
  padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(8,38,63,.95);backdrop-filter:saturate(150%) blur(10px);
  border-top:1px solid var(--rule-on-navy);transform:translateY(120%);
  transition:transform var(--dur) var(--ease);z-index:80}
.cta-bar.is-in{transform:none}
.cta-bar .btn{flex:1 1 0;min-height:50px;padding-inline:1rem}
@media(max-width:640px){.cta-bar{display:flex}.fab{display:none}}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;
  background:var(--grad-cyan);z-index:200;pointer-events:none;will-change:transform}
@media (prefers-reduced-motion:reduce){.cta-bar{transition:none}.scroll-progress{display:none}}

/* ============================================================
   Formulario en 2 pasos · Menú de navegación · Mini-casos
   ============================================================ */
/* --- Asistente (wizard) --- */
.cform__step{border:0;padding:0;margin:0;min-width:0}
.cform__step legend{padding:0}
html.js .cform--wizard .cform__step:not(.is-active){display:none}
html:not(.js) .cform__progress,
html:not(.js) .cform__step-label,
html:not(.js) .cform__back,
html:not(.js) .cform__done{display:none}
.cform__title--step{display:block;width:100%}
.cform__progress{height:5px;border-radius:var(--radius-pill);background:var(--gray-100);overflow:hidden;margin-bottom:.55rem}
.cform__bar{display:block;height:100%;width:50%;background:var(--grad-cyan);border-radius:var(--radius-pill);transition:width var(--dur) var(--ease)}
.cform__step-label{font-size:.875rem;font-weight:600;color:var(--gray-500);margin:0 0 1.1rem}
.picks{display:grid;gap:.6rem;grid-template-columns:1fr}
@media(min-width:480px){.picks{grid-template-columns:1fr 1fr}}
.pick{position:relative;display:flex;align-items:center;min-height:56px;padding:.85rem 2.4rem .85rem 1rem;
  border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);cursor:pointer;
  font-weight:600;font-size:1rem;color:var(--navy-800);line-height:1.3;
  transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick:hover{border-color:var(--cyan-500);background:#fff}
.pick::after{content:"";position:absolute;right:.95rem;top:50%;width:.5rem;height:.85rem;margin-top:-.5rem;
  border-right:2.5px solid var(--cyan-600);border-bottom:2.5px solid var(--cyan-600);transform:rotate(45deg);opacity:0;transition:opacity var(--dur-fast)}
.pick:has(input:checked){border-color:var(--cyan-600);background:#fff;box-shadow:0 0 0 3px rgba(17,168,221,.18)}
.pick:has(input:checked)::after{opacity:1}
.pick:has(input:focus-visible){outline:3px solid var(--cyan-400);outline-offset:2px}
html:not(.js) .pick input{position:static;opacity:1;width:auto;height:auto;margin-right:.6rem}
.cform__nav{display:flex;align-items:center;gap:.6rem;margin-top:.4rem}
.cform__back{background:none;border:0;color:var(--gray-500);font-weight:600;font-size:.95rem;min-height:48px;padding:.5rem .7rem;border-radius:8px;flex:0 0 auto}
.cform__back:hover{color:var(--navy-800);background:var(--gray-50)}
.cform__nav .cform__submit{flex:1 1 auto}
.cform__done{text-align:center;padding:.8rem 0 .4rem}
.cform__done:focus{outline:none}
.cform__done-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h3);color:var(--navy-800);margin-bottom:.4rem}
.cform__done-text{color:var(--gray-500);font-size:.95rem;margin-bottom:1.2rem}
@media (prefers-reduced-motion:reduce){.cform__bar{transition:none}}

/* --- Menú de navegación --- */
.nav__menu{display:none}
.nav__toggle{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:10px;background:transparent;color:#fff;flex:0 0 auto}
.nav__toggle:hover{background:rgba(255,255,255,.1)}
@media(min-width:880px){
  .nav__toggle{display:none}
  .nav__menu{display:flex;gap:.2rem;margin-inline:auto}
  .nav__menu a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem .85rem;border-radius:var(--radius-pill);
    color:#cfe0ee;font-weight:600;font-size:.95rem;transition:color var(--dur-fast),background var(--dur-fast)}
  .nav__menu a:hover{color:#fff;background:rgba(255,255,255,.08)}
}
@media(max-width:879px){
  .nav__menu{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;background:var(--navy-900);
    border-top:1px solid var(--rule-on-navy);box-shadow:0 24px 40px rgba(5,26,46,.4);padding:.6rem .9rem 1rem;z-index:99}
  .nav__menu.is-open{display:flex}
  .nav__menu a{display:flex;align-items:center;min-height:52px;padding:.6rem .8rem;border-radius:10px;color:#eaf3fa;font-weight:600;font-size:1.05rem}
  .nav__menu a:hover{background:rgba(255,255,255,.07)}
}

/* --- Mini-casos (resultados con métrica) --- */
.minicases__grid{display:grid;gap:clamp(20px,2vw,28px)}
.mcard{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--sh-sm)}
.mcard__result{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.1rem);color:var(--navy-800);letter-spacing:-.015em;line-height:1.15}
.mcard__rubro{margin-top:.5rem;color:var(--cyan-600);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}
.mcard__detalle{margin-top:.6rem;color:var(--gray-500);font-size:.95rem}
@media(min-width:768px){.minicases__grid{grid-template-columns:repeat(3,1fr)}}
