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

:root {
  --bg: #f5f4f3;
  --fg: #2d2a28;
  --card: #ffffff;
  --muted: #e8e6e4;
  --muted-fg: #6b6560;
  --primary: #c62828;
  --primary-fg: #ffffff;
  --accent: #2d2a28;
  --accent-fg: #faf9f8;
  --border: #dddad7;
  --radius: 2px;
  --font-display: 'Oswald', 'Impact', sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --shadow-elegant: 0 20px 50px -20px rgba(45,42,40,0.4);
  --shadow-ember: 0 10px 40px -10px rgba(198,40,40,0.45);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--fg);
  line-height:1.6;
  min-height:100vh;
}
h1,h2,h3,h4 { font-family:var(--font-display); letter-spacing:0.01em; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }

.container { max-width:1280px; margin:0 auto; padding:0 24px; }

/* Header */
.header {
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid var(--border);
  background: rgba(245,244,243,0.85);
  backdrop-filter: blur(8px);
}
.header-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:64px;
}
.header-logo img { height:40px; width:auto; }
.header-nav { display:none; align-items:center; gap:4px; }
.header-nav a {
  padding:8px 16px; font-size:14px; font-weight:500;
  color: var(--fg); opacity:0.8; border-radius:var(--radius);
  transition: all .2s;
}
.header-nav a:hover, .header-nav a.active {
  background: var(--accent); color: var(--accent-fg); opacity:1;
}
.header-cta {
  display:none; align-items:center; gap:8px;
  background: var(--primary); color: var(--primary-fg);
  padding:8px 16px; border-radius:var(--radius);
  font-size:14px; font-weight:600;
  box-shadow: var(--shadow-ember); transition: filter .2s;
}
.header-cta:hover { filter: brightness(1.1); }

/* Mobile nav */
.mob-nav {
  display:flex; align-items:center; justify-content:center;
  gap:4px; border-top:1px solid var(--border);
  background: rgba(45,42,40,0.03); padding:8px 0;
}
.mob-nav a {
  padding:4px 12px; font-size:12px; font-weight:500;
  color: var(--fg); opacity:0.8; border-radius:var(--radius);
}
.mob-nav a:hover, .mob-nav a.active { color: var(--primary); opacity:1; }

@media(min-width:768px){
  .header-nav { display:flex; }
  .header-cta { display:inline-flex; }
  .mob-nav { display:none; }
  .header-logo img { height:48px; }
}

/* Footer */
.footer {
  border-top:1px solid var(--border);
  background: var(--accent); color: var(--accent-fg);
}
.footer-grid {
  display:grid; gap:40px; padding:56px 24px;
}
@media(min-width:768px){
  .footer-grid { grid-template-columns: repeat(3,1fr); }
}
.footer-title { font-family:var(--font-display); font-size:1.25rem; }
.footer-sub { font-size:11px; text-transform:uppercase; letter-spacing:0.25em; opacity:0.7; margin-top:4px; }
.footer-p { margin-top:16px; font-size:14px; opacity:0.8; max-width:280px; }
.footer-list { margin-top:12px; list-style:none; }
.footer-list li { display:flex; align-items:center; gap:8px; font-size:14px; opacity:0.85; margin-bottom:8px; }
.footer-list svg { color:var(--primary); flex-shrink:0; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.1);
  text-align:center; padding:16px; font-size:12px; opacity:0.6;
}

/* Buttons */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; border-radius:var(--radius);
  font-weight:600; font-size:14px; cursor:pointer; border:none;
  transition: all .2s;
}
.btn-primary {
  background: var(--primary); color: var(--primary-fg);
  box-shadow: var(--shadow-ember);
}
.btn-primary:hover { filter: brightness(1.1); }
.btn-outline {
  background: rgba(255,255,255,0.05); color:#fff;
  border:1px solid rgba(255,255,255,0.4);
}
.btn-outline:hover { background:rgba(255,255,255,0.15); }
.btn-white {
  background:#fff; color: var(--accent);
}
.btn-white:hover { background:rgba(255,255,255,0.9); }

/* Hero */
.hero {
  position:relative; overflow:hidden;
  min-height:78vh; display:flex; align-items:center;
}
.hero img.bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
}
.hero-overlay {
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(35,30,28,0.85) 0%, rgba(120,50,30,0.7) 100%);
  z-index:1;
}
.hero-content { position:relative; z-index:2; padding:96px 24px; }
.hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid rgba(255,255,255,0.3);
  background:rgba(255,255,255,0.1); backdrop-filter:blur(4px);
  padding:4px 12px; font-size:12px; text-transform:uppercase;
  letter-spacing:0.25em; color:#fff; border-radius:var(--radius); margin-bottom:16px;
}
.hero-tag .dot { width:6px; height:6px; border-radius:50%; background:var(--primary); }
.hero h1 { color:#fff; font-size:clamp(2.5rem,6vw,4.5rem); line-height:1.05; font-weight:700; max-width:700px; }
.hero h1 span { color: var(--primary); }
.hero p { color:rgba(255,255,255,0.85); font-size:18px; margin-top:24px; max-width:520px; }
.hero-actions { margin-top:32px; display:flex; flex-wrap:wrap; gap:12px; }

/* Sections */
.section { padding:96px 0; }
.section-header { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.section-label { font-size:12px; text-transform:uppercase; letter-spacing:0.25em; color:var(--primary); }
.section-title { font-size:clamp(2rem,4vw,3.5rem); margin-top:8px; }

.card {
  background: var(--card); border:1px solid var(--border); border-radius:var(--radius);
  overflow:hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  transition: box-shadow .3s;
}
.card:hover { box-shadow: var(--shadow-elegant); }
.card-img { aspect-ratio:4/3; overflow:hidden; background:var(--muted); }
.card-img img { width:100%; height:100%; object-fit:cover; transition: transform .5s; }
.card:hover .card-img img { transform: scale(1.05); }
.card-body { padding:20px; }
.card h3 { font-size:18px; }
.card p { font-size:14px; color:var(--muted-fg); margin-top:4px; }

.grid-2 { display:grid; gap:24px; }
.grid-3 { display:grid; gap:24px; }
.grid-4 { display:grid; gap:24px; }
@media(min-width:640px){ .grid-2 { grid-template-columns:repeat(2,1fr); } }
@media(min-width:768px){ .grid-3 { grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .grid-4 { grid-template-columns:repeat(4,1fr); } }

/* Diferenciais */
.diff-grid { display:grid; background:var(--border); gap:1px; }
@media(min-width:768px){ .diff-grid { grid-template-columns:repeat(3,1fr); } }
.diff-item { background:var(--card); padding:32px; display:flex; align-items:flex-start; gap:16px; }
.diff-icon { width:48px; height:48px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:rgba(198,40,40,0.1); border-radius:var(--radius); color:var(--primary); }
.diff-item h3 { font-size:20px; }
.diff-item p { font-size:14px; color:var(--muted-fg); margin-top:4px; }

/* CTA */
.cta-box {
  position:relative; overflow:hidden; border-radius:var(--radius);
  padding:40px; color:var(--accent-fg);
  background: linear-gradient(135deg, #b22, #802);
}
@media(min-width:768px){ .cta-box { padding:64px; } }
.cta-grid { display:grid; gap:24px; align-items:center; }
@media(min-width:768px){ .cta-grid { grid-template-columns:1fr auto; } }
.cta-box h2 { font-size:clamp(1.75rem,3vw,2.5rem); }
.cta-box ul { margin-top:16px; display:grid; gap:8px; font-size:14px; color:rgba(255,255,255,0.9); }
@media(min-width:640px){ .cta-box ul { grid-template-columns:1fr 1fr; } }
.cta-box li { display:flex; align-items:center; gap:8px; }

/* Page hero */
.page-hero { border-bottom:1px solid var(--border); background:var(--accent); color:var(--accent-fg); padding:80px 0; }
.page-hero h1 { font-size:clamp(2.5rem,5vw,4rem); margin-top:12px; }
.page-hero p { margin-top:16px; font-size:18px; opacity:0.8; max-width:640px; }

/* Sobre */
.sobre-grid { display:grid; gap:48px; padding:80px 0; }
@media(min-width:768px){ .sobre-grid { grid-template-columns:1fr 1fr; } }
.sobre-text { font-size:18px; line-height:1.7; color:var(--fg); opacity:0.85; }
.sobre-text p + p { margin-top:20px; }
.sobre-cards { display:grid; gap:16px; }
.sobre-card { display:flex; gap:16px; border:1px solid var(--border); background:var(--card); border-radius:var(--radius); padding:24px; }

/* Produtos */
.group { margin-bottom:64px; }
.group-header { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; border-bottom:1px solid var(--border); padding-bottom:12px; margin-bottom:24px; }
.group-header h2 { font-size:clamp(1.25rem,2.5vw,1.875rem); text-transform:uppercase; letter-spacing:0.05em; }
.group-header span { font-size:12px; text-transform:uppercase; letter-spacing:0.25em; color:var(--muted-fg); }

.btn-wa {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--primary); color:var(--primary-fg);
  padding:8px 16px; border-radius:var(--radius); font-size:12px; font-weight:600;
  box-shadow:var(--shadow-ember); margin-top:16px; transition:filter .2s;
}
.btn-wa:hover { filter:brightness(1.1); }

/* Vantagens */
.vantagens { border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--card); padding:80px 0; }
.vantagens-grid { display:grid; gap:24px; margin-top:40px; }
@media(min-width:768px){ .vantagens-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .vantagens-grid { grid-template-columns:repeat(3,1fr); } }
.vantagem {
  border:1px solid var(--border); background:var(--bg); border-radius:var(--radius); padding:24px;
}
.vantagem h3 { display:flex; align-items:center; gap:8px; font-size:18px; }
.vantagem h3 svg { color:var(--primary); flex-shrink:0; }
.vantagem p { margin-top:12px; font-size:14px; line-height:1.6; opacity:0.75; }

/* Contato */
.contact-grid { display:grid; gap:40px; padding:80px 0; }
@media(min-width:768px){ .contact-grid { grid-template-columns:1fr 1fr; } }
.contact-item {
  display:flex; align-items:center; gap:16px;
  border:1px solid var(--border); background:var(--card); border-radius:var(--radius); padding:20px;
  transition: all .2s;
}
.contact-item:hover { border-color:var(--primary); box-shadow:var(--shadow-ember); }
.contact-icon {
  width:48px; height:48px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(198,40,40,0.1); border-radius:var(--radius); color:var(--primary);
}
.contact-label { font-size:12px; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted-fg); }
.contact-value { font-family:var(--font-display); font-size:20px; margin-top:2px; }
.contact-map { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-elegant); }
.contact-map iframe { width:100%; height:100%; min-height:420px; border:0; }

/* Center CTA */
.center-cta { text-align:center; border:1px solid var(--border); background:rgba(45,42,40,0.03); border-radius:var(--radius); padding:32px; }
.center-cta p { font-size:14px; color:var(--muted-fg); margin-top:8px; }
.center-cta .btn { margin-top:16px; }