@font-face{font-family:"SUSE";font-weight:300;font-display:swap;src:url(../fonts/SUSE-Light.woff2) format("woff2")}
@font-face{font-family:"SUSE";font-weight:300;font-style:italic;font-display:swap;src:url(../fonts/SUSE-LightItalic.woff2) format("woff2")}
@font-face{font-family:"SUSE";font-weight:400;font-display:swap;src:url(../fonts/SUSE-Regular.woff2) format("woff2")}
@font-face{font-family:"SUSE";font-weight:500;font-display:swap;src:url(../fonts/SUSE-Medium.woff2) format("woff2")}

:root{
  --azul:#29648e; --azul-medio:#5a87a8; --azul-velo:#d9e4ec; --noche:#0f2c40;
  --claro:#f4f6f8; --tinta:#17242f; --gris:#53626e; --gris-claro:#8794a0; --linea:#cfd8df;
  --pad:clamp(22px,6vw,110px);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:"SUSE",Arial,sans-serif;font-weight:300;color:var(--tinta);background:var(--claro);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
i{font-style:italic}

/* ---------- navegación ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);transition:background .4s,box-shadow .4s}
.brand{position:relative;display:block;width:170px;height:47px}
.brand img{position:absolute;inset:0;width:170px;height:auto;transition:opacity .4s}
.logo-blanco{opacity:0}
.nav.on-dark .logo-blanco{opacity:1}.nav.on-dark .logo-azul{opacity:0}
.links{display:flex;gap:34px;align-items:center}
.links a{text-decoration:none;font-size:15px;font-weight:400;color:var(--tinta);letter-spacing:.01em;transition:color .4s}
.links .cta{border:1px solid currentColor;padding:10px 18px;border-radius:2px}
.nav.on-dark .links a{color:#fff}
.nav.solid{background:rgba(244,246,248,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linea)}
@media (max-width:760px){.links a:not(.cta){display:none}.brand,.brand img{width:140px}}

/* ---------- recorrido ---------- */
.journey{position:relative;height:1000vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--noche)}
.layer{position:absolute;inset:0;transform:translateZ(0);backface-visibility:hidden}
.layer img{width:100%;height:100%;object-fit:cover}
.layer picture{display:block;width:100%;height:100%}
#lMontana img{object-position:60% 50%}
#lMontana{overflow:hidden;background:radial-gradient(ellipse at 60% 45%,#e3e9ef 0%,#d3dce5 70%,#cdd6df 100%)}
#lMontana img{--a:150%;--b:151%;-webkit-mask-image:radial-gradient(closest-side at 50% 50%,#000 var(--a),transparent var(--b));mask-image:radial-gradient(closest-side at 50% 50%,#000 var(--a),transparent var(--b));transform-origin:60% 50%}
#lMontana .veil{position:absolute;inset:0;z-index:1;background:linear-gradient(75deg,rgba(244,246,248,.82) 0%,rgba(244,246,248,.45) 38%,rgba(244,246,248,0) 62%)}
#lNubes{pointer-events:none;--h:-25%;-webkit-mask-image:radial-gradient(circle at 52% 56%,transparent var(--h),#000 calc(var(--h) + 22%));mask-image:radial-gradient(circle at 52% 56%,transparent var(--h),#000 calc(var(--h) + 22%))}
.cloud{position:absolute;inset:-25%;background-size:cover;background-position:center;will-change:transform,opacity}
.c1{background-image:url(../img/nube1.png)}
.c2{background-image:url(../img/nube2.png);transform:scaleX(-1)}
.c3{background-image:url(../img/nube3.png)}
#lBlanco{background:radial-gradient(ellipse at 50% 50%,#fbfcfd 0%,#eef2f5 70%,#e4eaef 100%)}
#lVelero{background:radial-gradient(ellipse at 60% 50%,#123049 0%,#0a1e2e 70%,#071624 100%)}
#lVelero img{object-position:64% 32%;--va:150%;--vb:151%;-webkit-mask-image:radial-gradient(closest-side at 50% 50%,#000 var(--va),transparent var(--vb));mask-image:radial-gradient(closest-side at 50% 50%,#000 var(--va),transparent var(--vb));transform-origin:64% 50%}
@media (max-aspect-ratio:4/5){#lVelero img{object-position:50% 50%}}
#lGlobo{background:radial-gradient(ellipse at 62% 50%,#10283d 0%,#081624 55%,#040b13 100%)}
#lGlobo canvas{width:100%;height:100%;display:block}
#lCampo img{object-position:50% 50%}
#lFamilia img{object-position:50% 60%}
.scrim{background:linear-gradient(90deg,rgba(8,22,34,.72) 0%,rgba(8,22,34,.42) 42%,rgba(8,22,34,.12) 62%,rgba(8,22,34,0) 78%)}
@media (max-width:760px){.scrim{background:linear-gradient(0deg,rgba(10,25,36,.78) 0%,rgba(10,25,36,.45) 45%,rgba(10,25,36,0) 72%)}}

.t{position:absolute;left:var(--pad);bottom:clamp(70px,14vh,150px);max-width:min(720px,84vw);color:#fff;opacity:0;will-change:transform,opacity}
.t.dark{color:var(--tinta)}
.t.center{left:50%;top:50%;bottom:auto;text-align:center;max-width:min(860px,88vw)}
.eyebrow{font-size:13px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;opacity:.85;margin-bottom:18px}
.t h1{margin:0;font-weight:300;font-size:clamp(40px,6.2vw,92px);line-height:1.02;letter-spacing:-.02em}
.t h2{margin:0;font-weight:300;font-size:clamp(34px,4.6vw,68px);line-height:1.05;letter-spacing:-.015em}
.t.dark h1 i,.t.dark h2 i{color:var(--azul)}
.t .p{margin-top:22px;font-size:clamp(16px,1.35vw,20px);line-height:1.55;max-width:560px;opacity:.9}
.def{font-size:clamp(26px,3.2vw,46px);line-height:1.2;font-weight:300;letter-spacing:-.01em}
.def b{font-weight:500;color:var(--azul);letter-spacing:.06em}
.t4{max-width:min(880px,86vw)}
.t h2.quote{font-size:clamp(25px,2.7vw,42px);line-height:1.2;letter-spacing:-.01em;max-width:860px;text-indent:-.4em}
.def2{margin-top:18px;font-size:clamp(16px,1.4vw,21px);color:var(--gris)}
.t2{max-width:min(470px,86vw)}
.t2 h2{font-size:clamp(32px,3.5vw,54px)}
.capas{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
.capas li{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:baseline;border-top:1px solid rgba(255,255,255,.4);padding:13px 0;font-size:15px;line-height:1.45}
.capas span{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
@media (max-width:760px){.t2 h2{font-size:27px}.capas{margin-top:16px}.capas li{grid-template-columns:86px 1fr;gap:10px;padding:8px 0;font-size:13px;line-height:1.4}.capas span{font-size:10px;letter-spacing:.16em}}

.hint{position:absolute;right:var(--pad);bottom:44px;display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#fff}
.hint i{width:1px;height:46px;background:linear-gradient(#fff,transparent);animation:drip 2.2s ease-in-out infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.counter{position:absolute;right:var(--pad);bottom:118px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--ink,#17242f);transition:color .4s;font-size:13px;letter-spacing:.2em}
.counter.on-dark{color:#fff}
.counter b{font-weight:500;font-size:15px}
.counter span{opacity:.6}
.counter em{font-style:normal;text-transform:uppercase;margin-top:8px;opacity:.8}
@media (max-width:760px){.counter{display:none}}

/* ---------- contenido ---------- */
.content{position:relative;background:var(--claro)}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(80px,13vh,150px) 0 0}
.lbl{display:flex;gap:18px;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);font-weight:400}
.lbl span{color:var(--azul);font-weight:500}
.h{margin:16px 0 0;font-weight:300;font-size:clamp(36px,4.4vw,64px);line-height:1.05;letter-spacing:-.015em}
.h i{color:var(--azul)}
.lead{margin-top:24px;max-width:760px;font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--gris)}
.lead b{font-weight:500;color:var(--tinta)}
.grid3{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px)}
.grid2{margin-top:44px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,4vw,60px)}
@media (max-width:860px){.grid3,.grid2{grid-template-columns:1fr}}
.cap,.socio{border-top:2px solid var(--azul);padding-top:16px}
.k{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--azul);font-weight:500}
.cap .q{margin-top:10px;font-size:22px;line-height:1.25;font-weight:400}
.cap p,.socio p,.step p{margin-top:10px;font-size:16px;line-height:1.55;color:var(--gris)}
.rows{margin-top:40px;border-bottom:1px solid var(--linea)}
.row{display:grid;grid-template-columns:48px minmax(180px,260px) 1fr 170px;gap:24px;align-items:baseline;padding:24px 0;border-top:1px solid var(--linea)}
.row .no{font-size:13px;letter-spacing:.16em;color:var(--azul);font-weight:500}
.row .nm{font-size:20px;font-weight:400}
.row.first .nm{color:var(--azul);font-weight:500}
.row p{font-size:16px;line-height:1.55;color:var(--gris)}
.row .m{text-align:right;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--azul-medio);font-weight:500;line-height:1.5}
@media (max-width:860px){.row{grid-template-columns:40px 1fr;gap:8px 14px}.row p,.row .m{grid-column:2}.row .m{text-align:left}}
.plist{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px}
.plist p{padding:18px 0 22px;border-top:1px solid var(--linea);font-size:18px;line-height:1.45}
.plist p::before{content:"— ";color:var(--azul)}
@media (max-width:860px){.plist{grid-template-columns:1fr}}
.socio .nm{margin-top:12px;font-size:30px;font-weight:400;letter-spacing:-.005em}
.socio .r{margin-top:2px;font-size:16px;color:var(--azul)}
.steps .step{border-top:1px solid var(--linea);padding-top:16px}
.step .st{margin-top:10px;font-size:21px;font-weight:400}
.foot{margin-top:clamp(90px,14vh,160px);background:var(--azul);color:#fff;padding:clamp(60px,10vh,100px) 0 40px}
.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start}
@media (max-width:860px){.fgrid{grid-template-columns:1fr}}
.foot .k{color:var(--azul-velo)}
.foot .big{margin-top:12px;font-size:21px;line-height:1.5;font-weight:400}
.foot a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.legal{margin-top:70px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.65);max-width:900px}
.rv{opacity:0;transform:translateY(24px)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.hint i{animation:none}}

/* red de trabajo */
.red{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px)}
.frente{border-top:2px solid var(--azul);padding-top:18px}
.frente .fd{margin-top:10px;font-size:15px;line-height:1.5;color:var(--gris);min-height:3em}
.frente ul{list-style:none;margin:18px 0 0;padding:0}
.frente li{padding:14px 0;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:4px}
.frente li a{font-size:20px;font-weight:400;color:var(--tinta);text-decoration:none;transition:color .25s}
.frente li a:hover{color:var(--azul)}
.frente li span{font-size:14px;color:var(--gris)}
@media (max-width:860px){.red{grid-template-columns:1fr}.frente .fd{min-height:0}}
