/**
 * Task 40.4.13 – homepage visual-reference alignment.
 * Scoped to .bt-home-root so no other migrated surface is changed.
 */
.bt-home-root {
	--home-paper: #FBF8F2;
	--home-paper-warm: #F4EFE8;
	--home-stone: #E5DDD2;
	--home-ink: #40342A;
	--home-petrol-900: #1C3738;
	--home-petrol-700: #285252;
	--home-hh-900: #87551F;
	--home-max: 1180px;
	--home-text: 760px;
	--home-radius: 3px;
	margin: 0;
	background: var(--home-paper);
	color: var(--home-ink);
	font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
	font-size: 18px;
	line-height: 1.58;
}
.bt-home-root *,
.bt-home-root *::before,
.bt-home-root *::after { box-sizing: border-box; }

.bt-home-root a { color: inherit; }
.bt-home-root,
.bt-home-root p,
.bt-home-root a,
.bt-home-root input,
.bt-home-root textarea,
.bt-home-root button,
.bt-home-root label,
.bt-home-root h1,
.bt-home-root h2,
.bt-home-root h3,
.bt-home-root h4 {
	font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
}
.bt-home-root p {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}
.bt-home-wrap { width: min(calc(100% - 48px), var(--home-max)); margin: 0 auto; }
.bt-home-text-wrap { width: min(calc(100% - 48px), var(--home-text)); margin: 0 auto; }

.bt-home-hero {
	position: relative;
	min-height: 620px;
	display: grid;
	place-items: center;
	padding: 0;
	overflow: hidden;
	background: var(--home-petrol-900) url('../img/home/home-hero-poster.png') center center / cover no-repeat;
}
.bt-home-hero-video {
	position: absolute;
	z-index: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.bt-home-hero::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(28,55,56,.56), rgba(28,55,56,.22)),
		linear-gradient(to top, rgba(28,55,56,.10), transparent 45%);
	pointer-events: none;
}
.bt-home-hero-inner {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 48px), 1040px);
	color: #fff;
	text-align: left;
}
.bt-home-root h1 {
	margin: 0;
	max-width: 850px;
	color: #fff;
	font-size: clamp(48px, 7vw, 82px);
	line-height: 1;
	letter-spacing: -.02em;
	font-weight: 600;
}
.bt-home-hero p {
	max-width: 700px;
	margin: 26px 0 0;
	color: #fff;
	font-size: clamp(19px, 2vw, 25px);
	line-height: 1.42;
	font-weight: 400;
}
.bt-home-actions {
	display: flex;
	gap: 14px;
	margin-top: 28px;
	flex-wrap: wrap;
}
.bt-home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 20px;
	border-radius: var(--home-radius);
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	transition: background .16s ease, color .16s ease, border-color .16s ease;
	white-space: nowrap;
}
.bt-home-root .bt-home-btn-primary {
	min-width: 250px;
	background: var(--home-paper);
	color: var(--home-petrol-900);
	border: 1px solid var(--home-paper);
}
.bt-home-root .bt-home-btn-primary:hover,
.bt-home-root .bt-home-btn-primary:focus-visible {
	background: #fff;
	color: var(--home-petrol-900);
}
.bt-home-btn-secondary {
	min-width: 180px;
	color: #fff;
	border: 1px solid rgba(255,255,255,.76);
	background: transparent;
}
.bt-home-btn-secondary:hover,
.bt-home-btn-secondary:focus-visible {
	background: rgba(255,255,255,.08);
	border-color: #fff;
	color: #fff;
}

.bt-home-root section:not(.bt-home-hero) { padding: 90px 0; }
.bt-home-kicker {
	color: var(--home-petrol-700);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .10em;
	font-weight: 600;
	margin-bottom: 18px;
}
.bt-home-root h2 {
	color: var(--home-petrol-900);
	font-size: clamp(36px, 3.8vw, 54px);
	line-height: 1.08;
	letter-spacing: -.018em;
	font-weight: 500;
	margin: 0 0 30px;
}
.bt-home-intro p { margin: 0 0 1.1em; }
.bt-home-intro strong { color: var(--home-petrol-900); font-weight: 600; }

.bt-home-founder {
	margin-top: 38px;
	padding-top: 28px;
	border-top: 1px solid var(--home-stone);
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 28px;
	align-items: center;
}
.bt-home-founder-image {
	display: block;
	text-decoration: none;
}
.bt-home-founder-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--home-radius);
	margin: 0;
}
.bt-home-founder-copy p { margin: 0 0 14px; }
.bt-home-founder-copy strong a {
	color: var(--home-petrol-900);
	text-decoration: none;
}
.bt-home-founder-copy strong a:hover,
.bt-home-founder-copy strong a:focus-visible,
.bt-home-text-link:hover,
.bt-home-text-link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.bt-home-text-link {
	color: var(--home-petrol-700);
	font-weight: 600;
	text-decoration: none;
}

.bt-home-perspectives {
	background: var(--home-paper-warm);
	border-top: 1px solid var(--home-stone);
	border-bottom: 1px solid var(--home-stone);
}
.bt-home-section-head { max-width: 780px; margin-bottom: 44px; }
.bt-home-section-head p {
	margin: -14px 0 0;
	color: var(--home-ink);
	font-size: 18px;
}
.bt-home-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}
.bt-home-feature {
	text-decoration: none;
	background: transparent;
	border: 1px solid var(--home-stone);
	border-radius: var(--home-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	transition: border-color .16s ease, color .16s ease;
}
.bt-home-feature:hover,
.bt-home-feature:focus-visible {
	border-color: var(--home-petrol-700);
	outline: none;
}
.bt-home-feature-hh:hover,
.bt-home-feature-hh:focus-visible { border-color: var(--home-hh-900); }
.bt-home-feature img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	margin: 0;
	border-radius: 0;
}
.bt-home-feature-body { padding: 24px 24px 26px; }
.bt-home-feature-tag {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .09em;
	color: var(--home-petrol-700);
	font-weight: 600;
	margin-bottom: 12px;
}
.bt-home-feature-hh .bt-home-feature-tag { color: var(--home-hh-900); }
.bt-home-feature h3,
.bt-home-editorial-link h3 {
	color: var(--home-petrol-900);
	font-weight: 600;
}
.bt-home-feature h3 {
	font-size: 26px;
	line-height: 1.15;
	margin: 0 0 7px;
}
.bt-home-feature-hh h3 { color: var(--home-ink); }
.bt-home-sub {
	color: var(--home-petrol-700);
	font-weight: 600;
}
.bt-home-feature .bt-home-sub {
	margin: 0 0 14px;
	line-height: 1.42;
}
.bt-home-feature-hh .bt-home-sub { color: var(--home-hh-900); }
.bt-home-feature p { margin: 0; color: var(--home-ink); font-size: 17px; }

.bt-home-link-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 34px;
	border-top: 1px solid var(--home-stone);
}
.bt-home-editorial-link {
	text-decoration: none;
	padding: 26px 24px 28px;
	position: relative;
}
.bt-home-editorial-link + .bt-home-editorial-link {
	border-left: 1px solid var(--home-stone);
}
.bt-home-symbol {
	width: 30px;
	height: 30px;
	margin-bottom: 16px;
	color: var(--home-petrol-700);
}
.bt-home-editorial-link h3 {
	margin: 0 0 7px;
	font-size: 23px;
}
.bt-home-editorial-link .bt-home-sub { margin: 0 0 12px; }
.bt-home-editorial-link p { margin: 0; color: var(--home-ink); font-size: 16px; }
.bt-home-editorial-link:hover h3,
.bt-home-editorial-link:focus-visible h3 {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.bt-home-contact { position: relative; background: var(--home-paper); }
.bt-home-legacy-anchor { position: absolute; top: 0; left: 0; }
.bt-home-contact-grid {
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	gap: 66px;
	align-items: start;
}
.bt-home-contact-copy h3 {
	margin: 0 0 10px;
	color: var(--home-petrol-900);
	font-size: 18px;
	font-weight: 600;
}
.bt-home-contact-copy p { margin: 0 0 24px; }
.bt-home-contact-details {
	margin-top: 32px;
	padding-top: 22px;
	border-top: 1px solid var(--home-stone);
}
.bt-home-contact-details h4 {
	margin: 0 0 14px;
	font-size: 18px;
	color: var(--home-petrol-700);
	font-weight: 600;
}
.bt-home-contact-details a {
	display: block;
	color: var(--home-petrol-700);
	text-decoration: none;
	margin: 7px 0;
}
.bt-home-contact-details a:hover,
.bt-home-contact-details a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* WPForms 1663 mapped to the approved contact-form visual language. */
.bt-home-contact-form .wpforms-container { margin: 0; }
.bt-home-contact-form #wpforms-form-1663 {
	display: grid;
	gap: 16px;
}
.bt-home-contact-form #wpforms-form-1663 .wpforms-field { padding: 0; }
.bt-home-contact-form #wpforms-form-1663 .wpforms-field-label {
	display: block;
	margin: 0 0 8px;
	color: var(--home-petrol-900);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.bt-home-contact-form #wpforms-form-1663 input[type="email"],
.bt-home-contact-form #wpforms-form-1663 textarea {
	width: 100% !important;
	max-width: none !important;
	border: 1px solid var(--home-stone) !important;
	border-radius: var(--home-radius) !important;
	padding: 12px 13px !important;
	background: #fff !important;
	color: var(--home-ink) !important;
	font: inherit !important;
	box-shadow: none !important;
}
.bt-home-contact-form #wpforms-form-1663 input[type="email"]:focus,
.bt-home-contact-form #wpforms-form-1663 textarea:focus {
	border-color: var(--home-petrol-700) !important;
	box-shadow: 0 0 0 3px rgba(40,82,82,.10) !important;
	outline: none !important;
}
.bt-home-contact-form #wpforms-form-1663 textarea {
	min-height: 170px !important;
	resize: vertical;
}
.bt-home-contact-form #wpforms-form-1663 .wpforms-submit-container { padding: 0; }
.bt-home-contact-form #wpforms-form-1663 button[type="submit"] {
	min-height: 48px !important;
	padding: 10px 20px !important;
	border: 1px solid var(--home-petrol-700) !important;
	border-radius: var(--home-radius) !important;
	background: var(--home-petrol-700) !important;
	color: #fff !important;
	font: inherit !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}
.bt-home-contact-form #wpforms-form-1663 button[type="submit"]:hover,
.bt-home-contact-form #wpforms-form-1663 button[type="submit"]:focus-visible {
	background: var(--home-petrol-900) !important;
	border-color: var(--home-petrol-900) !important;
}
.bt-home-contact-form #wpforms-form-1663 .wpforms-error {
	color: #8b2e24;
	font-size: 14px;
}

@media (max-width: 900px) {
	.bt-home-hero { min-height: 540px; }
	.bt-home-root section:not(.bt-home-hero) { padding: 74px 0; }
	.bt-home-feature-grid,
	.bt-home-contact-grid { grid-template-columns: 1fr; }
	.bt-home-contact-grid { gap: 46px; }
}
@media (max-width: 640px) {
	.bt-home-root { font-size: 17px; }
	.bt-home-wrap,
	.bt-home-text-wrap,
	.bt-home-hero-inner { width: min(calc(100% - 34px), var(--home-max)); }
	.bt-home-hero {
		min-height: 500px;
		background-position: 52% center;
	}
	.bt-home-root h1 { font-size: clamp(42px, 13vw, 60px); }
	.bt-home-hero p { font-size: 19px; max-width: 100%; }
	.bt-home-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.bt-home-btn { width: 100%; min-width: 0; }
	.bt-home-root section:not(.bt-home-hero) { padding: 62px 0; }
	.bt-home-root h2 { font-size: clamp(32px, 9vw, 42px); }
	.bt-home-founder {
		grid-template-columns: 118px minmax(0, 1fr);
		gap: 18px;
		align-items: start;
	}
	.bt-home-feature-grid { gap: 18px; }
	.bt-home-feature-body { padding: 20px; }
	.bt-home-link-row {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.bt-home-editorial-link { padding: 24px 20px; }
	.bt-home-editorial-link + .bt-home-editorial-link {
		border-left: 0;
		border-top: 1px solid var(--home-stone);
	}
	.bt-home-contact-form #wpforms-form-1663 button[type="submit"] { width: 100% !important; }
}

@media (max-width: 430px) {
	.bt-home-founder { grid-template-columns: 1fr; }
	.bt-home-founder-image { width: min(58vw, 180px); }
}
@media (prefers-reduced-motion: reduce) {
	.bt-home-hero-video { display: none; }
	.bt-home-root *,
	.bt-home-root *::before,
	.bt-home-root *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
