/* ================================================================
   AIC BRAND LAYER — shared by every page
   Self-hosted fonts (no Google Fonts), display serif for headings,
   better contrast, visible keyboard focus, reduced-motion support.
================================================================ */
@font-face {
  font-family: 'Outfit';
  src: url('../fonts/outfit-var.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-var.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --serif: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --paper: #F2F0E9;
  --amber-ink: #7A5F2C;
}

/* Display serif for page titles and article / programme headings */
h1,
.article-hero h1,
.prog-hero .prog-title,
.article-body h2,
.prog-section h2,
.prog-cta-section h2,
.article-cta h3,
.thanks-hero h1 {
  font-family: var(--serif);
  font-weight: 700;
  letter-spacing: -0.035em;
}
.article-hero h1 { font-size: clamp(30px, 4.6vw, 44px); line-height: 1.12; }
.article-body h2 { font-size: 27px; line-height: 1.2; }
.prog-section h2 { font-size: 30px; line-height: 1.15; }
.prog-cta-section h2 { font-size: 32px; }
.article-cta h3 { font-size: 28px; }

/* Readable, calm body copy */
.article-body p { color: #2A2A2C; line-height: 1.8; }
.article-body li { color: #2A2A2C; }

/* Footer contrast (was 20 to 35 percent white, now readable) */
.footer-brand p,
.footer-links a,
.footer-contact p,
.footer-contact a { color: rgba(255, 255, 255, 0.72); font-weight: 400; }
.footer-bottom p { color: rgba(255, 255, 255, 0.6); }
.footer-bottom a { color: rgba(255, 255, 255, 0.72); }

/* Keyboard focus */
:focus-visible { outline: 3px solid #C7A66A; outline-offset: 3px; }

/* Popup: matches the homepage */
.popup-modal { border-radius: 4px; border-top: 3px solid #C7A66A; }
.popup-tag { display: none; }
.popup-header h2 { font-family: var(--serif); font-weight: 500; font-size: 30px; letter-spacing: -0.01em; }
.popup-header p { color: #5C5850; font-size: 15px; }
.form-group label { text-transform: none; letter-spacing: 0; font-size: 13px; }
.form-group input, .form-group select, .form-group textarea { font-size: 16px; background: #F2F0E9; border-color: #D8D4C8; border-radius: 3px; }
.form-note { color: #5C5850; font-size: 13px; }
.popup-close:hover { color: #111112; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.popup-modal .btn-outline { color: #111112; border-color: #111112; }
.popup-modal .btn-outline:hover { background: #111112; color: #fff; }
.btn-gold { min-height: 48px; }

/* Shared logo lockup (matches the home page) */
.navbar .nav-logo { display: flex; align-items: center; gap: 13px; }
.nav-logo-icon { height: 40px; width: auto; }
.nav-logo-primary { display: block; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; line-height: 1.2; }
.nav-logo-sub { display: block; color: #C7A66A; font-size: 10px; font-weight: 600; letter-spacing: 4px; text-transform: uppercase; margin-top: 2px; }
@media (max-width: 520px) { .navbar .nav-logo-text { display: none; } }

/* Back links were dark grey on navy */
.article-hero .back-link, .prog-hero .back-link { color: rgba(255, 255, 255, 0.8); }
.article-hero .back-link { display: block; margin-bottom: 18px; }
.article-hero .back-link:hover, .prog-hero .back-link:hover { color: #C7A66A; }
