/* ════════════════════════════════════════════════════
   DAISA — Design System v4
   Paleta: Navy #0a2050 / Vermelho #d5202a / Branco / Cinza
   ════════════════════════════════════════════════════ */
:root {
  --navy:   #0a2050;
  --navy-d: #06153a;
  --navy-l: #1a3570;
  --red:    #d5202a;
  --red-d:  #b01820;
  --gold:   #c49a28;
  --white:  #ffffff;
  --off:    #f4f6fb;
  --off2:   #eaeff8;
  --ink:    #111827;
  --mid:    #4b5a72;
  --muted:  #8496b0;
  --line:   #dde5f3;
  --line-d: #1e345e;
  --r:      10px;
  --maxw:   1200px;
  --nav-h:  76px;
}

/* reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Sora', system-ui, sans-serif;
  background: var(--white);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }

/* ── Tipografia ── */
h1, h2, h3, h4, h5 {
  font-family: 'Archivo', sans-serif;
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--navy);
}
.mono { font-family: 'Space Mono', monospace; }

/* ── Layout ── */
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.sec  { padding: 88px 0; }
.sec--off  { background: var(--off); }
.sec--navy { background: var(--navy); }
.sec--navy h2, .sec--navy h3 { color: #fff; }
.sec--navy p  { color: var(--muted); }

.sec-label {
  font-family: 'Space Mono', monospace;
  font-size: 11.5px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--red);
  font-weight: 700;
  display: block;
  margin-bottom: 10px;
}
.sec-head { max-width: 680px; margin-bottom: 52px; }
.sec-head h2 { font-size: clamp(28px, 4vw, 44px); font-weight: 800; margin-bottom: 14px; }
.sec-head p  { font-size: 17px; color: var(--mid); }
.sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }

/* ── Botões ── */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15px;
  padding: 14px 26px; border-radius: var(--r);
  border: 1.5px solid transparent; cursor: pointer; transition: .22s;
}
.btn-red   { background: var(--red); color: #fff; }
.btn-red:hover { background: var(--red-d); transform: translateY(-2px); box-shadow: 0 10px 28px -8px rgba(213,32,42,.45); }
.btn-navy  { background: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--navy-l); transform: translateY(-2px); }
.btn-outline { border-color: var(--line); color: var(--navy); background: #fff; }
.btn-outline:hover { border-color: var(--navy); background: var(--off); }
.btn-outline-d { border-color: var(--line-d); color: #fff; background: transparent; }
.btn-outline-d:hover { border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.07); }
.btn-sm { font-size: 13.5px; padding: 11px 20px; }

/* ── Navegação ── */
.topbar {
  background: var(--navy-d); color: var(--muted);
  font-size: 13px; border-bottom: 1px solid var(--line-d);
}
.topbar .wrap {
  display: flex; justify-content: space-between; align-items: center;
  height: 38px; gap: 20px;
}
.topbar a:hover { color: #fff; }
.topbar .right  { display: flex; gap: 24px; align-items: center; }
@media(max-width:700px){ .topbar .left { display:none; } }

header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255,255,255,.93); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
nav { display: flex; align-items: center; justify-content: space-between; height: var(--nav-h); }
.logo img { height: 44px; width: auto; }
.nav-links {
  display: flex; gap: 6px; list-style: none; align-items: center;
}
.nav-links > li > a {
  padding: 8px 14px; border-radius: 8px; font-weight: 600; font-size: 15px;
  color: var(--navy); transition: .18s; display: flex; align-items: center; gap: 5px;
}
.nav-links > li > a:hover { background: var(--off); }
.nav-links > li > a.active { color: var(--red); }

/* Dropdown */
.has-drop { position: relative; }
.has-drop > a .arr { transition: .2s; }
.has-drop:hover > a .arr { transform: rotate(180deg); }
.drop {
  position: absolute; top: calc(100% + 6px); left: 0;
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 24px 60px -20px rgba(10,32,80,.25);
  min-width: 220px; padding: 8px; opacity: 0; pointer-events: none;
  transform: translateY(8px); transition: .22s;
  list-style: none; z-index: 70;
}
.has-drop:hover .drop { opacity: 1; pointer-events: auto; transform: none; }
.drop li a {
  display: block; padding: 10px 14px; border-radius: 8px; font-size: 14.5px;
  font-weight: 500; color: var(--ink); transition: .15s;
}
.drop li a:hover { background: var(--off); color: var(--navy); }

.nav-cta  { display: flex; gap: 10px; align-items: center; }
.burger   { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 8px; }
.burger span { width: 25px; height: 2px; background: var(--navy); transition: .3s; display: block; }
@media(max-width:1020px){ .nav-links, .nav-cta .btn-outline { display: none; } .burger { display: flex; } }

/* Mobile menu */
.mobile-menu {
  position: fixed; inset: 0 0 0 auto; width: min(80vw,320px);
  background: #fff; border-left: 1px solid var(--line);
  transform: translateX(100%); transition: .32s; z-index: 72;
  padding: 86px 24px 32px; display: flex; flex-direction: column; gap: 4px;
  box-shadow: -20px 0 60px -20px rgba(6,21,58,.3);
}
.mobile-menu.open { transform: translateX(0); }
.mobile-menu a {
  padding: 13px 16px; border-radius: 9px; font-size: 17px; font-weight: 700;
  color: var(--navy); display: block; transition: .15s;
}
.mobile-menu a:hover { background: var(--off); }
.mobile-menu .divider { height: 1px; background: var(--line); margin: 8px 0; }
.mobile-menu .btn { margin-top: 12px; justify-content: center; width: 100%; }
.scrim {
  position: fixed; inset: 0; background: rgba(6,21,58,.45);
  opacity: 0; pointer-events: none; transition: .3s; z-index: 66;
}
.scrim.open { opacity: 1; pointer-events: auto; }

/* ── Hero principal ── */
.hero {
  background: var(--navy-d); color: #fff;
  position: relative; overflow: hidden;
  /* impede que hero-img vaze além da viewport */
  max-width: 100vw;
}
.hero-grid {
  display: grid; grid-template-columns: 1fr 1.2fr;
  min-height: min(580px, 78vh);
  max-width: 100%; /* sem overflow horizontal */
  overflow: hidden;
}
.hero-copy {
  position: relative; z-index: 3;
  padding: 72px max(24px, calc((100vw - var(--maxw))/2 + 24px));
  padding-right: 48px;
  display: flex; flex-direction: column; justify-content: center;
  background: linear-gradient(105deg, var(--navy-d) 60%, rgba(6,21,58,.2));
}
.hero-copy .label { color: var(--gold); letter-spacing: .22em; }
.hero-copy h1 {
  font-size: clamp(36px, 5.5vw, 66px); font-weight: 900;
  color: #fff; text-transform: uppercase;
  margin: 16px 0 20px; line-height: 1.0;
}
.hero-copy h1 em { color: var(--red); font-style: normal; }
.hero-copy p { color: #a8bedc; font-size: 17px; max-width: 460px; margin-bottom: 32px; }
.hero-copy .btns { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-img { position: relative; overflow: hidden; }
.hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-img::after {
  content: ''; position: absolute; inset: 0;
  /* cobre toda a borda direita — impede texto da seção seguinte de vazar */
  background: linear-gradient(90deg,
    var(--navy-d) 0%,
    rgba(6,21,58,.55) 30%,
    rgba(6,21,58,.1) 70%,
    var(--navy-d) 100%
  );
}
.hero-strip {
  background: var(--navy); border-top: 1px solid var(--line-d);
  padding: 0;
}
.hero-strip .wrap {
  display: flex; align-items: center; gap: 32px;
  padding-top: 18px; padding-bottom: 18px;
  flex-wrap: wrap;
}
.hero-strip .hs-label { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: .18em; color: var(--muted); text-transform: uppercase; white-space: nowrap; }
.hero-strip .norms { display: flex; gap: 22px; flex-wrap: wrap; }
.hero-strip .norms b { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 14px; color: #fff; opacity: .88; }
.hero-strip .norms b span { color: #ff7a72; }

/* ── Hero interno (páginas filhas) ── */
.page-hero {
  background: linear-gradient(105deg, var(--navy-d), var(--navy));
  padding: 56px 0 52px; color: #fff;
  border-bottom: 1px solid var(--line-d);
}
.page-hero .label { color: var(--gold); }
.page-hero h1 { font-size: clamp(28px, 4vw, 46px); font-weight: 900; color: #fff; margin-top: 10px; text-transform: uppercase; }
.page-hero p  { color: #a8bedc; margin-top: 12px; font-size: 16px; max-width: 580px; }
.breadcrumb { display: flex; gap: 8px; align-items: center; font-family: 'Space Mono', monospace; font-size: 12px; color: var(--muted); margin-bottom: 14px; flex-wrap: wrap; }
.breadcrumb a { color: var(--muted); }
.breadcrumb a:hover { color: #fff; }
.breadcrumb span { opacity: .5; }

/* ── Cards de produto ── */
.prod-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  overflow: hidden; display: flex; flex-direction: column;
  transition: .25s; text-decoration: none;
}
.prod-card:hover {
  border-color: var(--navy); transform: translateY(-5px);
  box-shadow: 0 24px 52px -24px rgba(10,32,80,.4);
}
.prod-card__img {
  aspect-ratio: 16/10; overflow: hidden; position: relative;
  background: var(--off2);
}
.prod-card__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease;
}
.prod-card:hover .prod-card__img img { transform: scale(1.04); }
.prod-card__tag {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  font-family: 'Space Mono', monospace; font-size: 10.5px;
  letter-spacing: .14em; text-transform: uppercase;
  background: var(--red); color: #fff;
  padding: 5px 10px; border-radius: 20px;
}
.prod-card__tag.navy { background: var(--navy); }
.prod-card__tag.gold { background: var(--gold); }
.prod-card__body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.prod-card__body h3 { font-size: 19px; font-weight: 800; margin-bottom: 6px; }
.prod-card__body p { font-size: 14px; color: var(--mid); flex: 1; margin-bottom: 16px; }
.prod-card__specs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.prod-card__specs span {
  font-family: 'Space Mono', monospace; font-size: 11px;
  color: var(--navy); background: var(--off); border: 1px solid var(--line);
  padding: 4px 9px; border-radius: 6px;
}
.prod-card__link {
  font-weight: 700; font-size: 14px; color: var(--red);
  display: inline-flex; gap: 5px; align-items: center; transition: gap .18s;
}
.prod-card:hover .prod-card__link { gap: 9px; }

/* ── Grid genérico ── */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media(max-width:960px) { .grid-3 { grid-template-columns: 1fr 1fr; } .grid-4 { grid-template-columns: 1fr 1fr; } }
@media(max-width:700px)  { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } }

/* ── Split layout ── */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.split.rev > :first-child { order: 2; }
.split.rev > :last-child  { order: 1; }
@media(max-width:860px) { .split, .split.rev > :first-child, .split.rev > :last-child { grid-template-columns: 1fr; order: unset; } .split { gap: 40px; } }

/* ── Imagem com moldura navy ── */
.img-frame { position: relative; }
.img-frame::before {
  content: ''; position: absolute; top: -18px; left: -18px;
  width: 120px; height: 120px; background: var(--navy); border-radius: 4px; z-index: 0;
}
.img-frame img { position: relative; z-index: 1; border-radius: 8px; width: 100%; box-shadow: 0 28px 56px -28px rgba(10,32,80,.5); }

/* ── Feature list (Por que) ── */
.feat-list { list-style: none; display: flex; flex-direction: column; gap: 26px; }
.feat-list li { display: flex; gap: 18px; align-items: flex-start; }
.feat-ic {
  flex: 0 0 52px; height: 52px; border-radius: 12px;
  background: var(--red); color: #fff; display: grid; place-items: center;
}
.feat-list h4 { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 18px; margin-bottom: 4px; }
.feat-list p  { color: var(--mid); font-size: 14.5px; }

/* ── Stats ── */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
@media(max-width:700px) { .stats { grid-template-columns: 1fr 1fr; gap: 32px; } }
.stat__n {
  font-family: 'Archivo', sans-serif; font-weight: 900;
  font-size: clamp(40px, 6vw, 60px); color: #fff; line-height: 1;
}
.stat__n .plus { color: #ff7a72; }
.stat__l {
  font-family: 'Space Mono', monospace; font-size: 12px;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--muted); margin-top: 8px;
}

/* ── Comparativo ── */
.compare { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: #fff; }
.compare .row { display: grid; grid-template-columns: 1.5fr 1fr 1fr; }
.compare .row > div { padding: 14px 18px; border-bottom: 1px solid var(--line); font-size: 14px; }
.compare .row:last-child > div { border-bottom: 0; }
.compare .head > div { background: var(--navy); color: #fff; font-family: 'Archivo'; font-weight: 800; font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; }
.compare .head .ok { background: var(--red); }
.compare .yes { color: #0a7a50; font-weight: 700; }
.compare .no  { color: var(--muted); }

/* ── Norma NBR ── */
.cat-box { border: 1.5px solid var(--line); border-radius: var(--r); padding: 20px 24px; background: #fff; }
.cat-box .row { padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 14px; color: var(--mid); }
.cat-box .row:last-child { border-bottom: 0; }
.cat-box .row b { color: var(--navy); }
.mat-box { background: var(--navy); color: var(--muted); border-radius: var(--r); padding: 20px 24px; font-size: 14px; margin-top: 16px; }
.mat-box b { color: #fff; }
.mat-box h4 { font-family: 'Space Mono'; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #fff; margin-bottom: 8px; }

/* ── FAQ ── */
.faq { max-width: 820px; margin: 0 auto; }
.q { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 10px; overflow: hidden; background: #fff; }
.q button {
  width: 100%; text-align: left; padding: 19px 22px; background: none; border: 0;
  color: var(--navy); font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16.5px;
  cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.q .a { max-height: 0; overflow: hidden; transition: max-height .35s; color: var(--mid); }
.q .a p { padding: 0 22px 20px; font-size: 15px; }
.q.open .a { max-height: 280px; }
.q .chev { transition: .3s; color: var(--red); flex: 0 0 auto; }
.q.open .chev { transform: rotate(180deg); }

/* ── Formulário ── */
.form-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 36px; box-shadow: 0 24px 56px -32px rgba(10,32,80,.28); }
.field { margin-bottom: 16px; }
.field label { display: block; font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: .04em; font-weight: 700; color: var(--navy); margin-bottom: 7px; text-transform: uppercase; }
.field input, .field select, .field textarea {
  width: 100%; padding: 13px 15px; border-radius: 9px;
  border: 1.5px solid var(--line); background: var(--off);
  color: var(--ink); font-family: 'Sora', sans-serif; font-size: 15px; transition: .18s;
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: 0; border-color: var(--navy); background: #fff;
  box-shadow: 0 0 0 3px rgba(10,32,80,.1);
}
.field.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media(max-width:520px) { .field.row2 { grid-template-columns: 1fr; } }
.consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--mid); margin: 8px 0 14px; }
.consent input { margin-top: 3px; accent-color: var(--red); }
.form-card .btn { width: 100%; justify-content: center; }
.form-success { display: none; padding: 16px; border-radius: 10px; background: #e5f7ed; color: #0b6637; font-size: 14.5px; text-align: center; margin-top: 12px; font-weight: 600; }
.form-success.show { display: block; }
.input--hidden { position: absolute; left: -9999px; }

/* ── CTA Banner ── */
.cta-banner {
  background: linear-gradient(110deg, var(--navy-l), var(--navy-d));
  border-radius: 16px; padding: 52px 48px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 28px; flex-wrap: wrap; position: relative; overflow: hidden;
}
.cta-banner::before {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size: 46px 46px;
}
.cta-banner > * { position: relative; z-index: 1; }
.cta-banner h2 { color: #fff; font-size: clamp(24px,3.5vw,36px); max-width: 560px; }
.cta-banner p  { color: #a8bedc; margin-top: 8px; max-width: 520px; }

/* ── Timeline ── */
.timeline { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: #fff; }
.timeline .t { padding: 28px 24px; border-right: 1px solid var(--line); }
.timeline .t:last-child { border-right: 0; }
.timeline .yr { font-family: 'Space Mono', monospace; color: var(--red); font-weight: 700; font-size: 13px; margin-bottom: 10px; }
.timeline .t h4 { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 16px; margin-bottom: 5px; }
.timeline .t p  { color: var(--mid); font-size: 13.5px; }
@media(max-width:860px) { .timeline { grid-template-columns: 1fr 1fr; } .timeline .t { border-bottom: 1px solid var(--line); } .timeline .t:nth-child(2n) { border-right: 0; } }
@media(max-width:500px)  { .timeline { grid-template-columns: 1fr; } .timeline .t { border-right: 0; } }

/* ── Language selector ── */
.lang-sel { position: relative; }
.lang-btn { background:none; border:1px solid var(--line); border-radius:8px; padding:7px 11px; font-family:'Sora',sans-serif; font-size:13px; font-weight:600; color:var(--navy); cursor:pointer; display:flex; align-items:center; gap:5px; }
.lang-btn:hover { border-color:var(--navy); }
.lang-drop { position:absolute; top:calc(100% + 8px); right:0; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 32px rgba(10,32,80,.14); list-style:none; min-width:160px; padding:6px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:.18s; z-index:60; }
.lang-sel.open .lang-drop { opacity:1; visibility:visible; transform:translateY(0); }
.lang-drop li { padding:9px 12px; border-radius:7px; font-size:14px; cursor:pointer; }
.lang-drop li:hover { background:var(--off); }
.lang-drop li.active { background:var(--off2); font-weight:600; }
.mlang { display:flex; gap:8px; margin:8px 0; }
.mlang button { flex:1; padding:8px; border:1px solid var(--line); border-radius:8px; background:none; font-family:'Sora',sans-serif; font-weight:600; cursor:pointer; }
.mlang button.active { background:var(--navy); color:#fff; border-color:var(--navy); }

/* ── Catálogo gate ── */
.cat-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
@media (max-width:860px){ .cat-grid { grid-template-columns:1fr; } }
.cat-form { background:#fff; border:1px solid var(--line); border-radius:16px; padding:34px; box-shadow:0 18px 44px rgba(10,32,80,.08); }
.cat-form label { display:block; font-size:13px; font-weight:600; color:var(--navy); margin:14px 0 6px; }
.cat-form input, .cat-form select { width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:9px; font-family:'Sora',sans-serif; font-size:14.5px; color:var(--ink); background:var(--off); }
.cat-form input:focus { outline:2px solid var(--navy-l); background:#fff; }
.cat-form .btn { width:100%; margin-top:22px; justify-content:center; }
.cat-ok { display:none; text-align:center; padding:26px 10px; }
.cat-ok.show { display:block; }
.cat-ok .ic { font-size:44px; }
.cat-note { font-size:12px; color:var(--muted); margin-top:12px; text-align:center; }

/* ── Mapa ── */
.map-wrap { border-radius:16px; overflow:hidden; border:1px solid var(--line); box-shadow:0 18px 44px rgba(10,32,80,.10); }
.map-wrap iframe { display:block; width:100%; height:420px; border:0; }
.map-info { display:flex; flex-wrap:wrap; gap:26px; margin-top:26px; }
.map-info > div { flex:1; min-width:220px; background:var(--off); border-radius:12px; padding:20px 22px; }
.map-info h4 { font-size:15px; margin-bottom:6px; }
.map-info p, .map-info a { font-size:14px; color:var(--mid); }

/* ── Footer ── */
footer { background: var(--navy-d); color: var(--muted); padding: 64px 0 28px; }
.foot-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.1fr; gap: 40px; }
@media(max-width:860px) { .foot-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:500px)  { .foot-grid { grid-template-columns: 1fr; } }
footer h5 { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
footer ul { list-style: none; display: flex; flex-direction: column; gap: 11px; }
footer a  { color: var(--muted); font-size: 14px; transition: .15s; }
footer a:hover { color: #fff; }
.foot-logo { background: #fff; border-radius: 10px; padding: 12px 16px; display: inline-block; margin-bottom: 18px; }
.foot-logo img { height: 38px; }
.foot-about p { color: var(--muted); font-size: 14px; margin-bottom: 20px; max-width: 290px; line-height: 1.7; }
.foot-bottom {
  border-top: 1px solid var(--line-d); margin-top: 48px; padding-top: 22px;
  display: flex; justify-content: space-between; gap: 14px;
  flex-wrap: wrap; font-size: 13px;
}
.foot-bottom a { color: var(--muted); }
.foot-bottom a:hover { color: #fff; }



/* ── Cookie banner (LGPD) ── */
.cookie-bar {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90;
  background: var(--navy-d); border: 1px solid var(--line-d); border-radius: 14px;
  padding: 18px 24px; display: flex; align-items: center; gap: 20px;
  justify-content: space-between; flex-wrap: wrap;
  box-shadow: 0 20px 50px -16px rgba(0,0,0,.6);
}
.cookie-txt { color: #c5d8ef; font-size: 14px; max-width: 760px; }
.cookie-txt a { color: #ff8a85; }
.cookie-act { display: flex; gap: 10px; }
.cookie-bar button {
  font-family: 'Sora', sans-serif; font-weight: 700; font-size: 14px;
  padding: 10px 20px; border-radius: 8px; cursor: pointer; border: 1.5px solid transparent;
}
.ck-rej { background: transparent; color: #c5d8ef; border-color: var(--line-d); }
.ck-acc { background: var(--red); color: #fff; border-color: var(--red); }

/* ── Páginas legais ── */
.legal { max-width: 860px; margin: 0 auto; padding: 64px 0; }
.legal h1 { font-size: clamp(28px, 5vw, 42px); margin-bottom: 6px; }
.legal .upd { font-family: 'Space Mono', monospace; font-size: 12px; color: var(--mid); margin-bottom: 32px; display: block; }
.legal h2 { font-size: 22px; margin: 36px 0 12px; }
.legal p, .legal li { color: #3a4a60; font-size: 15.5px; margin-bottom: 10px; line-height: 1.7; }
.legal ul { padding-left: 22px; }

/* ── Status pages (404, obrigado) ── */
.status-page { min-height: 62vh; display: grid; place-items: center; text-align: center; padding: 80px 24px; }
.status-page h1 { font-size: clamp(44px, 9vw, 80px); color: var(--red); }
.status-page p  { font-size: 18px; color: var(--mid); margin: 14px 0 28px; max-width: 480px; }

/* ── Chip ── */
.chip {
  font-family: 'Space Mono', monospace; font-size: 12px;
  color: var(--navy); background: var(--off); border: 1px solid var(--line);
  padding: 6px 13px; border-radius: 22px; display: inline-flex; align-items: center; gap: 6px;
}
.chips { display: flex; flex-wrap: wrap; gap: 10px; }

/* ── Mini nav (páginas internas) ── */
.mini-nav { height: 72px; display: flex; align-items: center; justify-content: space-between; }
.mini-nav img { height: 40px; }

/* ── Reveal animation ── */
.rev { opacity: 0; transform: translateY(26px); transition: .65s cubic-bezier(.16,1,.3,1); }
.rev.in { opacity: 1; transform: none; }
.d1 { transition-delay: .08s; }
.d2 { transition-delay: .16s; }
.d3 { transition-delay: .24s; }
.d4 { transition-delay: .32s; }

/* ═══════════ SPA pages ═══════════ */
.page { display:none; }
.page.active { display:block; animation:pagein .35s ease; }
@keyframes pagein { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
.page-hero { background:linear-gradient(160deg,var(--navy) 0%,var(--navy-d) 100%); color:#fff; padding:clamp(70px,9vw,120px) 0 clamp(50px,6vw,80px); }
.page-hero .wrap { max-width:var(--maxw); }
.page-hero h1 { color:#fff; font-size:clamp(30px,5vw,52px); font-weight:800; margin:12px 0 16px; }
.page-hero p { color:#c3cfe6; font-size:clamp(16px,2vw,19px); max-width:640px; }
.page-hero .sec-label { color:#8fa4cf; }

/* Product grid */
.pfilter { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.pf-btn { padding:9px 18px; border:1px solid var(--line); border-radius:999px; background:#fff; font-family:'Sora',sans-serif; font-size:14px; font-weight:600; color:var(--mid); cursor:pointer; transition:.16s; }
.pf-btn:hover { border-color:var(--navy-l); color:var(--navy); }
.pf-btn.active { background:var(--navy); color:#fff; border-color:var(--navy); }
.pgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:22px; }
.pgrid-card { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; transition:.2s; display:flex; flex-direction:column; }
.pgrid-card:hover { box-shadow:0 14px 34px rgba(10,32,80,.10); transform:translateY(-3px); border-color:var(--line-d); }
.pgrid-img { aspect-ratio:3/2; background:#dfe4f0; overflow:hidden; }
.pgrid-img img { width:100%; height:100%; object-fit:cover; }
.pgrid-body { padding:16px 18px 20px; }
.pgrid-fam { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--red); font-weight:700; }
.pgrid-body h3 { font-size:16px; margin:7px 0 6px; color:var(--navy); line-height:1.2; }
.pgrid-body p { font-size:13.5px; color:var(--mid); line-height:1.5; }

/* feature cards / mission / app table */
.feat-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:560px){ .feat-cards{grid-template-columns:1fr} }
.fc { background:var(--off); border:1px solid var(--line); border-radius:12px; padding:22px; }
.fc h4 { font-size:16px; color:var(--navy); margin-bottom:6px; }
.fc p { font-size:14px; color:var(--mid); }
.sec--navy .fc { background:var(--navy-l); border-color:var(--line-d); }
.sec--navy .fc h4 { color:#fff; } .sec--navy .fc p { color:#c3cfe6; }
.app-table { display:grid; gap:10px; max-width:820px; margin:0 auto; }
.approw { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; background:#fff; border:1px solid var(--line); border-radius:10px; padding:16px 20px; }
.approw b { color:var(--navy); font-size:15px; } .approw span { color:var(--mid); font-size:14px; }
.mission { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:960px; margin:0 auto; }
@media(max-width:640px){ .mission{grid-template-columns:1fr} }
.mi { background:var(--navy-l); border:1px solid var(--line-d); border-radius:12px; padding:20px 22px; color:#e6ecf7; font-size:15px; line-height:1.55; }

/* norma tables */
.norm-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:44px; }
.nc { border:1px solid var(--line); border-left:4px solid var(--red); border-radius:10px; padding:18px 20px; }
.nc b { display:block; color:var(--navy); font-size:16px; margin-bottom:5px; } .nc span { color:var(--mid); font-size:13.5px; }
.dimgrid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
@media(max-width:760px){ .dimgrid{grid-template-columns:1fr} }
.dimtable h3 { font-size:16px; color:var(--navy); margin-bottom:12px; }
.dimtable table { width:100%; border-collapse:collapse; font-size:13px; }
.dimtable th { background:var(--navy); color:#fff; padding:8px 6px; font-family:'Space Mono',monospace; font-size:11px; font-weight:400; }
.dimtable td { padding:7px 6px; text-align:center; border-bottom:1px solid var(--line); color:var(--ink); }
.dimtable tbody tr:nth-child(even){ background:var(--off); }

/* policy */
.policy h3 { font-size:18px; color:var(--navy); margin:22px 0 8px; }
.policy p { color:var(--mid); font-size:15.5px; line-height:1.65; }

/* ═══════════ Mobile UX ═══════════ */
html { scroll-padding-top: 84px; }
.mm-sub { padding:9px 16px 9px 30px !important; font-size:14.5px !important; font-weight:500 !important; color:var(--mid) !important; }
.mm-sub:hover { color:var(--navy) !important; }
.mm-close { position:absolute; top:20px; right:20px; width:42px; height:42px; border:1px solid var(--line); background:#fff; border-radius:10px; font-size:18px; color:var(--navy); cursor:pointer; line-height:1; display:flex; align-items:center; justify-content:center; }
.mm-close:hover { background:var(--off); }

/* grid de produtos: 2 colunas em telas médias, 1 em pequenas */
@media(max-width:600px){
  .pgrid { grid-template-columns:1fr; }
  .pgrid-body h3 { font-size:15.5px; }
}
/* filtros roláveis horizontalmente no mobile */
@media(max-width:640px){
  .pfilter { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:6px; margin-bottom:26px; scrollbar-width:none; }
  .pfilter::-webkit-scrollbar { display:none; }
  .pf-btn { flex:0 0 auto; }
}
/* tabelas dimensionais roláveis */
.dimtable { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.dimtable table { min-width:340px; }

/* header: menos poluído no mobile */
@media(max-width:1020px){ .lang-sel { display:none; } }
@media(max-width:600px){
  .nav-cta .btn-red { display:none; }
  .logo img { height:38px; }
  .wrap { padding:0 18px; }
}
@media(max-width:440px){ .topbar .right a[href^="mailto"] { display:none; } }

/* espaçamentos e tipografia mais compactos no mobile */
@media(max-width:600px){
  .sec { padding:56px 0; }
  .page-hero { padding:64px 0 44px; }
  .sec-head { margin-bottom:34px; }
  .cta-banner { padding:26px 22px; }
  .map-wrap iframe { height:300px; }
  .approw { flex-direction:column; gap:4px; }
  .approw span { font-size:13.5px; }
}
/* alvos de toque confortáveis */
@media(hover:none){
  .drop { display:none; } /* dropdown hover não faz sentido no touch; menu mobile cobre */
}


/* Localizador */
.finder { max-width:820px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:16px; padding:30px; box-shadow:0 18px 44px rgba(10,32,80,.08); }
.finder-controls { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:560px){ .finder-controls{grid-template-columns:1fr} }
.fctl label { display:block; font-size:13px; font-weight:600; color:var(--navy); margin-bottom:7px; }
.fctl select { width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:10px; font-family:'Sora',sans-serif; font-size:15px; background:var(--off); color:var(--ink); }
.fctl select:focus { outline:2px solid var(--navy-l); background:#fff; }
.finder-result { margin-top:24px; }
.fr-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
@media(max-width:560px){ .fr-grid{grid-template-columns:1fr 1fr} }
.fr-cell { background:var(--navy); color:#fff; border-radius:12px; padding:18px 10px; text-align:center; }
.fr-cell .k { font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.12em; color:#a9b8dd; }
.fr-cell .v { font-size:26px; font-weight:800; margin-top:4px; }
.fr-cell .u { font-size:12px; color:#c3cfe6; }
.fr-meta { text-align:center; margin-top:16px; color:var(--mid); font-size:14px; }
.fr-meta b { color:var(--navy); }


/* FAQ */
.faq-list { display:flex; flex-direction:column; gap:12px; }
.faq-item { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.faq-item summary { list-style:none; cursor:pointer; padding:20px 24px; font-family:'Sora',sans-serif; font-weight:600; font-size:16.5px; color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font-size:24px; color:var(--red); font-weight:400; transition:.2s; flex:0 0 auto; }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-a { padding:0 24px 22px; color:var(--mid); font-size:15.5px; line-height:1.65; }


/* Central técnica / ferramentas */
.tc-note { color:var(--muted); font-size:13.5px; margin-top:14px; }
.cd-controls { grid-template-columns:repeat(3,1fr); }
@media(max-width:760px){ .cd-controls{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .cd-controls{grid-template-columns:1fr} }
.cd-result { margin-top:26px; text-align:center; }
.cd-code { font-family:'Space Mono',monospace; font-size:clamp(22px,5vw,34px); font-weight:700; color:#fff; background:var(--navy); border-radius:12px; padding:20px; letter-spacing:.02em; }
.cd-break { margin-top:16px; display:grid; grid-template-columns:1fr 1fr; gap:10px; text-align:left; }
@media(max-width:560px){ .cd-break{grid-template-columns:1fr} }
.cd-tok { background:var(--off); border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-size:14px; }
.cd-tok b { color:var(--red); font-family:'Space Mono',monospace; }
.cd-tok span { color:var(--mid); }
.sl-result { margin-top:26px; }
.sl-card { background:var(--navy); color:#fff; border-radius:14px; padding:26px; }
.sl-card h3 { color:#fff; font-size:20px; margin-bottom:14px; }
.sl-row { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.14); font-size:15px; }
.sl-row span:first-child { color:#a9b8dd; } .sl-row span:last-child { font-weight:600; text-align:right; }
.sl-card .btn { margin-top:18px; }
.gloss-search { width:100%; padding:14px 16px; border:1px solid var(--line); border-radius:12px; font-family:'Sora',sans-serif; font-size:15px; margin-bottom:22px; background:var(--off); }
.gloss-search:focus { outline:2px solid var(--navy-l); background:#fff; }
.gloss-list { display:grid; gap:14px; }
.gloss-item { background:#fff; border:1px solid var(--line); border-left:4px solid var(--navy-l); border-radius:10px; padding:18px 22px; }
.gloss-item h3 { font-size:17px; color:var(--navy); margin-bottom:6px; }
.gloss-item p { font-size:15px; color:var(--mid); line-height:1.6; }


/* botões outline em seções claras: borda mais definida */
.sec--off .btn-outline, .sec .btn-outline { border-color: #c3cfe6; }
.sec--off .btn-outline:hover, .sec .btn-outline:hover { border-color: var(--navy); background: #fff; }


/* menu: sempre em uma linha */
.nav-links { flex-wrap: nowrap; gap: 2px; }
.nav-links > li { flex: 0 0 auto; }
.nav-links > li > a { white-space: nowrap; padding: 8px 11px; font-size: 14.5px; }
.drop li a { white-space: nowrap; }
.logo img { flex: 0 0 auto; }
nav > * { min-width: 0; }
@media (max-width:1240px){ .nav-links > li > a { padding: 8px 8px; font-size: 13.8px; } .nav-links { gap: 0; } }
@media (max-width:1100px){ .nav-cta .btn-outline { display: none; } }


.brevo-wrap { width:100%; }
.brevo-wrap iframe { width:100%; min-height:760px; height:760px; border:0; display:block; }
@media (max-width:900px){ .brevo-wrap iframe { min-height:800px; height:800px; } }
@media (max-width:560px){ .brevo-wrap iframe { min-height:860px; height:860px; } }

/* downloads */
.dl-grid { display:grid; gap:16px; }
.dl-card { display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 24px; transition:.2s; }
.dl-card:hover { border-color:var(--navy-l); box-shadow:0 14px 34px rgba(10,32,80,.10); transform:translateY(-2px); }
.dl-ic { font-size:34px; flex:0 0 auto; }
.dl-card h3 { font-size:17px; color:var(--navy); }
.dl-card p { font-size:14px; color:var(--mid); margin-top:3px; }
.dl-go { margin-left:auto; color:var(--red); font-weight:700; font-size:14.5px; white-space:nowrap; }
@media(max-width:520px){ .dl-card{flex-wrap:wrap;gap:12px} .dl-go{margin-left:0} }

/* ═══════ Header: nunca sobrepor nem quebrar ═══════ */
nav { gap: 14px; flex-wrap: nowrap; }
nav > .logo { flex: 0 0 auto; }
nav > .nav-links { flex: 0 1 auto; min-width: 0; }
nav > .nav-cta { flex: 0 0 auto; }          /* nunca comprime o bloco de botões */
.btn, .lang-btn { white-space: nowrap; }     /* "Fale conosco" nunca quebra em 2 linhas */
.nav-cta { flex-wrap: nowrap; }

/* folga progressiva: o botão "Cotação" é redundante com "Fale conosco" */
@media (max-width: 1300px) { .nav-cta .btn-outline { display: none; } }
@media (max-width: 1160px) {
  .nav-links > li > a { padding: 8px 8px; font-size: 13.8px; }
  .logo img { height: 38px; }
  nav { gap: 10px; }
}


/* header: sem sobreposição — nav nunca encolhe e vira hambúrguer antes de apertar */
.nav-links { flex: 0 0 auto !important; }
.nav-cta { flex: 0 0 auto; }
.btn, .lang-btn { white-space: nowrap; }
nav { gap: 16px; }
@media (max-width: 1200px){
  .nav-links, .nav-cta .btn-outline { display: none !important; }
  .burger { display: flex !important; }
}
@media (max-width: 460px){ .nav-cta .lang-btn { padding: 7px 8px; } }


/* ══════════ HEADER — layout definitivo ══════════
   Container é max-width:1200px → largura útil ~1152px em qualquer tela.
   Conteúdo medido: logo 174 + menu 646 + idioma 67 + "Fale conosco" 134
   + gaps 52 ≈ 1063px  → cabe com folga. Nada de sobreposição. */
nav { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:nowrap; }
nav > .logo    { flex:0 0 auto; }
nav > .nav-links { flex:0 1 auto; }
nav > .nav-cta { flex:0 0 auto; }
.nav-links { flex-wrap:nowrap; gap:2px; }
.nav-links > li { flex:0 0 auto; }
.nav-links > li > a { white-space:nowrap; padding:8px 11px; font-size:14.5px; }
.nav-cta { display:flex; align-items:center; gap:10px; flex-wrap:nowrap; }
.btn, .lang-btn, .drop li a { white-space:nowrap !important; }
.nav-cta .btn { width:auto !important; margin-top:0 !important; }
.lang-sel { flex:0 0 auto; }

/* aperta um pouco antes de virar hambúrguer */
@media (max-width:1280px){ .nav-links > li > a { padding:8px 9px; font-size:14px; } nav { gap:12px; } }

/* ≤1200px: vira hambúrguer (mesmo breakpoint já usado no restante do CSS) */
@media (max-width:1200px){
  .nav-links { display:none !important; }
  .burger { display:flex !important; }
}
/* ≤1020px: idioma sai do header e fica dentro do menu lateral (.mlang) */
@media (max-width:1020px){ .lang-sel { display:none !important; } }
@media (max-width:600px){ .nav-cta .btn-red { display:none !important; } }


/* colunas do catálogo/contato alinhadas ao topo (o formulário é alto) */
.cat-grid { align-items:start !important; }
@media (max-width:900px){ .cat-grid { gap:32px; } }


/* ══════════ 1) DROPDOWN: não sumir ao atravessar o vão ══════════
   .drop fica em top:calc(100% + 6px). Esses 6px não pertencem nem ao link
   nem ao submenu → o :hover se perdia no meio do caminho.
   A ponte invisível (::after) cobre o vão e mantém o hover. */
.has-drop::after {
  content:''; position:absolute; top:100%; left:0; right:0;
  height:12px; pointer-events:none;
}
.has-drop:hover::after { pointer-events:auto; }
/* carência de 120ms ao sair: evita sumiço instantâneo em movimentos diagonais */
.drop { transition: opacity .2s ease .12s, transform .2s ease .12s !important; }
.has-drop:hover .drop { transition-delay: 0s !important; }

/* ══════════ 2) FORMULÁRIO: área maior, sem rolagem interna ══════════
   A coluna do formulário fica mais larga (menos quebra de campo = menos altura)
   e a altura é generosa. Se o Brevo informar a medida exata, o JS ajusta. */
.cat-grid { grid-template-columns: 0.85fr 1.15fr !important; align-items:start !important; }
@media (max-width:860px){ .cat-grid { grid-template-columns:1fr !important; } }

.brevo-wrap { width:100%; }
.brevo-wrap iframe {
  width:100%; max-width:100%; border:0; display:block;
  height:980px; min-height:980px;
}
@media (max-width:900px){ .brevo-wrap iframe { height:1060px; min-height:1060px; } }
@media (max-width:560px){ .brevo-wrap iframe { height:1160px; min-height:1160px; } }

.founder-block { display:flex; flex-direction:column; gap:18px; }
.founder-quote { font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(22px,3vw,30px); line-height:1.2; color:var(--navy); }

.foot-wa { display:inline-flex; align-items:center; gap:6px; }
.foot-wa::before { content:""; width:15px; height:15px; flex:0 0 auto;
  background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2m0 18.15c-1.53 0-3.03-.41-4.34-1.19l-.31-.18-3.12.82.83-3.04-.2-.32a8.2 8.2 0 0 1-1.26-4.35c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.25-8.24 8.25m4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.13-.16.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.13-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.43-.14-.01-.31-.01-.48-.01-.17 0-.43.06-.66.31-.22.25-.86.85-.86 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.25 3.74.59.26 1.06.41 1.42.52.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.11-.22-.17-.47-.29Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2m0 18.15c-1.53 0-3.03-.41-4.34-1.19l-.31-.18-3.12.82.83-3.04-.2-.32a8.2 8.2 0 0 1-1.26-4.35c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.25-8.24 8.25m4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.13-.16.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.13-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.43-.14-.01-.31-.01-.48-.01-.17 0-.43.06-.66.31-.22.25-.86.85-.86 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.25 3.74.59.26 1.06.41 1.42.52.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.11-.22-.17-.47-.29Z'/%3E%3C/svg%3E") center/contain no-repeat; }

.btn-wa { display:inline-flex; align-items:center; gap:8px; background:#25D366; color:#fff !important;
  padding:11px 20px; border-radius:10px; font-weight:700; font-size:14.5px; line-height:1.2; text-decoration:none; transition:.2s;
  align-self:flex-start; width:fit-content; max-width:max-content; }
.btn-wa:hover { background:#1da851; transform:translateY(-1px); }
.btn-wa::before { content:""; width:18px; height:18px; flex:0 0 auto; background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2m0 18.15c-1.53 0-3.03-.41-4.34-1.19l-.31-.18-3.12.82.83-3.04-.2-.32a8.2 8.2 0 0 1-1.26-4.35c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.25-8.24 8.25m4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.13-.16.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.13-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.43-.14-.01-.31-.01-.48-.01-.17 0-.43.06-.66.31-.22.25-.86.85-.86 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.25 3.74.59.26 1.06.41 1.42.52.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.11-.22-.17-.47-.29Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2m0 18.15c-1.53 0-3.03-.41-4.34-1.19l-.31-.18-3.12.82.83-3.04-.2-.32a8.2 8.2 0 0 1-1.26-4.35c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.25-8.24 8.25m4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.13-.16.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.13-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.43-.14-.01-.31-.01-.48-.01-.17 0-.43.06-.66.31-.22.25-.86.85-.86 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.25 3.74.59.26 1.06.41 1.42.52.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.11-.22-.17-.47-.29Z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* ícone WhatsApp no header (ao lado do Fale conosco) */
.nav-wa { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:38px; height:38px; border-radius:50%; background:#25D366; transition:.2s; }
.nav-wa:hover { background:#1da851; transform:translateY(-1px); }
.nav-wa::before { content:""; width:21px; height:21px; background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2m0 18.15c-1.53 0-3.03-.41-4.34-1.19l-.31-.18-3.12.82.83-3.04-.2-.32a8.2 8.2 0 0 1-1.26-4.35c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.25-8.24 8.25m4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.13-.16.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.13-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.43-.14-.01-.31-.01-.48-.01-.17 0-.43.06-.66.31-.22.25-.86.85-.86 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.25 3.74.59.26 1.06.41 1.42.52.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.11-.22-.17-.47-.29Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2m0 18.15c-1.53 0-3.03-.41-4.34-1.19l-.31-.18-3.12.82.83-3.04-.2-.32a8.2 8.2 0 0 1-1.26-4.35c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.25-8.24 8.25m4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.13-.16.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.13-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.43-.14-.01-.31-.01-.48-.01-.17 0-.43.06-.66.31-.22.25-.86.85-.86 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.25 3.74.59.26 1.06.41 1.42.52.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.11-.22-.17-.47-.29Z'/%3E%3C/svg%3E") center/contain no-repeat; }
/* em telas estreitas o ícone some junto com o botão (hambúrguer assume) */
@media (max-width:600px){ .nav-wa { display:none; } }
