:root{
    --void:#000000;
    --ink:#07060a;
    --violet:#4E25B3;
    --violet-lit:#8C6BE1;
    --violet-deep:#33167A;
    --magenta:#DA44C2;
    --cyan:#01D7DD;
    --white:#ffffff;
    --ash:#9a95a6;
    --ash-dim:#615c6b;
    --line:rgba(255,255,255,.14);
    --beam:linear-gradient(90deg,var(--cyan),var(--violet) 58%,var(--magenta));
    --rule:linear-gradient(90deg,var(--violet-lit),var(--cyan));
    --display:"Archivo","Arial Narrow",system-ui,sans-serif;
    --body:"Inter",system-ui,sans-serif;
    --data:"JetBrains Mono",ui-monospace,monospace;
    --nav-h:76px;
    --bar-h:48px;
    --gut:clamp(20px,4vw,64px)
}
*,*:before,*:after {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    background:var(--void);
    color:var(--white);
    font-family:var(--body);
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden
}
img,svg {
    display:block;
    max-width:100%
}
a {
    color:inherit;
    text-decoration:none
}
button {
    font:inherit;
    color:inherit;
    background:none;
    border:0;
    cursor:pointer
}
ul,ol {
    margin:0;
    padding:0;
    list-style:none
}
h1,h2,h3,p {
    margin:0
}
:focus-visible {
    outline:2px solid var(--cyan);
    outline-offset:3px
}
.u-wide {
    font-family:var(--display);
    font-variation-settings:"wdth" 112
}
.progress {
    position:fixed;
    top:0;
    right:0;
    width:3px;
    height:100vh;
    z-index:60;
    background:#ffffff0f
}
.progress span {
    display:block;
    width:100%;
    height:0;
    background:var(--rule);
    background-size:100% 100%;
    transform-origin:top
}
.nav {
    position:fixed;
    inset:0 0 auto;
    z-index:50;
    height:var(--nav-h);
    display:flex;
    align-items:center;
    gap:var(--gut);
    padding:0 var(--gut);
    transition:background .35s ease,backdrop-filter .35s ease,border-color .35s ease;
    border-bottom:1px solid transparent
}
.nav.is-stuck {
    background:#000000b8;
    backdrop-filter:blur(14px);
    border-bottom-color:#8c6be152
}
.sprite {
    position:absolute;
    width:0;
    height:0;
    overflow:hidden
}
.nav__brand {
    position:relative;
    display:block;
    width:clamp(112px,9.4vw,152px);
    aspect-ratio:2733.19/679.09;
    color:var(--violet-lit)
}
.nav__brand-line {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:visible;
    fill:currentColor;
    stroke:none;
    transition:opacity .34s ease,transform .34s cubic-bezier(.2,.8,.2,1)
}
.nav__brand-3d {
    position:absolute;
    left:-6.33%;
    top:-31.75%;
    width:111.99%;
    height:auto;
    opacity:0;
    transform:scale(.95);
    filter:drop-shadow(0 0 16px rgba(140,107,225,.5));
    transition:opacity .34s ease,transform .34s cubic-bezier(.2,.8,.2,1)
}
.nav__brand:hover .nav__brand-line,.nav__brand:focus-visible .nav__brand-line {
    opacity:0;
    transform:scale(1.05)
}
.nav__brand:hover .nav__brand-3d,.nav__brand:focus-visible .nav__brand-3d {
    opacity:1;
    transform:scale(1)
}
.nav__links {
    display:flex;
    gap:clamp(14px,2vw,34px);
    margin-left:auto
}
.nav__links a {
    font-size:12.5px;
    font-weight:400;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#ffffffe6;
    padding:6px 0;
    position:relative;
    white-space:nowrap
}
.nav__links a:after {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    height:1px;
    width:0;
    background:var(--rule);
    transition:width .32s cubic-bezier(.2,.8,.2,1)
}
.nav__links a:hover:after {
    width:100%
}
.nav__tools {
    display:none
}
.nav__burger {
    display:grid;
    gap:7px;
    padding:8px 0;
    width:30px
}
.nav__burger span {
    height:1.5px;
    background:var(--white);
    transition:background .3s,transform .3s
}
.nav__burger:hover span {
    background:var(--violet-lit)
}
.menu {
    position:fixed;
    inset:0;
    z-index:70;
    background:var(--void);
    display:grid;
    place-items:center;
    padding:calc(var(--nav-h) + 30px) var(--gut) 60px;
    opacity:0;
    transition:opacity .4s ease
}
.menu:before {
    content:"";
    position:absolute;
    inset:auto -10% -30%;
    height:70%;
    background:radial-gradient(60% 100% at 50% 100%,rgba(78,37,179,.5),transparent 70%);
    pointer-events:none
}
.menu[hidden] {
    display:none
}
.menu.is-open {
    opacity:1
}
.menu__close {
    position:absolute;
    top:24px;
    right:var(--gut)
}
.menu__close svg {
    width:26px;
    height:26px;
    fill:none;
    stroke:var(--white);
    stroke-width:1.4
}
.menu__close:hover svg {
    stroke:var(--violet-lit)
}
.menu__inner {
    position:relative;
    width:min(1100px,100%);
    display:grid;
    grid-template-columns:1.5fr .8fr;
    gap:clamp(30px,6vw,90px);
    align-items:start
}
.menu__label {
    font-family:var(--data);
    font-size:10.5px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--cyan);
    margin-bottom:22px
}
.menu__list li+li {
    border-top:1px solid var(--line)
}
.menu__list a {
    display:flex;
    align-items:baseline;
    gap:20px;
    padding:16px 0;
    font-family:var(--display);
    font-variation-settings:"wdth" 108;
    font-size:clamp(26px,4.4vw,46px);
    font-weight:600;
    line-height:1;
    color:#ffffff8c;
    transition:color .28s,transform .28s
}
.menu__list a:hover {
    color:var(--white);
    transform:translate(10px)
}
.menu__list em {
    font-family:var(--data);
    font-style:normal;
    font-size:11px;
    color:var(--violet-lit);
    letter-spacing:.1em
}
.menu__phone {
    display:block;
    font-family:var(--display);
    font-size:22px;
    font-weight:600;
    font-variation-settings:"wdth" 106;
    margin-bottom:8px
}
.menu__phone:hover {
    color:var(--cyan)
}
.menu__note {
    margin-top:20px;
    font-size:13.5px;
    line-height:1.7;
    color:var(--ash)
}
.hero {
    position:relative;
    min-height:100svh;
    padding:var(--nav-h) var(--gut) calc(var(--bar-h) + clamp(18px,3.4vh,44px));
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,420px);
    align-items:end;
    gap:var(--gut);
    overflow:hidden
}
.hero__canvas {
    position:absolute;
    inset:0;
    width:100%;
    height:100%
}
.hero__video,.nums__video {
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    background:#04030a
}
.hero__vignette {
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(120% 90% at 50% 50%,transparent 30%,rgba(0,0,0,.72) 100%),linear-gradient(180deg,rgba(0,0,0,.85),transparent 26%)
}
.hero__mark {
    position:absolute;
    left:calc(var(--gut) - 2px);
    top:50%;
    transform:translateY(-50%);
    height:clamp(230px,44vh,440px);
    aspect-ratio:679.09/2733.19;
    fill:var(--violet-lit);
    stroke:none;
    opacity:.82;
    pointer-events:none
}
.hero__title {
    position:relative;
    grid-column:1;
    justify-self:center;
    font-family:var(--display);
    font-weight:500;
    font-size:clamp(28px,min(4.9vw,7.6vh),68px);
    font-variation-settings:"wdth" 104;
    line-height:1.02;
    letter-spacing:-.005em;
    text-transform:uppercase;
    max-width:16ch
}
.hero__title span {
    display:block;
    opacity:0;
    transform:translateY(22px);
    animation:riseIn .9s cubic-bezier(.2,.8,.2,1) forwards
}
.hero__title span:nth-child(1) {
    animation-delay:.25s
}
.hero__title span:nth-child(2) {
    animation-delay:.38s
}
.hero__title span:nth-child(3) {
    animation-delay:.51s
}
@keyframes riseIn {
    to {
        opacity:1;
        transform:none
    }

}
.hero__seal {
    position:absolute;
    right:clamp(400px,36vw,560px);
    top:23%;
    width:clamp(110px,11vw,164px);
    aspect-ratio:1
}
.hero__seal svg {
    width:100%;
    height:100%
}
.hero__seal-spin {
    transform-box:view-box;
    transform-origin:center;
    animation:sealSpin 46s linear infinite
}
@keyframes sealSpin {
    to {
        transform:rotate(360deg)
    }

}
.hero__seal-ring {
    fill:none;
    stroke:#ffffff52;
    stroke-width:1
}
.hero__seal-text {
    fill:#ffffffb8;
    font-family:var(--data);
    font-size:13.5px;
    letter-spacing:.22em
}
.hero__seal-num {
    fill:none;
    stroke:var(--white);
    stroke-width:1.6;
    font-family:var(--display);
    font-size:96px;
    font-weight:300;
    font-variation-settings:"wdth" 90;
    text-anchor:middle
}
.hero__panel {
    position:relative;
    grid-column:2;
    align-self:center;
    border:1px solid var(--violet-lit);
    background:linear-gradient(180deg,#0c0818a8,#04030ae0);
    backdrop-filter:blur(3px);
    padding:clamp(15px,2.5vh,30px) clamp(20px,2.2vw,32px);
    display:grid;
    gap:clamp(11px,2vh,24px);
    box-shadow:-40px 0 90px -34px #4e25b39e,0 30px 90px -30px #4e25b380;
    opacity:0;
    transform:translate(26px);
    animation:riseIn .9s .7s cubic-bezier(.2,.8,.2,1) forwards
}
.card h2 {
    font-family:var(--display);
    font-size:clamp(14px,min(1.3vw,2.2vh),19px);
    font-weight:600;
    font-variation-settings:"wdth" 106;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:5px
}
.card p {
    font-size:clamp(12.5px,1.7vh,13.5px);
    line-height:1.45;
    color:var(--ash);
    max-width:54ch
}
.card__cta {
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:clamp(7px,1.2vh,11px);
    font-size:11px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--violet-lit)
}
.card__cta--solid {
    color:var(--white);
    background:linear-gradient(90deg,var(--violet),#6B3AD9);
    padding:8px 14px
}
.card__cta i {
    width:26px;
    height:1px;
    background:currentColor;
    position:relative;
    transition:width .3s cubic-bezier(.2,.8,.2,1)
}
.card__cta i:after {
    content:"";
    position:absolute;
    right:0;
    top:-3px;
    width:7px;
    height:7px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:rotate(45deg)
}
.card__cta:hover i {
    width:40px
}
.card__cta:hover {
    color:var(--cyan)
}
.card__cta--solid:hover {
    color:var(--white);
    filter:brightness(1.15)
}
.hero__replay {
    position:absolute;
    right:clamp(400px,36vw,560px);
    bottom:calc(var(--bar-h) + 44px);
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11.5px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#ffffffc7;
    border-bottom:1px solid rgba(255,255,255,.4);
    padding-bottom:4px
}
.hero__replay svg {
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.4
}
.hero__replay:hover {
    color:var(--cyan);
    border-bottom-color:var(--cyan)
}
.fest {
    position:relative;
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:120px var(--gut);
    overflow:hidden;
    background:#020104
}
.fest__stage {
    position:absolute;
    inset:0
}
.fest__glow {
    position:absolute;
    left:50%;
    top:42%;
    transform:translate(-50%,-50%);
    width:min(900px,90vw);
    aspect-ratio:1;
    background:radial-gradient(circle,rgba(255,255,255,.5) 0%,rgba(1,215,221,.22) 14%,rgba(78,37,179,.18) 34%,transparent 66%);
    filter:blur(6px);
    animation:pulse 5.5s ease-in-out infinite
}
@keyframes pulse {
    0%,to {
        opacity:.75;
        transform:translate(-50%,-50%) scale(1)
    }
    50% {
        opacity:1;
        transform:translate(-50%,-50%) scale(1.06)
    }

}
.fest__rays {
    position:absolute;
    left:50%;
    top:42%;
    width:260vmax;
    height:260vmax;
    transform:translate(-50%,-50%);
    background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg 6.2deg,rgba(255,255,255,.12) 6.2deg 6.6deg,transparent 6.6deg 13deg);
    mask-image:radial-gradient(circle,rgba(0,0,0,.95) 4%,rgba(0,0,0,.5) 34%,transparent 62%);
    animation:sweep 90s linear infinite
}
@keyframes sweep {
    to {
        transform:translate(-50%,-50%) rotate(360deg)
    }

}
.fest__pillars {
    position:absolute;
    inset:0;
    display:flex;
    justify-content:space-between;
    padding:0 4vw;
    opacity:.5
}
.fest__pillars span {
    width:9px;
    height:56%;
    align-self:center;
    background:linear-gradient(180deg,transparent,var(--violet-lit) 22%,var(--violet) 78%,transparent);
    filter:blur(1px)
}
.fest__pillars span:nth-child(2n) {
    height:38%;
    background:linear-gradient(180deg,transparent,var(--cyan) 30%,transparent)
}
.fest__crowd {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:34vh
}
.fest__crowd path {
    fill:#000
}
.fest__copy {
    position:relative;
    text-align:center;
    max-width:1180px
}
.fest__eyebrow {
    font-family:var(--display);
    font-weight:300;
    font-size:clamp(15px,2vw,27px);
    font-variation-settings:"wdth" 104;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#ffffffd1;
    margin-bottom:.35em
}
.fest__title {
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(28px,5.3vw,72px);
    font-variation-settings:"wdth" 108;
    line-height:1.02;
    letter-spacing:-.01em;
    text-transform:uppercase
}
.btn-ghost {
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:clamp(26px,3.4vw,48px);
    padding:15px 34px;
    border:1px solid rgba(255,255,255,.65);
    font-size:12.5px;
    letter-spacing:.22em;
    text-transform:uppercase;
    transition:border-color .3s,background .3s,color .3s
}
.btn-ghost svg {
    width:15px;
    height:15px;
    fill:currentColor;
    stroke:none
}
.btn-ghost:hover {
    border-color:var(--violet);
    background:var(--violet);
    color:var(--white)
}
.ia {
    position:relative;
    overflow:hidden;
    min-height:clamp(540px,76vh,840px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);
    align-items:center;
    gap:clamp(20px,3vw,56px);
    padding:clamp(80px,10vh,130px) var(--gut);
    background:#04030a;
    border-top:1px solid rgba(255,255,255,.06)
}
.ia__bg {
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
.ia__veil {
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg,#04030adb,#04030a99 16%,#04030a33 38%,#04030a24,#04030a33 62%,#04030a99 84%,#04030adb),linear-gradient(180deg,#04030ab8,#04030a00 26% 72%,#04030ad1)
}
.ia__lead,.ia__facts {
    position:relative;
    z-index:2
}
.ia__lead {
    grid-column:1
}
.ia__facts {
    grid-column:3
}
.ia__lead {
    text-align:right
}
.ia__date {
    font-family:var(--data);
    font-size:11px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--cyan);
    margin-bottom:20px
}
.ia__title {
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(28px,4.1vw,56px);
    font-variation-settings:"wdth" 106;
    line-height:1;
    letter-spacing:-.01em;
    text-transform:uppercase;
    color:#cfc9d6
}
.ia__title b {
    display:block;
    margin-top:.34em;
    font-size:.62em;
    font-weight:700;
    line-height:1.06;
    color:var(--magenta)
}
.ia__facts {
    display:grid;
    gap:clamp(26px,3.4vw,54px)
}
.ia__facts li {
    font-size:14px;
    line-height:1.6;
    color:#a9a3b4;
    max-width:30ch
}
.ia__facts span {
    display:block;
    margin-bottom:7px;
    font-family:var(--display);
    font-size:12.5px;
    font-weight:600;
    font-variation-settings:"wdth" 106;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--white)
}
.ia__facts li:before {
    content:"";
    display:block;
    width:26px;
    height:1px;
    margin-bottom:14px;
    background:var(--rule)
}
.quem {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.92fr) minmax(0,1fr);
    gap:clamp(24px,3.4vw,70px);
    align-items:start;
    padding:clamp(80px,11vh,140px) var(--gut);
    background:radial-gradient(64% 46% at 50% 42%,rgba(78,37,179,.2),transparent 70%),#04030a;
    border-top:1px solid rgba(255,255,255,.06);
    overflow:hidden
}
.quem__head {
    grid-column:1;
    grid-row:1
}
.quem__eyebrow {
    font-family:var(--display);
    font-weight:400;
    font-size:clamp(13px,1.35vw,20px);
    font-variation-settings:"wdth" 104;
    line-height:1.24;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#ffffffb8;
    max-width:14ch
}
.quem__title {
    margin-top:.5em;
    font-family:var(--display);
    font-weight:200;
    font-size:clamp(38px,6.4vw,104px);
    font-variation-settings:"wdth" 100;
    line-height:.94;
    letter-spacing:-.015em;
    text-transform:uppercase;
    color:var(--white)
}
.quem__title span {
    display:block
}
.quem__title span:last-child {
    padding-left:.34em
}
.quem__sub {
    margin-top:.9em;
    font-family:var(--display);
    font-weight:300;
    font-size:clamp(12.5px,1.2vw,18px);
    font-variation-settings:"wdth" 104;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#ffffff75;
    padding-left:.36em
}
.quem__media {
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
    position:relative;
    justify-self:center;
    width:100%;
    max-width:520px
}
.quem__photo {
    width:100%;
    height:auto;
    display:block;
    position:relative;
    z-index:1
}
.slat {
    position:absolute;
    top:0;
    z-index:0;
    background:linear-gradient(180deg,rgba(78,37,179,.34),rgba(218,68,194,.14) 60%,transparent);
    animation:slatDrift 22s ease-in-out infinite
}
.slat--a {
    left:-13%;
    width:9%;
    height:62%;
    transform:translateY(12%);
    animation-delay:-3s
}
.slat--b {
    left:-5%;
    width:6%;
    height:78%;
    transform:translateY(4%);
    animation-delay:-11s
}
.slat--c {
    right:-6%;
    width:7%;
    height:70%;
    transform:translateY(18%);
    animation-delay:-7s
}
.slat--d {
    right:-14%;
    width:10%;
    height:54%;
    transform:translateY(30%);
    animation-delay:-16s;
    background:linear-gradient(180deg,rgba(1,215,221,.2),rgba(78,37,179,.2) 55%,transparent)
}
@keyframes slatDrift {
    0%,to {
        translate:0 0
    }
    50% {
        translate:0 -3.5%
    }

}
.quem__col {
    grid-column:3;
    grid-row:1 / span 2;
    display:grid;
    gap:clamp(28px,3.6vh,48px);
    align-content:start
}
.who h3 {
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(13.5px,1.25vw,17px);
    font-variation-settings:"wdth" 106;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--white);
    margin-bottom:12px
}
.who h3:before {
    content:"";
    display:block;
    width:26px;
    height:1px;
    margin-bottom:14px;
    background:var(--rule)
}
.who p {
    font-size:14px;
    line-height:1.62;
    color:#a9a3b4;
    max-width:38ch
}
@media(max-width:1080px) {
    .quem {
        grid-template-columns:minmax(0,1fr) minmax(250px,.9fr)
    }
    .quem__media {
        grid-column:2;
        grid-row:1 / span 2;
        max-width:400px
    }
    .quem__col {
        grid-column:1;
        grid-row:2;
        margin-top:clamp(26px,4vh,48px)
    }

}
@media(max-width:760px) {
    .quem {
        grid-template-columns:1fr;
        gap:36px
    }
    .quem__head,.quem__media,.quem__col {
        grid-column:1;
        grid-row:auto
    }
    .quem__media {
        max-width:min(420px,88vw);
        margin-inline:auto
    }
    .quem__col {
        margin-top:0
    }
    .quem__title span:last-child {
        padding-left:0
    }
    .quem__sub {
        padding-left:0
    }

}
.prog {
    position:relative;
    padding:clamp(70px,10vh,124px) 0;
    background:radial-gradient(72% 52% at 18% 0%,rgba(78,37,179,.26),transparent 70%),#05040a;
    border-top:1px solid rgba(255,255,255,.06)
}
.prog__head {
    padding:0 var(--gut);
    margin-bottom:clamp(26px,3.6vw,46px)
}
.prog__title {
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(24px,4.1vw,56px);
    font-variation-settings:"wdth" 118;
    line-height:.94;
    letter-spacing:.01em;
    text-transform:uppercase;
    color:transparent;
    -webkit-text-stroke:1.1px rgba(255,255,255,.7)
}
.prog__intro {
    margin-top:.85em;
    font-family:var(--display);
    font-weight:400;
    font-size:clamp(12.5px,1.05vw,15px);
    font-variation-settings:"wdth" 104;
    line-height:1.4;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#ffffffa8;
    max-width:48ch
}
.prog__grid {
    --cols:7;
    --sp-gap:clamp(7px,.8vw,12px);
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:var(--sp-gap);
    padding:0 var(--gut)
}
.space {
    flex:0 0 calc((100% - (var(--cols) - 1) * var(--sp-gap)) / var(--cols));
    display:grid;
    align-content:space-between;
    gap:12px;
    min-height:clamp(110px,12.6vw,156px);
    padding:clamp(11px,1.2vw,17px);
    background:linear-gradient(158deg,#ffffff0d,#ffffff03);
    border:1px solid rgba(255,255,255,.07);
    transition:border-color .35s,background .35s,transform .35s
}
.space:hover {
    border-color:var(--violet-lit);
    background:linear-gradient(158deg,#4e25b357,#4e25b30d);
    transform:translateY(-3px)
}
.space__top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px
}
.space__num {
    font-family:var(--data);
    font-size:9.5px;
    letter-spacing:.18em;
    color:var(--violet-lit)
}
.space__icon {
    width:20px;
    height:20px;
    fill:none;
    stroke:#ffffff9e;
    stroke-width:1.3;
    transition:stroke .35s
}
.space:hover .space__icon {
    stroke:var(--white)
}
.space__en {
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(11.5px,1.05vw,14.5px);
    font-variation-settings:"wdth" 106;
    line-height:1.1;
    letter-spacing:.03em;
    text-transform:uppercase
}
.space__pt {
    margin-top:5px;
    font-size:11px;
    line-height:1.35;
    color:#9b93ad
}
@media(max-width:1339px) {
    .prog__grid {
        --cols:5
    }

}
@media(max-width:1079px) {
    .prog__grid {
        --cols:4;
        justify-content:flex-start
    }

}
@media(max-width:780px) {
    .prog__grid {
        --cols:3
    }

}
@media(max-width:520px) {
    .prog__grid {
        --cols:2
    }

}
.nums {
    position:relative;
    display:grid;
    grid-template-columns:1.5fr 1fr;
    min-height:clamp(500px,70vh,740px);
    background:#05040a;
    border-top:1px solid rgba(255,255,255,.06);
    overflow:hidden
}
.nums__media {
    position:relative;
    background:#04030a;
    overflow:hidden
}
.nums__media:after {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,transparent 45%,rgba(4,3,10,.5))
}
.nums__tag {
    position:absolute;
    right:clamp(10px,1.5vw,26px);
    top:50%;
    z-index:2;
    transform:translateY(-50%) rotate(180deg);
    writing-mode:vertical-rl;
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(10.5px,.95vw,13.5px);
    font-variation-settings:"wdth" 108;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--violet-lit)
}
.nums__canvas {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block
}
.nums__media:before {
    content:"";
    position:absolute;
    z-index:0;
    left:38%;
    top:50%;
    transform:translate(-50%,-50%);
    width:78%;
    aspect-ratio:1;
    border-radius:50%;
    background:radial-gradient(circle,rgba(78,37,179,.42),transparent 68%);
    pointer-events:none
}
.nums__panel {
    position:relative;
    display:grid;
    place-content:center;
    padding:clamp(44px,5vw,84px) clamp(22px,3.2vw,58px);
    text-align:center
}
.nums__panel>* {
    position:relative;
    z-index:1
}
.nums__ring {
    position:absolute;
    top:50%;
    left:50%;
    z-index:0;
    width:min(150%,112vh);
    aspect-ratio:1;
    transform:translate(-50%,-50%);
    border:1px solid rgba(255,255,255,.48);
    border-radius:50%;
    pointer-events:none
}
.nums__eyebrow {
    font-family:var(--data);
    font-size:10.5px;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--cyan);
    margin-bottom:16px
}
.nums__title {
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(18px,2.05vw,29px);
    font-variation-settings:"wdth" 106;
    line-height:1.16;
    letter-spacing:.005em;
    text-transform:uppercase;
    max-width:19ch;
    margin-inline:auto
}
.nums__title b {
    color:var(--violet-lit);
    font-weight:700
}
.nums__grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(20px,3.2vh,40px) clamp(16px,2.2vw,38px);
    margin-top:clamp(26px,3.8vh,48px);
    max-width:30ch;
    margin-inline:auto
}
.stat__num {
    display:block;
    font-family:var(--display);
    font-weight:300;
    font-size:clamp(25px,2.9vw,42px);
    font-variation-settings:"wdth" 98;
    line-height:1;
    letter-spacing:-.015em;
    text-transform:uppercase;
    font-variant-numeric:tabular-nums;
    color:var(--white)
}
.stat__label {
    display:block;
    margin-top:7px;
    font-size:clamp(10.5px,.84vw,12.5px);
    line-height:1.35;
    color:#9b93ad
}
.stat:nth-child(2) {
    transition-delay:.08s
}
.stat:nth-child(3) {
    transition-delay:.16s
}
.stat:nth-child(4) {
    transition-delay:.24s
}
@media(max-width:980px) {
    .nums {
        grid-template-columns:1fr;
        min-height:0
    }
    .nums__media {
        min-height:40vh
    }
    .nums__tag {
        right:auto;
        left:clamp(16px,4vw,26px);
        top:auto;
        bottom:16px;
        transform:none;
        writing-mode:horizontal-tb
    }
    .nums__ring {
        width:min(124%,90vw)
    }
    .nums__panel {
        padding-block:clamp(52px,10vw,92px)
    }

}
@media(max-width:420px) {
    .nums__grid {
        grid-template-columns:1fr;
        max-width:24ch
    }

}
.grupo {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.78fr);
    gap:clamp(28px,4vw,80px);
    align-items:start;
    padding:clamp(70px,10vh,120px) var(--gut);
    background:radial-gradient(58% 50% at 22% 38%,rgba(78,37,179,.2),transparent 70%),#05040a;
    border-top:1px solid rgba(255,255,255,.06)
}
.grupo__eyebrow {
    font-family:var(--data);
    font-size:10.5px;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--cyan);
    margin-bottom:18px
}
.grupo__title {
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(24px,3.2vw,44px);
    font-variation-settings:"wdth" 106;
    line-height:1.04;
    letter-spacing:-.01em;
    text-transform:uppercase;
    color:var(--white);
    max-width:18ch
}
.grupo__note {
    margin-top:1.1em;
    font-size:14px;
    line-height:1.6;
    color:#a9a3b4;
    max-width:34ch
}
.grupo__cards {
    display:grid;
    grid-template-columns:minmax(0,1fr)
}
.caravana {
    display:grid;
    align-content:start;
    gap:10px;
    padding:clamp(20px,2.2vw,30px);
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(158deg,#ffffff0d,#ffffff03);
    transition:border-color .35s,background .35s,transform .35s
}
.caravana:hover {
    border-color:var(--violet-lit);
    background:linear-gradient(158deg,#4e25b352,#4e25b30d);
    transform:translateY(-3px)
}
.caravana__tag {
    font-family:var(--data);
    font-size:9.5px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--violet-lit)
}
.caravana h3 {
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(19px,2vw,28px);
    font-variation-settings:"wdth" 106;
    line-height:1;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:var(--white)
}
.caravana p {
    font-size:13.5px;
    line-height:1.5;
    color:#9b93ad;
    max-width:30ch
}
.caravana__cta {
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:8px;
    font-size:11px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--violet-lit)
}
.caravana__cta i {
    width:24px;
    height:1px;
    background:currentColor;
    position:relative;
    transition:width .3s cubic-bezier(.2,.8,.2,1)
}
.caravana__cta i:after {
    content:"";
    position:absolute;
    right:0;
    top:-3px;
    width:7px;
    height:7px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:rotate(45deg)
}
.caravana:hover .caravana__cta {
    color:var(--cyan)
}
.caravana:hover .caravana__cta i {
    width:38px
}
.soon {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:clamp(14px,2.4vw,40px);
    padding:clamp(32px,4.4vh,56px) var(--gut);
    background:#04030a;
    border-top:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.06)
}
.soon__title {
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(16px,1.9vw,26px);
    font-variation-settings:"wdth" 106;
    line-height:1.1;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:var(--white)
}
.soon__note {
    margin-top:8px;
    font-size:13.5px;
    line-height:1.5;
    color:#9b93ad
}
.soon__badge {
    display:inline-flex;
    align-items:center;
    padding:15px 34px;
    border:1px solid rgba(1,215,221,.42);
    font-family:var(--data);
    font-size:12px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--cyan);
    white-space:nowrap;
    animation:soonBreath 3.6s ease-in-out infinite;
    transition:background .3s,color .3s
}
a.soon__badge:hover{
    background-color:rgba(1,215,221,.42) ;
    color: #FFF;
    animation:none;
}
@keyframes soonBreath {
    0%,to {
        opacity:1;
        border-color:#01d7dd6b
    }
    50% {
        opacity:.62;
        border-color:#01d7dd33
    }

}
@media(max-width:900px) {
    .grupo {
        grid-template-columns:1fr;
        gap:34px
    }
    .grupo__title {
        max-width:24ch
    }

}
@media(max-width:620px) {
    .soon {
        flex-direction:column;
        align-items:flex-start
    }

}
main {
    padding-bottom:calc(var(--bar-h) + clamp(18px,3vh,40px))
}
.bar {
    position:fixed;
    inset:auto 0 0;
    z-index:55;
    height:var(--bar-h);
    background:var(--violet);
    color:var(--white);
    display:flex;
    align-items:center;
    gap:clamp(12px,2.2vw,34px);
    padding:0 var(--gut);
    border-top:1px solid rgba(255,255,255,.14)
}
.bar__brand {
    display:flex;
    align-items:center;
    gap:9px;
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(13px,1.2vw,16px);
    font-variation-settings:"wdth" 112;
    letter-spacing:.09em;
    text-transform:uppercase;
    white-space:nowrap
}
.bar__mark {
    height:clamp(13px,1.25vw,17px);
    aspect-ratio:2733.19/679.09;
    fill:currentColor;
    stroke:none
}
.bar__brand span {
    color:transparent;
    -webkit-text-stroke:1.1px rgba(255,255,255,.5)
}
.bar__item,.bar__count {
    display:flex;
    align-items:center;
    gap:11px;
    white-space:nowrap
}
.bar__item svg,.bar__count svg {
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.3
}
.bar__item svg path {
    fill:currentColor;
    stroke:none
}
.bar__label {
    font-family:var(--display);
    font-size:11px;
    font-weight:600;
    letter-spacing:.13em;
    text-transform:uppercase
}
.bar__soft {
    font-size:11.5px;
    color:#ffffffb8
}
.bar__chip {
    border:1px solid var(--white);
    padding:5px 11px;
    font-family:var(--display);
    font-size:10px;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase
}
.bar__item:hover .bar__chip {
    background:var(--white);
    color:var(--violet)
}
.bar__count {
    margin-left:auto
}
.clock {
    display:flex;
    align-items:flex-end;
    gap:5px;
    font-family:var(--data)
}
.clock div {
    display:grid;
    justify-items:center;
    min-width:25px
}
.clock b {
    font-size:15px;
    font-weight:700;
    line-height:1;
    font-variant-numeric:tabular-nums
}
.clock em {
    font-style:normal;
    font-size:7.5px;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#ffffffa3;
    margin-top:2px
}
.clock i {
    font-size:13px;
    line-height:1;
    padding-bottom:11px;
    color:#ffffff80
}
.bar__btn {
    border:1px solid var(--white);
    padding:8px 17px;
    font-family:var(--display);
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    transition:background .3s,color .3s
}
.bar__btn:hover {
    background:var(--white);
    color:var(--violet)
}
.wa {
    position:fixed;
    right:clamp(16px,2.4vw,34px);
    bottom:calc(var(--bar-h) + 22px);
    z-index:56;
    width:60px;
    height:60px;
    border-radius:50%;
    background:var(--void);
    border:1px solid var(--violet-lit);
    display:grid;
    place-items:center;
    color:var(--violet-lit);
    box-shadow:0 14px 40px -12px #4e25b3cc;
    transition:transform .3s,background .3s,color .3s
}
.wa svg {
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.3
}
.wa:hover {
    transform:translateY(-3px);
    background:var(--violet);
    color:var(--white)
}
.video {
    position:fixed;
    inset:0;
    z-index:80;
    display:grid;
    place-items:center;
    padding:clamp(16px,4vw,64px);
    background:#000000eb;
    backdrop-filter:blur(10px);
    opacity:0;
    transition:opacity .32s ease
}
.video[hidden] {
    display:none
}
.video.is-open {
    opacity:1
}
.video__frame {
    position:relative;
    width:min(1180px,100%);
    aspect-ratio:16/9;
    border:1px solid var(--violet-lit);
    background:#000;
    box-shadow:0 40px 130px -40px #4e25b3b3
}
.video__frame iframe {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0
}
.video__close {
    position:absolute;
    top:-44px;
    right:0;
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:11.5px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#ffffffd9
}
.video__close svg {
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5
}
.video__close:hover {
    color:var(--cyan)
}
.video__link {
    position:absolute;
    top:-42px;
    left:0;
    font-size:11px;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#ffffff8c;
    border-bottom:1px solid rgba(255,255,255,.26);
    padding-bottom:3px
}
.video__link:hover {
    color:var(--cyan);
    border-bottom-color:var(--cyan)
}
@media(max-width:620px) {
    .video__close {
        top:auto;
        bottom:-42px;
        right:50%;
        transform:translate(50%)
    }
    .video__link {
        top:-38px;
        font-size:10px
    }

}
[aria-disabled=true] {
    cursor:default
}
[data-reveal] {
    opacity:0;
    transform:translateY(26px);
    transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)
}
[data-reveal].is-in {
    opacity:1;
    transform:none
}
.ia__facts li:nth-child(2) {
    transition-delay:.1s
}
.ia__facts li:nth-child(3) {
    transition-delay:.2s
}
.ia__facts li:nth-child(4) {
    transition-delay:.3s
}
@media(max-width:1180px) {
    .nav__links {
        display:none
    }
    .nav__tools {
        display:flex;
        align-items:center;
        margin-left:auto
    }
    .hero__seal {
        right:var(--gut);
        top:calc(var(--nav-h) + 14px)
    }
    .hero__replay {
        right:var(--gut);
        bottom:auto;
        top:calc(var(--nav-h) + 220px)
    }

}
@media(max-width:980px) {
    :root {
        --bar-h:78px
    }
    .hero {
        min-height:0;
        grid-template-columns:1fr;
        align-items:center;
        gap:44px;
        padding-top:calc(var(--nav-h) + 90px)
    }
    .hero__title {
        font-size:clamp(30px,7.4vw,54px)
    }
    .hero__title {
        grid-column:1;
        justify-self:start;
        padding-left:clamp(46px,10vw,78px)
    }
    .hero__panel {
        grid-column:1
    }
    .hero__mark {
        height:clamp(180px,34vh,300px);
        top:44%
    }
    .hero__replay {
        position:static;
        margin-top:6px;
        justify-self:start
    }
    .ia {
        grid-template-columns:1fr;
        gap:40px;
        min-height:0
    }
    .ia__lead,.ia__facts {
        grid-column:1
    }
    .ia__lead {
        text-align:left
    }
    .ia__veil {
        background:linear-gradient(180deg,#04030adb,#04030ab3 40%,#04030ae0)
    }
    .ia__facts {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .ia__facts li {
        max-width:38ch
    }
    .bar {
        flex-wrap:wrap;
        gap:10px 22px;
        padding:12px var(--gut);
        height:auto
    }
    .bar__count {
        margin-left:0
    }
    .menu__inner {
        grid-template-columns:1fr
    }

    /*BARRA FIXA*/
    #inscricao .bar__item, #inscricao .bar__count .bar__label{
        display: none;
    }

}
@media(max-width:620px) {
    :root {
        --bar-h:100px
    }
    .hero__seal {
        width:96px;
        right:auto;
        left:calc(var(--gut) + 54px);
        top:calc(var(--nav-h) + 8px)
    }
    .hero__mark {
        display:none
    }
    .hero__title {
        padding-left:0
    }
    .ia__facts {
        grid-template-columns:1fr
    }
    .bar__item .bar__soft {
        display:none
    }
    .wa {
        width:52px;
        height:52px
    }

    /*BARRA FIXA*/
    #inscricao .bar__brand{
        display: none;
    }

}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*:before,*:after {
        animation-duration:1ms!important;
        animation-iteration-count:1!important;
        transition-duration:1ms!important
    }
    .hero__title span,.hero__panel,[data-reveal] {
        opacity:1;
        transform:none
    }

}

.grupo#caravanas{
    display: none;
}
