/* Shared identity: load last on every public page, including translations. */
:root {
  --brand-red: #c1272d;
  --brand-blue: #0b4ea2;
  --brand-navy: #062c5c;
  --brand-white: #ffffff;
  --c-primary: var(--brand-blue);
  --c-primary-700: #083a7a;
  --c-primary-900: var(--brand-navy);
  --c-primary-100: #e8f1fb;
  --c-accent: var(--brand-red);
  --c-accent-700: #96181d;
  --c-accent-soft: #fbeaea;
  --c-paper: var(--brand-white);
  --c-paper-alt: #f4f8fb;
  --c-ink: #0f2438;
  --c-ink-2: #3d5468;
  --c-ink-3: #64788b;
  --c-line: #e1e9f0;
  --v3-paper: var(--c-paper);
  --v3-paper-alt: var(--c-paper-alt);
  --v3-ink: var(--c-ink);
  --v3-ink-2: var(--c-ink-2);
  --v3-ink-3: var(--c-ink-3);
  --v3-line: var(--c-line);
  --v3-primary: var(--brand-blue);
  --v3-accent: var(--brand-red);
  --v3-accent-700: var(--c-accent-700);
  /* Project stories use these legacy aliases. */
  --ink: var(--c-ink);
  --blue: var(--brand-blue);
  --red: var(--brand-red);
  --paper: var(--c-paper-alt);
  --line: var(--c-line);
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Fraunces', Georgia, serif;
}
body { background: var(--c-paper); color: var(--c-ink); font-family: var(--font-body); }
h1, h2, h3 { font-family: var(--font-display); }
.brand-mark, .site-head .brand { display: flex; align-items: center; flex-shrink: 0; }
.brand-mark__img {
  display: block;
  width: 136px;
  height: auto;
  max-width: 136px;
  max-height: 61px;
  aspect-ratio: 1884 / 835;
  object-fit: contain;
}
@media (max-width: 1399px) {
  .brand-mark__img { width: 108px; max-width: 108px; }
}
.site-header, .site-head { background-color: var(--brand-white); }
/* Reserve the real header height above the home carousel at every breakpoint. */
.v3 .site-header.header-home { position: sticky; top: 0; }
.topbar, .footer-v3, .site-footer, .foot, .closing {
  background-color: var(--brand-navy);
  color: var(--brand-white);
}
.footer-v3 :is(a, p, h2, h3, h4, .footer-v3__brand, .footer-v3__bottom),
.site-footer :is(a, p, h2, h3, h4), .foot :is(a, p), .closing .lead {
  color: var(--brand-white);
}
.btn-cta, .btn-v3, .btn-replica, .cta {
  font-family: var(--font-body);
  border-radius: 10px;
}
.btn-cta--primary, .btn-v3--primary, .btn-v3--dark, .btn-primary, .cta {
  background-color: var(--brand-red);
  border-color: var(--brand-red);
  color: var(--brand-white);
}
.btn-cta--primary:hover, .btn-v3--primary:hover, .btn-v3--dark:hover, .btn-primary:hover, .cta:hover {
  background-color: var(--c-accent-700);
  border-color: var(--c-accent-700);
  color: var(--brand-white);
}
.hero-carousel__actions .btn-replica--outline:not(.btn-replica--whatsapp):not(.btn-replica--phone) {
  background: var(--brand-white);
  border-color: var(--brand-blue);
  color: var(--brand-blue);
}
.hero-carousel__eyebrow { color: var(--brand-white); }
.hero-carousel__eyebrow::before { background: var(--brand-red); }
.hero-carousel__title { font-weight: 600; }
:is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--brand-blue);
  outline-offset: 3px;
}
