
/* ===== Tokens do projeto (paleta oficial, derivada do logotipo) ===== */
:root{
  --fundo:      #14181F;  /* carvão: base escura da página */
  --superficie: #1D232B;  /* painéis e cartões sobre o fundo */
  --filete:     #2E3641;  /* linhas e separadores */
  --tinta:      #FFFFFF;  /* texto principal */
  --tinta-2:    #B9C0CC;  /* texto secundário */
  --marca:      #FFDE2E;  /* amarelo do logotipo: a única cor de marca */
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, monospace;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:72px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ font-size:112.5%; scroll-behavior:smooth; } /* corpo = 18px */
body{
  margin:0; overflow-x:clip;
  font-family:var(--font-body); font-size:1rem; line-height:1.65;
  color:var(--tinta); background:var(--fundo);
  -webkit-font-smoothing:antialiased;
}
img,svg{ display:block; max-width:100%; }
h1,h2,h3{ font-family:var(--font-display); line-height:1.1; letter-spacing:-0.02em; margin:0 0 var(--s4); overflow-wrap:anywhere; }
h1{ font-size:clamp(2.5rem, 5vw + 0.7rem, 4.7rem); font-weight:700; }
h2{ font-size:clamp(1.8rem, 2.6vw + 0.9rem, 2.9rem); font-weight:700; position:relative; padding-bottom:var(--s4); margin-bottom:var(--s5); }
h2::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:var(--marca); }
h3{ font-size:1.2rem; font-weight:500; }
p{ max-width:68ch; margin:0 0 var(--s4); }
b,strong{ font-weight:500; }
a{ color:var(--tinta); }
::selection{ background:var(--marca); color:var(--fundo); }
:focus-visible{ outline:2px solid var(--marca); outline-offset:3px; }
.skip{
  position:absolute; left:var(--s4); top:-64px;
  background:var(--superficie); color:var(--tinta);
  border:1px solid var(--filete);
  padding:var(--s3) var(--s4); z-index:100;
  transition:top 140ms var(--ease);
}
.skip:focus{ top:var(--s3); }
.container{ width:100%; max-width:1200px; margin:0 auto; padding:0 var(--s5); }
section{ padding:var(--s8) 0; }
.mono{ font-family:var(--font-mono); }
.sec-intro{ color:var(--tinta-2); font-size:1.05rem; }

/* ---------- navegação ---------- */
.nav{ position:sticky; top:0; z-index:60; background:var(--fundo); border-bottom:1px solid var(--filete); }
.nav-inner{ display:flex; align-items:center; gap:var(--s4); min-height:72px; }
.brand{ display:block; flex:none; line-height:0; }
.brand img{ width:clamp(172px, 26vw, 216px); height:auto; }
.nav-links{ display:none; margin-left:auto; align-items:center; gap:var(--s2); list-style:none; margin-top:0; margin-bottom:0; padding:0; }
.nav-links a{
  display:inline-flex; align-items:center; min-height:44px;
  padding:var(--s2) var(--s3);
  font-family:var(--font-mono); font-size:1rem; letter-spacing:0.04em;
  color:var(--tinta-2); text-decoration:none;
}
.nav-links a:hover{ color:var(--tinta); }
.nav-cta{
  margin-left:auto; flex:none;
  display:inline-flex; align-items:center; justify-content:center; min-height:44px;
  padding:var(--s2) var(--s4);
  font-family:var(--font-mono); font-weight:600; font-size:1rem; text-decoration:none;
  color:var(--marca); border:1px solid var(--marca);
  transition:background-color 180ms var(--ease), color 180ms var(--ease);
}
.nav-cta:hover{ background:var(--marca); color:var(--fundo); }
.c-longo{ display:none; }

/* ---------- reveal (um único gesto de leitura) ---------- */
[data-reveal]{ opacity:0; transform:translateY(14px); transition:opacity 520ms var(--ease), transform 520ms var(--ease); transition-delay:calc(var(--i,0)*70ms); }
[data-reveal].is-in{ opacity:1; transform:none; }

/* ---------- hero (tese) ---------- */
.hero{ padding:var(--s7) 0 var(--s8); }
.hero-grid{ display:grid; gap:var(--s7); align-items:center; }
.hero-kicker{
  display:flex; align-items:center; gap:var(--s2);
  margin:0 0 var(--s4);
  font-family:var(--font-mono); font-size:0.85rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--tinta-2);
}
.hero-kicker::before{ content:""; width:28px; height:2px; background:var(--marca); flex:none; }
.hero h1 .marca{ color:var(--marca); }
.hero-sub{ font-size:1.12rem; color:var(--tinta-2); }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:var(--s4); margin-top:var(--s6); align-items:center; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:48px;
  padding:var(--s3) var(--s5);
  font-family:var(--font-mono); font-weight:600; font-size:1rem; text-decoration:none;
  border:1px solid var(--marca);
  transition:background-color 180ms var(--ease), color 180ms var(--ease);
}
.btn-primary{ background:var(--marca); color:var(--fundo); }
.btn-primary:hover{ background:transparent; color:var(--marca); }
.btn-ghost{ color:var(--marca); }
.btn-ghost:hover{ background:var(--marca); color:var(--fundo); }
.link-arrow{
  display:inline-flex; align-items:center; min-height:44px;
  padding:var(--s2) 0;
  font-family:var(--font-mono); font-size:1rem; text-decoration:none;
  color:var(--tinta); border-bottom:1px solid var(--marca);
}
.link-arrow:hover{ color:var(--marca); }
.hero-micro{ font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.08em; color:var(--tinta-2); margin-top:var(--s5); }

/* ---------- plano de instalação (elemento assinatura) ---------- */
.plano{ position:relative; border:1px solid var(--filete); background:var(--superficie); padding:var(--s4); }
.tick{ position:absolute; width:16px; height:16px; pointer-events:none; }
.tick.tl{ top:7px; left:7px; border-top:2px solid var(--tinta-2); border-left:2px solid var(--tinta-2); }
.tick.tr{ top:7px; right:7px; border-top:2px solid var(--tinta-2); border-right:2px solid var(--tinta-2); }
.tick.bl{ bottom:7px; left:7px; border-bottom:2px solid var(--tinta-2); border-left:2px solid var(--tinta-2); }
.tick.br{ bottom:7px; right:7px; border-bottom:2px solid var(--tinta-2); border-right:2px solid var(--tinta-2); }
.perimetro{ position:absolute; inset:18px; border:1.5px dashed var(--filete); pointer-events:none; }
.plano-int{ position:relative; display:grid; gap:var(--s4); }
.camadas{ position:relative; display:grid; gap:10px; }
.camada{ position:relative; padding:14px 16px 14px 48px; border:1px solid var(--filete); background:var(--fundo); }
.camada::before{ content:""; position:absolute; left:20px; top:50%; width:9px; height:9px; background:var(--marca); transform:translateY(-50%); }
.camada b{ display:block; font-family:var(--font-mono); font-size:1rem; font-weight:600; letter-spacing:0.06em; color:var(--tinta); }
.camada span{ display:block; font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.14em; color:var(--tinta-2); margin-top:2px; }
.conduta{
  position:absolute; left:24px; top:0; bottom:0; width:2px; opacity:0.95;
  background:repeating-linear-gradient(to bottom, var(--marca) 0 6px, transparent 6px 12px);
  animation:conduta 0.9s linear infinite;
}
@keyframes conduta{ to{ background-position:0 -12px; } }
.ramo{ display:none; }
.lado-dados{ display:grid; gap:var(--s3); align-content:end; border:1px solid var(--filete); background:var(--fundo); padding:var(--s4); }
.fluxo{ margin:0; font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--marca); text-align:right; }
.grafico{ display:flex; align-items:flex-end; gap:12px; height:132px; border-bottom:1px solid var(--filete); padding-bottom:2px; }
.barra{ flex:1 1 0; min-width:0; background:var(--filete); }
.barra.final{ background:var(--marca); }
.graf-cap{ margin:var(--s3) 0 0; font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--tinta-2); }
.bloco-titulo{
  display:flex; flex-wrap:wrap; gap:4px var(--s4); justify-content:space-between;
  margin-top:var(--s4); padding-top:10px; border-top:1px solid var(--filete);
  font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.08em; color:var(--tinta-2);
}
.legenda{ display:flex; flex-wrap:wrap; gap:var(--s2) var(--s5); margin-top:var(--s4); padding-top:var(--s3); border-top:1px solid var(--filete); }
.legenda span{ display:inline-flex; align-items:center; gap:var(--s2); font-family:var(--font-mono); font-size:0.85rem; color:var(--tinta-2); }
.legenda i{ width:9px; height:9px; background:var(--marca); font-style:normal; flex:none; }

/* ---------- prova de escala ---------- */
.faixa{ display:grid; grid-template-columns:repeat(auto-fit, minmax(148px, 1fr)); gap:10px; margin-top:var(--s6); }
.selo{
  min-height:64px; display:flex; align-items:center; justify-content:center;
  border:1px dashed var(--filete); background:var(--superficie);
  font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--tinta-2); transition:border-color 180ms var(--ease), color 180ms var(--ease);
}
.selo:hover{ border-color:var(--marca); color:var(--tinta); }
.legenda-faixa{ margin-top:var(--s5); font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--marca); }

/* ---------- oferta principal (quadros do plano) ---------- */
.quadros{ display:grid; gap:10px; margin-top:var(--s6); }
.quadro{ position:relative; border:1px solid var(--filete); background:var(--superficie); padding:var(--s5); }
.quadro-num{ display:block; margin-bottom:var(--s3); font-family:var(--font-mono); font-weight:600; font-size:0.85rem; letter-spacing:0.12em; color:var(--marca); font-variant-numeric:tabular-nums; }
.quadro h3{ margin-bottom:var(--s2); }
.quadro p{ margin:0; color:var(--tinta-2); }

/* ---------- fases da migração ---------- */
.fases{ display:grid; gap:10px; margin-top:var(--s6); }
.fase{ border:1px solid var(--filete); background:var(--superficie); padding:var(--s5); }
.fase-num{ display:block; margin-bottom:var(--s3); font-family:var(--font-mono); font-weight:600; font-size:0.85rem; letter-spacing:0.12em; color:var(--marca); font-variant-numeric:tabular-nums; }
.fase h3{ margin-bottom:var(--s2); }
.fase p{ margin:0; color:var(--tinta-2); }

/* ---------- o número (faixa com grelha técnica) ---------- */
.banda{ background:var(--superficie); border-top:1px solid var(--filete); border-bottom:1px solid var(--filete); }
.retangulo{ position:relative; padding:var(--s8) 0; }
.retangulo::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:0.45;
  background-image:
    linear-gradient(var(--filete) 1px, transparent 1px),
    linear-gradient(90deg, var(--filete) 1px, transparent 1px);
  background-size:44px 44px;
}
.painel{ position:relative; max-width:1120px; }
.stat-cab{ margin:0 0 var(--s5); font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--tinta-2); }
.hero-num{
  margin:0; font-family:var(--font-display); font-weight:700; letter-spacing:-0.03em; line-height:0.95;
  font-size:clamp(4.2rem, 11vw, 7.6rem); color:var(--marca); font-variant-numeric:tabular-nums;
}
.hero-cap{ margin:var(--s3) 0 0; font-family:var(--font-mono); font-size:1rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--tinta-2); }
.hero-txt{ margin-top:var(--s5); color:var(--tinta-2); font-size:1.05rem; }
.hero-txt strong{ color:var(--tinta); font-weight:500; }
.grid-apoio{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:var(--s6); }
.apoio{ display:grid; gap:4px; padding:var(--s4) var(--s5); border:1px solid var(--filete); background:var(--fundo); }
.apoio b{ font-family:var(--font-display); font-size:2.1rem; font-weight:700; line-height:1; color:var(--tinta); font-variant-numeric:tabular-nums; }
.apoio span{ font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--tinta-2); }
.aviso{ margin-top:var(--s5); padding:var(--s5); border:1px solid var(--filete); border-left:4px solid var(--marca); background:var(--fundo); }
.aviso h3{ font-size:1.25rem; margin-bottom:var(--s2); }
.aviso p{ margin:0; color:var(--tinta-2); }
.aviso strong{ color:var(--tinta); font-weight:500; }
.mck{ margin-top:var(--s4); padding-left:var(--s5); border-left:1px solid var(--filete); }
.mck p{ margin:0; color:var(--tinta-2); }
.mck strong{ color:var(--tinta); font-weight:500; }
.fontes{ margin-top:var(--s5); font-family:var(--font-mono); font-size:0.85rem; line-height:1.9; color:var(--tinta-2); }

/* ---------- automação com supervisão ---------- */
.split{ display:grid; gap:var(--s5); margin-top:var(--s6); }
.papel{ border-top:2px solid var(--filete); padding-top:var(--s4); }
.papel h3{ margin-bottom:var(--s3); }
.papel ul{ list-style:none; margin:0; padding:0; }
.papel li{ position:relative; padding-left:var(--s5); margin-bottom:var(--s3); color:var(--tinta-2); }
.papel li::before{ content:""; position:absolute; left:0; top:0.62em; width:8px; height:8px; background:var(--marca); }
.closing{ margin-top:var(--s6); padding:var(--s5); border:1px solid var(--filete); background:var(--superficie); }
.closing p{ margin:0; font-size:1.1rem; }
.consultoria{ margin-top:var(--s4); padding:var(--s3) var(--s5); border:1px dashed var(--filete); font-family:var(--font-mono); font-size:1rem; color:var(--tinta-2); }
.consultoria b{ color:var(--tinta); font-weight:500; }

/* ---------- formação ---------- */
.cartoes{ display:grid; gap:10px; margin-top:var(--s6); }
.cartao{ border:1px solid var(--filete); background:var(--superficie); padding:var(--s5); }
.cartao h3{ margin-bottom:var(--s2); }
.cartao p{ margin:0; color:var(--tinta-2); }
.cartao-sub{ margin-top:var(--s4) !important; font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--tinta-2); }

/* ---------- lastro ---------- */
.bancada{ display:grid; gap:10px; margin-top:var(--s6); }
.item{ border:1px solid var(--filete); background:var(--superficie); padding:var(--s4) var(--s5); }
.item h3{ margin:0 0 var(--s2); font-family:var(--font-mono); font-size:1rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; }
.item p{ margin:0; color:var(--tinta-2); }

/* ---------- contacto ---------- */
.contacto{ padding-top:var(--s7); background:var(--superficie); border-top:1px solid var(--filete); }
.contact-list{ margin:var(--s6) 0 0; border-top:1px solid var(--filete); }
.contact-row{ display:grid; gap:var(--s2); padding:var(--s4) 0; border-bottom:1px solid var(--filete); }
.contact-row dt{ margin:0; font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--tinta-2); }
.contact-row dd{ margin:0; font-size:1.05rem; }
.contact-row dd a{ display:inline-flex; align-items:center; min-height:44px; color:var(--tinta); text-decoration:none; }
.contact-row dd a:hover{ color:var(--marca); }
.contact-cta{ margin-top:var(--s6); }

/* ---------- rodapé ---------- */
.footer{ padding:var(--s7) 0 var(--s6); }
.footer-top{ display:grid; gap:var(--s5); }
.footer-logo img{ width:clamp(190px, 30vw, 250px); height:auto; }
.footer-linha{ margin:var(--s4) 0 0; font-family:var(--font-mono); font-size:0.85rem; line-height:1.9; color:var(--tinta-2); }
.footer-bottom{ margin-top:var(--s6); padding-top:var(--s4); border-top:1px solid var(--filete); display:flex; flex-wrap:wrap; gap:var(--s2) var(--s5); justify-content:space-between; }
.footer-bottom span{ font-family:var(--font-mono); font-size:0.85rem; color:var(--tinta-2); }

/* ---------- 480px ---------- */
@media (min-width:480px){
  .c-curto{ display:none; }
  .c-longo{ display:inline; }
}

/* ---------- 768px ---------- */
@media (min-width:768px){
  .nav-links{ display:flex; }
  .nav-cta{ margin-left:0; }
  .quadros{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .fases{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .cartoes{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bancada{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .split{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s7); }
  .grid-apoio{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .contact-row{ grid-template-columns:220px minmax(0,1fr); gap:var(--s5); align-items:center; }
  .footer-top{ grid-template-columns:auto 1fr; align-items:start; }
  .footer-meta{ text-align:right; }
}

/* ---------- 1280px ---------- */
@media (min-width:1024px){
  .hero-grid{ grid-template-columns:1fr 1fr; }
  .plano-int{ grid-template-columns:1.25fr 0.75fr; align-items:stretch; }
  .ramo{
    display:block; position:absolute; top:52%; left:58%; right:10px; height:2px; opacity:0.95;
    background:repeating-linear-gradient(90deg, var(--marca) 0 6px, transparent 6px 12px);
    animation:conduta 0.9s linear infinite;
  }
  .fases{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .fase{ position:relative; }
  .fase:not(:last-child)::after{
    content:""; position:absolute; right:-12px; top:50%; width:12px;
    border-top:1.5px dashed var(--filete);
  }
}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
  .conduta,.ramo{ animation:none !important; }
}

/* ===== acréscimos do site: páginas interiores, migalhas e navegação de pé ===== */
.crumb{ display:flex; flex-wrap:wrap; gap:var(--s2); align-items:center; font-family:var(--font-mono);
  font-size:0.85rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--tinta-2); }
.crumb a{ color:var(--tinta-2); text-decoration:none; min-height:44px; display:inline-flex; align-items:center; }
.crumb a:hover{ color:var(--marca); }
.crumb span[aria-current]{ color:var(--tinta); }
.page-hero{ padding:clamp(40px,6vw,88px) 0 clamp(28px,4vw,56px); border-bottom:1px solid var(--filete); }
.page-hero h1{ font-size:clamp(2.1rem,4.6vw,3.5rem); line-height:1.03; margin:var(--s4) 0 0; }
.page-hero .hero-sub{ margin-top:var(--s4); max-width:60ch; }
.prose{ margin-top:var(--s6); }
.prose p{ margin:0 0 var(--s4); max-width:74ch; color:var(--tinta-2); }
.prose p:last-child{ margin-bottom:0; }
.prose strong{ color:var(--tinta); font-weight:500; }
.papel ul{ margin:0; }
.nota{ margin-top:var(--s6); padding:var(--s4) var(--s5); border:1px dashed var(--filete); background:var(--fundo);
  font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.04em; color:var(--tinta-2); }
.ver-tambem{ margin-top:var(--s7); }
.ver-tambem h2{ font-size:clamp(1.4rem,2.4vw,2rem); }
.ver-tambem .fases{ margin-top:var(--s5); }
.ver-tambem .fase a{ display:inline-flex; align-items:center; min-height:44px; margin-top:var(--s2);
  color:var(--marca); text-decoration:none; font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.06em; }
.ver-tambem .fase a:hover{ text-decoration:underline; }
.footer-nav{ display:flex; flex-wrap:wrap; gap:0 var(--s5); margin-top:var(--s5); padding-top:var(--s4);
  border-top:1px solid var(--filete); }
.footer-nav a{ display:inline-flex; align-items:center; min-height:44px; color:var(--tinta-2);
  text-decoration:none; font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.03em; }
.footer-nav a:hover{ color:var(--marca); }
.quadro-link, .item-link{ margin-top:var(--s4); }

/* ===== WhatsApp: símbolo dentro dos botões ===== */
.simbolos{ position:absolute; width:0; height:0; overflow:hidden; }
.icone{ width:1.15em; height:1.15em; flex:none; }
.btn .icone{ margin-right:var(--s2); }
.nav-cta .icone{ margin-right:var(--s1); }

/* Rótulo do hero: a localidade («Torres Novas - Portugal») fica num bloco só, para a quebra
   de linha, quando acontece, cair depois do «·» e nunca a deixar o «Portugal» sozinho. */
.kicker-local{ white-space:nowrap; }

/* ===== consumíveis: pesquisa por referência e resultados ===== */
.pesquisa{ margin-top:var(--s5); padding:var(--s5); border:1px solid var(--filete); background:var(--superficie); }
.pesquisa-linha{ display:grid; gap:var(--s4); }
.campo label{ display:block; margin-bottom:var(--s2); font-family:var(--font-mono); font-size:0.85rem;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--tinta-2); }
.campo input, .campo select{ width:100%; min-height:48px; padding:var(--s3) var(--s4);
  font-family:var(--font-body); font-size:1rem; color:var(--tinta); background:var(--fundo);
  border:1px solid var(--filete); border-radius:0; -webkit-appearance:none; appearance:none; }
.campo select{ background-image:linear-gradient(45deg, transparent 50%, var(--tinta-2) 50%),
  linear-gradient(135deg, var(--tinta-2) 50%, transparent 50%);
  background-position:calc(100% - 20px) 22px, calc(100% - 14px) 22px; background-size:6px 6px; background-repeat:no-repeat; }
.campo input:focus, .campo select:focus{ outline:2px solid var(--marca); outline-offset:1px; }
.pesquisa-conta{ margin:var(--s4) 0 0; font-family:var(--font-mono); font-size:0.85rem;
  letter-spacing:0.06em; color:var(--tinta-2); }
.pesquisa-conta b{ color:var(--marca); font-weight:600; font-variant-numeric:tabular-nums; }
.resultados{ margin-top:var(--s6); }
.referencia{ display:inline-block; margin-left:var(--s2); padding:1px var(--s2); border:1px solid var(--filete);
  font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.04em; color:var(--marca);
  white-space:nowrap; font-weight:500; }
.vazio{ margin-top:var(--s5); padding:var(--s5); border:1px dashed var(--filete); color:var(--tinta-2); }
.vazio strong{ color:var(--tinta); }
.pesquisa-acoes{ margin-top:var(--s5); padding-top:var(--s5); border-top:1px solid var(--filete);
  display:grid; gap:var(--s3); justify-items:start; }
.pesquisa-dica{ margin:0; color:var(--tinta-2); font-size:1rem; max-width:70ch; }
/* ---------- seletor do tipo de organização (página do sistema local de IA) ---------- */
.org-textos{ margin-top:var(--s6); }
.org-texto{ max-width:84ch; border:1px solid var(--filete); background:var(--superficie); padding:var(--s5); }
.org-texto h3{ margin-bottom:var(--s3); }
.org-texto p{ margin:0; max-width:80ch; color:var(--tinta-2); }
.org-texto p strong{ color:var(--tinta); font-weight:500; }

/* Esquema do sistema: aqui o plano é uma coluna só (na página inicial tem duas). */
.plano-so .plano-int{ grid-template-columns:1fr; }
.mais{ margin-top:var(--s5); }
.mais button{ cursor:pointer; background:transparent; }
@media (min-width:768px){
  .pesquisa-linha{ grid-template-columns:1.7fr 1fr 1fr 1.1fr; align-items:end; }
}

/* ===== preçário: índice de famílias e tabelas de valores ===== */
.indice-precos{ display:grid; gap:10px; margin-top:var(--s6); }
.indice-precos a{
  display:flex; align-items:center; justify-content:space-between; gap:var(--s4);
  min-height:44px; padding:var(--s4) var(--s5);
  border:1px solid var(--filete); background:var(--superficie);
  font-family:var(--font-mono); font-size:1rem; letter-spacing:0.03em;
  color:var(--tinta); text-decoration:none;
}
.indice-precos a:hover{ border-color:var(--marca); color:var(--marca); }
.indice-precos span{ color:var(--marca); font-variant-numeric:tabular-nums; }
.grupo-preco{ scroll-margin-top:120px; }
.grupo-num{ margin-right:var(--s3); font-family:var(--font-mono); font-size:0.9rem;
  font-weight:600; letter-spacing:0.14em; color:var(--marca); font-variant-numeric:tabular-nums;
  vertical-align:0.28em; }
.tabela-precos{ width:100%; margin-top:var(--s6); border-collapse:collapse; font-variant-numeric:tabular-nums; }
.tabela-precos th, .tabela-precos td{ padding:var(--s3) var(--s4); border-bottom:1px solid var(--filete);
  text-align:left; font-weight:400; font-size:1rem; vertical-align:baseline; }
.tabela-precos th{ padding-left:0; color:var(--tinta); }
.tabela-precos td{ width:1%; padding-right:0; text-align:right; white-space:nowrap;
  font-family:var(--font-mono); color:var(--tinta); }
.tabela-precos tr:hover th, .tabela-precos tr:hover td{ background:var(--superficie); }
.tabela-precos tbody tr:last-child th, .tabela-precos tbody tr:last-child td{ border-bottom:none; }
.so-leitor{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.nota h3{ margin-bottom:var(--s3); font-family:var(--font-mono); font-size:1rem; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--marca); }
.nota p{ margin:0 0 var(--s3); max-width:84ch; line-height:1.7; }
.nota p:last-child{ margin-bottom:0; }
.nota strong{ color:var(--tinta); font-weight:500; }
@media (min-width:768px){
  .indice-precos{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

/* ===== menu de topo: seis itens =====
   Com o item "Preçário", a linha do menu passou a ficar sem folga no contentor de
   1200 px e o rótulo "Quem somos" (o único com espaço) começou a partir-se em duas
   linhas no ecrã largo. Aqui fixam-se as duas coisas: rótulos sem quebra e menos
   folga entre itens, o que devolve ~14 px de folga a 1200 px. */
/* Sete itens: o menu cobre todas as páginas. A 16,2 px cabe a partir de 1200 px; abaixo
   disso entra a faixa compacta. Medido a 500/768/900/1024/1199/1200/1440 px. */
.nav-links{ gap:0; }
.nav-links a{ white-space:nowrap; font-size:0.9rem; padding:var(--s2) 6px; letter-spacing:0.01em; }

/* ===== menu de topo na faixa de tablet (768 a 1199 px) =====
   Com seis itens, a barra completa pede 1185 px: entre 768 e 1199 px o botão
   "Pedir proposta" saía recortado, e o corte era silencioso porque o body tem
   overflow-x:clip (sem barra de deslocamento e sem aviso). Abaixo de 1200 px a barra
   passa a compacta: logótipo menor, rótulos entre 14,0 px (a 768 px) e 15,3 px (a
   1199 px), botão curto, sem folga entre itens e sem quebra de rótulo. Acima de
   1200 px nada muda. Medido: a 768 px sobram 15 px até à margem e a barra fica nos
   73 px de altura em toda a faixa. */
@media (min-width:768px) and (max-width:1199px){
  .brand img{ width:clamp(88px, 12vw, 120px); }
  .nav-inner{ gap:var(--s1); }
  .nav-links a{ font-size:calc(0.4vw + 10.5px); padding:var(--s2) 3px; }
  .nav-cta{ padding:var(--s2) 6px; font-size:calc(0.4vw + 10.5px); }
  .nav-cta .c-longo{ display:none; }
  .nav-cta .c-curto{ display:inline; }
}
