/* Tokens: ajuste aqui para acompanhar o design system do site */
:root{
  --laranja:#E2520F; --laranja-esc:#C2430A; --laranja-claro:#FDF1E9;
  --verde:#5E8E3E; --verde-claro:#EEF5E6;
  --bg:#fff; --bg2:#F6F3F0; --card:rgba(255,255,255,.82);
  --tinta:#141414; --mudo:#625F5C; --linha:#E8E3DE; --sombra:0 18px 40px -24px rgba(40,20,5,.35);
  --raio:20px; --fonte:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
}
[data-theme="escuro"]{
  --bg:#0E0E10; --bg2:#151517; --card:rgba(26,26,29,.78);
  --tinta:#F3F1EF; --mudo:#A8A4A0; --linha:#2B2B2F; --laranja-claro:#25170F; --verde-claro:#17220F;
  --sombra:0 18px 40px -24px rgba(0,0,0,.8); color-scheme:dark;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--fonte);color:var(--tinta);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
a{color:inherit}
:focus-visible{outline:3px solid var(--laranja);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--tinta);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:60}
.skip:focus{left:8px}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.wrap--estreito{width:min(780px,100% - 40px)}
.i{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--laranja),#FF8F52);box-shadow:0 10px 22px -10px rgba(226,82,15,.7)}
.ico .i{width:22px;height:22px}
.ico--verde{background:linear-gradient(135deg,var(--verde),#8EBC63);box-shadow:0 10px 22px -10px rgba(94,142,62,.7)}

/* Topo */
.topo{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.topo--sombra{background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--linha)}
.topo__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.logo{display:block;height:36px;width:auto}
.logo--escuro,[data-theme="escuro"] .logo--claro{display:none}
[data-theme="escuro"] .logo--escuro{display:block}
.menu{display:flex;gap:30px;font-size:.95rem;font-weight:500}
.menu a{text-decoration:none;color:var(--mudo);transition:color .2s}
.menu a:hover{color:var(--laranja)}
.topo__dir{display:flex;align-items:center;gap:12px}
.tema{width:40px;height:40px;border-radius:50%;border:1px solid var(--linha);background:var(--bg2);color:var(--tinta);display:grid;place-items:center;cursor:pointer}
.i-sol,[data-theme="escuro"] .i-lua{display:none}
[data-theme="escuro"] .i-sol{display:block}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--laranja),#F06A27);color:#fff;border:2px solid transparent;padding:14px 26px;border-radius:14px;font-weight:700;text-decoration:none;box-shadow:0 12px 24px -12px rgba(226,82,15,.8);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 28px -12px rgba(226,82,15,.9)}
.btn--vazado{background:transparent;color:var(--laranja);border-color:var(--laranja);box-shadow:none}
.btn--vazado:hover{background:var(--laranja-claro);box-shadow:none}
.btn--sm{padding:9px 18px;border-radius:999px;font-size:.9rem}
.acoes{display:flex;flex-wrap:wrap;gap:14px}

/* Hero */
.hero{position:relative;overflow:hidden;padding:156px 0 88px;
  background:radial-gradient(900px 520px at 88% -10%,rgba(226,82,15,.18),transparent 60%),radial-gradient(700px 420px at 0% 100%,rgba(94,142,62,.16),transparent 60%),linear-gradient(180deg,var(--bg2),var(--bg))}
.hero__foto{position:absolute;top:0;bottom:0;left:50%;right:0;width:50%;height:100%;object-fit:cover;object-position:left center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 100%)}
[data-theme="escuro"] .hero__foto{filter:brightness(.65)}
.hero__in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.04em;font-weight:800}
.hero__txt p{font-size:1.15rem;color:var(--mudo);max-width:34em;margin:22px 0 32px}
.hero__txt strong{color:var(--laranja)}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.chips li{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--linha);background:var(--card);border-radius:999px;font-size:.88rem;font-weight:600}
.chips .i{color:var(--laranja)}

/* Painel de exemplo */
.painel{position:relative;background:var(--card);backdrop-filter:blur(16px);border:1px solid var(--linha);border-radius:var(--raio);padding:24px;box-shadow:var(--sombra)}
.painel small{display:block;font-size:.85rem;font-weight:600}
.painel__cod{border:1px dashed #E5B99F;background:var(--laranja-claro);border-radius:14px;padding:14px 18px}
.painel__cod b{font-size:1.25rem;letter-spacing:.08em}
.painel__nums{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.num{border-radius:14px;padding:16px 18px;border:1px solid var(--linha)}
.num strong{display:block;font-size:2rem;line-height:1.2;letter-spacing:-.03em}
.num--verde{background:var(--verde-claro)} .num--verde small,.num--verde strong{color:var(--verde)}
.num--laranja{background:var(--laranja-claro)} .num--laranja small,.num--laranja strong{color:var(--laranja)}
.painel__lista{list-style:none;padding:0}
.painel__lista li{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--linha);font-weight:600}
.tag{font-style:normal;font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:999px;border:1px solid}
.tag--ok{color:var(--verde);background:var(--verde-claro);border-color:#B9D6A0}
.tag--esp{color:#B66A00;background:#FFF1DC;border-color:#F0C98B}
.flutua{position:absolute;left:-28px;bottom:48px;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:var(--bg);border:1px solid var(--linha);border-radius:16px;box-shadow:var(--sombra)}
.flutua b{display:block;font-size:.95rem;line-height:1.2}
.flutua small{color:var(--mudo);font-weight:500}
.flutua .ico{width:40px;height:40px;border-radius:12px}
figcaption{margin-top:12px;font-size:.8rem;color:var(--mudo);text-align:right}

/* Seções */
.sec{padding:96px 0}
.sec--cinza{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.rotulo{display:inline-flex;align-items:center;gap:8px;color:var(--laranja);background:var(--laranja-claro);border:1px solid color-mix(in srgb,var(--laranja) 25%,transparent);font-weight:700;font-size:.9rem;padding:6px 14px;border-radius:999px;margin-bottom:18px}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.12;letter-spacing:-.035em;font-weight:800;max-width:20em}
.intro{margin-top:16px;color:var(--mudo);max-width:40em;font-size:1.05rem}

/* Como funciona */
.passos{list-style:none;padding:0;margin:44px 0 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:p}
.passos li{counter-increment:p;position:relative;background:linear-gradient(180deg,var(--card),transparent),var(--bg);border:1px solid var(--linha);border-radius:var(--raio);padding:24px 22px;box-shadow:var(--sombra)}
.passos li::after{content:counter(p);position:absolute;top:20px;right:22px;font-weight:800;font-size:1.6rem;color:var(--linha)}
.passos b{display:block;font-size:1.35rem;letter-spacing:-.03em;margin:18px 0 6px}
.passos span:last-child{color:var(--mudo);font-size:.95rem}
.troca{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:center;padding:36px;border-radius:24px;color:#fff;background:radial-gradient(500px 260px at 100% 0,rgba(255,255,255,.2),transparent 60%),linear-gradient(135deg,#E2520F,#B03506)}
.troca__tit{display:flex;gap:18px;align-items:center}
.troca__tit strong{font-size:3.4rem;line-height:1;letter-spacing:-.05em;font-weight:800}
.troca h3{font-size:1.25rem;letter-spacing:-.02em;line-height:1.25}
.troca p{opacity:.85;font-size:.95rem;margin-top:4px}
.troca ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.troca li{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:9px 16px;font-weight:600;font-size:.92rem}

/* Regulamento */
.regras{margin-top:36px;background:var(--bg);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
details+details{border-top:1px solid var(--linha)}
summary{cursor:pointer;padding:20px 24px;font-weight:700;list-style:none;display:flex;align-items:center;gap:14px}
summary::-webkit-details-marker{display:none}
summary .i{color:var(--laranja);width:22px;height:22px}
summary::after{content:"+";margin-left:auto;color:var(--mudo);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}
details[open]{background:var(--laranja-claro)}
details p{padding:0 24px 22px 60px;color:var(--mudo);max-width:62ch}

/* Como participar */
.aviso{display:flex;gap:18px;align-items:center;margin:32px 0 24px;background:var(--verde-claro);border:1px solid color-mix(in srgb,var(--verde) 35%,transparent);border-radius:var(--raio);padding:20px 24px}
.aviso .ico{flex:none}
.etapas{list-style:none;padding:0;margin:0 0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.etapas li{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--linha);border-radius:14px;background:var(--card);font-weight:600;font-size:.92rem}
.etapas .i{color:var(--laranja)}

/* Rodapé */
.rodape{border-top:1px solid var(--linha);padding:32px 0;color:var(--mudo);font-size:.9rem}
.rodape .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}

/* Cursor personalizado (apenas mouse) */
.cur,.cur-anel{position:fixed;left:0;top:0;pointer-events:none;z-index:100;opacity:0;transition:opacity .25s}
.cur{width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--laranja)}
.cur-anel{width:38px;height:38px;margin:-19px;border:1.5px solid var(--laranja);border-radius:50%;transition:opacity .25s,width .2s,height .2s,margin .2s,background .2s}
.cur-anel.ativo{width:64px;height:64px;margin:-32px;background:rgba(226,82,15,.14)}
.cursor-on .cur,.cursor-on .cur-anel{opacity:1}
.cursor-on,.cursor-on a,.cursor-on button,.cursor-on summary{cursor:none}

/* Responsivo */
@media(max-width:960px){
  .hero__in{grid-template-columns:1fr;gap:40px}
  .hero__foto{left:0;width:100%;top:auto;height:60%;-webkit-mask-image:linear-gradient(180deg,transparent,#000);mask-image:linear-gradient(180deg,transparent,#000)}
  .flutua{left:12px}
  .passos{grid-template-columns:1fr 1fr}
  .troca{grid-template-columns:1fr}
}
@media(max-width:640px){
  .menu{display:none}
  .hero{padding:124px 0 56px}
  .sec{padding:64px 0}
  .passos,.etapas{grid-template-columns:1fr}
  .acoes .btn{width:100%}
  .painel__nums{grid-template-columns:1fr}
  .aviso{align-items:flex-start}
  details p{padding-left:24px}
}
@media(max-width:480px){.topo .btn--sm{display:none}}
/* Páginas legais (política de privacidade) */
.hero--leg{padding:148px 0 56px}
.hero--leg h1{font-size:clamp(2rem,4.6vw,3.2rem)}
.hero--leg p:not(.rotulo){color:var(--mudo);max-width:42em;margin-top:16px}
.hero--leg .chips{margin-top:24px}
.leg{display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;padding:56px 0 96px;align-items:start}
.indice{position:sticky;top:96px;border:1px solid var(--linha);border-radius:var(--raio);background:var(--card);padding:18px;box-shadow:var(--sombra)}
.indice strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mudo);margin:2px 10px 10px}
.indice ol{list-style:none;padding:0}
.indice a{display:block;padding:7px 10px;border-radius:9px;text-decoration:none;font-size:.9rem;font-weight:500;color:var(--mudo);transition:background .2s,color .2s}
.indice a:hover,.indice a.atual{background:var(--laranja-claro);color:var(--laranja)}
.texto section{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--linha)}
.texto section:last-child{border:0;margin:0;padding:0}
.texto h2{display:flex;align-items:center;gap:12px;font-size:1.45rem;max-width:none;margin-bottom:16px}
.texto h2 span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:.9rem;color:#fff;background:linear-gradient(135deg,var(--laranja),#FF8F52)}
.texto p,.texto li{color:var(--mudo)}
.texto strong{color:var(--tinta)}
.texto p+p,.texto p+ul,.texto ul+p,.texto p+.tabela{margin-top:14px}
.texto ul{padding-left:1.2em}
.texto li+li{margin-top:8px}
.texto a{color:var(--laranja);font-weight:600}
.controlador{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;padding:26px;border-radius:var(--raio);color:#fff;background:radial-gradient(420px 220px at 100% 0,rgba(255,255,255,.2),transparent 60%),linear-gradient(135deg,#E2520F,#B03506)}
.controlador div:last-child{grid-column:1/-1}
.controlador small{display:block;opacity:.8;font-size:.8rem;margin-bottom:2px}
.controlador b{font-size:1.02rem}
.tabela{overflow-x:auto;border:1px solid var(--linha);border-radius:var(--raio)}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
th,td{text-align:left;padding:14px 18px;vertical-align:top;border-top:1px solid var(--linha);color:var(--mudo)}
thead th{background:var(--laranja-claro);color:var(--laranja);border:0;font-weight:700}
td:first-child{color:var(--tinta);font-weight:600;width:48%}
.texto .direitos{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.direitos li{display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--linha);border-radius:14px;background:var(--card);font-size:.92rem;font-weight:500}
.direitos .i{color:var(--verde);width:20px;height:20px}
.texto .aviso{margin:18px 0 0}
@media(max-width:960px){
  .leg{grid-template-columns:1fr;gap:32px}
  .indice{position:static}
  .indice ol{columns:2}
}
@media(max-width:640px){
  .hero--leg{padding:124px 0 40px}
  .controlador,.texto .direitos,.indice ol{grid-template-columns:1fr;columns:1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
