/* 360 Eventos La Central — estilos */
:root{--or:#F26A21;--or2:#E2551B;--ink:#0B0806;--ink2:#15100c;--bone:#EDEAE4;--wa:#25D366;--tx:#fff;--mut:rgba(255,255,255,.72);--line:rgba(255,255,255,.14);
  --f:'Inter Tight',system-ui,Arial,sans-serif;--fs:'Playfair Display',Georgia,serif;--fm:'JetBrains Mono',ui-monospace,monospace;--pad:clamp(20px,5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--tx);font:500 17px/1.6 var(--f);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--or);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:8px}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--pad)}
.sec{position:relative;padding:clamp(72px,11vw,150px) 0}
.sec--tight{padding-top:clamp(40px,6vw,80px)}
.sec--bone{background:var(--bone);color:var(--ink);--mut:rgba(11,8,6,.72);--line:rgba(11,8,6,.16)}
.grid-2{display:grid;gap:clamp(32px,6vw,90px);align-items:center}
@media(min-width:900px){.grid-2{grid-template-columns:1fr 1fr}.grid-2--rev>figure{order:-1}}

/* tipografía */
.tag{font:500 13px/1 var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:22px}
.h-xl,.h-lg{font-weight:900;letter-spacing:-.045em;line-height:.98;text-wrap:balance}
.h-xl{font-size:clamp(44px,8.2vw,118px)}
.h-lg{font-size:clamp(34px,5.4vw,76px);margin-bottom:28px;max-width:17ch}
em{font-family:var(--fs);font-style:italic;font-weight:600;letter-spacing:-.02em;color:var(--or)}
h3{font-weight:800;letter-spacing:-.025em;line-height:1.15}
p{color:var(--mut);max-width:62ch}
p+p{margin-top:14px}
.lead{font-size:clamp(19px,2vw,24px);color:inherit;font-weight:600;line-height:1.4}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;font:800 17px/1 var(--f);letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;
  background:linear-gradient(160deg,#F47A35,var(--or2));color:#fff;transition:transform .25s,box-shadow .25s,filter .25s;box-shadow:0 12px 34px rgba(242,106,33,.32)}
.btn:hover{filter:brightness(1.08);box-shadow:0 16px 44px rgba(242,106,33,.5)}
.btn--wa{background:linear-gradient(160deg,#2fe075,#1fb855);color:#04210f;box-shadow:0 12px 34px rgba(37,211,102,.3)}
.btn--wa:hover{box-shadow:0 16px 44px rgba(37,211,102,.5)}
.btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px var(--line)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--or)}
.btn--sm{min-height:42px;padding:0 20px;font-size:15px}
.btn--full{width:100%}
.ico{width:22px;height:22px;fill:currentColor}
.link{display:inline-block;margin-top:18px;font:800 15px var(--f);color:var(--or);text-decoration:none;background:linear-gradient(var(--or),var(--or)) 0 100%/0 2px no-repeat;transition:background-size .35s;padding-bottom:4px}
.link::after{content:" →"}
.link:hover,.link:focus-visible{background-size:100% 2px}
.linkbtn{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0;text-align:left}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:14px var(--pad);transition:background .3s,backdrop-filter .3s,padding .3s}
.nav.is-stuck{background:rgba(11,8,6,.82);backdrop-filter:blur(14px);padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.nav__logo img{width:clamp(150px,16vw,210px)}
.nav__links{display:flex;align-items:center;gap:28px;font:600 15px var(--f)}
.nav__links a:not(.btn){text-decoration:none;opacity:.85;transition:opacity .2s,color .2s}
.nav__links a:not(.btn):hover{opacity:1;color:var(--or)}
.nav__burger{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;position:relative}
.nav__burger span{position:absolute;left:11px;right:11px;height:2px;background:#fff;transition:transform .3s,top .3s}
.nav__burger span:first-child{top:19px}.nav__burger span:last-child{top:28px}
.nav__burger[aria-expanded=true] span:first-child{top:23px;transform:rotate(45deg)}
.nav__burger[aria-expanded=true] span:last-child{top:23px;transform:rotate(-45deg)}
@media(max-width:1000px){
  .nav__burger{display:block;z-index:2}
  .nav__links{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:26px;background:rgba(11,8,6,.97);font-size:26px;font-weight:800;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .nav__links.is-open{opacity:1;visibility:visible}
}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:120px 0 clamp(70px,9vh,110px);overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-3}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-1.5%,-1%)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(11,8,6,.94) 0%,rgba(11,8,6,.72) 45%,rgba(11,8,6,.25) 100%),linear-gradient(0deg,var(--ink) 0%,rgba(11,8,6,0) 40%)}
.hero__glow{position:absolute;z-index:-1;left:0;top:0;width:70vmax;height:70vmax;margin:-35vmax 0 0 -35vmax;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(242,106,33,.3),rgba(242,106,33,0) 60%);transform:translate(30vw,45vh);mix-blend-mode:screen}
.hero__inner{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--pad)}
.hero__mark{position:relative;width:86px;height:86px;margin-bottom:26px;display:grid;place-items:center;font:500 15px var(--fm);letter-spacing:.08em}
.hero__mark svg{position:absolute;inset:0;overflow:visible}
.ring{fill:none;stroke:var(--or);stroke-width:3;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);filter:drop-shadow(0 0 6px var(--or));animation:draw 1.6s .2s cubic-bezier(.6,0,.2,1) forwards}
.ring2{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1;stroke-dasharray:2 5;animation:spin 30s linear infinite;transform-origin:center}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes spin{to{transform:rotate(360deg)}}
.hero__sub{font-size:clamp(18px,2vw,24px);color:#fff;margin:26px 0 34px;max-width:40ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}
.hero__stats{list-style:none;display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,70px);margin-top:clamp(40px,6vh,70px);padding-top:26px;border-top:1px solid var(--line)}
.hero__stats b{display:block;font:900 clamp(30px,3.6vw,48px)/1 var(--f);letter-spacing:-.04em}
.hero__stats i{font-style:normal}
.hero__stats span{font:500 12px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.hero__scroll{position:absolute;right:var(--pad);bottom:34px;width:26px;height:44px;border:1.5px solid var(--line);border-radius:14px}
.hero__scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--or);animation:wheel 1.8s infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(16px);opacity:0}}
@media(max-width:700px){.hero__scroll{display:none}.hero::before{background:linear-gradient(0deg,var(--ink) 8%,rgba(11,8,6,.78) 55%,rgba(11,8,6,.45) 100%)}}

/* media */
.media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 100px rgba(0,0,0,.5)}
.media img{width:100%;height:116%;object-fit:cover}
#infraestructura .media{aspect-ratio:1}

/* pilares */
.pillars{display:grid;gap:18px;margin-top:clamp(48px,7vw,96px)}
@media(min-width:800px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillar{padding:30px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,0));transition:border-color .3s,transform .3s}
.pillar:hover{border-color:var(--or);transform:translateY(-4px)}
.pillar__k{font:600 44px/1 var(--fs);font-style:italic;color:var(--or)}
.pillar h3{font-size:26px;margin:14px 0 8px}

/* chips */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chips li{font:600 14px/1 var(--f);padding:9px 14px;border-radius:999px;border:1px solid rgba(242,106,33,.5);background:rgba(242,106,33,.1)}
.chips--lg{margin:6px 0 26px}.chips--lg li{font-size:16px;padding:11px 18px}
.chips--lg+p{margin-bottom:28px}

/* servicios */
.services{display:grid;gap:18px;margin-top:20px}
@media(min-width:760px){.services{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1180px){.services{grid-template-columns:repeat(3,1fr)}}
.svc{position:relative;border-radius:22px;overflow:hidden;min-height:480px;display:flex;align-items:flex-end;isolation:isolate;border:1px solid var(--line)}
.svc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.svc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,8,6,.97) 30%,rgba(11,8,6,.55) 62%,rgba(11,8,6,.15));transition:background .4s}
.svc__body{padding:26px}
.svc h3{font-size:clamp(24px,2.4vw,30px)}
.svc .tag{margin-bottom:12px}
@media(hover:hover) and (min-width:760px){
  .svc .chips,.svc .link{opacity:0;transform:translateY(14px);transition:opacity .4s,transform .4s;max-height:0;margin-top:0;overflow:hidden}
  .svc:hover .chips,.svc:focus-within .chips{opacity:1;transform:none;max-height:260px;margin-top:16px}
  .svc:hover .link,.svc:focus-within .link{opacity:1;transform:none;max-height:60px;margin-top:18px}
  .svc:hover>img{transform:scale(1.08)}
  .svc:hover::before{background:linear-gradient(0deg,rgba(11,8,6,.98) 45%,rgba(11,8,6,.8) 75%,rgba(11,8,6,.4))}
}

/* eventos */
.events{display:grid;gap:18px;padding:0 var(--pad);max-width:1600px;margin:20px auto 0}
@media(min-width:900px){.events{grid-template-columns:1.25fr 1fr 1fr}}
.ev{position:relative;border-radius:22px;overflow:hidden;min-height:clamp(420px,52vw,640px);display:flex;align-items:flex-end;isolation:isolate}
.ev>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.ev:hover>img{transform:scale(1.06)}
.ev::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,8,6,.96) 22%,rgba(11,8,6,.2) 70%)}
.ev__body{padding:clamp(22px,3vw,36px)}
.ev h3{font-size:clamp(28px,3vw,42px);margin-bottom:10px}
.ev p{color:rgba(255,255,255,.82)}

/* proceso */
.proc{background:radial-gradient(circle at 20% 50%,#2a1306,var(--ink) 55%)}
.proc__grid{display:grid;gap:clamp(30px,6vw,90px);align-items:start;margin-top:20px}
@media(min-width:900px){.proc__grid{grid-template-columns:minmax(260px,420px) 1fr}.proc__circle{position:sticky;top:120px}}
.proc__circle{position:relative;aspect-ratio:1;max-width:420px;width:70%;margin:0 auto;display:grid;place-items:center;align-content:center}
@media(min-width:900px){.proc__circle{width:100%}}
.proc__circle svg{position:absolute;inset:0;overflow:visible}
.proc__track{fill:none;stroke:var(--line);stroke-width:2}
.proc__fill{fill:none;stroke:var(--or);stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:80;filter:drop-shadow(0 0 8px var(--or));transition:stroke-dashoffset .6s cubic-bezier(.2,.7,.2,1)}
.proc__num{font:900 clamp(90px,14vw,170px)/1 var(--f);letter-spacing:-.06em}
.proc__of{font:500 13px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.proc__steps{list-style:none}
.proc__steps li{display:flex;gap:22px;padding:clamp(22px,3vw,34px) 0;border-top:1px solid var(--line);opacity:.38;transition:opacity .4s}
.proc__steps li.is-on{opacity:1}
.proc__steps span{font:500 14px var(--fm);letter-spacing:.14em;color:var(--or);padding-top:8px}
.proc__steps h3{font-size:clamp(28px,3.4vw,46px);margin-bottom:6px}

/* razones y sectores */
.reasons,.sectors{display:grid;gap:0;margin-top:24px;border-top:1px solid var(--line)}
@media(min-width:760px){.reasons{grid-template-columns:repeat(2,1fr)}.sectors{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1180px){.reasons{grid-template-columns:repeat(3,1fr)}.sectors{grid-template-columns:repeat(4,1fr)}}
.reasons article,.sectors article{padding:30px 26px 34px 0;border-bottom:1px solid var(--line)}
.reasons span{font:600 34px/1 var(--fs);font-style:italic;color:var(--or)}
.reasons h3{font-size:24px;margin:14px 0 8px}
.sectors h3{font-size:21px;margin-bottom:8px}
.sectors article{position:relative;transition:padding-left .3s}
.sectors article::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--or);transition:width .4s}
.sectors article:hover::before{width:100%}

/* clientes */
.marquee{overflow:hidden;margin-top:26px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee__track{display:flex;gap:28px;width:max-content;animation:mq 34s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee img{width:210px;height:112px;object-fit:contain;background:#fff;border-radius:16px;padding:18px;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.marquee img:hover{filter:none;opacity:1}
@keyframes mq{to{transform:translateX(-50%)}}

/* cobertura */
.cities{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.cities li{padding:11px 18px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:16px}
.cities .is-main{background:var(--or);border-color:var(--or);font-weight:800}
.cities .is-more{border-style:dashed;color:var(--mut);font-family:var(--fs);font-style:italic}
.map{position:relative;aspect-ratio:3/4;max-width:520px;width:100%;margin:0 auto}
.map svg{width:100%;height:100%;overflow:visible}
.map line{stroke:var(--or);stroke-width:1.5;stroke-dasharray:100;stroke-dashoffset:100;opacity:.8;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.7,.2,1)}
.map.is-in line{stroke-dashoffset:0}
.map circle{fill:#fff;opacity:0;transition:opacity .4s}
.map text{font:600 18px var(--f);fill:#fff;opacity:0;transition:opacity .4s}
.map.is-in circle,.map.is-in text{opacity:1}
.map .hub{fill:var(--or);opacity:1;filter:drop-shadow(0 0 10px var(--or))}
.map .hubtx{font-weight:900;font-size:22px;opacity:1}
.map .pulse{fill:none;stroke:var(--or);stroke-width:1.5;opacity:1;transform-origin:center;transform-box:fill-box;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{from{transform:scale(1);opacity:.9}to{transform:scale(4);opacity:0}}

/* cotiza */
.cta{overflow:hidden;isolation:isolate}
.cta__bg{position:absolute;inset:0;z-index:-2}
.cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.32}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--ink) 4%,rgba(11,8,6,.7) 50%,var(--ink) 100%)}
.contact{display:grid;gap:18px;margin-top:38px}
.contact dt{font:500 12px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:2px}
.contact dd{font-size:clamp(19px,2vw,24px);font-weight:600}
.contact a{text-decoration:none}.contact a:hover{color:var(--or)}
.form{background:rgba(21,16,12,.86);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3.4vw,40px);display:grid;gap:14px}
.form h3{font-size:30px}
.form__hint{font-size:15px;margin-bottom:6px}
.form__row{display:grid;gap:14px}
@media(min-width:620px){.form__row{grid-template-columns:1fr 1fr}}
.form label{display:grid;gap:6px;font:600 14px var(--f);color:rgba(255,255,255,.85)}
.form input:not([type=checkbox]),.form select,.form textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;font:500 16px var(--f);transition:border-color .2s,background .2s}
.form select option{color:#111}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--or);background:rgba(255,255,255,.09)}
.form .is-bad{border-color:#ff6b5e}
.form__check{grid-template-columns:22px 1fr;align-items:start;gap:12px;font-weight:500;line-height:1.45}
.form__check input{width:22px;height:22px;accent-color:var(--or);margin-top:2px}
.form__check a{color:var(--or)}
.form__err{color:#ff8f85;font-weight:600;font-size:15px}

/* footer */
.foot{border-top:1px solid var(--line);padding:64px 0 28px;background:#080604}
.foot__grid{display:grid;gap:36px}
@media(min-width:800px){.foot__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}
.foot__logo{width:220px;margin-bottom:14px}
.foot h4{font:500 12px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:14px}
.foot a,.foot .linkbtn{display:block;text-decoration:none;color:var(--mut);padding:5px 0;font-size:16px}
.foot a:hover,.foot .linkbtn:hover{color:#fff}
.foot__legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;max-width:1320px}

/* WhatsApp flotante */
.wa{position:fixed;right:18px;bottom:18px;z-index:95;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.wa[hidden]{display:none}
.wa__btn{width:62px;height:62px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 34px rgba(37,211,102,.45);position:relative;animation:pop .5s cubic-bezier(.2,1.4,.4,1)}
.wa__btn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:pulse2 2.2s ease-out infinite}
@keyframes pulse2{from{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}
@keyframes pop{from{transform:scale(0)}}
.wa__btn svg{width:34px;height:34px;fill:#fff}
.wa__bubble{position:relative;background:#fff;color:#111;border-radius:16px 16px 4px 16px;padding:14px 38px 14px 16px;max-width:250px;box-shadow:0 14px 40px rgba(0,0,0,.4);animation:pop .4s .2s backwards}
.wa__bubble b{display:block;font-size:16px}.wa__bubble span{font-size:13px;color:#555}
.wa__bubble button{position:absolute;right:6px;top:4px;width:30px;height:30px;border:0;background:none;font-size:22px;cursor:pointer;color:#666}
.wa__bubble[hidden]{display:none}

/* cookies */
.cookie{position:fixed;left:18px;bottom:18px;z-index:96;max-width:430px;background:#17110d;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.6);display:grid;gap:14px;font-size:15px}
.cookie[hidden],.cookie__opts[hidden]{display:none}
.cookie a{color:var(--or)}
.cookie__btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cookie__opts{display:grid;gap:10px}
.cookie__opts label{display:flex;gap:10px;align-items:center}
@media(max-width:560px){.cookie{left:10px;right:10px;bottom:90px}}

/* cursor y grano */
.cursor{position:fixed;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--or);pointer-events:none;z-index:120;opacity:0;mix-blend-mode:screen;transition:width .25s,height .25s,margin .25s,opacity .3s}
.cursor.is-on{opacity:.9}
.cursor.is-hover{width:54px;height:54px;margin:-27px 0 0 -27px;opacity:.35}
.grain{position:fixed;inset:-50%;z-index:110;pointer-events:none;opacity:.06;
  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");animation:gr 1.2s steps(6) infinite}
@keyframes gr{to{transform:translate(4%,-3%)}}

/* animaciones de entrada (solo si hay JS: clase .js en <html>) */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal-img>img{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.js .reveal-img.is-in>img{clip-path:inset(0)}
.js [data-words] .w{display:inline-block;opacity:0;transform:translateY(.4em);filter:blur(8px);transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1),filter .7s;transition-delay:calc(var(--i)*55ms)}
.js [data-words].is-in .w{opacity:1;transform:none;filter:none}
.services .reveal:nth-child(3n+2),.pillars .reveal:nth-child(2),.reasons .reveal:nth-child(3n+2){transition-delay:.1s}
.services .reveal:nth-child(3n),.pillars .reveal:nth-child(3),.reasons .reveal:nth-child(3n){transition-delay:.2s}

@media(prefers-reduced-motion:reduce){
  .hero__bg img,.grain,.ring2,.marquee__track{animation:none}
  .cursor{display:none}
}

/* páginas legales y 404 */
.doc{max-width:860px;margin:0 auto;padding:140px var(--pad) 90px}
.doc h1{font:900 clamp(34px,5vw,60px)/1 var(--f);letter-spacing:-.04em;margin-bottom:10px}
.doc h2{font:800 24px/1.2 var(--f);letter-spacing:-.02em;margin:38px 0 10px;color:#fff}
.doc p,.doc li{color:var(--mut);max-width:none}
.doc ul,.doc ol{padding-left:22px;margin:10px 0}
.doc li{margin:6px 0}
.doc a{color:var(--or)}
.doc .note{border:1px solid rgba(242,106,33,.5);background:rgba(242,106,33,.08);border-radius:14px;padding:16px 18px;margin:24px 0}
.e404{min-height:100svh;display:grid;place-items:center;text-align:center;padding:var(--pad);background:radial-gradient(circle at 50% 40%,#2a1306,var(--ink) 60%)}
.e404 b{display:block;font:900 clamp(120px,26vw,300px)/.9 var(--f);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:3px var(--or)}
.e404 p{margin:16px auto 30px}

.wa__btn svg{color:#fff}.btn .ico{width:24px;height:24px}
