/* Section palettes belong to the theme, independent of editable page copy. */
.wp-block-post-content > * { --header-section-tone:light }
.wp-block-post-content > :is(.c-hero,.rs-hero,.cr-hero) { --header-section-tone:photo }
.wp-block-post-content > :is(.property-guide,.sd-fieldnote,.lx-dark-feature,.lx-property-section),
.c-footer { --header-section-tone:dark }

/* Cream glass on light pages, evergreen glass on dark sections. */
body .c-header {
 --nav-surface:rgba(247,247,239,.96);
 --nav-ink:#173b2e;
 --nav-accent:#087447;
 --nav-rule:rgba(23,59,46,.13);
 --nav-shadow:0 4px 22px rgba(15,37,26,.035);
 --nav-blur:blur(18px);
 --nav-action-bg:#173b2e;
 --nav-action-ink:#f4f7ed;
}
body.has-visual-header .c-header:not([data-header-tone]),
body .c-header[data-header-tone="dark"],
body .c-header[data-header-tone="overlay"] {
 --nav-surface:rgba(20,47,39,.94);
 --nav-ink:#f7f8f0;
 --nav-accent:#ccef86;
 --nav-rule:rgba(240,248,225,.16);
 --nav-action-bg:#ccef86;
 --nav-action-ink:#173b2e;
}
body.has-visual-header .c-header:not([data-header-tone]),
body .c-header[data-header-tone="overlay"] {
 --nav-surface:transparent;
 --nav-rule:transparent;
 --nav-shadow:none;
 --nav-blur:none;
}
/* An open menu is one uninterrupted cream surface at every scroll position. */
body .c-header:is(.services-open,:has(.c-nav.is-open)) {
 --nav-surface:#f7f7ef;
 --nav-ink:#173b2e;
 --nav-accent:#087447;
 --nav-rule:rgba(23,59,46,.13);
 --nav-action-bg:#173b2e;
 --nav-action-ink:#f4f7ed;
 --nav-shadow:0 4px 22px rgba(15,37,26,.035);
 --nav-blur:blur(18px);
}
body .c-header,
body.inner-page .c-header,
body .c-header[data-header-tone],
body .c-header.is-scrolled,
body.has-visual-header .c-header,
body.has-visual-header .c-header.services-open:not(.is-scrolled),
body .c-header:has(.c-nav.is-open) {
 background:var(--nav-surface);
 color:var(--nav-ink);
 backdrop-filter:var(--nav-blur);
 -webkit-backdrop-filter:var(--nav-blur);
 box-shadow:inset 0 -1px var(--nav-rule),var(--nav-shadow);
 transition:background-color .32s ease,color .25s ease,box-shadow .32s ease,height .2s ease;
}
body .c-header::after { display:none }
.c-header .lex-logo svg { display:block;width:100%;height:auto }
.c-header .lex-logo a { color:inherit }
.c-header .menu-toggle { color:var(--nav-ink) }
.c-header .menu-icon { border-color:currentColor }
.c-header .menu-toggle[aria-expanded=true] .menu-icon::after { background:currentColor }
.c-header :is(a,button):focus-visible { outline-color:var(--nav-accent) }

@media(min-width:801px) {
 .c-header .c-nav > .lex-link > a:not(.header-cta),
 .c-header .services-toggle { color:var(--nav-ink);position:relative }
 .c-header .c-nav > .lex-link > a:not(.header-cta):hover,
 .c-header .header-page-link[aria-current=page],
 .c-header .services-toggle:is(:hover,.is-current,[aria-expanded=true]) { color:var(--nav-accent) }
 .c-header .header-page-link::after,
 .c-header .services-toggle::after {
  content:'';position:absolute;left:0;right:0;bottom:7px;height:2px;
  background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease;
 }
 .c-header .header-page-link:is(:hover,[aria-current=page])::after,
 .c-header .services-toggle:is(:hover,.is-current,[aria-expanded=true])::after { transform:scaleX(1) }
 .c-header .services-dropdown { border-top:0;border-radius:0 0 8px 8px;background:#f7f7ef }
}
.c-header .header-cta,
.c-header .lx-mobile-quote a {
 background:var(--nav-action-bg);color:var(--nav-action-ink);border-radius:4px;
 transition:background-color .25s,color .25s,box-shadow .25s;
}
.c-header .header-cta:hover,
.c-header .lx-mobile-quote a:hover { background:#ccef86;color:#173b2e;box-shadow:0 0 0 1px #173b2e24 }
.c-header .header-cta > span { transition:transform .22s ease }
.c-header .header-cta:hover > span { transform:translate(2px,-2px) }
@media(max-width:800px) {
 body .c-header .c-nav.is-open { background:#f7f7ef }
 .c-header .c-nav { --nav-accent:#087447 }
}
@media(prefers-reduced-motion:reduce) {
 body .c-header,body.has-visual-header .c-header,
 body.has-visual-header .c-header.services-open:not(.is-scrolled),
 body .c-header:has(.c-nav.is-open),
 .c-header .header-page-link::after,.c-header .services-toggle::after,
 .c-header .header-cta,.c-header .header-cta > span,.c-header .lx-mobile-quote a { transition:none }
}
