.bo-page { color: var(--ED-DK-BLUE, #0a1939); }
.bo-page h1, .bo-page h2, .bo-page h3 { text-transform: none; color: var(--ED-DK-BLUE, #0a1939); font-weight: 700; margin: 0; }
.bo-page p { margin: 0; }
.bo-page .grid-container { max-width: 1252px; padding-left: 16px; padding-right: 16px; }
.bo-page .bo-svg { width: 1em; height: 1em; }

/* Hero */
.bo-page .bo-hero { position: relative; padding: 60px 0 130px; background: #ebf5fb; overflow: hidden; }
.bo-page .bo-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.bo-page .bo-hero-text { position: relative; }
.bo-page .bo-hero-text > * { max-width: 50%; }
.bo-page .bo-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bo-page .bo-hero h1 { font-size: 3.5rem; line-height: 1.05; }
.bo-page .bo-hero h1, .bo-page .bo-sub { text-wrap: balance; }
.bo-page .bo-sub { font-size: 1.75rem; font-weight: 700; margin: 16px 0 12px; }
.bo-page .bo-intro { font-size: 1.125rem; }

/* Finder card */
.bo-page .bo-card { position: relative; margin: -80px 0 40px; padding: 32px; background: #fff; border-radius: 18px; box-shadow: 0 8px 30px rgba(10, 25, 57, .12); }
.bo-page .bo-row { display: flex; align-items: flex-end; gap: 20px; }
.bo-page .bo-pin { display: flex; align-items: center; justify-content: center; height: 54px; color: var(--ED-ORANGE); font-size: 2rem; }
.bo-page .bo-field { flex: 1; }
.bo-page .bo-field label { font-weight: 700; font-size: 1.125rem; margin-bottom: 6px; }
.bo-page .bo-field select { margin: 0; height: 54px; max-height: none; font-size: 1.125rem; background-size: 18px; border-radius: 8px; }
.bo-page #bo-phone-link { display: inline-block; padding: 12px 0; min-height: 44px; }
.bo-page .bo-row .button { margin: 0; font-size: 1.125rem; white-space: nowrap; }
.bo-page .button.orange-bg:hover, .bo-page .button.orange-bg:focus { background: var(--ED-DK-BLUE); border-color: var(--ED-DK-BLUE); color: #fff; }
.bo-page .button.orange-bg[aria-disabled="true"] { opacity: .45; pointer-events: none; cursor: default; }

.bo-page .bo-notice { display: flex; gap: 28px; align-items: center; margin-top: 24px; padding: 24px 32px; background: #ebf5fb; border-radius: 16px; }
.bo-page .bo-notice h2 { font-size: 1.375rem; margin-bottom: 6px; }
.bo-page .bo-notice p { font-size: 1rem; line-height: 1.7; color: #4a5670; }
.bo-page .bo-notice p strong { color: var(--ED-DK-BLUE, #0a1939); }
.bo-page .bo-notice p + p { margin-top: 8px; font-weight: 700; }
.bo-page .bo-icon-ring { flex: none; display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; border: 3px solid #1b6ca8; border-radius: 50%; font-size: 2rem; color: #1b6ca8; }

/* Trust columns */
.bo-page .bo-features { display: flex; margin-bottom: 40px; }
.bo-page .bo-feature { flex: 1; display: flex; align-items: center; gap: 16px; padding: 0 24px; }
.bo-page .bo-feature + .bo-feature { border-left: 1px solid #d5dce6; }
.bo-page .bo-feature h3 { font-size: 1.125rem; }
.bo-page .bo-feature p { font-size: .9375rem; line-height: 1.5; color: #4a5670; }
.bo-page .bo-badge { flex: none; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: #ebf5fb; font-size: 1.75rem; }
.bo-page .bo-badge-lg { width: 140px; height: 140px; font-size: 3.75rem; background: #d6eaf8; }

/* Concierge band */
.bo-page .bo-cta { background: #ebf5fb; padding: 50px 0; }
.bo-page .bo-cta-inner { display: flex; align-items: center; gap: 32px; }
.bo-page .bo-cta-copy { flex: 1; }
.bo-page .bo-cta-copy h2 { font-size: 1.875rem; margin-bottom: 8px; }
.bo-page .bo-cta-copy p { font-size: 1.125rem; }
.bo-page .bo-cta-action { text-align: center; }
.bo-page .bo-cta-action .button { margin: 0 0 10px; }
.bo-page .bo-cta-action small { display: block; font-size: 1rem; }

@media (min-width: 64em) {
	.bo-page .bo-hero-text { padding-left: 110px; }
	.bo-page .bo-hero-text > * { max-width: 45%; }
	.bo-page .bo-cta-copy { padding-left: 32px; border-left: 1px solid #b9c6d6; }
}

@media (min-width: 64em) and (max-width: 79.9375em) {
	.bo-page .bo-hero-text { padding-left: 48px; }
	.bo-page .bo-hero-text > * { max-width: 400px; }
	.bo-page .bo-hero h1 { font-size: 2.75rem; }
	.bo-page .bo-sub { font-size: 1.5rem; }
	.bo-page .bo-feature { align-items: flex-start; padding: 0 16px; }
	.bo-page .bo-cta-inner { gap: 24px; }
	.bo-page .bo-cta-copy { padding-left: 24px; }
	.bo-page .bo-badge-lg { width: 100px; height: 100px; font-size: 2.75rem; }
	.bo-page .bo-cta-action { position: relative; }
	.bo-page .bo-cta-action .button { margin: 0; font-size: 1rem; }
	.bo-page .bo-cta-action small { position: absolute; top: 100%; left: 0; right: 0; margin-top: 10px; }
}

@media (min-width: 80em) {
	.bo-page .bo-hero-text > * { max-width: 500px; }
	.bo-page .bo-cta-copy h2 { font-size: 2.25rem; }
}

@media (max-width: 63.9375em) {
	.bo-page .bo-features { flex-direction: column; row-gap: 24px; }
	.bo-page .bo-feature { padding: 0; }
	.bo-page .bo-feature + .bo-feature { border-left: 0; }
	.bo-page .bo-cta-inner { flex-direction: column; text-align: center; }
}

@media (max-width: 48em) {
	.bo-page .bo-hero { padding: 0; }
	.bo-page .bo-hero-img { position: static; height: 200px; object-position: right 25%; }
	.bo-page .bo-hero-text { padding: 24px 16px; }
	.bo-page .bo-hero-text > * { max-width: none; }
	.bo-page .bo-card { margin: 24px 0; padding: 28px; }
}

@media (max-width: 39.9375em) {
	.bo-page .bo-hero { padding: 0; background: #ebf5fb; }
	.bo-page .bo-hero-img { position: static; height: 200px; object-position: right 25%; }
	.bo-page .bo-hero-text { padding: 24px 16px; }
	.bo-page .bo-hero h1 { font-size: 2.25rem; }
	.bo-page .bo-sub { font-size: 1.25rem; }
	.bo-page .bo-card { margin: 24px 0; padding: 20px; }
	.bo-page .bo-row { flex-direction: column; align-items: stretch; gap: 12px; }
	.bo-page .bo-pin { display: none; }
	.bo-page .bo-row .button { width: 100%; text-align: center; }
	.bo-page .bo-notice { flex-direction: column; text-align: center; padding: 20px; gap: 16px; }
	.bo-page .bo-cta-copy h2 { font-size: 1.75rem; }
	.bo-page .bo-badge-lg { width: 100px; height: 100px; font-size: 2.75rem; }
}
