/* Site da fabra. (home e links). Tokens de clientes/midia-fabra/marca.yaml: a mesma família das peças
   (manifesto tipográfico + tempero técnico-dados só em fichas e réguas). */
@font-face { font-family:"Archivo"; src:url("fontes/Archivo-VF.ttf") format("truetype"); font-weight:100 900; font-stretch:62% 125%; font-display:swap; }
@font-face { font-family:"Space Mono"; src:url("fontes/SpaceMono-Regular.ttf") format("truetype"); font-weight:400; font-display:swap; }
@font-face { font-family:"Space Mono"; src:url("fontes/SpaceMono-Bold.ttf") format("truetype"); font-weight:700; font-display:swap; }

:root { --tinta:#15130F; --papel:#F3EEE3; --laranja:#F2520D; --amarelo:#F4C21F; --branco:#FFFDF8; --suave:#5B554A;
        --linha:3px; --larg:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:84px; }
body { margin:0; background:var(--papel); color:var(--tinta); font:18px/1.5 "Archivo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
       -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
/* granulado sutil (efeito_textura 1) */
body::after { content:""; position:fixed; inset:0; pointer-events:none; z-index:100; opacity:.08; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
img { max-width:100%; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--laranja); outline-offset:3px; }
.pular { position:absolute; left:-9999px; top:0; }
.pular:focus { left:16px; top:12px; z-index:200; background:var(--tinta); color:var(--papel); padding:10px 14px; }

.wrap { max-width:var(--larg); margin:0 auto; padding:0 16px; }
@media (min-width:720px) { .wrap { padding:0 32px; } }

.mono { font-family:"Space Mono", ui-monospace, Consolas, monospace; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.titulo { margin:0; font-weight:900; font-stretch:70%; text-transform:uppercase; line-height:.9; letter-spacing:-.005em; text-wrap:balance; }
em.cor { font-style:normal; color:var(--laranja); }
.rotulo { display:flex; align-items:center; gap:10px; margin:0 0 18px; font-size:13px; color:var(--tinta); }
.rotulo::before { content:""; flex:none; width:12px; height:12px; background:var(--laranja); }

/* topo */
.topo { position:sticky; top:0; z-index:50; background:var(--papel); border-bottom:var(--linha) solid var(--tinta); }
.topo .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; height:68px; }
.topo .marca img { display:block; height:30px; width:auto; }
.nav { display:none; align-items:center; gap:28px; }
.nav a { font-size:13px; text-decoration:none; }
.nav a:hover { color:var(--laranja); }
@media (min-width:880px) { .nav { display:flex; } }

/* botões */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:56px; padding:14px 24px;
       border:var(--linha) solid var(--tinta); background:var(--tinta); color:var(--papel); font:800 17px/1.2 "Archivo", sans-serif;
       text-decoration:none; box-shadow:5px 5px 0 var(--laranja); transition:transform .12s ease, box-shadow .12s ease; }
.btn:hover { transform:translate(-2px,-2px); box-shadow:7px 7px 0 var(--laranja); }
.btn:active { transform:translate(3px,3px); box-shadow:2px 2px 0 var(--laranja); }
.btn.laranja { background:var(--laranja); color:var(--tinta); box-shadow:5px 5px 0 var(--tinta); }
.btn.laranja:hover { box-shadow:7px 7px 0 var(--tinta); }
.btn.claro { background:var(--branco); color:var(--tinta); box-shadow:5px 5px 0 var(--tinta); }
.btn.claro:hover { box-shadow:7px 7px 0 var(--tinta); }
.btn.mini { min-height:42px; padding:8px 16px; font-size:15px; box-shadow:3px 3px 0 var(--laranja); }
.btn.mini:hover { box-shadow:5px 5px 0 var(--laranja); }
/* topo: acesso à conta sempre visível (o menu some em tela estreita) */
.topo-acoes { display:flex; align-items:center; gap:10px; flex:none; }
.btn.mini.claro { box-shadow:3px 3px 0 var(--tinta); }
.btn.mini.claro:hover { box-shadow:5px 5px 0 var(--tinta); }
@media (max-width:420px) { .topo .marca img { height:24px; } .topo-acoes { gap:8px; } .topo-acoes .btn.mini { padding:8px 11px; font-size:14px; } }
.seta { font-family:"Space Mono", monospace; font-weight:700; }
.acoes { display:flex; flex-wrap:wrap; gap:18px 22px; }

/* abertura */
.hero { padding:56px 0 72px; border-bottom:var(--linha) solid var(--tinta); }
.hero .grade { display:grid; gap:28px 56px; }
.hero .grade > aside { margin-top:28px; }
@media (min-width:1000px) {
  .hero { padding:72px 0 104px; }
  .hero .grade { grid-template-columns:1.25fr 1fr; align-items:start; }
  .hero .abre { grid-column:1 / -1; }
  .hero .grade > aside { margin-top:8px; }
}
.hero h1 { font-size:clamp(54px, 10.6vw, 158px); }
@media (min-width:1000px) { .hero h1 { max-width:11ch; } }
@media (max-width:520px) { .hero .acoes .btn { flex:1 1 100%; } }
.hero .lead { max-width:31em; margin:8px 0 34px; font-size:clamp(19px, 2vw, 23px); font-weight:500; line-height:1.45; }

/* ficha do post (tempero técnico-dados: tabela de campo e valor) */
.ficha { position:relative; background:var(--branco); border:var(--linha) solid var(--tinta); box-shadow:10px 10px 0 var(--tinta); margin-right:10px; }
.ficha-topo { display:flex; justify-content:space-between; gap:12px; padding:12px 16px; background:var(--tinta); color:var(--papel); font-size:12px; }
.ficha-topo b { color:var(--amarelo); font-weight:700; }
.ficha dl { margin:0; padding:6px 0 18px; }
.ficha .campo { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:11px 16px; border-bottom:2px dashed rgba(21,19,15,.22); font-size:13px; }
.ficha dt { color:var(--suave); }
.ficha dd { margin:0; text-align:right; }
.ficha .ok::before { content:"✓ "; color:var(--laranja); }
.carimbo { position:absolute; right:-14px; bottom:-30px; transform:rotate(-5deg); padding:10px 14px; background:var(--laranja); border:var(--linha) solid var(--tinta); font-size:13px; }
@media (max-width:520px) { .carimbo { right:6px; } }

/* faixa que corre */
.faixa-corre { overflow:hidden; white-space:nowrap; background:var(--laranja); border-bottom:var(--linha) solid var(--tinta); }
.trilho { display:inline-flex; padding:15px 0; animation:correr 48s linear infinite; }
.trilho span { padding:0 22px; font-size:14px; }
.trilho span::after { content:"■"; margin-left:44px; font-size:10px; vertical-align:2px; }
@keyframes correr { to { transform:translateX(-50%); } }

/* manifesto */
.manifesto { padding:96px 0; background:var(--tinta); color:var(--papel); border-bottom:var(--linha) solid var(--tinta); }
.manifesto .rotulo { color:var(--papel); }
.manifesto .rotulo::before { background:var(--amarelo); }
.manifesto .titulo { font-size:clamp(42px, 7.2vw, 104px); max-width:19ch; }
.manifesto em.cor { color:var(--amarelo); }
.manifesto .apoio { max-width:36em; margin:32px 0 0; font-size:clamp(18px, 1.8vw, 21px); color:#D9D2C3; }

/* seções */
.secao { padding:96px 0; border-bottom:var(--linha) solid var(--tinta); }
.cabeca { display:grid; gap:18px; margin-bottom:52px; }
.cabeca .titulo { font-size:clamp(46px, 7vw, 96px); }
.cabeca p { margin:0; max-width:30em; font-size:19px; }
@media (min-width:920px) { .cabeca { grid-template-columns:1.7fr 1fr; align-items:end; gap:48px; } }

.passos { list-style:none; margin:0; padding:0; display:grid; gap:var(--linha); background:var(--tinta); border:var(--linha) solid var(--tinta); counter-reset:passo; }
.passos li { background:var(--branco); padding:30px 26px 34px; }
.passos .num { display:block; font-weight:900; font-stretch:70%; font-size:64px; line-height:1; color:var(--laranja); }
.passos h3 { margin:18px 0 8px; font-size:23px; line-height:1.15; font-weight:800; }
.passos p { margin:0; color:var(--suave); }
@media (min-width:720px) { .passos { grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1040px) { .passos { grid-template-columns:repeat(3, 1fr); } }

.pacotes { display:grid; gap:28px; }
@media (min-width:920px) { .pacotes { grid-template-columns:repeat(3, 1fr); gap:24px; } }
.pacote { display:flex; flex-direction:column; padding:28px 24px 26px; background:var(--branco); border:var(--linha) solid var(--tinta); box-shadow:8px 8px 0 var(--tinta); }
.pacote.b { background:var(--laranja); }
.pacote.c { background:var(--tinta); color:var(--papel); box-shadow:8px 8px 0 var(--laranja); }
.pacote .nome { margin:0 0 22px; font-size:14px; }
.pacote .qtd { display:flex; align-items:flex-end; gap:12px; margin:0 0 6px; }
.pacote .qtd b { font-weight:900; font-stretch:70%; font-size:112px; line-height:.8; }
.pacote .qtd span { font-weight:800; font-stretch:80%; font-size:24px; line-height:1; text-transform:uppercase; }
.pacote ul { list-style:none; margin:24px 0 30px; padding:0; border-top:2px solid currentColor; }
.pacote li { padding:12px 0; border-bottom:2px dashed currentColor; border-bottom-color:color-mix(in srgb, currentColor 30%, transparent); }
.pacote .btn { margin-top:auto; }
.pacote.b .btn { box-shadow:5px 5px 0 var(--papel); }
.pacote.c .btn { background:var(--papel); color:var(--tinta); border-color:var(--papel); }
.nota { margin:44px 0 0; max-width:52em; font-size:13px; line-height:1.7; color:var(--suave); }

.bastidor { display:grid; gap:var(--linha); background:var(--tinta); border:var(--linha) solid var(--tinta); }
@media (min-width:820px) { .bastidor { grid-template-columns:repeat(2, 1fr); } }
.bastidor article { background:var(--branco); padding:30px 26px 34px; }
.bastidor h3 { margin:0 0 10px; font-weight:900; font-stretch:75%; font-size:clamp(28px, 3.2vw, 40px); line-height:.95; text-transform:uppercase; }
.bastidor p { margin:0; color:var(--suave); }
.riscos { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0; padding:0; list-style:none; }
.riscos li { padding:6px 10px; border:2px solid var(--tinta); font-size:13px; text-decoration:line-through; text-decoration-color:var(--laranja); text-decoration-thickness:2px; }
.limites { display:flex; gap:12px; margin-top:18px; }
.limites div { flex:1; padding:12px; border:2px solid var(--tinta); }
.limites b { display:block; font-weight:900; font-stretch:70%; font-size:48px; line-height:1; }
.limites span { font-size:12px; }

.duvidas { display:grid; gap:40px; }
@media (min-width:920px) { .duvidas { grid-template-columns:.9fr 1.3fr; gap:64px; } .duvidas .cabeca { position:sticky; top:110px; align-self:start; grid-template-columns:1fr; margin:0; } }
.lista-duvidas { border-bottom:var(--linha) solid var(--tinta); }
.lista-duvidas details { border-top:var(--linha) solid var(--tinta); }
.lista-duvidas summary { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px 0; cursor:pointer; list-style:none;
                         font-size:clamp(20px, 2.3vw, 25px); font-weight:800; line-height:1.2; }
.lista-duvidas summary::-webkit-details-marker { display:none; }
.lista-duvidas summary::after { content:"+"; flex:none; width:40px; height:40px; display:grid; place-items:center; border:var(--linha) solid var(--tinta);
                                font:700 22px "Space Mono", monospace; transition:background .15s; }
.lista-duvidas details[open] summary::after { content:"–"; background:var(--laranja); }
.lista-duvidas summary:hover::after { background:var(--laranja); }
.lista-duvidas details p { margin:0; padding:0 56px 26px 0; max-width:40em; }

.chamada { padding:104px 0; background:var(--laranja); border-bottom:var(--linha) solid var(--tinta); }
.chamada .titulo { font-size:clamp(50px, 9vw, 132px); max-width:15ch; }
.chamada em.cor { color:var(--papel); }
.chamada p { max-width:30em; margin:28px 0 36px; font-size:clamp(19px, 2vw, 22px); font-weight:500; }
.chamada .btn { box-shadow:5px 5px 0 var(--papel); }
.chamada .btn:hover { box-shadow:7px 7px 0 var(--papel); }
.chamada .btn.claro { box-shadow:5px 5px 0 var(--tinta); }

.rodape { padding:48px 0 56px; }
.rodape .marca img { height:36px; width:auto; display:block; margin-bottom:28px; }
.regua { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px 28px; padding-top:16px; border-top:6px solid var(--tinta); font-size:14px; }
.regua a { text-decoration:none; }
.regua a:hover { color:var(--laranja); }
.arroba { color:var(--laranja); font-family:"Archivo", sans-serif; font-weight:900; font-size:1.12em; line-height:1; }
.regua nav { display:flex; flex-wrap:wrap; gap:14px 24px; }

/* entrada suave ao rolar (só com JS; sem JS, tudo aparece) */
.js .surge { opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.js .surge.visto { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .trilho { animation:none; }
  .js .surge { opacity:1; transform:none; transition:none; }
  .btn { transition:none; }
}
