@font-face{font-family:Montserrat;src:url(../assets/fonts/Montserrat-Variable.woff) format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:Barlow;src:url(../assets/fonts/Barlow-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(../assets/fonts/Barlow-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Barlow;src:url(../assets/fonts/Barlow-SemiBold.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url(../assets/fonts/Barlow-Bold.woff) format("woff");font-weight:700 900;font-display:swap}
:root{--oc:#0A2540;--ce:#12A7B5;--se:#2F6B3F;--so:#FF6A2B;--ar:#F4EEE2;--ac:#587487;--ti:#0E1A22;
--fd:Montserrat,"Arial Black",Impact,sans-serif;--ft:Barlow,system-ui,-apple-system,"Segoe UI",sans-serif;--w:1200px;--p:clamp(1.1rem,4vw,2.5rem)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font:400 1.0625rem/1.6 var(--ft);color:var(--ti);background:var(--ar);-webkit-text-size-adjust:100%;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,.fd{font-family:var(--fd);font-stretch:125%;font-weight:800;line-height:1.02;text-transform:uppercase}
:focus-visible{outline:3px solid var(--so);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem}
.wrap{max-width:var(--w);margin:auto;padding:0 var(--p)}
.sec{padding:clamp(4rem,9vw,7rem) 0;position:relative}
.dk{background:var(--oc);color:#fff}.sl{background:var(--se);color:#fff}
h2{font-size:clamp(1.6rem,5vw,3.4rem);margin-bottom:1.2rem;max-width:20ch;text-wrap:balance}
h3{font-size:1.15rem}
.lead{max-width:60ch;font-size:1.1rem;margin-bottom:2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.6rem;border-radius:999px;font:800 .85rem var(--fd);font-stretch:125%;letter-spacing:.05em;text-decoration:none;border:2px solid;cursor:pointer;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-sun{background:var(--so);border-color:var(--so);color:var(--ti)}.btn-sun:hover{background:#ff8550}
.btn-o{border-color:#fff;color:#fff;background:transparent}.btn-o:hover{background:#ffffff22}
.sm{min-height:44px;padding:0 1.1rem}
.ph{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--oc),var(--ce))}
.ph:nth-child(3n+2){background:linear-gradient(135deg,var(--se),var(--ac))}
.ph:nth-child(3n){background:linear-gradient(135deg,var(--ac),var(--so))}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pl{opacity:.75;font-style:italic}
.dbgonly{display:none}.dbg .dbgonly{display:inline}
.dbg .pl{outline:2px dashed #f0f;background:#ff05;opacity:1}
.dbg .ph::after{content:attr(data-n);position:absolute;inset:auto 0 0;font:600 .7rem monospace;background:#000b;color:#fff;padding:.3rem;z-index:2}
/* header */
.hd{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:background .3s}
.hd.sld,.hd.open{background:var(--oc)}
.hdi{display:flex;align-items:center;gap:.6rem;height:68px}
.logo{text-decoration:none;font-size:1.05rem;margin-right:auto}
.logo img{height:54px;width:auto;max-width:none}
.bg{width:48px;height:48px;background:none;border:0;cursor:pointer;position:relative}
.bg i,.bg i::before{position:absolute;left:12px;width:24px;height:2px;background:#fff;transition:.25s}
.bg i{top:23px}.bg i::before{content:"";left:0;top:8px}
.open .bg i{transform:rotate(45deg)}.open .bg i::before{transform:translateY(-8px) rotate(-90deg)}
#nav{overflow-y:auto;position:fixed;inset:68px 0 0;background:var(--oc);display:none;flex-direction:column;justify-content:center;gap:.4rem;padding:2rem var(--p)}
.open #nav{display:flex}
#nav a:not(.btn){font:800 1.6rem var(--fd);font-stretch:125%;text-transform:uppercase;text-decoration:none;padding:.4rem 0}
#nav .btn{margin-top:1rem;align-self:flex-start}
#nav a{white-space:nowrap}
/* hero */
.hero{min-height:100svh;display:flex;align-items:flex-end;color:#fff;position:relative;overflow:hidden;background:var(--oc)}
.hbg{position:absolute;inset:-5% 0 0;transform:translateY(calc(var(--sy,0)*.2px))}
.hbg .ph,.hbg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hbg video{opacity:0;transition:opacity 1s}.hbg video.on{opacity:1}
.hov{position:absolute;inset:0;background:linear-gradient(180deg,#0A254099,#0A254022 40%,#0A2540ee),linear-gradient(110deg,#0A2540cc,transparent 65%)}
.wm{position:absolute;right:-2%;bottom:14%;font:800 22vw/1 var(--fd);font-stretch:125%;color:transparent;-webkit-text-stroke:2px #ffffff26;white-space:nowrap;transform:translateX(calc(var(--sy,0)*-.15px));pointer-events:none}
.hc{position:relative;padding-top:110px;padding-bottom:clamp(5rem,12vw,8rem);width:100%}
.ed{display:inline-block;background:var(--so);color:var(--ti);font:800 .8rem var(--fd);font-stretch:125%;padding:.35rem .8rem;margin-bottom:1rem}
h1{font-size:clamp(2rem,7.4vw,6rem);max-width:none;text-shadow:0 2px 30px #0A254088}
h1 span{display:block;color:var(--ce)}
.vb{position:relative;height:1.6em;font:800 clamp(1.2rem,3vw,1.8rem) var(--fd);font-stretch:125%;text-transform:uppercase;color:var(--so);margin:.6rem 0 1.2rem}
.vb span{position:absolute;left:0;opacity:0;animation:vb 10s infinite}
.vb span:nth-child(2){animation-delay:2s}.vb span:nth-child(3){animation-delay:4s}.vb span:nth-child(4){animation-delay:6s}.vb span:nth-child(5){animation-delay:8s}
@keyframes vb{0%{opacity:0;transform:translateY(.5em)}3%,18%{opacity:1;transform:none}21%,100%{opacity:0;transform:translateY(-.5em)}}
.hdt{margin-bottom:1.8rem}.hdt b{display:block;font:800 clamp(1.4rem,4vw,2.4rem) var(--fd);font-stretch:125%}.hdt span{font-weight:600;letter-spacing:.04em}
.cta{display:flex;flex-wrap:wrap;gap:.8rem}
.wv{position:absolute;bottom:-1px;left:0;width:100%;height:clamp(30px,5vw,70px)}
.bar .bi{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;padding:1.4rem var(--p)}
.bar span{display:block;opacity:.85}
.cd{display:flex;gap:.8rem}.cd div{text-align:center;min-width:56px}.cd b{display:block;font-size:clamp(1.6rem,4vw,2.4rem);color:var(--so)}.cd small{font-size:.65rem;letter-spacing:.1em}
.live{font-size:1.3rem}
/* about */
.ab{display:grid;gap:2.5rem}
.sts{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.sts b{display:block;font-size:clamp(2rem,6vw,3.4rem);color:var(--se)}.sts span{font-weight:600;font-size:.85rem}
.abi{aspect-ratio:4/3;border-radius:0 3rem 0 3rem}
/* strips */
.st{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--p) 1rem;scrollbar-width:thin}
.wrap>.st{padding:0 0 1rem}
.st>article{flex:0 0 min(78vw,320px);scroll-snap-align:start}
.vc .ph,.ec .ph{aspect-ratio:4/5;margin-bottom:.9rem}
.vc .ph{border-radius:2rem 0 2rem 0}.ec .ph{border-radius:0 2rem 0 2rem}
.vc p,.ec p{font-size:.95rem}.vc h3{color:var(--se);font-size:1.4rem;margin-bottom:.3rem}
.vcta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2rem;font:800 1.2rem var(--fd);font-stretch:125%;text-transform:uppercase}
.xs{scroll-snap-type:none;scrollbar-width:none}.xs::-webkit-scrollbar{display:none}.xs>article{scroll-snap-align:none}
.pz{margin-top:1rem;min-height:44px;padding:0 1.2rem;font:800 .75rem var(--fd);font-stretch:125%;background:none;border:2px solid #fff;color:#fff;border-radius:999px;cursor:pointer}
.xs{padding-left:max(var(--p),calc((100vw - var(--w))/2 + var(--p)))}
/* mosaic */
.mo{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:.6rem}
.tl{position:relative;overflow:hidden;border-radius:.4rem}.tl:first-child{grid-column:span 2}
.tl .ph{position:absolute;inset:0;transition:transform .6s}
.tl::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#0A2540ee)}
.tl div{position:absolute;inset:auto 0 0;padding:1rem;z-index:1}.tl p{font-size:.8rem;margin-top:.3rem}
/* experiences */
.ec h3{font-size:1.3rem;margin-bottom:.3rem}
/* gallery */
.yr{display:flex;gap:.5rem;margin-bottom:1.5rem}
.yb{min-height:44px;padding:0 1.2rem;border-radius:999px;border:2px solid var(--oc);background:none;font:800 .9rem var(--fd);font-stretch:125%;cursor:pointer;color:var(--oc)}
.yb[aria-pressed=true]{background:var(--oc);color:#fff}
.ms{columns:2;column-gap:.6rem}
.gi{break-inside:avoid;margin-bottom:.6rem;cursor:zoom-in}
.g0{aspect-ratio:4/5}.g1{aspect-ratio:1}.g2{aspect-ratio:3/4}.g3{aspect-ratio:5/4}
dialog{border:0;border-radius:1rem;padding:1.5rem;max-width:min(92vw,520px);width:100%}
dialog::backdrop{background:#0A2540dd}
#lb{max-width:96vw;background:none;padding:0}#lb img{max-height:85vh;margin:auto;border-radius:.5rem}
dialog{position:fixed;max-height:92dvh;overflow:auto;overscroll-behavior:contain}
.x{position:absolute;top:.7rem;right:.7rem;display:block;margin:0}
.x button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--oc);color:#fff;cursor:pointer;transition:background .2s,transform .2s}
.x button:hover{background:var(--so);color:var(--ti);transform:rotate(90deg)}
#lb{overflow:visible}#lb .x{position:fixed;top:max(.8rem,env(safe-area-inset-top));right:.8rem}#lb .x button{background:#fff;color:var(--oc)}
dialog h3{padding-right:3rem;font-size:1.35rem;margin-bottom:.4rem}#adp{margin-bottom:1rem}
body:has(dialog[open]){overflow:hidden}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
/* exhibitors */
.bn{display:grid;grid-template-columns:1fr;gap:1.6rem;margin:2.5rem 0 3.5rem}
.bn h3{color:var(--ce);margin-bottom:.3rem}.bn p{opacity:.9}
.fx{display:grid;gap:2rem;background:#ffffff12;padding:clamp(1.2rem,4vw,2.5rem);border-radius:2rem 0 2rem 0}
.fh{font-size:1.6rem;margin-bottom:.6rem}.alt{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
form{display:grid;gap:.9rem}
label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}
input,select,textarea{font:inherit;min-height:48px;padding:.6rem .9rem;border-radius:.5rem;border:2px solid #ffffff55;background:#fff;color:var(--ti)}
textarea{min-height:110px}
.hp{position:absolute;left:-999px}
.stt{font-weight:600;min-height:1.5em}.stt.ok{color:#8ff0a4}.stt.er{color:#ffb4a0}
dialog .stt.ok{color:var(--se)}dialog .stt.er{color:#b3261e}dialog label{color:var(--ti)}dialog input{border-color:var(--ac)}
/* brands */
.lg{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:0}.lg li{display:grid;place-items:center;min-height:90px;border:1px dashed var(--ac);font-weight:700}.lg img{max-height:60px}
/* visit */
.vs{display:grid;gap:2.5rem}
.big{font-size:clamp(1.8rem,5vw,3rem);color:var(--se);margin-bottom:1rem}
address{font-style:normal;margin-bottom:1.5rem;font-size:1.1rem}
.vs .btn-o{border-color:var(--oc);color:var(--oc)}
.inf{list-style:none;padding:0;display:grid;gap:.8rem}.inf>li{background:#fff;padding:1rem 1.2rem;border-left:6px solid var(--so)}.inf b{display:block}
.mp{margin-top:1.5rem;min-height:220px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ce),var(--oc));border-radius:1rem;overflow:hidden}.mp iframe{width:100%;height:320px;border:0}
/* final + footer */
.fin{min-height:80svh;display:grid;align-items:center;color:#fff;position:relative;overflow:hidden;padding:5rem 0;background:var(--oc)}
.fin .wrap{position:relative}.fin h2{font-size:clamp(2rem,7vw,5rem);max-width:14ch}
.fg{display:grid;gap:.8rem;padding-top:2rem;padding-bottom:.5rem}.fc{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;align-items:center}.fc .so{margin:0}.fg a{text-decoration:none}.fg a:hover{color:var(--so)}
.so{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.8rem}
.lg2{display:flex;flex-wrap:wrap;gap:1.2rem;padding-bottom:4.5rem;font-size:.85rem;opacity:.85}
.sk{position:fixed;inset:auto 0 0;z-index:40;padding:.6rem var(--p) calc(.6rem + env(safe-area-inset-bottom));background:var(--oc);transform:translateY(110%);transition:transform .3s}
.sk.on{transform:none}.sk .btn{width:100%}
.dock{position:fixed;right:.5rem;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:.5rem}
.dock a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--oc);color:#fff;box-shadow:0 4px 14px #0007;transition:transform .2s,filter .2s}
.dock a:hover{transform:scale(1.12);filter:brightness(1.1)}
.dock svg{width:22px;height:22px}
.dock a[data-n=whatsapp]{background:#25D366}.dock a[data-n=whatsapp] svg{width:26px;height:26px}
.dock a[data-n=instagram]{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.dock a[data-n=tiktok]{background:#000}.dock a[data-n=tiktok] svg{filter:drop-shadow(1.5px 1px 0 #25F4EE) drop-shadow(-1.5px -1px 0 #FE2C55)}
.dock a[data-n=facebook]{background:#1877F2}.dock a[data-n=youtube]{background:#f00}
.lgl{padding:5rem 0}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media(min-width:900px){
.bg{display:none}
#nav{position:static;display:flex;flex-direction:row;align-items:center;background:none;padding:0;gap:1.4rem}
#nav a:not(.btn){font:600 .95rem var(--ft);text-transform:none;padding:0}#nav .btn{margin:0}
.ab{grid-template-columns:1.2fr 1fr;align-items:center}.abi{grid-column:2;grid-row:1/3}.sts{grid-template-columns:repeat(4,auto);justify-content:start;gap:2.5rem}
.st.g4{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;padding:0}
.mo{grid-template-columns:repeat(6,1fr)}
.tl:first-child{grid-column:span 3;grid-row:span 2}.tl:nth-child(2),.tl:nth-child(3){grid-column:span 3}
.tl:nth-child(n+4):nth-child(-n+6){grid-column:span 2}.tl:nth-child(7){grid-column:span 2;grid-row:span 2}.tl:nth-child(8),.tl:nth-child(9){grid-column:span 4}
.tl p{max-height:0;opacity:0;transition:.4s}.tl:hover p,.tl:focus-visible p{max-height:4em;opacity:1}.tl:hover .ph{transform:scale(1.08)}
.ms{columns:4}.bn{grid-template-columns:repeat(3,1fr)}.fx{grid-template-columns:1fr 1.2fr}
.lg{grid-template-columns:repeat(6,1fr)}.vs{grid-template-columns:1fr 1fr}
.fg{grid-template-columns:1fr auto;align-items:center}.fc{justify-content:flex-end}.lg2{padding-bottom:1.5rem}.sk{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}.vb span:first-child{opacity:1}.hbg,.wm{transform:none}}

@media(min-width:900px){.dock{right:1rem}.dock a{width:50px;height:50px}.dock svg{width:24px;height:24px}.dock a[data-n=whatsapp] svg{width:28px;height:28px}}

@media(min-width:900px) and (max-width:1120px){#nav{gap:.9rem}#nav a:not(.btn){font-size:.78rem}.btn.sm{padding:0 .8rem}}

@media(min-width:600px) and (max-width:899px){
.st.g4{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible;padding:0;gap:1.5rem}.st.g4>article{flex:none}
.mo{grid-template-columns:repeat(3,1fr)}.tl:first-child{grid-column:span 2}.tl:last-child{grid-column:span 3}
.sts{grid-template-columns:repeat(4,1fr)}.bn{grid-template-columns:repeat(2,1fr)}.ms{columns:3}.lg{grid-template-columns:repeat(4,1fr)}
.fx{padding:2rem}.fg{grid-template-columns:1fr auto;align-items:center}.fc{justify-content:flex-end}
}
@media(max-width:599px){
#ad{margin:auto 0 0;max-width:100%;border-radius:1.2rem 1.2rem 0 0;padding:1.6rem 1.2rem calc(1.6rem + env(safe-area-inset-bottom))}
.dock{right:.35rem}.dock a{width:38px;height:38px}.dock svg{width:20px;height:20px}.dock a[data-n=whatsapp] svg{width:23px;height:23px}
}
@media(max-height:520px) and (orientation:landscape){.hero{min-height:auto}.hc{padding-top:84px;padding-bottom:4rem}}

.inf ul{list-style:none;padding:0;margin-top:.4rem;display:grid;gap:.25rem}.inf ul li{padding-left:1.1rem;position:relative}.inf ul li::before{content:"";position:absolute;left:0;top:.62em;width:.45rem;height:.45rem;border-radius:50%;background:var(--so)}

.abi video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.abt{background:none!important;border-radius:0;overflow:visible}.abt img{object-fit:contain;filter:none;inset:8%;width:84%;height:84%}

/* Sección Qué es: más aire */
#expo{padding:clamp(5rem,11vw,9rem) 0}.ab{gap:clamp(2rem,5vw,4rem)}.ab h2{font-size:clamp(1.5rem,3.4vw,2.5rem);max-width:18ch;line-height:1.1}.ab .lead{font-size:1rem;color:#0E1A22cc}.sts b{font-size:clamp(1.6rem,4vw,2.4rem)}

/* Qué es: composición equilibrada */
#expo{padding:clamp(4.5rem,9vw,8rem) 0}
.ab{gap:clamp(1.5rem,4vw,3.5rem)}
.ab h2{font-size:clamp(1.7rem,3.1vw,2.7rem);line-height:1.15;text-transform:none;letter-spacing:-.015em;max-width:22ch;text-wrap:balance;margin-bottom:1.1rem}
.ab .lead{font-size:1.1rem;max-width:46ch;margin-bottom:0}
.sts{border-top:2px solid #0E1A2214;padding-top:1.5rem;margin-top:.5rem}
.abt img,.abi img{inset:0;width:100%;height:100%}
.abi{max-width:480px;margin:0 auto;width:100%}
@media(min-width:900px){.ab{grid-template-columns:1fr 1.1fr}.ab>div:first-child{align-self:end}.sts{align-self:start}.abi{max-width:none}}

.lg-doc{max-width:760px}.lg-doc a{text-decoration:underline}
.lgl h1{font-size:clamp(1.8rem,5vw,2.8rem);margin:1.2rem 0 .8rem;max-width:none}
.lgl h2{font-size:1.2rem;text-transform:none;margin:2rem 0 .5rem;max-width:none;line-height:1.25}
.lgl p,.lgl li{margin-bottom:.7rem}.lgl ul{padding-left:1.2rem}
.np{font-size:.85rem;opacity:.9}.np a{text-decoration:underline}
