:root{
  --bg:#0a1828;
  --bg-2:#0f2235;
  --ink:#eaf1f9;
  --ink-dim:#90a6bf;
  --muted:#5d7591;
  --lime:#3d8fd6;        /* accent: medium blue from logo */
  --lime-2:#4fa3eb;
  --navy:#1a3549;
  --card:#142a40;
  --card-2:#193550;
  --line:rgba(255,255,255,.09);
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{
  color:var(--ink);
  font-family:"Geist",ui-sans-serif,system-ui,sans-serif;font-weight:400;
  -webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";
  background:
    radial-gradient(60% 38% at 82% 6%,  rgba(61,143,214,.12), transparent 62%),
    radial-gradient(52% 32% at 8% 30%,  rgba(61,143,214,.09), transparent 58%),
    radial-gradient(60% 34% at 72% 56%, rgba(79,163,235,.08), transparent 60%),
    radial-gradient(60% 36% at 18% 80%, rgba(61,143,214,.08), transparent 60%),
    linear-gradient(180deg,#0a1828 0%, #0c1e31 45%, #0a1828 100%);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;color:var(--lime)}

.container{max-width:1240px;margin:0 auto;padding:0 28px}

/* ---------- BUTTONS / CHIPS ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:.01em;border:1px solid transparent;transition:transform .25s ease, background .25s ease, color .25s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn--lime{background:var(--lime);color:#ffffff}
.btn--lime:hover{background:var(--lime-2)}
.btn--dark{background:#16304a;color:var(--ink);border-color:var(--line)}
.btn--dark:hover{background:#1d3c5a}
.btn--ghost{background:transparent;color:var(--ink);border-color:rgba(255,255,255,.18)}
.btn--ghost:hover{background:rgba(255,255,255,.06)}
.btn--ghost-dark{background:transparent;border-color:rgba(255,255,255,.18);color:var(--ink)}
.btn--ghost-dark:hover{background:rgba(255,255,255,.06)}
.arrow{display:inline-block;transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}

.kicker{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--lime);margin-bottom:22px}
.kicker .tick{width:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--lime),rgba(61,143,214,0))}
.kicker--light{color:#cfe2f7}
.kicker--light .tick{background:linear-gradient(90deg,#cfe2f7,rgba(207,226,247,0))}

.h2{font-size:clamp(34px,4.4vw,58px);line-height:1.04;letter-spacing:-.025em;font-weight:500;color:var(--ink);max-width:18ch;text-wrap:balance}
.h2 em{font-size:1.04em;letter-spacing:0}
.lead{margin-top:18px;color:var(--ink-dim);font-size:16px;line-height:1.6;max-width:60ch}

.display{font-size:clamp(40px,6vw,84px);line-height:.98;letter-spacing:-.03em;font-weight:500}

/* ---------- NAV ---------- */
.nav{position:absolute;top:0;left:0;right:0;z-index:30;padding:22px 28px}
.nav__inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:rgba(10,24,40,.6);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 22px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em;justify-self:start}
.brand__mark{width:22px;height:22px;border-radius:6px;background:var(--navy);display:grid;place-items:center;color:#fff;font-family:"Instrument Serif",serif;font-style:italic;font-weight:500;font-size:16px;line-height:1;box-shadow:0 0 0 2px rgba(61,143,214,.22)}
.brand__mark::after{content:"e"}
.brand__name{font-size:16px}
.nav__links{display:flex;gap:6px;justify-self:center;background:rgba(255,255,255,.04);border:1px solid var(--line);padding:6px;border-radius:999px}
.nav__inner > .btn{justify-self:end}
.nav__links a{font-size:13px;padding:8px 14px;border-radius:999px;color:var(--ink-dim);transition:color .2s,background .2s}
.nav__links a:hover{color:var(--ink)}
.nav__links a.active{background:rgba(255,255,255,.06);color:var(--ink)}
.caret{margin-left:6px;font-size:10px;opacity:.7}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:760px;padding:140px 0 80px;overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 50% 0%, #12283f 0%, var(--bg) 70%)}
.hero__media{position:absolute;inset:0;z-index:-1}
.hero__media img,.hero__media video{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.9) contrast(1.02);opacity:1;will-change:opacity,transform}
.hero__overlay{position:absolute;inset:0;background:
  radial-gradient(80% 70% at 50% 8%, transparent 0%, rgba(10,24,40,.3) 50%, rgba(10,24,40,.85) 92%),
  linear-gradient(to bottom,
    rgba(10,24,40,.15) 0%,
    rgba(10,24,40,.25) 35%,
    rgba(10,24,40,.55) 60%,
    rgba(10,24,40,.85) 80%,
    var(--bg) 100%);
}
/* Long fade-out tail under the hero so it bleeds into the next section seamlessly */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:260px;pointer-events:none;z-index:2;background:linear-gradient(to bottom, rgba(10,24,40,0) 0%, rgba(10,24,40,.7) 55%, var(--bg) 100%)}
/* Chips en arco / media luna arriba del título — nunca encima del texto */
.hero__chips{position:relative;z-index:3;display:flex;justify-content:center;align-items:flex-end;gap:14px;flex-wrap:wrap;max-width:780px;margin:0 auto 40px}
.hero__chip{display:inline-flex;align-items:center;gap:10px;padding:8px 20px 8px 8px;border-radius:999px;background:rgba(10,24,40,.78);border:1px solid rgba(255,255,255,.22);font-size:14px;font-weight:500;letter-spacing:-.01em;color:#ffffff;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 50px -12px rgba(0,0,0,.65), 0 0 0 1px rgba(61,143,214,.18) inset, 0 0 30px -8px rgba(61,143,214,.35);transition:transform .35s ease, box-shadow .35s ease, background .35s ease;animation:floatChip 7s ease-in-out infinite}
.hero__chip:hover{transform:translateY(-3px) scale(1.03);background:rgba(15,34,53,.9);box-shadow:0 22px 60px -12px rgba(0,0,0,.7), 0 0 0 1px rgba(61,143,214,.35) inset, 0 0 40px -6px rgba(61,143,214,.55)}
.chip__ico{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;box-shadow:0 0 0 2px rgba(255,255,255,.18), 0 6px 14px -4px rgba(0,0,0,.5)}
.chip__ico svg{width:16px;height:16px;fill:#06121f}
/* Arco: las del centro suben, las de los extremos bajan ligeramente */
.chip--1{transform:translateY(18px);animation-delay:-1s}
.chip--2{transform:translateY(4px);animation-delay:-3s}
.chip--3{transform:translateY(-6px);animation-delay:-5s}
.chip--4{transform:translateY(4px);animation-delay:-2s}
.chip--5{transform:translateY(18px);animation-delay:-4s}
@keyframes floatChip{0%,100%{translate:0 0}50%{translate:0 -10px}}

.hero__content{position:relative;z-index:3;text-align:center;padding-top:120px}
.hero__sub{margin:22px auto 0;color:var(--ink-dim);font-size:16px;line-height:1.6;max-width:560px}
.hero__ctas{margin-top:34px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ---------- INSIGHTS / STATS ---------- */
.insights{padding:120px 0 80px;text-align:center;background:transparent}
.insights .kicker{justify-content:center}
.insights .h2{margin:0 auto;text-align:center;max-width:22ch}
.insights .lead{margin:24px auto 0;text-align:center}
.stats{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line);padding-top:40px}
.stat__num{font-size:clamp(48px,5vw,72px);font-weight:500;letter-spacing:-.03em;color:var(--ink)}
.stat__label{margin-top:8px;color:var(--ink-dim);font-size:14px}

/* ---------- MARQUEE ---------- */
.marquee{padding:26px 0;background:rgba(255,255,255,.02);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marquee__track{display:flex;animation:scroll 42s linear infinite}
.marquee__group{display:flex;gap:32px;padding-right:32px;align-items:center;flex-shrink:0}
.logo{font-size:clamp(15px,1.5vw,19px);font-weight:500;color:var(--ink-dim);letter-spacing:.01em;white-space:nowrap;opacity:.95}
.logo--sep{color:var(--lime);opacity:.8;font-size:10px}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- ABOUT ---------- */
.about{padding:120px 0;background:transparent}
.about__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.about__copy .h2{max-width:18ch}
.about__copy .btn{margin-top:32px}

.perfcard{position:relative;background:linear-gradient(160deg,#1d3349,#0e1d2e);border:1px solid var(--line);border-radius:24px;padding:28px;min-height:340px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden}
.perfcard__head{display:flex;justify-content:space-between;align-items:flex-start}
.perfcard__title{font-size:14px;color:var(--ink-dim)}
.perfcard__sub{font-size:12px;color:var(--muted);margin-top:4px}
.perfcard__menu{background:none;border:none;color:var(--ink-dim);font-size:20px;cursor:pointer}
.perfcard__big{font-family:"Geist";font-size:96px;font-weight:500;line-height:1;letter-spacing:-.04em;color:var(--lime);margin-top:18px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.perfcard__big span:first-of-type{font-size:48px;color:var(--lime)}
.perfcard__delta{font-size:12px;color:var(--ink-dim);margin-left:10px;letter-spacing:.05em;text-transform:uppercase;align-self:end}
.perfcard__pills{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.pill{font-size:12px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink-dim)}
.perfcard__spark{position:absolute;left:0;right:0;bottom:0;width:100%;height:80px;opacity:.5}
.mvtabs{margin-top:18px}
.mvtabs__nav{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.mvtab{font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;transition:all .2s ease}
.mvtab:hover{color:var(--ink);border-color:rgba(61,143,214,.4)}
.mvtab.is-active{background:rgba(61,143,214,.14);border-color:rgba(61,143,214,.55);color:var(--ink)}
.mvtabs__panels{position:relative}
.mvpanel{display:none;font-size:14.5px;line-height:1.6;color:var(--ink-dim);margin:0}
.mvpanel.is-active{display:block;animation:mvfade .35s ease}
@keyframes mvfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- SERVICES ---------- */
.services{padding:120px 0;background:transparent}
.services .h2{max-width:14ch}
.services__head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-top:8px}
.services__head-right{display:flex;flex-direction:column;align-items:flex-start;gap:24px;color:var(--ink-dim)}
.services__grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.services__grid--5{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
/* Layout 3 arriba + 2 abajo (centradas) */
.services__grid--32{margin-top:60px;display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.services__grid--32 .svc{grid-column:span 2}
.services__grid--32 .svc:nth-child(4){grid-column:2 / span 2}
.services__grid--32 .svc:nth-child(5){grid-column:4 / span 2}
.svc{position:relative;height:100%;background:linear-gradient(180deg,#142838,#0e1f30);border:1px solid var(--line);border-radius:20px;padding:32px;overflow:hidden;opacity:0;transition:opacity .6s ease, transform .4s cubic-bezier(.2,.7,.1,1), border-color .4s ease, box-shadow .4s ease}
.svc.in{opacity:1}
.svc::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 80% at 50% -10%, rgba(61,143,214,.16), transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.svc:hover{transform:translateY(-8px);border-color:rgba(61,143,214,.4);box-shadow:0 24px 60px -28px rgba(0,0,0,.7), 0 0 0 1px rgba(61,143,214,.12) inset}
.svc:hover::after{opacity:1}
.svc__icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:rgba(61,143,214,.12);color:var(--lime);margin-bottom:24px;transition:transform .4s cubic-bezier(.2,.7,.1,1), background .4s ease, color .4s ease}
.svc__icon svg{width:26px;height:26px}
.svc:hover .svc__icon{transform:scale(1.08) rotate(-4deg);background:var(--lime);color:#06121f}
.svc h3{font-size:21px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px;position:relative}
.svc p{color:var(--ink-dim);font-size:16px;line-height:1.6;position:relative}
/* Staggered reveal (opacity only → no conflict with hover transform; reset delay on hover) */
.svc:nth-child(2){transition-delay:.08s}
.svc:nth-child(3){transition-delay:.16s}
.svc:nth-child(4){transition-delay:.24s}
.svc:nth-child(5){transition-delay:.32s}
.svc:hover{transition-delay:0s}

/* ---------- SVC con foto de fondo ---------- */
.svc--photo{min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;border-color:rgba(255,255,255,.12)}
.svc--photo::before{content:"";position:absolute;inset:0;z-index:0;background:var(--svc-img) center/cover no-repeat;transform:scale(1.02);transition:transform .6s cubic-bezier(.2,.7,.1,1), filter .5s ease;filter:saturate(.85)}
/* Velo oscuro para legibilidad del texto */
.svc--photo::after{background:linear-gradient(180deg, rgba(10,24,40,.30) 0%, rgba(10,24,40,.55) 45%, rgba(10,24,40,.92) 100%);opacity:1}
.svc--photo .svc__icon,.svc--photo h3,.svc--photo p{position:relative;z-index:2}
.svc--photo .svc__icon{background:rgba(10,24,40,.55);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18)}
.svc--photo h3{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.svc--photo p{color:rgba(234,241,249,.88);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.svc--photo:hover{border-color:rgba(61,143,214,.55);box-shadow:0 28px 70px -28px rgba(0,0,0,.8), 0 0 0 1px rgba(61,143,214,.18) inset}
.svc--photo:hover::before{transform:scale(1.08);filter:saturate(1)}
.svc--photo:hover .svc__icon{background:var(--lime);color:#06121f;transform:scale(1.08) rotate(-4deg)}
.stat{opacity:0;transition:opacity .6s ease}
.stat.in{opacity:1}
.stat:nth-child(2){transition-delay:.1s}
.stat:nth-child(3){transition-delay:.2s}

/* ---------- HOW WE WORK (sticky 5 steps) ---------- */
.how{position:relative;background:transparent;height:420vh}
.how__sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:80px 0}
.how__inner{max-width:1240px;margin:0 auto;padding:0 28px;width:100%}
.how__topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.how__count{font-size:14px;color:var(--ink-dim);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.how__count .how__cur{color:var(--ink);font-size:28px;font-weight:500;display:inline-block;min-width:1.2ch}
.how__count span:last-child{color:var(--muted)}

.how__stage{position:relative}
.how__slides{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:16/7.5;background:#0b1a2b;border:1px solid var(--line)}
.how__slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(28px,6vw,80px);opacity:0;transform:scale(1.04);transition:opacity .9s cubic-bezier(.7,.0,.2,1), transform 1.2s cubic-bezier(.7,.0,.2,1);will-change:transform,opacity;overflow:hidden}
/* Foto de fondo por slide */
.how__slide::before{content:"";position:absolute;inset:0;z-index:0;background:var(--how-img) center/cover no-repeat;filter:saturate(.95)}
/* Velo: más oscuro a la izquierda (número) y abajo, despeja la derecha (sujeto de la foto) */
.how__slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, rgba(8,18,31,.92) 0%, rgba(8,18,31,.72) 32%, rgba(8,18,31,.30) 62%, rgba(8,18,31,.20) 100%), linear-gradient(180deg, rgba(8,18,31,.10) 0%, rgba(8,18,31,.28) 100%)}
.how__slide.is-active{opacity:1;transform:scale(1)}
.how__num,.how__icon{position:relative;z-index:2}
.how__num{font-family:"Geist",sans-serif;font-size:clamp(110px,24vw,300px);font-weight:600;line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.28);background:linear-gradient(180deg,rgba(255,255,255,.12),transparent);-webkit-background-clip:text;background-clip:text}
.how__icon{width:clamp(84px,15vw,180px);height:auto;color:var(--lime);filter:drop-shadow(0 0 46px rgba(61,143,214,.6));flex-shrink:0}

.how__captions{position:relative;margin-top:30px;min-height:140px}
.how__caption{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;opacity:0;transform:translateY(20px);transition:opacity .55s ease, transform .55s ease;pointer-events:none}
.how__caption.is-active{opacity:1;transform:none;pointer-events:auto}
.how__caption h3{font-size:clamp(36px,4.4vw,56px);font-weight:500;letter-spacing:-.02em;line-height:1.02;margin:0}
.how__caption p{color:var(--ink-dim);max-width:36ch;align-self:start;margin:0;padding-top:.35em}

.how__progress{position:absolute;left:28px;right:28px;bottom:22px;display:flex;justify-content:center}
.how__bar{display:block;width:min(440px,60%);height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.how__fill{display:block;height:100%;width:20%;background:var(--lime);border-radius:2px;transition:width .4s cubic-bezier(.6,0,.2,1)}

/* ---------- TESTIMONIAL ---------- */
.testi{padding:80px 0 110px;text-align:center;background:transparent}
.testi .kicker{justify-content:center}
.testi__quote{position:relative;font-size:clamp(24px,2.6vw,34px);font-weight:400;line-height:1.34;letter-spacing:-.01em;color:var(--ink);max-width:780px;margin:0 auto;text-wrap:balance}
.testi__quote::before{content:"“";display:block;font-family:"Instrument Serif",serif;font-style:italic;font-size:64px;line-height:1;color:var(--lime);opacity:.5;margin:0 0 -6px}
.testi__sign{margin-top:34px;font-size:13px;letter-spacing:.04em;color:var(--ink-dim)}
.testi__sign small{color:var(--muted)}

/* ---------- CHECK BADGE ---------- */
.check{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--lime);color:#fff;font-size:11px;flex-shrink:0}

/* ---------- QUOTE FORM (cotización) ---------- */
.quote{padding:140px 0;background:transparent}
.quote__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:start}
.quote__copy .h2{max-width:22ch}
.quote__points{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:10px;color:var(--ink-dim);font-size:15px}
.quote__points li{display:flex;align-items:center;gap:10px}
.quote__points .check{background:var(--lime);color:#fff}
.quote__contact{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px 28px;font-size:26px;font-weight:500;letter-spacing:-.01em}
.quote__contact a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:4px;transition:color .25s,border-color .25s}
.quote__contact a:hover{color:var(--lime);border-color:var(--lime)}

.quote__form{position:relative;background:linear-gradient(180deg,#16304a,#0e2236);border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 40px 100px -40px rgba(0,0,0,.6)}
.quote__fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;transition:opacity .4s ease, transform .4s ease}
.quote__form label{display:flex;flex-direction:column;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
.quote__full{grid-column:1/-1}
.quote__form input,.quote__form select,.quote__form textarea{background:rgba(0,0,0,.25);border:1px solid var(--line);color:var(--ink);font:inherit;font-size:15px;letter-spacing:normal;text-transform:none;padding:14px 16px;border-radius:12px;outline:none;transition:border-color .25s,background .25s,box-shadow .25s}
.quote__form input::placeholder,.quote__form textarea::placeholder{color:var(--muted)}
.quote__form input:focus,.quote__form select:focus,.quote__form textarea:focus{border-color:var(--lime);background:rgba(0,0,0,.35);box-shadow:0 0 0 3px rgba(61,143,214,.18)}
.quote__form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-dim) 50%),linear-gradient(135deg,var(--ink-dim) 50%,transparent 50%);background-position:calc(100% - 22px) 50%, calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.quote__form select option{background:#0f2235;color:var(--ink)}
.quote__submit{grid-column:1/-1;justify-content:center;padding:16px 22px}

/* Success state (smooth message entrance) */
.quote__success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:280px}
.quote__success-ico{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#fff;font-size:26px;box-shadow:0 0 0 8px rgba(61,143,214,.15)}
.quote__success h3{font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.quote__success p{color:var(--ink-dim);font-size:15px;max-width:36ch}
.quote__form.sent .quote__fields{display:none}
.quote__form.sent .quote__success{display:flex;animation:quoteIn .55s cubic-bezier(.2,.7,.1,1) both}
@keyframes quoteIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Brand `.com` suffix */
.brand__name small{font-weight:400;color:var(--ink-dim);font-size:.7em;letter-spacing:.02em}
/* Logo más compacto en nav */
.brand--sm .brand__name{font-size:14px}
.brand--sm .brand__mark{width:19px;height:19px;font-size:14px;border-radius:5px}
/* Logo script en la barra (sin cuadrito) */
.brand--script .brand__name{font-family:"Caveat",cursive;font-weight:700;font-size:34px;line-height:1;color:var(--ink);letter-spacing:0}
.brand--script .brand__name small{font-family:"Caveat",cursive;font-weight:600;font-size:.78em;color:var(--lime);letter-spacing:0}
.insights__cta{margin-top:48px;display:flex;justify-content:center}


/* ---------- CTA ---------- */
.cta{position:relative;padding:160px 0;overflow:hidden;text-align:center;isolation:isolate}
.cta__bg{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(to bottom, rgba(10,24,40,.62), rgba(10,24,40,.88)),
  url("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?auto=format&fit=crop&w=2000&q=80") center/cover no-repeat;
  filter:saturate(.9)
}
.cta__inner{max-width:880px;margin:0 auto;padding:0 28px}
.cta .display{max-width:18ch;margin:0 auto;line-height:1.12;padding:.14em .08em;overflow:visible}
.cta .display em{padding-right:.08em;margin-right:.02em}
.cta p{margin-top:18px;color:var(--ink-dim)}
.cta .hero__ctas{margin-top:32px}
/* Secondary CTA button: legible ghost over complex imagery (WCAG) */
.cta .btn--dark{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cta .btn--dark:hover{background:rgba(255,255,255,.2);border-color:#fff}

/* ---------- FOOTER ---------- */
.footer{background:transparent;padding:80px 0 0;border-top:1px solid var(--line);overflow:hidden}
.footer__grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px;padding-bottom:60px}
.brand--light{align-self:start}
.footer__head{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.footer__col a{display:block;padding:6px 0;color:var(--ink-dim);font-size:14px;transition:color .2s}
.footer__col a:hover{color:var(--lime)}
.footer__col p{color:var(--ink-dim);font-size:14px;line-height:1.6}
.socials{margin-top:18px;display:flex;gap:10px}
.socials a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:13px;color:var(--ink-dim)}
.socials a:hover{border-color:var(--lime);color:var(--lime)}

.footer__giant{font-size:clamp(44px,11.5vw,176px);line-height:1.06;font-weight:600;letter-spacing:-.05em;text-align:center;color:var(--lime);padding:20px 0 10px;white-space:nowrap;background:linear-gradient(to bottom, var(--lime) 0%, var(--lime) 78%, rgba(61,143,214,.25) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.footer__giant small{font-size:.5em;font-weight:500;letter-spacing:-.02em}
.footer__giant-www{font-size:.5em;font-weight:500;letter-spacing:-.02em}

.footer__legal{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;padding-bottom:30px;padding-top:0;margin-top:-10px}

/* ---------- REVEAL ANIM ---------- */
.reveal-target:not(.word-reveal):not(.footer__giant):not(.svc):not(.stat){opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;will-change:opacity,transform}
.reveal-target:not(.word-reveal):not(.footer__giant):not(.svc):not(.stat).in{opacity:1;transform:none}

/* Word-by-word reveal */
.word-reveal .word{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.08em .14em .18em;margin:0 calc(.25em - .14em) -.18em -.14em}
.word-reveal .word > span{display:inline-block;transform:translateY(110%);transition:transform .9s cubic-bezier(.5,.05,.1,1)}
.word-reveal.in .word > span{transform:none}
/* Al terminar la animación soltamos el recorte para que la itálica no quede cortada */
.word-reveal.revealed .word{overflow:visible}

/* Footer giant reveal */
.footer__giant{transform:translateY(40%);transition:transform 1.2s cubic-bezier(.2,.7,.1,1)}
.footer__giant.in{transform:none}

/* Focus visibility (keyboard a11y) */
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal-target,.footer__giant{opacity:1!important;transform:none!important}
  .word-reveal .word > span{transform:none!important}
  .hero__chip{animation:none!important}
  .marquee__track{animation:none!important}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
  .nav__links{display:none}
  .hero__chips{max-width:100%;gap:8px;margin-bottom:28px}
  .hero__chip{font-size:12px;padding:6px 14px 6px 6px}
  .hero__chip .chip__ico{width:26px;height:26px}
  .chip--1,.chip--2,.chip--3,.chip--4,.chip--5{transform:none}
  .hero__content{padding-top:140px}
  .stats{grid-template-columns:1fr;text-align:left;margin-top:48px;gap:36px;padding-top:36px}
  .insights .lead{margin-bottom:8px}
  .about__grid,.services__head,.how__caption{grid-template-columns:1fr;gap:40px}
  .services__grid{grid-template-columns:1fr}
  /* Grid 3+2 → 2 columnas en tablet, reset de spans */
  .services__grid--32{grid-template-columns:repeat(2,1fr)}
  .services__grid--32 .svc,
  .services__grid--32 .svc:nth-child(4),
  .services__grid--32 .svc:nth-child(5){grid-column:auto}
  .quote__grid{grid-template-columns:1fr}
  .quote__fields{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  .services__grid--32{grid-template-columns:1fr}
  .how__slide{flex-direction:column;justify-content:center;gap:6px;text-align:center}
  .how__num{font-size:clamp(96px,30vw,150px)}
  .how__caption{grid-template-columns:1fr;gap:8px}
  .how__caption h3{font-size:clamp(30px,9vw,40px)}
  .how__captions{min-height:190px}
  .how__progress{bottom:14px}
}

/* ---------- PÁGINA ALIANZAS ---------- */
.page-hero{position:relative;padding:200px 0 80px;text-align:center;background:radial-gradient(120% 90% at 50% 0%, #12283f 0%, var(--bg) 70%)}
.page-hero .kicker{justify-content:center}
.page-hero .display{max-width:16ch;margin:0 auto}
.page-hero .hero__sub{margin:22px auto 0;max-width:600px}
.page-hero .hero__ctas{margin-top:34px}

.allies{padding:40px 0 120px}
.allies .h2{max-width:20ch}
.allies .lead{margin-bottom:8px}
.allies__grid{margin-top:60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.ally{position:relative;background:linear-gradient(180deg,#142838,#0e1f30);border:1px solid var(--line);border-radius:20px;padding:32px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.1,1), border-color .4s ease, box-shadow .4s ease}
.ally::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 80% at 50% -10%, rgba(61,143,214,.16), transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.ally:hover{transform:translateY(-8px);border-color:rgba(61,143,214,.4);box-shadow:0 24px 60px -28px rgba(0,0,0,.7), 0 0 0 1px rgba(61,143,214,.12) inset}
.ally:hover::after{opacity:1}
.ally__logo{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:48px;padding:0 16px;border-radius:12px;background:rgba(61,143,214,.12);color:var(--lime);font-family:"Geist";font-weight:600;font-size:18px;letter-spacing:-.01em;margin-bottom:22px;position:relative}
.ally h3{font-size:21px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px;position:relative}
.ally p{color:var(--ink-dim);font-size:14px;line-height:1.65;position:relative}
.ally--feat{grid-column:span 2;background:linear-gradient(160deg,#1d3349,#0e1d2e)}
.ally--feat .ally__logo{font-size:24px;font-family:"Instrument Serif",serif;font-style:italic}
.ally--feat .btn{margin-top:22px;position:relative}
@media (max-width:760px){
  .ally--feat{grid-column:span 1}
  .page-hero{padding:160px 0 60px}
}
