/* Independent original logo and compact floating glass navigation. */
#public-site { position: relative; }
.site-header { position: relative; z-index: 30; display: flex; align-items: center; justify-content: space-between; height: 112px; margin: 20px 32px; padding: 0; gap: 32px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #252828; }
.has-hero .site-header { position: absolute; top: 20px; left: 32px; right: 32px; margin: 0; }
.site-header .brand--original img { width: 112px; height: 112px; border-radius: 0; }
.has-hero .site-header .brand--original img { width: 76px; height: 108px; mix-blend-mode: normal; }
.site-header .brand-region { font-size: 12px; white-space: nowrap; }
.site-header .brand-region small { color: #565956; font-size: 9px; }
.has-hero .site-header .brand-region { color: #fff; text-shadow: 0 1px 8px #0008; }
.has-hero .site-header .brand-region small { color: #fff; }
.navigation-shell { position: relative; display: flex; align-items: center; flex-shrink: 0; gap: 14px; padding: 7px 8px 7px 14px; border: 1px solid #ffffffb8; border-radius: 40px; background: #f3f1ec; box-shadow: 0 10px 35px #1317161a,inset 0 1px 0 #ffffffb3; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
 .navigation-shell { background: linear-gradient(140deg,#ffffffc7,#f7f5f0a8); -webkit-backdrop-filter: blur(24px) saturate(130%); backdrop-filter: blur(24px) saturate(130%); }
}
.site-header .navigation-shell > nav { display: flex; margin: 0; gap: 2px; }
.site-header .navigation-shell > nav a { padding: 10px 11px; border-radius: 24px; font-size: 13px; white-space: nowrap; transition: background .18s,color .18s; }
.site-header .navigation-shell > nav a:hover, .site-header .navigation-shell > nav a[aria-current=page] { background: #ffffff80; color: #941b15; box-shadow: inset 0 1px 0 #ffffff7a; }
.site-header .header-cta { margin: 0; padding: 13px 20px; font-size: 13px; gap: 18px; box-shadow: inset 0 1px 0 #ffffff30,0 5px 15px #18181812; }
.has-hero main { position: relative; }
.has-hero .breadcrumbs { position: absolute; top: 150px; left: var(--content-gutter); right: var(--content-gutter); margin: 0; z-index: 4; color: #fff; text-shadow: 0 1px 8px #0009; }
.has-hero .page-hero--slider { margin-top: 0; min-height: clamp(730px,88vh,960px); padding-top: 220px; }
.has-hero .hero { height: 820px; }
.has-hero .hero-content { top: 204px; }
.has-hero .hero-rail { top: 182px; }
.site-header .mobile-menu { display: none; }
.site-header .mobile-menu summary { display: flex; align-items: center; gap: 8px; padding: 13px 16px; border-radius: 30px; background: #ffffff66; font-size: 12px; cursor: pointer; list-style: none; }
.site-header .mobile-menu summary::-webkit-details-marker { display: none; }
.site-header .mobile-menu summary span { margin: 0; }
.site-header .mobile-menu[open] summary { background: white; }
.site-header .mobile-menu nav { display: grid; align-items: stretch; position: absolute; top: calc(100% + 12px); left: auto; right: 0; width: 360px; margin: 0; max-height: calc(100dvh - 180px); overflow-y: auto; background: #faf9f5; padding: 18px; gap: 4px; border: 1px solid #ffffffd9; border-radius: 28px; box-shadow: 0 18px 48px #151a1929; }
.site-header .mobile-menu nav a { padding: 12px 16px; border-radius: 15px; font-size: 15px; }
.site-header .mobile-menu nav a:hover, .site-header .mobile-menu nav a[aria-current=page] { background: #eae6df; }
@media(max-width:1300px) {
 .site-header .brand-region { display: none; }
}
@media(max-width:1240px) {
 .site-header { gap: 20px; }
 .site-header .navigation-shell > nav { display: none; }
 .site-header .mobile-menu { display: block; }
 .navigation-shell { gap: 6px; padding: 6px; }
}
@media(max-width:700px) {
 .site-header { height: 86px; margin: 12px 16px; gap: 16px; }
 .has-hero .site-header { top: 12px; left: 16px; right: 16px; }
 .site-header .brand--original img { width: 75px; height: 75px; }
 .has-hero .site-header .brand--original img { width: 54px; height: 76px; }
 .site-header .header-cta { padding: 12px 14px; font-size: 11px; gap: 10px; }
 .site-header .header-cta span { font-size: 18px; }
 .site-header .mobile-menu summary { padding: 12px 13px; font-size: 11px; gap: 6px; }
 .site-header .mobile-menu nav { width: calc(100vw - 32px); max-height: calc(100dvh - 158px); border-radius: 24px; }
 .has-hero .breadcrumbs { top: 116px; left: 24px; right: 24px; font-size: 10px; }
 .has-hero .page-hero--slider { min-height: 700px; padding-top: 180px; }
 .has-hero .hero { height: 940px; }
 .has-hero .hero-content { top: 155px; }
 .has-hero .hero-rail { top: 147px; }
}
@media(max-width:360px) {
 .site-header { gap: 10px; }
 .site-header .brand--original img { width: 60px; height: 60px; }
 .has-hero .site-header .brand--original img { width: 46px; height: 65px; }
 .site-header .header-cta { padding: 12px 10px; font-size: 10px; gap: 6px; }
 .site-header .mobile-menu summary { padding: 12px 10px; }
}
/* Calm hero: main navigation only; logo aligned to the content gutter. */
.site-header { margin-left: var(--content-gutter); margin-right: var(--content-gutter); }
.has-hero .site-header { left: var(--content-gutter); right: var(--content-gutter); }
.site-header .brand-region { display: none; }
.hero, .page-hero--slider { border-radius: 0 0 48px 48px; overflow: hidden; }
.has-hero .hero-content { left: var(--content-gutter); }
@media(max-width:700px) {
 .site-header { margin-left: 24px; margin-right: 24px; }
 .has-hero .site-header { left: 24px; right: 24px; }
 .site-header .mobile-menu nav { width: calc(100vw - 48px); }
 .hero, .page-hero--slider { border-radius: 0 0 28px 28px; }
 .has-hero .hero-content { left: 24px; right: 24px; }
}
/* Quiet regional wordmark beside the standalone partner logo. */
.site-header .brand { flex-direction: row; align-items: center; gap: 14px; flex-shrink: 0; }
.site-header .brand-region { display: block; font-size: 12px; font-weight: 500; letter-spacing: .035em; line-height: 1.4; }
@media (min-width:1101px) and (max-width:1450px) {
 .site-header { gap: 20px; }
 .site-header .brand-region { max-width: 86px; white-space: normal; }
 .site-header .navigation-shell > nav a { padding-inline: 8px; font-size: 12px; }
 .site-header .header-cta { padding-inline: 14px; }
}
@media (max-width:700px) {
 .site-header .brand { gap: 9px; }
 .site-header .brand-region { font-size: 10px; max-width: 82px; white-space: normal; }
 .site-header .header-cta { display: none; }
}
.site-header .brand--original img { width: 76px; height: 108px; }
.site-header .brand-region { max-width: none; white-space: nowrap; letter-spacing: .035em; }
@media(max-width:700px) {
 .site-header .brand--original img { width: 54px; height: 76px; }
 .site-header .brand-region { font-size: 10px; }
}
