@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-400.woff) format('woff')}
@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-500.woff) format('woff')}
@font-face{font-family:Poppins;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-700.woff) format('woff')}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{background:var(--bg);color:var(--tx);font-family:Poppins,system-ui,sans-serif;font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.mo{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit}
:root{--e:cubic-bezier(.7,0,.2,1);--o:cubic-bezier(.16,1,.3,1)}
/* carga */
#pl{position:fixed;inset:0;z-index:200;background:var(--plbg,var(--bg));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transition:clip-path 1.2s var(--e);clip-path:inset(0 0 0 0)}
#pl.out{clip-path:inset(0 0 100% 0)}
#pl img{height:64px;width:auto;opacity:0;animation:plf 1s .1s var(--o) forwards}
#pl .plt{font-size:.75rem;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--acc);opacity:0;animation:plf 1s .3s forwards}
#pl .plbar{width:min(260px,60vw);height:2px;background:var(--line);overflow:hidden}
#pl #plb{display:block;height:100%;background:var(--acc);transform:scaleX(0);transform-origin:left}
#pl .pln{position:absolute;right:5vw;bottom:4vh;font-size:clamp(3rem,9vw,7rem);font-weight:700;line-height:1;color:var(--acc);opacity:.9}
@keyframes plf{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* cortina */
#wipe{position:fixed;inset:0;z-index:150;pointer-events:none;display:grid;grid-template-columns:repeat(4,1fr)}
#wipe i{background:var(--wipe,var(--acc));transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--e)}
#wipe i:nth-child(2){transition-delay:.05s}#wipe i:nth-child(3){transition-delay:.1s}#wipe i:nth-child(4){transition-delay:.15s}
#wipe img{position:absolute;left:50%;top:50%;height:56px;width:auto;transform:translate(-50%,-50%) scale(.9);opacity:0;transition:.4s}
#wipe.on{pointer-events:auto}#wipe.on i{transform:scaleY(1)}#wipe.on img{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.45s}
#wipe.on.off i{transform:scaleY(0);transform-origin:top}#wipe.on.off img{opacity:0;transition-delay:0s}
/* progreso e índice */
#prog{position:fixed;top:0;left:0;right:0;height:3px;background:var(--acc);transform-origin:left;transform:scaleX(0);z-index:120}
#idx{position:fixed;left:22px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:6px;mix-blend-mode:difference;color:#fff}
#idx a{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;letter-spacing:.12em;opacity:.45;transition:.4s}
#idx a b{width:22px}#idx a span{text-transform:uppercase;max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--o)}
#idx a:before{content:"";width:14px;height:2px;background:currentColor;transition:.4s}
#idx a.on{opacity:1}#idx a.on:before{width:30px}#idx:hover a span{max-width:180px}
@media(max-width:1180px){#idx{display:none}}
/* texto por palabras */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.si{display:inline-block;transform:translateY(108%) rotate(3deg);transform-origin:left bottom;transition:transform 1.1s var(--o);transition-delay:calc(var(--i)*45ms)}
.in .si,.in.si{transform:none}
.hero-wait .si{transition-delay:calc(var(--i)*70ms + .2s)}
body:not(.ready) .hero-wait .si{transform:translateY(108%) rotate(3deg)!important}
.rv{opacity:0;transform:translateY(46px);transition:opacity 1.1s var(--o),transform 1.2s var(--o);transition-delay:var(--dl,0s)}
.rv.in{opacity:1;transform:none}
.ri{position:relative;overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--e);transition-delay:var(--dl,0s)}
.ri>*{transform:scale(1.35);transition:transform 2s var(--o);transition-delay:var(--dl,0s)}
.ri.in{clip-path:inset(0 0 0 0)}.ri.in>*{transform:scale(1)}
.ln{display:block;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--e)}.ln.in{transform:none}
/* imanes y luz */
.mag{transition:transform .5s var(--o)}
.glow{position:relative;isolation:isolate}
.glow:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px),var(--glow,rgba(255,255,255,.08)),transparent 60%);z-index:-1}
/* cinta */
[data-mq]{overflow:hidden;white-space:nowrap}
.mqt{display:inline-flex;align-items:center;gap:clamp(24px,4vw,60px);animation:mq 48s linear infinite;padding-right:clamp(24px,4vw,60px)}
.mqt em{font-style:normal;color:var(--acc)}
@keyframes mq{to{transform:translateX(-50%)}}
/* archivo */
.abar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.afil{display:flex;gap:8px;flex-wrap:wrap}
.afil button{padding:12px 20px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--tx);font-weight:700;font-size:.88rem;cursor:pointer;transition:.35s}
.afil button i{font-style:normal;opacity:.5;margin-left:8px;font-size:.8em}
.afil button.on{background:var(--acc);color:var(--ink);border-color:var(--acc)}.afil button:not(.on):hover{border-color:var(--acc)}
.asr{display:flex;align-items:center;gap:10px;padding:0 20px;border-radius:999px;border:1px solid var(--line);min-width:min(340px,100%)}
.asr svg{width:18px;color:var(--mu)}.asr input{flex:1;background:none;border:0;outline:none;color:var(--tx);font:inherit;padding:14px 0}
.alist{border-top:1px solid var(--line)}
.arow{display:grid;grid-template-columns:150px 1fr minmax(0,320px);gap:28px;align-items:baseline;padding:22px 8px;border-bottom:1px solid var(--line);animation:arin .7s var(--o) both;animation-delay:var(--d);transition:background .35s,padding .5s var(--o)}
@keyframes arin{from{opacity:0;transform:translateY(18px)}}
.arow:hover{background:var(--hov,rgba(255,255,255,.03));padding-left:22px}
.acat{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.at{font-weight:600;font-size:1.05rem}.ap{color:var(--mu);font-size:.9rem;text-align:right}
.anone{color:var(--mu);padding:30px 8px}
.amore{margin:34px auto 0;display:block;padding:16px 30px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--tx);font-weight:700;cursor:pointer;transition:.35s}.amore:hover{border-color:var(--acc);color:var(--acc)}
@media(max-width:760px){.arow{grid-template-columns:1fr;gap:4px}.ap{text-align:left}}
/* mapa */
.map{position:relative;overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* whatsapp */
.wa{position:fixed;right:22px;bottom:22px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.3);transition:transform .4s var(--o);opacity:0;transform:scale(.4)}
body.ready .wa{opacity:1;transform:none;transition:opacity .6s 1s,transform .8s 1s var(--o)}
.wa:hover{transform:scale(1.1)!important}.wa svg{width:30px;height:30px;fill:#fff}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01s!important;transition-duration:.01s!important;transition-delay:0s!important}}
:root{--bg:#07201A;--bg2:#0A2A22;--tx:#F1EEE4;--mu:rgba(241,238,228,.64);--acc:#E2CB92;--line:rgba(241,238,228,.13);--card:rgba(241,238,228,.045);--ink:#07201A;--wipe:#0E3A2D;--glow:rgba(226,203,146,.13);--rad:22px}
.wrap{width:min(1320px,90vw);margin:0 auto}
h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1}
section{position:relative}
.il{position:absolute;right:14px;bottom:12px;z-index:4;font-style:normal;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(0,0,0,.35);padding:4px 9px;border-radius:999px;backdrop-filter:blur(6px)}
.ft{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--acc)}
#wipe span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .4s}
#wipe span img{height:56px;width:auto}
#wipe.on span{opacity:1;transition-delay:.5s}#wipe.on.off span{opacity:0;transition-delay:0s}
#wipe{grid-template-columns:repeat(5,1fr)}#wipe i:nth-child(5){transition-delay:.2s}
/* desplegables */
.acc-b{height:0;overflow:hidden;transition:height .7s var(--o)}
.acc-h{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:left;width:100%}
.pm{flex:0 0 42px;width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;position:relative;transition:.5s var(--o)}
.pm:before,.pm:after{content:"";position:absolute;width:14px;height:2px;background:currentColor;transition:transform .5s var(--o)}
.pm:after{transform:rotate(90deg)}
.acc-i.o>.acc-h .pm{background:var(--acc);color:var(--ink);box-shadow:none}
.acc-i.o>.acc-h .pm:after{transform:rotate(0)}
.more-btn{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:.9rem;color:var(--acc);width:auto;padding:6px 0}
.more-btn .pm{flex-basis:34px;width:34px;height:34px}.more-btn .pm:before,.more-btn .pm:after{width:12px}
.acc-i.o>.more-btn .lbm:before{content:"Ver menos"}.more-btn .lbm:before{content:"Ver más"}
/* imagen flotante */
#hfloat{position:fixed;left:0;top:0;width:340px;height:240px;z-index:60;pointer-events:none;border-radius:16px;overflow:hidden;opacity:0;scale:.6;transition:opacity .4s,scale .6s var(--o)}
#hfloat.on{opacity:1;scale:1}
#hfloat i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.15);transition:opacity .5s,transform .9s var(--o)}
#hfloat i.on{opacity:1;transform:none}
/* modal */
#mdl{position:fixed;inset:0;z-index:140;display:grid;place-items:center;pointer-events:none}
#mdl .mbk{position:absolute;inset:0;background:rgba(3,14,11,.7);backdrop-filter:blur(10px);opacity:0;transition:opacity .6s}
#mdl .mbox{position:relative;width:min(1100px,92vw);max-height:88vh;overflow:auto;background:var(--bg2);border-radius:28px;box-shadow:0 40px 120px rgba(0,0,0,.5),inset 0 0 0 1px var(--line);clip-path:inset(50% 0 50% 0 round 28px);transition:clip-path .9s var(--e)}
#mdl.o{pointer-events:auto}#mdl.o .mbk{opacity:1}#mdl.o .mbox{clip-path:inset(0 0 0 0 round 28px)}
#mdl .mx{position:absolute;right:18px;top:18px;z-index:5;width:46px;height:46px;border-radius:50%;border:0;background:rgba(7,32,26,.7);color:var(--tx);font-size:1.1rem;cursor:pointer;backdrop-filter:blur(8px);transition:transform .5s var(--o)}
#mdl .mx:hover{transform:rotate(90deg)}
#mdl .mct{display:grid;grid-template-columns:1fr 1fr}
#mdl .mimg{position:relative;min-height:520px;background-size:cover;background-position:center}
#mdl .mtx{padding:56px 48px}
#mdl h3{font-size:clamp(2rem,3.4vw,3.2rem);margin:16px 0 8px}
#mdl .fl{color:var(--mu);font-weight:600}
#mdl ul{list-style:none;margin-top:30px}
#mdl li{padding:16px 0;border-top:1px solid var(--line);opacity:0;transform:translateY(14px);transition:.7s var(--o)}
#mdl.o li{opacity:1;transform:none}#mdl.o li:nth-child(1){transition-delay:.45s}#mdl.o li:nth-child(2){transition-delay:.55s}#mdl.o li:nth-child(3){transition-delay:.65s}
@media(max-width:760px){#mdl .mct{grid-template-columns:1fr}#mdl .mimg{min-height:260px}#mdl .mtx{padding:30px 26px}}
/* botones base */
.btn{display:inline-flex;align-items:center;gap:12px;padding:18px 30px;border-radius:999px;font-weight:700;font-size:.95rem;background:var(--acc);color:var(--ink);border:0;cursor:pointer;position:relative;overflow:hidden;font-family:inherit}
.btn:after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);transition:left .9s var(--o)}
.btn:hover:after{left:130%}
.btn.o{background:rgba(241,238,228,.06);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(10px)}
.btn i{font-style:normal;transition:transform .5s var(--o)}.btn:hover i{transform:translateX(5px)}
.lb{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--acc)}
.lb:before{content:"";width:28px;height:1px;background:currentColor}
.h2{font-size:clamp(2.6rem,5.6vw,5.6rem);letter-spacing:-.045em;margin-top:20px}
.h2 em,h1 em{font-style:normal;color:var(--acc)}
.lead{color:var(--mu);font-size:1.1rem;max-width:46ch;margin-top:20px}
.map{border-radius:var(--rad);min-height:460px;box-shadow:inset 0 0 0 1px var(--line)}
.map .mp{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;text-align:center;padding:24px;background-size:cover;background-position:center}
.map .mp:before{content:"";position:absolute;inset:0;background:rgba(7,32,26,.72)}
.map .mp>*{position:relative}.map .mp p{color:var(--mu);font-size:.85rem}
.menu{position:fixed;inset:0;z-index:95;background:rgba(7,32,26,.97);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;padding:0 9vw;gap:6px;opacity:0;pointer-events:none;transition:opacity .6s}
.menu.o{opacity:1;pointer-events:auto}.menu a{font-size:clamp(2.2rem,9vw,3.4rem);font-weight:700;letter-spacing:-.03em;transform:translateY(30px);transition:transform .8s var(--o)}.menu.o a{transform:none}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--acc);position:relative;cursor:pointer;z-index:110}
.burger span{position:absolute;left:14px;right:14px;height:2px;background:var(--ink);transition:.4s var(--o)}.burger span:first-child{top:18px}.burger span:last-child{top:26px}
body.mo .burger span:first-child{transform:translateY(4px) rotate(45deg)}body.mo .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
form.fm{display:grid;gap:12px}
form.fm .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
form.fm input,form.fm textarea{font:inherit;font-weight:500;padding:17px 20px;border-radius:14px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:rgba(0,0,0,.18);color:var(--tx);outline:none;transition:box-shadow .4s}
form.fm input:focus,form.fm textarea:focus{box-shadow:inset 0 0 0 1px var(--acc)}
form.fm textarea{min-height:120px}
@media(max-width:760px){form.fm .two{grid-template-columns:1fr}}
.fb{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line);color:var(--mu);font-size:.88rem}
.fb nav{display:flex;gap:22px;flex-wrap:wrap}.fb a:hover{color:var(--acc)}

em{font-style:normal;color:var(--acc)}



header{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;width:min(1360px,94vw);border-radius:999px;background:rgba(7,32,26,.5);backdrop-filter:blur(20px) saturate(1.4);box-shadow:inset 0 0 0 1px var(--line);transition:.5s}
header.s{background:rgba(7,32,26,.85)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 28px}
.nav img{height:40px;width:auto}
.nav ul{display:flex;gap:6px;list-style:none;font-size:.88rem;font-weight:600}
.nav ul a{display:block;padding:10px 16px;border-radius:999px;color:var(--mu);transition:.35s}.nav ul a:hover,.nav ul a.on{color:var(--ink);background:var(--acc)}
/* portada mosaico */
.hero{min-height:100svh;padding:120px 3vw 40px;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:1fr 1fr;gap:14px}
.tile{position:relative;border-radius:var(--rad);overflow:hidden;clip-path:inset(100% 0 0 0 round 22px);transition:clip-path 1.5s var(--e)}
body.ready .tile{clip-path:inset(0 0 0 0 round 22px)}
.tile>.im{position:absolute;inset:-6%;background-size:cover;background-position:center;transform:scale(1.25) translate(calc(var(--tx,0)*var(--d,10px)),calc(var(--ty,0)*var(--d,10px)));transition:transform 2.4s var(--o)}
body.ready .tile>.im{transform:scale(1) translate(calc(var(--tx,0)*var(--d,10px)*-1),calc(var(--ty,0)*var(--d,10px)*-1))}
.t1{grid-column:1/8;grid-row:1/3;transition-delay:.1s}.t2{grid-column:8/11;grid-row:1/2;transition-delay:.3s}.t3{grid-column:11/13;grid-row:1/2;transition-delay:.45s}.t4{grid-column:8/10;grid-row:2/3;transition-delay:.6s}.t5{grid-column:10/13;grid-row:2/3;transition-delay:.75s}
.t1:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,32,26,.92) 10%,rgba(7,32,26,.1) 60%)}
.t1 .ct{position:absolute;left:44px;right:44px;bottom:44px;z-index:2}
.hero h1{font-size:clamp(3rem,6.6vw,7.2rem);letter-spacing:-.055em;line-height:.9;margin:22px 0 26px}
.hero .row{display:flex;gap:12px;flex-wrap:wrap;opacity:0;transform:translateY(16px);transition:1.1s 1.5s var(--o)}
body.ready .hero .row{opacity:1;transform:none}
.tile .tg{position:absolute;left:18px;bottom:16px;z-index:2;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:rgba(7,32,26,.55);backdrop-filter:blur(8px)}
.t4{background:var(--acc);color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;padding:26px}
.t4 b{font-size:clamp(2.2rem,3.6vw,3.6rem);letter-spacing:-.05em;line-height:1}.t4 small{font-weight:600}
/* marquee */
.mq{padding:30px 0;border-block:1px solid var(--line);font-size:clamp(1.6rem,3.4vw,3rem);font-weight:700;letter-spacing:-.03em;margin-top:40px}
.mq em{font-size:.5em}
.sec{padding:160px 0}
/* empresa sticky */
.sp{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:start}
.sp .st{position:sticky;top:130px}
.sp .cards{display:grid;gap:16px}
.kc{border-radius:var(--rad);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.kc .im{height:300px;position:relative}.kc .im div{position:absolute;inset:-10% 0;background-size:cover;background-position:center}
.kc .bd{padding:30px 34px}
.kc .acc-h{display:flex;justify-content:space-between;align-items:center;gap:20px}
.kc h3{font-size:1.7rem}.kc .acc-b p{color:var(--mu);padding-top:14px}
.kc .big{font-size:3.4rem;letter-spacing:-.05em;color:var(--acc);line-height:1}
/* servicios apilados */
.stk{position:sticky;top:110px;height:calc(100vh - 150px);margin-bottom:30px}
.stk .cd{height:100%;border-radius:32px;overflow:hidden;position:relative;display:grid;grid-template-columns:1fr 1fr;background:#0B2B22;box-shadow:0 -20px 60px rgba(0,0,0,.35),inset 0 0 0 1px var(--line);transform:scale(calc(1 - var(--k,0)*.07));filter:brightness(calc(1 - var(--k,0)*.45));transform-origin:center top}
.stk .ph{position:relative;overflow:hidden}.stk .ph div{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(calc(1.1 - var(--k,0)*.1))}
.stk .tx{padding:6vh 4vw;display:flex;flex-direction:column;justify-content:space-between}
.stk .n{font-size:clamp(4rem,8vw,7.5rem);font-weight:700;line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px var(--acc)}
.stk h3{font-size:clamp(2rem,3.6vw,3.4rem);letter-spacing:-.04em;margin-bottom:16px}
.stk p{color:var(--mu);font-size:1.08rem;max-width:42ch}
/* áreas horizontal */
.hs .pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
.hs .track{display:flex;gap:2.4vw;padding-left:6vw;will-change:transform;align-items:center}
.hs .intro{flex:0 0 min(420px,80vw)}
.hp{flex:0 0 min(64vw,920px);height:74vh;border-radius:30px;position:relative;overflow:hidden;display:flex;align-items:flex-end;isolation:isolate}
.hp .ph{position:absolute;inset:0 -10%;background-size:cover;background-position:center;transform:translateX(calc(var(--h,0)*-8%));z-index:-2}
.hp:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,32,26,.95) 10%,transparent 60%);z-index:-1}
.hp .ct{padding:48px;max-width:620px}.hp h3{font-size:clamp(2.4rem,4.4vw,4.2rem);margin:12px 0}.hp p{color:var(--mu);font-size:1.05rem}
.hq{flex:0 0 min(70vw,800px);font-size:clamp(2rem,4.4vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:1.08;padding-right:8vw}.hq em{font-style:normal;color:var(--acc)}
/* destacados mosaico */
.fgr{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:300px;gap:14px;margin-top:60px}
.fgc{position:relative;border-radius:var(--rad);overflow:hidden;cursor:pointer;isolation:isolate;grid-column:span 2}
.fgc:nth-child(1),.fgc:nth-child(5){grid-column:span 4;grid-row:span 2}
.fgc:nth-child(6),.fgc:nth-child(7){grid-column:span 3}
.fgc .ci{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;transition:transform 1.6s var(--o),filter .8s}
.fgc:hover .ci{transform:scale(1.08)}
.fgc:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,32,26,.92) 10%,rgba(7,32,26,.05) 65%);z-index:-1;transition:.6s}
.fgc:hover:after{background:linear-gradient(0deg,rgba(7,32,26,.95) 20%,rgba(7,32,26,.35) 80%)}
.fgc .ctx{position:absolute;left:28px;right:70px;bottom:26px}
.fgc h3{font-size:clamp(1.5rem,2.4vw,2.4rem);margin:10px 0 4px}.fgc p{color:var(--mu);font-size:.9rem}
.fgc .il{top:14px;bottom:auto}
.fgo{position:absolute;right:22px;bottom:24px;width:44px;height:44px;border-radius:50%;background:var(--acc);color:var(--ink);display:grid;place-items:center;font-size:1.4rem;font-weight:700;transition:transform .6s var(--o)}
.fgc:hover .fgo{transform:rotate(90deg) scale(1.1)}
/* archivo */
.arw{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:start}
.arw .st{position:sticky;top:130px}
.inn{display:grid;gap:14px;margin-top:40px}
.ib{border-radius:var(--rad);padding:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);display:grid;grid-template-columns:1fr 140px;gap:18px;align-items:center}
.ib .fr{background:#fff;border-radius:10px;padding:8px}.ib h3{font-size:1.25rem;margin-top:6px}.ib p{color:var(--mu);font-size:.88rem;margin-top:4px}
/* contacto */
.ctb{border-radius:36px;overflow:hidden;position:relative;padding:80px 6vw;isolation:isolate}
.ctb .ph{position:absolute;inset:-10% 0;background-size:cover;background-position:center;z-index:-2}
.ctb:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,32,26,.95) 30%,rgba(7,32,26,.6));z-index:-1}
.ctb h2{font-size:clamp(2.8rem,6vw,6rem);letter-spacing:-.055em;line-height:.92}
.ctg{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:60px}
.cl a,.cl p{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--line);font-weight:600;font-size:1.05rem}
.cl small{color:var(--mu);font-weight:500}.cl a:hover{color:var(--acc)}
.map{margin-top:14px;min-height:400px}
footer{padding:110px 0 40px;text-align:center}
footer .mask{font-size:clamp(3rem,11vw,11rem);font-weight:700;letter-spacing:-.06em;line-height:.9;-webkit-background-clip:text;background-clip:text;color:transparent;background-size:cover;background-position:center;margin-bottom:70px;animation:pan 16s ease-in-out infinite alternate}
@keyframes pan{to{background-position:center 80%}}
footer .fb{text-align:left}
@media(max-width:960px){
.nav ul,.nav>.btn{display:none}.burger{display:block}
.hero{grid-template-columns:1fr 1fr;grid-template-rows:62vh 180px 180px;padding:100px 4vw 30px}
.t1{grid-column:1/3;grid-row:1}.t2{grid-column:1;grid-row:2}.t3{grid-column:2;grid-row:2}.t4{grid-column:1;grid-row:3}.t5{grid-column:2;grid-row:3}.t1 .ct{left:24px;right:24px;bottom:24px}
.sec{padding:100px 0}
.sp,.arw,.ctg{grid-template-columns:1fr;gap:40px}.sp .st,.arw .st{position:static}
.stk{position:relative;top:0;height:auto}.stk .cd{grid-template-columns:1fr;transform:none;filter:none}.stk .ph{height:260px}.stk .tx{padding:30px}.stk .n{margin-bottom:24px}
.hs{height:auto!important}.hs .pin{position:static;height:auto;padding:100px 0}.hs .track{flex-direction:column;padding:0 5vw;transform:none!important;align-items:stretch}.hp,.hq,.hs .intro{flex:auto;width:100%}.hp{height:60vh}.hp .ct{padding:28px}.hq{padding:0}
.fgr{grid-template-columns:1fr;grid-auto-rows:340px}.fgc,.fgc:nth-child(n){grid-column:auto;grid-row:auto}
.ctb{padding:50px 7vw}.ib{grid-template-columns:1fr}
}

#wipe.cover i{transition:none!important;transform:scaleY(1)}#wipe.cover span{opacity:1;transition:none}
.nav ul a.cur{color:var(--ink);background:var(--acc)}
.menu a.cur{color:var(--acc)}
/* cabecera de página */
.phero{position:relative;min-height:78svh;padding:150px 0 70px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.phero .im{position:absolute;inset:14px;border-radius:30px;overflow:hidden;z-index:-1;clip-path:inset(100% 0 0 0 round 30px);transition:clip-path 1.6s .15s var(--e)}
body.ready .phero .im{clip-path:inset(0 0 0 0 round 30px)}
.phero .im div{position:absolute;inset:-6%;background-size:cover;background-position:center;transform:scale(1.25);transition:transform 2.6s .15s var(--o)}
body.ready .phero .im div{transform:scale(1)}
.phero .im:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,32,26,.95) 8%,rgba(7,32,26,.35) 60%,rgba(7,32,26,.55))}
.phero h1{font-size:clamp(3.2rem,9vw,9.4rem);letter-spacing:-.06em;line-height:.88;margin-top:22px}
.phero .lead{color:var(--tx);opacity:.85;font-size:1.15rem}
.crumb{display:flex;gap:10px;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mu)}
.crumb a:hover{color:var(--acc)}.crumb span{color:var(--acc)}
.phero .meta{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}
.phero .chips2{display:flex;gap:8px;flex-wrap:wrap}.phero .chips2 span{padding:9px 16px;border-radius:999px;background:rgba(7,32,26,.5);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--line);font-size:.85rem;font-weight:600}
/* enlaces con flecha */
.go{display:inline-flex;align-items:center;gap:12px;font-weight:700;color:var(--acc);margin-top:28px}
.go b{width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--acc);display:grid;place-items:center;transition:.5s var(--o)}
.go:hover b{background:var(--acc);color:var(--ink);transform:rotate(-45deg)}
.secth{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:60px}
/* banda de cifras */
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fgx{border-radius:var(--rad);padding:34px 30px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.fgx b{display:block;font-size:clamp(2.4rem,4.4vw,4.2rem);letter-spacing:-.05em;line-height:1;color:var(--acc)}
.fgx small{display:block;margin-top:12px;color:var(--mu)}
/* llamada final */
.cta{position:relative;border-radius:36px;overflow:hidden;padding:110px 6vw;text-align:center;isolation:isolate}
.cta .ph{position:absolute;inset:-12% 0;background-size:cover;background-position:center;z-index:-2}
.cta:after{content:"";position:absolute;inset:0;background:rgba(7,32,26,.82);z-index:-1}
.cta h2{font-size:clamp(2.6rem,6vw,6rem);letter-spacing:-.055em;line-height:.92}
.cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:40px}
/* filas de servicios */
.srow{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:60px 0;border-top:1px solid var(--line)}
.srow:nth-child(even) .im{order:2}
.srow .im{aspect-ratio:5/4;border-radius:var(--rad)}.srow .im>div{position:absolute;inset:-10% 0;background-size:cover;background-position:center}
.srow .n{font-size:.8rem;font-weight:700;letter-spacing:.2em;color:var(--acc)}
.srow h3{font-size:clamp(2rem,3.6vw,3.4rem);letter-spacing:-.04em;margin:14px 0}
.srow .lead{margin-top:0}
.srow .acc-b ul{list-style:none;padding-top:10px}.srow .acc-b li{padding:12px 0;border-top:1px solid var(--line);color:var(--mu)}
/* áreas en tarjetas */
.ag{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.acard{border-radius:var(--rad);overflow:hidden;position:relative;min-height:540px;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;isolation:isolate}
.acard .ph{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;transition:transform 1.6s var(--o)}
.acard:hover .ph{transform:scale(1.08)}
.acard:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,32,26,.96) 22%,rgba(7,32,26,.1) 70%);z-index:-1}
.acard h3{font-size:2.1rem;margin:10px 0}.acard .acc-b p{color:var(--mu);padding-top:8px}
/* equipo */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tm{border-radius:var(--rad);padding:32px 28px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.tm b{display:block;font-size:3.4rem;letter-spacing:-.05em;line-height:1;color:var(--acc)}.tm span{display:block;margin-top:14px;font-weight:600}
/* contacto */
.cgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.cbox{border-radius:var(--rad);padding:30px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .6s var(--o)}
a.cbox:hover{transform:translateY(-6px)}
.cbox small{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.cbox b{display:block;font-size:1.25rem;margin-top:10px;letter-spacing:-.01em}.cbox p{color:var(--mu);margin-top:6px;font-size:.92rem}
.c2{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}
.c2 .fbx{border-radius:var(--rad);padding:40px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.c2 .fbx h2{font-size:clamp(2rem,3.6vw,3.2rem);margin-bottom:24px}
.c2 .map{min-height:100%}
.note{color:var(--mu);font-size:.8rem;margin-top:6px}
/* textos legales */
.legal{max-width:820px}
.legal h2{font-size:1.6rem;margin:50px 0 14px;letter-spacing:-.02em}
.legal p,.legal li{color:var(--mu);margin-bottom:12px}
.legal ul{padding-left:20px}
.legal b{color:var(--tx)}
.legal table{width:100%;border-collapse:collapse;margin:10px 0 20px}.legal td{padding:12px 8px;border-top:1px solid var(--line);color:var(--mu);vertical-align:top}.legal td:first-child{color:var(--tx);font-weight:600;width:38%}
/* pie */
footer .fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:50px 0;border-top:1px solid var(--line);text-align:left}
footer .fcols h4{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}
footer .fcols a,footer .fcols p{display:block;color:var(--mu);margin-bottom:8px}footer .fcols a:hover{color:var(--acc)}
footer .fcols img{height:46px;width:auto;margin-bottom:16px}
/* 404 */
.e404{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 6vw}
.e404 b{display:block;font-size:clamp(7rem,24vw,22rem);font-weight:700;letter-spacing:-.07em;line-height:.8;-webkit-background-clip:text;background-clip:text;color:transparent;background-size:cover;background-position:center}
@media(max-width:960px){
.figs,.team{grid-template-columns:1fr 1fr}.ag,.cgrid,.c2,.srow{grid-template-columns:1fr}.srow:nth-child(even) .im{order:0}
.acard{min-height:420px}.cta{padding:70px 7vw}.c2 .map{min-height:380px}
footer .fcols{grid-template-columns:1fr 1fr}
.phero{min-height:64svh;padding-top:120px}
}
.arw .arow{grid-template-columns:120px 1fr}.arw .ap{grid-column:2;text-align:left}
@media(max-width:960px){.phero h1{font-size:11vw}.arw .arow{grid-template-columns:1fr}.arw .ap{grid-column:auto}}
