@font-face { font-family: 'Unbounded'; src: url('fonts/unbounded.woff2') format('woff2'); font-weight: 200 900; font-display: swap; }
@font-face { font-family: 'Inter Tight'; src: url('fonts/inter-tight.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }

:root {
  --bg: #070918;
  --bg-2: #0C1030;
  --superficie: #11173D;
  --superficie-2: #182052;
  --tinta: #EEF0FF;
  --tinta-2: #B9BEE6;
  --tinta-3: #8E94C4;
  --linha: rgba(185, 190, 230, 0.16);
  --linha-forte: rgba(185, 190, 230, 0.34);
  --azul: #6B7BFF;
  --azul-escuro: #3A49D6;
  --magenta: #DB4BF1;
  --rosa: #FF8FC4;
  --ciano: #47D7F5;
  --sucesso: #6EE7B7;
  --erro: #FF9C9C;
  --display: 'Unbounded', 'Inter Tight', sans-serif;
  --texto: 'Inter Tight', system-ui, sans-serif;
  --margem: clamp(16px, 4.5vw, 64px);
  --largura: 1280px;
  --raio: 14px;
  --sai: cubic-bezier(0.16, 1, 0.3, 1);
  --entra-sai: cubic-bezier(0.65, 0, 0.35, 1);
  color-scheme: dark;
}
.a11y-contrast {
  --bg: #000; --bg-2: #000; --superficie: #0A0A0A; --superficie-2: #141414;
  --tinta: #FFF; --tinta-2: #FFF; --tinta-3: #E6E6E6;
  --linha: rgba(255,255,255,.55); --linha-forte: #FFF;
  --azul: #9AA6FF; --magenta: #F29BFF; --ciano: #7FE9FF; --rosa: #FFC2DE;
}
.a11y-big { font-size: 118.75%; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 88px; }
body { margin: 0; background: var(--bg); color: var(--tinta); font: 400 1.0625rem/1.6 var(--texto); font-feature-settings: 'ss01', 'cv11'; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: 0.22em; text-decoration-thickness: 1px; }
::selection { background: var(--magenta); color: var(--bg); }
:focus-visible { outline: 2px solid var(--ciano); outline-offset: 3px; border-radius: 6px; }
html { scrollbar-color: var(--superficie-2) var(--bg); }
::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: var(--bg); } ::-webkit-scrollbar-thumb { background: var(--superficie-2); border-radius: 10px; border: 2px solid var(--bg); }
input, select, textarea, button { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3 { margin: 0; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip { position: fixed; left: 16px; top: -60px; z-index: 100; background: var(--tinta); color: var(--bg); padding: 10px 16px; border-radius: 10px; font-weight: 600; transition: top .2s var(--sai); }
.skip:focus { top: 16px; }

/* Botões */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 44px; padding: 0 20px; border-radius: 999px; font-weight: 600; font-size: .95rem; text-decoration: none; border: 1.5px solid transparent; transition: transform .35s var(--sai), background-color .25s, border-color .25s, color .25s, box-shadow .35s var(--sai); white-space: nowrap; }
.botao--cheio { background: var(--magenta); color: #10061A; box-shadow: 0 8px 24px -10px rgba(219, 75, 241, .7); }
.botao--cheio:hover { background: #E676F6; transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgba(219, 75, 241, .85); }
.botao--linha { border-color: var(--linha-forte); color: var(--tinta); background: rgba(7, 9, 24, .35); }
.botao--linha:hover { border-color: var(--tinta); }
.botao--linha[aria-pressed="true"] { background: var(--tinta); color: var(--bg); border-color: var(--tinta); }
.botao--grande { min-height: 54px; padding: 0 28px; font-size: 1rem; }
.botao:active { transform: translateY(0) scale(.98); }
.botao:disabled { opacity: .6; cursor: progress; }

/* Topo */
.topo { position: fixed; inset: 0 0 auto; z-index: 50; transition: background-color .4s, backdrop-filter .4s, border-color .4s; border-bottom: 1px solid transparent; }
.topo--solido { background: rgba(7, 9, 24, .82); backdrop-filter: blur(14px) saturate(1.2); border-color: var(--linha); }
.topo__barra { position: absolute; inset: auto 0 -1px; height: 2px; overflow: hidden; }
.topo__progresso { display: block; height: 100%; background: linear-gradient(90deg, var(--azul), var(--magenta)); transform-origin: 0 50%; transform: scaleX(0); }
.topo__in { max-width: calc(var(--largura) + 2 * var(--margem)); margin: 0 auto; padding: 14px var(--margem); display: flex; align-items: center; gap: 24px; }
.marca { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 700 1.15rem/1 var(--display); letter-spacing: -0.03em; }
.marca b { color: var(--magenta); font-weight: 700; }
.marca__simbolo { width: 30px; height: 30px; }
.marca__simbolo path:first-child { fill: var(--azul); } .marca__simbolo path:last-child { fill: var(--magenta); }
.menu { margin-left: auto; }
.menu__lista { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.menu__lista a { display: block; padding: 10px 12px; border-radius: 999px; font-size: .9rem; font-weight: 500; text-decoration: none; color: var(--tinta-2); transition: color .2s, background-color .2s; }
.menu__lista a:hover { color: var(--tinta); background: rgba(255,255,255,.06); }
.menu__lista a[aria-current] { color: var(--tinta); background: rgba(107,123,255,.18); }
.menu__botao { display: none; }
.topo__acoes { display: flex; align-items: center; gap: 10px; }

/* Idioma */
.idioma { display: inline-flex; padding: 3px; border-radius: 999px; border: 1.5px solid var(--linha-forte); background: rgba(7,9,24,.35); }
.idioma__op { min-width: 40px; min-height: 36px; padding: 0 10px; border: 0; border-radius: 999px; background: transparent; font-size: .82rem; font-weight: 700; letter-spacing: .04em; color: var(--tinta-2); transition: background-color .25s, color .25s; }
.idioma__op:hover { color: var(--tinta); }
.idioma__op[aria-pressed="true"] { background: var(--tinta); color: var(--bg); }

/* Acessibilidade */
.a11y { position: relative; }
.a11y__botao { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--linha-forte); background: rgba(7,9,24,.35); font-size: .9rem; font-weight: 600; }
.a11y__botao svg { width: 20px; height: 20px; fill: currentColor; }
.a11y__botao[aria-expanded="true"] { background: var(--tinta); color: var(--bg); }
.a11y__painel { position: absolute; right: 0; top: calc(100% + 10px); width: min(320px, calc(100vw - 32px)); background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: var(--raio); padding: 18px; box-shadow: 0 24px 60px -20px rgba(0,0,0,.8); animation: surge .35s var(--sai); }
.a11y__titulo { font-weight: 700; margin-bottom: 10px; }
.a11y__painel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.chave { width: 100%; display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 6px 8px; background: none; border: 0; border-radius: 10px; text-align: left; font-weight: 500; }
.chave:hover { background: rgba(255,255,255,.06); }
.chave__trilho { flex: none; width: 40px; height: 24px; border-radius: 99px; background: var(--superficie-2); border: 1.5px solid var(--linha-forte); position: relative; transition: background-color .25s; }
.chave__trilho::after { content: ''; position: absolute; top: 2px; left: 2px; width: 17px; height: 17px; border-radius: 50%; background: var(--tinta-2); transition: transform .3s var(--sai), background-color .25s; }
.chave[aria-pressed="true"] .chave__trilho { background: var(--magenta); border-color: var(--magenta); }
.chave[aria-pressed="true"] .chave__trilho::after { transform: translateX(16px); background: #10061A; }
.a11y__nota { margin-top: 12px; font-size: .82rem; line-height: 1.5; color: var(--tinta-3); }

/* Abertura */
.abertura { position: relative; height: 240vh; background:
  radial-gradient(60% 50% at 75% 45%, rgba(107,123,255,.18), transparent 70%),
  radial-gradient(40% 40% at 90% 80%, rgba(219,75,241,.14), transparent 70%), var(--bg); }
.abertura__palco { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.rede { position: absolute; inset: 0; width: 100%; height: 100%; }
.abertura__texto { position: absolute; left: var(--margem); bottom: clamp(140px, 20vh, 200px); max-width: min(640px, 52vw); z-index: 2; }
.abertura__titulo { font: 800 clamp(3.25rem, 9.5vw, 6rem)/.92 var(--display); letter-spacing: -0.04em; }
.abertura__titulo b { color: var(--magenta); font-weight: 800; }
.abertura__sub { margin-top: 18px; font: 500 clamp(1.1rem, 2vw, 1.5rem)/1.25 var(--display); letter-spacing: -0.02em; color: var(--tinta); }
.abertura__dados { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 24px 0 30px; }
.abertura__dados dt { font-size: .8rem; color: var(--tinta-3); font-weight: 600; }
.abertura__dados dd { margin: 2px 0 0; font-weight: 600; }
.abertura__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.abertura__legenda { position: absolute; right: var(--margem); bottom: clamp(140px, 20vh, 200px); width: min(360px, 34vw); height: 1.6em; z-index: 2; font: 500 .95rem/1.6 var(--texto); color: var(--tinta-2); text-align: right; }
.abertura__legenda span { position: absolute; inset: 0; opacity: 0; transform: translateY(10px); filter: blur(4px); transition: opacity .6s var(--sai), transform .6s var(--sai), filter .6s var(--sai); }
.abertura__legenda[data-fase="0"] [data-fase="0"], .abertura__legenda[data-fase="1"] [data-fase="1"], .abertura__legenda[data-fase="2"] [data-fase="2"] { opacity: 1; transform: none; filter: none; }
.contagem { position: absolute; left: var(--margem); right: var(--margem); bottom: 28px; z-index: 2; border-top: 1px solid var(--linha); padding-top: 18px; }
.contagem__lista { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(20px, 5vw, 56px); }
.contagem__lista li { display: flex; align-items: baseline; gap: 8px; }
.contagem__num { font: 600 clamp(1.5rem, 3.4vw, 2.4rem)/1 var(--display); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; display: inline-block; }
.contagem__num.vira { animation: vira .5s var(--sai); }
.contagem__un { font-size: .85rem; color: var(--tinta-3); font-weight: 600; }

/* Atalhos */
.atalhos { position: relative; z-index: 3; max-width: calc(var(--largura) + 2 * var(--margem)); margin: -1px auto 0; padding: 0 var(--margem); }
.atalhos ul { list-style: none; margin: 0; padding: 8px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; background: var(--azul-escuro); border-radius: 20px; box-shadow: 0 30px 60px -30px rgba(58,73,214,.9); margin-top: 28px; }
.atalhos a { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 18px; border-radius: 14px; text-decoration: none; font-weight: 600; color: #fff; transition: background-color .25s; }
.atalhos a:hover { background: rgba(255,255,255,.12); }
.atalhos svg { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.atalhos svg circle { fill: currentColor; stroke: none; }

/* Seções */
.secao { max-width: calc(var(--largura) + 2 * var(--margem)); margin: 0 auto; padding: clamp(72px, 11vw, 150px) var(--margem) 0; }
.titulo-secao { font: 700 clamp(2.1rem, 5.4vw, 4.25rem)/1 var(--display); letter-spacing: -0.04em; }
.titulo-secao em { font-style: normal; color: var(--magenta); }
.js .titulo-secao.aguarda { clip-path: inset(0 0 100% 0); transform: translateY(24px); }
.js .titulo-secao.aguarda.visto { clip-path: inset(0 0 -10% 0); transform: none; transition: clip-path 1s var(--sai), transform 1s var(--sai); }
.secao__cabeca { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; margin-bottom: clamp(36px, 5vw, 64px); }
.secao__intro { color: var(--tinta-2); max-width: 46ch; }

/* Sobre */
.sobre { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px 24px; padding-top: clamp(40px, 6vw, 90px); }
.sobre .titulo-secao { grid-column: 1 / span 8; font-size: clamp(2.4rem, 6.4vw, 5.25rem); }
.sobre__corpo { grid-column: 6 / span 7; display: grid; gap: 18px; color: var(--tinta-2); max-width: 62ch; }
.sobre__lead { font-size: clamp(1.15rem, 1.8vw, 1.35rem); line-height: 1.5; color: var(--tinta); }
.sobre__fatos { grid-column: 1 / -1; list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--linha); }
.sobre__fatos li { padding: 22px 24px 0 0; color: var(--tinta-2); }
.sobre__fatos li + li { padding-left: 24px; border-left: 1px solid var(--linha); }
.sobre__fatos strong { display: block; font: 600 clamp(1.4rem, 2.6vw, 2rem)/1.1 var(--display); letter-spacing: -0.03em; color: var(--tinta); margin-bottom: 6px; }

/* Fotos */
.sobre .titulo-secao { grid-row: 1; }
.sobre__foto { grid-column: 1 / span 4; grid-row: 2; margin: 0; align-self: start; }
.sobre__corpo { grid-row: 2; align-self: end; }
.sobre__fatos { grid-row: 3; }
.sobre__foto img, .local__foto img { width: 100%; height: auto; border-radius: 20px; }
.sobre__foto img { aspect-ratio: 4 / 5; object-fit: cover; }
.local__foto { margin: 0 0 28px; }
.local__foto img { aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 60%; }
.js .foto-revela img { clip-path: inset(0 0 0 0 round 20px); transition: clip-path 1.2s var(--sai), transform 1.6s var(--sai); }
.js .foto-revela.aguarda img { clip-path: inset(18% 0 0 0 round 20px); transform: scale(1.08); }
.faixa-foto { position: relative; margin-top: clamp(80px, 12vw, 160px); height: 92vh; min-height: 560px; display: grid; align-items: end; overflow: hidden; }
.faixa-foto__quadro { position: absolute; inset: 0; clip-path: inset(var(--recorte, 0%) var(--recorte, 0%) round calc(var(--recorte, 0%) * 2)); }
.faixa-foto__quadro img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; transform: scale(var(--zoom, 1)); transform-origin: 50% 60%; }
.faixa-foto__quadro::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,9,24,.35) 0%, rgba(7,9,24,0) 30%, rgba(7,9,24,.55) 62%, rgba(7,9,24,.94) 100%); }
.faixa-foto__texto { position: relative; z-index: 1; max-width: calc(var(--largura) + 2 * var(--margem)); width: 100%; margin: 0 auto; padding: 0 var(--margem) clamp(48px, 8vw, 96px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; }
.faixa-foto__titulo { font: 700 clamp(2.4rem, 6.6vw, 6rem)/.98 var(--display); letter-spacing: -0.04em; }
.faixa-foto__texto p { color: var(--tinta); max-width: 44ch; font-size: 1.08rem; }

/* Programação */
.prog__dias { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 20px; }
.aba { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 16px 18px; border-radius: var(--raio); border: 1.5px solid var(--linha); background: transparent; text-align: left; transition: border-color .25s, background-color .25s, transform .35s var(--sai); }
.aba:hover { border-color: var(--linha-forte); }
.aba__dia { font-size: .85rem; color: var(--tinta-3); font-weight: 600; }
.aba__data { font: 600 clamp(1.1rem, 2.2vw, 1.6rem)/1.1 var(--display); letter-spacing: -0.03em; }
.aba[aria-selected="true"] { background: var(--superficie); border-color: var(--azul); }
.aba[aria-selected="true"] .aba__dia { color: var(--azul); }
.aba--vazia:not([aria-selected="true"]) { opacity: .5; }
.prog__filtros { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.filtros { border: 0; margin: 0; padding: 0; min-width: 0; }
.filtros legend { font-size: .85rem; font-weight: 600; color: var(--tinta-3); margin-bottom: 10px; padding: 0; }
.filtros__lista { display: flex; flex-wrap: wrap; gap: 8px; }
.pilula { position: relative; }
.pilula input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pilula span { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--linha-forte); font-size: .9rem; font-weight: 500; transition: background-color .2s, color .2s, border-color .2s; }
.pilula span::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--cor-trilha); }
.pilula input:checked + span { background: var(--tinta); color: var(--bg); border-color: var(--tinta); }
.pilula input:focus-visible + span { outline: 2px solid var(--ciano); outline-offset: 3px; }
.prog__conta { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 99px; background: var(--magenta); color: #10061A; font-size: .8rem; font-variant-numeric: tabular-nums; }
[data-trilha="onco"] { --cor-trilha: #FF8FC4; } [data-trilha="endo"] { --cor-trilha: #47D7F5; } [data-trilha="robo"] { --cor-trilha: #8E9BFF; }
[data-trilha="andro"] { --cor-trilha: #F7C76B; } [data-trilha="pedi"] { --cor-trilha: #6EE7B7; } [data-trilha="gine"] { --cor-trilha: #E58BFF; }
.painel { border-top: 1px solid var(--linha); }
.painel:focus-visible { outline-offset: 6px; }
.painel.entra .sessao { animation: desliza .6s var(--sai) both; }
.painel.entra .sessao:nth-child(2) { animation-delay: .04s; } .painel.entra .sessao:nth-child(3) { animation-delay: .08s; } .painel.entra .sessao:nth-child(4) { animation-delay: .12s; } .painel.entra .sessao:nth-child(5) { animation-delay: .16s; } .painel.entra .sessao:nth-child(6) { animation-delay: .2s; }
.sessoes { list-style: none; margin: 0; padding: 0; }
.sessao { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) auto; gap: 8px 24px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--linha); position: relative; }
.sessao::before { content: ''; position: absolute; left: -16px; top: 22px; bottom: 22px; width: 1px; background: var(--cor-trilha); opacity: 0; transition: opacity .3s; }
.sessao--salva::before { opacity: 1; }
.sessao__hora { font: 500 1rem/1.3 var(--display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--tinta-2); }
.sessao__titulo { font: 600 clamp(1.05rem, 1.6vw, 1.3rem)/1.3 var(--texto); letter-spacing: -0.01em; }
.sessao__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 6px; font-size: .88rem; color: var(--tinta-3); }
.selo { display: inline-flex; align-items: center; gap: 7px; color: var(--tinta-2); font-weight: 600; }
.selo::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--cor-trilha); }
.selo--onco { --cor-trilha: #FF8FC4; } .selo--endo { --cor-trilha: #47D7F5; } .selo--robo { --cor-trilha: #8E9BFF; } .selo--andro { --cor-trilha: #F7C76B; } .selo--pedi { --cor-trilha: #6EE7B7; } .selo--gine { --cor-trilha: #E58BFF; }
.salvar { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--linha-forte); background: transparent; font-size: .9rem; font-weight: 600; transition: background-color .2s, color .2s, border-color .2s; }
.salvar svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; transition: fill .2s; }
.salvar:hover { border-color: var(--tinta); }
.salvar[aria-pressed="true"] { background: var(--magenta); border-color: var(--magenta); color: #10061A; }
.salvar[aria-pressed="true"] svg { fill: currentColor; }
.salvar.pulsa svg { animation: pulsa .5s var(--sai); }
.painel__vazio { padding: 40px 0; color: var(--tinta-2); }

/* Inscrições */
.segmento { border: 0; margin: 0 0 28px; padding: 0; min-width: 0; }
.segmento legend { font-size: .85rem; font-weight: 600; color: var(--tinta-3); margin-bottom: 10px; padding: 0; }
.segmento__lista { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 18px; background: var(--superficie); border: 1px solid var(--linha); width: fit-content; max-width: 100%; }
.segmento__op { position: relative; }
.segmento__op input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.segmento__op span { display: flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 14px; font-size: .92rem; font-weight: 600; color: var(--tinta-2); transition: background-color .25s, color .25s; }
.segmento__op input:checked + span { background: var(--tinta); color: var(--bg); }
.segmento__op input:focus-visible + span { outline: 2px solid var(--ciano); outline-offset: 2px; }
.lotes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: 12px; align-items: stretch; }
.lotes.troca .lote__valor { animation: troca .5s var(--sai); }
.lote { display: flex; flex-direction: column; gap: 4px; padding: 24px; border-radius: var(--raio); border: 1px solid var(--linha); }
.lote__nome { font-weight: 700; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lote__tag { font-size: .75rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; background: var(--superficie-2); color: var(--tinta-2); }
.lote__prazo { font-size: .9rem; color: var(--tinta-3); }
.lote__valor { margin-top: 18px; font: 600 clamp(1.6rem, 2.8vw, 2.25rem)/1 var(--display); letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.lote__economia { font-size: .88rem; color: var(--sucesso); margin-top: 6px; }
.lote .botao { margin-top: auto; align-self: flex-start; }
.lote--vigente { background: linear-gradient(160deg, var(--superficie-2), var(--superficie)); border-color: var(--magenta); gap: 6px; }
.lote--vigente .lote__valor { font-size: clamp(2.2rem, 4vw, 3.25rem); margin-bottom: 4px; }
.lote--vigente .lote__tag { background: var(--magenta); color: #10061A; }
.lote--vigente .botao { margin-top: 22px; }
.lote--encerrado { opacity: .55; }
.lote--encerrado .lote__valor { text-decoration: line-through; text-decoration-thickness: 2px; }
.lotes__nota { margin-top: 18px; font-size: .9rem; color: var(--tinta-3); max-width: 70ch; }

/* Trabalhos */
.linha-tempo { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); counter-reset: passo; }
.linha-tempo li { position: relative; padding: 34px 28px 0 0; }
.linha-tempo li::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--azul), var(--magenta)); opacity: .55; }
.linha-tempo li::after { content: ''; position: absolute; left: 0; top: -6px; width: 14px; height: 14px; border-radius: 50%; background: var(--bg); border: 2px solid var(--ciano); }
.linha-tempo time { font: 600 clamp(1.4rem, 2.6vw, 2rem)/1 var(--display); letter-spacing: -0.03em; }
.linha-tempo h3 { font-size: 1.05rem; margin: 14px 0 6px; }
.linha-tempo p { color: var(--tinta-2); font-size: .95rem; max-width: 30ch; }

/* Local */
.local__grade { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.mapa { margin: 0; }
.mapa svg { width: 100%; height: auto; border-radius: 20px; background: radial-gradient(70% 70% at 50% 50%, var(--superficie), var(--bg-2)); border: 1px solid var(--linha); }
.mapa__ruas path { fill: none; stroke: rgba(185,190,230,.18); stroke-width: 6; stroke-linecap: round; }
.mapa__ruas .mapa__avenida { stroke-width: 12; stroke: rgba(185,190,230,.24); }
.mapa__ruas .mapa__rio { stroke: rgba(71,215,245,.28); stroke-width: 20; }
.mapa__raio circle { fill: rgba(107,123,255,.08); stroke: rgba(107,123,255,.55); stroke-width: 1.5; stroke-dasharray: 5 7; transition: r .6s var(--sai); }
.mapa__local circle:first-child { fill: rgba(219,75,241,.25); animation: onda 2.4s var(--sai) infinite; transform-origin: 300px 225px; }
.mapa__local circle:last-child { fill: var(--magenta); }
.pino circle { fill: var(--superficie-2); stroke: var(--ciano); stroke-width: 2; transition: fill .2s, opacity .35s, transform .35s var(--sai); }
.pino text { font: 700 12px var(--texto); fill: var(--tinta); transition: opacity .35s; }
.pino.ativo circle { fill: var(--ciano); } .pino.ativo text { fill: var(--bg); }
.pino.fora circle, .pino.fora text { opacity: .12; }
.mapa figcaption { margin-top: 10px; font-size: .82rem; color: var(--tinta-3); }
.faixa { display: grid; gap: 12px; font-weight: 600; margin-bottom: 8px; }
.faixa output { font-variant-numeric: tabular-nums; color: var(--ciano); }
input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; background: transparent; }
input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--azul), var(--magenta)); }
input[type="range"]::-moz-range-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--azul), var(--magenta)); }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -10px; border-radius: 50%; background: var(--tinta); border: 4px solid var(--bg); box-shadow: 0 0 0 2px var(--tinta); }
input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--tinta); border: 4px solid var(--bg); box-shadow: 0 0 0 2px var(--tinta); }
input[type="range"]:focus-visible { outline: none; } input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 2px var(--tinta), 0 0 0 6px var(--ciano); }
.hoteis__status { font-size: .9rem; color: var(--tinta-3); margin-bottom: 8px; }
.hoteis__lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linha); }
.hotel { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 2px 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--linha); transition: background-color .2s; }
.hotel.ativo { background: rgba(71,215,245,.06); }
.hotel__num { grid-row: span 2; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--ciano); font-size: .8rem; font-weight: 700; }
.hotel__nome { font-weight: 600; }
.hotel__min { grid-row: span 2; font-size: .9rem; color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.hotel__tarifa { font-size: .88rem; color: var(--tinta-3); }

/* Dúvidas */
.duvidas { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px 64px; align-items: start; }
.sanfona { border-top: 1px solid var(--linha); }
.sanfona details { border-bottom: 1px solid var(--linha); }
.sanfona summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 22px 0; cursor: pointer; font-weight: 600; font-size: 1.1rem; }
.sanfona summary::-webkit-details-marker { display: none; }
.sanfona summary::after { content: ''; flex: none; width: 14px; height: 14px; background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat; transition: transform .4s var(--sai); }
.sanfona details[open] summary::after { transform: rotate(135deg); }
.sanfona summary:hover { color: var(--rosa); }
.sanfona details p { padding: 0 40px 24px 0; color: var(--tinta-2); max-width: 64ch; }
.sanfona details[open] p { animation: desliza .5s var(--sai); }

/* Contato */
.form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 24px; }
.campo { display: grid; gap: 8px; align-content: start; }
.campo--largo { grid-column: 1 / -1; }
.campo label { font-weight: 600; font-size: .95rem; }
.campo input, .campo select, .campo textarea { width: 100%; min-height: 52px; padding: 12px 16px; border-radius: 12px; border: 1.5px solid var(--linha-forte); background: var(--bg-2); color: var(--tinta); transition: border-color .2s, box-shadow .2s; caret-color: var(--magenta); }
.campo textarea { resize: vertical; min-height: 140px; }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color: var(--tinta-3); }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--ciano); box-shadow: 0 0 0 3px rgba(71,215,245,.25); }
.campo [aria-invalid="true"] { border-color: var(--erro); }
.campo__erro { font-size: .88rem; color: var(--erro); min-height: 0; }
.campo__erro:empty { display: none; }
.form__fim { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.form__status--ok { color: var(--sucesso); } .form__status--erro { color: var(--erro); }

/* Rodapé */
.rodape { margin-top: clamp(80px, 12vw, 160px); border-top: 1px solid var(--linha); }
.rodape__in { max-width: calc(var(--largura) + 2 * var(--margem)); margin: 0 auto; padding: 40px var(--margem) 48px; display: grid; gap: 10px; color: var(--tinta-2); font-size: .92rem; }
.rodape .marca { font-size: 1.6rem; color: var(--tinta); margin-bottom: 8px; }
.rodape__aviso { color: var(--tinta-3); }

/* Animações */
@keyframes surge { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
@keyframes vira { from { opacity: .2; transform: translateY(-35%); filter: blur(3px); } }
@keyframes desliza { from { opacity: 0; transform: translateY(14px); } }
@keyframes troca { from { opacity: 0; transform: translateY(8px); filter: blur(4px); } }
@keyframes pulsa { 40% { transform: scale(1.35); } }
@keyframes onda { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(2.6); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .abertura { height: auto; } .abertura__palco { position: relative; }
}
.a11y-still { scroll-behavior: auto; }
.a11y-still *, .a11y-still *::before, .a11y-still *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
.a11y-still .abertura { height: auto; } .a11y-still .abertura__palco { position: relative; }

/* Responsivo */
@media (max-width: 1080px) {
  .menu__botao { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--linha-forte); background: rgba(7,9,24,.35); font-weight: 600; font-size: .9rem; }
  .menu__icone { width: 16px; height: 10px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
  .menu__lista { position: fixed; inset: 72px 12px auto; flex-direction: column; padding: 12px; background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: 18px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.9); display: none; }
  .menu-aberto .menu__lista { display: flex; animation: surge .35s var(--sai); }
  .menu__lista a { padding: 14px 16px; font-size: 1.05rem; }
  .menu { order: 3; margin-left: 0; }
  .topo__acoes { margin-left: auto; }
  .a11y__botao span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .a11y__botao { padding: 0 12px; }
}
@media (max-width: 440px) {
  .menu__rotulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .menu__botao { width: 44px; padding: 0; justify-content: center; }
}
@media (max-width: 820px) {
  .topo__acoes .botao--cheio { display: none; }
  .topo__in { gap: 10px; }
  .topo__acoes { gap: 6px; }
  .idioma__op { min-width: 34px; padding: 0 6px; }
  .a11y__botao { flex: none; width: 44px; padding: 0; justify-content: center; }
  .a11y__botao svg { width: 22px; height: 22px; }
  .abertura { height: 200vh; }
  .abertura__texto { max-width: none; right: var(--margem); bottom: 150px; }
  .abertura__titulo { font-size: clamp(3rem, 15vw, 4.5rem); }
  .abertura__dados { gap: 8px 24px; margin: 18px 0 22px; }
  .abertura__legenda { display: none; }
  .abertura__ctas .botao { flex: 1 1 auto; }
  .contagem { bottom: 20px; padding-top: 14px; }
  .contagem__lista { justify-content: space-between; gap: 8px; }
  .contagem__lista li { flex-direction: column; gap: 4px; }
  .atalhos ul { grid-template-columns: 1fr 1fr; }
  .atalhos a { min-height: 56px; padding: 0 12px; font-size: .92rem; }
  .secao__cabeca { grid-template-columns: 1fr; }
  .sobre .titulo-secao, .sobre__corpo { grid-column: 1 / -1; }
  .sobre__fatos { grid-template-columns: 1fr; }
  .sobre__fatos li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--linha); padding-top: 18px; margin-top: 18px; }
  .prog__dias { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .aba { padding: 12px 10px; }
  .filtros__lista { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--margem)); padding: 2px var(--margem) 6px; scrollbar-width: none; }
  .pilula span { white-space: nowrap; }
  .sessao { grid-template-columns: 1fr auto; }
  .sessao__hora { grid-column: 1 / -1; font-size: .92rem; }
  .sessao__corpo { grid-column: 1; }
  .salvar { grid-column: 2; grid-row: 2; align-self: start; padding: 0 12px; }
  .salvar__txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .sessao::before { left: -10px; }
  .segmento__lista { width: 100%; }
  .segmento__op { flex: 1 1 auto; } .segmento__op span { justify-content: center; }
  .lotes { grid-template-columns: 1fr 1fr; }
  .lote--vigente { grid-column: 1 / -1; }
  .linha-tempo { grid-template-columns: 1fr; gap: 0; }
  .linha-tempo li { padding: 0 0 32px 32px; }
  .linha-tempo li::before { left: 6px; right: auto; top: 6px; bottom: 0; width: 2px; height: auto; background: linear-gradient(var(--azul), var(--magenta)); }
  .linha-tempo li::after { top: 0; }
  .local__grade, .duvidas { grid-template-columns: 1fr; }
  .sobre__foto { grid-column: 1 / -1; grid-row: auto; }
  .sobre__foto img { aspect-ratio: 4 / 3; }
  .sobre__corpo, .sobre__fatos { grid-row: auto; }
  .faixa-foto { height: 80vh; min-height: 520px; }
  .faixa-foto__texto { grid-template-columns: 1fr; }
  .form { grid-template-columns: 1fr; }
  .botao--grande { width: 100%; }
}
