/* NextBias global navigation, footer, and error-page shell */
.pro-header.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  display: block;
  min-height: 0;
  padding: 0;
  overflow: visible;
  border-bottom: 1px solid color-mix(in srgb, var(--line, rgba(56, 38, 104, .15)) 78%, transparent);
  background: color-mix(in srgb, var(--paper, #fff7fc) 91%, transparent);
  box-shadow: 0 10px 32px rgba(31, 18, 61, .055);
  backdrop-filter: blur(22px) saturate(1.2);
}

.pro-header .header-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  width: min(100% - 40px, 1540px);
  min-height: 74px;
  margin: 0 auto;
  align-items: center;
  gap: 20px;
}

.pro-header .brand { gap: 11px; flex-shrink: 0; }
.pro-header .brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, #ff46aa 0%, #9c5cff 54%, #6251ff 100%);
  box-shadow: 0 10px 25px rgba(118, 87, 255, .25), inset 0 1px rgba(255, 255, 255, .34);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: -.06em;
}
.pro-header .brand-copy { display: grid; gap: 3px; }
.pro-header .brand-copy strong { font-size: 20px; line-height: 1; letter-spacing: -.05em; }
.pro-header .brand-copy small { color: var(--muted, #69617b); font-size: 9px; font-weight: 850; letter-spacing: .115em; text-transform: uppercase; }

.pro-header .primary-nav {
  justify-self: center;
  display: flex;
  min-width: 0;
  padding: 5px;
  gap: 3px;
  border: 1px solid color-mix(in srgb, var(--line, rgba(56, 38, 104, .15)) 76%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--white, #fff) 78%, transparent);
  box-shadow: inset 0 1px rgba(255, 255, 255, .68), 0 6px 18px rgba(40, 22, 80, .035);
}
.pro-header .primary-nav a {
  position: relative;
  display: inline-flex;
  min-height: 40px;
  padding: 0 14px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 999px;
  color: var(--muted, #69617b);
  font-size: 12.5px;
  font-weight: 820;
  line-height: 1;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.pro-header .primary-nav a::after { display: none; }
.pro-header .primary-nav a:hover { background: color-mix(in srgb, var(--paper-2, #f2edff) 72%, transparent); color: var(--ink, #18132e); transform: translateY(-1px); }
.pro-header .primary-nav a[aria-current="page"] { background: var(--ink, #18132e); color: #fff; box-shadow: 0 7px 18px rgba(24, 19, 46, .17); }
.pro-header .primary-nav .nav-symbol { display: block; color: #8d72ff; font-size: 11px; line-height: 1; }
.pro-header .primary-nav a[aria-current="page"] .nav-symbol { color: #70f4ef; }

.pro-header .header-actions { display: flex; align-items: center; gap: 8px; }
.pro-header .header-cta {
  display: inline-flex;
  min-height: 44px;
  padding: 0 18px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(110deg, #ff3ca6, #7657ff);
  box-shadow: 0 9px 24px rgba(118, 87, 255, .24);
  color: #fff;
  font-size: 12.5px;
  font-weight: 900;
  white-space: nowrap;
}
.pro-header .header-cta:hover { background: linear-gradient(110deg, #e92d95, #6546ee); box-shadow: 0 11px 28px rgba(118, 87, 255, .3); color: #fff; transform: translateY(-1px); }

.pro-header .theme-toggle,
.pro-header .menu-toggle {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--line, rgba(56, 38, 104, .15)) 82%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--white, #fff) 82%, transparent);
  color: var(--ink, #18132e);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.pro-header .theme-toggle:hover,
.pro-header .menu-toggle:hover { border-color: color-mix(in srgb, var(--violet, #7657ff) 45%, transparent); background: color-mix(in srgb, var(--paper-2, #f2edff) 76%, transparent); transform: translateY(-1px); }
.pro-header .menu-toggle { display: none; }
.pro-header .menu-icon { position: relative; width: 17px; height: 12px; }
.pro-header .menu-icon::before,
.pro-header .menu-icon::after,
.pro-header .menu-icon span { position: absolute; left: 0; width: 17px; height: 2px; border-radius: 2px; background: currentColor; content: ""; transition: transform .2s ease, top .2s ease, opacity .2s ease; }
.pro-header .menu-icon::before { top: 0; }
.pro-header .menu-icon span { top: 5px; }
.pro-header .menu-icon::after { top: 10px; }
.pro-header.is-menu-open .menu-icon::before { top: 5px; transform: rotate(45deg); }
.pro-header.is-menu-open .menu-icon span { opacity: 0; }
.pro-header.is-menu-open .menu-icon::after { top: 5px; transform: rotate(-45deg); }

.pro-footer.site-footer {
  display: block;
  padding: 0;
  background: radial-gradient(circle at 9% -10%, rgba(255, 60, 166, .2), transparent 24rem), radial-gradient(circle at 92% 10%, rgba(112, 244, 239, .1), transparent 28rem), linear-gradient(118deg, #120d22, #20143d 56%, #30215f);
  color: #fff;
}
.pro-footer .footer-inner { width: min(100% - 40px, 1540px); margin: 0 auto; padding: 44px 0 20px; }
.pro-footer .footer-top { display: grid; grid-template-columns: minmax(290px, 1.25fr) repeat(3, minmax(145px, .68fr)); gap: clamp(28px, 4vw, 62px); padding-bottom: 30px; }
.pro-footer .footer-intro .brand { color: #fff; }
.pro-footer .footer-intro .brand-mark { width: 42px; height: 42px; border-radius: 13px; background: linear-gradient(135deg, #ffe66a, #70f4ef); color: #18132e; box-shadow: 0 9px 22px rgba(112, 244, 239, .12); }
.pro-footer .footer-intro > p { max-width: 390px; margin: 17px 0 20px; color: rgba(255, 255, 255, .67); font-size: 14px; line-height: 1.55; }
.pro-footer .footer-cta { display: inline-flex; min-height: 42px; padding: 0 15px; align-items: center; gap: 18px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .075); color: #fff; font-size: 12px; font-weight: 900; }
.pro-footer .footer-cta span { color: #70f4ef; }
.pro-footer .footer-column h2 { margin: 3px 0 14px; color: rgba(255, 255, 255, .46); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.pro-footer .footer-column nav { display: grid; gap: 9px; }
.pro-footer .footer-column a { width: fit-content; color: rgba(255, 255, 255, .76); font-size: 13px; font-weight: 760; line-height: 1.35; }
.pro-footer .footer-column a:hover { color: #fff; text-decoration: underline; text-decoration-color: #ff3ca6; text-underline-offset: 4px; }
.pro-footer .footer-bottom { display: grid; grid-template-columns: minmax(250px, auto) minmax(340px, 1fr); gap: 28px; padding-top: 18px; align-items: start; border-top: 1px solid rgba(255, 255, 255, .13); }
.pro-footer .footer-status { grid-column: auto; padding: 0; border: 0; color: rgba(255, 255, 255, .72); font-size: 11px; line-height: 1.5; }
.pro-footer .footer-status span { box-shadow: 0 0 0 4px rgba(112, 244, 239, .1); }
.pro-footer .legal { max-width: 820px; margin: 0 0 0 auto; color: rgba(255, 255, 255, .44); font-size: 10px; line-height: 1.5; text-align: right; }

.route-error-page main { overflow: visible; }
.route-error { position: relative; display: grid; min-height: calc(100svh - 74px); padding: clamp(38px, 7vw, 90px) 20px; place-items: center; overflow: hidden; background: radial-gradient(circle at 12% 12%, rgba(255, 60, 166, .16), transparent 27rem), radial-gradient(circle at 88% 82%, rgba(118, 87, 255, .18), transparent 31rem), var(--paper, #fff7fc); }
.route-error::before,.route-error::after { position: absolute; border: 1px solid color-mix(in srgb, var(--violet, #7657ff) 20%, transparent); border-radius: 50%; content: ""; pointer-events: none; }
.route-error::before { width: 310px; height: 310px; top: -180px; right: 8%; }
.route-error::after { width: 220px; height: 220px; bottom: -140px; left: 5%; }
.route-error-card { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(250px, .65fr); width: min(980px, 100%); overflow: hidden; border: 1px solid var(--line, rgba(56, 38, 104, .15)); border-radius: 30px; background: color-mix(in srgb, var(--white, #fff) 92%, transparent); box-shadow: 0 30px 90px rgba(50, 28, 95, .15); }
.route-error-copy { padding: clamp(34px, 6vw, 68px); }
.route-error-copy .eyebrow { margin-bottom: 22px; color: var(--pink, #ff3ca6); }
.route-error-copy h1 { max-width: 650px; margin: 0; font-family: var(--display, "Arial Black", sans-serif); font-size: clamp(44px, 7vw, 82px); line-height: .92; letter-spacing: -.07em; text-transform: uppercase; }
.route-error-copy > p:not(.eyebrow) { max-width: 590px; margin: 24px 0 0; color: var(--muted, #69617b); font-size: clamp(16px, 1.8vw, 19px); line-height: 1.58; }
.route-error-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.route-error-actions .button { min-height: 48px; }
.route-error-panel { display: flex; min-height: 100%; padding: clamp(30px, 5vw, 54px); flex-direction: column; justify-content: space-between; background: radial-gradient(circle at 90% 12%, rgba(112, 244, 239, .24), transparent 14rem), linear-gradient(145deg, #18122e, #2b1d57); color: #fff; }
.route-error-code { display: block; font-family: var(--display, "Arial Black", sans-serif); font-size: clamp(86px, 12vw, 150px); line-height: .78; letter-spacing: -.1em; color: rgba(255, 255, 255, .96); }
.route-error-panel p { margin: 24px 0 10px; color: rgba(255, 255, 255, .62); font-size: 13px; line-height: 1.55; }
.route-error-links { display: grid; gap: 8px; }
.route-error-links a { display: flex; min-height: 46px; padding: 0 13px; align-items: center; justify-content: space-between; border: 1px solid rgba(255, 255, 255, .13); border-radius: 13px; background: rgba(255, 255, 255, .055); color: #fff; font-size: 12px; font-weight: 850; }
.route-error-links a span { color: #70f4ef; }

@media (max-width:1180px) {
  .pro-header .header-inner { gap: 14px; }
  .pro-header .primary-nav a { padding-inline: 11px; }
  .pro-header .primary-nav .nav-symbol { display: none; }
  .pro-footer .footer-top { grid-template-columns: minmax(270px,1.1fr) repeat(3,minmax(130px,.65fr)); gap:34px; }
}

@media (max-width:1020px) {
  .pro-header.site-header { overflow: visible; }
  .pro-header .header-inner { position: relative; grid-template-columns:minmax(0,1fr) auto auto; width:min(100% - 30px,1540px); min-height:70px; gap:8px; }
  .pro-header .primary-nav {
    position:absolute;
    z-index:1000;
    top:calc(100% + 8px);
    left:0;
    right:0;
    display:none !important;
    width:100%;
    max-height:calc(100dvh - 92px);
    padding:10px;
    overflow-y:auto;
    grid-template-columns:1fr;
    gap:6px;
    border:1px solid color-mix(in srgb,var(--line,rgba(56,38,104,.15)) 82%,transparent);
    border-radius:18px;
    background:color-mix(in srgb,var(--paper,#fff7fc) 98%,transparent);
    box-shadow:0 24px 60px rgba(29,17,55,.28);
    backdrop-filter:blur(22px) saturate(1.2);
  }
  .pro-header.is-menu-open .primary-nav { display:grid !important; }
  .pro-header .primary-nav a { display:flex !important; width:100%; min-height:48px; padding:0 14px; justify-content:flex-start; border-radius:12px; }
  .pro-header .primary-nav .nav-symbol { display:block; width:20px; text-align:center; }
  .pro-header .primary-nav .nav-featured { grid-column:auto; justify-content:flex-start; }
  .pro-header .menu-toggle { display:grid; position:relative; z-index:1001; }
  .pro-header .header-cta { display:none; }
  .pro-footer .footer-top { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pro-footer .footer-intro { grid-column:1/-1; }
  .pro-footer .footer-intro > p { max-width:560px; }
  .pro-footer .footer-bottom { grid-template-columns:1fr; gap:10px; }
  .pro-footer .legal { margin:0; text-align:left; }
  .route-error-card { grid-template-columns:1fr; max-width:760px; }
  .route-error-panel { min-height:280px; }
}

@media (max-width:720px) {
  .pro-header .header-inner,
  .pro-footer .footer-inner { width:min(100% - 24px,1540px); }
  .pro-header .brand-copy strong { font-size:18px; }
  .pro-header .brand-copy small { display:none; }
  .pro-header .brand-mark { width:40px; height:40px; border-radius:12px; }
  .pro-header .theme-toggle,.pro-header .menu-toggle { width:40px; height:40px; border-radius:12px; }
  .pro-header .primary-nav { grid-template-columns:1fr; }

  .pro-footer .footer-inner { padding-top:30px; }
  .pro-footer .footer-top { display:block; padding-bottom:18px; }
  .pro-footer .footer-intro { margin-bottom:22px; }
  .pro-footer .footer-intro > p { margin-bottom:14px; }
  .pro-footer .footer-column { border-top:1px solid rgba(255,255,255,.12); }
  .pro-footer .footer-column:last-of-type { border-bottom:1px solid rgba(255,255,255,.12); }
  .pro-footer .footer-column h2 { position:relative; display:flex; min-height:52px; margin:0; padding:0 30px 0 0; align-items:center; color:rgba(255,255,255,.68); font-size:11px; cursor:pointer; user-select:none; }
  .pro-footer .footer-column h2::after { position:absolute; right:2px; content:'+'; color:#fff; font-size:20px; font-weight:500; line-height:1; }
  .pro-footer .footer-column.is-open h2::after { content:'−'; }
  .pro-footer .footer-column nav { display:none; padding:0 0 14px; gap:0; }
  .pro-footer .footer-column.is-open nav { display:grid; }
  .pro-footer .footer-column a { display:flex; width:100%; min-height:44px; align-items:center; color:rgba(255,255,255,.84); font-size:13px; }
  .pro-footer .footer-bottom { grid-template-columns:1fr; gap:14px; }
  .pro-footer .legal { margin:0; text-align:left; }
  .route-error { min-height:calc(100svh - 70px); padding:28px 12px 42px; }
  .route-error-card { border-radius:22px; }
  .route-error-copy { padding:30px 22px; }
  .route-error-copy h1 { font-size:clamp(40px,14vw,62px); }
  .route-error-copy > p:not(.eyebrow) { margin-top:18px; font-size:15px; }
  .route-error-actions { display:grid; margin-top:22px; }
  .route-error-actions .button { width:100%; }
  .route-error-panel { min-height:245px; padding:28px 22px; }
  .route-error-code { font-size:92px; }
}

html[data-theme="dark"] .pro-header.is-menu-open .primary-nav { background:rgba(20,13,34,.985); border-color:rgba(255,255,255,.14); box-shadow:0 24px 60px rgba(0,0,0,.44); }
html[data-theme="dark"] .pro-header .menu-toggle { color:#f8f5ff; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.09); }
html[data-theme="dark"] .pro-header.is-menu-open .menu-toggle { color:#fff; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.15); }


/* Final footer + human sitemap polish */
.pro-footer .footer-inner{width:min(100% - 48px,1420px);padding:34px 0 18px}
.pro-footer .footer-top{grid-template-columns:minmax(250px,.95fr) repeat(3,minmax(150px,.55fr));gap:clamp(28px,3.4vw,52px);padding-bottom:24px;align-items:start}
.pro-footer .footer-intro>p{max-width:360px;margin:14px 0 17px;font-size:13px;line-height:1.5}
.pro-footer .footer-cta{min-height:40px;padding-inline:14px}
.pro-footer .footer-column h2{margin:2px 0 12px;color:rgba(255,255,255,.56);font-size:10px}
.pro-footer .footer-column nav{gap:8px}
.pro-footer .footer-column a{font-size:12.5px}
.pro-footer .footer-bottom{display:grid;grid-template-columns:minmax(260px,auto) auto;gap:12px 28px;padding-top:16px;align-items:center}
.pro-footer .footer-status{font-size:11px}
.pro-footer .footer-utility{display:flex;justify-self:end;align-items:center;gap:0;flex-wrap:wrap}
.pro-footer .footer-utility a{position:relative;padding:4px 10px;color:rgba(255,255,255,.62);font-size:11px;font-weight:760}
.pro-footer .footer-utility a+a::before{position:absolute;left:-1px;color:rgba(255,255,255,.24);content:"·"}
.pro-footer .footer-utility a:hover{color:#fff}
.pro-footer .legal{grid-column:1 / -1;max-width:none;margin:0;padding-top:10px;border-top:1px solid rgba(255,255,255,.075);color:rgba(255,255,255,.48);font-size:11px;line-height:1.5;text-align:left}
.sitemap-page .page-intro{padding-bottom:54px}
.sitemap-directory{padding:56px 6vw 92px;background:var(--paper,#fff7fc)}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sitemap-card{padding:24px;border:1px solid var(--line,rgba(56,38,104,.15));border-radius:20px;background:var(--white,#fff);box-shadow:0 12px 34px rgba(73,44,135,.07)}
.sitemap-card h2{margin:0 0 15px;font-size:19px}
.sitemap-card nav{display:grid;gap:9px}
.sitemap-card a{width:fit-content;color:var(--muted,#69617b);font-size:13px;font-weight:760}
.sitemap-card a:hover{color:var(--ink,#18132e);text-decoration:underline;text-decoration-color:var(--pink,#ff3ca6);text-underline-offset:4px}
.sitemap-groups{grid-column:1 / -1}
.sitemap-group-links{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 18px!important}
@media(max-width:980px){.pro-footer .footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}.pro-footer .footer-intro{grid-column:1 / -1}.sitemap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sitemap-group-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.pro-footer .footer-inner{width:min(100% - 30px,1420px);padding-top:28px}.pro-footer .footer-top{grid-template-columns:1fr 1fr;gap:26px 20px}.pro-footer .footer-intro{grid-column:1 / -1}.pro-footer .footer-bottom{grid-template-columns:1fr;align-items:start}.pro-footer .footer-utility{justify-self:start;margin-left:-10px}.pro-footer .legal{grid-column:1}.sitemap-grid{grid-template-columns:1fr}.sitemap-group-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.pro-footer .footer-top{grid-template-columns:1fr}.pro-footer .footer-column,.pro-footer .footer-intro{grid-column:1}.sitemap-group-links{grid-template-columns:1fr}}
