/* Platform nav shared across tool pages (desktop top menu + mobile centered logo + hamburger) */
:root{
  /* Solid (not translucent) to avoid page-background tinting differences on mobile. */
  --nk-nav-bg: #080618;
  --nk-nav-border: rgba(201,168,76,.14);
  --nk-nav-gold: #C9A84C;
  --nk-nav-ink: rgba(234,230,248,.92);
  --nk-nav-h: 62px;
  --nk-nav-h-m: 48px;
}

/* Reserve space immediately to avoid a "jump" when the JS-injected fixed header mounts. */
#nk-platform-header{ height: var(--nk-nav-h); }
@media(max-width:768px){
  #nk-platform-header{ height: var(--nk-nav-h-m); }
}

.nk-platform-nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:var(--nk-nav-h);
  display:flex;align-items:center;
  padding:0 clamp(24px,5vw,80px);
  background:var(--nk-nav-bg) !important;
  background-color:var(--nk-nav-bg) !important;
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--nk-nav-border);
  overflow:hidden;
}
@media(max-width:768px){
  .nk-platform-nav{
    height:var(--nk-nav-h-m);
    padding:0 18px;
  }
}

.nk-platform-nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;
  position:relative;
}

/* Desktop */
.nk-platform-logo{
  text-decoration:none !important;
  border:none !important;
  flex-shrink:0;
  font-family:'Cormorant Garamond',serif;
  /* Slightly larger on desktop (requested). */
  font-size:1.6rem;
  font-weight:700;
  letter-spacing:.1em;
  color:#EAE6F8;
  transition:opacity .2s;
  white-space:nowrap;
}
.nk-platform-logo:hover{opacity:.82;}
.nk-platform-logo .nk-platform-logo-em{font-style:italic;color:var(--nk-nav-gold);font-weight:600;letter-spacing:.02em}

.nk-platform-desk{ display:flex;align-items:center;gap:clamp(12px,2.5vw,36px); margin-left:auto; }
.nk-platform-link{
  position:relative;
  font-family:'DM Sans',sans-serif;
  font-size:.92rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--nk-nav-ink);
  text-decoration:none;
  padding:4px 8px;
  white-space:nowrap;
  transition:color .22s;
}
.nk-platform-link::after{
  content:'';
  position:absolute;
  bottom:-2px;
  left:8px; right:8px;
  height:1px;
  background:var(--nk-nav-gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
  opacity:.95;
}
.nk-platform-link:hover{ color:#fff; }
.nk-platform-link:hover::after{ transform:scaleX(1); }
.nk-platform-link.is-active{ color:var(--nk-nav-gold); }
.nk-platform-link.is-active::after{ transform:scaleX(1); }

/* Mobile: centered logo + hamburger */
.nk-platform-mob{ display:none; align-items:center; justify-content:space-between; width:100%; }
.nk-platform-spacer{ width:36px; height:1px; }
.nk-platform-mob .nk-platform-logo{ font-size:1.45rem; }

.nk-platform-burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:36px;height:36px;
  background:none;border:none;
  cursor:pointer;
  padding:4px;
  -webkit-tap-highlight-color:transparent;
  flex-shrink:0;
}
.nk-platform-burger span{
  display:block;
  width:22px;height:2px;
  background:#EAE6F8;
  border-radius:2px;
  transition:transform .28s ease, opacity .22s ease, width .22s ease;
  transform-origin:center;
}
.nk-platform-burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nk-platform-burger.is-open span:nth-child(2){ opacity:0; width:0; }
.nk-platform-burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nk-platform-drawer{
  display:none;
  position:fixed;
  top:var(--nk-nav-h-m);
  left:0; right:0;
  background:rgba(10,8,28,.97);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(201,168,76,.2);
  z-index:499;
  padding:8px 0 16px;
  transform:translateY(-8px);
  opacity:0;
  transition:transform .28s ease, opacity .22s ease;
  pointer-events:none;
}
.nk-platform-drawer.is-open{
  transform:translateY(0);
  opacity:1;
  pointer-events:all;
}
.nk-platform-drawer a{
  display:flex;align-items:center;
  padding:13px 24px;
  font-family:'DM Sans',sans-serif;
  font-size:.85rem;
  color:rgba(234,230,248,.75);
  text-decoration:none;
  letter-spacing:.03em;
  border-bottom:1px solid rgba(200,192,240,.07);
  transition:color .18s, background .18s;
}
.nk-platform-drawer a:last-child{ border-bottom:none; }
.nk-platform-drawer a:active{ background:rgba(201,168,76,.08); color:#EAE6F8; }
.nk-platform-drawer a.gold{ color:var(--nk-nav-gold); font-weight:600; }
.nk-platform-drawer a.gold:active{ background:rgba(201,168,76,.12); }
.nk-platform-drawer a.is-active{ color:var(--nk-nav-gold); }

@media(max-width:768px){
  .nk-platform-desk{ display:none; }
  .nk-platform-mob{ display:flex !important; }
  .nk-platform-burger{ display:flex !important; }
  .nk-platform-drawer{ display:block; }

  /* The injected header includes a desktop logo and a mobile-centered logo.
     On mobile we must show only the centered one to avoid "double NAKSHatra". */
  .nk-platform-nav-inner > .nk-platform-logo{ display:none !important; }
}

/* Explicit desktop rule: some pages still ship legacy CSS that can accidentally
   hide the first logo. Force it back on desktop widths. */
@media(min-width:769px){
  .nk-platform-nav-inner > .nk-platform-logo{ display:inline-flex !important; }
  .nk-platform-mob{ display:none !important; }
}

/* ── GLOBAL PLATFORM FOOTER ── */
.nk-platform-footer {
  margin-top: 100px;
  background: #0A081C;
  padding: 80px clamp(24px, 5vw, 80px) 40px;
  border-top: 1px solid rgba(201,168,76,.12);
  font-family: 'DM Sans', sans-serif;
  position: relative;
  z-index: 10;
}
.nk-platform-footer-inner {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 48px;
  max-width: 1400px;
  margin: 0 auto;
}
@media(max-width: 1024px) {
  .nk-platform-footer-inner { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media(max-width: 480px) {
  .nk-platform-footer-inner { grid-template-columns: 1fr; gap: 32px; text-align: center; }
}

.nk-footer-brand .nk-platform-logo { font-size: 1.8rem; display: inline-block; margin-bottom: 20px; }
.nk-footer-motto {
  color: rgba(234,230,248,.6);
  font-size: .88rem;
  line-height: 1.6;
  max-width: 320px;
}
@media(max-width: 480px) { .nk-footer-motto { margin: 0 auto; } }

.nk-footer-h {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  color: #C9A84C;
  margin-bottom: 24px;
  font-weight: 600;
  letter-spacing: .02em;
}
.nk-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.nk-footer-links a {
  color: rgba(234,230,248,.7);
  text-decoration: none;
  font-size: .9rem;
  transition: color .2s, transform .2s;
  display: inline-block;
}
.nk-footer-links a:hover { color: #EAE6F8; transform: translateX(3px); }
@media(max-width: 480px) { .nk-footer-links a:hover { transform: translateY(-2px); } }

.nk-footer-bottom {
  margin-top: 80px;
  padding-top: 32px;
  border-top: 1px solid rgba(234,230,248,.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
@media(max-width: 480px) { .nk-footer-bottom { justify-content: center; flex-direction: column; text-align: center; } }

.nk-footer-copy { font-size: .8rem; color: rgba(234,230,248,.4); }
.nk-footer-legal { display: flex; gap: 24px; }
.nk-footer-legal a { color: rgba(234,230,248,.4); text-decoration: none; font-size: .8rem; transition: color .2s; }
.nk-footer-legal a:hover { color: #C9A84C; }
