/* Zenostacks — header mega menus + mobile accordion. Loaded on every page after styles/premium. */
.nav-shell{position:relative}
.nav-dropdown{position:static}
.dropdown-trigger .chevron{transition:transform .3s var(--ease)}
.nav-dropdown.is-open .dropdown-trigger{color:#fff}
.nav-dropdown.is-open .chevron{transform:rotate(-135deg) translate(-2px,-2px)}

/* ——— Mega panel ——— */
.dropdown-panel.mega{position:absolute;top:calc(100% + 14px);left:50%;width:min(900px,calc(100vw - 48px));padding:0;border-radius:28px;border:1px solid #ffffff1c;background:radial-gradient(ellipse 60% 80% at 100% 0,#5a2fb03a,transparent 60%),linear-gradient(160deg,#1a1422,#0c0a11);box-shadow:0 40px 110px #000d,0 0 0 1px #00000040,inset 0 1px 0 #ffffff17;backdrop-filter:blur(26px) saturate(140%);-webkit-backdrop-filter:blur(26px) saturate(140%);overflow:hidden;opacity:0;visibility:hidden;transform:translate(-50%,10px) scale(.985);transform-origin:50% 0;transition:opacity .28s ease,transform .38s var(--ease),visibility 0s linear .38s;pointer-events:none;display:block}
.dropdown-panel.mega[hidden]{display:block}
.nav-dropdown.is-open .dropdown-panel.mega{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1);transition:opacity .28s ease,transform .38s var(--ease),visibility 0s;pointer-events:auto}
/* hover bridge so the pointer can cross the gap into the panel */
.dropdown-panel.mega:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.mega-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr;border-bottom:1px solid #ffffff0d}
.mega-links{padding:26px 22px 22px}
.mega-kicker{display:block;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#8d84a0;margin:0 0 12px 12px}
.dropdown-panel.mega a{border:0;padding:0;margin:0;font-size:inherit}
.dropdown-panel.mega a:hover{transform:none;color:inherit}
.dropdown-panel.mega .mega-item{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:11px 12px;border-radius:16px;color:#efe9f7;transition:background .25s,transform .35s var(--ease)}
.dropdown-panel.mega .mega-item:hover,.dropdown-panel.mega .mega-item:focus-visible{background:#ffffff0a;transform:translateX(4px)}
.mega-item b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;color:#fff}
.mega-item small{display:block;font-size:12.5px;color:#9d93ad;margin-top:2px}
.mega-item>i{font-style:normal;font-size:16px;color:#6d6579;transition:color .25s,transform .35s var(--ease)}
.mega-item:hover>i{color:#fff;transform:translate(2px,-2px)}
.mega-item[aria-current=page]{background:#9b7bff14;box-shadow:inset 0 0 0 1px #9b7bff33}
.mega-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(140deg,#2c2138,#16111d);border:1px solid #ffffff17;box-shadow:inset 0 1px 0 #ffffff14;transition:box-shadow .3s,border-color .3s}
.mega-ic svg{width:22px;height:22px;fill:none;stroke:#cdb8ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mega-item:hover .mega-ic{border-color:#b79bff66;box-shadow:0 0 22px #8f5bff55,inset 0 1px 0 #ffffff1c}
.mega-side{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px 26px 22px;border-left:1px solid #ffffff10;background:linear-gradient(180deg,#ffffff06,transparent)}
.mega-side p{font-size:13.5px;line-height:1.65;color:#a79dba}
.mega-side .mega-kicker{margin:6px 0 0}
.mega-brand{display:flex;align-items:center;gap:10px}
.mega-brand img{width:40px;height:40px;filter:drop-shadow(0 0 14px #b79bff44)}
.mega-brand b{font-size:22px;font-weight:600;letter-spacing:-.04em;color:#fff}.mega-brand b span{color:#b79bff}
.mega-cta{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:0 8px 0 20px;border-radius:99px;background:linear-gradient(140deg,#fff,#e9e4f4);color:#120e18;font-size:14px;font-weight:600;transition:box-shadow .3s,transform .3s var(--ease)}
.mega-cta i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1a122414;font-style:normal;transition:transform .35s var(--ease)}
.mega-cta:hover{box-shadow:0 10px 30px #b79bff44;transform:translateY(-2px)}.mega-cta:hover i{transform:rotate(45deg)}
.dropdown-panel.mega .mega-sub{display:inline-flex;gap:8px;font-size:13px;color:#b9b0c9}.dropdown-panel.mega .mega-sub:hover{color:#fff}
.mega-loc{font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;color:#6d6579!important;margin-top:auto}
/* half-faded wordmark, like the footer */
.mega-mark{position:relative;z-index:0;display:block;padding:14px 0 10px;text-align:center;font-size:clamp(90px,13.2vw,146px);font-weight:700;letter-spacing:-.06em;line-height:1.02;white-space:nowrap;user-select:none;pointer-events:none;background:linear-gradient(180deg,#ffffff2e 0%,#ffffff1c 45%,#ffffff06 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.mega-mark span{-webkit-text-fill-color:#b79bff40}

/* ——— Social icons (brand colours + theme glow) ——— */
.soc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.soc span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.soc{position:relative;display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:14px;border:1px solid #ffffff14;background:linear-gradient(140deg,#ffffff0c,#ffffff03);font-size:12px;font-weight:500;color:#d9d1e6;transition:border-color .3s,box-shadow .3s,transform .35s var(--ease),background .3s}
.dropdown-panel.mega .soc{padding:9px 10px;border:1px solid #ffffff14;justify-content:flex-start}
.soc svg{flex:none;width:22px;height:22px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c) 45%,transparent));transition:filter .3s,transform .35s var(--ease)}
.soc:hover,.soc:focus-visible{border-color:color-mix(in srgb,var(--c) 55%,transparent);background:linear-gradient(140deg,color-mix(in srgb,var(--c) 16%,transparent),#ffffff04);box-shadow:0 0 26px color-mix(in srgb,var(--c) 38%,transparent),0 0 0 1px #8f5bff22;transform:translateY(-2px);color:#fff}
.soc:hover svg{filter:drop-shadow(0 0 12px var(--c));transform:scale(1.08)}

/* ——— Mobile menu ——— */
@media(max-width:850px){
  .mobile-menu{position:relative;overflow-x:hidden;padding:18px 20px 0;background:radial-gradient(ellipse 80% 40% at 100% 0,#5a2fb044,transparent 70%),linear-gradient(160deg,#1a1422,#0c0a11)}
  .mobile-menu .mm-link,.mobile-menu .mm-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 4px;border-bottom:1px solid #b586c922;font-size:26px;font-weight:600;letter-spacing:-.03em;color:#f1e4fa;text-align:left}
  .mobile-menu .mm-link span{font-size:12px;font-weight:500;color:#b79bff}
  .mm-toggle span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #ffffff22;font-size:20px;font-weight:300;color:#fff;transition:transform .3s var(--ease),background .3s}
  .mm-toggle[aria-expanded=true] span{transform:rotate(45deg);background:#ffffff12}
  .mm-sub{display:grid;gap:4px;padding:10px 0 14px}
  .mm-sub[hidden]{display:none}
  .mobile-menu .mm-item{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:8px 6px;border:0;border-radius:14px;font-size:16px;font-weight:500;letter-spacing:-.01em;color:#e6ddf0}
  .mobile-menu .mm-item[aria-current=page]{background:#9b7bff1a}
  .mobile-menu .mm-item .mega-ic{width:38px;height:38px;border-radius:12px}
  .mobile-menu .mm-item .mega-ic svg{width:18px;height:18px}
  .mobile-menu .mm-cta{display:flex;justify-content:space-between;align-items:center;margin:18px 0 6px;padding:14px 20px;border:0;border-radius:99px;background:#f6f3ff;color:#120e18;font-size:16px;font-weight:600}
  .mobile-menu .mm-cta span{color:#120e18;font-size:18px}
  .mm-social{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:16px}
  .mobile-menu .soc{justify-content:flex-start;gap:7px;font-size:12px;padding:9px 8px;border:1px solid #ffffff14;letter-spacing:0}
  .mobile-menu .soc svg{width:20px;height:20px}
  .mobile-menu .soc span{font-size:12px;color:#d9d1e6}
  .mobile-menu .mm-loc{font-size:11px;letter-spacing:.1em;color:#8d84a0;padding-top:18px}
  .mobile-menu .mega-mark{font-size:15.5vw;margin:8px -20px 0;padding:6px 0 14px}
}
@media(max-width:380px){.mm-social{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.dropdown-panel.mega,.mega-item,.soc{transition:none}}

/* Let's start: spinning logo badge (rotates only while the page scrolls) */
.nav-cta{gap:14px;padding:6px 6px 6px 22px}
.cta-logo{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:var(--bg,#050407);border:1px solid #f6f3ff;box-shadow:0 0 0 1px #0000000d,0 4px 14px #0000002e;overflow:hidden}
.cta-logo img{width:24px;height:24px;object-fit:contain;transform:rotate(var(--spin,0deg));will-change:transform}
.nav-cta:hover .cta-logo{border-color:var(--bg,#050407)}
.nav-cta .cta-logo{transition:none}.nav-cta:hover span.cta-logo{transform:none}
.mobile-menu .mm-cta{padding:7px 7px 7px 20px}
.mobile-menu .mm-cta .cta-logo{width:42px;height:42px}
@media(max-width:1100px){.nav-cta{gap:12px;padding:5px 5px 5px 17px}.cta-logo{width:34px;height:34px}.cta-logo img{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.cta-logo img{transform:none}}
/* fix: generic .dropdown-panel a rule was stripping the CTA padding */
.dropdown-panel a.mega-cta{padding:0 8px 0 22px;border-top:0;min-height:52px;gap:14px}
.dropdown-panel a.mega-cta:hover{color:#120e18}
/* short laptop screens: keep mega menus fully on screen */
@media(min-width:851px) and (max-height:860px){
  .dropdown-panel.mega .mega-item{padding:6px 12px}
  .dropdown-panel.mega .mega-item .mega-ic{width:38px;height:38px}
  .dropdown-panel .mega-mark{font-size:clamp(64px,7.4vw,96px);padding:6px 0 4px}
}
@media(min-width:851px){.dropdown-panel.mega{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.dropdown-panel.mega::-webkit-scrollbar{display:none}}
/* Header: simple violet theme border */
.nav-shell,.site-header.is-scrolled .nav-shell{border:1px solid #9b7bff8f}

/* ——— Expanding header (desktop): the bordered bar itself grows down to hold the open menu ——— */
@media(min-width:851px){
  .site-header .nav-shell,.site-header.is-scrolled .nav-shell{position:relative;isolation:isolate;background:none;border:1px solid transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  /* the visible shell: same border, glass and shadow as before, but its height follows the open menu */
  .nav-shell:before{content:"";position:absolute;z-index:-1;top:-1px;left:-1px;right:-1px;height:calc(100% + 2px + var(--drop-h,0px));border:1px solid #9b7bff8f;border-radius:50px;background:linear-gradient(110deg,#151419f2,#0d0d12f2);box-shadow:inset 0 1px 0 #ffffff08,0 14px 60px #0005;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);pointer-events:none;transition:height .6s var(--ease),border-radius .6s var(--ease),box-shadow .45s,background .45s}
  .site-header.is-scrolled .nav-shell:before{background:#101016f5;box-shadow:inset 0 1px 0 #ffffff09,0 12px 45px #0006}
  .nav-shell.has-open:before{border-radius:34px;box-shadow:inset 0 1px 0 #ffffff0a,0 40px 110px #000c}
  /* menu sits inside the shell, full width, no card of its own */
  .dropdown-panel.mega{top:100%;left:0;right:0;width:auto;border:0;border-radius:0 0 33px 33px;background:radial-gradient(ellipse 55% 70% at 100% 0,#5a2fb02e,transparent 65%);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateY(-10px);clip-path:inset(0 0 100% 0 round 0 0 33px 33px);transition:opacity .25s ease,transform .45s var(--ease),clip-path .45s var(--ease),visibility 0s linear .45s}
  .nav-dropdown.is-open .dropdown-panel.mega{transform:none;clip-path:inset(0 0 0 0 round 0 0 33px 33px);transition:opacity .4s ease .08s,transform .6s var(--ease),clip-path .6s var(--ease),visibility 0s}
  .dropdown-panel.mega:before{display:none}
  .dropdown-panel.mega .mega-grid{margin:0 22px;border-top:1px solid #ffffff12}
  .dropdown-panel.mega .mega-links{padding-left:0}
  .dropdown-panel.mega .mega-side{padding-right:4px}
}
@media(min-width:851px) and (prefers-reduced-motion:reduce){.nav-shell:before,.dropdown-panel.mega{transition:none!important}}
/* Footer: dotted wordmark (footer-dots.js) */
.footer-watermark.has-dots{position:relative;overflow:hidden;padding:0;color:transparent;background:none;-webkit-text-fill-color:transparent}
.footer-watermark .fd-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

/* "Free" label on the Audit link */
.nav-audit{position:relative}
.nav-free{position:absolute;top:-9px;right:-16px;padding:1px 5px;border-radius:5px 5px 5px 0;background:#ff2d4b;color:#fff;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.35;pointer-events:none;box-shadow:0 3px 10px #ff2d4b66;transform:rotate(6deg)}
.mobile-menu .mm-link .nav-free{position:relative;top:-12px;right:auto;display:inline-block;margin-left:4px;font-size:9px;font-weight:700;color:#fff;letter-spacing:.08em;vertical-align:baseline}
.mobile-menu .mm-free{font-weight:inherit}
