
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/fraunces-600.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/fraunces-italic-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-var.woff2) format('woff2')}

:root{
  --c-ink:#161311;--c-ink-2:#1E1A17;--c-sand:#F5F1EA;--c-sand-2:#ECE6DB;--c-paper:#FAF7F1;
  --c-text:#2A2521;--c-text-2:#5C544C;--c-text-inv:#F5F1EA;--c-text-inv-2:#B5ACA1;
  --c-terra:#8F5A2E;--c-terra-2:#C48B57;--c-line:rgba(42,37,33,.15);--c-line-strong:rgba(42,37,33,.45);
  --c-wa:#1F8A4C;--c-ok:#14663a;
  --f-display:'Fraunces','Iowan Old Style',Georgia,serif;--f-text:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fs-caps:.75rem;--fs-sm:.9rem;--fs-base:1.0625rem;--fs-lead:clamp(1.1rem,.95rem + .6vw,1.3rem);
  --fs-h1:clamp(2rem,1.3rem + 3.6vw,3.6rem);--fs-h2:clamp(1.5rem,1.15rem + 1.8vw,2.5rem);--fs-h3:clamp(1.2rem,1.05rem + .7vw,1.5rem);
  --w-max:1180px;--gut:clamp(1.1rem,4vw,3rem);--r:6px;
  /* nomes que ficha.mjs / mobile.mjs / conversao.mjs usam */
  --primary:#161311;--cta:#1F8A4C;--white:#fff;--text:#2A2521;--radius:6px;--radius-lg:10px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--f-text);font-size:var(--fs-base);line-height:1.6;color:var(--c-text);background:var(--c-sand);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--c-text);margin:0 0 .5em;text-wrap:balance}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);line-height:1.25}
p{margin:0 0 1rem;max-width:68ch}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--fs-caps);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-terra);margin-bottom:1rem}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:currentColor}
.lead{font-size:var(--fs-lead);line-height:1.5}
.muted{color:var(--c-text-2)}
.wrap{max-width:var(--w-max);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(2.5rem,3vw + 1.5rem,4.5rem)}
.section--alt{background:var(--c-sand-2)}
.section--paper{background:var(--c-paper)}
.section--dark{background:var(--c-ink);color:var(--c-text-inv)}
.section--dark h2,.section--dark h3,.section--dark p{color:var(--c-text-inv)}
.section--dark .eyebrow{color:var(--c-terra-2)}
.section--dark .muted{color:var(--c-text-inv-2)}

/* ---- botoes ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:.8rem 1.4rem;border:1px solid var(--c-ink);border-radius:3px;font-size:var(--fs-caps);font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1;text-decoration:none;color:var(--c-sand);background:var(--c-ink);transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--c-terra);border-color:var(--c-terra)}
.btn--wa{background:var(--c-wa);border-color:var(--c-wa);color:#fff}
.btn--wa:hover{background:#176d3c;border-color:#176d3c}
.btn--outline{background:transparent;color:var(--c-text)}
.btn--outline:hover{background:var(--c-ink);color:var(--c-sand)}
.section--dark .btn--outline{color:var(--c-sand);border-color:var(--c-sand)}
.btn svg{width:1.1em;height:1.1em}
.acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.acoes .btn{flex:1 1 100%}
@media(min-width:600px){.acoes .btn{flex:0 1 auto}}

/* ---- cabecalho ---- */
.hdr{position:sticky;top:0;z-index:100;background:rgba(245,241,234,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.brand b{font-size:.95rem;letter-spacing:.16em;font-weight:700}
.brand small{font-size:.72rem;color:var(--c-text-2);letter-spacing:.02em}
.nav{display:none}
.hdr-cta{display:flex;align-items:center;gap:.5rem}
.hdr-tel{display:none}
.hdr .btn{min-height:2.6rem;padding:.6rem .9rem}
/* no celular a barra fixa ja tem o WhatsApp: o botao do topo sai e a marca fica em uma linha */
@media(max-width:959px){.hdr .btn{display:none}.brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}}
.menu-det{position:relative}
.menu-det summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--c-line-strong);border-radius:3px}
.menu-det summary::-webkit-details-marker{display:none}
.menu-det[open] summary{background:var(--c-ink);color:var(--c-sand)}
.menu-lista{position:absolute;right:0;top:calc(100% + .5rem);min-width:15rem;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);box-shadow:0 12px 30px rgba(0,0,0,.12);padding:.4rem;display:grid}
.menu-lista a{display:flex;align-items:center;min-height:44px;padding:.5rem .9rem;text-decoration:none;border-radius:4px;font-weight:600;font-size:.95rem}
.menu-lista a:hover,.menu-lista a[aria-current]{background:var(--c-sand-2)}
.menu-lista small{display:block;font-weight:400;color:var(--c-text-2);font-size:.78rem}
@media(min-width:960px){
  .nav{display:flex;gap:1.4rem}
  .nav a{text-decoration:none;font-weight:600;font-size:.92rem;padding:.4rem 0;border-bottom:2px solid transparent}
  .nav a[aria-current]{border-bottom-color:var(--c-terra)}
  .nav a:hover{color:var(--c-terra)}
  .hdr-tel{display:inline;text-decoration:none;font-weight:600;font-size:.92rem;margin-right:.5rem}
  .menu-det{display:none}
}

/* ---- topo da pagina ---- */
.hero{padding-block:clamp(2.5rem,4vw + 1rem,5rem)}
.hero h1{margin-bottom:.75rem}
.hero .lead{max-width:60ch}
.trilha{font-size:.82rem;color:var(--c-text-2);margin-bottom:1.25rem}
.trilha a{text-decoration:none}
.trilha a:hover{text-decoration:underline}

/* ---- resposta direta ---- */
.iso-resposta{padding-block:1.5rem 2rem;background:var(--c-paper);border-block:1px solid var(--c-line)}
.iso-resposta p{font-size:1.02rem;line-height:1.7;margin:0}

/* ---- grades e cartoes ---- */
.grid{display:grid;gap:1rem}
@media(min-width:700px){.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.grid--4{grid-template-columns:repeat(4,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);padding:1.1rem 1.15rem}
.card h3{font-size:1.12rem;margin-bottom:.4rem}
.card p{font-size:.95rem;color:var(--c-text-2);margin:0}
.card--n{display:grid;grid-template-columns:2.4rem 1fr;gap:.8rem;align-items:start}
.card--n .n{font-family:var(--f-display);font-size:1.8rem;line-height:1;color:var(--c-terra)}
.lista{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}
.lista li{position:relative;padding-left:1.5rem;line-height:1.55}
.lista li::before{content:"";position:absolute;left:0;top:.62em;width:.6rem;height:.6rem;border-radius:50%;background:var(--c-terra)}
.def{display:grid;gap:.7rem;margin:0}
.def div{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);padding:.9rem 1rem}
.def dt{font-weight:700;margin-bottom:.2rem}
.def dd{margin:0;color:var(--c-text-2);font-size:.95rem}
.tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:#e6f4ec;color:var(--c-ok)}
.tag--norma{background:#f3eee6;color:#6b4f18}
.tag--fornecedor{background:#eef2fb;color:#22407f}

/* aplicacoes */
.app{display:flex;flex-direction:column;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden}
.app img{aspect-ratio:4/3;object-fit:cover;width:100%}
.app-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.app h3{font-size:1.12rem;margin:0}
.app p{font-size:.93rem;color:var(--c-text-2);margin:0;flex:1}
.app-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.app-links a{display:inline-flex;align-items:center;min-height:40px;padding:.4rem .8rem;border-radius:3px;font-size:.82rem;font-weight:700;text-decoration:none;letter-spacing:.04em}
.app-links .l1{background:var(--c-wa);color:#fff}
.app-links .l2{border:1px solid var(--c-line-strong);color:var(--c-text)}

/* memorial */
.memorial{background:var(--c-paper);border-left:4px solid var(--c-terra);padding:1rem 1.1rem;border-radius:0 var(--r) var(--r) 0;font-size:.97rem;line-height:1.7}
.memorial-acoes{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.memorial-acoes button{font:inherit;font-size:.85rem;font-weight:700;padding:.6rem 1rem;min-height:44px;border:1px solid var(--c-ink);background:var(--c-ink);color:var(--c-sand);border-radius:3px;cursor:pointer}
.memorial-acoes button:hover{background:var(--c-terra);border-color:var(--c-terra)}

/* fotos */
.fotos{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
@media(min-width:700px){.fotos{grid-template-columns:repeat(4,1fr)}}
.fotos figure{margin:0}
.fotos img{aspect-ratio:1;object-fit:cover;border-radius:var(--r)}
.fotos figcaption{font-size:.8rem;color:var(--c-text-2);margin-top:.35rem;line-height:1.4}

/* faq */
.faq{display:grid;gap:.6rem;max-width:860px}
.faq details{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r)}
.faq summary{cursor:pointer;padding:.95rem 1.1rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;font-weight:400;color:var(--c-terra)}
.faq details[open] summary::after{content:"−"}
.faq p{margin:0;padding:0 1.1rem 1rem;color:var(--c-text-2);font-size:.96rem}

/* cta final */
.cta-final{text-align:left}
.cta-final h2{margin-bottom:.5rem}

/* ---- rodape ---- */
.ftr{background:var(--c-ink);color:var(--c-text-inv-2);padding-block:2.5rem 2rem;font-size:.9rem}
.ftr a{color:var(--c-text-inv);text-decoration:none}
.ftr a:hover{text-decoration:underline}
.ftr-grid{display:grid;gap:1.6rem}
@media(min-width:760px){.ftr-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.ftr h4{margin:0 0 .6rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-inv)}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.ftr li a{display:inline-flex;align-items:center;min-height:36px}
.ftr .ent{color:var(--c-text-inv);font-weight:600;font-size:1rem;margin-bottom:.4rem}
.ftr-base{margin-top:1.8rem;padding-top:1rem;border-top:1px solid rgba(245,241,234,.15);font-size:.8rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}

/* ---- ficha (tabela) reaproveitada da Fase 1 ---- */
.ficha-section{padding-block:clamp(2.5rem,3vw + 1.5rem,4.5rem);background:var(--c-sand)}
.ficha-intro{max-width:62ch;color:var(--c-text-2)}
.ficha-wrap{background:var(--c-paper)}
.ficha-tabela thead th{background:var(--c-sand-2)}
.ficha-omissoes h3{color:var(--c-text)}
.iso-revisao{margin-top:1rem;font-size:.86rem;color:var(--c-text-2)}

/* whatsapp flutuante (desktop) */
.whatsapp-float{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:var(--c-wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:90}
.whatsapp-float svg{width:28px;height:28px}


/* =========================================================
   FICHA TECNICA E FAQ — ver tools/ficha.mjs
   ========================================================= */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.ficha-section { padding: 72px 0; background: #f7f8fa; }
.ficha-intro { max-width: 62ch; margin: 0 0 28px; color: #4a4a4a; line-height: 1.65; }
/* Tabela larga rola dentro da propria caixa — o corpo da pagina nunca rola de lado. */
.ficha-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e3e6ec; border-radius: var(--radius-lg); background: var(--white); }
.ficha-tabela { width: 100%; border-collapse: collapse; font-size: .94rem; min-width: 520px; }
.ficha-tabela thead th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: #5a5a5a; padding: 14px 20px; border-bottom: 2px solid #e3e6ec; background: #fafbfc; }
.ficha-tabela tbody th { text-align: left; font-weight: 600; color: var(--text); padding: 13px 20px; border-bottom: 1px solid #eef0f4; }
.ficha-tabela tbody td { padding: 13px 20px; border-bottom: 1px solid #eef0f4; font-variant-numeric: tabular-nums; }
.ficha-tabela tbody tr:last-child th, .ficha-tabela tbody tr:last-child td { border-bottom: 0; }
.ficha-origem { display: inline-block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.ficha-origem--medido { background: #e6f4ec; color: #14663a; }
.ficha-origem--fornecedor { background: #eef2fb; color: #22407f; }
.ficha-origem--norma { background: #f3eee6; color: #6b4f18; }

.ficha-omissoes { margin-top: 36px; border-left: 4px solid #c9ced8; padding: 4px 0 4px 20px; }
.ficha-omissoes h3 { font-size: 1.14rem; margin: 0 0 8px; color: var(--primary); }
.ficha-omissoes p { color: #5a5a5a; margin: 0 0 12px; font-size: .94rem; }
.ficha-omissoes ul { margin: 0; padding-left: 20px; display: grid; gap: 9px; }
.ficha-omissoes li { font-size: .93rem; line-height: 1.6; color: #4a4a4a; }

.iso-faq-section { padding: 64px 0; background: var(--white); }
.iso-faq-lista { display: grid; gap: 12px; max-width: 860px; }
.iso-faq-item { border: 1px solid #e3e6ec; border-radius: var(--radius); background: #fafbfc; }
.iso-faq-item summary { cursor: pointer; padding: 16px 20px; font-weight: 600; color: var(--primary); list-style: none; display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.iso-faq-item summary::-webkit-details-marker { display: none; }
.iso-faq-item summary::after { content: "+"; font-size: 1.35rem; font-weight: 400; color: var(--cta); line-height: 1; }
.iso-faq-item[open] summary::after { content: "−"; }
.iso-faq-item summary:focus-visible { outline: 3px solid var(--cta); outline-offset: 2px; }
.iso-faq-item p { margin: 0; padding: 0 20px 18px; color: #4a4a4a; line-height: 1.7; font-size: .95rem; }

@media (max-width: 860px) {
  .ficha-section { padding: 52px 0; }
  .iso-faq-section { padding: 48px 0; }
}


/* ficha em cartoes no celular (mesma regra da Fase 1, tools/mobile.mjs) */
@media (max-width: 768px) {
  .ficha-wrap { overflow-x: visible; border: 0; background: transparent; }
  .ficha-wrap table, .ficha-wrap tbody, .ficha-wrap tr, .ficha-wrap td, .ficha-wrap th { display: block; width: auto; min-width: 0; }
  .ficha-wrap thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ficha-wrap tbody tr { box-sizing: border-box; border: 1px solid var(--c-line); border-radius: 8px; padding: 12px 14px; margin-bottom: 10px; background: var(--c-paper); }
  .ficha-wrap tbody th { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--c-text-2); border: 0; padding: 0 0 4px; }
  .ficha-wrap tbody td:first-of-type { font-size: 1.05rem; font-weight: 600; border: 0; padding: 0 0 6px; }
  .ficha-wrap tbody td:last-child { font-size: .76rem; border: 0; padding: 0; }
}


/* =========================================================
   Fase 1 — entidade, medicao e fundo de funil — ver tools/conversao.mjs
   ========================================================= */

/* Acoes da ficha: baixar o PDF e falar com a fabrica */
.ficha-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; }
.btn-ficha-pdf, .btn-ficha-wa {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 10px 18px; border-radius: 8px;
  font-weight: 700; font-size: .95rem; text-decoration: none; line-height: 1.2;
}
.btn-ficha-pdf { background: var(--primary, #0f172a); color: #fff; }
.btn-ficha-pdf::before { content: "\2193"; font-weight: 400; }
.btn-ficha-wa { background: transparent; color: var(--cta, #15803d); border: 2px solid var(--cta, #15803d); }
.btn-ficha-pdf:hover { filter: brightness(1.15); }
.btn-ficha-wa:hover { background: rgba(21,128,61,.07); }

/* Bloco local da praca */
.eco-local { padding: 8px 0 40px; background: var(--white, #fff); }
.eco-local h2 { font-size: clamp(1.25rem, 2.8vw, 1.6rem); margin: 0 0 14px; line-height: 1.25; }
.eco-local-dados { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; max-width: 72ch; }
.eco-local-dados li { padding: 12px 14px; border: 1px solid #e3e6ec; border-radius: 8px; background: #fafbfc; line-height: 1.55; font-size: .98rem; }
.eco-local-dados small { display: block; color: #6b7280; font-size: .8rem; margin-top: 4px; }
.eco-local-dados a { color: var(--cta, #15803d); font-weight: 600; text-decoration: underline; }
.eco-local-clima { max-width: 72ch; line-height: 1.7; margin: 0 0 18px; color: #374151; }
.eco-local-clima a { color: var(--cta, #15803d); font-weight: 600; text-decoration: underline; }
.eco-local-cta { display: inline-flex; }

/* Contraste (Lighthouse 10/09/2026): #64748b sobre fundo claro dava 4,3–4,4
   (minimo 4,5); o rodape usava opacity .4/.6 sobre azul escuro (2,3–3,8). */
.section-title p { color: #475569; }
.categories-section .section-title p { color: #cbd5e1; } /* fundo escuro: 2,7 -> 9+ */
footer .container > p[style], footer .footer-hidden-links a, footer .container > div > a[style] {
  opacity: .9 !important; color: #e2e8f0 !important;
}

/* Barra fixa do celular: escondida no desktop */
.eco-barra { display: none; }

@media (max-width: 768px) {
  .eco-barra {
    display: grid; grid-template-columns: 1fr 1.25fr; gap: 8px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.96); backdrop-filter: blur(6px);
    border-top: 1px solid #e3e6ec; box-shadow: 0 -4px 18px rgba(0,0,0,.08);
  }
  .eco-barra a {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; border-radius: 10px; font-weight: 700; font-size: .95rem;
    text-decoration: none; letter-spacing: .01em;
  }
  .eco-barra-ficha { background: #f1f5f9; color: var(--primary, #0f172a); border: 1px solid #cbd5e1; }
  /* #25d366 (verde do WhatsApp) com branco da 1,98 de contraste; #15803d da 5,0. */
  .eco-barra-wa { background: var(--cta, #15803d); color: #fff; }
  /* O botao redondo flutuante duplicaria a barra; no celular ele sai. */
  .whatsapp-float { display: none !important; }
  /* Espaco para a barra nao cobrir o fim da pagina. */
  body { padding-bottom: 72px; }
  .ficha-acoes a { flex: 1 1 100%; }
  .eco-local { padding-bottom: 28px; }
  .eco-local-dados li { font-size: .95rem; }
}
