/* France Media Group brand tokens — source of truth is _brand/BRAND.md.
   Copy to assets/brand.css and link it from every page (_brand/ is not served). */
:root {
  --brand-primary: #0B2A4A;      /* TBC */
  --brand-accent: #C8102E;       /* TBC */
  --brand-ink: #1F2933;
  --brand-muted: #52606D;
  --brand-surface: #FFFFFF;
  --brand-surface-alt: #F4F6F8;
  --brand-border: #D9DEE3;

  --font-heading: "Playfair Display", Georgia, serif;          /* TBC */
  --font-body: "Inter", "Helvetica Neue", Arial, sans-serif;   /* TBC */

  --content-max: 1120px;
  --gutter: 24px;
  --section-pad: 64px;
  --radius: 6px;
}

html { font-family: var(--font-body); color: var(--brand-ink); background: var(--brand-surface); line-height: 1.5; }
h1, h2, h3 { font-family: var(--font-heading); line-height: 1.2; color: var(--brand-primary); }
h1 { font-size: 2.5rem; } h2 { font-size: 1.75rem; } h3 { font-size: 1.25rem; }
a { color: var(--brand-primary); }

.container { max-width: var(--content-max); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: var(--section-pad) 0; }
.section--alt { background: var(--brand-surface-alt); }

.btn { display: inline-block; padding: 12px 24px; border-radius: var(--radius); font-weight: 600; text-decoration: none; border: 2px solid var(--brand-primary); }
.btn--primary { background: var(--brand-primary); color: #fff; }
.btn--secondary { background: transparent; color: var(--brand-primary); }

.ragland-form label { display: block; margin-bottom: 16px; font-weight: 600; }
.ragland-form input:not([type="checkbox"]), .ragland-form select, .ragland-form textarea {
  display: block; width: 100%; min-height: 44px; margin-top: 6px; padding: 10px 12px;
  border: 1px solid var(--brand-border); border-radius: var(--radius); font: inherit;
}
.ragland-form input:focus, .ragland-form select:focus, .ragland-form textarea:focus {
  outline: 3px solid var(--brand-accent); outline-offset: 1px;
}
.ragland-form .error { color: var(--brand-accent); font-size: 0.875rem; }

@media (max-width: 720px) {
  :root { --section-pad: 40px; }
  h1 { font-size: 2rem; }
}
