/* The navigation carries one focus point between three destinations. */
.ej-floating-header { position:fixed; inset:0 0 auto; z-index:50; padding:max(12px,env(safe-area-inset-top)) clamp(12px,2vw,24px) 0; pointer-events:none; }
.ej-nav-island { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:24px; max-width:1280px; min-height:72px; margin-inline:auto; padding:8px 24px; border:1px solid rgba(245,242,234,.16); border-radius:20px; background:rgba(22,21,15,.94); box-shadow:0 12px 32px rgba(0,0,0,.18); pointer-events:auto; transition:background-color 240ms ease,border-color 240ms ease,box-shadow 240ms ease; }
.ej-logo-wrap,.ej-header-actions,.ej-desktop-nav { display:flex; align-items:center; }
.ej-logo-wrap { justify-self:start; min-height:44px; flex:none; border-radius:4px; }
.ej-logo-img { display:block; width:124px; height:auto; }
.ej-desktop-nav { position:relative; isolation:isolate; justify-content:center; gap:16px; }
.ej-nav-link,.ej-language-switch,.ej-nav-cta,.ej-appbar-item { font-family:var(--ej-font-text); font-weight:500; line-height:1.5; letter-spacing:0; }
.ej-nav-link { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 12px; border-radius:8px; font-size:17px; color:var(--ej-stone); white-space:nowrap; transition:color 180ms ease; }
.ej-nav-link:hover,.ej-nav-link.active { color:var(--ej-cream); }
.ej-nav-link.active { font-weight:700; }
.ej-header-actions { justify-self:end; gap:12px; }
.ej-language-switch { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid transparent; border-radius:12px; font-size:14px; white-space:nowrap; color:var(--ej-stone); transition:color 180ms ease,border-color 180ms ease; }
.ej-language-switch:hover { color:var(--ej-cream); border-color:rgba(245,242,234,.24); }
.ej-language-switch svg { width:18px; height:18px; }
.ej-nav-cta { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 20px; border:1px solid transparent; border-radius:12px; background:var(--ej-orange); color:var(--ej-ink); font-size:15px; font-weight:700; white-space:nowrap; transition:background-color 180ms ease; }
.ej-nav-cta:hover { background:var(--ej-cream); color:var(--ej-ink); }
.ej-nav-cta span { display:flex; align-items:center; }
.ej-nav-cta .ej-inline-icon { width:10px; height:10px; }
.ej-floating-header :is(a:focus-visible),.ej-appbar-item:focus-visible { outline:2px solid var(--ej-cream); outline-offset:4px; }
.ej-header-scrolled .ej-nav-island { background:rgba(22,21,15,.98); border-color:rgba(245,242,234,.24); box-shadow:0 8px 24px rgba(0,0,0,.24); }
.ej-nav-indicator { position:absolute; top:0; left:0; z-index:0; border:0; background:transparent; pointer-events:none; opacity:0; transition:transform 360ms cubic-bezier(.16,1,.3,1),width 360ms cubic-bezier(.16,1,.3,1),opacity 160ms ease; }
.ej-nav-indicator[data-ready] { opacity:1; }
.ej-nav-indicator::after { content:""; position:absolute; left:calc(50% - 3px); bottom:1px; width:6px; height:6px; background:var(--ej-orange); transform:rotate(45deg); }
.ej-desktop-nav .ej-nav-indicator::before { content:""; position:absolute; left:16px; right:16px; bottom:3px; height:1px; background:var(--ej-orange); opacity:.45; }
.ej-desktop-nav:not(:has(.ej-nav-indicator[data-ready])) .ej-nav-link.active { text-decoration:underline; text-underline-offset:10px; text-decoration-color:var(--ej-orange); }
.ej-mobile-appbar { display:none; }
@supports (backdrop-filter:blur(16px)) {
 .ej-nav-island { backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
}
@media(max-width:1100px) and (min-width:1024px) {
 .ej-nav-island { gap:16px; padding-inline:20px; }
 .ej-desktop-nav { gap:4px; }
 .ej-nav-link { font-size:16px; padding-inline:10px; }
 .ej-nav-cta { padding-inline:16px; font-size:14px; }
 .ej-header-actions { gap:4px; }
}
@media(max-width:1023px) {
 .ej-floating-header { padding-inline:14px; }
 .ej-nav-island { display:flex; justify-content:space-between; max-width:640px; min-height:62px; padding:8px 16px; gap:16px; border-radius:18px; }
 .ej-desktop-nav,.ej-header-actions .ej-nav-cta { display:none; }
 .ej-logo-img { width:112px; }
 .ej-language-switch { padding-inline:12px; border-color:rgba(245,242,234,.18); font-size:14px; }
 .ej-mobile-appbar { display:flex; position:fixed; inset-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); z-index:50; isolation:isolate; max-width:420px; margin-inline:auto; padding:5px; border:1px solid rgba(245,242,234,.2); border-radius:24px; background:rgba(22,21,15,.98); box-shadow:0 8px 24px rgba(0,0,0,.24); }
 .ej-appbar-item { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; flex-direction:column; flex:1 1 0; gap:4px; min-width:0; min-height:56px; padding:6px 4px; border-radius:18px; font-size:12px; color:var(--ej-stone); white-space:nowrap; transition:color 180ms ease; }
 .ej-appbar-item svg { width:21px; height:21px; transition:transform 300ms cubic-bezier(.16,1,.3,1),color 180ms ease; }
 .ej-appbar-item.active,.ej-appbar-item[data-current="true"] { color:var(--ej-cream); }
 .ej-appbar-item[data-current="true"] svg { color:var(--ej-orange-text); transform:translateY(-2px); }
 .ej-appbar-item[data-current="false"] { color:var(--ej-stone); }
 .ej-appbar-item[data-current="false"] svg { color:inherit; transform:none; }
 .ej-mobile-appbar .ej-nav-indicator { border:1px solid rgba(245,242,234,.12); border-radius:18px; background:var(--ej-ink-3); }
 .ej-mobile-appbar .ej-nav-indicator::after { top:3px; bottom:auto; width:4px; height:4px; left:calc(50% - 2px); }
 .ej-mobile-appbar:not(:has(.ej-nav-indicator[data-ready])) .ej-appbar-item.active { background:var(--ej-ink-3); color:var(--ej-cream); }
}
@media(prefers-reduced-motion:reduce) {
 .ej-nav-island,.ej-nav-link,.ej-nav-indicator,.ej-appbar-item,.ej-appbar-item svg,.ej-language-switch,.ej-nav-cta { transition:none; }
}
