/* BNC Works – theme styles. No external fonts or scripts. */
:root {
	--bnc-navy: var(--wp--preset--color--navy, #0a2e54);
	--bnc-navy-dark: var(--wp--preset--color--navy-dark, #071f39);
	--bnc-accent: var(--wp--preset--color--accent, #f2a900);
	--bnc-line: var(--wp--preset--color--line, #dfe5ec);
	--bnc-muted: var(--wp--preset--color--muted, #4f5b69);
	--bnc-mist: var(--wp--preset--color--mist, #f3f6f9);
	--bnc-radius: 10px;
	--bnc-shadow: 0 10px 30px rgba(7, 31, 57, .10);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.bnc-main > * { margin-block-start: 0 !important; }
img { max-width: 100%; height: auto; }
:where(a, .wp-element-button):focus-visible { outline: 3px solid var(--bnc-accent); outline-offset: 3px; }

/* ---------- Header ---------- */
header.wp-block-template-part { position: relative; z-index: 50; }
@media (min-width: 782px) {
	header.wp-block-template-part { position: sticky; top: 0; }
	.admin-bar header.wp-block-template-part { top: 32px; }
}
.bnc-header { background: #fff; border-bottom: 1px solid var(--bnc-line); box-shadow: 0 2px 12px rgba(7, 31, 57, .05); padding-top: .6rem; padding-bottom: .6rem; }
.bnc-header-inner { gap: 1rem; align-items: center !important; }
.bnc-header .bnc-logo { margin: 0; flex: 0 0 auto; }
.bnc-header .bnc-logo img { display: block; height: 64px; width: auto; }
.bnc-header-right { gap: .5rem 1.75rem !important; align-items: center !important; justify-content: flex-end !important; }
.bnc-nav .wp-block-navigation-item__content { color: var(--bnc-navy); text-decoration: none; padding: .4rem 0; border-bottom: 2px solid transparent; }
.bnc-nav .wp-block-navigation-item__content:hover,
.bnc-nav .current-menu-item > .wp-block-navigation-item__content,
.bnc-nav [aria-current="page"] { border-bottom-color: var(--bnc-accent); }
.bnc-nav .wp-block-navigation__container { gap: 1.6rem; }
.bnc-header-cta { margin: 0; }
.bnc-call .wp-block-button__link { background: var(--bnc-navy); color: #fff; padding: .7rem 1.15rem; white-space: nowrap; }
.bnc-call .wp-block-button__link::before { content: ""; display: inline-block; width: 1em; height: 1em; margin-right: .45em; vertical-align: -.15em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.bnc-call .wp-block-button__link:hover { background: var(--bnc-navy-dark); color: #fff; }

@media (max-width: 781px) {
	.bnc-header { padding-top: .5rem; padding-bottom: 0; }
	.bnc-header-inner { flex-wrap: wrap !important; }
	.bnc-header .bnc-logo img { height: 50px; }
	.bnc-header-right { display: contents !important; }
	.bnc-header-cta { order: 2; }
	.bnc-call-label { display: none; }
	.bnc-nav { order: 3; flex: 1 0 100%; border-top: 1px solid var(--bnc-line); margin: 0 !important; padding: 0; }
	.bnc-nav .wp-block-navigation__container { gap: 0; justify-content: space-between !important; width: 100%; flex-wrap: nowrap !important; }
	.bnc-nav .wp-block-navigation-item__content { display: block; padding: .75rem .25rem; font-size: .95rem; }
}

/* ---------- Sections ---------- */
.bnc-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.bnc-section-head { margin-bottom: var(--wp--preset--spacing--50); max-width: 760px; }
.bnc-section-head > * { margin-block: 0; }
.bnc-section-head > * + * { margin-top: .6rem; }
.bnc-eyebrow { font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--bnc-navy); margin-bottom: .5rem; }
.bnc-eyebrow::before { content: ""; display: inline-block; width: 1.75rem; height: 3px; background: var(--bnc-accent); vertical-align: middle; margin-right: .6rem; }
.bnc-intro { color: var(--bnc-muted); font-size: var(--wp--preset--font-size--large); }
.bnc-mist { background: var(--bnc-mist); }
.bnc-dark { background: var(--bnc-navy); color: #e8eef5; }
.bnc-dark :where(h1, h2, h3), .bnc-dark .bnc-eyebrow { color: #fff; }
.bnc-dark p { color: #d5dfea; }
.bnc-center { justify-content: center; margin-top: var(--wp--preset--spacing--50); }

/* ---------- Hero ---------- */
.bnc-hero {
	position: relative; overflow: hidden; color: #fff;
	background-color: var(--bnc-navy-dark);
	background-image:
		linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
		radial-gradient(circle at 85% 20%, rgba(242,169,0,.18), transparent 45%),
		linear-gradient(135deg, #0d3a69 0%, #071f39 100%);
	background-size: 48px 48px, 48px 48px, 100% 100%, 100% 100%;
	padding-top: clamp(3.5rem, 9vw, 7.5rem); padding-bottom: clamp(3.5rem, 9vw, 7.5rem);
}
.bnc-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--bnc-accent); }
.bnc-hero-inner > * { max-width: 860px; }
.bnc-hero-inner > * + * { margin-block-start: 0; }
.bnc-hero h1 { color: #fff; margin: .25rem 0 1.25rem; }
.bnc-hero .bnc-eyebrow { color: var(--bnc-accent); }
.bnc-hero .bnc-lede { font-size: var(--wp--preset--font-size--large); color: #d5dfea; max-width: 680px; }
.bnc-hero .wp-block-buttons { margin-top: 2rem; gap: .75rem; }
.bnc-hero-small { padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.bnc-hero-small h1, .bnc-hero-small .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); color: #fff; }

.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--bnc-navy); border: 2px solid currentColor; padding: calc(.85rem - 2px) calc(1.5rem - 2px); }
.is-style-outline .wp-block-button__link:hover { background: var(--bnc-navy); color: #fff; border-color: var(--bnc-navy); }
.bnc-hero .wp-block-button.is-style-outline .wp-block-button__link, .bnc-dark .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }
.bnc-hero .wp-block-button.is-style-outline .wp-block-button__link:hover, .bnc-dark .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--bnc-navy); border-color: #fff; }

.bnc-trust { list-style: none; padding: 0 !important; margin: 2.5rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem 1.75rem; font-weight: 600; font-size: .95rem; color: #fff; }
.bnc-trust li { display: flex; align-items: center; gap: .5rem; }
.bnc-trust li::before, .bnc-ticks li::before { content: ""; flex: 0 0 auto; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--bnc-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071f39' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat; }

/* ---------- Grids & cards ---------- */
.bnc-grid { gap: 1.25rem; }
.wp-block-group.bnc-grid.is-layout-grid { grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); }
@media (min-width: 1000px) {
	.wp-block-group.bnc-grid-3.is-layout-grid { grid-template-columns: repeat(3, 1fr); }
	.wp-block-group.bnc-grid-4.is-layout-grid { grid-template-columns: repeat(4, 1fr); }
	.wp-block-group.bnc-steps.is-layout-grid { grid-template-columns: repeat(4, 1fr); }
}
.bnc-card { background: #fff; border: 1px solid var(--bnc-line); border-radius: var(--bnc-radius); padding: 1.5rem; box-shadow: 0 1px 2px rgba(7,31,57,.04); transition: box-shadow .2s, transform .2s; }
.bnc-card:hover { box-shadow: var(--bnc-shadow); transform: translateY(-2px); }
.bnc-card > * { margin-block: 0; }
.bnc-card > * + * { margin-top: .6rem; }
.bnc-card h3 { font-size: 1.15rem; }
.bnc-card p { color: var(--bnc-muted); font-size: .975rem; }
.bnc-card-plain { border-top: 4px solid var(--bnc-navy); }
.bnc-card-accent { background: var(--bnc-navy); border-color: var(--bnc-navy); border-top-color: var(--bnc-accent); }
.bnc-card-accent h3 { color: #fff; }
.bnc-card-accent p { color: #d5dfea; }
.bnc-card-img { margin: -1.5rem -1.5rem 1.1rem !important; overflow: hidden; border-radius: var(--bnc-radius) var(--bnc-radius) 0 0; }
.bnc-card-img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.bnc-card-meta { font-size: .9rem !important; color: var(--bnc-muted); }

.bnc-feature { border-left: 4px solid var(--bnc-accent); padding: .25rem 0 .25rem 1.25rem; }
.bnc-feature > * { margin-block: 0; }
.bnc-feature > * + * { margin-top: .5rem; }
.bnc-feature h3 { font-size: 1.15rem; }

.bnc-step { background: #fff; border-radius: var(--bnc-radius); padding: 1.5rem; border: 1px solid var(--bnc-line); }
.bnc-step > * { margin-block: 0; }
.bnc-step > * + * { margin-top: .5rem; }
.bnc-step h3 { font-size: 1.15rem; }
.bnc-step p { color: var(--bnc-muted); }
.bnc-step p.bnc-step-num { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--bnc-navy); color: #fff; font-weight: 800; font-size: 1.1rem; margin-bottom: .5rem; }

.bnc-split { gap: var(--wp--preset--spacing--60) !important; align-items: center !important; }
.bnc-ticks { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .8rem; font-size: 1.1rem; font-weight: 600; }
.bnc-ticks li { display: flex; align-items: center; gap: .75rem; }
.bnc-dark .bnc-ticks { color: #fff; }
.bnc-ticks-light li { color: var(--bnc-navy); }

/* ---------- Contact ---------- */
.bnc-contact-card { text-align: left; border-top: 4px solid var(--bnc-accent); }
.bnc-contact-card p.bnc-contact-label { font-size: .8rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--bnc-muted); }
.bnc-contact-card p.bnc-contact-value { font-size: clamp(1.15rem, 2vw, 1.35rem); font-weight: 800; overflow-wrap: anywhere; }
.bnc-contact-card p.bnc-contact-value a { color: var(--bnc-navy); text-decoration: none; }
.bnc-contact-card .wp-block-buttons { margin-top: 1.1rem; }
.bnc-contact-card .wp-block-button, .bnc-contact-card .wp-block-button__link { width: 100%; text-align: center; }
.bnc-contact-info { margin-top: var(--wp--preset--spacing--60) !important; align-items: flex-start !important; }
.bnc-contact-info .wp-block-column > * + * { margin-top: 1rem; }
.bnc-contact-info h2 { font-size: var(--wp--preset--font-size--x-large); }

/* ---------- CTA ---------- */
.bnc-cta { background: var(--bnc-accent); }
.bnc-cta-inner { text-align: center; }
.bnc-cta h2 { color: var(--bnc-navy-dark); }
.bnc-cta p { color: var(--bnc-navy-dark); font-size: var(--wp--preset--font-size--large); }
.bnc-cta .wp-block-buttons { justify-content: center; gap: .75rem; }
.bnc-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--bnc-navy-dark); color: #fff; }
.bnc-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--bnc-navy); }
.bnc-cta .wp-block-button.is-style-outline .wp-block-button__link { color: var(--bnc-navy-dark); }
.bnc-cta .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--bnc-navy-dark); color: #fff; border-color: var(--bnc-navy-dark); }

/* ---------- Footer ---------- */
.bnc-footer { background: var(--bnc-navy-dark); color: #c9d5e3; padding-top: var(--wp--preset--spacing--60); padding-bottom: 1.5rem; font-size: .95rem; }
.bnc-footer a { color: #fff; text-decoration: none; }
.bnc-footer a:hover { text-decoration: underline; color: var(--bnc-accent); }
.bnc-footer p { color: #c9d5e3; }
.bnc-footer-cols { gap: 2rem !important; }
@media (min-width: 782px) { .bnc-footer-cols.wp-block-columns { display: grid; grid-template-columns: 2fr 1fr 1.4fr 1fr; } .bnc-footer-cols > .wp-block-column:first-child { max-width: 22rem; } }
.bnc-footer .bnc-logo-footer img { height: 84px; width: auto; display: block; }
.bnc-footer h3.bnc-footer-title { color: #fff; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; }
.bnc-footer .wp-block-column > * { margin-block: 0; }
.bnc-footer .wp-block-column > * + * { margin-top: .75rem; }
.bnc-footer-links { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .45rem; }
.bnc-footer .bnc-legal { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.25rem; margin-top: var(--wp--preset--spacing--50); font-size: .85rem; color: #9fb0c3; }

/* ---------- Generic pages ---------- */
.bnc-prose { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.bnc-card { transition: none; }
	.bnc-card:hover { transform: none; }
}
