/* RANGE Brand Rails v1.4 (2026-10-15) — the ONE web source for type and colour.
   Rules: brand/RANGE-Brand-Rails.md. Both clinics. Marketing, public sites, patient documents.
   NOT the staff app. Never redefine these values in a page — import this file. */

/* Archivo — the typeface of both websites. The Next sites already load it as --font-archivo;
   this face covers any page that does not. */
@font-face { font-family: 'Archivo'; src: url('/brand/rails/fonts/Archivo-Variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'DejaVu Sans Mono'; src: url('/brand/rails/fonts/DejaVuSansMono.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }

:root {
  /* Base */
  --rails-black: #0A0A0A;      /* near-black */
  --rails-paper: #F3F1EC;      /* warm off-white */
  --rails-white: #FFFFFF;
  --rails-logo-ink: #231F20;   /* original dark logo artwork only */
  /* Accent — ONE focal area per section: a CTA, one key word/number, a small label, a divider */
  --rails-red: #7F202C;        /* Sun Day Red maroon — v1.4, owner 2026-10-15; replaced the bright red */
  --rails-red-deep: #651923;   /* hover / pressed */
  /* Secondary gray — decoration only, never essential text */
  --rails-gray-number: #888888;
  --rails-gray-rule: #777777;

  /* Type */
  --rails-font-h1: var(--font-archivo, 'Archivo'), sans-serif;   /* 500, uppercase, -0.02em, lh 1.08 */
  --rails-font-h2: var(--font-archivo, 'Archivo'), sans-serif;   /* 500, uppercase, -0.015em, lh 1.06 */
  --rails-font-headline: var(--rails-font-h1);
  --rails-font-body: var(--font-archivo, 'Archivo'), sans-serif; /* 400; never 300 */
  --rails-font-mono: 'DejaVu Sans Mono', ui-monospace, Menlo, monospace;
}

/* Opt-in helpers */
.rails-h1 { font-family: var(--rails-font-h1); font-weight: 500; text-transform: uppercase; line-height: 1.08; letter-spacing: -0.02em; text-align: left; }
.rails-h2 { font-family: var(--rails-font-h2); font-weight: 500; text-transform: uppercase; line-height: 1.06; letter-spacing: -0.015em; text-align: left; }
.rails-headline { font-family: var(--rails-font-h1); font-weight: 500; text-transform: uppercase; line-height: 1.08; letter-spacing: -0.02em; text-align: left; }
.rails-body { font-family: var(--rails-font-body); font-weight: 400; }
.rails-meta { font-family: var(--rails-font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
.rails-rule { border: 0; border-top: 1px solid var(--rails-gray-rule); }
.rails-cta { background: var(--rails-red); color: var(--rails-white); font-family: var(--rails-font-body); font-weight: 700; border: 0; padding: 14px 22px; }
.rails-photo { filter: none; }  /* v1.4: photography is full colour */
