@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Noto+Sans+JP:wght@100;300;400;700;900&display=swap');

:root {
    --vrt-purple:#7C3AED; --vrt-pink:#EC4899; --vrt-blue:#3B82F6;
    --vrt-green:#10B981; --vrt-amber:#F59E0B;
    --ink:#0F172A; --ink-soft:#334155; --gray:#64748B; --gray-light:#94A3B8;
    --line:#eef0f4; --line-soft:#f1f5f9; --bg:#fff; --bg-soft:#faf9ff;
    --grad:linear-gradient(120deg,#7C3AED,#EC4899,#3B82F6);
    --grad-2:linear-gradient(120deg,#7C3AED,#EC4899);
    --radius:16px; --radius-lg:20px;
    --shadow:0 20px 50px rgba(15,23,42,0.06); --shadow-sm:0 4px 12px rgba(15,23,42,0.05);
    --font:'Plus Jakarta Sans',sans-serif;
}
body { background:var(--bg); color:var(--ink); font-family:var(--font); }
#primary,#content,.site-content,.content-area,.site-main { width:100%!important; max-width:100%!important; padding:0!important; margin:0!important; }
.site-content { overflow-x:hidden; margin-top:0!important; }
.vd { width:100%; overflow:hidden; }
.vd *,.vd *::before,.vd *::after { box-sizing:border-box; }
.vd-container { max-width:1280px; margin:0 auto; padding:0 32px; }

/* Reveal on scroll */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.23,1,.32,1), transform .7s cubic-bezier(.23,1,.32,1); }
.reveal.in { opacity:1; transform:translateY(0); }

/* Section headers */
.sec-head { margin-bottom:32px; }
.sec-head.center { text-align:center; max-width:620px; margin-left:auto; margin-right:auto; }
.sec-eyebrow { display:inline-block; font-size:12px; font-weight:700; color:var(--vrt-purple); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:10px; }
.sec-title { font-size:clamp(1.75rem,3vw,2.4rem); font-weight:800; letter-spacing:-1px; color:var(--ink); line-height:1.1; margin:0 0 10px; }
.sec-desc { font-size:1.05rem; color:var(--gray); line-height:1.6; margin:0; }
.section { padding:80px 0; }
.section.soft { background:var(--bg-soft); }

/* ============================================================
   HERO — QUARTO RETRÔ (vídeo único de fundo 1920x1080)
   ============================================================ */
.hero-room { position:relative; width:100%; height:clamp(440px, 56.25vw, 760px); overflow:hidden; display:flex; align-items:center; background:#1a0b2e; }
.hero-room-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; display:block; }
/* Gradiente escuro da esquerda para leitura do texto branco */
.hero-room-grad { position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(90deg, rgba(8,3,24,0.92) 0%, rgba(8,3,24,0.82) 26%, rgba(8,3,24,0.5) 44%, transparent 60%); }

/* Conteúdo principal à esquerda */
.hero-room-content { position:relative; z-index:5; margin-left:5.5%; width:min(560px,46%); }
.lockup { margin-bottom:22px; }
.lockup-voruto { font-size:clamp(2.8rem,5vw,4.2rem); font-weight:800; line-height:.9; letter-spacing:-2px; color:#fff; display:block; }
.lockup-voruto .grad { background:linear-gradient(120deg,#c4b5fd,#f9a8d4,#93c5fd); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.lockup-line { width:100px; height:2px; background:linear-gradient(90deg,#a78bfa,transparent); margin:11px 0; border-radius:2px; }
.lockup-doshi-row { display:flex; align-items:baseline; gap:13px; }
.lockup-doshi-latin { font-size:clamp(1.1rem,2vw,1.5rem); font-weight:300; letter-spacing:13px; text-transform:uppercase; color:#c4b5fd; line-height:1; }
.lockup-doshi-jp { font-family:'Noto Sans JP',sans-serif; font-size:1.05rem; font-weight:300; color:rgba(196,181,253,.7); letter-spacing:3px; }
.manifesto { font-size:clamp(1.1rem,1.7vw,1.4rem); font-weight:700; color:#fff; line-height:1.35; letter-spacing:-.3px; margin-bottom:12px; text-shadow:0 2px 20px rgba(0,0,0,.5); }
.manifesto em { font-style:normal; background:linear-gradient(120deg,#c4b5fd,#f9a8d4); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.manifesto-sub { font-size:13.5px; color:rgba(255,255,255,.8); line-height:1.65; margin-bottom:22px; max-width:94%; text-shadow:0 1px 12px rgba(0,0,0,.6); }
.manifesto-sub strong { color:#fff; font-weight:700; }
.hero-cta { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.btn { padding:13px 24px; border-radius:11px; font-size:13px; font-weight:700; cursor:pointer; border:none; font-family:var(--font); display:inline-flex; align-items:center; gap:6px; transition:.25s; text-decoration:none; }
.btn-p { background:linear-gradient(120deg,#7C3AED,#EC4899); color:#fff; box-shadow:0 8px 22px rgba(124,58,237,.45); }
.btn-p:hover { transform:translateY(-2px); color:#fff; }
.btn-g { background:rgba(255,255,255,0.12); color:#fff; border:1px solid rgba(255,255,255,0.25); backdrop-filter:blur(8px); }
.btn-g:hover { background:rgba(255,255,255,0.2); transform:translateY(-2px); color:#fff; }
.btn-mkt { background:rgba(16,185,129,0.18); border-color:rgba(16,185,129,0.55); }
.btn-mkt:hover { background:rgba(16,185,129,0.30); border-color:#10b981; color:#fff; }
.hero-register-txt { display:block; margin-top:10px; font-size:12px; color:rgba(255,255,255,0.55); text-decoration:none; font-weight:600; letter-spacing:.2px; transition:.15s; }
.hero-register-txt:hover { color:rgba(255,255,255,0.85); }
.hero-proof { display:flex; align-items:center; gap:11px; }
.proof-avs { display:flex; }
.proof-avs > div { margin-left:-9px; border:2px solid rgba(255,255,255,.3); box-shadow:0 2px 8px rgba(0,0,0,.4); }
.proof-avs > div:first-child { margin-left:0; }
.proof-txt { font-size:12px; color:rgba(255,255,255,.7); line-height:1.35; }
.proof-txt b { color:#fff; }

/* Selo 30 anos — faixa larga e fina, transparente, no rodapé */
.hero-badge30 { position:absolute; right:0; left:0; bottom:0; z-index:6;
    background:linear-gradient(0deg, rgba(8,3,24,.62) 0%, rgba(8,3,24,.32) 70%, transparent 100%);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    padding:18px 6% 16px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hb30-tag { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#f9a8d4; white-space:nowrap; flex-shrink:0; }
.hb30-live { width:6px; height:6px; border-radius:50%; background:#ef4444; animation:hb30rec 1.4s infinite; }
@keyframes hb30rec { 0%,100%{opacity:1} 50%{opacity:.3} }
.hb30-title { font-size:16px; font-weight:800; color:#fff; line-height:1.1; white-space:nowrap; flex-shrink:0; }
.hb30-title .g { background:linear-gradient(120deg,#fbbf24,#f9a8d4); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hb30-desc { font-size:11.5px; color:rgba(255,255,255,.78); line-height:1.45; flex:1; min-width:240px; }
.hb30-desc strong { color:#fff; }

/* STATS — barra de 6 métricas */
.vd-stats { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(7,1fr); gap:1px; background:var(--line); position:relative; z-index:5; border-left:1px solid var(--line); border-right:1px solid var(--line); }
.vd-stat { background:#fff; padding:24px 12px; text-align:center; }
.vd-stat-n { font-size:1.7rem; font-weight:800; background:var(--grad-2); -webkit-background-clip:text; -webkit-text-fill-color:transparent; line-height:1; }
.vd-stat-l { font-size:10px; color:var(--gray-light); margin-top:6px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; }


/* ============================================================
   CURADORIA (TRÍPTICO)
   ============================================================ */
.trip-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pillar-c { position:relative; border-radius:var(--radius-lg); overflow:hidden; height:400px; text-decoration:none; color:#fff; transition:0.4s cubic-bezier(0.23,1,0.32,1); box-shadow:var(--shadow-sm); }
.pillar-c-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:0.6s; }
.pillar-c-ov { position:absolute; inset:0; transition:0.4s; }
.pc-vault .pillar-c-ov { background:linear-gradient(0deg,rgba(124,58,237,0.92) 0%,rgba(124,58,237,0.25) 55%,transparent 100%); }
.pc-lounge .pillar-c-ov { background:linear-gradient(0deg,rgba(236,72,153,0.92) 0%,rgba(236,72,153,0.25) 55%,transparent 100%); }
.pc-atelier .pillar-c-ov { background:linear-gradient(0deg,rgba(59,130,246,0.92) 0%,rgba(59,130,246,0.25) 55%,transparent 100%); }
.pillar-c-body { position:absolute; bottom:0; left:0; right:0; padding:30px 28px; z-index:3; }
.pillar-c-tag { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; background:rgba(255,255,255,0.2); backdrop-filter:blur(8px); padding:5px 11px; border-radius:100px; margin-bottom:12px; border:1px solid rgba(255,255,255,0.25); }
.pillar-c-title { font-size:1.7rem; font-weight:800; margin:0 0 6px; line-height:1.1; letter-spacing:-0.5px; }
.pillar-c-desc { font-size:0.95rem; color:rgba(255,255,255,0.9); line-height:1.5; margin:0 0 16px; max-height:0; overflow:hidden; opacity:0; transition:0.4s; }
.pillar-c-link { font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:6px; }
.pillar-c:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.pillar-c:hover .pillar-c-bg { transform:scale(1.07); }
.pillar-c:hover .pillar-c-desc { max-height:80px; opacity:1; }

/* ============================================================
   CARROSSEL FULL-BLEED
   ============================================================ */
.carousel-section { position:relative; }
.carousel-head { max-width:1280px; margin:0 auto 22px; padding:0 32px; display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.carousel-link { font-size:13px; font-weight:700; color:var(--vrt-purple); text-decoration:none; }
.carousel-link.green { color:var(--vrt-green); }
.carousel-viewport { overflow:hidden; position:relative; width:100%; -webkit-mask:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); mask:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.carousel-track { display:flex; gap:18px; padding:8px 0; width:max-content; animation:scrollX 50s linear infinite; }
.carousel-track.rev { animation-direction:reverse; animation-duration:56s; }
.carousel-track.paused { animation-play-state:paused; }
@keyframes scrollX { from{transform:translateX(0);} to{transform:translateX(-50%);} }
.carousel-ctrl { position:absolute; top:-50px; right:32px; display:flex; gap:8px; align-items:center; z-index:10; }
.ctrl-label { font-size:11px; color:var(--gray-light); font-weight:600; }
.ctrl-btn { width:38px; height:38px; border-radius:50%; background:#fff; border:1px solid #e9d5ff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--vrt-purple); transition:.2s; box-shadow:0 2px 10px rgba(124,58,237,.08); }
.ctrl-btn:hover { background:var(--bg-soft); border-color:#a78bfa; transform:scale(1.05); }
.ctrl-btn.green { border-color:#a7f3d0; color:var(--vrt-green); }

.cprod { flex:0 0 200px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:12px; display:flex; flex-direction:column; transition:transform .3s,box-shadow .3s,border-color .3s; text-decoration:none; }
.cprod:hover { transform:translateY(-6px); box-shadow:0 20px 44px rgba(124,58,237,.14); border-color:transparent; }
.cprod-imgw { width:100%; aspect-ratio:.715; border-radius:11px; overflow:hidden; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; position:relative; padding:8px; margin-bottom:11px; }
.cprod-img { width:100%; height:100%; object-fit:contain; transition:transform .3s; }
.cprod:hover .cprod-img { transform:scale(1.06); }
.cprod-flag { position:absolute; bottom:8px; right:8px; font-size:13px; background:rgba(255,255,255,.95); border-radius:5px; padding:2px 5px; box-shadow:0 2px 6px rgba(0,0,0,.08); }
.cprod-badge { position:absolute; top:8px; left:8px; font-size:9px; font-weight:800; color:#fff; padding:3px 8px; border-radius:6px; letter-spacing:.5px; background:var(--grad-2); }
.cprod-name { font-size:13px; font-weight:700; color:var(--ink); margin:0 0 7px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cprod-price { font-size:16px; font-weight:800; margin-top:auto; }
.price-store { color:var(--vrt-purple); }
.price-mkt { color:var(--vrt-green); }
.cprod-meta { font-size:10px; color:var(--gray-light); margin-top:7px; border-top:1px solid var(--line-soft); padding-top:7px; display:flex; align-items:center; justify-content:space-between; font-weight:600; }

/* ============================================================
   VITRINE DE MEMBROS (card pôster + selo)
   ============================================================ */
.showcase-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:48px; }
.mc { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; transition:.35s cubic-bezier(.23,1,.32,1); text-decoration:none; display:block; position:relative; }
.mc:hover { transform:translateY(-7px); box-shadow:0 28px 60px rgba(15,23,42,.12); }
.mc::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; z-index:5; }
.mc.c0::before { background:linear-gradient(90deg,#7C3AED,#a855f7); }
.mc.c1::before { background:linear-gradient(90deg,#EC4899,#f472b6); }
.mc.c2::before { background:linear-gradient(90deg,#3B82F6,#60a5fa); }
.mc-head { display:flex; align-items:center; gap:11px; padding:17px 18px 11px; }
.mc-avwrap { position:relative; flex-shrink:0; }
.mc-avwrap > div:first-child { box-shadow:0 3px 10px rgba(15,23,42,.14); }
.mc-ring { position:absolute; inset:-3px; border-radius:18px; padding:2.5px; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.mc-seal { position:absolute; bottom:-6px; right:-6px; width:24px; height:24px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; box-shadow:0 2px 8px rgba(0,0,0,.18); z-index:3; }
.mc-id { flex:1; min-width:0; }
.mc-name { font-size:14px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:4px; }
.mc-verified { color:var(--vrt-blue); font-size:13px; }
.mc-stage { font-size:11px; color:var(--gray-light); font-weight:600; margin-top:2px; }
.mc-poster { display:flex; gap:6px; padding:2px 18px 12px; align-items:stretch; }
.ph { flex:1.7; aspect-ratio:.715; border-radius:10px; background-size:cover; background-position:center; background-color:var(--bg-soft); box-shadow:0 6px 18px rgba(15,23,42,.14); transition:.35s; }
.mc:hover .ph { transform:scale(1.03); }
.ps { flex:1; display:flex; flex-direction:column; gap:6px; }
.pm { flex:1; border-radius:8px; background-size:cover; background-position:center; background-color:var(--bg-soft); box-shadow:0 3px 8px rgba(15,23,42,.1); transition:.35s; }
.mc:hover .pm { transform:scale(1.04); }
.pmore { flex:1; border-radius:8px; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:var(--vrt-purple); border:1.5px dashed #ddd6fe; }
.mc-body { padding:0 18px 16px; }
.mc-xplab { display:flex; justify-content:space-between; font-size:10px; font-weight:700; color:var(--gray); margin-bottom:4px; }
.mc-xptrack { height:5px; background:var(--line-soft); border-radius:100px; overflow:hidden; margin-bottom:12px; }
.mc-xpfill { height:100%; border-radius:100px; }
.mc-stats { display:flex; padding-top:11px; border-top:1px solid var(--line-soft); }
.mcs { flex:1; text-align:center; border-right:1px solid var(--line-soft); }
.mcs:last-child { border-right:none; }
.mcs-n { font-size:15px; font-weight:800; color:var(--ink); line-height:1; }
.mcs-l { font-size:10px; color:var(--gray); margin-top:3px; }

/* Divisor Hall da Fama */
.hall-divider { display:flex; align-items:center; gap:16px; margin:0 0 28px; }
.hall-divider-line { flex:1; height:1px; background:var(--line); }
.hall-divider-text { font-size:11px; font-weight:700; color:var(--vrt-purple); letter-spacing:1.5px; text-transform:uppercase; white-space:nowrap; }

/* HALL DA FAMA — Opção D refinada */
.hall { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; max-width:1000px; margin:0 auto; }
.hall-podium { display:flex; flex-direction:column; gap:10px; }
.hp-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:17px 16px; display:flex; align-items:center; gap:12px; position:relative; overflow:hidden; text-decoration:none; transition:.25s; }
.hp-card:hover { transform:translateX(4px); box-shadow:0 8px 24px rgba(15,23,42,.07); }
.hp-card::before { content:''; position:absolute; top:0; left:0; bottom:0; width:4px; }
.hp-card.r1::before { background:linear-gradient(180deg,#fbbf24,#f59e0b); }
.hp-card.r2::before { background:linear-gradient(180deg,#d1d5db,#9ca3af); }
.hp-card.r3::before { background:linear-gradient(180deg,#d4a574,#c2703f); }
.hp-medal { font-size:26px; width:34px; text-align:center; flex-shrink:0; line-height:1; }
.hp-av { width:42px; height:42px; border-radius:12px; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; flex-shrink:0; box-shadow:0 3px 8px rgba(15,23,42,.14); }
.hp-info { flex:1; min-width:0; }
.hp-name { font-size:14px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hp-online { width:7px; height:7px; border-radius:50%; background:var(--vrt-green); display:inline-block; flex-shrink:0; }
.hp-sub { font-size:11px; color:var(--gray-light); margin-top:2px; font-weight:600; }
.hp-xp { font-size:12px; font-weight:700; color:var(--gray-light); flex-shrink:0; text-align:right; }
.hp-xp span { display:block; font-size:9px; font-weight:600; color:#cbd5e1; margin-top:1px; }
.hall-list { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
.hl-head { padding:12px 18px; border-bottom:1px solid var(--line-soft); display:flex; align-items:center; justify-content:space-between; }
.hl-title { font-size:12px; font-weight:800; color:var(--ink); }
.hl-link { font-size:11px; font-weight:700; color:var(--vrt-purple); text-decoration:none; }
.hl-row { display:flex; align-items:center; gap:10px; padding:11px 18px; border-bottom:1px solid var(--line-soft); transition:.15s; text-decoration:none; }
.hl-row:last-child { border-bottom:none; }
.hl-row:hover { background:var(--bg-soft); }
.hl-pos { font-size:13px; font-weight:800; color:#cbd5e1; width:20px; text-align:center; flex-shrink:0; }
.hl-av { width:32px; height:32px; border-radius:9px; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13px; flex-shrink:0; }
.hl-info { flex:1; min-width:0; }
.hl-name { font-size:13px; font-weight:700; color:var(--ink); }
.hl-sub { font-size:10px; color:var(--gray-light); margin-top:1px; }
.hl-badge { font-size:10px; font-weight:700; padding:4px 10px; border-radius:100px; color:#fff; flex-shrink:0; }
.hl-xp { font-size:12px; font-weight:700; color:var(--gray-light); width:40px; text-align:right; flex-shrink:0; }

/* CTA FINAL */
.join { position:relative; padding:80px 32px; text-align:center; overflow:hidden; background:var(--grad); background-size:200% 100%; border-radius:var(--radius-lg); max-width:1216px; margin:0 auto; animation:gradShift 8s linear infinite; }
@keyframes gradShift { 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
.join::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%,rgba(255,255,255,0.15),transparent 40%),radial-gradient(circle at 80% 80%,rgba(255,255,255,0.1),transparent 40%); }
.join-inner { position:relative; z-index:2; max-width:560px; margin:0 auto; }
.join-title { font-size:clamp(1.8rem,4vw,2.6rem); font-weight:800; color:#fff; letter-spacing:-1px; line-height:1.1; margin:0 0 14px; }
.join-desc { font-size:1.1rem; color:rgba(255,255,255,0.9); line-height:1.5; margin:0 0 28px; }
.btn-white { background:#fff; color:var(--vrt-purple); padding:16px 34px; font-size:15px; }
.btn-white:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,0.18); color:var(--vrt-purple); }

/* ══════════════════════════════════════════════════════════════
   RESPONSIVO — COMPLETO
   ══════════════════════════════════════════════════════════════ */

/* ════════════════ ≤ 1024px — Tablet ════════════════ */
@media(max-width:1024px){
    .trip-grid      { grid-template-columns:1fr; }
    .pillar-c       { height:300px; }
    .pillar-c-desc  { max-height:80px; opacity:1; }
    .showcase-grid  { grid-template-columns:1fr; }
    .hall           { grid-template-columns:1fr; }
    .vd-stats       { grid-template-columns:repeat(4,1fr); }
    .vd-stat:nth-child(-n+4) { border-bottom:1px solid var(--line); }
    .vd-container   { padding:0 24px; }
    .carousel-head  { padding:0 24px; }
    .carousel-ctrl  { right:24px; }
    .hero-room-content { width:54%; margin-left:5%; }
    .hero-room-grad { background:linear-gradient(90deg,rgba(8,3,24,.94) 0%,rgba(8,3,24,.85) 34%,rgba(8,3,24,.5) 52%,transparent 66%); }
    .hero-badge30   { max-width:240px; padding:11px 14px; }
}

/* ════════════════ ≤ 768px — Mobile base ════════════════ */
@media(max-width:768px){
    /* Hero */
    .hero-room         { height:auto; min-height:520px; align-items:flex-start; }
    .hero-room-grad    { background:linear-gradient(180deg,rgba(8,3,24,.92) 0%,rgba(8,3,24,.55) 50%,rgba(8,3,24,.88) 100%); }
    .hero-room-content { width:100%; margin:0; padding:36px 22px 0; }
    .lockup-voruto     { font-size:2.8rem; }
    .hero-cta          { flex-direction:column; gap:8px; }
    .btn               { justify-content:center; }
    .hero-badge30      {
        position:static; margin:20px 0 0; max-width:none;
        flex-direction:column; align-items:flex-start; gap:5px;
        background:linear-gradient(0deg,rgba(8,3,24,.7) 0%,transparent 100%);
        padding:14px 22px 20px;
    }
    .hb30-title { font-size:14px; }
    .hb30-desc  { font-size:11px; min-width:0; }

    /* Stats */
    .vd-stats         { grid-template-columns:repeat(2,1fr); }
    .vd-stat          { padding:18px 10px; }
    .vd-stat:nth-child(2n) { border-right:none; }
    .vd-stat:nth-child(-n+4) { border-bottom:none; }
    .vd-stat:not(:nth-last-child(-n+2)) { border-bottom:1px solid var(--line); }

    /* Sections */
    .section      { padding:52px 0; }
    .vd-container { padding:0 18px; }
    .sec-title    { letter-spacing:-.5px; }

    /* Curadoria */
    .trip-grid    { gap:14px; }
    .pillar-c     { height:220px; }
    .pillar-c-title { font-size:1.4rem; }
    .pillar-c-body  { padding:22px 20px; }

    /* Carousel */
    .carousel-head  { padding:0 18px; flex-direction:row; align-items:center; flex-wrap:wrap; gap:8px; }
    .carousel-ctrl  { position:static; justify-content:flex-end; margin:0 18px 10px; top:auto; }
    .cprod          { flex:0 0 155px; padding:10px; }
    .cprod-name     { font-size:12px; }
    .cprod-price    { font-size:15px; }

    /* Showcase members */
    .showcase-grid { grid-template-columns:1fr; gap:14px; }
    .mc-poster     { padding:2px 14px 10px; }
    .ph            { flex:1.6; }

    /* Hall podium */
    .hp-card { padding:14px 12px; gap:10px; }
    .hp-medal { font-size:22px; width:28px; }
    .hl-row   { padding:10px 14px; }
    .hl-badge { font-size:9px; padding:3px 8px; }

    /* CTA */
    .join         { padding:52px 20px; border-radius:0; }
    .join-title   { font-size:1.8rem; }
    .join-desc    { font-size:1rem; }
    .btn-white    { padding:14px 28px; font-size:14px; }
}

/* ════════════════ ≤ 480px — Phones pequenos ════════════════ */
@media(max-width:480px){
    /* Hero */
    .hero-room         { min-height:480px; }
    .hero-room-content { padding:28px 16px 0; }
    .lockup-voruto     { font-size:2.4rem; letter-spacing:-1px; }
    .lockup-doshi-latin { font-size:.85rem; letter-spacing:7px; }
    .manifesto         { font-size:.95rem; }
    .manifesto-sub     { font-size:12px; margin-bottom:18px; }
    .btn               { padding:11px 18px; font-size:12.5px; }
    .hero-badge30      { padding:12px 16px 18px; }
    .hb30-desc         { display:none; }
    .hero-register-txt { font-size:11px; }

    /* Stats */
    .vd-stat   { padding:14px 6px; }
    .vd-stat-n { font-size:1.25rem; }
    .vd-stat-l { font-size:9px; }

    /* Sections */
    .section      { padding:38px 0; }
    .vd-container { padding:0 14px; }
    .sec-title    { font-size:1.5rem; }
    .sec-desc     { font-size:.9rem; }
    .sec-head     { margin-bottom:22px; }

    /* Curadoria */
    .pillar-c       { height:180px; }
    .pillar-c-title { font-size:1.15rem; }
    .pillar-c-body  { padding:18px 16px; }
    .pillar-c-tag   { font-size:9px; padding:4px 9px; }

    /* Carousel */
    .carousel-head { padding:0 14px; }
    .carousel-ctrl { margin:0 14px 10px; }
    .cprod         { flex:0 0 135px; padding:9px; }
    .cprod-name    { font-size:11px; }
    .cprod-price   { font-size:13px; }
    .cprod-meta    { font-size:9px; }

    /* Members */
    .mc-head { padding:13px 14px 10px; }
    .mc-body { padding:0 14px 13px; }
    .mc-name { font-size:13px; }
    .mcs-n   { font-size:13px; }

    /* Hall */
    .hp-card    { padding:11px 10px; gap:8px; }
    .hl-badge   { display:none; }
    .hl-row     { padding:8px 12px; }

    /* CTA */
    .join       { padding:38px 14px; }
    .join-title { font-size:1.5rem; }
    .btn-white  { padding:12px 22px; font-size:13px; }
}

/* ════════════════ ≤ 360px — iPhones menores ════════════════ */
@media(max-width:360px){
    .lockup-voruto  { font-size:2rem; }
    .vd-stat-n      { font-size:1.1rem; }
    .pillar-c       { height:160px; }
    .pillar-c-title { font-size:1rem; }
    .cprod          { flex:0 0 120px; }
}
