/* ==========================================================
   Belphus Group — front page styles
   Enqueue after the Astra parent stylesheet, e.g. in functions.php:

   function belphus_enqueue_styles() {
       wp_enqueue_style( 'astra-parent', get_template_directory_uri() . '/style.css' );
       wp_enqueue_style( 'belphus-custom', get_stylesheet_directory_uri() . '/assets/css/belphus-custom.css', array( 'astra-parent' ), '1.0' );
       wp_enqueue_google_fonts_belphus(); // see below, or add via Astra's Google Fonts field
   }
   add_action( 'wp_enqueue_scripts', 'belphus_enqueue_styles' );
   ========================================================== */

:root {
    --bg-navy: #2A3EB1;
    --bg-navy-tint: #1F2F8A;
    --bg-gold: #FF5C00;
    --bg-gold-soft: #FF7A33;
    --bg-cream: #F4F5FA;
    --bg-ink: #171717;
    --bg-line: #DADFF0;
    --bg-serif: 'Fraunces', Georgia, serif;
    --bg-sans: 'Inter', -apple-system, sans-serif;
}

.belphus-home { color: var(--bg-ink); font-family: var(--bg-sans); }
.bg-container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.bg-section-title { font-family: var(--bg-serif); font-size: 2rem; font-weight: 500; margin: 0 0 32px; }
.bg-section-title--inverse { color: var(--bg-cream); }
.bg-section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 32px; flex-wrap: wrap; gap: 12px; }
.bg-link { color: var(--bg-navy); text-decoration: none; border-bottom: 1px solid var(--bg-gold); padding-bottom: 2px; font-size: 0.95rem; }
.bg-link:hover { border-color: var(--bg-navy); }

.bg-btn { display: inline-block; padding: 13px 28px; font-size: 0.95rem; text-decoration: none; border-radius: 2px; border: 1px solid transparent; }
.bg-btn--gold { background: var(--bg-gold); color: var(--bg-navy); font-weight: 600; }
.bg-btn--gold:hover { background: var(--bg-gold-soft); }
.bg-btn--ghost { border-color: var(--bg-cream); color: var(--bg-cream); }
.bg-btn--ghost:hover { background: rgba(245,243,238,0.08); }

/* Hero — asymmetric, left-aligned text */
.bg-hero { background: var(--bg-navy); color: var(--bg-cream); padding: 96px 0 80px; }
.bg-hero__inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: center; }
.bg-eyebrow { font-family: var(--bg-sans); letter-spacing: 0.04em; color: var(--bg-gold); font-size: 0.9rem; margin: 0 0 16px; }
.bg-hero__headline { font-family: var(--bg-serif); font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1.1; font-weight: 500; margin: 0 0 20px; max-width: 14ch; }
.bg-hero__sub { font-size: 1.05rem; line-height: 1.6; max-width: 46ch; color: rgba(245,243,238,0.82); margin: 0 0 32px; }
.bg-hero__cta { display: flex; gap: 16px; flex-wrap: wrap; }
.bg-hero__media img { width: 100%; height: 420px; object-fit: cover; border-radius: 2px; }
.bg-hero__media-placeholder { width: 100%; height: 420px; background: var(--bg-navy-tint); border: 1px dashed rgba(245,243,238,0.3); display: flex; align-items: center; justify-content: center; color: rgba(245,243,238,0.5); }

/* Stat bar */
.bg-stats { background: var(--bg-cream); border-bottom: 1px solid var(--bg-line); }
.bg-stats__row { display: flex; justify-content: space-between; padding: 40px 24px; flex-wrap: wrap; gap: 24px; }
.bg-stat { display: flex; flex-direction: column; gap: 4px; }
.bg-stat__value { font-family: var(--bg-serif); font-size: 2rem; color: var(--bg-navy); }
.bg-stat__label { font-size: 0.85rem; color: #6b6b6b; }

/* Sectors — thin rule-separated row, not icon cards */
.bg-sectors { padding: 72px 0; background: #fff; }
.bg-sectors__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.bg-sectors__list li { padding: 8px 24px 8px 0; margin-right: 24px; border-right: 1px solid var(--bg-line); font-size: 1.05rem; }
.bg-sectors__list li:last-child { border-right: none; }

/* Business units — numbered ledger list */
.bg-units { padding: 72px 0; background: var(--bg-cream); }
.bg-units__list { list-style: none; margin: 0; padding: 0; }
.bg-unit { display: grid; grid-template-columns: 60px 1fr 140px; align-items: center; gap: 24px; padding: 24px 0; border-top: 1px solid var(--bg-line); }
.bg-unit:last-child { border-bottom: 1px solid var(--bg-line); }
.bg-unit__index { font-family: var(--bg-serif); color: var(--bg-gold); font-size: 1.4rem; }
.bg-unit__name { margin: 0 0 6px; font-family: var(--bg-serif); font-size: 1.3rem; font-weight: 500; }
.bg-unit__name a { color: var(--bg-navy); text-decoration: none; }
.bg-unit__excerpt { margin: 0; color: #55555a; font-size: 0.95rem; }
.bg-unit__thumb img { width: 140px; height: 90px; object-fit: cover; border-radius: 2px; }
.bg-unit--empty { grid-template-columns: 1fr; color: #888; font-style: italic; }

/* News grid */
.bg-news { padding: 72px 0; background: #fff; }
.bg-news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.bg-news__card { display: block; text-decoration: none; color: var(--bg-ink); }
.bg-news__card img { width: 100%; height: 180px; object-fit: cover; border-radius: 2px; margin-bottom: 14px; }
.bg-news__date { font-size: 0.8rem; color: var(--bg-gold); }
.bg-news__card h3 { font-family: var(--bg-serif); font-size: 1.15rem; margin: 6px 0 0; font-weight: 500; }

/* Callout */
.bg-callout { background: var(--bg-navy-tint); padding: 64px 0; }
.bg-callout__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.bg-callout__quote { font-family: var(--bg-serif); font-size: 1.5rem; color: var(--bg-cream); max-width: 60ch; margin: 0; font-style: normal; line-height: 1.4; }
.bg-callout .bg-link { color: var(--bg-gold); border-color: var(--bg-gold); }

/* Newsletter */
.bg-newsletter { background: var(--bg-navy); padding: 64px 0; }
.bg-newsletter__inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.bg-newsletter__inner p { color: rgba(245,243,238,0.75); margin: 0; }
.bg-newsletter__form { display: flex; gap: 12px; }
.bg-newsletter__form input { padding: 12px 16px; border: 1px solid rgba(245,243,238,0.3); background: transparent; color: var(--bg-cream); border-radius: 2px; min-width: 240px; }
.bg-newsletter__form input::placeholder { color: rgba(245,243,238,0.5); }

/* Responsive */
@media (max-width: 860px) {
    .bg-hero__inner { grid-template-columns: 1fr; }
    .bg-unit { grid-template-columns: 44px 1fr; }
    .bg-unit__thumb { display: none; }
    .bg-news__grid { grid-template-columns: 1fr; }
    .bg-newsletter__inner, .bg-callout__inner { flex-direction: column; align-items: flex-start; }
}

/* Reduced motion / focus visibility */
.bg-btn:focus-visible, .bg-link:focus-visible { outline: 2px solid var(--bg-gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
