/* =========================
BCF Homepage Styles (match your screenshots)
Paste into: Design → Custom CSS
========================= */
:root{
--bcf-blue: #0b4a78; /* deep blue similar to your site */
--bcf-ink: #0b0b0b;
--bcf-beige: #e9e7dd; /* your warm beige section */
--bcf-white: #ffffff;
--bcf-rule: rgba(0,0,0,.18);
}
.bcf { width: 100%; color: var(--bcf-ink); }
.bcf-container { max-width: 1200px; margin: 0 auto; padding: 70px 22px; }
@media (max-width: 900px){ .bcf-container{ padding: 54px 18px; } }
.bcf-strong{ font-weight: 700; }
.bcf-muted{ opacity: .78; }
.bcf-spacer{ height: 14px; }
/* HERO */
.bcf-hero{ position: relative; min-height: 72vh; display: grid; place-items: center; overflow: hidden; }
.bcf-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform: scale(1.02); }
.bcf-hero__overlay{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.25)); }
.bcf-hero__inner{ position: relative; z-index: 2; text-align: center; padding-top: 90px; padding-bottom: 70px; }
.bcf-hero__titlebox,
.bcf-hero__subtitlebox{
display:inline-block;
background: rgba(255,255,255,.92);
padding: 18px 26px;
margin: 10px auto;
border: 1px solid rgba(0,0,0,.12);
}
.bcf-hero__h1{
font-size: clamp(34px, 4.5vw, 72px);
line-height: 1.05;
color: var(--bcf-blue);
margin: 0;
font-weight: 300; /* similar “thin” hero */
letter-spacing: .01em;
}
.bcf-hero__sub{
font-size: clamp(18px, 2vw, 34px);
color: var(--bcf-blue);
margin: 0;
font-weight: 300;
}
.bcf-hero__cta{ display:flex; gap: 10px; justify-content:center; flex-wrap: wrap; margin-top: 14px; }
.bcf-hero__micro{ margin: 16px auto 0; max-width: 880px; color: rgba(255,255,255,.95); }
/* SECTIONS */
.bcf-section--white{ background: var(--bcf-white); }
.bcf-section--beige{ background: var(--bcf-beige); }
.bcf-jumbo{
font-size: clamp(54px, 7vw, 110px);
line-height: .95;
margin: 0 0 18px;
font-weight: 300;
color: var(--bcf-blue);
}
.bcf-jumbo--tight{ margin-bottom: 12px; }
.bcf-mega{
font-size: clamp(64px, 9vw, 140px);
line-height: .9;
margin: 0 0 22px;
font-weight: 200;
letter-spacing: .02em;
}
/* BUTTONS (match your dark blue rectangles + simple hover) */
.bcf-btn{
display:inline-flex; align-items:center; justify-content:center;
padding: 12px 18px;
text-decoration:none;
border: 2px solid var(--bcf-blue);
transition: transform .18s ease, opacity .18s ease, background .18s ease, color .18s ease;
font-weight: 600;
}
.bcf-btn:hover{ transform: translateY(-1px); opacity: .95; }
.bcf-btn--primary{ background: var(--bcf-blue); color: #fff; }
.bcf-btn--ghost{ background: rgba(255,255,255,.85); color: var(--bcf-blue); }
.bcf-link{ color: var(--bcf-blue); text-decoration:none; border-bottom: 1px solid var(--bcf-blue); padding-bottom: 2px; }
.bcf-link:hover{ opacity: .9; }
.bcf-panel{
background: rgba(255,255,255,.65);
border: 1px solid rgba(0,0,0,.14);
padding: 14px 16px;
}
/* SERVICES LAYOUT */
.bcf-services{ display:grid; grid-template-columns: 1fr 1.1fr; gap: 34px; align-items: start; }
@media (max-width: 1000px){ .bcf-services{ grid-template-columns: 1fr; } }
/* WELCOME */
.bcf-welcome{ display:grid; grid-template-columns: 1fr 1.2fr; gap: 34px; align-items: start; }
@media (max-width: 1000px){ .bcf-welcome{ grid-template-columns: 1fr; } }
.bcf-badge img{ width: 120px; height: auto; display:block; margin-bottom: 10px; }
.bcf-lede{ font-size: 18px; line-height: 1.55; margin: 10px 0; max-width: 560px; }
.bcf-collage{ position: relative; min-height: 420px; }
.bcf-collage__img{
position:absolute; background-size: cover; background-position:center;
border: 1px solid rgba(0,0,0,.18);
}
.bcf-collage__img--a{ top: 0; right: 0; width: 92%; height: 52%; }
.bcf-collage__img--b{ top: 44%; right: 8%; width: 82%; height: 48%; }
.bcf-collage__img--c{ top: 64%; left: 0; width: 60%; height: 36%; }
@media (max-width: 700px){
.bcf-collage{ min-height: 320px; }
.bcf-collage__img--a{ width: 100%; height: 52%; }
.bcf-collage__img--b{ width: 92%; right: 0; }
.bcf-collage__img--c{ width: 72%; }
}
.bcf-mvvlink{
color: var(--bcf-blue);
font-size: 34px;
font-weight: 300;
text-decoration:none;
}
.bcf-rule{ border: none; border-top: 2px solid var(--bcf-rule); margin: 14px 0 0; }
/* ACCORDIONS (Services + FAQ) */
.bcf-acc{
border-top: 2px solid var(--bcf-rule);
padding: 10px 0;
}
.bcf-acc:last-child{ border-bottom: 2px solid var(--bcf-rule); }
.bcf-acc summary{
cursor: pointer;
list-style: none;
font-size: 20px;
font-weight: 500;
color: var(--bcf-blue);
display:flex; align-items:center; justify-content: space-between;
}
.bcf-acc summary::-webkit-details-marker{ display:none; }
.bcf-acc summary::after{
content: "+";
font-size: 28px;
line-height: 1;
color: var(--bcf-blue);
}
.bcf-acc[open] summary::after{ content: "—"; }
.bcf-acc__body{ padding: 10px 0 2px; }
.bcf-acc__body ul{ margin: 10px 0 0; padding-left: 18px; }
.bcf-acc__body li{ margin: 6px 0; }
/* CONTACT */
.bcf-contact{ display:grid; grid-template-columns: 1fr 1.2fr; gap: 34px; align-items: start; }
@media (max-width: 1000px){ .bcf-contact{ grid-template-columns: 1fr; } }
/* FOOTER BAND */
.bcf-footerband{ position: relative; overflow:hidden; }
.bcf-footerband__bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.bcf-footerband__overlay{ position:absolute; inset:0; background: rgba(0,0,0,.35); }
.bcf-footerband__inner{ position: relative; z-index:2; display:grid; grid-template-columns: 1fr auto 1fr; gap: 22px; align-items: center; color: rgba(255,255,255,.95); }
@media (max-width: 900px){ .bcf-footerband__inner{ grid-template-columns: 1fr; text-align:center; } }
.bcf-footerband__brand{ margin:0; font-weight:700; }
.bcf-footerband__tag{ margin:6px 0 0; opacity:.9; }
.bcf-footerband__social a{ color:#fff; margin-right: 10px; text-decoration:none; opacity:.9; }
.bcf-footerband__social a:hover{ opacity:1; }
.bcf-footerband__right{ display:flex; flex-direction: column; gap: 10px; text-align: right; }
@media (max-width: 900px){ .bcf-footerband__right{ text-align:center; } }
.bcf-footerlink{ color:#fff; text-decoration:none; letter-spacing:.04em; opacity:.9; }
.bcf-footerlink:hover{ opacity:1; }
.bcf-footerband__legal{ position: relative; z-index:2; padding-bottom: 22px; color: rgba(255,255,255,.85); }
.bcf-footerband__legal p{ margin: 0; }
/* Reveal animation */
.bcf-reveal{ opacity: 0; transform: translateY(12px); transition: opacity .7s ease, transform .7s ease; }
.bcf-reveal.is-visible{ opacity: 1; transform: translateY(0); }
.bcf-reveal--delay{ transition-delay: .12s; }