@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;600;700&display=swap');

:root{
--branco:#FFFFFF;
--preto:#111111;
--vermelho:#D32F2F;
--vermelho-escuro:#B71C1C;
--cinza-bg:#F2F2F2;
--cinza-borda:#E0E0E0;
--cinza-texto:#555;
--sombra:0 8px 24px rgba(0,0,0,.08);
--radius:8px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--preto);background:var(--branco);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.container{width:min(1140px,90%);margin:0 auto}
.skip{position:absolute;left:-9999px}.skip:focus{position:static;background:var(--vermelho);color:var(--branco);padding:10px;z-index:999}

#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--preto);color:var(--branco);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:999;display:none;font-size:.9rem}
#cookie-banner a{color:var(--branco);text-decoration:underline}
#cookie-banner button{background:var(--vermelho);color:var(--branco);border:0;padding:10px 20px;border-radius:var(--radius);font-weight:700;cursor:pointer;transition:.2s}
#cookie-banner button:hover{background:var(--vermelho-escuro)}

.header{background:var(--preto);color:var(--branco);padding-bottom:100px;background-image:radial-gradient(circle at 20% 50%, rgba(211,47,47,.15) 0%, transparent 50%)}
.logo{width:150px;background:var(--branco);padding:12px;border-radius:var(--radius);margin:24px auto;display:block;box-shadow:var(--sombra)}
.hero{text-align:center;padding:40px 0}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,6vw,4.5rem);letter-spacing:1px;line-height:1.1;margin-bottom:12px}
.hero p{font-size:1.2rem;color:#ccc;margin-bottom:28px}
.cta{display:flex;gap:16px;justify-content:center;margin-bottom:28px;flex-wrap:wrap}
.btn{font-family:'Inter',sans-serif;padding:14px 28px;border-radius:var(--radius);font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem;transition:transform .2s, background .2s;box-shadow:var(--sombra)}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--vermelho);color:var(--branco)}
.btn-red:hover{background:var(--vermelho-escuro)}
.btn-green{background:#25D366;color:var(--branco)}
.btn-green:hover{background:#1DA851}
.badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.badges span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:8px 16px;border-radius:30px;font-size:.85rem;font-weight:600}

.section{padding:90px 0}
.bg-gray{background:var(--cinza-bg)}
h2{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:var(--preto);text-align:center;margin-bottom:50px;letter-spacing:1px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.card{background:var(--branco);padding:32px;border-radius:var(--radius);border-top:4px solid var(--vermelho);box-shadow:var(--sombra);transition:transform .3s}
.card:hover{transform:translateY(-6px)}
.card h3{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;margin-bottom:10px}
.card p{color:var(--cinza-texto);margin-bottom:20px}

.btn-mini{background:var(--vermelho);color:var(--branco);padding:10px 18px;border-radius:var(--radius);border:0;font-weight:700;cursor:pointer;width:100%;transition:.2s}
.btn-mini:hover{background:var(--vermelho-escuro)}

.filtros{display:flex;gap:10px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}
.filtro{font-family:'Inter',sans-serif;padding:10px 20px;border:2px solid var(--cinza-borda);background:var(--branco);color:var(--cinza-texto);border-radius:30px;cursor:pointer;font-weight:600;transition:.2s}
.filtro.active,.filtro:hover{background:var(--vermelho);color:var(--branco);border-color:var(--vermelho)}

.grid-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.grid-gallery img{width:100%;height:240px;object-fit:cover;border-radius:var(--radius);cursor:pointer;transition:transform .3s, filter .3s}
.grid-gallery img:hover{transform:scale(1.03);filter:brightness(1.1)}

form{max-width:720px;margin:0 auto;display:grid;gap:20px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
label{font-weight:600;margin-bottom:8px;display:block;font-size:.95rem}
input,select,textarea{width:100%;padding:14px;border:2px solid var(--cinza-borda);border-radius:var(--radius);font:inherit;background:var(--branco);transition:border .2s}
input:focus,select:focus,textarea:focus{border-color:var(--vermelho);outline:0;box-shadow:0 0 0 3px rgba(211,47,47,.1)}
.err{color:var(--vermelho);font-size:.85rem;min-height:1.2em;font-weight:600}

.accordion{display:grid;gap:14px;max-width:820px;margin:0 auto}
.acc-btn{width:100%;text-align:left;padding:20px;border:2px solid var(--cinza-borda);background:var(--branco);border-radius:var(--radius);font-weight:700;cursor:pointer;font-size:1.05rem;transition:.2s}
.acc-btn:hover{border-color:var(--vermelho)}
.acc-btn[aria-expanded="true"]{border-color:var(--vermelho);color:var(--vermelho)}
.acc-painel{max-height:0;overflow:hidden;transition:max-height .4s ease}
.acc-painel p{padding:16px 20px;color:var(--cinza-texto)}

.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px}
.grid-2 a{color:var(--vermelho);font-weight:700;text-decoration:none}
.grid-2 a:hover{text-decoration:underline}

#lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;place-items:center;z-index:1000}
#lightbox img{max-width:90%;max-height:90%;border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.5)}
#close-lb{position:absolute;top:20px;right:30px;background:var(--branco);border:0;font-size:24px;width:44px;height:44px;border-radius:50%;cursor:pointer;font-weight:700}

.whats{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font-size:30px;text-decoration:none;box-shadow:0 8px 20px rgba(37,211,102,.4);z-index:99;transition:transform .2s}
.whats:hover{transform:scale(1.1)}

.footer{background:var(--preto);color:#aaa;padding:40px 0;text-align:center;font-size:.9rem}
.footer a{color:var(--branco);margin:0 8px;text-decoration:none}
.footer a:hover{text-decoration:underline}

@media(max-width:768px){
.section{padding:60px 0}
h2{font-size:2.2rem}
.grid-gallery{grid-template-columns:repeat(2,1fr)}
.grid-gallery img{height:160px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}