/* Bowers Industrial — theme styles (tokens in theme.json). */
:root {
	--bi-ink-950: var(--wp--preset--color--ink-950);
	--bi-ink-900: var(--wp--preset--color--ink-900);
	--bi-ink-700: #30353c;
	--bi-hero: var(--wp--preset--color--hero);
	--bi-steel-600: var(--wp--preset--color--steel-600);
	--bi-steel-400: var(--wp--preset--color--steel-400);
	--bi-steel-300: var(--wp--preset--color--steel-300);
	--bi-steel-200: var(--wp--preset--color--steel-200);
	--bi-steel-100: var(--wp--preset--color--steel-100);
	--bi-steel-50: var(--wp--preset--color--steel-50);
	--bi-signal: var(--wp--preset--color--signal);
	--bi-signal-ink: var(--wp--preset--color--signal-ink);
	--bi-signal-light: #ff8a47;
	--bi-display: var(--wp--preset--font-family--display);
	--bi-mono: var(--wp--preset--font-family--mono);
	--bi-gutter: var(--wp--style--root--padding-left, 1.25rem);
	--bi-ease: cubic-bezier(0.25, 1, 0.5, 1);
}
html { scroll-padding-top: 5.5rem; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--bi-signal); outline-offset: 2px; }
::selection { background: var(--bi-signal); color: var(--bi-ink-950); }

/* Remove default gaps between full-width sections */
.wp-site-blocks > * { margin-block: 0; }
.wp-block-post-content > *, .bi-main > * { margin-block-start: 0; }


/* ---------- Buttons ---------- */
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 3rem; transition: background-color 200ms, color 200ms, border-color 200ms; touch-action: manipulation; text-decoration: none; }
.wp-block-button__link:active { transform: translateY(1px); }
.is-style-outline-light .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.7); }
.is-style-outline-light .wp-block-button__link:hover { background: #fff; color: var(--bi-ink-950); border-color: #fff; }
.is-style-outline-dark .wp-block-button__link { background: transparent; color: var(--bi-ink-900); border-color: var(--bi-ink-900); }
.is-style-outline-dark .wp-block-button__link:hover { background: var(--bi-ink-900); color: #fff; }
.is-style-dark .wp-block-button__link { background: var(--bi-ink-900); color: #fff; }
.is-style-dark .wp-block-button__link:hover { background: var(--bi-ink-700); color: #fff; }
.bi-btn-lg .wp-block-button__link { font-size: 1.125rem; padding-inline: 1.75rem; }
.bi-arrow .wp-block-button__link::after { content: "→"; font-family: var(--wp--preset--font-family--body); font-weight: 600; }
.bi-full, .bi-full .wp-block-button__link { width: 100%; }
.bi-text-link .wp-block-button__link { background: none; border: 0; padding: 0; min-height: 2.75rem; color: inherit; font-family: var(--wp--preset--font-family--body); font-weight: 600; text-transform: none; letter-spacing: 0; justify-content: flex-start; }
.bi-text-link .wp-block-button__link:hover { background: none; color: var(--bi-signal-light); }

/* ---------- Header ---------- */
.bi-header-part { position: sticky; top: 0; z-index: 40; }
.admin-bar .bi-header-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .bi-header-part { top: 0; } }
/* The blur lives on a pseudo-element: backdrop-filter on the header itself would trap the
   fixed-position mobile menu overlay inside the header's box. */
.bi-header { position: relative; isolation: isolate; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.bi-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(17, 19, 21, 0.96); }
@supports (backdrop-filter: blur(8px)) { .bi-header::before { background: rgba(17, 19, 21, 0.88); backdrop-filter: blur(8px); } }
.bi-header-inner { min-height: 4.5rem; gap: 1.25rem !important; }
.bi-logo { display: inline-flex; flex-shrink: 0; padding-block: 0.5rem; text-decoration: none; }
.bi-lockup { display: inline-flex; align-items: center; gap: 0.625rem; }
.bi-lockup-mark { height: 2.75rem; width: auto; display: block; }
.bi-lockup-text { display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem; }
.bi-lockup-name { height: 22px; width: auto; display: block; }
.bi-lockup-sub { display: flex; width: 100%; align-items: center; gap: 0.375rem; font-family: var(--bi-mono); font-size: 0.62rem; letter-spacing: 0.24em; line-height: 1; color: var(--bi-signal); }
.bi-lockup-sub span { height: 1px; flex: 1; background: rgba(242, 106, 27, 0.8); }

.bi-nav .wp-block-navigation-item__content { font-family: var(--bi-display); font-size: 1.05rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--bi-steel-300); text-decoration: none; padding: 0.5rem 0.625rem; white-space: nowrap; position: relative; }
.bi-nav .wp-block-navigation-item__content:hover { color: var(--bi-signal-light); }
.bi-nav .wp-block-navigation-item__content[aria-current="page"] { color: #fff; }
.bi-nav .wp-block-navigation__container { gap: 0.125rem; }
@media (min-width: 1024px) { .bi-nav .wp-block-navigation__container, .bi-nav.wp-block-navigation { flex-wrap: nowrap; } }
@media (min-width: 1024px) {
	.bi-nav .wp-block-navigation-item__content[aria-current="page"]::after { content: ""; position: absolute; left: 0.625rem; right: 0.625rem; bottom: -1rem; height: 3px; background: var(--bi-signal); }
	.bi-nav .bi-nav-book { display: none; }
}
/* Collapse to the menu button below 1024px (WordPress's default is 600px). */
@media (max-width: 1023px) {
	.bi-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.bi-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.bi-nav .wp-block-navigation__responsive-container-open, .bi-nav .wp-block-navigation__responsive-container-close { width: 3rem; height: 3rem; align-items: center; justify-content: center; color: #fff; }
.bi-nav .wp-block-navigation__responsive-container-open svg, .bi-nav .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.bi-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--bi-ink-950) !important; color: #fff !important; padding: 1rem var(--bi-gutter) 2rem; }
.bi-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem !important; align-items: stretch !important; }
.bi-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.bi-nav .is-menu-open .wp-block-navigation-item { border-bottom: 1px solid rgba(255, 255, 255, 0.1); width: 100%; }
.bi-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.6rem; color: #fff; padding: 0.875rem 0 !important; min-height: 3.5rem; display: flex; align-items: center; }
.bi-nav .is-menu-open .bi-nav-book .wp-block-navigation-item__content { color: var(--bi-signal-light); }
.bi-header-ctas { flex-wrap: nowrap !important; gap: 0.75rem !important; }
.bi-phone-btn .wp-block-button__link { background: none; border: 0; color: #fff; padding-inline: 0.5rem; font-size: 1.15rem; letter-spacing: 0.04em; text-transform: none; }
.bi-phone-btn .wp-block-button__link::before { content: ""; width: 1.1rem; height: 1.1rem; background: var(--bi-signal-light); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%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' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat; }
.bi-phone-btn .wp-block-button__link:hover { background: none; color: var(--bi-signal-light); }
@media (max-width: 1023px) { .bi-header-ctas { display: none !important; } }
@media (max-width: 1279px) { .bi-header .bi-phone-btn, .bi-header .wp-block-buttons .bi-phone-btn { display: none !important; } }

/* ---------- Shared section styles ---------- */
.bi-section { padding-block: clamp(4rem, 8vw, 6rem) !important; }
.bi-section-tight { padding-block: clamp(3rem, 6vw, 4rem) !important; }
.bi-section-flush { padding-top: 1rem !important; }
.bi-bg-steel { background: var(--bi-steel-100); }
.bi-bg-faint { background: var(--bi-steel-50); }
.bi-blueprint, .bi-page-header {
	background-color: var(--bi-ink-900);
	background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 48px 48px;
	color: #fff;
}
.bi-blueprint h1, .bi-blueprint h2, .bi-blueprint h3, .bi-page-header h1 { color: #fff; }
.bi-blueprint p { color: var(--bi-steel-300); }
.bi-blueprint a:not(.wp-block-button__link) { color: var(--bi-signal-light); }
.bi-eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0; font-family: var(--bi-mono); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bi-signal-light) !important; }
.bi-eyebrow::before { content: ""; width: 1.25rem; height: 2px; background: currentColor; }
.bi-eyebrow-ink { color: var(--bi-signal-ink) !important; }
.bi-lead-muted { font-size: 1.125rem; color: var(--bi-steel-600); max-width: 42rem; }
.bi-body-lg { font-size: 1.125rem; line-height: 1.7; }
.bi-small { font-size: 0.875rem; color: var(--bi-steel-600); }
.bi-note-line { border-left: 4px solid var(--bi-steel-300); padding-left: 1rem; color: var(--bi-steel-600); max-width: 48rem; margin-top: 2rem !important; }
.bi-hazard { height: 8px; background: var(--wp--custom--hazard); }

.bi-page-header { padding-block: clamp(3.5rem, 7vw, 5rem) !important; border-bottom: 6px solid var(--bi-signal); }
.bi-page-header h1 { font-size: clamp(2.9rem, 7vw, 4.5rem); max-width: 56rem; margin-top: 1rem; }
.bi-page-header .bi-page-intro { font-size: clamp(1.125rem, 2vw, 1.25rem); color: var(--bi-steel-200); max-width: 42rem; margin-top: 1.25rem; line-height: 1.6; }

/* ---------- Hero ---------- */
.bi-hero { position: relative; overflow: hidden; background: var(--bi-hero); color: #fff; padding-bottom: 0 !important; }
.bi-hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; padding-block: 4rem 2.5rem; }
.bi-hero-content > * { max-width: 36rem; margin: 0; }
.bi-hero-title { font-size: clamp(3.2rem, 11vw, 4.6rem) !important; line-height: 0.92 !important; margin-top: 1.25rem !important; color: #fff; max-width: 44rem !important; }
.bi-dot { color: var(--bi-signal); }
.bi-hero-lead { margin-top: 1.5rem !important; font-size: clamp(1.125rem, 2vw, 1.25rem); line-height: 1.6; color: var(--bi-steel-200); }
.bi-hero-ctas { margin-top: 2.25rem !important; gap: 0.75rem; }
.bi-hero-ctas .is-style-outline-light .wp-block-button__link { background: rgba(30, 32, 33, 0.6); }
.bi-hero-link { margin-top: 1.25rem !important; }
.bi-hero-link a { color: var(--bi-steel-200); font-weight: 600; text-decoration: underline; text-decoration-color: var(--bi-signal); text-decoration-thickness: 2px; text-underline-offset: 6px; padding-block: 0.5rem; display: inline-block; }
.bi-hero-link a:hover { color: #fff; }
.bi-hero-art { display: block; position: relative; z-index: 0; margin-inline: calc(var(--bi-gutter) * -1) !important; max-width: none !important; }
.bi-hero-art img { display: block; width: 100%; height: auto; }
.bi-hero-fade { display: none; }
.bi-hero > .bi-hazard { position: relative; z-index: 2; margin-inline: calc(var(--bi-gutter) * -1) !important; max-width: none !important; }
@media (max-width: 639px) { .bi-hero-ctas, .bi-hero-ctas .wp-block-button, .bi-hero-ctas .wp-block-button__link { width: 100%; } }
@media (min-width: 1024px) {
	.bi-hero-content { min-height: clamp(600px, 44vw, 780px); justify-content: center; padding-block: 6rem; }
	.bi-hero-content > * { max-width: 36rem; }
	.bi-hero-title { max-width: 36rem !important; }
	.bi-hero-art { position: absolute; bottom: 8px; right: 0; width: 72vw; max-width: 1640px; margin: 0 !important; }
	.bi-hero-fade { display: block; position: absolute; inset: 0 auto 0 0; width: 52%; z-index: 1; background: linear-gradient(to right, var(--bi-hero), rgba(30, 32, 33, 0.8), transparent); pointer-events: none; }
	.bi-hero > .bi-hazard { position: absolute; left: 0; right: 0; bottom: 0; margin: 0 !important; }
}
@media (min-width: 1280px) {
	.bi-hero-content > *, .bi-hero-title { max-width: 44rem !important; }
	.bi-hero-lead { max-width: 32rem !important; }
	.bi-hero-title { font-size: 5.6rem !important; }
	.bi-hero-art { width: 78vw; }
}

/* ---------- Services cards ---------- */
.bi-section-head { gap: 1.5rem !important; margin-bottom: 3rem; }
.bi-section-head h2 { margin-top: 0.75rem; }
.bi-cards { display: grid; gap: 1px; background: var(--bi-steel-200); border: 1px solid var(--bi-steel-200); }
.bi-cards > * { margin: 0 !important; }
@media (min-width: 640px) { .bi-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bi-cards { grid-template-columns: repeat(3, 1fr); } }
.bi-card { display: flex; flex-direction: column; background: #fff; padding: 1.75rem; transition: background 200ms; }
.bi-card:hover { background: var(--bi-steel-50); }
.bi-card > * { margin: 0; }
.bi-card h3 { margin-top: 1.5rem !important; font-size: 1.7rem; }
.bi-card-text { color: var(--bi-steel-600); margin-top: 0.625rem !important; }
.bi-card .bi-card-text { flex: 1; }
.bi-card-link { margin-top: 1.25rem !important; }
.bi-card-link a { font-weight: 600; text-decoration: none; color: var(--bi-signal-ink); display: inline-flex; gap: 0.375rem; padding-block: 0.25rem; }
.bi-card-link a::after { content: "→"; transition: transform 200ms; }
.bi-card:hover .bi-card-link a::after { transform: translateX(4px); }
.bi-card-icon { display: inline-flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; background: var(--bi-ink-900); color: var(--bi-signal-light); transition: background 200ms, color 200ms; }
.bi-card:hover .bi-card-icon { background: var(--bi-signal); color: var(--bi-ink-950); }
.bi-card-icon-lg { width: 3.5rem; height: 3.5rem; }

/* ---------- Split layouts ---------- */
.bi-split { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .bi-split { grid-template-columns: 1fr 1fr; gap: 5rem; } .bi-split-center { align-items: center; grid-template-columns: 1.1fr 0.9fr; } }
.bi-split > * { margin: 0 !important; }
.bi-prose > * + * { margin-top: 1.25rem !important; }
.bi-prose > p { font-size: 1.125rem; }
.bi-ticks { list-style: none; padding: 0; display: grid; gap: 0.75rem; }
@media (min-width: 640px) { .bi-ticks { grid-template-columns: 1fr 1fr; } }
.bi-ticks li { border-left: 4px solid var(--bi-signal); background: #fff; padding: 0.75rem 1rem; font-weight: 500; margin: 0; }

/* ---------- Steps ---------- */
.bi-steps { display: grid; gap: 2rem; margin-block: 3rem 2.5rem !important; }
@media (min-width: 768px) { .bi-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bi-steps { grid-template-columns: repeat(4, 1fr); } }
.bi-steps > * { margin: 0 !important; }
.bi-step { border-top: 4px solid var(--bi-ink-900); padding-top: 1.5rem; }
.bi-step > * { margin: 0; }
.bi-step-num { font-family: var(--bi-mono); font-size: 0.875rem; letter-spacing: 0.18em; color: var(--bi-signal-ink); margin: 0 0 1rem; }
.bi-step h3 { margin-top: 1rem !important; font-size: 1.65rem; }
.bi-step .bi-card-text { margin-top: 0.5rem !important; }
.bi-urgent { max-width: 48rem; margin-top: 2rem !important; }

/* ---------- Service area + CTA ---------- */
.bi-blueprint .bw-plate { margin-inline: auto 0; }
.bi-cta { background: var(--bi-signal); color: var(--bi-ink-950); padding-block: 4rem !important; }
.bi-cta h2 { color: var(--bi-ink-950); max-width: 46rem; }
.bi-cta p { font-size: 1.125rem; font-weight: 500; max-width: 36rem; margin-top: 0.75rem; }
.bi-cta-inner { gap: 2rem !important; }

/* ---------- Services page ---------- */
.bi-paths { display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .bi-paths { grid-template-columns: 1fr 1fr; } }
.bi-paths > * { margin: 0 !important; }
.bi-path { display: flex; flex-direction: column; border: 2px solid var(--bi-ink-900); padding: clamp(1.75rem, 3vw, 2.25rem); }
.bi-path > * { margin: 0; }
.bi-path .bi-svg { color: var(--bi-signal-ink); }
.bi-path h3 { margin-top: 1.25rem !important; font-size: 1.9rem; }
.bi-path p { margin-top: 0.75rem !important; flex: 1; color: var(--bi-steel-600); }
.bi-path .wp-block-buttons { margin-top: 1.75rem !important; }
.bi-path-dark { background: var(--bi-ink-900); color: #fff; border-color: var(--bi-ink-900); }
.bi-path-dark h3 { color: #fff; }
.bi-path-dark p { color: var(--bi-steel-300); }
.bi-path-dark .bi-svg { color: var(--bi-signal-light); }
.bi-service { display: grid; gap: 2rem; padding-block: 3rem; border-bottom: 1px solid var(--bi-steel-200); scroll-margin-top: 6rem; margin: 0 !important; }
.bi-service > * { margin: 0 !important; }
@media (min-width: 1024px) { .bi-service { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 4rem; } }
.bi-service h2 { font-size: clamp(2.25rem, 4vw, 3rem); margin-top: 1.5rem !important; }
.bi-service .bi-lead-muted { margin-top: 0.75rem; }
.bi-checks { list-style: none; padding: 0; margin: 1.5rem 0 !important; display: grid; gap: 0.625rem; }
.bi-checks li { display: flex; gap: 0.75rem; margin: 0; }
.bi-checks li::before { content: "✓"; color: var(--bi-signal-ink); font-weight: 700; }
.bi-service .wp-block-buttons { margin-top: 2rem; }

/* ---------- About ---------- */
.bi-values { display: grid; gap: 1px; background: var(--bi-steel-200); }
.bi-values > * { margin: 0 !important; }
.bi-value { display: flex; gap: 1.25rem; background: #fff; padding: 1.5rem; }
.bi-value > * { margin: 0 !important; }
.bi-value .bi-card-icon { flex-shrink: 0; }
.bi-value h3 { font-size: 1.6rem; }
.bi-value .bi-card-text { margin-top: 0.25rem !important; }
.bi-values + .wp-block-buttons { margin-top: 2rem !important; }

/* ---------- Form pages ---------- */
.bi-form-layout { display: grid; gap: 2.5rem; }
.bi-form-layout > * { margin: 0 !important; min-width: 0; }
@media (min-width: 1024px) { .bi-form-layout { grid-template-columns: minmax(0, 1fr) 20rem; gap: 3.5rem; } .bi-aside { position: sticky; top: 7rem; align-self: start; } }
.bi-aside { display: grid; gap: 1.5rem; }
.bi-aside > * { margin: 0 !important; }
.bi-aside-card { background: #fff; padding: 1.5rem; box-shadow: 0 0 0 1px var(--bi-steel-200); }
.bi-aside-card > * { margin: 0; }
.bi-aside-card h2 { font-size: 1.6rem; }
.bi-aside-card p { margin-top: 0.5rem !important; color: var(--bi-steel-600); }
.bi-aside-card .wp-block-buttons { margin-top: 1.25rem !important; }
.bi-aside-dark { background: var(--bi-ink-900); color: #fff; box-shadow: none; }
.bi-aside-dark h2 { color: #fff; }
.bi-aside-dark p { color: var(--bi-steel-300) !important; }
.bi-next { padding-left: 1.25rem; margin-top: 1rem !important; display: grid; gap: 0.75rem; }
.bi-next li { margin: 0; }
.bi-noscript { padding: 1rem; border-left: 4px solid var(--bi-signal); background: #fff; }

/* ---------- Contact ---------- */
.bi-contact-layout { display: grid; gap: 3rem; }
.bi-contact-layout > * { margin: 0 !important; min-width: 0; }
@media (min-width: 1024px) { .bi-contact-layout { grid-template-columns: 22rem minmax(0, 1fr); gap: 4rem; } }
.bi-contact-side { display: grid; gap: 1.5rem; align-content: start; }
.bi-contact-side > * { margin: 0 !important; }
.bi-contact-list { border-top: 1px solid var(--bi-steel-200); border-bottom: 1px solid var(--bi-steel-200); padding-block: 1.25rem; }
.bi-contact-list > * { margin: 0 !important; }
.bi-contact-label { font-family: var(--bi-mono); font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bi-steel-600); margin-top: 1rem !important; }
.bi-contact-label:first-child { margin-top: 0 !important; }
.bi-contact-big .wp-block-button__link { font-family: var(--bi-display); font-size: 1.6rem; font-weight: 700; letter-spacing: 0.03em; color: var(--bi-ink-900); }
.bi-contact-mail .wp-block-button__link { font-size: 1.125rem; color: var(--bi-ink-900); word-break: break-all; }
.bi-contact-big .wp-block-button__link:hover, .bi-contact-mail .wp-block-button__link:hover { color: var(--bi-signal-ink); }
.bi-contact-value { font-size: 1.125rem; font-weight: 600; }
.bi-contact-main h2 { font-size: clamp(2.25rem, 4vw, 2.75rem); }
.bi-contact-main .bi-lead-muted { margin-bottom: 2rem; }

/* ---------- 404 ---------- */
.bi-404 { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; padding-block: 6rem !important; }
.bi-404 h1 { font-size: clamp(3rem, 8vw, 4.5rem); }

/* ---------- Footer ---------- */
.bi-footer { background: var(--bi-ink-950); color: var(--bi-steel-300); padding-top: 0 !important; }
.bi-footer > .bi-hazard { margin-inline: calc(var(--bi-gutter) * -1) !important; max-width: none !important; }
.bi-footer a { color: #fff; text-decoration: none; }
.bi-footer a:hover { color: var(--bi-signal-light); }
.bi-footer-grid { display: grid; gap: 3rem; padding-block: 3.5rem !important; }
@media (min-width: 768px) { .bi-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; } }
.bi-footer-grid > * { margin: 0 !important; }
.bi-footer-logo img { width: 10rem; height: auto; display: block; }
.bi-footer-tagline { margin-top: 1.25rem !important; font-family: var(--bi-display); font-size: 1.5rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; line-height: 1.15; color: #fff; max-width: 22rem; }
.bi-footer-about { margin-top: 0.75rem !important; font-size: 0.95rem; max-width: 22rem; }
.bi-footer-h { font-family: var(--bi-mono) !important; font-size: 0.75rem !important; font-weight: 500 !important; letter-spacing: 0.18em !important; color: var(--bi-steel-400); margin-bottom: 1rem !important; }
.bi-footer-links { gap: 0 !important; }
.bi-footer-links .wp-block-button__link { color: #fff; word-break: break-all; }
.bi-footer-area { margin-top: 0.5rem !important; }
.bi-footer-nav { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.25rem; grid-template-columns: 1fr 1fr; }
@media (min-width: 768px) { .bi-footer-nav { grid-template-columns: 1fr; } }
.bi-footer-nav li { margin: 0; }
.bi-footer-nav a { color: var(--bi-steel-300); display: inline-block; padding-block: 0.3rem; }
.bi-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-block: 1.5rem !important; font-size: 0.875rem; color: var(--bi-steel-400); gap: 0.5rem 2rem !important; margin-inline: calc(var(--bi-gutter) * -1) !important; padding-inline: var(--bi-gutter) !important; max-width: none !important; }
.bi-footer-bottom p { margin: 0; }
.bi-footer .bw-facebook a { color: var(--bi-signal-light); text-decoration: underline; }

/* ---------- Mobile action bar ---------- */
.bi-action-bar { display: none; }
@media (max-width: 767px) {
	body.bi-has-action-bar { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
	.bi-action-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom)); background: rgba(17, 19, 21, 0.97); border-top: 1px solid rgba(255, 255, 255, 0.1); }
	.bi-action { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 3rem; font-family: var(--bi-display); font-size: 1.0625rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
	.bi-action-call { border: 2px solid rgba(255, 255, 255, 0.7); color: #fff; }
	.bi-action-book { background: var(--bi-signal); color: var(--bi-ink-950); }
}

/* ---------- Scroll reveal (subtle; off for reduced motion and without JS) ---------- */
.bi-js .bi-reveal { opacity: 0; transform: translateY(14px); transition: opacity 520ms var(--bi-ease), transform 520ms var(--bi-ease); }
.bi-js .bi-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.bi-js .bi-reveal { opacity: 1; transform: none; }
}

/* ---------- Generic pages / blog ---------- */
.bi-page-header .wp-block-post-title, .bi-page-header .wp-block-query-title { color: #fff; font-size: clamp(2.9rem, 7vw, 4.5rem); }
.bi-section .wp-block-post-content > * + * { margin-top: 1.25rem; }
