/* Shared EMCsoft components, standard 1.0. */
.header{position:sticky;top:0;z-index:40;background:var(--color-paper);border-bottom:1px solid var(--color-rule)}
.header-inner{height:calc(var(--header-height) - 1px);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1;letter-spacing:-.025em;white-space:nowrap;text-decoration:none}
.brand-mark{width:37px;height:37px;padding:5px;border-radius:11px;color:var(--color-accent);background:var(--color-accent-light)}
.nav{display:flex;align-items:center;justify-content:center;gap:28px;font-size:13px}
.nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;white-space:nowrap}.nav a:hover{color:var(--color-accent)}
.header-actions{display:flex;align-items:center;gap:12px}.header .button{min-height:44px;font-size:13px;padding:12px 16px;gap:12px}
.menu-toggle{display:none;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:6px;padding:8px}
@media(max-width:1000px){
 .header-inner{gap:16px}.menu-toggle{display:inline-flex}
 .nav{position:absolute;top:100%;left:calc(-1 * var(--page-gutter));right:calc(-1 * var(--page-gutter));display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px var(--page-gutter) 24px;background:var(--color-paper);border-bottom:1px solid var(--color-rule);max-height:calc(100dvh - var(--header-height));overflow:auto}
 .nav.is-open{display:flex}.nav a{min-height:48px}
 html:not(.enhanced) .header{position:relative}
 html:not(.enhanced) .header-inner{height:auto;min-height:var(--header-height);flex-wrap:wrap}
 html:not(.enhanced) .nav{position:static;display:flex;order:3;width:100%;padding:0 0 16px;border:0;flex-direction:row;flex-wrap:wrap;gap:8px 24px}
 html:not(.enhanced) .menu-toggle{display:none}
}
@media(max-width:540px){
 .header-inner{gap:10px}.header-actions{gap:10px}.brand{font-size:20px;gap:8px}.brand-mark{width:32px;height:32px;border-radius:9px;padding:4px}
 .header .button{padding-inline:12px}.header .button .icon{display:none}
}
/* Isolated MailSequence typography and colors. */
.cookie-banner{--cookie-ink:#18243D;--cookie-body:#46526A;--cookie-accent:#245BE3;--cookie-line:#DCE2EC;--cookie-hover:#EDF2FE;position:fixed;z-index:60;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:min(520px,calc(100% - 48px));max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;padding:24px;background:#FFFFFF;color:var(--cookie-ink);border-radius:14px;box-shadow:0 10px 48px rgba(32,58,112,.09);font:13px/1.65 Manrope,sans-serif}
.cookie-banner h2,.cookie-banner button,.cookie-banner summary,.cookie-banner p{font-family:Manrope,sans-serif}
.cookie-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}
.cookie-heading h2{font-size:20px;line-height:1.4;font-weight:700;letter-spacing:-.025em;color:var(--cookie-ink)}
.cookie-banner p{font-size:13px;line-height:1.65;color:var(--cookie-body);max-width:none}
.cookie-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:1px solid var(--cookie-line);border-radius:8px;background:#FFFFFF;color:var(--cookie-ink)}.cookie-close:hover{background:var(--cookie-hover)}
.cookie-details{margin-top:8px}.cookie-details summary{display:list-item;width:fit-content;min-height:44px;padding-block:10px;font-size:13px;font-weight:650;cursor:pointer;color:var(--cookie-accent)}.cookie-details p{padding-bottom:8px}.cookie-details a{color:var(--cookie-accent);text-decoration:underline}
.cookie-current,.cookie-error{margin-top:8px}.cookie-error{padding:12px;background:var(--cookie-hover);border-radius:8px}
.cookie-actions{display:flex;gap:12px;margin-top:16px}
.cookie-choice{flex:1;min-height:46px;padding:10px 14px;font-size:13px;font-weight:650;line-height:1.4;background:#FFFFFF;color:var(--cookie-accent);border:1px solid var(--cookie-accent);border-radius:8px;transition:background var(--duration-fast) var(--ease-out)}.cookie-choice:hover{background:var(--cookie-hover)}
.cookie-banner :focus-visible{outline-color:var(--cookie-accent)}
@media(max-width:540px){.cookie-banner{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:20px}.cookie-actions{gap:10px}.cookie-choice{padding-inline:8px}}
@media(max-width:340px){.cookie-actions{flex-direction:column}}
.cursor-ring,.cursor-dot{position:fixed;left:0;top:0;z-index:90;pointer-events:none;color:var(--color-accent);will-change:transform;contain:layout style}
.cursor-ring{width:40px;height:40px;border:1px solid currentColor;border-radius:50%}
.cursor-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.cursor-dot.is-link{background:none;border-radius:0}
.cursor-dot.is-link::before,.cursor-dot.is-link::after{content:'';position:absolute;background:currentColor;left:50%;top:50%;transform:translate(-50%,-50%)}
.cursor-dot.is-link::before{width:10px;height:1px}.cursor-dot.is-link::after{width:1px;height:10px}
.cursor-ring.on-dark,.cursor-dot.on-dark{color:var(--color-accent-light)}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-ring,.cursor-dot{display:none!important}}

/* Keep the shared EMCsoft contact widget clear of privacy controls and footer links. */
body:has(#cookie-banner:not([hidden])) .b24-widget-button-wrapper,
body:has(#cookie-banner:not([hidden])) .b24-widget-button-popup,
body:has(#cookie-banner:not([hidden])) .b24-widget-button-shadow{visibility:hidden!important}
.b24-widget-button-wrapper.b24-widget-button-position-bottom-right{right:max(16px,env(safe-area-inset-right))!important;bottom:max(24px,env(safe-area-inset-bottom))!important}
.b24-widget-button-position-bottom-right .b24-widget-button-popup{left:auto!important;right:74px!important;max-width:calc(100vw - 106px)}
.footer{padding-bottom:max(112px,calc(112px + env(safe-area-inset-bottom)))}
