html { scroll-padding-top: calc(var(--site-header-height,72px) + 12px); }
.home-overlay-header .main-navigation { position: fixed; top: 0; left: 0; right: 0; z-index: 1030; transition: top .18s ease, box-shadow .18s ease; }
.home-overlay-header .main-navigation.is-docked { top: 0; }
.home-overlay-header .main-navigation .navbar-collapse { max-height: calc(100dvh - var(--site-header-height,72px) - 3vh); overflow-y: auto; }
.bridge-hero { position: relative; isolation: isolate; overflow: hidden; background: #edf4f6; min-height: 620px; padding: calc(var(--site-header-height,80px) + 4rem) 1.5rem 4rem; }
.bridge-hero__image { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.bridge-hero__wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,#edf4f6 0%,#edf4f6f5 29%,#edf4f6d9 40%,#edf4f650 58%,transparent 78%); }
.bridge-hero__inner { max-width: 1280px; margin: auto; display: flex; justify-content: space-between; gap: 2rem; }
.bridge-hero__copy { width: 47%; max-width: 590px; }
.bridge-hero__eyebrow { font-size: .68rem; letter-spacing: .13em; color: #647783; font-weight: 700; line-height: 1.5; margin-bottom: 1.35rem; }
.bridge-hero__eyebrow::after { content: ""; display: block; height: 2px; width: 42px; background: #78a5a5; margin-top: .75rem; }
.bridge-hero h1 { color: var(--hero-title,#15354d); font-size: clamp(2.1rem,3.6vw,3.55rem); font-weight: 850; line-height: 1.05; letter-spacing: -.035em; margin: 0 0 1.25rem; }
.bridge-hero__description { max-width: 480px; color: #526570; font-size: 1.05rem; line-height: 1.55; white-space: pre-line; }
.bridge-hero__actions { display: flex; flex-wrap: wrap; gap: 1.4rem; align-items: center; margin: 1.5rem 0 1.2rem; }
.bridge-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; padding: .85rem 1.4rem; border-radius: 5px; background: #15354d; color: #fff; font-size: .9rem; font-weight: 700; text-decoration: none; line-height: 1.4; }
.bridge-button:hover { color: #fff; background: #254e68; }
.bridge-hero__secondary { display: inline-flex; align-items: center; gap: .65rem; font-size: .9rem; color: #15354d; font-weight: 700; text-underline-offset: 5px; }
.bridge-hero__trust { font-size: .8rem; color: #627681; margin: 0; }
.bridge-hero__note,.consultation-banner__note { white-space: pre-line; font-family: cursive; font-style: italic; font-size: 1.5rem; line-height: 1.3; transform: rotate(-6deg); max-width: 170px; }
.bridge-hero__note { align-self: flex-start; color: #15354d; background: #ffffffc9; padding: 1rem; border-radius: 8px; }
.consultation-banner { position: relative; isolation: isolate; overflow: hidden; background: #15354d; padding: 3.25rem 1.5rem; color: #fff; }
.consultation-banner__image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.consultation-banner__shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,#123954f5 0%,#123954d9 40%,#12395477 70%,#12395499); }
.consultation-banner__arc { position: absolute; z-index: -1; right: -160px; bottom: -265px; width: 510px; height: 510px; border: 55px solid var(--banner-accent,#477f80); opacity: .75; border-radius: 50%; transform: rotate(-20deg); }
.consultation-banner__inner { max-width: 1280px; margin: auto; display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.consultation-banner__copy { max-width: 760px; }
.consultation-banner h2 { font-size: clamp(1.65rem,2.7vw,2.55rem); line-height: 1.15; font-weight: 800; color: var(--banner-title,#fff); margin: 0 0 .8rem; }
.consultation-banner__copy p { line-height: 1.6; margin-bottom: 1.3rem; color: #edf4f6; }
.consultation-banner__button { background: #fff; color: var(--banner-accent,#477f80); }
.consultation-banner__button:hover { background: #e8f2f2; color: #15354d; }
.consultation-banner__note { margin: 0; padding-right: 1rem; }
.bridge-button:focus-visible,.bridge-hero__secondary:focus-visible { outline: 3px solid #6bb9bf; outline-offset: 4px; }
@media(max-width:991.98px) { .home-overlay-header .main-navigation .container { padding-inline: 1.25rem !important; } .bridge-hero__copy { width: 65%; } .bridge-hero__note { display: none; } }
@media(max-width:599.98px) { .bridge-hero { min-height: 0; padding: calc(var(--site-header-height,72px) + 2rem) 1.25rem 2.5rem; } .bridge-hero__copy { width: 100%; } .bridge-hero__wash { background: #edf4f6e8; } .bridge-hero__actions { gap: 1rem; } .consultation-banner { padding: 2.5rem 1.25rem; } .consultation-banner__inner { flex-direction: column; align-items: flex-start; } .consultation-banner__note { font-size: 1.2rem; } }
@media(prefers-reduced-motion:reduce) { .home-overlay-header .main-navigation { transition: none; } }

.main-navigation .navbar-toggler { background: #ffffff; border: 1px solid #b5c7cf; color: #15354d; }
.main-navigation .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%2315354d' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
@media(min-width:1200px) { .home-overlay-header .main-navigation .navbar-collapse { max-height: none; overflow: visible; } }