:root{--marrom:#370f0f;--creme:#e5d8cc;--creme2:#f6efe8;--vermelho:#ce1418;--laranja:#ee7914;--roxo:#4b2669;--verde:#2d853b;--branco:#fff;--preto:#190909;--max:1240px;--fonte-titulo:Anton,Impact,sans-serif;--fonte:Poppins,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--creme2);color:var(--marrom);font-family:var(--fonte);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pular{position:fixed;left:16px;top:10px;z-index:100;background:#fff;color:var(--marrom);padding:12px 18px;font-weight:800;transform:translateY(-150%)}.pular:focus{transform:none}.pular:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:3px solid #fff;box-shadow:0 0 0 6px var(--roxo);outline-offset:2px}#progresso{position:fixed;left:0;right:0;top:0;height:4px;z-index:99;background:transparent}#progresso span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--vermelho),var(--laranja),var(--verde),var(--roxo))}
.cabecalho{height:78px;position:fixed;z-index:90;inset:0 0 auto;display:flex;align-items:center;padding:0 max(24px,calc((100vw - var(--max))/2));color:var(--creme);transition:.25s;background:linear-gradient(#240808dd,transparent)}.cabecalho[data-rolou=sim]{background:var(--marrom);box-shadow:0 8px 30px #1a050525}.marca-topo{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-family:var(--fonte-titulo);text-transform:uppercase;line-height:.9;letter-spacing:.03em}.marca-topo img{width:42px;height:42px;object-fit:contain}.menu{margin-left:auto;display:flex;align-items:center;gap:30px}.menu a{color:inherit;text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.menu a:hover{color:#fff}.menu-abre{display:none;background:none;color:inherit;border:0;width:50px;height:50px;padding:8px;cursor:pointer}.menu-abre span{display:block;width:26px;height:2px;background:currentColor;margin:5px auto}.menu-abre b{font-size:0}
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr);position:relative;background:var(--marrom);overflow:hidden}.hero-foto{min-height:100svh;background:url(../hero.webp) center/cover no-repeat;filter:saturate(.95) contrast(1.03)}.hero-cartaz{background:var(--creme);padding:120px clamp(38px,5vw,90px) 70px;display:flex;flex-direction:column;justify-content:center;position:relative}.hero-cartaz:before{content:"";position:absolute;inset:18px;border:2px solid var(--marrom);pointer-events:none}.hero-cartaz>img{width:min(250px,60%);height:auto;margin:0 auto 16px}.sobretitulo,.chapeu{text-transform:uppercase;font-weight:800;font-size:12px;letter-spacing:.16em;margin:0 0 12px}.hero-cartaz h1,.gerador h2,.manifesto h2,.direito h2,.propostas h2,.participe h2{font:400 clamp(52px,7vw,108px)/.92 var(--fonte-titulo);text-transform:uppercase;letter-spacing:-.01em;margin:0}.hero-cartaz h1{font-size:clamp(46px,5.4vw,84px)}.hero-lema{font:400 clamp(24px,2.4vw,38px)/1 var(--fonte-titulo);text-transform:uppercase;margin:24px 0 32px}.hero-lema strong{color:var(--vermelho);font-weight:400}.hero-faixas{position:absolute;z-index:2;left:calc(60% - 14px);top:0;bottom:0;width:28px;display:flex;flex-direction:column}.hero-faixas i,.footer-faixas i{flex:1}.hero-faixas i:nth-child(1),.footer-faixas i:nth-child(1){background:var(--vermelho)}.hero-faixas i:nth-child(2),.footer-faixas i:nth-child(2){background:var(--laranja)}.hero-faixas i:nth-child(3),.footer-faixas i:nth-child(3){background:var(--verde)}.hero-faixas i:nth-child(4),.footer-faixas i:nth-child(4){background:var(--roxo)}.acoes{display:flex;gap:12px;flex-wrap:wrap}.botao{min-height:48px;border:2px solid currentColor;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;text-transform:uppercase;font:700 13px/1 var(--fonte);letter-spacing:.06em;cursor:pointer;transition:transform .18s,box-shadow .18s}.botao:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--marrom)}.botao-vermelho{background:var(--vermelho);color:#fff;border-color:var(--vermelho)}.botao-claro{background:var(--creme2);color:var(--marrom);border-color:var(--marrom)}.botao-marrom{background:var(--marrom);color:#fff;border-color:var(--marrom)}
.gerador{background:var(--creme2);padding:clamp(90px,11vw,150px) max(24px,calc((100vw - var(--max))/2))}.gerador-intro{display:grid;grid-template-columns:.65fr 1.35fr 1fr;gap:36px;align-items:end;margin-bottom:60px}.gerador-intro h2{font-size:clamp(58px,7.6vw,112px)}.gerador-intro h2 em{color:var(--vermelho);font-style:normal}.gerador-intro>p:last-child{max-width:42ch;font-size:16px}.gerador-grade{display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);gap:clamp(40px,7vw,100px);align-items:start}.fsf-form{background:var(--creme);border:2px solid var(--marrom);padding:clamp(22px,3vw,40px);box-shadow:12px 12px 0 var(--laranja)}fieldset{border:0;padding:0;margin:0 0 30px}legend{font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.06em;margin-bottom:12px}legend span{color:var(--vermelho);margin-right:8px}.solta{min-height:134px;border:2px dashed var(--marrom);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;padding:18px;transition:.2s;background:#fff8}.solta:hover,.solta[data-arrastando=sim]{background:#fff;border-style:solid;transform:rotate(-.5deg)}.solta-icone{font-size:30px;line-height:1;color:var(--vermelho)}.solta strong{font-size:18px}.solta small{font-size:11px;margin-top:5px}.opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.opcoes label{cursor:pointer;min-width:0}.opcoes input{position:absolute;opacity:0}.opcoes label span{min-height:62px;border:2px solid #8e7770;background:#fff8;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;padding:8px}.opcoes label small{font-size:10px;font-weight:500}.opcoes input:checked+span{background:var(--marrom);color:#fff;border-color:var(--marrom)}.botao-gerar{width:100%}.fsf-recado{min-height:22px;font-size:12px;font-weight:700;margin:10px 0 0}.fsf-recado[data-tipo=erro]{color:#a00}.fsf-palco{background:var(--marrom);padding:clamp(18px,3vw,40px);box-shadow:14px 14px 0 var(--vermelho);position:sticky;top:98px}.fsf-moldura{width:min(100%,560px);margin:auto;aspect-ratio:4/5;background:#240808;display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid #ffffff30;touch-action:none;outline:none}.fsf-moldura:focus-visible{box-shadow:0 0 0 5px var(--laranja)}canvas{display:none;width:100%;height:100%;object-fit:contain}.fsf-moldura[data-pronto=sim] canvas{display:block}.fsf-moldura[data-pronto=sim] .fsf-vazio{display:none}.fsf-vazio{text-align:center;color:var(--creme);text-transform:uppercase;font-weight:800;font-size:12px;letter-spacing:.12em}.fsf-vazio img{width:100px;height:100px;object-fit:contain;display:block;margin:0 auto 16px}.fsf-ajustes{color:var(--creme);max-width:560px;margin:24px auto 0}.fsf-ajustes>label:first-child{display:flex;justify-content:space-between;font-size:12px;font-weight:800;text-transform:uppercase}.fsf-ajustes input[type=range]{appearance:none;width:100%;height:44px;background:transparent;margin:2px 0}.fsf-ajustes input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--creme)}.fsf-ajustes input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border-radius:50%;background:var(--laranja);border:3px solid var(--marrom);margin-top:-10px}.fsf-ajustes>p{font-size:11px;color:#e5d8ccbb}.qualidade{display:flex;gap:10px;align-items:center;font-size:12px;margin:14px 0}.qualidade input{width:20px;height:20px;accent-color:var(--laranja)}.fsf-botoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recomecar{border:0;background:none;color:var(--creme);text-decoration:underline;padding:14px 0;cursor:pointer}.carregando{font-weight:700;font-size:12px}.arquivo:focus+label{outline:3px solid #fff;box-shadow:0 0 0 6px var(--roxo)}
.manifesto{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(0,1.2fr);background:var(--laranja)}.manifesto-imagem{min-height:1000px;overflow:hidden;position:relative}.manifesto-imagem img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}.manifesto-texto{padding:clamp(70px,8vw,130px) clamp(30px,8vw,120px)}.manifesto-texto h2{font-size:clamp(66px,8vw,124px)}.manifesto-texto>p{max-width:58ch}.integrantes{list-style:none;margin:50px 0 36px;padding:0;border-top:2px solid var(--marrom)}.integrantes li{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-bottom:1px solid #370f0f66;padding:13px 0}.integrantes b{text-transform:uppercase;font-size:13px}.integrantes span{font-size:12px}.link-seta{color:inherit;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
.direito{background:var(--roxo);color:#fff;padding:clamp(90px,11vw,160px) max(24px,calc((100vw - var(--max))/2))}.direito header{max-width:950px;margin-bottom:70px}.direito header>p:last-child{font-size:18px;max-width:54ch}.dimensoes{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;margin:0;border-top:1px solid #ffffff66}.dimensoes li{min-height:310px;padding:28px;border-right:1px solid #ffffff66;position:relative}.dimensoes li:last-child{border:0}.dimensoes span{font:400 50px/1 var(--fonte-titulo);color:var(--laranja)}.dimensoes h3{font:400 42px/1 var(--fonte-titulo);text-transform:uppercase;margin:80px 0 15px}.dimensoes p{max-width:28ch;font-size:14px}
.propostas{padding:clamp(90px,11vw,160px) max(24px,calc((100vw - var(--max))/2));background:var(--creme)}.propostas header{display:grid;grid-template-columns:.5fr 1.5fr;gap:40px;margin-bottom:70px}.propostas header h2{font-size:clamp(62px,8vw,120px)}.pautas{list-style:none;padding:0;margin:0 0 50px;border-top:3px solid var(--marrom)}.pautas li{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid #370f0f66;padding:24px 0;gap:25px}.pautas>li>span{font:400 42px/1 var(--fonte-titulo);color:var(--vermelho)}.pautas h3{font:400 clamp(27px,3.2vw,48px)/1 var(--fonte-titulo);text-transform:uppercase;margin:0 0 8px}.pautas p{margin:0;max-width:70ch;font-size:14px}
.participe{background:var(--verde);color:#fff;padding:clamp(80px,10vw,140px) max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.participe-titulo{position:sticky;top:120px;align-self:start}.participe-titulo h2{font-size:clamp(70px,8vw,120px)}.participe-titulo>p:last-child{max-width:36ch}.participe-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.participacao{min-height:180px;background:var(--creme2);color:var(--marrom);padding:24px;text-decoration:none;display:flex;flex-direction:column;position:relative;border:2px solid var(--marrom);transition:.2s}.participacao:hover{transform:translate(-5px,-5px);box-shadow:8px 8px 0 var(--marrom)}.participacao small{text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:.08em}.participacao strong{font:400 30px/1 var(--fonte-titulo);text-transform:uppercase;margin-top:auto;max-width:11ch}.participacao>span{position:absolute;right:20px;top:16px;font-size:24px}.participacao-zap{grid-column:1/-1;min-height:240px;background:var(--vermelho);color:#fff}.participacao-zap strong{font-size:clamp(38px,5vw,70px);max-width:13ch}
footer{background:var(--marrom);color:var(--creme);text-align:center;padding:80px 24px 48px;position:relative}footer>img{width:160px;height:155px;object-fit:contain}footer p{font-size:10px;letter-spacing:.05em}footer nav{display:flex;justify-content:center;gap:25px;margin-top:24px}footer a{color:inherit;font-size:12px}.footer-faixas{display:flex;height:10px;position:absolute;inset:0 0 auto}.footer-faixas i{display:block}
.pagina-simples{min-height:100svh;background:var(--creme);padding:130px max(24px,calc((100vw - 850px)/2)) 80px}.pagina-simples h1{font:400 clamp(55px,9vw,100px)/.95 var(--fonte-titulo);text-transform:uppercase}.pagina-simples h2{font:400 34px/1 var(--fonte-titulo);text-transform:uppercase;margin-top:48px}.pagina-simples a{color:inherit;font-weight:700}
@media(max-width:900px){.cabecalho{padding:0 18px}.menu-abre{display:block;margin-left:auto}.menu{display:none;position:absolute;top:78px;left:0;right:0;background:var(--marrom);padding:22px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #ffffff30}.menu[data-aberto=sim]{display:flex}.menu a{padding:14px;border-bottom:1px solid #ffffff22}.hero{grid-template-columns:1fr;min-height:auto}.hero-foto{min-height:65svh}.hero-cartaz{padding:60px 36px 70px}.hero-cartaz:before{inset:12px}.hero-cartaz>img{width:175px}.hero-faixas{left:0;right:0;top:calc(65svh - 7px);bottom:auto;width:auto;height:14px;flex-direction:row}.gerador-intro{grid-template-columns:1fr;gap:12px}.gerador-grade{grid-template-columns:1fr}.fsf-palco{position:relative;top:0}.manifesto{grid-template-columns:1fr}.manifesto-imagem{min-height:100svh}.direito .dimensoes{grid-template-columns:1fr}.dimensoes li{border-right:0;border-bottom:1px solid #ffffff66;min-height:250px}.dimensoes h3{margin-top:45px}.propostas header{grid-template-columns:1fr}.participe{grid-template-columns:1fr}.participe-titulo{position:relative;top:0}.participacao-zap{min-height:200px}}
@media(max-width:520px){.marca-topo span{font-size:14px}.hero-cartaz{padding:52px 28px 60px}.hero-cartaz h1{font-size:45px}.acoes{flex-direction:column}.acoes .botao{width:100%}.gerador{padding-left:16px;padding-right:16px}.gerador-intro h2{font-size:58px}.fsf-form{padding:18px;box-shadow:7px 7px 0 var(--laranja)}.opcoes{gap:5px}.opcoes label span{font-size:10px;padding:5px}.fsf-palco{padding:12px;box-shadow:7px 7px 0 var(--vermelho)}.fsf-botoes{grid-template-columns:1fr}.manifesto-texto{padding:70px 24px}.manifesto-texto h2{font-size:64px}.integrantes li{grid-template-columns:1fr;gap:2px}.propostas,.direito,.participe{padding-left:22px;padding-right:22px}.pautas li{grid-template-columns:55px 1fr;gap:10px}.pautas>li>span{font-size:32px}.participe-links{grid-template-columns:1fr}.participacao-zap{grid-column:auto}.participacao{min-height:160px}}
.opcoes-logo{grid-template-columns:repeat(2,minmax(0,1fr))}.opcoes-logo label span{min-height:116px;gap:6px}.opcoes-logo img{display:block;width:100%;height:62px;object-fit:contain}.opcoes-logo .logo-fundo-escuro{background:var(--marrom);color:var(--creme)}.controle-ajuste{margin-bottom:10px}.controle-ajuste label{display:flex;justify-content:space-between;font-size:12px;font-weight:800;text-transform:uppercase}.controle-ajuste output{font-variant-numeric:tabular-nums}.fsf-moldura[data-pronto=sim] canvas{cursor:grab}.fsf-moldura[data-arrastando=sim] canvas{cursor:grabbing}@media(max-width:520px){.opcoes-logo{grid-template-columns:repeat(2,minmax(0,1fr))}.opcoes-logo label span{min-height:100px}.opcoes-logo img{height:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Página focada: somente o gerador Faça sua foto. */
.pagina-gerador{background:var(--creme2)}
.pagina-gerador .gerador{min-height:100svh;padding-top:clamp(34px,6vw,76px);padding-bottom:clamp(32px,4vw,56px)}
.pagina-gerador .gerador-marca{width:min(190px,46vw);margin:0 0 42px;padding:14px;background:var(--creme);border:2px solid var(--marrom);box-shadow:9px 9px 0 var(--vermelho)}
.pagina-gerador .gerador-marca img{display:block;width:100%;height:auto}
.pagina-gerador .gerador-intro{grid-template-columns:.65fr 1.35fr 1fr}
.pagina-gerador .gerador-intro h1{font:400 clamp(58px,7.6vw,112px)/.92 var(--fonte-titulo);text-transform:uppercase;letter-spacing:-.01em;margin:0}
.pagina-gerador .gerador-intro h1 em{color:var(--vermelho);font-style:normal}
.pagina-gerador .nota-privacidade{margin:34px 0 0;font-size:12px;font-weight:700;text-align:center}
.pagina-gerador .nota-privacidade a{color:inherit}
.pagina-gerador footer{padding:52px 24px 34px}
.pagina-gerador footer>img{width:110px;height:107px}
@media(max-width:900px){.pagina-gerador .gerador-intro{grid-template-columns:1fr;gap:12px}}
@media(max-width:520px){.pagina-gerador .gerador{padding-top:28px}.pagina-gerador .gerador-intro h1{font-size:58px}}


/* ── editor: giro, posições rápidas e camada ativa ───────────────────── */
.fsf-posicoes{ --acento:var(--laranja); display:grid; gap:.55rem; margin:12px 0 6px; }
.fsf-posicoes__rotulo{ font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#e5d8ccbb; }
.fsf-grade{ display:grid; grid-template-columns:repeat(3,1fr); gap:5px; width:134px; }
.fsf-grade button{
  aspect-ratio:1; min-width:0; padding:0; cursor:pointer; position:relative;
  border:1.5px solid #ffffff3d; border-radius:3px; background:#ffffff10;
  transition:border-color .16s, background-color .16s, transform .16s;
}
.fsf-grade button::after{
  content:""; position:absolute; inset:26%; border-radius:1px;
  background:var(--creme); opacity:.38; transition:background-color .16s, opacity .16s;
}
.fsf-grade button:hover{ border-color:var(--acento); transform:translateY(-1px); }
.fsf-grade button:hover::after{ opacity:.8; }
.fsf-grade button[aria-pressed="true"]{ border-color:var(--acento); background:#ee79142e; }
.fsf-grade button[aria-pressed="true"]::after{ background:var(--acento); opacity:1; }
.fsf-grade button:focus-visible{ outline:3px solid var(--laranja); outline-offset:2px; }
.fsf-reenquadrar{ justify-self:start; padding:8px 0; font-size:13px; }
@media (pointer:coarse){ .fsf-grade{ width:168px; gap:7px; } }

.fsf-camada{
  display:inline-flex; align-items:center; gap:.34em; padding:.1em .5em;
  border-radius:999px; background:#ee791433; color:var(--laranja);
  font-weight:800; text-transform:uppercase; font-size:.9em; letter-spacing:.05em;
}

/* ══════════════════════════════════════════════════════════════════════════
   Camada premium — profundidade, textura e movimento.
   O vocabulário é o do cartaz de cultura: papel, serigrafia, sombra dura. A trama é a malha do papel.
   Nada aqui toca o <canvas>: a arte baixada continua exatamente a mesma.
   ══════════════════════════════════════════════════════════════════════════ */

/* ---- entrada em cascata (o estado escondido vem do JS, não daqui) ---- */
[data-entra]{ opacity:0; transform:translateY(18px) scale(.995); }
[data-entra][data-entrou="sim"]{
  opacity:1; transform:none;
  transition:opacity .72s cubic-bezier(.22,.61,.36,1) var(--atraso,0ms),
             transform .72s cubic-bezier(.22,.61,.36,1) var(--atraso,0ms);
}

/* ---- trama de fundo: textura da marca, não enfeite solto ---- */
.gerador::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(55,15,15,.16) 0 1px, transparent 1px 26px),repeating-linear-gradient(90deg, rgba(55,15,15,.16) 0 1px, transparent 1px 26px);
  opacity:.5;
}

/* o conteúdo fica por cima das formas */
.gerador .caixa,
.gerador .gerador-intro,
.gerador .gerador-grade{ position:relative; z-index:1; }
.gerador{ position:relative; isolation:isolate; }

/* ---- grão: tira o aspecto de cor chapada de tela ---- */
.gerador::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.07; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23r)'/%3E%3C/svg%3E");
}

/* ---- palco: profundidade real e inclinação viva ---- */
.fsf-palco .fsf-moldura{
  perspective:1400px;
  transform:rotateY(calc(var(--gx,0) * 1deg)) rotateX(calc(var(--gy,0) * 1deg));
  transform-style:preserve-3d;
  transition:transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
.fsf-palco .fsf-moldura[data-mexendo="sim"]{ transform:none; transition:none; }
.fsf-palco .fsf-moldura[data-pronto="sim"]{ box-shadow:0 30px 60px -30px rgba(25,9,9,.6); }
.fsf-palco .fsf-moldura canvas{
  transition:filter .3s ease;
  backface-visibility:hidden;
}
.fsf-palco .fsf-moldura[data-mexendo="sim"] canvas{ filter:saturate(1.04) contrast(1.02); }

@keyframes fsf-revela{
  from{ opacity:0; transform:scale(.965) translateY(10px); }
  to{ opacity:1; transform:none; }
}
@keyframes fsf-pulso{
  0%{ transform:scale(1); }
  42%{ transform:scale(1.045); }
  100%{ transform:scale(1); }
}

/* ---- opções: resposta com peso ---- */
.gerador .opcao__caixa,
.gerador .opcoes label span{
  transition:transform .2s cubic-bezier(.22,.61,.36,1),
             box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
  will-change:transform;
}
.gerador .opcao:hover .opcao__caixa,
.gerador .opcoes label:hover span{ transform:translateY(-2px); box-shadow:.3rem .3rem 0 var(--laranja); }
.gerador .opcao input:checked + .opcao__caixa,
.gerador .opcoes input:checked + span{ box-shadow:.3rem .3rem 0 var(--vermelho); }

/* ---- botões com profundidade ---- */
.gerador .botao{ will-change:transform; }
.gerador .botao:hover{ transform:translateY(-2px); box-shadow:.3rem .3rem 0 var(--marrom); }
.gerador .botao:active{ transform:translateY(0); box-shadow:none; }

/* ---- 4K: o que ganha detalhe em vez de só crescer ---- */
@media (min-width:2200px){
  .gerador::before{ background-size:34px 34px; }
  .gerador::after{ opacity:calc(.07 * .72); background-size:190px 190px; }
  .fsf-palco .fsf-moldura[data-pronto="sim"]{ box-shadow:0 44px 88px -40px rgba(25,9,9,.65); }
}

@media (prefers-reduced-motion:reduce){
  [data-entra],[data-entra][data-entrou="sim"]{ opacity:1; transform:none; transition:none; }
  .fsf-palco .fsf-moldura{ transform:none; transition:none; }
  .gerador .opcao:hover .opcao__caixa,
  .gerador .opcoes label:hover span,
  .gerador .botao:hover{ transform:none; }
}


/* ══════════════════════════════════════════════════════════════════════════
   Alinhamento com o Paulo — mesmo tratamento, cor da Bancada.
   O palco já era escuro com bloco deslocado; o que faltava era a proporção
   da grade (o palco do Paulo ocupa ~65% da largura, aqui ocupava ~56%),
   o cabeçalho em duas colunas e a barra de cor no topo do painel.
   ══════════════════════════════════════════════════════════════════════════ */

.gerador-grade{ grid-template-columns:minmax(0,26rem) minmax(0,1fr); gap:clamp(1.6rem,3.5vw,3.5rem); }

.gerador-intro{
  grid-template-columns:minmax(16rem,.72fr) minmax(24rem,1.28fr);
  column-gap:clamp(2rem,7vw,8rem); align-items:end;
  border-bottom:2px solid rgba(55,15,15,.22); padding-bottom:clamp(1.5rem,3vw,2.5rem);
}
.gerador-intro .chapeu{ grid-column:1; }
.gerador-intro h1,.gerador-intro h2{ grid-column:1; margin:0; }
.gerador-intro > p:last-child{ grid-column:2; grid-row:1 / span 2; align-self:end; margin:0; }

.gerador{ border-top:clamp(.45rem,.8vw,.75rem) solid var(--vermelho); }

.fsf-form{
  border:0; border-top:clamp(.45rem,.8vw,.7rem) solid var(--vermelho);
  box-shadow:.8rem .8rem 0 var(--laranja);
}
.fsf-palco{ padding:0; background:transparent; box-shadow:none; }
.fsf-moldura{
  width:100%; max-width:none; border:0;
  box-shadow:clamp(.65rem,1.2vw,1rem) clamp(.65rem,1.2vw,1rem) 0 var(--vermelho);
}
.fsf-ajustes{
  max-width:none; color:var(--marrom); background:var(--creme);
  border-top:4px solid var(--vermelho); padding:clamp(1rem,2vw,1.6rem);
  margin-top:clamp(1rem,2vw,1.6rem);
}
.fsf-ajustes > p{ color:#5c4a45; }
.fsf-ajustes input[type=range]::-webkit-slider-runnable-track{ background:#c9b8b2; }
.fsf-ajustes input[type=range]::-webkit-slider-thumb{ border-color:var(--creme); }
.recomecar{ color:var(--marrom); }

.fsf-palco .fsf-moldura[data-pronto="sim"]{
  box-shadow:1.1rem 1.1rem 0 var(--vermelho), 0 32px 60px -34px rgba(25,9,9,.55);
}
.gerador .opcoes label:hover span{ box-shadow:.28rem .28rem 0 var(--laranja); }
.gerador .opcoes input:checked + span{ box-shadow:.3rem .3rem 0 var(--marrom); }
.gerador .botao:hover{ box-shadow:.3rem .3rem 0 var(--laranja); }

@media (min-width:2200px){
  .fsf-palco .fsf-moldura[data-pronto="sim"]{
    box-shadow:1.5rem 1.5rem 0 var(--vermelho), 0 46px 90px -44px rgba(25,9,9,.6);
  }
}
@media (max-width:62rem){
  .gerador-grade{ grid-template-columns:1fr; }
  .gerador-intro{ display:block; }
  .gerador-intro > p:last-child{ margin-top:1rem; }
}

/* ---------- Sombra clara ----------
   Os deslocamentos chapados da marca continuam mandando; por baixo deles entra
   uma sombra difusa e clara, só pra o bloco descolar do creme. Sombra clara =
   alpha baixo e raio grande: eleva sem virar caixa 3D e sem sujar o creme. */
.pagina-gerador{
  --sombra-clara:0 1px 2px rgba(55,15,15,.05), 0 16px 34px -20px rgba(55,15,15,.42);
  --sombra-clara-curta:0 1px 2px rgba(55,15,15,.05), 0 8px 18px -12px rgba(55,15,15,.4);
}
.pagina-gerador .gerador-marca{ box-shadow:9px 9px 0 var(--vermelho), var(--sombra-clara); }
.pagina-gerador .fsf-form{ box-shadow:.8rem .8rem 0 var(--laranja), var(--sombra-clara); }
.pagina-gerador .fsf-moldura{
  box-shadow:clamp(.65rem,1.2vw,1rem) clamp(.65rem,1.2vw,1rem) 0 var(--vermelho), var(--sombra-clara);
}
.pagina-gerador .fsf-palco .fsf-moldura[data-pronto="sim"]{
  box-shadow:1.1rem 1.1rem 0 var(--vermelho), 0 32px 60px -34px rgba(25,9,9,.55), var(--sombra-clara);
}
.pagina-gerador .fsf-ajustes{ box-shadow:var(--sombra-clara); }
.pagina-gerador .solta{ box-shadow:var(--sombra-clara-curta); }
.pagina-gerador .qualidade{ box-shadow:none; }
.pagina-gerador .opcoes label span{ box-shadow:var(--sombra-clara-curta); }
.pagina-gerador .opcoes label:hover span{ box-shadow:.28rem .28rem 0 var(--laranja), var(--sombra-clara-curta); }
.pagina-gerador .opcoes input:checked + span{ box-shadow:.3rem .3rem 0 var(--marrom), var(--sombra-clara-curta); }
.pagina-gerador .botao{ box-shadow:var(--sombra-clara-curta); }
.pagina-gerador .botao:hover{ box-shadow:.3rem .3rem 0 var(--laranja), var(--sombra-clara-curta); }
.pagina-gerador .botao:active{ box-shadow:var(--sombra-clara-curta); }
.pagina-gerador .fsf-grade button{ box-shadow:var(--sombra-clara-curta); }

@media (min-width:2200px){
  .pagina-gerador .fsf-palco .fsf-moldura[data-pronto="sim"]{
    box-shadow:1.5rem 1.5rem 0 var(--vermelho), 0 46px 90px -44px rgba(25,9,9,.6), var(--sombra-clara);
  }
}
