/* Neon Memory Archive — premium synthwave museum layer, August 2026. */
:root{
  --nma-night:#03000a;
  --nma-night-2:#090018;
  --nma-night-3:#17062b;
  --nma-cyan:#35efff;
  --nma-blue:#4d77ff;
  --nma-pink:#ff3cac;
  --nma-magenta:#d83cff;
  --nma-violet:#7a42ff;
  --nma-sunset:#ff794d;
  --nma-gold:#ffd36e;
  --nma-glass:rgba(13,5,28,.76);
  --nma-glass-strong:rgba(8,2,19,.92);
  --nma-neon-line:rgba(83,232,255,.3);
  --nma-soft-line:rgba(255,255,255,.13);
  --nma-neon-shadow:0 0 24px rgba(255,60,172,.18),0 0 58px rgba(73,112,255,.12);
}

html{background:var(--nma-night);scroll-padding-top:108px}
body{
  background:
    radial-gradient(circle at 12% -5%,rgba(255,60,172,.22),transparent 28rem),
    radial-gradient(circle at 92% 5%,rgba(53,239,255,.16),transparent 32rem),
    radial-gradient(circle at 52% 62%,rgba(122,66,255,.08),transparent 42rem),
    linear-gradient(180deg,var(--nma-night) 0%,var(--nma-night-2) 42%,#05000d 100%);
}
body::after{
  content:"";
  position:fixed;
  z-index:-1;
  left:-15vw;
  right:-15vw;
  bottom:-28vh;
  height:66vh;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(53,239,255,.42) 1px,transparent 1px),
    linear-gradient(90deg,rgba(216,60,255,.42) 1px,transparent 1px);
  background-size:64px 44px;
  transform:perspective(430px) rotateX(62deg);
  transform-origin:center top;
  -webkit-mask-image:linear-gradient(to bottom,transparent,black 26%,black 72%,transparent);
  mask-image:linear-gradient(to bottom,transparent,black 26%,black 72%,transparent);
}
main{position:relative;isolation:isolate}
main::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(53,239,255,.018) 50%,transparent);
}

::selection{background:rgba(255,60,172,.78);color:#fff}
:focus-visible{outline:2px solid var(--nma-cyan);outline-offset:4px;box-shadow:0 0 0 5px rgba(53,239,255,.14)}

.nma-header{
  min-height:88px;
  height:auto;
  background:linear-gradient(180deg,rgba(3,0,10,.94),rgba(9,0,24,.78));
  border-bottom:1px solid rgba(53,239,255,.24);
  box-shadow:0 10px 50px rgba(0,0,0,.36),0 1px 0 rgba(255,60,172,.16) inset;
}
.nma-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--nma-pink),var(--nma-cyan),transparent);
  opacity:.68;
}
.nma-brand{filter:drop-shadow(0 0 15px rgba(255,60,172,.22))}
.nma-nav a{
  position:relative;
  padding:.55rem .12rem;
  color:#d7c8de;
  letter-spacing:.015em;
}
.nma-nav a::after{
  content:"";
  position:absolute;
  left:50%;right:50%;bottom:.22rem;height:1px;
  background:linear-gradient(90deg,var(--nma-pink),var(--nma-cyan));
  box-shadow:0 0 10px var(--nma-pink);
  transition:left .22s ease,right .22s ease;
}
.nma-nav a:hover::after,.nma-nav a[aria-current="page"]::after{left:0;right:0}
.nma-nav a[aria-current="page"]{color:#fff;text-shadow:0 0 14px rgba(53,239,255,.5)}
.nma-menu{border-color:rgba(53,239,255,.36);box-shadow:0 0 20px rgba(53,239,255,.08)}

.eyebrow{
  color:var(--nma-cyan);
  text-shadow:0 0 13px rgba(53,239,255,.34);
}
h1,h2,h3{text-wrap:balance}
h1{
  background:linear-gradient(105deg,#fff 6%,#ffe4f5 37%,#c6faff 67%,#fff 92%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 0 26px rgba(255,60,172,.12));
}
.section-heading h2,.nma-expansion-heading h2,.nma-wayfinder h2{
  position:relative;
}
.section-heading h2::after,.nma-expansion-heading h2::after,.nma-wayfinder h2::after{
  content:"";
  display:block;
  width:min(190px,42vw);
  height:2px;
  margin-top:1.15rem;
  background:linear-gradient(90deg,var(--nma-pink),var(--nma-magenta),var(--nma-cyan),transparent);
  box-shadow:0 0 16px rgba(255,60,172,.38);
}

.button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  letter-spacing:.015em;
}
.button::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-2px;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.42) 46%,transparent 68%);
  transform:translateX(-130%);
  transition:transform .55s ease;
}
.button:hover::before{transform:translateX(130%)}
.button.primary{
  background:linear-gradient(112deg,var(--nma-sunset),var(--nma-pink) 40%,var(--nma-magenta) 70%,var(--nma-cyan));
  box-shadow:0 0 22px rgba(255,60,172,.33),0 0 54px rgba(53,239,255,.13);
  color:#100018;
}
.button.ghost{
  border-color:rgba(53,239,255,.33);
  background:linear-gradient(135deg,rgba(9,0,24,.76),rgba(27,4,45,.66));
  box-shadow:inset 0 0 24px rgba(122,66,255,.08),0 0 22px rgba(53,239,255,.05);
}
.button.ghost:hover{border-color:rgba(255,60,172,.7);box-shadow:0 0 28px rgba(255,60,172,.18)}

.home-hero,.memory-hero,.museum-guide-hero{background:#03000a}
.home-hero::before,.memory-hero::before,.museum-guide-hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.09) 4px);
  mix-blend-mode:soft-light;
}
.home-hero:after{
  background:
    linear-gradient(to top,rgba(3,0,10,.99) 0%,rgba(3,0,10,.48) 44%,rgba(3,0,10,.04) 72%),
    linear-gradient(90deg,rgba(3,0,10,.72),transparent 58%),
    radial-gradient(circle at 72% 38%,rgba(53,239,255,.13),transparent 33%);
}
.home-hero-overlay{padding-bottom:7rem}
.home-hero-overlay h1,.memory-hero-copy h1{text-shadow:0 0 18px rgba(255,60,172,.18),0 0 70px rgba(73,119,255,.2)}

.proof-rail,.signal-strip{
  position:relative;
  background:linear-gradient(90deg,rgba(12,1,23,.95),rgba(29,4,43,.72),rgba(5,8,29,.92));
  border-block-color:rgba(53,239,255,.22);
  box-shadow:0 0 35px rgba(255,60,172,.08) inset;
}
.proof-rail strong{color:var(--nma-cyan);text-shadow:0 0 12px rgba(53,239,255,.55)}

.nma-wayfinder article,.sensory-grid article,.coming-grid article,.object-card,.start-grid a,
.collection-detail,.nma-route-card,.nma-explorer-card,.nma-mini-memory,.nma-video-card,
.nma-expansion-memory,.nma-expansion-collection,.nma-game-memory,.nma-game-collection,
.story-index-card,.home-curator-card,.memory-card,.route-grid>a{
  position:relative;
  background:
    linear-gradient(145deg,rgba(21,5,40,.92),rgba(6,2,16,.96)),
    var(--nma-glass-strong);
  border-color:rgba(133,92,255,.26);
  box-shadow:0 24px 70px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05);
}
.nma-wayfinder article::before,.sensory-grid article::before,.collection-detail::before,
.nma-route-card::after,.nma-explorer-card::after,.nma-expansion-memory::after,
.nma-expansion-collection::after,.story-index-card::after,.home-curator-card::after,
.memory-card::after,.route-grid>a::after{
  content:"";
  position:absolute;
  pointer-events:none;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(125deg,rgba(255,60,172,.56),transparent 28%,transparent 65%,rgba(53,239,255,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.38;
  transition:opacity .3s ease,filter .3s ease;
}
.nma-route-card:hover::after,.nma-explorer-card:hover::after,.nma-expansion-memory:hover::after,
.nma-expansion-collection:hover::after,.story-index-card:hover::after,.home-curator-card:hover::after,
.memory-card:hover::after,.route-grid>a:hover::after{
  opacity:1;
  filter:drop-shadow(0 0 10px rgba(255,60,172,.5));
}
.nma-route-card:hover,.nma-explorer-card:hover,.nma-expansion-memory:hover,.story-index-card:hover,
.home-curator-card:hover,.memory-card:hover,.route-grid>a:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 85px rgba(0,0,0,.5),0 0 34px rgba(255,60,172,.13),0 0 50px rgba(53,239,255,.07);
}

.memory-card img,.story-index-card img,.home-curator-card img,.nma-expansion-memory img,
.nma-route-card img,.nma-explorer-card img,.museum-gallery img{
  filter:saturate(1.06) contrast(1.035);
  transition:filter .35s ease,transform .5s ease;
}
.memory-card:hover img,.story-index-card:hover img,.home-curator-card:hover img,
.nma-expansion-memory:hover img,.nma-route-card:hover img,.nma-explorer-card:hover img{
  filter:saturate(1.18) contrast(1.06) brightness(1.04);
  transform:scale(1.018);
}

.nma-expansion-002-surface,.nma-expansion-003-surface,.nma-experience-section,
.museum-wing,.evidence-wall,.quick-routes,.field-notes{
  position:relative;
  isolation:isolate;
}
.nma-expansion-002-surface::before,.nma-expansion-003-surface::before,
.museum-wing::before,.nma-experience-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 16%,rgba(255,60,172,.08),transparent 26rem),
    radial-gradient(circle at 94% 82%,rgba(53,239,255,.06),transparent 28rem);
}
.nma-expansion-003-surface{border-block:1px solid rgba(53,239,255,.12)}
.nma-expansion-heading>a,.section-heading>a,.text-link,.wing-story{color:var(--nma-cyan);text-shadow:0 0 12px rgba(53,239,255,.25)}

.timeline-list:before{
  width:2px;
  background:linear-gradient(var(--nma-pink),var(--nma-violet),var(--nma-cyan));
  box-shadow:0 0 16px rgba(255,60,172,.4);
}
.timeline-list article:after{
  background:var(--nma-cyan);
  box-shadow:0 0 8px var(--nma-cyan),0 0 24px rgba(255,60,172,.75);
}
.timeline-list time{color:var(--nma-cyan);text-shadow:0 0 12px rgba(53,239,255,.34)}

.memory-opening{
  border-left-color:var(--nma-cyan);
  background:linear-gradient(90deg,rgba(53,239,255,.07),transparent 76%);
  padding:1.35rem 1.4rem 1.35rem 2rem;
  border-radius:0 18px 18px 0;
}
.memory-section{
  position:relative;
  padding-bottom:1.25rem;
}
.memory-section::after{
  content:"";
  display:block;
  width:90px;height:1px;margin-top:2.2rem;
  background:linear-gradient(90deg,var(--nma-pink),var(--nma-cyan),transparent);
}
.visual-record,.memory-object-panel,.nma-expansion-references,.nma-game-references{
  background:linear-gradient(145deg,rgba(26,7,43,.9),rgba(6,2,16,.96));
  border-color:rgba(53,239,255,.23);
  box-shadow:var(--nma-neon-shadow);
}

.nma-footer{
  position:relative;
  background:linear-gradient(180deg,rgba(7,1,16,.95),#020006);
  border-top-color:rgba(53,239,255,.18);
}
.nma-footer::before{
  content:"";
  position:absolute;left:0;right:0;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--nma-pink),var(--nma-cyan),transparent);
  opacity:.62;
}

.nma-signal-dock{
  position:fixed;
  z-index:80;
  right:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:.62rem;
  padding:.65rem .8rem;
  border:1px solid rgba(53,239,255,.34);
  border-radius:999px;
  background:rgba(6,1,17,.84);
  backdrop-filter:blur(18px);
  box-shadow:0 0 24px rgba(53,239,255,.11),0 0 38px rgba(255,60,172,.12);
  color:#f7ecff;
  font:600 .72rem/1 'IBM Plex Mono',monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nma-signal-dock::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:var(--nma-cyan);
  box-shadow:0 0 10px var(--nma-cyan),0 0 20px var(--nma-pink);
}
.nma-signal-dock:hover{border-color:rgba(255,60,172,.8);transform:translateY(-2px)}

.nma-after-dark{
  max-width:var(--max);
  margin:0 auto;
  padding:7rem 24px;
}
.nma-after-dark-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(53,239,255,.28);
  border-radius:32px;
  padding:clamp(1.5rem,4vw,3.5rem);
  background:
    radial-gradient(circle at 82% 16%,rgba(53,239,255,.16),transparent 28%),
    radial-gradient(circle at 14% 88%,rgba(255,60,172,.17),transparent 30%),
    linear-gradient(145deg,rgba(24,4,43,.95),rgba(5,1,15,.98));
  box-shadow:0 32px 100px rgba(0,0,0,.48),0 0 40px rgba(255,60,172,.1);
}
.nma-after-dark-shell::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;opacity:.1;
  background:repeating-linear-gradient(to bottom,transparent 0 4px,rgba(255,255,255,.11) 5px);
}
.nma-after-dark-heading{position:relative;max-width:780px;margin-bottom:2.4rem}
.nma-after-dark-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.nma-after-dark-card{
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:rgba(4,1,12,.82);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.nma-after-dark-card:hover{transform:translateY(-5px);border-color:rgba(53,239,255,.55);box-shadow:0 18px 55px rgba(0,0,0,.45),0 0 25px rgba(255,60,172,.14)}
.nma-after-dark-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.nma-after-dark-card div{padding:1.15rem}
.nma-after-dark-card span{font:500 .62rem/1.3 'IBM Plex Mono',monospace;letter-spacing:.14em;color:var(--nma-cyan)}
.nma-after-dark-card h3{font-size:1.1rem;margin:.55rem 0 .5rem;letter-spacing:-.025em}
.nma-after-dark-card p{font-size:.85rem;color:#cdbfd4;margin:0}

.nma-synthwave-ready .is-neon-reveal{
  opacity:0;
  transform:translateY(22px);
}
.nma-synthwave-ready .is-neon-reveal.is-neon-visible{
  opacity:1;
  transform:none;
  transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);
}

@media(max-width:1050px){
  .nma-after-dark-grid{grid-template-columns:repeat(2,1fr)}
  .nma-nav{gap:.8rem;font-size:.78rem}
}
@media(max-width:760px){
  body::after{opacity:.09;background-size:42px 32px}
  .nma-header{min-height:76px}
  .home-hero-overlay{padding-bottom:4.5rem}
  .nma-after-dark{padding:4.5rem 18px}
  .nma-after-dark-grid{grid-template-columns:1fr}
  .nma-signal-dock{right:12px;bottom:12px;font-size:.63rem;padding:.58rem .72rem}
  .section-heading h2::after,.nma-expansion-heading h2::after,.nma-wayfinder h2::after{width:120px}
}

@media(prefers-reduced-motion:no-preference){
  .nma-header::after,.nma-footer::before{animation:nma-neon-drift 8s linear infinite}
  .nma-signal-dock::before{animation:nma-signal-pulse 2.4s ease-in-out infinite}
  body::after{animation:nma-grid-breathe 10s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .is-neon-reveal{opacity:1!important;transform:none!important}
}
@keyframes nma-neon-drift{0%,100%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(22deg)}}
@keyframes nma-signal-pulse{0%,100%{opacity:.68;transform:scale(.82)}50%{opacity:1;transform:scale(1.15)}}
@keyframes nma-grid-breathe{0%,100%{opacity:.12}50%{opacity:.19}}
