/*
 * Site header: floating bar, mega menus, mobile drawer and site search.
 * Ported from the Eclipse homepage design file (2026-10-27). Every rule is scoped to .es-hdr, so the
 * hand-coded page styles (scoped to their own wrappers) and these never touch each other.
 * Markup: blocks/header/render.php. Behaviour: assets/js/header.js.
 */

.es-hdr {
	--orange: var(--wp--preset--color--orange, #F68E1F);
	--orange-d: var(--wp--preset--color--orange-dark, #E07C0E);
	--navy: var(--wp--preset--color--navy, #2F2E79);
	--navy-x: var(--wp--preset--color--navy-deep, #1A1A4E);
	--navy-t: var(--wp--preset--color--navy-tint, #EEF0F8);
	--ink: var(--wp--preset--color--ink, #23244A);
	--ink-2: var(--wp--preset--color--ink-2, #5B5D80);
	--ink-3: var(--wp--preset--color--ink-3, #8F91AE);
	--line: var(--wp--preset--color--line, #E4E6F0);
	--head: var(--wp--preset--font-family--heading, Montserrat, Arial, sans-serif);
	--body: var(--wp--preset--font-family--body, Poppins, system-ui, sans-serif);
	--gutter: max(clamp(20px, 5vw, 80px), env(safe-area-inset-left, 0px));
	--gutter-r: max(clamp(20px, 5vw, 80px), env(safe-area-inset-right, 0px));
	--nav-h: 76px;
	--ease: cubic-bezier(.22, .61, .36, 1);
	--out: cubic-bezier(.16, 1, .3, 1);
	--es-top: 0px;
	color: var(--ink);
	font-family: var(--body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.admin-bar .es-hdr { --es-top: 32px; }
@media (max-width: 782px) { body.admin-bar .es-hdr { --es-top: 46px; } }

.es-hdr *, .es-hdr *::before, .es-hdr *::after { box-sizing: border-box; }
.es-hdr :where(p, b, small, em, strong, span, i, kbd) { margin: 0; }
.es-hdr :where(img, svg, video) { max-width: 100%; display: block; }
.es-hdr a { color: inherit; text-decoration: none; }
.es-hdr button { margin: 0; padding: 0; font: inherit; color: inherit; background: none; border: 0; cursor: pointer; text-align: inherit; }
.es-hdr i { font-style: normal; }
.es-hdr :focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; border-radius: 4px; }
.es-hdr .wrap { max-width: 1440px; margin-inline: auto; padding-left: var(--gutter); padding-right: var(--gutter-r); }

/* ---------- ported rules ---------- */
.es-hdr .pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--body);font-weight:500;font-size:.95rem;white-space:nowrap}
.es-hdr .pill .lbl{display:inline-flex;align-items:center;height:52px;padding:0 1.4rem;border-radius:999px;background:var(--navy);color:#fff;transition:background .25s,transform .35s var(--out)}
.es-hdr .pill .cir{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;transition:transform .35s var(--out),background .25s}
.es-hdr .pill .cir svg{width:18px;height:18px;transition:transform .35s var(--out)}
.es-hdr .pill:hover .cir{transform:translateX(6px)}
.es-hdr .pill:hover .cir svg{transform:translateX(2px)}
.es-hdr .pill.orange .lbl,.es-hdr .pill.orange .cir{background:var(--orange);color:#fff}
.es-hdr .pill.orange:hover .lbl,.es-hdr .pill.orange:hover .cir{background:var(--orange-d)}
.es-hdr .pill.white .lbl,.es-hdr .pill.white .cir{background:#fff;color:var(--navy)}
.es-hdr .pill.ghost .lbl{background:transparent;border:1.5px solid rgba(255,255,255,.55);color:#fff}
.es-hdr .pill.ghost .cir{background:#fff;color:var(--navy)}
.es-hdr .pill.ghost:hover .lbl{background:rgba(255,255,255,.1)}
.es-hdr .pill.sm .lbl{height:42px;padding:0 1.1rem;font-size:.88rem}
.es-hdr .pill.sm .cir{width:42px;height:42px}
.es-hdr .pill.sm .cir svg{width:15px;height:15px}
.es-hdr .pill.line .lbl{background:#fff;border:1.5px solid var(--line);color:var(--navy)}
.es-hdr .pill.line .cir{background:var(--navy-t);color:var(--navy)}
.es-hdr .nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;transition:transform .45s var(--ease),height .35s var(--ease)}
.es-hdr .nav .wrap{width:100%}
.es-hdr .nav-bar{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;height:56px;padding:0 6px 0 14px;border-radius:999px;border:1px solid transparent;transition:background .35s,border-color .35s,box-shadow .35s,backdrop-filter .35s}
.es-hdr .nav.scrolled .nav-bar{background:rgba(26,26,78,.55);border-color:rgba(255,255,255,.14);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 18px 50px rgba(10,10,40,.35)}
.es-hdr .nav.light .nav-bar{background:rgba(255,255,255,.88);border-color:rgba(35,36,74,.08);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 18px 50px rgba(35,34,98,.14)}
.es-hdr .nav.scrolled{height:72px}
.es-hdr .nav .logo{display:inline-flex;align-items:center;padding:4px 6px 4px 0}
.es-hdr .nav .logo img{height:40px;width:auto;transition:height .3s}
.es-hdr .nav.scrolled .logo img{height:34px}
.es-hdr .nav .logo .lc{display:none}
.es-hdr .nav.light .logo .lw{display:none}
.es-hdr .nav.light .logo .lc{display:block}
.es-hdr .nav.hide,html.es-menu-open .es-hdr .nav{transform:translateY(-130%)}
.es-hdr .nav-links{display:none;position:relative;align-items:center;gap:.1rem;font-weight:500;font-size:.92rem;color:#fff}
.es-hdr .nav.light .nav-links{color:var(--ink)}
.es-hdr .nav-ind{position:absolute;left:0;top:50%;height:38px;width:0;border-radius:999px;background:rgba(255,255,255,.14);transform:translate(0,-50%);opacity:0;transition:transform .4s var(--out),width .4s var(--out),opacity .25s,background .3s;pointer-events:none}
.es-hdr .nav.light .nav-ind{background:var(--navy-t)}
.es-hdr .nav-ind.on{opacity:1}
.es-hdr .nl{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .85rem;border-radius:999px;white-space:nowrap;color:inherit;transition:color .25s}
.es-hdr .nl .chev{transition:transform .3s var(--out);opacity:.8}
.es-hdr .mi{position:relative}
.es-hdr .mi.open > .nl .chev{transform:rotate(180deg)}
.es-hdr .nl.is-current{font-weight:600}
.es-hdr .nl.is-current::after{content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--orange);transform:translateX(-50%)}
.es-hdr .mega{position:absolute;top:calc(100% + 16px);left:50%;--mx:0px;transform:translate(calc(-50% + var(--mx)),10px) scale(.98);transform-origin:50% 0;background:#fff;color:var(--ink);border-radius:22px;box-shadow:0 30px 90px rgba(26,26,78,.28),0 0 0 1px rgba(35,36,74,.06);padding:1rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease),transform .38s var(--out),visibility .28s;z-index:5}
.es-hdr .mega::before{content:"";position:absolute;top:-7px;left:calc(50% - var(--mx));width:14px;height:14px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:3px;box-shadow:-2px -2px 4px rgba(26,26,78,.04)}
.es-hdr .mega::after{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.es-hdr .mi.open > .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(calc(-50% + var(--mx)),0) scale(1)}
.es-hdr .mega-services{width:820px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:1rem}
.es-hdr .mg-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2rem;align-content:start}
.es-hdr .mg-list{display:grid;gap:.2rem;align-content:start;min-width:300px}
.es-hdr .mg-item{display:grid;grid-template-columns:40px 1fr;gap:.8rem;align-items:center;padding:.6rem .7rem;border-radius:14px;transition:background .2s,transform .3s var(--out);opacity:0;transform:translateY(6px)}
.es-hdr .mi.open .mg-item{animation:es-mgIn .45s var(--out) forwards}
.es-hdr .mi.open .mg-item:nth-child(2){animation-delay:.03s}
.es-hdr .mi.open .mg-item:nth-child(3){animation-delay:.06s}
.es-hdr .mi.open .mg-item:nth-child(4){animation-delay:.09s}
.es-hdr .mi.open .mg-item:nth-child(5){animation-delay:.12s}
.es-hdr .mi.open .mg-item:nth-child(6){animation-delay:.15s}
.es-hdr .mi.open .mg-item:nth-child(7){animation-delay:.18s}
.es-hdr .mi.open .mg-item:nth-child(8){animation-delay:.21s}
@keyframes es-mgIn{to{opacity:1;transform:none}}.es-hdr .mg-item:hover,.es-hdr .mg-item.on{background:var(--navy-t)}
.es-hdr .mg-item i{width:40px;height:40px;border-radius:12px;background:var(--navy-t);color:var(--navy);display:grid;place-items:center;transition:background .25s,color .25s,transform .3s var(--out)}
.es-hdr .mg-item i svg{width:20px;height:20px}
.es-hdr .mg-item:hover i,.es-hdr .mg-item.on i{background:var(--navy);color:#fff}
.es-hdr .mg-item:hover i{transform:rotate(-6deg) scale(1.05)}
.es-hdr .mg-item b{display:block;font-family:var(--head);font-weight:700;font-size:.9rem;color:var(--navy);line-height:1.2}
.es-hdr .mg-item small{display:block;font-size:.74rem;color:var(--ink-3);font-weight:300;line-height:1.3;margin-top:.1rem}
.es-hdr .mg-item.on b::after{content:"· this page";font-family:var(--body);font-weight:500;font-size:.68rem;color:var(--orange-d);margin-left:.35rem}
.es-hdr .mg-feat{background:var(--navy);color:#fff;border-radius:16px;padding:.9rem;display:grid;gap:.6rem;align-content:start}
.es-hdr .mg-video{position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--navy-x)}
.es-hdr .mg-video video{width:100%;height:100%;object-fit:cover;display:block}
.es-hdr .mg-video span{position:absolute;left:10px;bottom:10px;font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:rgba(10,10,40,.6);backdrop-filter:blur(6px);border-radius:999px;padding:.3rem .6rem}
.es-hdr .mg-feat b{font-family:var(--head);font-weight:700;font-size:1rem;line-height:1.2}
.es-hdr .mg-feat p{font-size:.8rem;color:rgba(255,255,255,.72);font-weight:300;line-height:1.45}
.es-hdr .mg-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--orange);color:var(--navy);border-radius:999px;padding:.55rem .55rem .55rem 1rem;font-weight:700;font-size:.82rem;justify-self:start;transition:transform .3s var(--out)}
.es-hdr .mg-cta:hover{transform:translateX(3px)}
.es-hdr .mg-cta svg{width:16px;height:16px;background:#fff;border-radius:50%;padding:3px;box-sizing:content-box}
.es-hdr .mg-links{display:flex;flex-wrap:wrap;gap:.3rem .8rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.12)}
.es-hdr .mg-links a{font-size:.74rem;color:rgba(255,255,255,.8);font-weight:500;transition:color .2s}
.es-hdr .mg-links a:hover{color:#fff;text-decoration:underline}
.es-hdr .mg-links.col{display:grid;gap:.2rem;border:0;padding:0}
.es-hdr .mg-links.col a{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--navy);font-weight:600;font-size:.86rem;padding:.6rem .8rem;border-radius:12px;background:var(--navy-t)}
.es-hdr .mg-links.col a svg{width:16px;height:16px;flex:0 0 16px}
.es-hdr .mg-links.col a:hover{background:var(--navy);color:#fff;text-decoration:none}
.es-hdr .mega-about{width:620px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:1rem}
.es-hdr .mg-person{position:relative;display:grid;grid-template-rows:1fr auto;border-radius:16px;overflow:hidden;background:#111;min-height:250px;color:#fff}
.es-hdr .mg-person img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 10%;transition:transform 1s var(--out)}
.es-hdr .mg-person:hover img{transform:scale(1.05)}
.es-hdr .mg-person .mp-txt{position:relative;grid-row:2;padding:.9rem;background:linear-gradient(to top,rgba(26,26,78,.95),rgba(26,26,78,.6) 70%,transparent);display:grid;gap:.1rem;padding-top:2.4rem}
.es-hdr .mg-person em{font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.es-hdr .mg-person b{font-family:var(--head);font-weight:700;font-size:1.05rem}
.es-hdr .mg-person small{font-size:.74rem;color:rgba(255,255,255,.72)}
.es-hdr .mg-person .mp-go{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center}
.es-hdr .mg-person .mp-go svg{width:14px;height:14px}
.es-hdr .mega-areas{width:760px;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.es-hdr .ar-col{display:grid;gap:.6rem;align-content:start}
.es-hdr .ar-group{display:grid;gap:.1rem}
.es-hdr .ar-k{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:.4rem .7rem .2rem}
.es-hdr .ar-item{display:grid;gap:.05rem;padding:.5rem .7rem;border-radius:12px;transition:background .2s}
.es-hdr .ar-item:hover,.es-hdr .ar-item.on{background:var(--navy-t)}
.es-hdr .ar-item b{font-family:var(--head);font-weight:700;font-size:.88rem;color:var(--navy)}
.es-hdr .ar-item small{font-size:.72rem;color:var(--ink-3)}
.es-hdr .ar-item.on small{color:var(--orange-d);font-weight:600}
.es-hdr .ar-note{grid-column:1/-1;display:grid;grid-template-columns:40px 1fr;gap:.8rem;align-items:center;background:var(--navy);color:#fff;border-radius:14px;padding:.8rem .9rem;margin-top:.4rem}
.es-hdr .ar-note i{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:var(--orange)}
.es-hdr .ar-note i svg{width:20px;height:20px}
.es-hdr .ar-note b{display:block;font-family:var(--head);font-weight:700;font-size:.88rem}
.es-hdr .ar-note small{display:block;font-size:.74rem;color:rgba(255,255,255,.7);font-weight:300}
.es-hdr .ar-note a{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600;color:var(--orange);margin-top:.25rem}
.es-hdr .ar-note a svg{width:14px;height:14px}
.es-hdr .ar-links{display:flex;flex-wrap:wrap;gap:0 1.1rem}
.es-hdr .mega-projects{width:700px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:1rem}
.es-hdr .mg-projs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.es-hdr .mg-proj{display:grid;gap:.4rem;align-content:end;aspect-ratio:3/4;border-radius:14px;padding:.8rem;background:linear-gradient(160deg,#3E3D96,#1A1A4E);color:#fff;position:relative;overflow:hidden;transition:transform .35s var(--out),box-shadow .35s}
.es-hdr .mg-proj::before{content:"";position:absolute;inset:0;background:var(--es-hdr-mark) center 30%/60% auto no-repeat;opacity:.1}
.es-hdr .mg-proj:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(26,26,78,.3)}
.es-hdr .mg-proj .mg-fact{position:relative}
.es-hdr .mg-proj .mg-fact strong{font-family:var(--head);font-weight:800;font-size:1.6rem;letter-spacing:-.03em;line-height:1}
.es-hdr .mg-proj .mg-fact small{font-size:.62rem;color:rgba(255,255,255,.75);margin-left:.25rem}
.es-hdr .mg-proj b{position:relative;font-family:var(--head);font-weight:700;font-size:.78rem;line-height:1.25}
.es-hdr .mg-proj > small{position:relative;font-size:.64rem;color:var(--orange);font-weight:600}
.es-hdr .nav-right{display:flex;align-items:center;gap:.4rem}
.es-hdr .nav-phone{display:none;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:#fff;padding:.5rem .8rem;border-radius:999px;white-space:nowrap;transition:background .25s}
.es-hdr .nav-phone i{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;color:var(--orange)}
.es-hdr .nav-phone i svg{width:15px;height:15px}
.es-hdr .nav-phone:hover{background:rgba(255,255,255,.1)}
.es-hdr .nav.light .nav-phone{color:var(--navy)}
.es-hdr .nav.light .nav-phone i{background:var(--navy-t)}
.es-hdr .nav.light .nav-phone:hover{background:var(--navy-t)}
.es-hdr .nav-ico{display:none;align-items:center;gap:.4rem;height:40px;padding:0 .5rem 0 .3rem;border-radius:999px;color:#fff;transition:background .25s}
.es-hdr .nav-ico i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14)}
.es-hdr .nav-ico i svg{width:16px;height:16px}
.es-hdr .nav-ico kbd{font:600 .66rem/1 var(--body);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.3);border-radius:5px;padding:.2rem .35rem}
.es-hdr .nav-ico:hover{background:rgba(255,255,255,.1)}
.es-hdr .nav.light .nav-ico{color:var(--navy)}
.es-hdr .nav.light .nav-ico i{background:var(--navy-t)}
.es-hdr .nav.light .nav-ico kbd{color:var(--ink-3);border-color:var(--line)}
.es-hdr .nav .pill.sm{display:none}
.es-hdr .nav .pill.sm .lbl{height:44px;padding:0 1.1rem;font-size:.88rem}
.es-hdr .nav .pill.sm .cir{width:44px;height:44px}
.es-hdr .burger{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;border:1.5px solid rgba(255,255,255,.45);margin-left:.2rem}
.es-hdr .nav.light .burger{border-color:var(--line)}
.es-hdr .burger span{display:block;width:18px;height:2px;background:#fff;margin:2.5px 0;border-radius:2px;transition:transform .3s var(--ease),opacity .3s,background .3s}
.es-hdr .nav.light .burger span{background:var(--navy)}
html.es-menu-open .es-hdr .burger span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
html.es-menu-open .es-hdr .burger span:nth-child(2){opacity:0}
html.es-menu-open .es-hdr .burger span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}
@media(min-width:1100px){.es-hdr .nav-links{display:flex}
.es-hdr .nav-ico{display:inline-flex}
.es-hdr .nav .pill.sm{display:inline-flex}
.es-hdr .burger{display:none}
}@media(min-width:1180px){.es-hdr .nav-ico kbd{display:inline}
}@media(max-width:1179px){.es-hdr .nav-ico kbd{display:none}
}@media(min-width:1400px){.es-hdr .nav-phone{display:inline-flex}
}@media(min-width:1100px) and (max-width:1279px){.es-hdr .nav-links{font-size:.88rem}
.es-hdr .nl{padding:.5rem .7rem}
.es-hdr .nav .pill.sm .lbl{padding:0 .9rem;font-size:.84rem}
}@media(min-width:600px){.es-hdr .nav-bar{padding-left:18px}
}.es-hdr .menu-back{position:fixed;inset:0;z-index:44;background:rgba(26,26,78,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
html.es-menu-open .es-hdr .menu-back{opacity:1;visibility:visible}
.es-hdr .mobile-menu{position:fixed;top:0;right:0;bottom:0;z-index:46;width:min(100%,420px);background:#fff;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .5s var(--out),visibility .5s;padding:0 0 env(safe-area-inset-bottom,0px);box-shadow:-20px 0 60px rgba(26,26,78,.25)}
html.es-menu-open .es-hdr .mobile-menu{transform:none;visibility:visible}
html.es-menu-open{overflow:hidden}
.es-hdr .dr-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 12px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.es-hdr .dr-head img{height:32px;width:auto}
.es-hdr .dr-close{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--navy)}
.es-hdr .dr-close svg{width:16px;height:16px}
.es-hdr .dr-search{display:flex;align-items:center;gap:.7rem;margin:4px 18px 10px;padding:.7rem .9rem;border-radius:14px;background:var(--navy-t);color:var(--ink-3);font-size:.9rem;text-align:left}
.es-hdr .dr-search i{width:22px;height:22px;display:grid;place-items:center;color:var(--navy)}
.es-hdr .dr-search i svg{width:18px;height:18px}
.es-hdr .dr-nav{display:grid;padding:0 18px}
.es-hdr .dr-link,.es-hdr .dr-acc > button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.95rem 0;font-family:var(--head);font-weight:700;font-size:1.15rem;color:var(--navy);border-bottom:1px solid var(--line);text-align:left}
.es-hdr .dr-link.is-current{color:var(--orange-d)}
.es-hdr .dr-acc > button .chev{width:12px;height:12px;transition:transform .3s var(--out);color:var(--ink-3)}
.es-hdr .dr-acc.open > button .chev{transform:rotate(180deg)}
.es-hdr .dr-acc.open > button{color:var(--orange-d);border-bottom-color:transparent}
.es-hdr .dr-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--out)}
.es-hdr .dr-acc.open .dr-panel{grid-template-rows:1fr}
.es-hdr .dr-panel > div{overflow:hidden;border-bottom:1px solid var(--line)}
.es-hdr .dr-grid{display:grid;gap:.1rem;padding:0 0 .9rem}
.es-hdr .dr-grid a,.es-hdr .dr-areas a{display:grid;grid-template-columns:36px 1fr;gap:.7rem;align-items:center;padding:.5rem .4rem;border-radius:12px;color:var(--ink)}
.es-hdr .dr-areas a{grid-template-columns:1fr}
.es-hdr .dr-grid a i{width:36px;height:36px;border-radius:10px;background:var(--navy-t);color:var(--navy);display:grid;place-items:center}
.es-hdr .dr-grid a i svg{width:18px;height:18px}
.es-hdr .dr-grid a span,.es-hdr .dr-areas a span{display:grid;font-weight:600;font-size:.92rem;color:var(--navy)}
.es-hdr .dr-grid a small,.es-hdr .dr-areas a small{font-weight:300;font-size:.74rem;color:var(--ink-3)}
.es-hdr .dr-grid a.on,.es-hdr .dr-areas a.on{background:var(--navy-t)}
.es-hdr .dr-areas{display:grid;gap:.1rem;padding:0 0 .9rem}
.es-hdr .dr-k{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:.7rem .4rem .2rem}
.es-hdr .dr-foot{margin-top:auto;padding:1.2rem 18px 1.4rem;display:grid;gap:.9rem;background:var(--navy-t)}
.es-hdr .dr-foot .pill{justify-self:start}
.es-hdr .dr-call{display:grid;grid-template-columns:40px 1fr;gap:.8rem;align-items:center;color:var(--navy);font-weight:600}
.es-hdr .dr-call i{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--orange)}
.es-hdr .dr-call i svg{width:18px;height:18px}
.es-hdr .dr-call span{display:grid}
.es-hdr .dr-call small{font-weight:300;font-size:.76rem;color:var(--ink-2)}
.es-hdr .dr-foot p{font-size:.76rem;color:var(--ink-3);font-weight:300}
html.es-menu-open .es-hdr .dr-nav > *{animation:es-drIn .5s var(--out) both;animation-delay:calc(80ms + var(--i) * 45ms)}
@keyframes es-drIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}.es-hdr .ss{position:fixed;inset:0;z-index:95;display:grid;align-content:start;justify-items:center;padding:max(10vh,60px) 16px 16px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.es-hdr .ss.on{opacity:1;visibility:visible}
.es-hdr .ss-back{position:absolute;inset:0;background:rgba(26,26,78,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.es-hdr .ss-box{position:relative;width:min(100%,680px);background:#fff;border-radius:22px;box-shadow:0 40px 100px rgba(10,10,40,.45);overflow:hidden;transform:translateY(14px) scale(.98);transition:transform .35s var(--out)}
.es-hdr .ss.on .ss-box{transform:none}
.es-hdr .ss-in{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line)}
.es-hdr .ss-in i{width:36px;height:36px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;flex:0 0 36px}
.es-hdr .ss-in i svg{width:18px;height:18px}
.es-hdr .ss-in input{flex:1;border:0;background:none;font:inherit;font-size:1.05rem;color:var(--ink);outline:none;min-width:0}
.es-hdr .ss-in input::placeholder{color:var(--ink-3)}
.es-hdr .ss kbd{font:600 .66rem/1 var(--body);color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:.25rem .4rem;background:#fff}
.es-hdr .ss-hint{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.8rem 1.1rem 0;font-size:.78rem;color:var(--ink-3)}
.es-hdr .ss-hint button{font-size:.76rem;font-weight:600;color:var(--navy);background:var(--navy-t);border-radius:999px;padding:.3rem .7rem;transition:background .2s,color .2s}
.es-hdr .ss-hint button:hover{background:var(--navy);color:#fff}
.es-hdr .ss-res{max-height:min(52vh,460px);overflow-y:auto;padding:.6rem;display:grid;gap:.1rem}
.es-hdr .ss-g{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:.7rem .7rem .25rem}
.es-hdr .ss-item{display:grid;grid-template-columns:36px 1fr auto;gap:.8rem;align-items:center;padding:.6rem .7rem;border-radius:14px;color:var(--ink);transition:background .15s}
.es-hdr .ss-item i{width:36px;height:36px;border-radius:10px;background:var(--navy-t);color:var(--navy);display:grid;place-items:center}
.es-hdr .ss-item i svg{width:17px;height:17px}
.es-hdr .ss-item b{display:block;font-family:var(--head);font-weight:700;font-size:.92rem;color:var(--navy);line-height:1.2}
.es-hdr .ss-item b mark{background:none;color:var(--orange-d)}
.es-hdr .ss-item small{display:block;font-size:.74rem;color:var(--ink-3);font-weight:300}
.es-hdr .ss-item em{font-style:normal;font-size:.66rem;font-weight:600;color:var(--ink-3);background:var(--navy-t);border-radius:999px;padding:.25rem .55rem;white-space:nowrap}
.es-hdr .ss-item.on,.es-hdr .ss-item:hover{background:var(--navy-t)}
.es-hdr .ss-item.on i{background:var(--navy);color:#fff}
.es-hdr .ss-empty{padding:1.4rem .9rem;color:var(--ink-2);font-size:.92rem;text-align:center}
.es-hdr .ss-foot{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between;padding:.7rem 1.1rem;border-top:1px solid var(--line);font-size:.74rem;color:var(--ink-3)}
.es-hdr .ss-foot span{display:inline-flex;gap:.3rem;align-items:center}
.es-hdr .ss-foot a{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--navy)}
.es-hdr .ss-foot a svg{width:14px;height:14px;color:var(--orange)}
html.es-ss-open{overflow:hidden}



/* ---------- WordPress additions ---------- */

/* The admin bar pushes the fixed layers down. */
.es-hdr .nav { top: calc(env(safe-area-inset-top, 0px) + var(--es-top)); z-index: 50; }
.es-hdr .mobile-menu { top: var(--es-top); }
.es-hdr .ss { padding-top: calc(max(10vh, 60px) + var(--es-top)); }

/* Space under the fixed bar, except on pages whose dark hero runs under it (homepage + body.es-hero-page). */
.es-site-header { position: relative; z-index: 1000; min-height: var(--es-bar, 76px); margin: 0; }
body.home .es-site-header, body.es-hero-page .es-site-header { min-height: 0; }

.es-hdr .mg-item.on b::after { white-space: nowrap; }

/* Menu arrows keep their size when the bar is tight (1100-1280px). */
.es-hdr .nl .chev { flex: 0 0 10px; width: 10px; height: 10px; }
.es-hdr .nav-links > * { flex-shrink: 0; }
@media (min-width: 1100px) and (max-width: 1199px) {
	.es-hdr .nav-bar { gap: .6rem; }
	.es-hdr .nl { padding: .5rem .55rem; }
	.es-hdr .nav .logo img { height: 34px; }
}

/* Project cards grow with their text instead of clipping the fact at the top. */
.es-hdr .mg-proj { aspect-ratio: auto; min-height: 172px; }

/* A closed drawer section shows nothing (no padding sliver or double rule). */
.es-hdr .dr-acc:not(.open) .dr-panel > div { padding-bottom: 0; border-bottom-color: transparent; }

@media (prefers-reduced-motion: reduce) {
	.es-hdr *, .es-hdr *::before, .es-hdr *::after { transition: none !important; animation: none !important; }
	.es-hdr .mg-item { opacity: 1; transform: none; }
}

/* Site Editor preview (server-side render): a static navy bar, no drawer or search. */
.es-hdr.is-preview .nav { position: relative; top: 0; height: auto; padding: 10px 0; background: var(--navy-x); transform: none; }
.es-hdr.is-preview .nav-links { display: flex; }

/* Floating assessment button: page CSS (#eclipse-* a:hover { color: inherit }) turned its label dark on navy. */
a#fab.fab:hover, a#fab.fab:focus { color: #fff; }

/* Film lightbox: page roots use isolation, so its z-index stays under the site header, which took the Close click. */
body:has(#lightbox.lb.on) .es-site-header { z-index: 0; }
