:root {
    --bsfc-blue: #303b8f;
    --bsfc-blue-bright: #4055c7;
    --bsfc-blue-dark: #202966;
    --bsfc-blue-deep: #121b45;
    --bsfc-red: #ad1f24;
    --bsfc-ink: #161d29;
    --bsfc-muted: #667085;
    --bsfc-line: #e5e9f0;
    --bsfc-soft: #f6f8fb;
    --bsfc-pale: #eef2fb;
    --bsfc-white: #fff;
    --bsfc-radius: 18px;
    --bsfc-shadow: 0 20px 55px rgba(28,39,83,.10);
}

html { scroll-behavior: smooth; }
body { background: #fff; color: var(--bsfc-ink); }
.bsfc-main { overflow: hidden; }
.bsfc-shell { width: min(1180px, calc(100% - 36px)); margin-inline: auto; }

/* Kadence header polish */
.site-header, #masthead { background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(19,28,48,.08); }
.site-header-row-container-inner { background: transparent !important; }
.site-branding a.brand img, .site-branding img { max-height: 76px; width: auto; }
.header-navigation .header-menu-container > ul > li > a,
.main-navigation .primary-menu-container > ul > li > a { font-weight: 750; letter-spacing: .025em; color: var(--bsfc-ink); }
.header-navigation .header-menu-container > ul > li > a:hover,
.main-navigation .primary-menu-container > ul > li > a:hover { color: var(--bsfc-blue); }

/* HERO */
.bsfc-hero { position: relative; background: linear-gradient(145deg,#fff 0%,#f9faff 43%,#edf2ff 100%); border-bottom: 1px solid var(--bsfc-line); }
.bsfc-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(48,59,143,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(48,59,143,.025) 1px,transparent 1px); background-size:38px 38px; pointer-events:none; }
.bsfc-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:72px; min-height:680px; padding-block:88px; }
.bsfc-eyebrow,.bsfc-kicker { color:var(--bsfc-blue); text-transform:uppercase; font-size:12px; font-weight:850; letter-spacing:.16em; }
.bsfc-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.bsfc-eyebrow span { width:26px; height:3px; background:var(--bsfc-red); border-radius:10px; }
.bsfc-hero h1 { margin:0; max-width:690px; font-size:clamp(58px,6.2vw,92px); line-height:.93; letter-spacing:-.058em; font-weight:900; color:var(--bsfc-ink); }
.bsfc-hero h1 em { display:block; color:var(--bsfc-blue); font-style:normal; }
.bsfc-lead { max-width:650px; margin:28px 0 0; font-size:19px; line-height:1.65; color:var(--bsfc-muted); }
.bsfc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.bsfc-button { min-height:52px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border-radius:9px; text-decoration:none; text-transform:uppercase; font-size:12px; font-weight:850; letter-spacing:.08em; transition:.2s ease; }
.bsfc-button:hover { transform:translateY(-2px); }
.bsfc-button-primary { color:#fff; background:var(--bsfc-blue); box-shadow:0 14px 30px rgba(48,59,143,.22); }
.bsfc-button-primary:hover { color:#fff; background:var(--bsfc-blue-dark); }
.bsfc-button-secondary { color:var(--bsfc-blue); background:#fff; border:1px solid rgba(48,59,143,.18); }
.bsfc-button-secondary:hover { color:var(--bsfc-blue-dark); border-color:rgba(48,59,143,.38); }
.bsfc-button-white { background:#fff; color:var(--bsfc-blue-dark); }
.bsfc-button-white:hover { color:var(--bsfc-blue); box-shadow:0 12px 32px rgba(7,13,40,.16); }
.bsfc-hero-meta { display:flex; gap:11px; align-items:center; flex-wrap:wrap; margin-top:32px; color:var(--bsfc-muted); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.bsfc-hero-meta i { width:4px; height:4px; border-radius:50%; background:var(--bsfc-red); }
.bsfc-hero-visual { position:relative; display:flex; align-items:center; justify-content:center; min-height:430px; }
.bsfc-logo-stage { position:relative; width:430px; height:430px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.74); border:1px solid rgba(48,59,143,.07); box-shadow:0 35px 80px rgba(27,38,87,.12); }
.bsfc-logo-ring { position:absolute; inset:28px; border-radius:50%; border:1px solid rgba(48,59,143,.10); }
.bsfc-logo-ring::before,.bsfc-logo-ring::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(48,59,143,.07); }
.bsfc-logo-ring::before { inset:26px; }.bsfc-logo-ring::after { inset:55px; }
.bsfc-hero-logo { position:relative; z-index:2; width:350px; height:auto; filter:drop-shadow(0 22px 18px rgba(20,27,65,.10)); }
.bsfc-hero-badge { position:absolute; right:10px; bottom:30px; width:92px; height:92px; border-radius:50%; background:var(--bsfc-red); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; border:7px solid #fff; box-shadow:0 15px 34px rgba(73,15,18,.24); transform:rotate(4deg); }
.bsfc-hero-badge strong { font-size:11px; letter-spacing:.12em; }.bsfc-hero-badge span { font-size:22px; font-weight:900; }
.bsfc-hero-orb { position:absolute; border-radius:50%; pointer-events:none; }.bsfc-hero-orb-one { width:440px;height:440px;right:-220px;top:-210px;border:90px solid rgba(48,59,143,.035); }.bsfc-hero-orb-two { width:300px;height:300px;left:-210px;bottom:-230px;background:rgba(173,31,36,.025); }
.bsfc-hero-bottom-line { position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,var(--bsfc-blue) 0 82%,var(--bsfc-red) 82%); }

/* QUICK LINKS */
.bsfc-quicklinks { background:#fff; border-bottom:1px solid var(--bsfc-line); }
.bsfc-quick-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.bsfc-quick-card { min-height:126px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:24px; color:var(--bsfc-ink); text-decoration:none; border-right:1px solid var(--bsfc-line); transition:.2s ease; }
.bsfc-quick-card:first-child { border-left:1px solid var(--bsfc-line); }.bsfc-quick-card:hover { background:var(--bsfc-pale); color:var(--bsfc-ink); }
.bsfc-quick-no { font-size:11px; color:var(--bsfc-blue); font-weight:900; letter-spacing:.1em; }.bsfc-quick-card strong { display:block; font-size:19px; line-height:1.15; }.bsfc-quick-card span { display:block; margin-top:5px; color:var(--bsfc-muted); font-size:12px; }.bsfc-quick-card b { color:var(--bsfc-blue); }

/* SECTIONS */
.bsfc-section { padding:94px 0; }.bsfc-section-soft { background:var(--bsfc-soft); }
.bsfc-intro-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.bsfc-section h2,.bsfc-intro h2,.bsfc-blue-band h2,.bsfc-sponsors h2,.bsfc-cta h2 { margin:10px 0 0; color:var(--bsfc-ink); font-size:clamp(34px,4vw,54px); line-height:1.02; letter-spacing:-.04em; font-weight:900; }
.bsfc-intro-copy { font-size:18px; line-height:1.7; color:var(--bsfc-muted); }.bsfc-intro-copy p:first-child { margin-top:0; }
.bsfc-text-link,.bsfc-card-link { display:inline-flex; align-items:center; gap:8px; color:var(--bsfc-blue); font-weight:800; text-decoration:none; }.bsfc-text-link:hover,.bsfc-card-link:hover { color:var(--bsfc-blue-dark); }.bsfc-text-link span,.bsfc-card-link span { transition:.2s ease; }.bsfc-text-link:hover span,.bsfc-card-link:hover span { transform:translateX(4px); }
.bsfc-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:38px; }

/* NEWS */
.bsfc-news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.bsfc-news-card { overflow:hidden; background:#fff; border:1px solid var(--bsfc-line); border-radius:var(--bsfc-radius); box-shadow:0 8px 28px rgba(20,29,58,.04); transition:.22s ease; }.bsfc-news-card:hover { transform:translateY(-5px); box-shadow:var(--bsfc-shadow); }
.bsfc-news-image { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,var(--bsfc-blue-deep),var(--bsfc-blue)); text-decoration:none; }.bsfc-news-image img { width:100%;height:100%;object-fit:cover;transition:transform .35s ease; }.bsfc-news-card:hover .bsfc-news-image img { transform:scale(1.035); }
.bsfc-news-placeholder { display:grid; place-items:center; background:linear-gradient(140deg,#17214a,#3c4eb3); }.bsfc-news-placeholder-alt { background:linear-gradient(140deg,#24316e,#6478e0); }.bsfc-news-placeholder-red { background:linear-gradient(140deg,#211d2f,#ad1f24); }.bsfc-news-placeholder>span { color:rgba(255,255,255,.96); font-size:44px; font-weight:950; letter-spacing:-.04em; }
.bsfc-news-category { position:absolute; left:16px; bottom:14px; padding:7px 10px; background:#fff; color:var(--bsfc-blue-dark); border-radius:7px; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; box-shadow:0 6px 18px rgba(0,0,0,.1); }
.bsfc-news-content { padding:25px; }.bsfc-news-date { color:var(--bsfc-blue); text-transform:uppercase; letter-spacing:.09em; font-size:10px; font-weight:850; }.bsfc-news-content h3 { margin:9px 0 11px; font-size:24px; line-height:1.12; letter-spacing:-.025em; }.bsfc-news-content h3 a { color:var(--bsfc-ink); text-decoration:none; }.bsfc-news-content p { color:var(--bsfc-muted); line-height:1.6; margin:0 0 18px; font-size:14px; }.bsfc-mobile-link { display:none; margin-top:28px; }

/* BLUE BAND */
.bsfc-blue-band { position:relative; overflow:hidden; padding:94px 0; background:linear-gradient(120deg,var(--bsfc-blue-deep),var(--bsfc-blue)); color:#fff; }.bsfc-blue-band::before { content:"";position:absolute;right:-140px;top:-270px;width:600px;height:600px;border:100px solid rgba(255,255,255,.04);border-radius:50%; }.bsfc-blue-band h2 { color:#fff; }.bsfc-kicker-light { color:#bac6ff; }.bsfc-blue-grid { position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }.bsfc-blue-copy p { max-width:580px;color:rgba(255,255,255,.78);font-size:17px;line-height:1.7;margin:22px 0 28px; }.bsfc-values-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.bsfc-values-grid div { min-height:135px;padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06);display:flex;flex-direction:column;justify-content:end;backdrop-filter:blur(4px); }.bsfc-values-grid strong { font-size:24px; }.bsfc-values-grid span { color:#cbd4ff;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-top:4px; }

/* EVENTS */
.bsfc-event-grid { display:grid;grid-template-columns:1.15fr .85fr;gap:20px; }.bsfc-event-card { min-height:185px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:30px;border:1px solid var(--bsfc-line);border-radius:var(--bsfc-radius);text-decoration:none;color:var(--bsfc-ink);background:#fff;transition:.2s ease; }.bsfc-event-card:hover { color:var(--bsfc-ink);transform:translateY(-3px);box-shadow:var(--bsfc-shadow); }.bsfc-event-feature { background:var(--bsfc-pale);border-color:#dbe1f7; }.bsfc-event-date { min-width:84px;min-height:90px;border-radius:13px;background:var(--bsfc-blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center; }.bsfc-event-date strong { font-size:34px;line-height:1; }.bsfc-event-date span { margin-top:4px;font-size:10px;font-weight:900;letter-spacing:.11em; }.bsfc-event-content small { color:var(--bsfc-blue);font-weight:850;text-transform:uppercase;letter-spacing:.08em; }.bsfc-event-content h3 { margin:5px 0;font-size:26px; }.bsfc-event-content p { margin:0;color:var(--bsfc-muted);font-size:13px; }.bsfc-event-card>b { color:var(--bsfc-blue);font-size:20px; }

/* SPONSORS + CTA */
.bsfc-sponsors { padding:78px 0;background:#fff;border-top:1px solid var(--bsfc-line); }.bsfc-sponsor-grid { display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:center; }.bsfc-sponsor-placeholder { border:1px dashed #cbd2df;border-radius:14px;min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;color:var(--bsfc-muted);background:var(--bsfc-soft); }
.bsfc-cta { padding:62px 0;background:var(--bsfc-blue-deep); }.bsfc-cta-inner { display:flex;justify-content:space-between;align-items:center;gap:30px; }.bsfc-cta h2 { color:#fff;font-size:clamp(34px,4vw,52px); }

/* MOBILE FIRST / RESPONSIVE */
@media (max-width: 1024px) {
    .bsfc-hero-grid { grid-template-columns:1fr 1fr;gap:36px;min-height:600px; }
    .bsfc-logo-stage { width:340px;height:340px; }.bsfc-hero-logo { width:280px; }.bsfc-hero-badge { right:0;bottom:25px; }
    .bsfc-quick-grid { grid-template-columns:1fr 1fr; }.bsfc-quick-card:nth-child(2) { border-right:1px solid var(--bsfc-line); }.bsfc-quick-card:nth-child(3) { border-left:1px solid var(--bsfc-line);border-top:1px solid var(--bsfc-line); }.bsfc-quick-card:nth-child(4) { border-top:1px solid var(--bsfc-line); }
    .bsfc-intro-grid { gap:55px; }.bsfc-news-grid { gap:16px; }.bsfc-event-grid { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
    .bsfc-shell { width:min(100% - 28px, 680px); }
    .site-branding a.brand img,.site-branding img { max-height:58px; }
    .bsfc-hero-grid { display:flex;flex-direction:column-reverse;gap:20px;min-height:0;padding:44px 0 52px; }
    .bsfc-hero-copy { width:100%;text-align:center; }.bsfc-eyebrow { justify-content:center;margin-bottom:15px;font-size:10px; }.bsfc-hero h1 { font-size:clamp(47px,14.5vw,68px);line-height:.94; }.bsfc-lead { margin:18px auto 0;font-size:16px;line-height:1.55;max-width:520px; }
    .bsfc-actions { display:grid;grid-template-columns:1fr;gap:9px;margin-top:24px; }.bsfc-button { width:100%;min-height:51px; }.bsfc-hero-meta { justify-content:center;margin-top:22px;font-size:10px; }
    .bsfc-hero-visual { min-height:0;width:100%; }.bsfc-logo-stage { width:210px;height:210px;box-shadow:0 20px 50px rgba(27,38,87,.11); }.bsfc-logo-ring { inset:18px; }.bsfc-hero-logo { width:174px; }.bsfc-hero-badge { width:62px;height:62px;border-width:5px;right:calc(50% - 125px);bottom:2px; }.bsfc-hero-badge strong { font-size:8px; }.bsfc-hero-badge span { font-size:15px; }.bsfc-hero-orb { display:none; }
    .bsfc-quick-grid { grid-template-columns:1fr; }.bsfc-quick-card,.bsfc-quick-card:first-child,.bsfc-quick-card:nth-child(3) { border-left:0;border-right:0;border-top:1px solid var(--bsfc-line);min-height:96px;padding:18px 4px; }.bsfc-quick-card:first-child { border-top:0; }
    .bsfc-section { padding:64px 0; }.bsfc-intro-grid,.bsfc-blue-grid,.bsfc-sponsor-grid { grid-template-columns:1fr;gap:26px; }.bsfc-section h2,.bsfc-intro h2,.bsfc-blue-band h2,.bsfc-sponsors h2,.bsfc-cta h2 { font-size:38px; }.bsfc-intro-copy { font-size:16px; }
    .bsfc-section-heading { align-items:start;margin-bottom:28px; }.bsfc-desktop-link { display:none; }.bsfc-mobile-link { display:inline-flex; }
    .bsfc-news-grid { grid-template-columns:1fr;gap:18px; }.bsfc-news-image { aspect-ratio:16/9; }.bsfc-news-content { padding:21px; }.bsfc-news-content h3 { font-size:22px; }
    .bsfc-blue-band { padding:64px 0; }.bsfc-values-grid { gap:9px; }.bsfc-values-grid div { min-height:112px;padding:17px; }.bsfc-values-grid strong { font-size:20px; }
    .bsfc-event-card { grid-template-columns:auto 1fr;gap:16px;padding:20px;min-height:145px; }.bsfc-event-card>b { display:none; }.bsfc-event-date { min-width:66px;min-height:75px; }.bsfc-event-date strong { font-size:28px; }.bsfc-event-content h3 { font-size:21px; }.bsfc-event-content p { font-size:12px;line-height:1.45; }
    .bsfc-sponsors { padding:58px 0; }.bsfc-cta { padding:48px 0; }.bsfc-cta-inner { flex-direction:column;align-items:flex-start; }.bsfc-cta .bsfc-button { width:100%; }
}

@media (max-width: 400px) {
    .bsfc-shell { width:calc(100% - 24px); }.bsfc-hero h1 { font-size:44px; }.bsfc-logo-stage { width:190px;height:190px; }.bsfc-hero-logo { width:155px; }.bsfc-hero-badge { right:calc(50% - 113px); }.bsfc-values-grid { grid-template-columns:1fr 1fr; }.bsfc-values-grid div { min-height:100px; }
}
