@font-face{
  font-family:Inter;
  font-style:normal;
  font-weight:400 900;
  font-display:optional;
  src:url(/assets/fonts/inter-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  /* Paleta baseada no logo AtendeJá */
  --red:#E30613;      /* vermelho principal */
  --orange:#F59B00;   /* laranja do "Já" / raio */
  --ink:#0b0f19;      /* texto escuro */
  --muted:#4b5563;    /* texto secundário */
  --bg:#ffffff;       /* fundo */
  --line:rgba(15,23,42,.12);
  --shadow:0 18px 50px rgba(2,6,23,.12);
  --shadow2:0 10px 30px rgba(2,6,23,.10);
  --radius:18px;
  --radius2:24px;
  --max:1120px;
  --wa:#1DB954;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:90px; }
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background:var(--bg);
  overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:2px; border-radius:8px; }

/* Background flare (arrojado, mas limpo) */
.bg-flare{
  position:fixed;
  inset:-20%;
  background:
    radial-gradient(900px 450px at 15% 10%, rgba(227,6,19,.16), transparent 60%),
    radial-gradient(800px 400px at 85% 15%, rgba(245,155,0,.18), transparent 60%),
    radial-gradient(900px 500px at 60% 85%, rgba(227,6,19,.10), transparent 65%);
  pointer-events:none;
  z-index:-1;
}

/* Layout helpers */
.wrap{ width:min(var(--max), calc(100% - 32px)); margin:0 auto; }
.grid{ display:grid; gap:18px; }
.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.8);
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  font-weight:700;
  font-size:14px;
}
.dot{
  width:10px; height:10px; border-radius:999px; flex:none;
  background:linear-gradient(135deg, var(--red), var(--orange));
  box-shadow:0 0 0 4px rgba(227,6,19,.12);
}

/* Header */
header.site-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,23,42,.08);
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 0;
  gap:14px;
}
.brand{ display:flex; align-items:center; flex:none; }
.logo-header{ height:68px; width:auto; }

.nav{
  display:flex;
  gap:4px;
  align-items:center;
  justify-content:center;
  flex:1;
}
.nav a{
  font-weight:700;
  color:#111827;
  opacity:.85;
  padding:10px 12px;
  border-radius:999px;
}
.nav a:hover{ background:rgba(2,6,23,.05); opacity:1; }
.nav-extra{ display:none; }

.actions{ display:flex; align-items:center; gap:10px; }
.menu-btn{
  display:none;
  width:46px; height:46px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  place-items:center;
}
.menu-btn svg{ width:22px; height:22px; }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  font-weight:800;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  box-shadow:0 12px 30px rgba(2,6,23,.08);
  transition:transform .12s ease, box-shadow .12s ease;
  cursor:pointer;
}
.btn:hover{ transform:translateY(-1px); box-shadow:0 18px 45px rgba(2,6,23,.12); }
.btn-primary{
  border:none;
  color:#fff;
  background:linear-gradient(135deg, var(--red), var(--orange));
  box-shadow:0 18px 55px rgba(227,6,19,.22);
}
.btn-wa{ border:none; color:#fff; background:var(--wa); box-shadow:0 14px 40px rgba(16,185,129,.28); }
.btn svg{ width:18px; height:18px; flex:none; }
.btn-sm{ padding:10px 12px; font-size:13px; box-shadow:none; }

/* Hero */
.hero{ padding:40px 0 20px; }
.hero-inner{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  align-items:stretch;
}
.hero-card{
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.82);
  border-radius:var(--radius2);
  box-shadow:var(--shadow);
  padding:26px;
  position:relative;
  overflow:hidden;
}
.hero-card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(600px 260px at 10% 20%, rgba(227,6,19,.14), transparent 60%),
    radial-gradient(600px 260px at 90% 10%, rgba(245,155,0,.16), transparent 60%);
  pointer-events:none;
}
.hero-card > *{ position:relative; z-index:1; }
h1{
  margin:14px 0 10px;
  font-size:clamp(28px, 3.4vw, 44px);
  line-height:1.08;
  letter-spacing:-.6px;
}
h1 .hl{ color:var(--red); }
.lead{
  margin:0 0 16px;
  color:var(--muted);
  font-size:clamp(15px, 1.4vw, 17px);
  line-height:1.6;
  font-weight:600;
  max-width:56ch;
}
.hero-ctas{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.trust{ margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; }
.trust .tag{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(15,23,42,.10);
  font-weight:800;
  font-size:14px;
}
.trust .tag i{
  width:9px; height:9px; border-radius:999px;
  background:var(--orange);
  box-shadow:0 0 0 4px rgba(245,155,0,.14);
}

.hero-side{
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--radius2);
  background:linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.6));
  box-shadow:var(--shadow2);
  padding:18px;
}
.hero-art{
  border-radius:var(--radius2);
  background:linear-gradient(160deg, #fff7ed, #fff1f2);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow2);
  display:grid;
  place-items:center;
  padding:12px;
}
.hero-art img{ width:100%; max-width:480px; }

.mini{
  display:flex; gap:12px; align-items:flex-start;
  padding:14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 10px 26px rgba(2,6,23,.06);
  margin-bottom:12px;
}
.mini:last-child{ margin-bottom:0; }
.mini .icon{
  width:40px; height:40px; flex:none;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(227,6,19,.16), rgba(245,155,0,.18));
  display:grid; place-items:center;
}
.mini .icon svg{ width:20px; height:20px; }
.mini strong{ display:block; font-weight:900; }
.mini p{ margin:6px 0 0; color:var(--muted); font-weight:600; line-height:1.4; font-size:14px; }

/* Breadcrumb */
.breadcrumb{ font-size:13px; font-weight:700; color:var(--muted); }
.breadcrumb ol{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.breadcrumb li + li:before{ content:"›"; margin-right:6px; opacity:.6; }
.breadcrumb a{ color:var(--red); }

/* Sections */
section{ padding:30px 0; }
.section-title{ margin-bottom:18px; }
.section-title h2{
  margin:0 0 6px;
  font-size:clamp(22px, 2.4vw, 30px);
  letter-spacing:-.3px;
}
.section-title p{
  margin:0;
  color:var(--muted);
  font-weight:600;
  line-height:1.5;
  max-width:64ch;
}

/* Cards */
.services{ grid-template-columns:repeat(3, 1fr); }
.card{
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--radius);
  background:rgba(255,255,255,.9);
  box-shadow:0 14px 40px rgba(2,6,23,.08);
  padding:16px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(360px 180px at 20% 10%, rgba(227,6,19,.08), transparent 60%),
    radial-gradient(360px 180px at 90% 20%, rgba(245,155,0,.08), transparent 60%);
  pointer-events:none;
}
.card > *{ position:relative; z-index:1; }
.cardhead{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.badge{
  width:44px; height:44px; flex:none;
  border-radius:16px;
  background:linear-gradient(135deg, var(--red), var(--orange));
  display:grid; place-items:center;
  color:#fff;
}
.badge svg{ width:20px; height:20px; }
.card h3{ margin:0; font-size:17px; letter-spacing:-.2px; }
.card .sub{ color:var(--muted); font-weight:700; font-size:13px; }
.card ul{
  margin:6px 0 0;
  padding:0 0 0 18px;
  color:var(--muted);
  font-weight:600;
  line-height:1.55;
  font-size:14px;
}
.card p{ color:var(--muted); font-weight:600; line-height:1.55; font-size:14px; margin:6px 0 0; }
.card .cta{ margin-top:auto; padding-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
.card-art{ margin:-16px -16px 12px; background:linear-gradient(160deg, #fff7ed, #fff1f2); border-bottom:1px solid rgba(15,23,42,.06); }
.card-art img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.card-dark{ background:linear-gradient(135deg, var(--red), var(--orange)); color:#fff; }
.card-dark:before{ display:none; }
.card-dark p, .card-dark h3{ color:#fff; }
.card-dark .btn{ color:var(--ink); }

.cities{ grid-template-columns:repeat(3, 1fr); }
.contacts{ grid-template-columns:repeat(4, 1fr); }
.card .email{ overflow-wrap:anywhere; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  background:#fff; border:1px solid var(--line);
  font-weight:800; font-size:14px;
}
.chip:hover{ border-color:var(--red); color:var(--red); }

/* Conteúdo das páginas internas */
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.checklist{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.checklist li{
  display:flex; gap:10px; align-items:flex-start;
  background:#fff; border:1px solid rgba(15,23,42,.10); border-radius:14px;
  padding:12px 14px; font-weight:700; line-height:1.45;
}
.checklist li:before{
  content:""; flex:none; width:20px; height:20px; margin-top:1px; border-radius:7px;
  background-repeat:no-repeat; background-position:center; background-size:12px, 100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"), linear-gradient(135deg, var(--red), var(--orange));
}
.checklist.warn li:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18h.01'/%3E%3C/svg%3E"), linear-gradient(135deg, #f59e0b, #f97316);
}
.tip{
  border-radius:var(--radius);
  border:1px dashed rgba(227,6,19,.35);
  background:#fff7ed;
  padding:16px 18px;
  font-weight:600;
  line-height:1.6;
  color:#3f3f46;
  margin-top:14px;
}
.tip strong{ color:var(--red); }
.prose{ font-weight:500; line-height:1.7; color:#27272a; max-width:72ch; }
.prose p{ margin:0 0 12px; }

/* How it works */
.how{ grid-template-columns:repeat(3, 1fr); }
.step{
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 14px 40px rgba(2,6,23,.07);
  padding:16px;
}
.step .num{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(227,6,19,.14), rgba(245,155,0,.18));
  font-weight:900;
  margin-bottom:10px;
}
.step h3{ margin:0 0 8px; font-size:16px; }
.step p{ margin:0; color:var(--muted); font-weight:600; line-height:1.5; }

/* CTA band */
.cta-band{
  border-radius:var(--radius2);
  border:1px solid rgba(15,23,42,.10);
  background:linear-gradient(135deg, rgba(227,6,19,.10), rgba(245,155,0,.12));
  box-shadow:var(--shadow2);
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.cta-band strong{ font-size:17px; }
.cta-band span{ color:var(--muted); font-weight:600; display:block; margin-top:4px; }

/* FAQ */
details{
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 12px 30px rgba(2,6,23,.06);
}
details + details{ margin-top:10px; }
summary{
  cursor:pointer;
  font-weight:900;
  list-style:none;
  display:flex; justify-content:space-between; gap:12px;
}
summary::-webkit-details-marker{ display:none; }
summary:after{ content:"+"; color:var(--red); font-size:20px; line-height:1; }
details[open] summary:after{ content:"–"; }
details p{ margin:10px 0 0; color:var(--muted); font-weight:600; line-height:1.6; }

/* Footer */
footer{
  margin-top:20px;
  padding:30px 0 90px;
  border-top:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.7);
}
.foot{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr;
  gap:22px;
}
.foot h3{ font-size:14px; text-transform:uppercase; letter-spacing:.06em; margin:0 0 10px; color:var(--red); }
.foot ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.foot ul a{ font-weight:700; color:#27272a; }
.foot ul a:hover{ color:var(--red); }
.foot .logo-footer{ height:72px; width:auto; margin-bottom:6px; }
.fine{ color:var(--muted); font-weight:600; line-height:1.6; margin:8px 0 0; font-size:14px; }
.copy{ text-align:center; margin-top:22px; font-size:13px; color:var(--muted); font-weight:600; }

/* Botão flutuante do WhatsApp */
.fab{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:40;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border-radius:999px;
  background:var(--wa);
  color:#fff;
  font-weight:900;
  box-shadow:0 18px 50px rgba(16,185,129,.35);
  transition:bottom .2s ease;
}
.fab svg{ width:22px; height:22px; }
body.cookie-open .fab{ bottom:var(--cookie-h, 150px); }

/* ===== COOKIE LGPD ===== */
.cookie-banner{
  position:fixed;
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  width:min(560px, calc(100% - 24px));
  background:#fff;
  border-radius:16px;
  padding:12px 14px;
  box-shadow:0 18px 60px rgba(0,0,0,.18);
  border:1px solid rgba(0,0,0,.08);
  z-index:50;
  display:none;
  align-items:center;
  gap:12px;
}
body.cookie-open .cookie-banner{ display:flex; }
.cookie-banner p{ font-size:13px; color:#4b5563; font-weight:600; margin:0; line-height:1.45; flex:1; }
.cookie-banner a{ color:var(--red); text-decoration:underline; }
.cookie-actions{ display:flex; gap:8px; flex:none; }
.cookie-btn{ padding:8px 12px; border-radius:999px; border:none; cursor:pointer; font-weight:800; font-family:inherit; }
.cookie-accept{ background:var(--red); color:#fff; }
.cookie-decline{ background:#f3f4f6; color:#111827; }

/* Páginas legais */
.legal{ max-width:820px; }
.legal h2{ font-size:20px; margin:26px 0 8px; }
.legal p, .legal li{ line-height:1.7; color:#27272a; font-weight:500; }
.legal .id-box{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; }

/* Responsive */
@media (max-width: 1040px){
  .services, .contacts{ grid-template-columns:repeat(2, 1fr); }
  .foot{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 980px){
  .hero-inner{ grid-template-columns:1fr; }
  .menu-btn{ display:grid; }
  .nav{
    display:none;
    position:absolute;
    top:100%; left:0; right:0;
    flex-direction:column;
    align-items:stretch;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 20px 40px rgba(2,6,23,.12);
    padding:10px 16px 16px;
    max-height:calc(100vh - 80px);
    overflow:auto;
  }
  .nav.open{ display:flex; }
  .nav a{ padding:12px; border-radius:12px; }
  .nav-extra{ display:block; border-top:1px solid var(--line); margin-top:6px; padding-top:6px; }
  .nav-extra strong{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--red); padding:8px 12px 2px; }
  .nav-extra a{ display:block; font-weight:600; }
  .hide-md{ display:none !important; }
}
@media (max-width: 760px){
  .services, .how, .cities, .contacts, .two-col{ grid-template-columns:1fr; }
  .logo-header{ height:56px; }
  .hero{ padding-top:20px; }
  .hero-card{ padding:20px; }
  .btn-label-long{ display:none; }
}
@media (max-width: 520px){
  .foot{ grid-template-columns:1fr; }
  .fab span{ display:none; }
  .cookie-banner{ flex-direction:column; align-items:stretch; }
  .cookie-actions{ justify-content:flex-end; }
}

/* fotos reais de serviços realizados */
.grid.fotos{ --foto:265px; grid-template-columns:repeat(auto-fit, var(--foto)); justify-content:center; gap:40px; }
@media (max-width:600px){ .grid.fotos{ --foto:49%; gap:28px; } }
.foto-servico{ margin:0; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.foto-servico img{ display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
.foto-servico figcaption{ padding:12px 14px; font-weight:600; line-height:1.5; color:#27272a; }
