:root{--oliva:#5b6a2c;--oliva-cl:#9aab52;--oliva-esc:#3e4a1d;--preto:#000;--cinza:#e7e7e4;--cinza-esc:#c9c9c4}
*{box-sizing:border-box}
body{margin:0;font:400 1rem/1.6 'Public Sans',system-ui,sans-serif;background:var(--cinza);color:var(--preto)}
h1,h2,h3,.marca{font-family:'Bricolage Grotesque',sans-serif;line-height:1.05;margin:0}
a{color:inherit}
.topo{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,5vw,4rem);background:var(--preto);color:var(--cinza)}
.marca{font-size:1.25rem;font-weight:800}
.fone{text-decoration:none;font-weight:600;border-bottom:2px solid var(--oliva)}
.topo .fone{color:var(--cinza)}
.btn{display:inline-block;align-self:flex-start;background:var(--oliva);color:#fff;border:2px solid var(--oliva);padding:.85rem 1.6rem;font:600 1rem 'Public Sans',sans-serif;text-decoration:none;cursor:pointer;border-radius:3px;transition:background .2s,border-color .2s}
.btn:hover{background:var(--oliva-esc);border-color:var(--oliva-esc)}
.btn.vazado{background:transparent;border-color:var(--cinza);color:var(--cinza)}
.btn.vazado:hover{background:var(--cinza);color:var(--preto)}
.btn.peq{padding:.35rem .9rem;font-size:.85rem;margin-left:.5rem;vertical-align:middle}
:focus-visible{outline:3px solid var(--oliva-cl);outline-offset:2px}

/* HERO */
.hero{position:relative;overflow:hidden;min-height:calc(100vh - 62px);display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--preto);color:var(--cinza)}
.brilho{position:absolute;right:-10%;top:50%;width:70vw;height:70vw;max-width:900px;max-height:900px;translate:0 -50%;background:radial-gradient(circle,rgba(91,106,44,.55),transparent 62%);animation:pulsa 7s ease-in-out infinite}
.hero-txt{position:relative;z-index:2;padding:clamp(2rem,6vw,5rem) clamp(1rem,5vw,4rem);display:flex;flex-direction:column;gap:1.5rem}
.hero-txt h1{font-size:clamp(2.5rem,5.6vw,4.8rem);font-weight:800;max-width:13ch}
.hero-txt p{max-width:44ch;margin:0;color:var(--cinza-esc)}
.botoes{display:flex;gap:.8rem;flex-wrap:wrap}
.vitrine{position:relative;z-index:1;height:min(70vh,560px);margin-right:clamp(1rem,4vw,4rem)}
.item{position:absolute;bottom:8%;translate:0 0;transition:translate .5s ease-out}
.item .flutua{animation:sobe 1.2s cubic-bezier(.2,.8,.2,1) both,flutua 6s ease-in-out infinite;animation-delay:var(--d),calc(var(--d) + 1.2s + var(--f))}
.item svg,.item img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.6))}
.item img{max-height:100%;object-fit:contain}
.i1{left:2%;width:30%}.i2{left:32%;width:38%;bottom:14%}.i3{left:68%;width:28%}
.in{animation:sobe 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d)}
@keyframes sobe{from{opacity:0;transform:translateY(60px) scale(.94)}to{opacity:1;transform:none}}
@keyframes flutua{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-16px) rotate(1.2deg)}}
@keyframes pulsa{0%,100%{opacity:.7;scale:1}50%{opacity:1;scale:1.08}}

/* PRODUTOS */
.produtos,.sobre,.passos{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,5vw,4rem)}
.produtos h2,.passos h2,.sobre h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:1.5rem}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2rem 1.5rem}
.grade article{border-top:4px solid var(--oliva);padding-top:1rem}
.foto{aspect-ratio:1;background:var(--preto);display:grid;place-items:center;overflow:hidden;margin-bottom:1rem}
.foto img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.grade article:hover .foto img{transform:scale(1.07)}
.grade h3{font-size:1.2rem;margin-bottom:.4rem}
.grade p{margin:0;font-size:.92rem}

/* SOBRE */
.sobre{display:grid;grid-template-columns:1fr 1fr;gap:3rem;background:#fff}
.sobre p{max-width:60ch;margin:0}
.sobre ul{margin:0;padding:0;list-style:none;display:grid;gap:.8rem}
.sobre li{padding-left:1.4rem;position:relative}
.sobre li::before{content:"";position:absolute;left:0;top:.6em;width:.7rem;height:.7rem;background:var(--oliva)}

/* PASSOS */
.passos ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:p}
.passos li{counter-increment:p;border-top:4px solid var(--oliva);padding-top:1rem;max-width:34ch}
.passos li::before{content:counter(p);font:800 2rem 'Bricolage Grotesque',sans-serif;color:var(--oliva);display:block}
.passos b{display:block}

/* CADASTRO */
.cadastro{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;background:var(--preto);color:var(--cinza);padding:clamp(2.5rem,6vw,5rem) clamp(1rem,5vw,4rem)}
.cad-txt{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.cad-txt h2{font-size:clamp(2rem,4vw,3rem)}.cad-txt p{margin:0;color:var(--cinza-esc)}
.form,.caixa{display:flex;flex-direction:column;gap:.9rem}
.form{background:var(--cinza);color:var(--preto);padding:clamp(1.5rem,4vw,2.5rem)}
label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem}
input,textarea{font:inherit;padding:.65rem .75rem;border:2px solid var(--cinza-esc);background:#fff;border-radius:3px;width:100%}
input:focus,textarea:focus{border-color:var(--oliva);outline:0}
fieldset{border:0;padding:0;margin:0;display:flex;gap:1.5rem;flex-wrap:wrap}
fieldset label,label.linha{flex-direction:row;align-items:center;gap:.5rem}
fieldset input,.duas input,label.linha input{width:auto;accent-color:var(--oliva)}
legend{font-weight:600;font-size:.9rem;margin-bottom:.4rem}
.duas{display:flex;gap:.9rem}.duas label{flex:1}.duas .uf{flex:0 0 5rem}.duas input{width:100%}
.isca{position:absolute;left:-9999px}
.ok,.erro{margin:0;padding:.7rem 1rem;border-left:5px solid;font-weight:600;background:#fff;color:var(--preto)}
.ok{border-color:var(--oliva)}.erro{border-color:#000}
.rodape{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.5rem clamp(1rem,5vw,4rem);background:var(--preto);color:var(--cinza);border-top:1px solid #222}
.rodape a{text-decoration:none;border-bottom:2px solid var(--oliva)}

/* ADMIN */
.painel{padding:2rem clamp(1rem,4vw,3rem);display:grid;gap:1.5rem}
.admin .caixa{background:#fff;max-width:560px;margin:2rem auto;padding:2rem;border-top:6px solid var(--oliva)}
.painel .caixa{margin:0}
.admin h2,.admin h1{font-size:1.5rem}
.dica{margin:0;font-size:.85rem;color:#444}
.tabela{overflow-x:auto;background:#fff}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{padding:.6rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--cinza)}
th{background:var(--preto);color:var(--cinza)}
.x{background:0;border:0;color:var(--oliva-esc);font-weight:600;cursor:pointer;text-decoration:underline;font:inherit}

@media(max-width:860px){
  .hero{grid-template-columns:1fr;min-height:0}
  .vitrine{height:340px;margin:0 1rem 2rem}
  .sobre,.cadastro,.passos ol{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
