/* Styles specific to the live-registration version. Shared tokens and form behavior come from v2. */
.v3 .topbar-inner { gap: 18px; }
.v3 .topbar.is-scrolled { background: #07100bf2; border-bottom: 1px solid #8edac426; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.v3 .topbar-cta { flex-shrink: 0; }
.v3 .brand { gap: 12px; }
.v3 .brand-mark { flex-shrink: 0; width: 48px; height: 36px; background: transparent; color: #2dd4bf; border-radius: 0; }
.v3 .brand-mark svg { width: 48px; height: 30px; }
.brand-wordmark { display: grid; gap: 5px; }
.brand-title { color: #fff; font-family: var(--font-titulo); font-size: 20px; font-weight: 700; line-height: 1; letter-spacing: -.035em; white-space: nowrap; }
.brand-edition { color: #8be4d5; font: 600 11px/1 var(--font-mono); letter-spacing: .55em; text-transform: uppercase; }
.v3 .countdown { display: flex; align-items: baseline; gap: 8px; margin-left: auto; padding: 7px 12px; color: var(--text-muted); white-space: nowrap; font-size: 13px; background: rgba(0,0,0,.72); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.v3 .countdown strong { color: #fb923c; font-family: var(--font-mono); font-size: 14px; }
.v3 .badge-roxo-soft { background: rgba(20,184,166,.14); color: #5eead4; }
.v3 .hero { min-height: 100svh; }
.v3 .enter { opacity: 0; translate: 0 24px; transition: opacity .7s ease var(--enter-delay,0ms), translate .7s cubic-bezier(.16,1,.3,1) var(--enter-delay,0ms), transform .5s cubic-bezier(.16,1,.3,1), border-color .5s, box-shadow .5s; }
.v3 .enter.is-in, .v3 .enter:focus-within { opacity: 1; translate: none; }
.v3 [data-enter="1"] { --enter-delay: 90ms; }
.v3 [data-enter="2"] { --enter-delay: 180ms; }
.v3 [data-enter="3"] { --enter-delay: 270ms; }
.v3 .hero-banner { isolation: isolate; }
.v3 .hero-banner img, .v3 .hero-cover-motion { filter: brightness(1.08) saturate(.82); }
.v3 .hero-banner::before { content: ''; position: absolute; inset: 0; z-index: 1; background: rgba(7,14,20,.08); pointer-events: none; }
.v3 .hero-banner::after { z-index: 2; }
.hero-cover-motion { position: absolute; pointer-events: none; }
.cover-artwork { transform-box: fill-box; transform-origin: center; animation: cover-float 5s ease-in-out infinite; }
.cover-artwork:nth-of-type(even) { animation-direction: reverse; animation-delay: -2s; }
.cover-artwork--turn { animation: cover-turn 18s linear infinite; }
.cover-cube-glow { transform-box: fill-box; transform-origin: center; animation: cover-breathe 5s ease-in-out infinite; }
.cover-cube-particles { transform-origin: 970px 310px; opacity: .95; animation: cover-orbit 12s linear infinite; }
.cover-brain-particles { transform-origin: 750px 92px; opacity: .9; animation: cover-orbit 16s linear infinite reverse; }
.hero-cover-motion[data-active="false"] * { animation-play-state: paused; }
@keyframes cover-breathe { 0%,100% { opacity: .3; transform: scale(.88); } 50% { opacity: .95; transform: scale(1.16); } }
@keyframes cover-orbit { to { transform: rotate(360deg); } }
@keyframes cover-float { 0%,100% { transform: translateY(3px) rotate(-2deg) scale(1.03); } 50% { transform: translateY(-6px) rotate(2deg) scale(1.08); } }
@keyframes cover-turn { to { transform: rotate(360deg); } }
.v3 .hero .hero-split { margin-top: 18px; }
.v3 .hero-title { max-width: 13em; }
.v3 .hero-lead { max-width: 38rem; font-size: clamp(18px,1.6vw,20px); line-height: 1.5; }
.v3 .hero-event { max-width: 100%; margin-top: 20px; padding: 0; border-radius: 0; background: transparent; color: #fb923c; font-size: clamp(16px,1.6vw,20px); font-weight: 400; line-height: 1.35; }
.v3 .hero-event::before { flex-shrink: 0; background: #ef4444; }
.v3 .hero-form { scroll-margin-top: 20px; }
.v3 .hero-form-note { margin-bottom: 14px; }
.v3 .form-status:empty { display: none; }
.v3 .form-status:not(:empty) { color: #fca5a5; font-size: 14px; }
.v3 .form-foot { margin-top: 0; }
.v3-section { padding: 88px 0; }
.v3-section-alt { background: #0d0d0d; border-block: 1px solid #1e1e1e; }
.v3-section-head { max-width: 780px; margin-bottom: 32px; }
.v3-section-head .eyebrow { margin-bottom: 10px; }
.v3-section-head .title { max-width: 18em; }
.topic-section-head { max-width: 980px; margin-inline: auto; text-align: center; }
.topic-section-head .title { max-width: none; margin-inline: auto; }
.topic-subtitle { max-width: 800px; margin: 16px auto 0; color: #bdc8c5; font-size: clamp(17px,1.5vw,20px); line-height: 1.55; }
.builders-section { background: radial-gradient(ellipse at 22% 45%,#103c37 0, #071e1c 32%, #000 72%); }
.builders-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: 72px; }
.builders-copy .title { max-width: 18em; }
.builders-copy .topic-subtitle { margin: 24px 0 0; }
.builders-art { position: relative; width: 100%; max-width: 420px; height: 440px; margin-inline: auto; perspective: 1000px; }
.builders-art::before { position: absolute; inset: -24px; background-image: repeating-linear-gradient(60deg,transparent 0 63px,#86dac509 63px 64px),repeating-linear-gradient(120deg,transparent 0 63px,#86dac509 63px 64px); mask-image: radial-gradient(ellipse,#000,transparent 72%); content: ''; }
.builders-cube { position: absolute; left: 50%; width: var(--cube-size); height: var(--cube-height); margin-left: calc(var(--cube-size) / -2); margin-top: calc(var(--cube-height) / -2); transform-style: preserve-3d; transform: rotateX(-25deg) rotateY(-45deg); animation: builders-orbit 24s linear infinite; }
.builders-cube--small { --cube-size: 94px; --cube-height: 36px; top: 70px; animation-duration: 20s; }
.builders-cube--middle { --cube-size: 136px; --cube-height: 52px; top: 195px; animation-duration: 28s; animation-direction: reverse; }
.builders-cube--base { --cube-size: 180px; --cube-height: 68px; top: 345px; animation-duration: 34s; }
.builders-cube span { position: absolute; inset: 0; border: 1px solid #4fa99a; background: #43b9a30b; box-shadow: inset 0 0 20px #2dd4bf08; }
.builders-cube .cube-front { transform: translateZ(calc(var(--cube-size) / 2)); }
.builders-cube .cube-back { transform: rotateY(180deg) translateZ(calc(var(--cube-size) / 2)); }
.builders-cube .cube-left { transform: rotateY(-90deg) translateZ(calc(var(--cube-size) / 2)); }
.builders-cube .cube-right { transform: rotateY(90deg) translateZ(calc(var(--cube-size) / 2)); }
.builders-cube .cube-top, .builders-cube .cube-bottom { top: 50%; height: var(--cube-size); margin-top: calc(var(--cube-size) / -2); background: #39b9a324; }
.builders-cube .cube-top { transform: rotateX(90deg) translateZ(calc(var(--cube-height) / 2)); }
.builders-cube .cube-bottom { transform: rotateX(-90deg) translateZ(calc(var(--cube-height) / 2)); }
@keyframes builders-orbit { to { transform: rotateX(-25deg) rotateY(315deg); } }
.topic-intro { margin: 0 0 28px; color: #fff; font-size: clamp(26px,2.4vw,32px); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; text-align: center; }
.topic-intro::after { display: block; width: 48px; height: 3px; margin: 16px auto 0; border-radius: 2px; background: #2dd4bf; content: ''; }
.topic-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 14px; margin-bottom: 24px; }
.topic-card { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 54px; min-height: 204px; padding: 26px; overflow: hidden; border: 1px solid #4b6b57; border-radius: 14px; background: linear-gradient(145deg,#294034,#17271f 70%); box-shadow: inset 0 1px 0 #ffffff20, 0 12px 32px #02080533; transform: perspective(1300px); transition: transform .5s cubic-bezier(.16,1,.3,1), border-color .5s, box-shadow .5s; }
.topic-card::after { position: absolute; top: 27px; right: 26px; width: 4px; height: 4px; border-radius: 50%; background: #d3f8dd; box-shadow: 0 0 10px #a9ffd9; content: ''; }
@media (hover: hover) and (pointer: fine) {
  .topic-card:hover { z-index: 1; transform: perspective(1300px) rotateY(-9deg) rotateX(7deg) translateY(-7px); border-color: #78a38b; box-shadow: inset 0 1px 0 #ffffff30, 12px 24px 26px -12px #050b0780; }
}
.topic-card--shift { grid-row: span 2; min-height: 422px; }
.topic-card--builder { background: linear-gradient(150deg,#23483b,#172c23 75%); }
.topic-card--live { background: linear-gradient(135deg,#343f2c,#222c1e 70%); }
.topic-card .topic-label { padding: 7px 10px; border: 1px solid #c5e2ce30; border-radius: 4px; background: #0b140f55; color: #c6dace; font: 600 10px/1.3 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.topic-card p { position: relative; max-width: 390px; color: #bdcec3; font-size: 22px; font-weight: 400; line-height: 1.4; letter-spacing: -.025em; }
.topic-card--shift p { max-width: 430px; font-size: clamp(22px,2.2vw,28px); line-height: 1.3; }
.topic-card p strong { color: #f2fff6; font-weight: 700; }
.topic-illustration { position: absolute; z-index: -1; top: 24px; right: 22px; width: 145px; height: 122px; stroke: #a5d4b6; stroke-width: 1.1; opacity: .4; filter: drop-shadow(0 0 10px #87e5aa22); pointer-events: none; }
.topic-illustration-grid { stroke: #608c6d; opacity: .5; }
.topic-arrow-light { filter: drop-shadow(0 0 4px #75ffce); }
.topic-clock-minute, .topic-clock-hour { transform-origin: 60px 50px; animation: topic-clock-spin 2s linear infinite; }
.topic-clock-hour { animation-duration: 24s; }
@keyframes topic-clock-spin { to { transform: rotate(360deg); } }
.topic-card--shift .topic-illustration { top: 67px; left: 50%; right: auto; width: 230px; height: 192px; opacity: .6; transform: translateX(-50%); }
.topic-cube { perspective: 600px; }
.topic-cube-shape { position: absolute; top: 25px; left: 37px; width: 72px; height: 72px; transform-style: preserve-3d; transform: rotateX(-22deg) rotateY(-35deg); animation: topic-cube-spin 12s linear infinite; }
.topic-cube-shape span { position: absolute; inset: 0; border: 1px solid #a5d4b6; }
.cube-front { transform: translateZ(36px); }
.cube-back { transform: rotateY(180deg) translateZ(36px); }
.cube-left { transform: rotateY(-90deg) translateZ(36px); }
.cube-right { transform: rotateY(90deg) translateZ(36px); }
.cube-top { transform: rotateX(90deg) translateZ(36px); }
.cube-bottom { transform: rotateX(-90deg) translateZ(36px); }
@keyframes topic-cube-spin { to { transform: rotateX(-22deg) rotateY(325deg); } }
.v3-contrast { display: grid; grid-template-columns: minmax(0,.8fr) 60px minmax(0,1.4fr); align-items: stretch; gap: 16px; padding: 36px; border-radius: 18px; background: #151c17; }
.v3-contrast-panel { padding: 30px; border: 1px solid #805d52; border-radius: 12px; background: #2b211e; color: #d6bfb8; }
.v3-contrast-panel h3 { margin-bottom: 14px; font-size: 25px; line-height: 1.15; letter-spacing: -.035em; }
.v3-contrast-panel p { font-size: 16px; line-height: 1.6; }
.v3-contrast-tool { display: flex; flex-direction: column; justify-content: center; gap: 15px; }
.v3-contrast-tool h3 { color: #f9eae4; text-decoration: line-through; text-decoration-color: #e07e75; text-decoration-thickness: 2px; }
.v3-contrast-solution { background: #203d2d; border-color: #5e9570; color: #c7dfca; }
.v3-contrast-solution h3 { color: #f0ffee; }
.v3-contrast-vs { display: grid; place-items: center; align-self: center; width: 54px; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; color: #bad3bd; font: 500 13px var(--font-mono); }
.v3-contrast-mark { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 20px; border: 1px solid #ae7b6c; border-radius: 50%; color: #f1a093; font-size: 36px; font-weight: 400; }
.v3-contrast-kicker { display: block; margin-bottom: 24px; color: #91c59e; font: 500 10px/1.5 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; }
.v3-contrast-skills { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 22px; margin-top: 28px; font-size: 15px; line-height: 1.45; }
.v3-contrast-skills li { display: flex; align-items: baseline; gap: 10px; }
.v3-contrast-skills li::before { content: '+'; flex: none; color: #85d5a1; font: 500 15px var(--font-mono); }
.v3-contrast-note { max-width: 900px; margin: 28px auto 0; color: #b6c5ba; font-size: 17px; line-height: 1.65; text-align: center; }
.v3 .founders { align-items: center; }
.v3 #fundadores { position: relative; isolation: isolate; overflow: hidden; border-block: 1px solid #2dd4bf1c; background: radial-gradient(ellipse at 15% 40%,#143e35 0,transparent 57%),linear-gradient(115deg,#0b1b17,#080e0c 65%,#0d1813); }
.v3 #fundadores::before { position: absolute; z-index: -1; inset: 0; background-image: repeating-linear-gradient(125deg,transparent 0 95px,#92d9c608 95px 96px); mask-image: linear-gradient(90deg,#000,transparent 75%); content: ''; pointer-events: none; }
.v3 #fundadores .founders-photo { background: #0b1b1780; border-color: #78b9a52b; }
.v3 .founders-photo { padding: 20px; border: 1px solid var(--border); border-radius: 50%; }
.v3 .founders-photo img { display: block; aspect-ratio: 1; border: 0; border-radius: 50%; object-position: center; }
.v3 #fundadores strong { color: #fff; }
.v3 .mono-label { color: #8edac4; }
.v3 .paths { position: relative; isolation: isolate; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.v3 .paths .path { position: relative; }
.paths-cycle { position: absolute; z-index: -1; inset: -40px -36px; color: #2dd4bf; opacity: .38; pointer-events: none; }
.paths-cycle svg { display: block; width: 100%; height: 100%; overflow: visible; }
.paths-cycle-orbit { transform-origin: 200px 200px; animation: paths-cycle-spin 28s linear infinite; }
@keyframes paths-cycle-spin { to { transform: rotate(360deg); } }
.v3 .formula { background: rgba(20,184,166,.1); border-color: rgba(45,212,191,.3); }
.v3 .formula i { color: #75dfd0; }
.v3 .season li:first-child { background: #174a3b; border-color: #2a7059; }
.v3 .timeline::before { background: linear-gradient(90deg,#14B8A6,rgba(20,184,166,.15)); }
.v3 .timeline-dot { border-color: #14B8A6; }
.v3 .callout { background: rgba(20,184,166,.08); border-left-color: #14B8A6; }
.v3-footer { padding-bottom: 24px; }
.v3-footer p { max-width: 900px; margin-top: 14px; color: var(--text-soft); font-size: 13px; line-height: 1.6; }
.v3-footer .footer-copy { color: var(--text-muted); }

@media (max-width: 900px) {
  .v3-contrast { grid-template-columns: minmax(0,.8fr) 44px minmax(0,1.3fr); gap: 12px; padding: 26px; }
  .v3-contrast-panel { padding: 22px; }
  .v3-contrast-panel h3 { font-size: 23px; }
  .v3-contrast-vs { width: 42px; }
  .v3-contrast-skills { gap: 13px; font-size: 14px; }
}
@media (max-width: 700px) {
  .v3 .topbar[data-persistent] .countdown { display: none; }
  .v3-footer { text-align: center; }
  .v3-footer .footer-top { flex-direction: column; justify-content: center; }
  .v3-footer nav { justify-content: center; }
  .v3-contrast { grid-template-columns: minmax(0,1fr); gap: 16px; padding: 22px 16px; border-radius: 12px; }
  .v3-contrast-panel { padding: 24px; }
  .v3-contrast-tool { min-height: 230px; }
  .v3-contrast-vs { justify-self: center; font-size: 11px; }
  .v3-contrast-mark { width: 42px; height: 42px; margin-bottom: 8px; font-size: 26px; }
  .v3-contrast-skills { grid-template-columns: minmax(0,1fr); }
  .v3-contrast-note { font-size: 16px; text-align: left; }
}
@media (min-width: 861px) {
  .v3 .hero { min-height: 100vh; min-height: 100svh; }
  .v3 .hero-banner::after { background: linear-gradient(transparent 0 calc(76% + 50px), rgba(0,0,0,.12) calc(88% + 25px), var(--bg)); }
  .v3 .hero .hero-split { margin-top: clamp(36px, 5vh, 60px); }
}
@media (max-width: 860px) {
  .v3 .paths { grid-template-columns: minmax(0,1fr); gap: 48px; }
  .paths-cycle { inset: -24px -12px; overflow: clip; }
  .builders-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .builders-art { width: 320px; max-width: 100%; height: 352px; perspective: 800px; }
  .builders-cube--small { --cube-size: 76px; --cube-height: 29px; top: 48px; }
  .builders-cube--middle { --cube-size: 109px; --cube-height: 42px; top: 149px; }
  .builders-cube--base { --cube-size: 144px; --cube-height: 54px; top: 272px; }
  .builders-copy { text-align: center; }
  .builders-copy .title { max-width: 22em; margin-inline: auto; }
  .builders-copy .topic-subtitle { margin: 20px auto 0; }
  .v3 .topbar-inner { gap: 10px; }
  .v3 .countdown { gap: 4px; font-size: 11px; }
  .v3 .countdown strong { font-size: 11px; }
  .v3 .hero .hero-split { margin-top: -112px; }
  .v3-section { padding: 64px 0; }
  .topic-grid { grid-template-columns: 1fr; gap: 10px; }
  .topic-card, .topic-card--shift { grid-row: auto; min-height: 284px; padding: 24px; gap: 100px; }
  .topic-card p, .topic-card--shift p { max-width: none; font-size: 22px; line-height: 1.4; }
  .topic-illustration, .topic-card--shift .topic-illustration { top: 45px; left: auto; right: 26px; width: 145px; height: 122px; opacity: .4; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .v3 .enter { opacity: 1; translate: none; transition: none; }
  .topic-illustration, .topic-cube-shape, .topic-clock-minute, .topic-clock-hour, .builders-cube, .paths-cycle-orbit { animation: none !important; }
  .topic-card { transition: none; }
  .topic-card:hover { transform: none; }
  .topic-arrow-light, .topic-arrow-arrival { display: none; }
  .hero-cover-motion { display: none; }
}
@media (max-width: 560px) {
  .v3 .topbar .topbar-cta { min-height: 44px; padding-inline: 10px; font-size: 13px; }
  .v3 .topbar .brand-title { font-size: 16px; }
  .v3 .brand-name span { display: none; }
  .v3 .topbar .brand { gap: 9px; }
  .v3 .brand-mark, .v3 .brand-mark svg { width: 38px; height: 30px; }
  .brand-title { font-size: 17px; }
  .brand-edition { font-size: 10px; letter-spacing: .45em; }
  .v3 .countdown { display: grid; flex: 0 0 auto; gap: 0; justify-items: center; padding: 4px 8px; line-height: 1.2; }
  .v3 .countdown strong { font-size: 10px; }
  .v3 .hero-banner { height: clamp(210px,60vw,240px); }
  .v3 .hero-banner img, .v3 .hero-cover-motion { translate: 0 -80px; }
  .v3 .hero-title { font-size: clamp(28px, 7vw, 36px); }
  .v3 .hero-lead { margin-top: 10px; font-size: 17px; }
  .v3 .hero-event { margin-top: 14px; }
  .v3 .hero-form { padding: 16px; }
  .v3-section { padding: 52px 0; }
  .v3-section-head { margin-bottom: 24px; }
}
@media (max-width: 360px) {
  .v3 .topbar .brand-mark, .v3 .topbar .brand-mark svg { width: 32px; }
  .v3 .topbar .brand-title { font-size: 15px; }
}
