/* Anvil Child — design tokens (brand-accurate, ported from prototype) */
:root {
  /* Navy primaries */
  --p1: #437594;
  --p1-soft: #6E97B0;
  --p1-tint: #DCE6ED;
  --p2: #084066;
  --p2-deep: #062F4D;
  --p3: #052840;
  --p3-deeper: #03192A;

  /* Gold / accent */
  --s1: #E8AF4F;
  --accent: var(--s1);
  --accent-2: #FBD301;

  /* Ink / rules */
  --ink: #0A1219;
  --ink-soft: #3D4A56;
  --rule: #D8D3C7;

  /* Fondos de sección (valores del prototipo) */
  --paper: #f6f4ef;   /* paper cálido (Trusted By / Meet Your Expert / section-paper) */
  --paper-2: #ECE9E2; /* beige de los chips del heat-map */
  --tint:  #dce6ec;   /* azul claro (§05 Electrical) */
  --black: #000;      /* negro puro (§04 data_hero / §06 fault_hero) */

  /* Type stacks — Swiss721BT base64 intentionally NOT shipped (license) */
  --f-display: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* Layout */
  --container: 1480px;
  --gutter: 40px;
}

/* Shared helpers used across home modules */
.v3-container { max-width: var(--container); margin: 0 auto; width: 100%; }
.v3-section { position: relative; }
.v3-section-pad { padding-left: var(--gutter); padding-right: var(--gutter); }
.v3-mono { font-family: var(--f-mono); letter-spacing: 0.06em; }
.v3-eyebrow {
  display: inline-block; background: var(--s1); color: var(--p3);
  font-family: var(--f-mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; padding: 7px 12px;
}
.v3-h2 {
  font-family: var(--f-display); font-weight: 800;
  font-size: clamp(36px, 4.5vw, 60px); line-height: 1.05;
  letter-spacing: -0.02em; color: var(--p3); margin: 0;
}

@media (max-width: 768px) {
  :root { --gutter: 20px; }
}
