/**
 * Light/dark surface system.
 *
 * Page heroes, the global chrome and intentional CTA panels retain the dark
 * brand canvas. Content-heavy sections switch to readable light surfaces.
 */

:root {
	--bv-dark-bg: #07111b;
	--bv-dark-surface: #0f1b26;
	--bv-content-bg: #f7f8fb;
	--bv-content-alt: #eef2f7;
	--bv-card-bg: #fff;
	--bv-content-text: #0f172a;
	--bv-content-secondary: #475569;
	--bv-content-muted: #64748b;
	--bv-accent-on-light: #087568;
	--bv-content-border: rgba(15, 23, 42, 0.08);
	--bv-content-shadow: 0 1rem 2.75rem rgba(15, 23, 42, 0.08);
	--bv-bg: var(--bv-dark-bg);
	--bv-surface: var(--bv-dark-surface);
	--bv-light-bg: var(--bv-content-bg);
	--bv-light-text: var(--bv-content-text);
}

html,
body {
	background: var(--bv-dark-bg);
}

/* Shared light content context. */
:is(
	.bv-trust,
	.bv-selected-work,
	.bv-capabilities,
	.bv-process,
	.bv-knowledge,
	.bv-about-story,
	.bv-about-principles,
	.bv-about-work,
	.bv-project-filters,
	.bv-project-results,
	.bv-project-facts,
	.bv-project-content,
	.bv-project-solutions,
	.bv-services-index,
	.bv-service-content,
	.bv-service-projects,
	.bv-service-knowledge,
	.bv-knowledge-filters,
	.bv-knowledge-results,
	.bv-knowledge-article__body,
	.bv-knowledge-related,
	.bv-contact-section
) {
	--bv-focus-color: var(--bv-primary);
	--bv-border: var(--bv-content-border);
	--bv-text: var(--bv-content-text);
	--bv-text-secondary: var(--bv-content-secondary);
	--bv-text-muted: var(--bv-content-muted);
	--bv-surface: var(--bv-card-bg);
	--bv-surface-elevated: var(--bv-content-alt);
	background: var(--bv-content-bg);
	color: var(--bv-content-text);
	color-scheme: light;
}

:is(
	.bv-trust,
	.bv-selected-work,
	.bv-capabilities,
	.bv-process,
	.bv-knowledge,
	.bv-about-story,
	.bv-about-principles,
	.bv-about-work,
	.bv-project-filters,
	.bv-project-results,
	.bv-project-facts,
	.bv-project-content,
	.bv-project-solutions,
	.bv-services-index,
	.bv-service-content,
	.bv-service-projects,
	.bv-service-knowledge,
	.bv-knowledge-filters,
	.bv-knowledge-results,
	.bv-knowledge-article__body,
	.bv-knowledge-related,
	.bv-contact-section
) :where(h1, h2, h3, h4, h5, h6) {
	color: var(--bv-content-text);
}

:is(
	.bv-trust,
	.bv-selected-work,
	.bv-capabilities,
	.bv-process,
	.bv-knowledge,
	.bv-about-story,
	.bv-about-principles,
	.bv-about-work,
	.bv-project-filters,
	.bv-project-results,
	.bv-project-facts,
	.bv-project-content,
	.bv-project-solutions,
	.bv-services-index,
	.bv-service-content,
	.bv-service-projects,
	.bv-service-knowledge,
	.bv-knowledge-filters,
	.bv-knowledge-results,
	.bv-knowledge-article__body,
	.bv-knowledge-related,
	.bv-contact-section
) .bv-eyebrow {
	color: var(--bv-primary);
}

/* Home: dark hero, light portfolio rhythm, dark accent panels. */
.bv-trust {
	padding-block: clamp(2rem, 5vw, 4rem);
	border-bottom-color: var(--bv-content-border);
	background: var(--bv-content-alt);
}

.bv-trust__title {
	color: var(--bv-content-secondary);
}

.bv-trust__item {
	border-color: var(--bv-content-border);
	background: var(--bv-card-bg);
	box-shadow: 0 0.5rem 1.75rem rgba(15, 23, 42, 0.05);
}

.bv-trust__item--surface-neutral {
	background: var(--bv-card-bg);
}

.bv-selected-work,
.bv-process,
.bv-knowledge {
	background: var(--bv-content-bg);
}

.bv-capabilities,
.bv-about {
	--bv-border: var(--bv-content-border);
	--bv-text: var(--bv-content-text);
	--bv-text-secondary: var(--bv-content-secondary);
	--bv-text-muted: var(--bv-content-muted);
	--bv-surface: var(--bv-card-bg);
	--bv-surface-elevated: var(--bv-content-alt);
	background: var(--bv-content-alt);
	color: var(--bv-content-text);
	color-scheme: light;
}

.bv-capabilities :where(h2, h3),
.bv-about :where(h2, h3) {
	color: var(--bv-content-text);
}

.bv-capabilities .bv-eyebrow,
.bv-about .bv-eyebrow {
	color: var(--bv-primary);
}

.bv-project-showcase,
.bv-capability,
.bv-knowledge-card {
	border-color: var(--bv-content-border);
	background: var(--bv-card-bg);
	box-shadow: var(--bv-content-shadow);
}

.bv-selected-work :where(
	.bv-selected-work__all-link,
	.bv-project-showcase__link
),
.bv-capabilities .bv-capability__link,
.bv-knowledge :where(
	.bv-knowledge__all-link,
	.bv-knowledge-card__link
) {
	color: var(--bv-accent-on-light);
}

.bv-project-showcase__summary,
.bv-capability__summary,
.bv-knowledge-card__excerpt,
.bv-about__copy {
	color: var(--bv-content-secondary);
}

.bv-project-showcase__meta,
.bv-project-showcase__details,
.bv-knowledge-card__meta,
.bv-knowledge-card__date,
.bv-capability__number,
.bv-capability__eyebrow,
.bv-process-step__number {
	color: var(--bv-content-muted);
}

.bv-knowledge-card__title a,
.bv-about__title,
.bv-about__link,
.bv-about__link:visited {
	color: var(--bv-content-text);
}

.bv-lab,
.bv-context-cta,
.bv-case-spotlight,
.bv-home-final-cta {
	background-color: var(--bv-dark-bg);
	color-scheme: dark;
}

/* Archives: dark introduction followed by a continuous light workspace. */
.bv-project-filters,
.bv-knowledge-filters {
	border-bottom-color: var(--bv-content-border);
	background: var(--bv-content-alt);
}

.bv-project-results,
.bv-knowledge-results {
	min-height: 32rem;
}

.bv-project-filter select,
.bv-knowledge-filter select {
	border-color: var(--bv-content-border);
	background-color: var(--bv-card-bg);
	color: var(--bv-content-text);
}

.bv-project-filters__clear,
.bv-project-card__link,
.bv-knowledge-entry__title a,
.bv-knowledge-related-item h3 a {
	color: var(--bv-primary);
}

.bv-project-card,
.bv-knowledge-entry,
.bv-knowledge-related-item,
.bv-project-empty,
.bv-knowledge-empty {
	border-color: var(--bv-content-border);
	background: var(--bv-card-bg);
	box-shadow: var(--bv-content-shadow);
}

.bv-project-card__media,
.bv-knowledge-entry__media {
	background: var(--bv-content-alt);
}

.bv-project-card__summary,
.bv-project-card__details,
.bv-knowledge-entry p,
.bv-knowledge-related-item p {
	color: var(--bv-content-secondary);
}

.bv-project-pagination :where(a, span),
.bv-knowledge-pagination :where(a, span) {
	border-color: var(--bv-content-border);
	background: var(--bv-card-bg);
	color: var(--bv-content-text);
}

/* Project, service and article detail content. */
.bv-project-facts {
	background: var(--bv-content-alt);
}

.bv-project-fact,
.bv-project-stack__list span,
.bv-project-solution,
.bv-service-project,
.bv-service-knowledge-item,
.bv-case-grid > *,
.bv-case-note {
	border-color: var(--bv-content-border);
	background: var(--bv-card-bg);
}

.bv-project-solution,
.bv-service-knowledge-item,
.bv-case-grid > *,
.bv-case-note {
	box-shadow: 0 0.75rem 2rem rgba(15, 23, 42, 0.055);
}

.bv-project-content__inner :where(p, li),
.bv-service-content__inner :where(p, li),
.bv-knowledge-article__content :where(p, li) {
	color: var(--bv-content-secondary);
}

.bv-project-solutions,
.bv-service-knowledge,
.bv-knowledge-related {
	background: var(--bv-content-alt);
}

.bv-project-navigation {
	--bv-border: var(--bv-content-border);
	--bv-text: var(--bv-content-text);
	--bv-text-secondary: var(--bv-content-secondary);
	background: var(--bv-content-bg);
	color-scheme: light;
}

.bv-project-navigation__item {
	color: var(--bv-content-text);
}

/* Services and about rows gain separation without becoming card-heavy. */
.bv-service-row,
.bv-about-work article {
	border-color: var(--bv-content-border);
}

.bv-service-row__title a,
.bv-about-work h3 a {
	color: var(--bv-content-text);
}

.bv-service-row__summary,
.bv-about-story__grid > div p,
.bv-about-principles article p {
	color: var(--bv-content-secondary);
}

.bv-about-principles {
	background: var(--bv-content-alt);
}

.bv-about-principles article {
	padding-inline: var(--bv-space-6);
	background: var(--bv-card-bg);
}

/* Contact and brief forms use clean, high-contrast controls. */
.bv-contact-section {
	background: var(--bv-content-alt);
}

.bv-contact-intro > p:last-of-type,
.bv-form-success > p:last-child {
	color: var(--bv-content-secondary);
}

.bv-contact-form,
.bv-form-success,
.bv-form-status {
	border-color: var(--bv-content-border);
	background: var(--bv-card-bg);
	box-shadow: var(--bv-content-shadow);
}

.bv-form-field :where(input, select, textarea) {
	border-color: rgba(15, 23, 42, 0.14);
	background: var(--bv-content-bg);
	color: var(--bv-content-text);
}

.bv-form-field :where(input, select, textarea):focus-visible {
	border-color: var(--bv-primary);
	background: var(--bv-card-bg);
}

.bv-form-field label span {
	color: var(--bv-content-muted);
}

@media (min-width: 48rem) {
	.bv-about-principles__grid {
		gap: var(--bv-space-4);
		border-top: 0;
	}

	.bv-about-principles article {
		padding: var(--bv-space-8);
		border: var(--bv-border-width) solid var(--bv-content-border);
		border-radius: var(--bv-radius-default);
		box-shadow: 0 0.75rem 2rem rgba(15, 23, 42, 0.05);
	}
}

@media (max-width: 47.99rem) {
	.bv-project-showcase,
	.bv-project-card,
	.bv-knowledge-card,
	.bv-contact-form {
		box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.06);
	}
}
