/* Camada de setor · construtora e incorporadora (V-63, pedido do Pedro em 02/11/2026; mesmo molde da mineração, V-61, e da logística, V-62).
   Uma extensão da direção A, nunca marca nova: logo, Host Grotesk + IBM Plex Mono, Grafite como tinta e UM Vermelho Sinal por tela
   continuam iguais. A camada troca só o que é do setor: os neutros frios viram os tons de canteiro (argamassa, reboco, aço, junta),
   entra o grão de concreto, os padrões de andaime e de planta baixa, a fotografia de obra tratada e os ícones de canteiro (icones.svg).
   Uso: carregue DEPOIS do a.css e marque a raiz: <html data-setor="construtora">. Tema claro e escuro seguem o a.css (data-theme).
   Fonte: C:\strapasson\brand\templates\verticais\construtora\ (README.md). Cópia no site: site\public\demo\construtora\setor.css. */

/* ---------- paleta: os neutros da marca trocados pelos do canteiro (os papéis --bg --ink-muted --line do a.css seguem sozinhos) ---------- */
[data-setor="construtora"] {
  --gelo: #F0EEE9;              /* Argamassa: fundo claro, o concreto recém-desformado */
  --superficie: #FAF9F6;        /* Reboco: campo, painel */
  --aco: #5C5E60;               /* Aço: texto de apoio no claro (5,6:1 sobre Argamassa, AA) */
  --trilho: #DCD9D2;            /* Junta: só área apagada (trilha de barra, célula inativa) */
  --fundo-escuro: #151514;      /* Laje à noite: fundo escuro */
  --superficie-escura: #1F1E1C; /* Forma à noite */
  --texto-claro: #F0EEE9;       /* Argamassa: texto no escuro */
  --aco-claro: #A5A29C;         /* Cimento: texto de apoio no escuro (7,2:1 sobre Laje à noite, AA) */
  --fio-escuro: #33312E;        /* só área apagada no escuro */

  /* tons de canteiro, SÓ ÁREA (mapa, planta, gráfico): nunca texto, nunca fio */
  --o-terreno: #E5E2DB; --o-serra: #D5D2CA; --o-mar: #C8CBCB; --o-quadra: #EAE8E2;
  --o-rua: #B9B6AE;     --o-obra: #CFCBC2;  --o-planta: #16181B;
  --o-grao: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .09 0 0 0 0 .08 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
[data-setor="construtora"][data-theme="dark"] {
  --o-terreno: #1D1C1A; --o-serra: #262522; --o-mar: #101112; --o-quadra: #22211E;
  --o-rua: #45433F;     --o-obra: #34322E;  --o-planta: #F0EEE9;
  --o-grao: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .94 0 0 0 0 .93 0 0 0 0 .91 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark) {
  [data-setor="construtora"]:not([data-theme="light"]) {
    --o-terreno: #1D1C1A; --o-serra: #262522; --o-mar: #101112; --o-quadra: #22211E;
    --o-rua: #45433F;     --o-obra: #34322E;  --o-planta: #F0EEE9;
    --o-grao: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .94 0 0 0 0 .93 0 0 0 0 .91 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  }
}

/* ---------- grão de concreto: textura fina por cima do fundo, nunca por cima de texto pequeno em bloco ---------- */
.o-grao { background-image: var(--o-grao); background-size: 160px; }
@media print { .o-grao { background-image: none; } }

/* ---------- padrões: andaime (pé de seção, capa) e planta baixa (área), da cor da tinta pela máscara ---------- */
.o-andaime { display: block; height: 64px; background: currentColor; -webkit-mask: var(--o-andaime-url, url("padroes/andaime.svg")) 0 0 / 240px 100% repeat-x; mask: var(--o-andaime-url, url("padroes/andaime.svg")) 0 0 / 240px 100% repeat-x; }
.o-planta { display: block; height: 160px; background: currentColor; -webkit-mask: var(--o-planta-url, url("padroes/planta.svg")) 0 0 / 320px 160px repeat; mask: var(--o-planta-url, url("padroes/planta.svg")) 0 0 / 320px 160px repeat; }

/* ---------- fotografia: obra de verdade, tratada (fotos/tratar.mjs), canto reto, uma protagonista por tela ---------- */
.o-foto { position: relative; display: block; overflow: hidden; background: var(--o-serra); }
.o-foto > img, .o-foto > video { display: block; width: 100%; height: 100%; object-fit: cover; }
/* o grão também passa por cima da foto: junta foto, tela e fundo num material só */
.o-foto::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: var(--o-grao); background-size: 160px; opacity: .8; }

/* ---------- ícones (icones.svg): 24 px, traço 1,5; a célula acende só se for o vermelho da tela ---------- */
.o-ic { width: 24px; height: 24px; flex: none; }
.o-ic.acesa .celula { fill: var(--signal); }
