/* SYSTEM BY NOVA — V11.25.3 / NAVIGATION + NOVA COMMAND — FINAL POLISH
   Surgical global chrome upgrade on the approved V11.25.1 baseline.
   Scope: premium capsule navigation, shared active surface, NOVA Command/System Index,
   mobile command access, route awareness and accessibility polish. No homepage/content changes. */

:root{
  --nova-chrome-ease:cubic-bezier(.22,1,.36,1);
  --nova-chrome-fast:220ms;
  --nova-chrome-med:420ms;
}

/* --------------------------- GLOBAL NAV CHROME -------------------------- */
.nav{z-index:170}
.nav::before{
  transition:background var(--nova-chrome-med) var(--nova-chrome-ease),opacity var(--nova-chrome-med) var(--nova-chrome-ease),backdrop-filter var(--nova-chrome-med) var(--nova-chrome-ease),border-color var(--nova-chrome-med) var(--nova-chrome-ease)
}
.nav-inner{isolation:isolate}

@media(min-width:761px){
  .nav-links{
    position:relative;gap:0;padding:4px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:999px;
    background:
      linear-gradient(180deg,color-mix(in srgb,currentColor 4%,transparent),transparent 46%),
      color-mix(in srgb,var(--ink) 18%,transparent);
    box-shadow:inset 0 1px 0 color-mix(in srgb,currentColor 7%,transparent),0 14px 44px rgba(0,0,0,.055);
    backdrop-filter:blur(20px) saturate(.92);-webkit-backdrop-filter:blur(20px) saturate(.92);
  }
  .nav.is-light .nav-links{
    background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(242,239,230,.28));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 14px 44px rgba(23,23,20,.045)
  }
  .nav-links::before{
    content:"";position:absolute;left:0;top:4px;height:calc(100% - 8px);width:var(--nova-nav-w,0px);
    transform:translate3d(var(--nova-nav-x,0px),0,0);border-radius:999px;
    background:linear-gradient(180deg,color-mix(in srgb,currentColor 10%,transparent),color-mix(in srgb,currentColor 4%,transparent));
    box-shadow:inset 0 1px 0 color-mix(in srgb,currentColor 9%,transparent),0 4px 16px rgba(0,0,0,.025);
    opacity:var(--nova-nav-a,0);transition:transform .46s var(--nova-chrome-ease),width .46s var(--nova-chrome-ease),opacity .2s ease;pointer-events:none
  }
  .nav-links::after{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,currentColor 14%,transparent),transparent);opacity:.68;pointer-events:none}
  .nav-links a{position:relative;z-index:1;padding:8px 17px;font-size:.75rem;letter-spacing:.012em;font-weight:690;opacity:.64;transition:opacity var(--nova-chrome-fast),transform var(--nova-chrome-fast) var(--nova-chrome-ease)}
  .nav-links a:hover,.nav-links a[aria-current="page"]{opacity:1}
  .nav-links a:hover{transform:translateY(-.5px)}
}

.nav-actions{gap:8px}
.nav-command{
  position:relative;order:0;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;
  border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:999px;
  background:linear-gradient(180deg,color-mix(in srgb,currentColor 5%,transparent),color-mix(in srgb,var(--ink) 13%,transparent));
  color:inherit;cursor:pointer;box-shadow:inset 0 1px 0 color-mix(in srgb,currentColor 7%,transparent);
  font-size:.67rem;letter-spacing:.095em;text-transform:uppercase;font-weight:800;
  transition:transform .32s var(--nova-chrome-ease),background .32s,border-color .32s,box-shadow .32s
}
.nav.is-light .nav-command{background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(242,239,230,.25))}
.nav-command:hover,.nav-command:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,currentColor 56%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,currentColor 10%,transparent),0 9px 26px rgba(0,0,0,.065);outline:none}
.nav-command-dot{width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 4px rgba(201,255,67,.035),0 0 15px rgba(201,255,67,.34)}
.nav-command kbd{font:inherit;font-size:.5rem;letter-spacing:.04em;opacity:.46;border-left:1px solid color-mix(in srgb,currentColor 20%,transparent);padding-left:8px}

.nav-cta{min-height:40px;display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-color:color-mix(in srgb,currentColor 48%,transparent);background:transparent;transition:background .3s,color .3s,border-color .3s,transform .3s var(--nova-chrome-ease),box-shadow .3s}
.nav-cta:hover,.nav-cta:focus-visible{background:var(--acid);color:var(--ink);border-color:var(--acid);transform:translateY(-1px);box-shadow:0 8px 26px rgba(201,255,67,.12);outline:none}
.nav-sound{width:40px;height:40px;min-width:40px;min-height:40px;background:linear-gradient(180deg,color-mix(in srgb,currentColor 5%,transparent),color-mix(in srgb,var(--ink) 13%,transparent));border-color:color-mix(in srgb,currentColor 31%,transparent)}
.nav.is-light .nav-sound{background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(242,239,230,.25))}

/* ----------------------------- NOVA COMMAND ---------------------------- */
.nova-command-layer{position:fixed;inset:0;z-index:230;display:grid;place-items:center;padding:clamp(18px,4vw,54px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s}
.nova-command-layer::before{content:"";position:absolute;inset:0;background:rgba(5,6,5,.82);backdrop-filter:blur(22px) saturate(.80);-webkit-backdrop-filter:blur(22px) saturate(.80)}
body.nova-command-open{overflow:hidden}
body.nova-command-open .nova-command-layer{opacity:1;visibility:visible;pointer-events:auto}
.nova-command-panel{position:relative;width:min(1100px,100%);max-height:min(820px,calc(100svh - 40px));overflow:auto;background:#0b0c0a;color:#eeece5;border:1px solid rgba(255,255,255,.12);box-shadow:0 42px 130px rgba(0,0,0,.52);transform:translateY(14px) scale(.988);opacity:0;transition:transform .48s var(--nova-chrome-ease),opacity .28s ease;isolation:isolate;overscroll-behavior:contain}
body.nova-command-open .nova-command-panel{transform:none;opacity:1}
.nova-command-panel::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 86% 2%,rgba(201,255,67,.07),transparent 25%),linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:auto,58px 58px,58px 58px;mask-image:linear-gradient(180deg,#000,transparent 88%)}
.nova-command-panel::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);z-index:5}
.nova-command-head{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(11,12,10,.90);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nova-command-brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.nova-command-brand i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 14px rgba(201,255,67,.25)}
.nova-command-search{position:relative;display:flex;align-items:center}.nova-command-search input{width:100%;height:42px;border:0;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1);background:transparent;color:#eeece5;padding:0 16px;outline:none;font-size:.92rem;caret-color:var(--acid)}.nova-command-search input::placeholder{color:#71746d}.nova-command-search input:focus{background:rgba(255,255,255,.015)}
.nova-command-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;font-size:1rem;transition:background .2s,color .2s,border-color .2s,transform .2s}.nova-command-close:hover,.nova-command-close:focus-visible{background:var(--acid);color:var(--ink);border-color:var(--acid);transform:rotate(4deg);outline:none}
.nova-command-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);min-height:430px}
.nova-command-group{padding:clamp(24px,3.2vw,42px);border-right:1px solid rgba(255,255,255,.085)}.nova-command-group:last-child{border-right:0}
.nova-command-group>span{display:block;margin-bottom:24px;color:#70736c;font-size:.59rem;text-transform:uppercase;letter-spacing:.17em;font-weight:790}
.nova-command-link{display:grid;gap:5px;padding:13px 0;border-top:1px solid rgba(255,255,255,.09);transition:padding .28s var(--nova-chrome-ease),color .25s,opacity .25s,background .25s}.nova-command-link:last-child{border-bottom:1px solid rgba(255,255,255,.09)}
.nova-command-link strong{font-size:clamp(1rem,1.3vw,1.2rem);letter-spacing:-.03em;font-weight:700}.nova-command-link small{color:#777a72;font-size:.7rem;line-height:1.4}
.nova-command-link:hover,.nova-command-link:focus-visible,.nova-command-link.is-keyboard-active{color:var(--acid);padding-left:9px;outline:0}.nova-command-link:hover small,.nova-command-link:focus-visible small,.nova-command-link.is-keyboard-active small{color:#9b9e96}.nova-command-link[hidden]{display:none}
.nova-command-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);color:#696c65;font-size:.57rem;letter-spacing:.12em;text-transform:uppercase}.nova-command-empty{display:none;position:relative;z-index:2;padding:40px;color:#8b8e87;font-size:.9rem}.nova-command-empty.is-visible{display:block}

/* ----------------------- RESPONSIVE / INPUT MODES ----------------------- */
/* Full capsule navigation has enough breathing room only on wide screens. */
@media(min-width:1180px){
  .nav-command{order:1}
  .nav-cta{order:2}
  .nav-sound{order:3}
  .menu-btn{order:4}
  .nav-links{display:flex!important}
}

/* Tablet: keep the premium right-side instrument cluster, use NOVA as the
   navigation index, and avoid squeezing four center links into a narrow rail. */
@media(min-width:761px) and (max-width:1179px){
  .nav-links{display:none!important}
  .nav-inner{display:grid!important;grid-template-columns:1fr auto!important;gap:18px!important}
  .wordmark{justify-self:start!important}
  .nav-actions{justify-self:end!important;gap:7px!important}
  .nav-command{order:1;height:40px;padding-inline:12px}
  .nav-command kbd{display:none}
  .nav-cta{order:2;display:inline-flex!important;min-height:40px;padding:9px 14px}
  .nav-sound{order:3;width:40px;height:40px;min-width:40px;min-height:40px}
  .menu-btn{display:none!important}
  .nova-command-layer{padding:24px}
  .nova-command-panel{width:min(940px,100%);max-height:calc(100dvh - 48px)}
  .nova-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nova-command-group{padding:30px;border-right:1px solid rgba(255,255,255,.085);border-bottom:1px solid rgba(255,255,255,.085)}
  .nova-command-group:nth-child(2n){border-right:0}
  .nova-command-group:nth-last-child(-n+2){border-bottom:0}
  .nova-command-search input{font-size:16px}
}

/* Mobile: preserve the approved V11.25.1 topbar. NOVA Command becomes a
   compact premium action inside the acid menu instead of a sixth giant link. */
.mobile-command{display:none}
@media(max-width:760px){
  .nav-command,.nav-links{display:none!important}
  .mobile-menu{overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:max(28px,env(safe-area-inset-bottom))!important}
  .mobile-command{
    display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;
    margin:0 0 10px;padding:0 16px;border:1px solid rgba(11,11,10,.18);border-radius:18px;
    background:rgba(242,239,230,.18);color:inherit;text-align:left;cursor:pointer;font:inherit;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
  }
  .mobile-command strong{font-size:1rem;line-height:1;letter-spacing:-.035em;font-weight:800}
  .mobile-command span{font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.56}
  .mobile-command:active{transform:scale(.992)}

  .nova-command-layer{padding:0}
  .nova-command-layer::before{background:#0b0c0a;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nova-command-panel{width:100%;height:100dvh;min-height:100svh;max-height:none;border:0;box-shadow:none;border-radius:0}
  .nova-command-head{grid-template-columns:1fr 44px;gap:12px;padding:max(14px,env(safe-area-inset-top)) 16px 14px}
  .nova-command-brand{font-size:.95rem}
  .nova-command-close{width:44px;height:44px}
  .nova-command-search{grid-column:1/-1;grid-row:2}
  .nova-command-search input{height:48px;border:1px solid rgba(255,255,255,.12);border-radius:14px;font-size:16px;padding-inline:14px;background:rgba(255,255,255,.018)}
  .nova-command-grid{grid-template-columns:1fr;min-height:0}
  .nova-command-group{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.085)!important;padding:24px 18px}
  .nova-command-group:last-child{border-bottom:0!important;padding-bottom:max(34px,env(safe-area-inset-bottom))}
  .nova-command-group>span{margin-bottom:16px}
  .nova-command-link{padding:14px 0}
  .nova-command-link strong{font-size:1.08rem}
  .nova-command-link small{font-size:.72rem}
  .nova-command-foot{display:none}
}

@supports(scrollbar-gutter:stable){html{scrollbar-gutter:stable}}
.nova-command-panel{overscroll-behavior:contain}

/* Keep the sonic control last, exactly like the approved visual direction. */
@media(min-width:761px){
  .nav-command{order:1}
  .nav-cta{order:2}
  .nav-sound{order:3}
}

/* Accessible focus without adding visual noise for pointer users. */
.nav-sound:focus-visible,.menu-btn:focus-visible,.mobile-command:focus-visible{
  outline:2px solid var(--acid);outline-offset:3px
}

@media(prefers-reduced-motion:reduce){
  .nav-links::before,.nav-links a,.nova-command-layer,.nova-command-panel,.nova-command-link,.nova-command,.nav-cta,.nav-sound,.nova-command-close,.mobile-command{transition-duration:.01ms!important;animation:none!important}
}

/* Consent is intentionally non-modal. When a user opens navigation or System
   Index, temporarily yield the stage; the undecided consent state remains and
   returns the moment the navigation surface closes. */
.nova-consent{transition:opacity .24s ease,transform .32s var(--nova-chrome-ease),visibility .24s ease}
body.menu-open .nova-consent,body.nova-command-open .nova-consent{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(12px)!important}
