/* Site header (src/components/SiteHeader.astro). Everything is prefixed eh- so the ported theme CSS
   can't reach it. Dark tokens apply while WP Dark Mode is active ("house lights down"). */
.eh, .eh-mini, .eh-drawer, .eh-find {
	--eh-plum: #462667; --eh-plum-deep: #2c1645; --eh-lav: #75549c; --eh-lav-soft: #d3c5e6; --eh-sky: #64a7dc;
	--eh-surface: #fff; --eh-surface-2: #f3eff8; --eh-ink: #231432; --eh-ink-2: #554863; --eh-line: #e3dbec; --eh-focus: #2f7fc1;
	--eh-glow: rgba(100, 167, 220, 0);
	--eh-display: "DM Serif Display", "Playfair Display", Georgia, serif; --eh-body: Lato, "Helvetica Neue", Arial, sans-serif;
	--eh-ease: cubic-bezier(0.16, 1, 0.3, 1);
	font-family: var(--eh-body); -webkit-font-smoothing: antialiased;
}
html.wp-dark-mode-active .eh, html.wp-dark-mode-active .eh-mini, html.wp-dark-mode-active .eh-drawer, html.wp-dark-mode-active .eh-find {
	--eh-plum: #2e1a46; --eh-plum-deep: #1a0e2a; --eh-lav: #b79be0; --eh-lav-soft: #cdbde3;
	--eh-surface: #1c1229; --eh-surface-2: #261a37; --eh-ink: #f1eaf9; --eh-ink-2: #c4b6d6; --eh-line: #3a2b50; --eh-focus: #8cc0e8;
	--eh-glow: rgba(140, 192, 232, 0.22); color-scheme: dark;
}
.eh *, .eh-mini *, .eh-drawer *, .eh-find * { box-sizing: border-box; }
.eh :focus-visible, .eh-mini :focus-visible, .eh-drawer :focus-visible, .eh-find :focus-visible { outline: 3px solid var(--eh-focus); outline-offset: 3px; }
.eh-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.eh-wrap { max-width: 1240px; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.eh ul, .eh ol, .eh-drawer ul { list-style: none; margin: 0; padding: 0; }
.eh p, .eh-drawer p, .eh-find p { margin: 0; }
.eh a, .eh-drawer a, .eh-find a, .eh-mini a { text-decoration: none; }

/* GeneratePress header pieces this replaces */
#site-navigation, #generate-slideout-menu, .slideout-overlay, .gb-container-865f651d, .site-header { display: none !important; }

.eh { position: relative; z-index: 40; background: var(--eh-plum); color: #fff; transition: background-color .5s var(--eh-ease); }
.eh-util { position: relative; z-index: 45; font-size: 13.5px; color: var(--eh-lav-soft); }
.eh-util .eh-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 7px; border-bottom: 1px solid rgba(255,255,255,.12); }
.eh-proof { display: flex; flex-wrap: wrap; gap: 4px 0; }
.eh-proof span + span::before { content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--eh-sky); margin: 0 12px 2px; vertical-align: middle; }
.eh-right { display: flex; align-items: center; gap: 18px; }
.eh-phone { color: #fff !important; font-weight: 700; letter-spacing: .02em; }
.eh-phone:hover { text-decoration: underline !important; text-decoration-color: var(--eh-sky) !important; text-underline-offset: 4px; }

/* House lights fader */
.eh-fader { display: inline-flex; align-items: center; gap: 9px; background: none; border: 0; color: var(--eh-lav-soft); font: 700 12.5px/1 var(--eh-body); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; padding: 6px 2px; min-height: 32px; }
.eh-track { position: relative; width: 46px; height: 18px; border-radius: 3px; background: linear-gradient(#1a0e2a, #2a1840); box-shadow: inset 0 1px 3px rgba(0,0,0,.6); }
.eh-track::before { content: ""; position: absolute; inset: 4px 7px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.28) 0 1px, transparent 1px 6px); }
.eh-cap { position: absolute; top: -3px; left: 2px; width: 14px; height: 24px; border-radius: 3px; background: linear-gradient(#f4f0f8, #b9aecb 48%, #8f84a3 52%, #d8d0e4); box-shadow: 0 2px 4px rgba(0,0,0,.5); transition: left .45s var(--eh-ease); }
.eh-cap::after { content: ""; position: absolute; left: 2px; right: 2px; top: 11px; height: 2px; background: var(--eh-sky); border-radius: 1px; }
.eh-fader[aria-checked="true"] .eh-cap { left: 30px; }
.eh-lamp { width: 8px; height: 8px; border-radius: 50%; background: #ffd77a; box-shadow: 0 0 8px 2px rgba(255,215,122,.7); transition: opacity .4s, box-shadow .4s; }
.eh-fader[aria-checked="true"] .eh-lamp { opacity: .25; box-shadow: none; }

.eh-bar { position: relative; z-index: 45; }
.eh-bar .eh-wrap { display: flex; align-items: center; gap: 22px; min-height: 76px; }
.eh-logo { flex: none; display: block; }
.eh-logo img { display: block; width: 168px; height: auto; }
.eh-bar nav { margin-right: auto; }
.eh-nav { display: flex; align-items: stretch; gap: 2px; }
.eh-navbtn { height: 76px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; background: none; border: 0; color: #fff !important; font: 700 15.5px/1 var(--eh-body); cursor: pointer; position: relative; white-space: nowrap; }
.eh-navbtn svg { transition: transform .3s var(--eh-ease); opacity: .8; }
.eh-navbtn::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 18px; height: 2px; background: var(--eh-sky); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--eh-ease); }
.eh-navbtn:hover::after, .eh-navbtn[aria-expanded="true"]::after, .eh-navbtn[aria-current]::after { transform: scaleX(1); }
.eh-navbtn[aria-expanded="true"] svg { transform: rotate(180deg); }
.eh-searchbtn { flex: none; display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 12px 0 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.3); border-radius: 6px; color: #fff; font: 400 15px var(--eh-body); cursor: pointer; }
.eh-searchbtn:hover { background: rgba(255,255,255,.14); }
.eh-searchbtn kbd { font: 700 12px var(--eh-body); border: 1px solid rgba(255,255,255,.4); border-radius: 3px; padding: 1px 6px; color: var(--eh-lav-soft); background: none; }
.eh-cta { flex: none; display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 20px; border-radius: 6px; background: var(--eh-sky); color: #1a0e2a !important; font: 900 15px/1 var(--eh-body); letter-spacing: .01em; box-shadow: 0 6px 16px -8px rgba(0,0,0,.6); transition: transform .2s var(--eh-ease), background-color .2s; }
.eh-cta:hover { background: #8cc0e8; transform: translateY(-1px); }
.eh-burger { display: none; }

/* Mega panels, anchored under their item (header.js sets --mx/--my/--nub) */
.eh-mega { position: absolute; left: var(--mx, 20px); top: var(--my, 120px); width: min(var(--mw, 880px), calc(100vw - 40px)); z-index: 46; background: var(--eh-surface); color: var(--eh-ink); border: 1px solid var(--eh-line); border-top: 3px solid var(--eh-sky); border-radius: 0 0 6px 6px; box-shadow: 0 30px 50px -30px rgba(20,8,40,.5); opacity: 0; transform: translateY(-6px); visibility: hidden; transition: opacity .22s var(--eh-ease), transform .3s var(--eh-ease), visibility 0s .3s; text-align: left; }
.eh-mega.is-open { opacity: 1; transform: none; visibility: visible; transition: opacity .22s var(--eh-ease), transform .3s var(--eh-ease); }
.eh-nub { position: absolute; top: -9px; left: var(--nub, 40px); width: 14px; height: 14px; background: var(--eh-sky); transform: rotate(45deg); }
.eh-mwrap { position: relative; display: grid; gap: 30px; padding: 26px 28px 28px; background: var(--eh-surface); }
.eh-h { font: 700 12.5px/1.2 var(--eh-body) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--eh-ink-2); margin: 0 0 14px !important; }
.eh-mega-acts { --mw: 990px; }
.eh-mega-acts .eh-mwrap { grid-template-columns: 1fr 240px; }
.eh-acts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 24px; }
.eh-acts a { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: center; color: var(--eh-ink); }
.eh-acts img { width: 96px; height: 72px; object-fit: cover; border-radius: 4px; display: block; transition: transform .4s var(--eh-ease); }
.eh-acts a:hover img { transform: scale(1.04); }
.eh-acts strong { display: block; font: 400 19px/1.15 var(--eh-display); color: var(--eh-ink); }
.eh-acts span { display: block; font-size: 14px; line-height: 1.45; color: var(--eh-ink-2); margin-top: 3px; }
.eh-acts a:hover strong { text-decoration: underline; text-decoration-color: var(--eh-sky); text-underline-offset: 4px; text-decoration-thickness: 2px; }
.eh-aside { border-left: 1px solid var(--eh-line); padding-left: 26px; display: grid; align-content: start; gap: 22px; }
.eh-aside p { color: var(--eh-ink-2); font-size: 15px; line-height: 1.5; }
.eh-aside p + p { margin-top: 10px; }
.eh-big { display: block; font: 400 23px/1.15 var(--eh-display); color: var(--eh-ink); margin-bottom: 6px; }
.eh-link { color: var(--eh-plum) !important; font-weight: 700; text-decoration: underline !important; text-decoration-color: var(--eh-sky) !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px; }
html.wp-dark-mode-active .eh-link { color: var(--eh-ink) !important; }
.eh-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.eh-chips a { padding: 7px 11px; border: 1px solid var(--eh-line); border-radius: 4px; font-size: 14px; color: var(--eh-ink); }
.eh-chips a:hover { border-color: var(--eh-lav); background: var(--eh-surface-2); }
.eh-cols { grid-template-columns: 1.15fr repeat(3, 1fr); }
.eh-cols ul { display: grid; gap: 12px; }
.eh-cols li a { font-weight: 700; color: var(--eh-ink); font-size: 15.5px; line-height: 1.3; }
.eh-cols li a:hover { text-decoration: underline; text-decoration-color: var(--eh-sky); text-underline-offset: 4px; }
.eh-cols li small { display: block; font-size: 14px; color: var(--eh-ink-2); font-weight: 400; margin-top: 2px; }
.eh-feature { display: grid; gap: 10px; align-content: start; color: var(--eh-ink); }
.eh-feature img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 4px; display: block; }
.eh-feature strong { font: 400 21px/1.2 var(--eh-display); color: var(--eh-ink); }
.eh-feature span { font-size: 14.5px; color: var(--eh-ink-2); line-height: 1.5; }
.eh-feature:hover strong { text-decoration: underline; text-decoration-color: var(--eh-sky); text-underline-offset: 4px; }
.eh-scrim { position: fixed; inset: 0; background: rgba(15,6,28,.35); z-index: 35; opacity: 0; pointer-events: none; transition: opacity .25s; }
.eh-scrim.is-on { opacity: 1; pointer-events: auto; }

/* Title band: breadcrumb rides on the H1, Encore's curve closes the header */
.eh-title { position: relative; padding-bottom: 64px; }
.eh-title--none { padding-bottom: 40px; }
.eh-title::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(48% 90% at 22% 0%, var(--eh-glow), transparent 70%); }
.eh-title .eh-wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 24px 48px; padding-block: 30px 0; }
.eh-crumbs { font-size: 14px; color: var(--eh-lav-soft); margin: 0 0 10px; }
.eh-crumbs ol { display: flex; flex-wrap: wrap; }
.eh-crumbs li + li::before { content: "/"; margin: 0 8px; opacity: .6; }
.eh-crumbs a { color: #fff !important; border-bottom: 1px solid rgba(100,167,220,.75); }
.eh-crumbs a:hover { border-bottom-color: #fff; }
.eh-h1 { font: 400 clamp(36px, 5.4vw, 64px)/1.04 var(--eh-display) !important; letter-spacing: -.015em; margin: 0 !important; color: #fff !important; text-wrap: balance; }
.eh-h1 em { color: #b3d4ef; }
.eh-lede { margin: 14px 0 0 !important; max-width: 48ch; color: var(--eh-lav-soft); font-size: 18.5px; line-height: 1.5; }
.eh-facts { display: flex; gap: 30px; margin: 0; padding: 0 0 6px; }
.eh-facts div { display: flex; flex-direction: column-reverse; }
.eh-facts dt { font-size: 13.5px; color: var(--eh-lav-soft); font-weight: 400; }
.eh-facts dd { margin: 0; font: 400 26px/1.1 var(--eh-display); color: #fff; }
.eh-curve { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 44px; display: block; color: var(--eh-pagebg, #fff); }

/* Condensed bar */
.eh-mini { position: fixed; top: env(safe-area-inset-top, 0px); left: 0; right: 0; z-index: 890; background: rgba(44, 22, 69, .95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; transform: translateY(-105%); transition: transform .35s var(--eh-ease); box-shadow: 0 10px 30px -14px rgba(0,0,0,.6); }
.eh-mini.is-on { transform: none; }
.eh-mini .eh-wrap { display: flex; align-items: center; gap: 18px; min-height: 58px; }
.eh-mini img { width: 110px; height: auto; display: block; }
.eh-where { font-size: 14px; color: var(--eh-lav-soft); margin-right: auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eh-where b { color: #fff; font: 400 19px/1 var(--eh-display); margin-left: 10px; }
.eh-mini .eh-cta { height: 38px; font-size: 14px; }

/* Search dialog */
.eh-find { width: min(720px, calc(100vw - 32px)); max-height: min(78vh, 680px); margin: 10vh auto auto; padding: 0; border: 0; border-radius: 8px; background: var(--eh-surface); color: var(--eh-ink); box-shadow: 0 40px 80px -30px rgba(10,4,20,.7); }
.eh-find::backdrop { background: rgba(18,8,32,.55); backdrop-filter: blur(3px); }
.eh-find form { display: block; margin: 0; }
.eh-q { display: flex; align-items: center; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--eh-line); }
.eh-q svg { color: var(--eh-lav); flex: none; }
.eh-q input { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; color: var(--eh-ink) !important; font: 400 22px/1.3 var(--eh-display) !important; outline: none; padding: 0 !important; box-shadow: none !important; }
.eh-q input::-webkit-search-cancel-button { display: none; }
.eh-q input::placeholder { color: var(--eh-ink-2); opacity: .85; }
.eh-x { background: none; border: 1px solid var(--eh-line); border-radius: 4px; color: var(--eh-ink-2); font: 700 12px var(--eh-body); padding: 6px 9px; cursor: pointer; }
.eh-fbody { padding: 14px 20px 20px; overflow-y: auto; max-height: calc(min(78vh, 680px) - 80px); }
.eh-tries { display: flex; flex-wrap: wrap; gap: 8px; }
.eh-tries button { border: 1px solid var(--eh-line); background: none; color: var(--eh-ink); border-radius: 4px; padding: 8px 11px; font: 400 14.5px var(--eh-body); cursor: pointer; }
.eh-tries button:hover { border-color: var(--eh-lav); background: var(--eh-surface-2); }
.eh-res { display: grid; gap: 4px; list-style: none; margin: 0; padding: 0; }
.eh-res a { display: grid; grid-template-columns: 54px 1fr; gap: 14px; align-items: center; padding: 8px; border-radius: 6px; color: var(--eh-ink); }
.eh-res a:hover, .eh-res a:focus-visible { background: var(--eh-surface-2); }
.eh-res .eh-ico { width: 54px; height: 42px; border-radius: 4px; background: var(--eh-surface-2); display: grid; place-items: center; color: var(--eh-lav); font: 700 11px var(--eh-body); text-transform: uppercase; letter-spacing: .06em; }
.eh-res strong { display: block; font: 400 18.5px/1.25 var(--eh-display); }
.eh-res span { display: block; font-size: 14px; color: var(--eh-ink-2); line-height: 1.4; }
.eh-none { color: var(--eh-ink-2); }
.eh-ffoot { margin-top: 14px !important; padding-top: 14px; border-top: 1px solid var(--eh-line); font-size: 15px; color: var(--eh-ink-2); }

/* Phone + tablet */
@media (max-width: 1240px) { .eh-searchbtn span, .eh-searchbtn kbd { display: none; } .eh-searchbtn { width: 46px; justify-content: center; padding: 0; } .eh-proof span:nth-child(3) { display: none; } }
@media (min-width: 1081px) { .eh-drawer { display: none !important; } }
@media (max-width: 1080px) {
	.eh-proof span:nth-child(n+2) { display: none; }
	.eh-bar nav, .eh-cta-desk, .eh-mega { display: none; }
	.eh-searchbtn { margin-left: auto; width: 44px; height: 44px; }
	.eh-burger { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px; background: none; border: 1.5px solid rgba(255,255,255,.45); border-radius: 6px; color: #fff; font: 700 15px var(--eh-body); cursor: pointer; }
	.eh-bar .eh-wrap { min-height: 64px; gap: 12px; }
	.eh-logo img { width: 138px; }
	.eh-title .eh-wrap { grid-template-columns: 1fr; }
	.eh-facts { flex-wrap: wrap; gap: 14px 24px; }
	.eh-drawer { position: fixed; inset: 0; z-index: 1000; background: var(--eh-surface); color: var(--eh-ink); overflow-y: auto; padding: env(safe-area-inset-top, 0px) 0 calc(24px + env(safe-area-inset-bottom, 0px)); transform: translateX(100%); transition: transform .35s var(--eh-ease); }
	.eh-drawer.is-open { transform: none; }
	.eh-dhead { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; background: var(--eh-plum); }
	.eh-dhead button { background: none; border: 1.5px solid rgba(255,255,255,.45); color: #fff; border-radius: 6px; height: 40px; padding: 0 12px; font: 700 15px var(--eh-body); }
	.eh-sec { border-bottom: 1px solid var(--eh-line); }
	.eh-sec > button, .eh-sec--plain a { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; background: none; border: 0; color: var(--eh-ink) !important; font: 400 24px/1 var(--eh-display); text-align: left; }
	.eh-sec > div { padding: 0 20px 18px; display: none; }
	.eh-sec.is-open > div { display: block; }
	.eh-drawer .eh-acts { grid-template-columns: 1fr; gap: 10px; margin-bottom: 14px; }
	.eh-drawer .eh-acts a { grid-template-columns: 72px 1fr; }
	.eh-drawer .eh-acts img { width: 72px; height: 54px; }
	.eh-dlist { display: grid; gap: 12px; }
	.eh-dlist a { color: var(--eh-ink); font-weight: 700; font-size: 17px; }
	.eh-dfoot { padding: 20px; display: grid; gap: 14px; justify-items: start; }
	.eh-dfoot .eh-cta { width: 100%; }
	.eh-phone2 { color: var(--eh-ink) !important; font-weight: 700; text-decoration: underline !important; text-decoration-color: var(--eh-sky) !important; text-underline-offset: 4px; }
	.eh-drawer .eh-fader { color: var(--eh-ink-2); }
}
@media (max-width: 560px) { .eh-util { display: none; } .eh-h1 { font-size: 36px !important; } .eh-mini .eh-cta { display: none; } }
@media (prefers-reduced-motion: reduce) { .eh *, .eh-mini, .eh-drawer, .eh-mega, .eh-cap { transition-duration: .01ms !important; } }
/* the theme paints buttons gray on hover/focus; keep header controls transparent */
.eh button.eh-navbtn, .eh button.eh-fader, .eh-drawer button.eh-fader, .eh-drawer .eh-sec > button, .eh-find .eh-tries button, .eh-find .eh-x { background-color: transparent !important; }
.eh button.eh-navbtn:hover, .eh button.eh-navbtn:focus { color: #fff !important; }
.eh-find .eh-tries button:hover { background-color: var(--eh-surface-2) !important; }
/* The House lights fader replaces WP Dark Mode's floating switch */
.wp-dark-mode-floating-switch { display: none !important; }
