/* Folha única do site. A inicial carrega uma cópia deste conteúdo dentro dela. */

:root {
  --papel: #eff1ec; --areia: #f7f8f4; --branco: #fff; --tinta: #1a1f1c; --cinza: #4a5450; --linha: #d7dcd3;
  --folha: #2f7a4f; --folha-funda: #1f5637; --folha-leve: #e3efe6; --folha-escrita: #1c5134;
  --grafite: #22282a; --grafite-alto: #0f1413; --rubi: #b3261e; --rubi-leve: #fbe9e7;
  --titulo: "Rethink Sans", "Segoe UI", system-ui, sans-serif; --texto: "Gantari", "Segoe UI", system-ui, sans-serif;
  --mono: "Kode Mono", ui-monospace, "Cascadia Mono", monospace;
  --canto: 6px; --canto-bt: 3px; --respiro: clamp(2.6rem, 5vw, 4.6rem);
}

[hidden], .eg-fora { display: none !important; }
* , ::before, ::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 400 1.0625rem/1.62 var(--texto); }
img, svg, iframe { max-width: 100%; }
a { color: var(--folha-escrita); text-underline-offset: 3px; }
a:hover { color: var(--grafite-alto); }
h1, h2, h3 { font-family: var(--titulo); font-weight: 800; letter-spacing: -0.015em; line-height: 1.14; margin: 0 0 .7rem; }
h1 { font-size: clamp(1.85rem, 4.4vw, 2.85rem); }
h2 { font-size: clamp(1.45rem, 3.1vw, 2.05rem); }
h3 { font-size: 1.15rem; font-weight: 700; letter-spacing: 0; }
p { margin: 0 0 1.04rem; }
ul { margin: 0 0 1rem; padding-left: 1.15rem; }
input, select, textarea, button { font: inherit; box-sizing: border-box; }
:focus-visible { outline: 3px solid var(--folha); outline-offset: 2px; }

.eg-faixa { width: min(100% - 2rem, 1140px); margin-inline: auto; }
.eg-quebra { overflow-wrap: anywhere; }
.eg-pula { position: absolute; left: -999px; top: 0; background: var(--grafite); color: #fff; padding: .7rem 1rem; z-index: 60; }
.eg-pula:focus { left: .5rem; top: .5rem; }

/* malha de tela de proteção: o motivo da casa */
.eg-malha { height: 13px; border-bottom: 1px solid #cdd7cf; background:
  repeating-linear-gradient(45deg, rgba(31, 86, 55, .42) 0 1px, transparent 1px 9px),
  repeating-linear-gradient(-45deg, rgba(31, 86, 55, .42) 0 1px, transparent 1px 9px),
  var(--folha-leve); }

/* >>> topo */
.eg-topo { background: var(--branco); border-bottom: 1px solid var(--linha); position: sticky; top: 0; z-index: 40; }
.eg-topo__linha { display: flex; align-items: center; gap: 1rem; justify-content: space-between; min-height: 72px; flex-wrap: wrap; padding-block: .6rem; }
.eg-marca { display: inline-flex; align-items: center; gap: .6rem; color: var(--folha-funda); text-decoration: none; font-family: var(--titulo); font-weight: 800; }
.eg-marca__nome { font-size: 1.06rem; letter-spacing: -0.01em; color: var(--tinta); }
.eg-marca__sinal { flex: none; }
.eg-topo__canais { display: flex; align-items: center; gap: .85rem; flex-wrap: wrap; }
.eg-topo__selo { font: 600 .74rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--cinza); border-left: 3px solid var(--folha); padding-left: .55rem; max-width: 15ch; }
.eg-fone { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--titulo); font-weight: 700; font-size: 1.05rem; color: var(--grafite-alto); text-decoration: none; min-height: 44px; }
.eg-fone:hover { color: var(--folha-escrita); }
.eg-fone--grande { font-size: 1.3rem; margin-top: .8rem; }
.eg-topo--curto .eg-topo__selo { display: none; }

.eg-bt { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 46px; padding: .62rem 1.15rem; border-radius: var(--canto-bt); border: 1px solid transparent; font-family: var(--titulo); font-weight: 700; font-size: .98rem; text-decoration: none; cursor: pointer; }
.eg-bt--escuro { background: var(--grafite); color: #fff; }
.eg-bt--escuro:hover { background: var(--grafite-alto); color: #fff; }
.eg-bt--claro { background: var(--branco); color: var(--grafite-alto); border-color: #b9c2bc; }
.eg-bt--claro:hover { background: var(--areia); color: var(--grafite-alto); }
.eg-bt--grande { width: 100%; min-height: 54px; font-size: 1.06rem; background: var(--folha-funda); color: #fff; }
.eg-bt--grande:hover { background: var(--folha-escrita); }

/* >>> rótulo de seção */
.eg-rotulo { display: flex; align-items: center; gap: .6rem; font: 600 .78rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--cinza); margin: 0 0 .9rem; }
.eg-rotulo__num { color: var(--folha); }
.eg-rotulo__num::after { content: " /"; color: var(--linha); }
.eg-rotulo--claro { color: #cfdcd4; }
.eg-rotulo--claro .eg-rotulo__num { color: #8fd3a9; }

/* >>> abertura */
.eg-abertura { padding: var(--respiro) 0 0; background:
  repeating-linear-gradient(45deg, rgba(31, 86, 55, .055) 0 1px, transparent 1px 14px),
  repeating-linear-gradient(-45deg, rgba(31, 86, 55, .055) 0 1px, transparent 1px 14px), var(--papel); }
.eg-abertura__grade { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(1.6rem, 3vw, 3rem); align-items: start; }
.eg-abertura__apoio { font-size: 1.1rem; color: var(--cinza); max-width: 54ch; }
.eg-marcas { list-style: none; margin: 1.4rem 0 1.6rem; padding: 0; display: grid; gap: .5rem; }
.eg-marcas li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: .6rem; align-items: start; font-weight: 500; }
.eg-marcas svg { margin-top: .3rem; color: var(--folha); }
.eg-abertura__cartao { background: var(--branco); border: 1px solid var(--linha); border-top: 5px solid var(--folha-funda); border-radius: var(--canto); padding: 1.3rem 1.25rem 1.45rem; box-shadow: 0 18px 38px -28px rgba(26, 31, 28, .5); }
.eg-abertura__cartao h2 { font-size: 1.22rem; }
.eg-abertura__cartao > p { color: var(--cinza); font-size: .95rem; }

/* >>> crachá da empresa */
.eg-cracha { background: var(--folha-funda); color: #eaf2ec; margin-top: var(--respiro); padding: 1.6rem 0 1.85rem; }
.eg-cracha__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 1.1rem 1.8rem; margin: 0; }
.eg-cracha dt { font: 600 .72rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .09em; color: #9fc9ae; margin-bottom: .22rem; }
.eg-cracha dd { margin: 0; font-weight: 500; }
.eg-cracha__titulo { font-family: var(--titulo); font-weight: 800; font-size: 1.1rem; color: #fff; margin: 0 0 1.05rem; }
.eg-cracha a { color: #cdebd6; }

/* >>> plantão (só sai na página quando o cadastro tem o campo) */
.eg-plantao { background: var(--rubi-leve); border-bottom: 1px solid #f0cdc8; }
.eg-plantao__caixa { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.1rem 1.6rem; align-items: center; padding: 1.35rem 0 1.45rem; }
.eg-plantao__selo { display: inline-block; margin: 0 0 .45rem; padding: .22rem .6rem; background: var(--rubi); color: #fff; border-radius: var(--canto-bt); font: 600 .74rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.eg-plantao h2 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); margin: 0 0 .3rem; }
.eg-plantao__texto { margin: 0; color: #6b2a25; max-width: 62ch; font-size: .98rem; }
.eg-bt--urgente { background: var(--rubi); color: #fff; min-height: 54px; font-size: 1.08rem; padding-inline: 1.4rem; }
.eg-bt--urgente:hover { background: #8d1f19; color: #fff; }

/* >>> frentes */
.eg-secao { padding: var(--respiro) 0; }
.eg-secao--areia { background: var(--areia); }
.eg-secao__cabeca { max-width: 62ch; margin-bottom: 1.9rem; }
.eg-secao__cabeca p { color: var(--cinza); margin: 0; }
.eg-cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(285px, 100%), 1fr)); gap: 1.05rem; }
.eg-cartao { display: flex; flex-direction: column; gap: .55rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--canto); padding: 1.15rem 1.1rem 1.25rem; text-decoration: none; color: inherit; }
.eg-cartao:hover { border-color: var(--folha); box-shadow: 0 14px 30px -24px rgba(26, 31, 28, .55); color: inherit; }
.eg-cartao__sinal { width: 42px; height: 42px; color: var(--folha-funda); }
.eg-cartao h3 { margin: 0; }
.eg-cartao p { margin: 0; font-size: .97rem; color: var(--cinza); }
.eg-cartao__cnae { font: 400 .74rem/1.3 var(--mono); color: #5d6764; margin-top: auto; }
.eg-cartao__ir { font-family: var(--titulo); font-weight: 700; font-size: .93rem; color: var(--folha-escrita); }

/* >>> maresia */
.eg-maresia { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 1rem; }
.eg-maresia__peca { background: var(--branco); border: 1px solid var(--linha); border-left: 4px solid var(--rubi); border-radius: var(--canto); padding: 1.05rem 1.1rem; }
.eg-maresia__peca h3 { display: flex; align-items: center; gap: .5rem; }
.eg-maresia__peca h3::before { content: ""; width: 9px; height: 9px; background: var(--rubi); border-radius: 50%; flex: none; }
.eg-maresia__peca p { margin: 0; font-size: .97rem; color: var(--cinza); }

/* >>> conta da próxima manutenção */
.eg-conta { background: var(--grafite-alto); color: #e8eeea; }
.eg-conta__grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.4rem, 3vw, 2.6rem); padding: var(--respiro) 0; align-items: start; }
.eg-conta h2 { color: #fff; }
.eg-conta__apoio { color: #b4c0ba; }
.eg-conta__campos { display: grid; gap: .85rem; }
.eg-conta__campos label { display: block; font: 600 .76rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .07em; color: #9fb0a7; margin-bottom: .3rem; }
.eg-conta__campos input, .eg-conta__campos select { width: 100%; background: #1b2220; border: 1px solid #38423e; border-radius: var(--canto-bt); color: #eef3f0; padding: .6rem .7rem; min-height: 46px; }
.eg-conta__par { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr)); gap: .85rem; }
.eg-visor { background: #16211b; border: 1px solid #2f4a39; border-radius: var(--canto); padding: 1.1rem 1.15rem; display: grid; gap: .55rem; }
.eg-visor__numero { font: 600 clamp(1.5rem, 4vw, 2.15rem)/1.1 var(--mono); color: #7fe0a4; }
.eg-visor__linha { display: flex; justify-content: space-between; gap: 1rem; font-size: .95rem; color: #c3d0c8; border-bottom: 1px dashed #37473f; padding-bottom: .4rem; }
.eg-visor__linha:last-of-type { border-bottom: 0; }
.eg-visor__linha b { color: #fff; font-weight: 600; }
.eg-conta__aviso { font-size: .88rem; color: #93a29a; margin: .9rem 0 0; }
.eg-conta .eg-bt--claro { margin-top: .9rem; }

/* >>> antes de ligar */
.eg-antes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0; counter-reset: passo; }
.eg-antes li { counter-increment: passo; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--canto); padding: 1rem 1.05rem; font-size: .98rem; }
.eg-antes li::before { content: counter(passo, decimal-leading-zero); display: block; font: 600 .82rem/1 var(--mono); color: var(--folha); margin-bottom: .45rem; }

/* >>> dúvidas */
.eg-duvidas { display: grid; gap: .6rem; max-width: 82ch; }
.eg-duvida { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--canto); }
.eg-duvida summary { cursor: pointer; padding: .95rem 1.05rem; font-family: var(--titulo); font-weight: 700; display: flex; gap: .8rem; align-items: center; justify-content: space-between; min-height: 50px; }
.eg-duvida summary::-webkit-details-marker { display: none; }
.eg-duvida summary::after { content: "+"; font: 400 1.5rem/1 var(--mono); color: var(--folha); flex: none; }
.eg-duvida[open] summary::after { content: "–"; }
.eg-duvida p { margin: 0; padding: 0 1.05rem 1.05rem; color: var(--cinza); }

/* >>> onde fica */
.eg-onde { padding: var(--respiro) 0; background: var(--areia); }
.eg-onde__grade { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.3rem, 3vw, 2.4rem); align-items: stretch; }
.eg-onde__ficha { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--canto); padding: 1.3rem 1.25rem; }
.eg-onde__rua { font-family: var(--titulo); font-weight: 800; font-size: 1.14rem; margin: 0 0 .3rem; }
.eg-onde__resto { color: var(--cinza); margin: 0 0 .9rem; }
.eg-onde__aviso { font: 400 .84rem/1.5 var(--mono); color: #5d6764; margin: 0; }
.eg-onde__mapa { position: relative; min-height: 310px; display: grid; place-items: center; border: 1px solid var(--linha); border-radius: var(--canto); overflow: hidden; background:
  repeating-linear-gradient(45deg, rgba(31, 86, 55, .09) 0 1px, transparent 1px 12px),
  repeating-linear-gradient(-45deg, rgba(31, 86, 55, .09) 0 1px, transparent 1px 12px), var(--folha-leve); }
.eg-onde__mapa iframe { width: 100%; height: 100%; min-height: 310px; border: 0; display: block; }
.eg-onde__mapa--aberto { place-items: stretch; }

/* >>> pedido */
.eg-pedido { background: var(--folha-funda); color: #e9f1ec; padding: var(--respiro) 0; }
.eg-pedido__grade { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(1.5rem, 3vw, 2.8rem); align-items: start; }
.eg-pedido h2 { color: #fff; }
.eg-pedido__linha { margin: 0 0 .35rem; }
.eg-pedido__linha a { color: #d2efdb; font-weight: 600; }
.eg-pedido__lista { margin: 1.2rem 0 0; padding-left: 1.1rem; color: #cadcd1; font-size: .97rem; display: grid; gap: .4rem; }
.eg-pedido__cartao { background: var(--branco); color: var(--tinta); border-radius: var(--canto); padding: 1.35rem 1.3rem 1.5rem; }
.eg-pedido__cartao h2, .eg-pedido__cartao h3 { color: var(--tinta); }
.eg-pedido__cartao a { color: var(--folha-escrita); }

/* >>> formulário */
.eg-forma { display: grid; gap: .9rem; }
.eg-forma__apoio { margin: 0; color: var(--cinza); font-size: .95rem; }
.eg-forma__nota { margin: 0; font-size: .85rem; color: #5d6764; }
.eg-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.eg-campo { display: grid; gap: .3rem; }
.eg-campo--par { grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: .9rem; }
.eg-campo--par > div { display: grid; gap: .3rem; }
.eg-campo label, .eg-campo--par label { font-weight: 600; font-size: .94rem; }
.eg-opcional { font-weight: 400; color: #5d6764; }
.eg-campo input, .eg-campo select, .eg-campo textarea, .eg-campo--par input {
  width: 100%; background: var(--branco); border: 1px solid #b9c2bc; border-radius: var(--canto-bt); padding: .62rem .7rem; min-height: 48px; color: var(--tinta); }
.eg-campo textarea { min-height: 112px; resize: vertical; }
.eg-campo input:focus, .eg-campo select:focus, .eg-campo textarea:focus { border-color: var(--folha); }
.eg-campo input[aria-invalid="true"], .eg-campo select[aria-invalid="true"] { border-color: var(--rubi); background: var(--rubi-leve); }
.eg-erro { display: block; color: #8d1f19; font-size: .88rem; font-weight: 600; }
.eg-aceite { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: .6rem; align-items: start; font-size: .93rem; }
.eg-aceite input { width: 24px; height: 24px; margin-top: .15rem; accent-color: var(--folha-funda); min-height: 0; }
.eg-aceite label { padding-block: .3rem; }
.eg-recado { border: 1px solid var(--folha); background: var(--folha-leve); border-radius: var(--canto); padding: .9rem 1rem; margin: 0 0 1rem; font-weight: 500; }
.eg-recado--ruim { border-color: var(--rubi); background: var(--rubi-leve); }

/* >>> página de frente */
.eg-frente { padding: var(--respiro) 0 0; }
.eg-frente__grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(1.6rem, 3vw, 3rem); align-items: start; }
.eg-frente__abre { font-size: 1.12rem; color: var(--cinza); max-width: 52ch; }
.eg-blocos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 1.05rem; }
.eg-bloco { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--canto); padding: 1.15rem 1.15rem 1.25rem; }
.eg-bloco h3 { display: flex; gap: .55rem; align-items: baseline; }
.eg-bloco h3 span { font: 600 .8rem/1 var(--mono); color: var(--folha); }
.eg-bloco ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .45rem; color: var(--cinza); font-size: .98rem; }
.eg-etapas { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; counter-reset: etapa; }
.eg-etapas li { counter-increment: etapa; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: .75rem; align-items: start; }
.eg-etapas li::before { content: counter(etapa); display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--folha); border-radius: var(--canto-bt); font: 600 .95rem/1 var(--mono); color: var(--folha-escrita); }

/* >>> páginas de texto */
.eg-texto { padding: var(--respiro) 0; }
.eg-texto__corpo { max-width: 74ch; }
.eg-texto__corpo h2 { margin-top: 2rem; font-size: 1.3rem; }
.eg-texto__data { font: 400 .82rem/1.4 var(--mono); color: #5d6764; }
.eg-atalhos { list-style: none; padding: 0; margin: 1.4rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: .75rem; }
.eg-atalhos a { display: block; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--canto); padding: .9rem 1rem; text-decoration: none; font-family: var(--titulo); font-weight: 700; color: var(--tinta); }
.eg-atalhos a:hover { border-color: var(--folha); }

/* >>> rodapé */
.eg-pe { background: var(--grafite-alto); color: #c9d2cd; padding: var(--respiro) 0 1.4rem; margin-top: 0; }
.eg-pe__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 1.8rem; }
.eg-pe__marca { display: block; font-family: var(--titulo); font-weight: 800; font-size: 1.08rem; color: #fff; margin-bottom: .5rem; }
.eg-pe__rotulo { display: block; font: 600 .74rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .09em; color: #8d9a94; margin-bottom: .6rem; }
.eg-pe__razao, .eg-pe__linha { margin: 0 0 .4rem; font-size: .95rem; }
.eg-pe a { color: #d9e3dd; }
.eg-pe a:hover { color: #fff; }
.eg-pe__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; font-size: .95rem; }
/* alvo de toque: link de lista e de contato com altura de dedo */
.eg-pe__lista a, .eg-pe__linha a, .eg-pedido__linha a, .eg-cracha dd a { display: inline-block; padding-block: .45rem; min-height: 38px; }
.eg-pe__fim { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; justify-content: space-between; border-top: 1px solid #2b3331; margin-top: 2rem; padding-top: 1.1rem; font-size: .85rem; color: #8d9a94; }

/* >>> barra do celular e aviso de cookies */
.eg-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: none; gap: .5rem; padding: .5rem .7rem calc(.5rem + env(safe-area-inset-bottom)); background: rgba(15, 20, 19, .96); }
.eg-barra__bt { flex: 1 1 0; min-width: 0; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: var(--canto-bt); text-decoration: none; font-family: var(--titulo); font-weight: 700; background: #2c3634; color: #fff; }
.eg-barra__bt--cheio { background: var(--folha); color: #fff; }
.eg-cookie { position: fixed; z-index: 50; left: 50%; bottom: 1rem; transform: translateX(-50%); width: min(100% - 1.6rem, 560px); background: var(--branco); color: var(--tinta); border: 1px solid var(--grafite); border-radius: var(--canto); padding: 1rem 1.05rem; box-shadow: 0 22px 45px -24px rgba(15, 20, 19, .6); }
.eg-cookie__texto { margin: 0 0 .8rem; font-size: .93rem; }
.eg-cookie__botoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: .6rem; }
.eg-cookie__botoes .eg-bt { width: 100%; }

@media (max-width: 940px) {
  .eg-abertura__grade, .eg-conta__grade, .eg-onde__grade, .eg-pedido__grade, .eg-frente__grade, .eg-plantao__caixa { grid-template-columns: minmax(0, 1fr); }
  .eg-bt--urgente { width: 100%; }
  .eg-topo__selo { display: none; }
}
@media (max-width: 680px) {
  body { font-size: 1.03rem; }
  .eg-faixa { width: min(100% - 2rem, 1140px); }
  .eg-barra { display: flex; }
  .eg-pe { padding-bottom: 5.2rem; }
  .eg-cookie { bottom: 4.6rem; }
  .eg-topo__linha { min-height: 64px; }
  .eg-topo__canais { width: 100%; justify-content: space-between; }
  .eg-marca__nome { font-size: .98rem; }
}
@media (prefers-reduced-motion) { html { scroll-behavior: auto; } }
@media print {
  .eg-barra, .eg-cookie, .eg-pula, .eg-onde__mapa { display: none !important; }
  body { background: #fff; }
}
