/* ============================================================
   HIVE NAV — one bar, three readable states, one dark menu surface
   ============================================================ */
:root{--navh:74px}

/* ---- the bar ---- */
nav.topnav{
  background:rgba(255,255,255,.46)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06);
  border:0!important;box-shadow:none!important;
  transition:background .3s ease,color .3s ease!important;
}
/* at rest the bar has no plate at all: it IS the header */
nav.topnav:not(.scrolled):not(:hover):not(:focus-within){
  background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .tn-logo{filter:invert(1)}
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .tn-links a,
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .tn-links .ndl,
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .mnav-btn{color:rgba(255,255,255,.86)!important}
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .tn-links a.on,
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .tn-links .ndl.on{color:#FFFFFF!important}
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .tn-ghost{color:#FFFFFF!important;background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.34)!important}
nav.topnav:not(.scrolled):not(:hover):not(:focus-within) .tn-cta{background:#FFFFFF!important;color:#0C0D0E!important}
/* a light header (rare) keeps ink type at rest */
nav.topnav.on-light:not(.scrolled):not(:hover):not(:focus-within) .tn-logo{filter:none}
nav.topnav.on-light:not(.scrolled):not(:hover):not(:focus-within) .tn-links a,
nav.topnav.on-light:not(.scrolled):not(:hover):not(:focus-within) .tn-links .ndl,
nav.topnav.on-light:not(.scrolled):not(:hover):not(:focus-within) .mnav-btn{color:rgba(16,26,44,.82)!important}
nav.topnav.on-light:not(.scrolled):not(:hover):not(:focus-within) .tn-ghost{color:#0C0D0E!important;background:rgba(16,26,44,.06)!important;border-color:rgba(16,26,44,.16)!important}
nav.topnav.on-light:not(.scrolled):not(:hover):not(:focus-within) .tn-cta{background:#0C0D0E!important;color:#FFFFFF!important}

/* scrolled, over dark content */
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within){background:transparent!important}
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .tn-logo{filter:invert(1)}
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .tn-links a,
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .tn-links .ndl,
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .mnav-btn{color:rgba(255,255,255,.82)!important}
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .tn-links a.on,
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .tn-links .ndl.on{color:#FFFFFF!important}
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .tn-ghost{color:#FFFFFF!important;background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.3)!important}
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within) .tn-cta{background:#FFFFFF!important;color:#0C0D0E!important}

/* scrolled, over light content */
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within){background:transparent!important}
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .tn-logo{filter:none}
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .tn-links a,
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .tn-links .ndl,
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .mnav-btn{color:rgba(16,26,44,.8)!important}
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .tn-links a.on,
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .tn-links .ndl.on{color:#0C0D0E!important}
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .tn-ghost{color:#0C0D0E!important;background:rgba(16,26,44,.06)!important;border-color:rgba(16,26,44,.16)!important}
nav.topnav.scrolled.on-light:not(:hover):not(:focus-within) .tn-cta{background:#0C0D0E!important;color:#FFFFFF!important}

/* ---- a menu is open: bar and panel are ONE dark surface, no seam ---- */
nav.topnav:hover,nav.topnav:focus-within{background:#FFFFFF!important;border:0!important;box-shadow:0 18px 44px rgba(27,27,27,.08)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* with a dropdown open the bar and panel read as one white sheet: no shadow between them */
nav.topnav:has(.ndd:hover),nav.topnav:has(.ndd:focus-within){box-shadow:none!important}
nav.topnav:hover .tn-logo,nav.topnav:focus-within .tn-logo{filter:none}
nav.topnav:hover .tn-links a,nav.topnav:hover .tn-links .ndl,nav.topnav:hover .mnav-btn,
nav.topnav:focus-within .tn-links a,nav.topnav:focus-within .tn-links .ndl,nav.topnav:focus-within .mnav-btn{color:rgba(27,27,27,.62)!important}
nav.topnav:hover .tn-links a:hover,nav.topnav:hover .tn-links .ndl:hover,
nav.topnav:hover .tn-links a.on,nav.topnav:hover .tn-links .ndl.on,
nav.topnav:focus-within .tn-links a.on,nav.topnav:focus-within .tn-links .ndl.on{color:#1B1B1B!important}
nav.topnav:hover .tn-ghost,nav.topnav:focus-within .tn-ghost{color:#1B1B1B!important;background:rgba(27,27,27,.05)!important;border-color:rgba(27,27,27,.14)!important}
nav.topnav:hover .tn-cta,nav.topnav:focus-within .tn-cta{background:#1B1B1B!important;color:#FFFFFF!important}

/* the panel hangs off the bar's exact bottom edge and shares its colour */
.ndd .ndpanel{top:var(--navh)!important;padding-top:0!important}
.ndpanel{background:#FFFFFF!important;box-shadow:0 30px 80px rgba(27,27,27,.14)!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.ndpanel .ndwrap{
  background:#FFFFFF!important;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  border:0!important;border-radius:0!important;
  box-shadow:none!important;
  padding-top:clamp(26px,3vw,40px)!important;padding-bottom:clamp(30px,3.4vw,46px)!important;
}
.ndpanel .ndcol>a,.ndpanel .ndpromo{background:transparent!important;border-color:rgba(27,27,27,.08)!important}
.ndpanel .ndcol>a:hover,.ndpanel .ndpromo:hover{background:rgba(27,27,27,.045)!important}
.ndpanel b,.ndpanel .ndpromo b{color:#1B1B1B!important}
.ndpanel span,.ndpanel .ndpromo span:not(.ndthumb){color:rgba(27,27,27,.62)!important}
.ndpanel .fh,.ndpanel .ndhead{color:rgba(27,27,27,.42)!important}
.ndpanel hr,.ndpanel .ndsep{border-color:rgba(27,27,27,.08)!important;background:rgba(27,27,27,.08)!important}

/* the page behind an open menu just dims */
.navveil{background:rgba(247,245,242,.55)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.navveil .nv-trust .nv-b{color:rgba(27,27,27,.7)!important}

/* mobile sheet follows the same rule */
.mnav-sheet,.mnav-panel{background:#FFFFFF!important;color:#1B1B1B!important}
.mnav-sheet a,.mnav-panel a{color:rgba(27,27,27,.86)!important}

/* ============================================================
   SLIDERS — one affordance: a hairline progress bar, never arrows
   ============================================================ */
.capnav .capbtns,.capnav button,.cr-slnav,.nw-slnav,.sl-arrows,.slnav,.carnav,.arrowrow,[class$="-slnav"],[class*="-sl-btn"]{display:none!important}
.capnav{display:block!important;margin-top:clamp(22px,2.4vw,36px)!important}
.capnav .capbar,.hslide{position:relative;width:min(330px,62%);height:1px;background:rgba(20,26,46,.15)!important;margin:0 auto!important;border-radius:2px;overflow:visible!important;flex:none!important}
.capnav .capbar i,.hslide i{position:absolute;top:-1px;left:0;bottom:auto;height:2px;background:#141A2E!important;border-radius:2px;transition:left .18s ease,width .18s ease,transform .18s ease}
.hslide{margin:clamp(22px,2.4vw,36px) auto 0!important}
.cibreak .hslide,.pe-band .hslide,[class*="dk"] .hslide,footer .hslide{background:rgba(255,255,255,.2)!important}
.cibreak .hslide i,.pe-band .hslide i,[class*="dk"] .hslide i,footer .hslide i{background:#FFFFFF!important}


/* ============================================================
   CTA — eyebrow, headline, one plain link. No field, no note.
   ============================================================ */
#waitlist .cta-band{text-align:center}
#waitlist .wl,#waitlist form.wl,#waitlist .band-note{display:none!important}
#waitlist .ctaline{display:inline-flex;align-items:baseline;gap:12px;margin-top:clamp(34px,3.8vw,52px);padding:0;border:0!important;color:#F7F5F2!important;font-family:var(--f-ui)!important;font-size:16px!important;font-weight:500;text-decoration:none!important;transition:opacity .2s}
#waitlist .ctaline i{font-style:normal;transition:transform .2s}
#waitlist .ctaline:hover{opacity:.72}
#waitlist .ctaline:hover i{transform:translateX(5px)}

/* ---- the footer, identical on every page ---- */
footer{border-top:0!important;background:#1B1B1B!important;margin-top:0!important;border-radius:0!important}
footer .fwrap{display:flex!important;flex-direction:column!important;max-width:1360px;margin:0 auto;border-top:0!important;padding-top:clamp(40px,4.4vw,64px)}
footer .fgrid{order:1!important;margin-top:0!important;border-top:0!important;padding-top:0!important}
footer .fsignoff{order:2!important;display:block!important;margin:clamp(56px,6vw,92px) 0 0!important}
footer .fbase{order:3!important;display:flex!important;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(40px,4.6vw,68px)!important;padding-top:22px;border-top:1px solid rgba(247,245,242,.14)}
footer .fsignoff .typeline{text-align:center!important;margin:0 auto!important}
footer .fcta,footer .fsec{display:none!important}
footer .fmeta{margin:0!important;padding:0!important;justify-content:flex-start!important}

/* the CTA tail lands on the footer's exact opening colour */
#waitlist{background:#1B1B1B!important}
#waitlist::after{display:none!important}

/* no stray hairlines anywhere in the dark tail */
#reach,#reach>*,#waitlist,#waitlist>*,#waitlist .cta-band,footer,footer>.fwrap,
main#main>section[data-screen-label="Map"],main#main>section[data-screen-label="Map"]>*{border-top:0!important;border-bottom:0!important}

/* ---- the plate only appears where the ground is busy ---- */
nav.topnav.scrolled:not(.busy):not(:hover):not(:focus-within){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
nav.topnav.scrolled.busy.on-dark:not(:hover):not(:focus-within){background:rgba(10,12,16,.62)!important;-webkit-backdrop-filter:blur(16px) saturate(1.06)!important;backdrop-filter:blur(16px) saturate(1.06)!important}
nav.topnav.scrolled.busy.on-light:not(:hover):not(:focus-within){background:rgba(255,255,255,.72)!important;-webkit-backdrop-filter:blur(16px) saturate(1.06)!important;backdrop-filter:blur(16px) saturate(1.06)!important}

/* no hairline anywhere in the tail, except the footer's own base rule */
#reach *,#waitlist *,main#main>section[data-screen-label="Map"] *{border-top-width:0!important;border-bottom-width:0!important}
#reach .lg-hq,#reach .lg-live,#reach button,.map-legend button{border-width:1px!important}
footer .fgrid{border-top:0!important}
footer .fbase{border-top:1px solid rgba(247,245,242,.14)!important}

/* ---- dropdown fixes ---- */
/* descriptions wrap inside their column instead of running into the next one */
.ndpanel .ndcol a span,.ndpanel .ndpromo span:not(.ndthumb){white-space:normal!important;overflow-wrap:anywhere;display:block;max-width:34ch}
.ndpanel .ndcol{gap:clamp(18px,1.8vw,30px) clamp(28px,3vw,56px)!important}
.ndpanel .ndcol a{min-width:0}

/* two promos sit side by side on the right, at half size */
.ndpanel .ndwrap{grid-template-columns:minmax(0,1fr) auto!important;column-gap:clamp(28px,3vw,56px)}
.ndpanel .ndwrap>.ndpromo{width:clamp(230px,20vw,300px)}
/* a lone promo takes the whole right column */
.ndpanel .ndwrap:not(:has(.ndpromo + .ndpromo))>.ndpromo{width:clamp(300px,26vw,400px)}
/* the Industries menu carries a three-column list, so its promo keeps the compact width */
.ndd:has(>.ndl[href*="Industries"]) .ndpanel .ndwrap>.ndpromo{width:clamp(220px,18vw,270px)!important}
.ndpanel .ndwrap>.ndpromo:nth-of-type(1){grid-column:2;grid-row:1}
.ndpanel .ndwrap>.ndpromo:nth-of-type(2){grid-column:3;grid-row:1}
.ndpanel .ndwrap:has(.ndpromo + .ndpromo){grid-template-columns:minmax(0,1fr) auto auto!important}
.ndpanel .ndpromo .ndthumb{height:clamp(124px,10.5vw,158px)!important}
.ndpanel .ndwrap:not(:has(.ndpromo + .ndpromo)) .ndpromo .ndthumb{height:clamp(164px,14vw,208px)!important}
.ndd:has(>.ndl[href*="Industries"]) .ndpanel .ndpromo .ndthumb{height:clamp(124px,10.5vw,152px)!important}
/* the three-column industry list only fits on wide screens; below that it drops to two */
.ndpanel .ndcol,.ndpanel .ndcol.two{min-width:0}
/* the Company menu holds two items: stack them instead of sitting them side by side */
nav.topnav .ndd:has(>.ndl[href*="About"]) .ndpanel .ndcol{grid-template-columns:minmax(0,1fr)!important;max-width:400px!important;gap:4px!important}
@media(max-width:1399px){
  nav.topnav .ndd:has(>.ndl[href*="Industries"]) .ndpanel .ndcol{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:560px!important}
}
.ndpanel .ndpromo b{font-size:16px!important}
.ndpanel .ndpromo span:not(.ndthumb){font-size:13.5px!important;max-width:30ch}

/* the open / active item stays readable on the dark bar */
nav.topnav:hover .tn-links a.on,nav.topnav:focus-within .tn-links a.on,
nav.topnav:hover .tn-links .ndl.on,nav.topnav:focus-within .tn-links .ndl.on,
nav.topnav:hover .ndd:hover>.ndl,nav.topnav:focus-within .ndd:focus-within>.ndl,
nav.topnav:hover .tn-links a:hover,nav.topnav:focus-within .tn-links a:hover{color:#1B1B1B!important;opacity:1!important}


/* ============================================================
   v3 · reference behaviour: no bar. Type inverts against the ground;
   over busy content a soft veil fades in beneath the links and dissolves
   downward (blur + tonal gradient), never a hard-edged strip.
   ============================================================ */
nav.topnav,nav.topnav.scrolled,nav.topnav.busy,nav.topnav.on-dark.busy,nav.topnav.on-light.busy,
nav.topnav.scrolled.on-dark:not(:hover):not(:focus-within),nav.topnav.scrolled.on-light:not(:hover):not(:focus-within){
  background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:0!important;box-shadow:none!important;isolation:isolate}
nav.topnav::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(100% + 48px);z-index:-1;pointer-events:none;opacity:0;
  transition:opacity .55s ease,background .55s ease;
  -webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%)}
/* the veil is tinted with the sampled ground colour (--nav-veil-rgb, set by hive-nav.js), so it always matches what is behind it */
nav.topnav::before{background:linear-gradient(180deg,rgba(var(--nav-veil-rgb,247,245,242),.86) 0%,rgba(var(--nav-veil-rgb,247,245,242),.62) 55%,rgba(var(--nav-veil-rgb,247,245,242),0) 100%)}
nav.topnav.on-light::before{background:linear-gradient(180deg,rgba(var(--nav-veil-rgb,255,255,255),.62) 0%,rgba(var(--nav-veil-rgb,255,255,255),.40) 55%,rgba(var(--nav-veil-rgb,255,255,255),0) 100%);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1)}
nav.topnav.on-dark::before{background:linear-gradient(180deg,rgba(var(--nav-veil-rgb,10,12,16),.58) 0%,rgba(var(--nav-veil-rgb,10,12,16),.36) 55%,rgba(var(--nav-veil-rgb,10,12,16),0) 100%);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1)}
nav.topnav.busy:not(:hover):not(:focus-within)::before{opacity:1}
/* plain ground (no text/media under the bar): no plate, no blur, nothing at all */
nav.topnav:not(.busy):not(.menu-open):not(:hover):not(:focus-within)::before{opacity:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
nav.topnav:not(.busy):not(.menu-open):not(:hover):not(:focus-within){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;border-bottom:0!important}
/* type always inverts against the ground */
nav.topnav.on-dark:not(.menu-open):not(:hover) .tn-links a,nav.topnav.on-dark:not(.menu-open):not(:hover) .tn-links .ndl,nav.topnav.on-dark:not(.menu-open):not(:hover) .tn-brand{color:#F7F5F2!important}
nav.topnav.on-light:not(.menu-open):not(:hover) .tn-links a,nav.topnav.on-light:not(.menu-open):not(:hover) .tn-links .ndl,nav.topnav.on-light:not(.menu-open):not(:hover) .tn-brand{color:#1B1B1B!important}
/* every state change eases */
nav.topnav .tn-brand,nav.topnav .tn-links a,nav.topnav .tn-links .ndl,nav.topnav .mnav-btn,nav.topnav .tn-ghost,nav.topnav .tn-cta{transition:color .3s ease,background-color .3s ease,border-color .3s ease,opacity .3s ease}
nav.topnav .tn-logo,nav.topnav .tn-brand svg{transition:filter .3s ease,color .3s ease}
/* mixed-colour grounds: neutral, very transparent veil */
nav.topnav.multi.on-light::before{background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.26) 55%,rgba(255,255,255,0) 100%)}
nav.topnav.multi.on-dark::before{background:linear-gradient(180deg,rgba(14,16,20,.44) 0%,rgba(14,16,20,.26) 55%,rgba(14,16,20,0) 100%)}
/* hover / open menu: the white bar, on top of the veil */
nav.topnav:hover,nav.topnav:focus-within{background:#FFFFFF!important;box-shadow:0 18px 44px rgba(27,27,27,.08)!important}
nav.topnav:hover::before,nav.topnav:focus-within::before{opacity:0}


/* v4 · the veil is always there once scrolled, tinted from the real ground behind the bar,
   so on plain ground it is invisible and over content it simply keeps the links legible */
nav.topnav::before{height:calc(100% + 40px)}
nav.topnav.scrolled::before{opacity:1;background:linear-gradient(180deg,rgba(var(--nav-veil-rgb,247,245,242),.88) 0%,rgba(var(--nav-veil-rgb,247,245,242),.62) 55%,rgba(var(--nav-veil-rgb,247,245,242),0) 100%)}
nav.topnav.on-light::before,nav.topnav.on-dark::before{background:linear-gradient(180deg,rgba(var(--nav-veil-rgb,247,245,242),.88) 0%,rgba(var(--nav-veil-rgb,247,245,242),.62) 55%,rgba(var(--nav-veil-rgb,247,245,242),0) 100%)}
nav.topnav:not(.scrolled)::before{opacity:0}
nav.topnav:hover::before,nav.topnav:focus-within::before{opacity:0}


/* v5 · a hair thinner: bar and the two pills */
nav.topnav{padding-top:11px!important;padding-bottom:11px!important}
nav.topnav .tn-ghost,nav.topnav .tn-cta{padding-top:7px!important;padding-bottom:7px!important;font-size:13.5px!important;line-height:1.3!important}
nav.topnav .tn-links a{padding-top:7px!important;padding-bottom:7px!important}


/* v6 · a touch more air, everything on one centre line */
nav.topnav{padding-top:14px!important;padding-bottom:13px!important;align-items:center!important}
nav.topnav .tn-brand,nav.topnav .tn-links,nav.topnav .tn-actions{align-items:center!important;align-self:center!important}
nav.topnav .tn-ghost,nav.topnav .tn-cta{padding-top:8px!important;padding-bottom:8px!important;font-size:14px!important;line-height:1.3!important}
nav.topnav .tn-links a{padding-top:8px!important;padding-bottom:8px!important}

/* open dropdown: bar + panel = one flat white sheet, no veil, no shadow between them */
nav.topnav.menu-open,nav.topnav:has(.ndd:hover),nav.topnav:has(.ndd:focus-within){background:#FFFFFF!important;background-image:none!important;box-shadow:none!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important}
nav.topnav.menu-open::before,nav.topnav:has(.ndd:hover)::before,nav.topnav:has(.ndd:focus-within)::before{opacity:0!important;transition:none!important}
.ndd .ndpanel{top:calc(var(--navh) - 1px)!important;background:#FFFFFF!important;border-top:0!important}
.ndpanel .ndwrap{background:#FFFFFF!important}

/* open menu: bar is pure white regardless of scroll/ground state */
nav.topnav.topnav.topnav.menu-open,nav.topnav.topnav.topnav:has(.ndd:hover),nav.topnav.topnav.topnav:has(.ndd:focus-within),nav.topnav.topnav.topnav:has(.ndpanel:hover){background:#FFFFFF!important;background-color:#FFFFFF!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;border-color:transparent!important}
nav.topnav.topnav.topnav.menu-open::before,nav.topnav.topnav.topnav:has(.ndd:hover)::before,nav.topnav.topnav.topnav:has(.ndd:focus-within)::before,nav.topnav.topnav.topnav:has(.ndpanel:hover)::before,
nav.topnav.topnav.topnav.menu-open::after,nav.topnav.topnav.topnav:has(.ndd:hover)::after,nav.topnav.topnav.topnav:has(.ndd:focus-within)::after{opacity:0!important;display:none!important}
nav.topnav.menu-open .tn-links a,nav.topnav.menu-open .tn-links .ndl,nav.topnav:has(.ndd:hover) .tn-links a,nav.topnav:has(.ndd:hover) .tn-links .ndl{color:#1B1B1B!important}

/* nav: single CTA */
nav.topnav .tn-actions .tn-ghost,.mnav .mnav-ghost,.mnav .mn-ctas .mnav-ghost{display:none!important}

/* open menu: nothing may tint the bar; the veil below the bar is off, blur is off */
nav.topnav.topnav.topnav.menu-open,nav.topnav.topnav.topnav:has(.ndd:hover),nav.topnav.topnav.topnav:has(.ndd:focus-within),nav.topnav.topnav.topnav:has(.ndpanel:hover){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:#FFFFFF!important;background:#FFFFFF!important;box-shadow:none!important;border-bottom:0!important;border-bottom-color:transparent!important;filter:none!important;transition:none!important}
nav.topnav.menu-open>*,nav.topnav:has(.ndd:hover)>*{background:transparent}
nav.topnav.menu-open .navveil,nav.topnav:has(.ndd:hover) .navveil,nav.topnav:has(.ndd:focus-within) .navveil,nav.topnav.menu-open~.navveil,nav.topnav:has(.ndd:hover)~.navveil,body:has(nav.topnav.menu-open) .navveil,body:has(nav.topnav .ndd:hover) .navveil{opacity:0!important;visibility:hidden!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.ndd .ndpanel,.ndpanel .ndwrap{background:#FFFFFF!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
.ndd .ndpanel::before,.ndd .ndpanel::after{display:none!important}

/* menu open (any trigger): hard white, zero transitions on every layer so nothing mid-fades to grey */
nav.topnav.topnav.topnav.topnav.menu-open,nav.topnav.topnav.topnav.topnav.scrolled.menu-open,nav.topnav.topnav.topnav.topnav:hover:has(.ndd:hover),nav.topnav.topnav.topnav.topnav.scrolled:has(.ndd:hover),nav.topnav.topnav.topnav.topnav.busy:has(.ndd:hover),nav.topnav.topnav.topnav.topnav.busy.menu-open{background:#FFFFFF!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;border-bottom:0 solid transparent!important;transition:none!important}
nav.topnav.topnav.topnav.topnav.menu-open::before,nav.topnav.topnav.topnav.topnav:has(.ndd:hover)::before,nav.topnav.topnav.topnav.topnav.menu-open::after,nav.topnav.topnav.topnav.topnav:has(.ndd:hover)::after{display:none!important;opacity:0!important;transition:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
nav.topnav::before,nav.topnav::after{transition:opacity .25s!important}
nav.topnav.menu-open .tn-links,nav.topnav.menu-open .tn-actions,nav.topnav.menu-open .tn-brand,nav.topnav:has(.ndd:hover) .tn-links,nav.topnav:has(.ndd:hover) .tn-actions{background:transparent!important}
body:has(nav.topnav.menu-open) .navveil,body:has(nav.topnav .ndd:hover) .navveil,body:has(nav.topnav.menu-open) .nav-veil,body:has(nav.topnav .ndd:hover) .nav-veil{display:none!important}

/* slider arrows, desktop only */
.hslide-row{display:flex;align-items:center;gap:18px;justify-content:flex-end}
.hslide-row>.hslide{display:none}
.hslide-nav{display:none}
@media(min-width:1025px){
  .hslide-nav{display:flex;gap:8px;flex:0 0 auto}
  .hslide-nav{gap:14px}
  .hslide-nav .hsl-a{width:26px;height:26px;border:0;border-radius:0;background:transparent;color:#1B1B1B;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .18s;padding:0;opacity:.72}
  .hslide-nav .hsl-a svg{width:20px;height:20px}
  .hslide-nav .hsl-a:hover{opacity:1;background:transparent}
  .hslide-nav .hsl-a:disabled{opacity:.3;cursor:default}
  .dk .hslide-nav .hsl-a{color:#F7F5F2}
  .dk .hslide-nav .hsl-a:hover{background:transparent;opacity:1}
}

/* pill tab rows that scroll sideways: small edge arrows on desktop (no swipe with a mouse) */
.tabscroll{position:relative;display:block}
.tabscroll>.vtabs,.tabscroll>.dtabs{margin-bottom:0!important}
.tabscroll .tsa{display:none;position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;padding:0;border-radius:50%;background:#fff;color:#1B1B1B;box-shadow:0 2px 10px rgba(27,27,27,.14),0 0 0 1px rgba(27,27,27,.08);align-items:center;justify-content:center;cursor:pointer;z-index:2;opacity:.9;transition:opacity .18s}
.tabscroll .tsa svg{width:16px;height:16px}
.tabscroll .tsa:hover{opacity:1}
.tabscroll .tsa.prev{left:-6px}
.tabscroll .tsa.next{right:-6px}
.tabscroll .tsa[hidden]{display:none!important}
@media(min-width:1025px){.tabscroll.can-scroll .tsa{display:flex}}


/* Actum lockup promo in the Company menu: two small logos side by side */
.ndpromo-lock{max-width:420px;width:100%}
.ndpromo-lock .ndthumb{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:13px;overflow:hidden;border-radius:18px}
.ndpromo-lock .ndthumb img.lk-h{width:29%;height:auto;opacity:.96}
.ndpromo-lock .ndthumb img.lk-a{width:45%;height:auto;opacity:.96}
.ndpromo-lock .ndthumb .lk-x{font-style:normal;font-family:var(--f-ui,system-ui);font-size:14px;font-weight:300;line-height:1;color:rgba(247,245,242,.5)}
.ndpromo-lock b{font-size:16.5px!important}
.ndpromo-lock span{font-size:13.5px!important}
.ndd:has(>.ndl[href*="About"]) .ndwrap{grid-template-columns:1fr 420px!important}


/* footer, site-wide: square top, sign-off centred under the link grid */
footer{border-radius:0!important}
footer .fgrid{margin-top:0!important;border-top:0!important;padding-top:0!important}
footer .fsignoff{display:block!important;margin-top:clamp(56px,6vw,92px)}
footer .typeline{text-align:center!important}
footer .fcta{display:none!important}


/* the Talk to us pill fades in after the first screen and out at the footer */
.motion-try,.floatpill{
  transition:opacity .28s ease,transform .28s cubic-bezier(.4,0,.2,1),visibility .28s}
.motion-try.pill-hid,.floatpill.pill-hid{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translateY(14px) scale(.96)!important}


/* cookie choice: a small card, bottom left, hairline on white */
.ckb{position:fixed;right:18px;bottom:18px;z-index:80;width:min(348px,calc(100vw - 36px));
  background:#FFFFFF;border:1px solid rgba(27,27,27,.13);border-radius:16px;
  padding:16px 18px 14px;box-shadow:0 18px 44px rgba(20,32,58,.14);
  opacity:0;transform:translateY(12px);transition:opacity .26s ease,transform .26s cubic-bezier(.4,0,.2,1)}
.ckb.on{opacity:1;transform:none}
.ckb-t{margin:0 0 12px;font-family:var(--f-ui,system-ui);font-size:13.5px;line-height:1.5;color:#3F3B35;text-wrap:pretty}
.ckb-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ckb-b{font-family:var(--f-ui,system-ui);font-size:13.5px;font-weight:540;line-height:1;
  padding:9px 16px;border-radius:999px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}
.ckb-yes{background:#1B1B1B;color:#F7F5F2;border:1px solid #1B1B1B}
.ckb-yes:hover{background:#000}
.ckb-no{background:transparent;color:#1B1B1B;border:1px solid rgba(27,27,27,.2)}
.ckb-no:hover{border-color:rgba(27,27,27,.42)}
.ckb-l{margin-left:auto;font-family:var(--f-ui,system-ui);font-size:12.5px;color:#8A857C;
  text-decoration:none;border-bottom:1px solid rgba(27,27,27,.16)}
.ckb-l:hover{color:#1B1B1B}
.ckb-b:focus-visible,.ckb-l:focus-visible{outline:2px solid #4D86C2;outline-offset:2px}
/* the Talk to us pill yields while the choice is open */
html.ckb-open .motion-try,html.ckb-open .floatpill{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:560px){
  .ckb{left:12px;right:12px;bottom:12px;width:auto;padding:14px 16px 12px}
  .ckb-l{margin-left:0;width:100%;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){.ckb{transition:none}}
