/* pid.geotechnical.com.do: estilos compartidos de /cliente y /empresa */
:root {
  --basalto: #24282d;
  --basalto-2: #33383e;
  --caliza: #dfe0dc;
  --caliza-2: #ecedea;
  --polvo: #b9b7ae;
  --gris: #62666a;
  --amarillo: #eeb111;
  --oxido: #8c3a23;
  --vegetal: #6b6a3a;
  --topo: #2e5c86;
  --ok: #3d7a4a;
  --error: #a3341f;
  --ancho: 1180px;
  --gutter: clamp(16px, 4vw, 48px);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--caliza);
  color: var(--basalto);
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.55;
  font-variant-numeric: tabular-nums;
  font-variation-settings: 'wdth' 100;
}
img, svg { display: block; max-width: 100%; }
a { color: var(--topo); }
:focus-visible { outline: 3px solid var(--amarillo); outline-offset: 2px; }

h1, h2, h3 {
  font-weight: 800;
  font-variation-settings: 'wdth' 118;
  line-height: 1.04;
  letter-spacing: -0.012em;
  margin: 0;
  text-wrap: balance;
}
h1 { font-size: clamp(2.3rem, 5.4vw, 4.5rem); }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.6rem); }
h3 { font-size: 1.15rem; font-variation-settings: 'wdth' 110; letter-spacing: 0; }
p { margin: 0 0 1em; max-width: 64ch; }
.lead { font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.45; max-width: 52ch; }
.muted { color: var(--gris); }
.num { font-variation-settings: 'wdth' 112; font-weight: 750; }

.wrap { max-width: var(--ancho); margin: 0 auto; padding: 0 var(--gutter); }

.topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding-top: 20px; padding-bottom: 20px;
}
.marca { display: flex; align-items: center; gap: 10px; font-weight: 800; font-variation-settings: 'wdth' 120; text-decoration: none; color: inherit; font-size: 1.05rem; }
.marca .logo { height: 50px; width: auto; display: block; }
.pie-marca { display: inline-flex; align-items: center; gap: 12px; }
.pie-marca .logo { height: 36px; width: auto; }

.btn {
  font: inherit; font-weight: 700; font-variation-settings: 'wdth' 108;
  border: 2px solid var(--basalto); background: var(--basalto); color: var(--caliza-2);
  padding: 10px 18px; border-radius: 3px; cursor: pointer; text-decoration: none; display: inline-block;
}
.btn:hover { background: var(--basalto-2); }
.btn.sec { background: transparent; color: var(--basalto); }
.btn.sec:hover { background: var(--caliza-2); }
.btn.amarillo { background: var(--amarillo); border-color: var(--amarillo); color: var(--basalto); }
.btn:disabled { opacity: .45; cursor: not-allowed; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
