/* tokens.css - company-formation-in-romania.com (FormaRoman Group). The source of truth for colour, type, space and shape
 * (DESIGN.md sections 1-4). Three layers: primitives (--p-*), semantic roles (--c-*, --f-*, --s-*), components
 * (--btn-*, --card-*, --field-*). Measured from the owner's design variant A (bollag.ch, harvested live 2026-10-17 to
 * drafts/design-harvest/variant-a): Baskerville headings in capitals at weight 500, a quiet sans for copy, the bronze-gold
 * accent #6f5e20 (the owner chose it on 2026-10-17; kept exactly, as are its white ground and its neutral greys #f3f3f3 / #f8f8f8 (the owner asked on 2026-10-17 for the colours exactly as in the original), square
 * buttons and frames, natural-colour photographs, light khaki bands, a grey gradient footer over a white copyright row.
 * Substituted for this site: Libre Baskerville for the reference's licensed baskerville-urw, Source Sans 3 for its Lato
 * (Lato is gmbh-austria.com's face, 56% likeness measured).
 * oklch values, the hex each one resolves to in the comment; contrast against white in brackets. */
:root {
  /* ---------- primitives ---------- */
  --p-ink:        oklch(27.7% 0.000 89.9);   /* #282828  headings, the darkest text: the reference's text colour (14.7:1 on white) */
  --p-ink-80:     oklch(38.5% 0.014 256.8);     /* #3f444b  body copy: the reference's #3f444b (9.8:1 on white) */
  --p-muted:      oklch(46.2% 0.012 252.9);    /* #54595f  captions, meta, the statement column: the reference's #54595f (7.1:1 on white) */
  --p-white:      oklch(100% 0 0);            /* #ffffff  the reference's ground */
  --p-stone:      oklch(96.4% 0.000 89.9);    /* #f3f3f3  surfaces: the reference's #f3f3f3 (1.1:1 on white) */
  --p-stone-50:   oklch(97.9% 0.000 89.9);    /* #f8f8f8  field fills, infographic panels: the reference's #f8f8f8 section band (1.1:1 on white) */
  --p-stone-300:  oklch(94.3% 0.002 247.8);    /* #ebeced  hairlines: the reference's #ebeced (1.2:1 on white) */
  --p-stone-500:  oklch(87.8% 0.002 17.2);    /* #d8d6d6  strong hairlines: the reference's #d8d6d6 (1.4:1 on white) */
  --p-bronze:     oklch(48.6% 0.083 93.6);    /* #6f5e20  THE accent, the reference's #6f5e20 (6.4:1 on white) */
  --p-bronze-700: oklch(42.0% 0.070 93.4);    /* #5a4c1a  hover and pressed (the accent one step darker) (8.5:1 on white) */
  --p-bronze-400: oklch(65.7% 0.082 94.9);    /* #a19155  the reference's light gold: rules and numerals on dark grounds, never text on white (3.1:1 on white) */
  --p-bronze-50:  oklch(95.4% 0.016 95.2);    /* #f3f0e4  tint: callouts, law chips (the accent at low chroma) (1.1:1 on white) */
  --p-wash:       oklch(71.4% 0.033 95.0);   /* #a9a38c  the reference's khaki band (#b5af95 -> #a09a8a, sampled from /legal/) */
  --p-wash-2:     oklch(68.7% 0.024 89.8);   /* #a09a8a  the band's lower stop */
  --p-graphite-1: oklch(68.6% 0.011 267.3);   /* #979aa1  footer gradient, top (sampled from the owner's save) */
  --p-graphite-2: oklch(41.0% 0.014 232.0);   /* #434c51  footer gradient, bottom */
  --p-mist:       oklch(97.0% 0.010 267.4);   /* #f2f5fc  the enquiry box "How can we be of assistance?" */
  --p-card:       oklch(98.5% 0.004 179.7);   /* #f7fbfa  the service cards' body */
  --p-green:      oklch(52.6% 0.115 146.4);   /* #367c40  the legal links under the footer (the reference's #5ca566, darkened to 4.9:1 on white) */

  /* ---------- semantic ---------- */
  --c-bg: var(--p-white);
  --c-band: var(--p-stone-50);               /* the reference's #f8f8f8 section band */
  --c-soft: var(--p-stone-50);
  --c-text: var(--p-ink-80);
  --c-ink: var(--p-ink);
  --c-muted: var(--p-muted);
  --c-line: var(--p-stone-300);
  --c-line-strong: var(--p-stone-500);
  --c-accent: var(--p-bronze);
  --c-accent-hover: var(--p-bronze-700);
  --c-accent-ink: var(--p-bronze);            /* the accent as a foreground (6.8:1 on white, 6.0:1 on stone) */
  --c-accent-tint: var(--p-bronze-50);
  --c-accent-light: var(--p-bronze-400);
  --c-on-accent: var(--p-white);
  --c-wash: var(--p-wash);
  --c-wash-2: var(--p-wash-2);
  --c-mist: var(--p-mist);
  --c-card: var(--p-card);
  --c-legal-link: var(--p-green);
  --c-footer-top: var(--p-graphite-1);
  --c-footer-bottom: var(--p-graphite-2);
  --c-on-footer: var(--p-white);
  --c-veil: var(--p-graphite-2);
  --c-focus: var(--p-bronze);

  /* type: Libre Baskerville for headings, the wordmark and figures (capitals); Source Sans 3 for copy (self-hosted, fonts.css) */
  --f-display: 'Libre Baskerville', Baskerville, 'Times New Roman', serif;
  --f-text: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  --w-display: 400;                           /* Libre Baskerville's regular reads as the reference's 500 */
  --w-strong: 600;
  --w-body: 400;
  --tt-display: uppercase;                    /* the reference sets every heading in capitals */
  --f-h1: clamp(1.75rem, 1.2rem + 2vw, 2.625rem);      /* 28 -> 42 px: the hero title (the reference: 40 px) */
  --f-h1-inner: clamp(1.6rem, 1.1rem + 2vw, 2.5rem);    /* 26 -> 40 px: service, shelf and guide titles */
  --f-h2: clamp(1.25rem, 1rem + 1vw, 1.75rem);         /* 20 -> 28 px (the reference's 30 px section heads, capitals run wide) */
  --f-h3: clamp(1rem, 0.92rem + 0.35vw, 1.1875rem);     /* 16 -> 19 px, capitals (the reference's 20 px Libre Baskerville) */
  --f-figure: clamp(1.75rem, 1.3rem + 1.6vw, 2.6rem);
  --f-body: 1.0625rem;                                  /* 17 px (the reference: 14-20 px Lato; 17 keeps 68ch on 1140) */
  --f-lead: 1.1875rem;                                  /* 19 px */
  --f-small: 0.9375rem;                                 /* 15 px */
  --f-tiny: 0.8125rem;                                  /* 13 px: the top contact line, the footer */
  --f-nav: 0.9375rem;                                   /* 15 px, capitals, tracked (the reference's menu) */
  --lh-body: 1.7;                                       /* the reference runs 1.9; 1.7 at 17 px keeps long guides compact */
  --lh-tight: 1.2;                                      /* the reference's 48/40 */
  --ls-display: 0.03em;
  --ls-caps: 0.09em;

  /* space (8 px base) */
  --s-1: 0.25rem; --s-2: 0.5rem; --s-3: 0.75rem; --s-4: 1rem; --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4.5rem; --s-9: 7rem;
  --sec-pad: clamp(3.25rem, 2rem + 4vw, 6.5rem);        /* sections separated by space (the reference: 72-110 px) */
  --side-pad: clamp(1rem, 0.3rem + 3vw, 3rem);
  --max-width: 1140px;                                  /* the reference's 1090 px content column, one step wider */
  --text-col: 68ch;
  --header-h: 88px;                                     /* the reference: 151 px including the contact line; trimmed to the composition limit (90 px) */

  /* shape: square everything (the reference has one radius: none); round only the portraits */
  --r-none: 0;
  --r-round: 50%;
  --shadow-card: 0 1px 2px oklch(23.4% 0.004 106.7 / 0.06), 0 8px 24px oklch(23.4% 0.004 106.7 / 0.08);  /* the reference's soft card shadow */

  /* ---------- components ---------- */
  --btn-h: 46px;
  --btn-pad: 0 26px;
  --btn-bg: var(--c-accent);
  --btn-text: var(--c-on-accent);
  --btn-hover-bg: var(--c-accent-hover);
  --btn-ghost-border: 1px solid currentColor;
  --rule-short: 60px;                                   /* the short rule under a hero title */
  --rule-weight: 2px;
  --card-pad: clamp(1.25rem, 1rem + 1vw, 2rem);
  --field-h: 52px;
  --field-bg: var(--p-stone);
  --field-focus-bar: 3px solid var(--c-accent);

  --t-fast: 0.2s ease;
  --t-slow: 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}
