/* ============================================================
   NADAHO — DESTINATIONS
   Deep black × neon cyan / magenta / amber
   Fonts: Tahoe Display (title) · Montserrat (body)
   ============================================================ */

/* ── Tahoe Display font-face ── */
@font-face {
   font-family: 'TahoeDisplay';
   src: url('../font/Web Fonts/Tahoe-Display.woff2') format('woff2'),
        url('../font/Web Fonts/Tahoe-Display.woff')  format('woff'),
        url('../font/Web Fonts/Tahoe-Display.eot')   format('embedded-opentype'),
        url('../font/Web Fonts/Tahoe-Display.svg#TahoeDisplay') format('svg');
   font-weight: normal;
   font-style:  normal;
   font-display: swap;
}

/* ── Custom properties ── */
:root {
   --nd-black:       #030508;
   --nd-deep:        #050b12;
   --nd-navy:        #080f1a;
   --nd-panel:       #0a1420;
   --nd-border:      rgba(0, 212, 255, 0.12);

   --nd-cyan:        #00d4ff;
   --nd-cyan-dim:    #0099c0;
   --nd-magenta:     #ff2d9b;
   --nd-magenta-dim: #cc1a78;
   --nd-amber:       #ffaa00;
   --nd-amber-dim:   #cc8800;

   --nd-text:        #a8c8d8;
   --nd-text-dim:    rgba(168, 200, 216, 0.5);

   --nd-glow-cyan:    0 0 10px #00d4ff, 0 0 30px rgba(0,212,255,0.4), 0 0 60px rgba(0,212,255,0.15);
   --nd-glow-magenta: 0 0 10px #ff2d9b, 0 0 30px rgba(255,45,155,0.4), 0 0 60px rgba(255,45,155,0.15);
   --nd-glow-amber:   0 0 8px #ffaa00,  0 0 24px rgba(255,170,0,0.45);
}

/* ── Global ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
   background: var(--nd-black);
   font-family: 'Montserrat', 'Helvetica Neue', sans-serif;
   color: var(--nd-text);
   font-size: 15px;
   line-height: 1.8;
   letter-spacing: 0.03em;
   -webkit-font-smoothing: antialiased;
}

/* ── Scrollbar ── */
::-webkit-scrollbar             { width: 5px; }
::-webkit-scrollbar-track       { background: var(--nd-deep); }
::-webkit-scrollbar-thumb       { background: var(--nd-cyan-dim); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--nd-cyan); }

/* ── Selection ── */
::selection { background: var(--nd-cyan); color: var(--nd-black); }

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 {
   font-family: 'Montserrat', sans-serif;
   font-weight: 700;
   color: var(--nd-cyan);
   letter-spacing: 0.08em;
}

a { color: var(--nd-text); text-decoration: none; transition: all 0.3s ease; }
a:hover { color: var(--nd-cyan); }

/* ── Loader ── */
.loader {
   background: var(--nd-black) !important;
   z-index: 10000;
}
.loader .spinner {
   stroke: var(--nd-cyan) !important;
   fill: var(--nd-black) !important;
}

/* ══════════════════════════════════════
   INTRO OVERLAY — DESTINATIONS · Play music?
══════════════════════════════════════ */
#nd-intro-overlay {
   position: fixed;
   inset: 0;
   background: radial-gradient(ellipse at center, #040d1a 0%, #030508 100%);
   z-index: 10001;
   display: none;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   overflow: hidden;
}
#nd-intro-overlay.active { display: flex; }

/* Ambient grid lines behind overlay */
#nd-intro-overlay::before {
   content: '';
   position: absolute;
   inset: 0;
   background-image:
      linear-gradient(rgba(0,212,255,0.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(0,212,255,0.04) 1px, transparent 1px);
   background-size: 60px 60px;
   animation: gridDrift 20s linear infinite;
   pointer-events: none;
}
@keyframes gridDrift {
   0%   { transform: translateY(0); }
   100% { transform: translateY(60px); }
}

/* Glowing orbs */
#nd-intro-overlay::after {
   content: '';
   position: absolute;
   inset: -20%;
   background:
      radial-gradient(ellipse 55% 40% at 25% 65%, rgba(0,212,255,0.07) 0%, transparent 70%),
      radial-gradient(ellipse 45% 35% at 78% 30%, rgba(255,45,155,0.07) 0%, transparent 70%),
      radial-gradient(ellipse 35% 30% at 55% 80%, rgba(255,170,0,0.04) 0%, transparent 70%);
   animation: ambientDrift 16s ease-in-out infinite alternate;
   pointer-events: none;
}
@keyframes ambientDrift {
   0%   { transform: translateX(-2%) translateY(-1%) scale(1); }
   100% { transform: translateX(2%)  translateY(1%)  scale(1.04); }
}

.intro-title {
   font-family: 'TahoeDisplay', 'Montserrat', sans-serif;
   font-size: clamp(3rem, 11vw, 8rem);
   color: #ffffff;
   text-shadow:
      0 0 8px rgba(255,255,255,0.6),
      0 0 20px var(--nd-cyan),
      0 0 50px rgba(0,212,255,0.35),
      0 0 90px rgba(0,212,255,0.15);
   letter-spacing: 0.12em;
   text-align: center;
   position: relative;
   z-index: 2;
   animation: ndTitlePulse 5s ease-in-out infinite;
}
@keyframes ndTitlePulse {
   0%, 100% {
      text-shadow:
         0 0 8px rgba(255,255,255,0.6),
         0 0 20px var(--nd-cyan),
         0 0 50px rgba(0,212,255,0.35),
         0 0 90px rgba(0,212,255,0.15);
   }
   50% {
      text-shadow:
         0 0 12px rgba(255,255,255,0.8),
         0 0 30px var(--nd-cyan),
         0 0 70px rgba(0,212,255,0.5),
         0 0 120px rgba(0,212,255,0.25);
   }
}

.intro-sub {
   font-size: clamp(0.65rem, 2vw, 0.82rem);
   letter-spacing: 0.38em;
   text-transform: uppercase;
   color: var(--nd-cyan);
   margin: 0.9rem 0 3rem;
   text-shadow: var(--nd-glow-cyan);
   position: relative;
   z-index: 2;
}

.intro-btns {
   display: flex;
   gap: 1.5rem;
   position: relative;
   z-index: 2;
}
.intro-btn {
   padding: 0.85rem 2.8rem;
   font-family: 'Montserrat', sans-serif;
   font-size: 0.76rem;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   background: transparent;
   cursor: pointer;
   transition: all 0.35s ease;
   border-radius: 1px;
}
.intro-btn.yes {
   border: 1px solid var(--nd-cyan);
   color: var(--nd-cyan);
   box-shadow: 0 0 12px rgba(0,212,255,0.2), inset 0 0 12px rgba(0,212,255,0.04);
}
.intro-btn.yes:hover {
   background: var(--nd-cyan);
   color: var(--nd-black);
   box-shadow: var(--nd-glow-cyan);
}
.intro-btn.no {
   border: 1px solid rgba(168,200,216,0.25);
   color: var(--nd-text-dim);
}
.intro-btn.no:hover {
   border-color: var(--nd-magenta);
   color: var(--nd-magenta);
   box-shadow: 0 0 12px rgba(255,45,155,0.25);
}

/* ── Intro corner neon line decorations ── */
.intro-corner {
   position: absolute;
   width: 120px;
   height: 120px;
   pointer-events: none;
   z-index: 1;
   opacity: 0.55;
}
.intro-corner.tl { top: 2rem; left: 2rem; }
.intro-corner.tr { top: 2rem; right: 2rem; transform: scaleX(-1); }
.intro-corner.bl { bottom: 2rem; left: 2rem; transform: scaleY(-1); }
.intro-corner.br { bottom: 2rem; right: 2rem; transform: scale(-1); }
.intro-corner svg { width: 100%; height: 100%; }

/* ══════════════════════════════════════
   MAIN WRAPPER
══════════════════════════════════════ */
.nd-theme { background: var(--nd-black); }
#main-content { display: none; }

/* ══════════════════════════════════════
   NAVIGATION
══════════════════════════════════════ */
.header.default {
   background: transparent !important;
   border-bottom: none;
   padding: 1.25rem 2rem;
}
.header.switched-header {
   background: rgba(3, 5, 8, 0.92) !important;
   backdrop-filter: blur(14px);
   border-bottom: 1px solid var(--nd-border) !important;
   padding: 0.9rem 2rem;
}
.header.default .logo h2,
.header.switched-header .logo h2 {
   font-family: 'TahoeDisplay', 'Montserrat', sans-serif !important;
   font-size: clamp(0.95rem, 2.3vw, 1.3rem) !important;
   color: #fff !important;
   text-shadow: 0 0 8px rgba(255,255,255,0.5), 0 0 20px var(--nd-cyan), 0 0 40px rgba(0,212,255,0.25) !important;
   letter-spacing: 0.12em;
   transition: text-shadow 0.3s;
}
.header.default .logo h2:hover,
.header.switched-header .logo h2:hover {
   text-shadow: 0 0 12px rgba(255,255,255,0.8), 0 0 30px var(--nd-cyan), 0 0 60px rgba(0,212,255,0.4) !important;
}
.header.default .main-menu li a,
.header.switched-header .main-menu li a {
   font-size: 0.7rem !important;
   letter-spacing: 0.16em !important;
   text-transform: uppercase !important;
   color: var(--nd-text) !important;
   font-weight: 500;
   transition: all 0.3s ease;
}
.header.default .main-menu li a:hover,
.header.switched-header .main-menu li a:hover {
   color: var(--nd-cyan) !important;
   text-shadow: 0 0 8px rgba(0,212,255,0.6) !important;
}
.mobile-but .lines,
.mobile-but .lines:before,
.mobile-but .lines:after { background: var(--nd-cyan) !important; }

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.hero .hero-slide {
   min-height: 100vh;
   display: flex;
   align-items: flex-end;
   justify-content: center;
   padding: 6rem 1rem 18vh;
   position: relative;
   overflow: hidden;
}
.hero .background-img {
   position: absolute;
   inset: 0;
   z-index: 0;
}
.hero .background-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center 20%;
   filter: brightness(0.48) saturate(1.4);
   margin: 0;
}
/* Dark + neon gradient overlay */
.hero .hero-slide::before {
   content: '';
   position: absolute;
   inset: 0;
   background:
      linear-gradient(to bottom, rgba(3,5,8,0.25) 0%, transparent 35%, rgba(3,5,8,0.75) 100%),
      radial-gradient(ellipse 65% 55% at 50% 85%, rgba(0,212,255,0.05) 0%, transparent 70%);
   z-index: 1;
   pointer-events: none;
}
/* Subtle animated neon map-grid behind hero */
.hero .hero-slide::after {
   content: '';
   position: absolute;
   inset: 0;
   background-image:
      linear-gradient(rgba(0,212,255,0.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(0,212,255,0.025) 1px, transparent 1px);
   background-size: 80px 80px;
   z-index: 2;
   pointer-events: none;
   animation: heroGridDrift 25s linear infinite;
}
@keyframes heroGridDrift {
   0%   { transform: translateY(0) translateX(0); }
   100% { transform: translateY(80px) translateX(40px); }
}

.hero-content { position: relative; z-index: 10; text-align: center; }

.hero-title-nd {
   font-family: 'TahoeDisplay', 'Montserrat', sans-serif;
   font-size: clamp(3.5rem, 12vw, 10rem);
   color: #ffffff;
   text-shadow:
      0 0 6px rgba(255,255,255,0.7),
      0 0 18px var(--nd-cyan),
      0 0 45px rgba(0,212,255,0.4),
      0 0 90px rgba(0,212,255,0.15);
   line-height: 1;
   letter-spacing: 0.12em;
   animation: ndHeroPulse 6s ease-in-out infinite;
}
@keyframes ndHeroPulse {
   0%, 100% {
      text-shadow:
         0 0 6px rgba(255,255,255,0.7),
         0 0 18px var(--nd-cyan),
         0 0 45px rgba(0,212,255,0.4),
         0 0 90px rgba(0,212,255,0.15);
   }
   50% {
      text-shadow:
         0 0 10px rgba(255,255,255,0.9),
         0 0 28px var(--nd-cyan),
         0 0 65px rgba(0,212,255,0.55),
         0 0 120px rgba(0,212,255,0.22);
   }
}

.hero-album-sub {
   font-family: 'Montserrat', sans-serif;
   font-size: clamp(1.1rem, 3.5vw, 2.2rem);
   font-weight: 300;
   letter-spacing: 0.55em;
   text-transform: uppercase;
   color: #ffffff;
   text-shadow:
      0 0 6px rgba(255,255,255,0.9),
      0 0 18px var(--nd-cyan),
      0 0 40px rgba(0,212,255,0.55),
      0 0 80px rgba(0,212,255,0.22);
   margin-top: 1rem;
   animation: ndSubPulse 5s ease-in-out infinite;
}
@keyframes ndSubPulse {
   0%, 100% {
      text-shadow:
         0 0 6px rgba(255,255,255,0.8),
         0 0 18px var(--nd-cyan),
         0 0 40px rgba(0,212,255,0.5),
         0 0 80px rgba(0,212,255,0.2);
      letter-spacing: 0.55em;
   }
   50% {
      text-shadow:
         0 0 10px rgba(255,255,255,1),
         0 0 28px var(--nd-cyan),
         0 0 60px rgba(0,212,255,0.7),
         0 0 110px rgba(0,212,255,0.3);
      letter-spacing: 0.6em;
   }
}

.hero-scroll-cta {
   margin-top: 3rem;
   display: inline-block;
   font-size: 0.66rem;
   letter-spacing: 0.28em;
   text-transform: uppercase;
   color: var(--nd-text-dim);
   border: 1px solid rgba(0,212,255,0.2);
   padding: 0.55rem 1.6rem;
   border-radius: 1px;
   transition: all 0.35s;
}
.hero-scroll-cta:hover {
   color: var(--nd-cyan);
   border-color: var(--nd-cyan);
   box-shadow: var(--nd-glow-cyan);
   text-shadow: 0 0 8px rgba(0,212,255,0.5);
}

/* ── Neon corner line decorations on hero ── */
.hero-corner-deco {
   position: absolute;
   width: clamp(80px, 12vw, 180px);
   height: clamp(80px, 12vw, 180px);
   pointer-events: none;
   z-index: 6;
   opacity: 0.5;
}
.hero-corner-deco.bottom-left  { bottom: 1.5rem; left: 1.5rem; }
.hero-corner-deco.bottom-right { bottom: 1.5rem; right: 1.5rem; transform: scaleX(-1); }
.hero-corner-deco svg { width: 100%; height: 100%; }
.hero-corner-deco .corner-line {
   stroke-dasharray: 300;
   stroke-dashoffset: 300;
   animation: cornerDraw 2s cubic-bezier(0.22,1,0.36,1) 0.8s forwards;
}
@keyframes cornerDraw {
   to { stroke-dashoffset: 0; }
}
.hero-corner-deco .corner-pulse {
   animation: cornerGlow 4s ease-in-out infinite;
}
@keyframes cornerGlow {
   0%, 100% { opacity: 0.5; }
   50%       { opacity: 1; filter: drop-shadow(0 0 6px var(--nd-cyan)); }
}

/* ══════════════════════════════════════
   SECTION COMMON
══════════════════════════════════════ */
.section-title {
   font-family: 'Montserrat', sans-serif !important;
   font-weight: 700 !important;
   color: var(--nd-cyan) !important;
   letter-spacing: 0.1em !important;
   text-shadow: 0 0 18px rgba(0,212,255,0.3) !important;
}
.text-accent { color: var(--nd-cyan-dim) !important; }
.section-eyebrow {
   font-size: 0.63rem;
   letter-spacing: 0.32em;
   text-transform: uppercase;
   color: var(--nd-magenta);
   text-shadow: 0 0 8px rgba(255,45,155,0.45);
   display: block;
   margin-bottom: 0.5rem;
}

/* ══════════════════════════════════════
   BUTTONS
══════════════════════════════════════ */
.btn-primary,
.stream-btn {
   background: transparent !important;
   border: 1px solid var(--nd-cyan) !important;
   color: var(--nd-cyan) !important;
   box-shadow: 0 0 10px rgba(0,212,255,0.2) !important;
   font-family: 'Montserrat', sans-serif !important;
   font-size: 0.7rem !important;
   font-weight: 600 !important;
   letter-spacing: 0.16em !important;
   text-transform: uppercase;
   transition: all 0.35s ease !important;
   border-radius: 1px !important;
}
.btn-primary:hover,
.stream-btn:hover {
   background: var(--nd-cyan) !important;
   color: var(--nd-black) !important;
   box-shadow: var(--nd-glow-cyan) !important;
}

/* ══════════════════════════════════════
   DISCOGRAPHY
══════════════════════════════════════ */
.discography { background: var(--nd-deep) !important; }

.block-album.block-album-card {
   background: var(--nd-panel);
   border: 1px solid var(--nd-border);
   border-radius: 2px;
   overflow: hidden;
   transition: all 0.4s ease;
   position: relative;
}
.block-album.block-album-card::after {
   content: '';
   position: absolute;
   inset: 0;
   border: 1px solid transparent;
   border-radius: 2px;
   transition: border-color 0.4s, box-shadow 0.4s;
   pointer-events: none;
}
.block-album.block-album-card:hover {
   transform: translateY(-6px);
   background: rgba(0,212,255,0.03);
}
.block-album.block-album-card:hover::after {
   border-color: var(--nd-cyan);
   box-shadow: var(--nd-glow-cyan);
}
.block-album img {
   border: none !important;
   box-shadow: none !important;
   transition: filter 0.4s ease, transform 0.4s ease;
   width: 100%;
   margin: 0;
}
.block-album:hover img {
   filter: brightness(1.1) saturate(1.3);
   transform: scale(1.03);
}

/* Featured / latest release glows harder */
.block-album.featured-release {
   border-color: rgba(0,212,255,0.3) !important;
   box-shadow: 0 0 20px rgba(0,212,255,0.1);
}
.block-album.featured-release img {
   filter: brightness(1.05) saturate(1.4);
}
.block-album.featured-release:hover {
   box-shadow: var(--nd-glow-cyan);
}

.album-meta {
   padding: 0.75rem 1rem 1rem;
   font-size: 0.7rem;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: var(--nd-text-dim);
}
.block-album h5,
.block-album .link {
   color: var(--nd-cyan) !important;
   font-family: 'Montserrat', sans-serif;
   font-weight: 600;
   font-size: 0.85rem;
   letter-spacing: 0.1em;
}
.album-link { display: block; overflow: hidden; }

/* ══════════════════════════════════════
   BLOG / NEWS
══════════════════════════════════════ */
.news.main { background: var(--nd-navy) !important; }
.news .section-title { color: var(--nd-cyan) !important; }
.news h2 { color: var(--nd-cyan) !important; }
.news span,
.news p  { color: var(--nd-text) !important; }
.news a  { color: var(--nd-cyan-dim) !important; }
.news a:hover { color: var(--nd-cyan) !important; text-shadow: 0 0 8px rgba(0,212,255,0.5) !important; }
.news-list li { border-bottom: 1px solid var(--nd-border); padding-bottom: 3rem; }
.news-list li:last-child { border-bottom: none; }

/* ══════════════════════════════════════
   CONTACT / SOCIAL
══════════════════════════════════════ */
.contact.main { background: var(--nd-deep) !important; }
.contact .section-title { color: var(--nd-cyan) !important; }
.lyrics-page .nd-lyrics-connect {
   margin-top: 0.5rem;
   padding-top: 2rem !important;
   padding-bottom: 2rem !important;
}

/* Connect row: flex grid (fixes “domino” stagger from list-inline + huge main.css li margins) */
#contact .block-social.list-inline {
   display: flex !important;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   align-content: center;
   gap: 0.65rem 1.1rem;
   margin: 0 auto !important;
   padding: 0.35rem 0.5rem 0 !important;
}
#contact .block-social.list-inline > li {
   margin: 0 !important;
   padding: 0 !important;
   display: flex !important;
   align-items: center;
   justify-content: center;
   float: none !important;
}
#contact .block-social.list-inline .list-inline-item:not(:last-child) {
   margin-right: 0 !important;
}

/* main.css .contact .block-social li a { font-size:5em; opacity:.5 } — #contact beats it */
#contact .block-social li a {
   color: transparent !important;
   border: none !important;
   padding: 0.45rem !important;
   font-size: 0 !important;
   letter-spacing: 0;
   line-height: 0;
   opacity: 1 !important;
   transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), filter 0.25s ease !important;
   border-radius: 6px;
   display: inline-flex !important;
   align-items: center;
   justify-content: center;
   gap: 0;
   margin: 0 !important;
   vertical-align: middle;
   background: transparent !important;
   box-shadow: none !important;
   cursor: pointer;
   min-width: 2.85rem;
   min-height: 2.85rem;
}
#contact .block-social li a:focus-visible {
   outline: 2px solid rgba(0, 212, 255, 0.65);
   outline-offset: 2px;
}
#contact .block-social li a:hover {
   opacity: 1 !important;
   transform: scale(1.08);
   background: rgba(0, 212, 255, 0.07) !important;
   box-shadow: none !important;
}
#contact .block-social li a.stream-spotify:hover {
   background: rgba(255, 170, 0, 0.08) !important;
   box-shadow: none !important;
}
#contact .block-social li a.stream-apple:hover {
   background: rgba(255, 45, 155, 0.08) !important;
   box-shadow: none !important;
}
#contact .block-social li a.nd-social-pink:hover {
   background: rgba(255, 45, 155, 0.08) !important;
   box-shadow: none !important;
}
#contact .block-social .nd-social-text {
   display: none !important;
}

/* No boxes — wrap is only for layout; glow is on the SVG (like .header .logo h2) */
#contact .block-social .nd-social-icon-wrap {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: auto;
   height: auto;
   min-width: 0;
   min-height: 0;
   flex-shrink: 0;
   border: none !important;
   background: transparent !important;
   box-shadow: none !important;
   border-radius: 0;
   padding: 0;
   transition: none;
}
#contact .block-social .nd-social-icon {
   width: 1.85rem;
   height: 1.85rem;
   object-fit: contain;
   display: block;
   pointer-events: none;
   filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.55))
      drop-shadow(0 0 14px rgba(0, 212, 255, 0.48))
      drop-shadow(0 0 28px rgba(0, 212, 255, 0.22));
   transition: filter 0.25s ease, transform 0.25s ease;
}
#contact .block-social .nd-social-icon--wide {
   width: auto;
   max-width: 4rem;
   max-height: 1.45rem;
}
#contact .block-social .nd-social-icon-wrap--wide {
   width: auto;
   padding: 0;
}
#contact .block-social li a:hover .nd-social-icon {
   filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.85))
      drop-shadow(0 0 20px rgba(0, 212, 255, 0.55))
      drop-shadow(0 0 40px rgba(0, 212, 255, 0.28));
}
#contact .block-social li a.nd-social-pink:hover .nd-social-icon {
   filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.75))
      drop-shadow(0 0 18px rgba(255, 45, 155, 0.65));
}
#contact .block-social li a.stream-spotify:hover .nd-social-icon {
   filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.75))
      drop-shadow(0 0 18px rgba(255, 170, 0, 0.65));
}
#contact .block-social li a.stream-apple:hover .nd-social-icon {
   filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.75))
      drop-shadow(0 0 18px rgba(255, 45, 155, 0.6));
}
/* ══════════════════════════════════════
   NEWS / BLOG (news.html)
══════════════════════════════════════ */
.nd-news-page .nd-news-intro {
   font-size: 0.88rem;
   line-height: 1.75;
   color: rgba(168, 200, 216, 0.88);
   max-width: 40rem;
   margin-bottom: 2.5rem;
}
.nd-news-feed {
   max-width: 820px;
   margin: 0 auto;
}
.nd-news-post {
   padding: 2.75rem 0;
   border-bottom: 1px solid rgba(0, 212, 255, 0.12);
}
.nd-news-post:first-of-type {
   padding-top: 0;
}
.nd-news-post:last-of-type {
   border-bottom: none;
}
.nd-news-meta {
   font-size: 0.63rem;
   letter-spacing: 0.28em;
   text-transform: uppercase;
   color: #ff2d9b;
   text-shadow: 0 0 8px rgba(255, 45, 155, 0.45);
   margin-bottom: 0.5rem;
}
.nd-news-meta time {
   color: inherit;
}
.nd-news-title {
   font-family: 'Montserrat', sans-serif;
   font-size: clamp(1.35rem, 3.2vw, 1.95rem);
   font-weight: 700;
   color: #00d4ff;
   letter-spacing: 0.06em;
   line-height: 1.2;
   margin: 0 0 1.25rem;
   text-shadow: 0 0 18px rgba(0, 212, 255, 0.22);
}
.nd-news-body {
   font-size: 0.9rem;
   line-height: 1.85;
   color: #a8c8d8;
}
.nd-news-body p {
   margin-bottom: 1rem;
}
.nd-news-body p:last-child {
   margin-bottom: 0;
}
.nd-news-body a {
   color: #00d4ff;
   font-size: 0.78rem;
   letter-spacing: 0.1em;
}
.nd-news-thumb-link {
   display: block;
   border: 1px solid rgba(0, 212, 255, 0.2);
   box-shadow: 0 0 28px rgba(0, 212, 255, 0.1);
   overflow: hidden;
   transition: box-shadow 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}
.nd-news-thumb-link:hover {
   border-color: rgba(0, 212, 255, 0.45);
   box-shadow: 0 0 32px rgba(0, 212, 255, 0.25);
   transform: translateY(-2px);
}
.nd-news-thumb {
   width: 100%;
   max-height: 320px;
   object-fit: cover;
   display: block;
}

/* Homepage news teaser button */
a.nd-news-teaser-btn:hover {
   border-color: #00d4ff !important;
   box-shadow: 0 0 22px rgba(0, 212, 255, 0.35);
   color: #ffffff !important;
}

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
.footer {
   background: var(--nd-black) !important;
   border-top: 1px solid var(--nd-border) !important;
}
.footer small,
.footer a     { color: var(--nd-text-dim) !important; font-size: 0.68rem; letter-spacing: 0.06em; }
.footer a:hover { color: var(--nd-cyan) !important; }

/* Back-to-top */
.block-top {
   background: var(--nd-navy) !important;
   border: 1px solid var(--nd-border) !important;
   color: var(--nd-cyan) !important;
}
.block-top:hover {
   background: var(--nd-cyan) !important;
   color: var(--nd-black) !important;
   box-shadow: var(--nd-glow-cyan) !important;
}

/* ══════════════════════════════════════
   FLOATING NEON PARTICLE SYSTEM
══════════════════════════════════════ */
.spore-canvas {
   position: absolute;
   inset: 0;
   pointer-events: none;
   z-index: 2;
   overflow: hidden;
}
.spore {
   position: absolute;
   border-radius: 50%;
   animation: ndSporeFloat linear infinite;
   opacity: 0;
}
@keyframes ndSporeFloat {
   0%   { transform: translateY(0)     scale(0);   opacity: 0; }
   8%   { opacity: 0.8; transform: translateY(-6vh)  scale(1); }
   90%  { opacity: 0.25; }
   100% { transform: translateY(-85vh) scale(0.3); opacity: 0; }
}

/* ══════════════════════════════════════
   NEON MAP-GRID LINE DECORATIONS (side accents)
══════════════════════════════════════ */
.nd-grid-line {
   position: fixed;
   pointer-events: none;
   z-index: 4;
   opacity: 0;
   animation: gridLineAppear 2s ease forwards;
}
@keyframes gridLineAppear {
   to { opacity: 1; }
}

/* ══════════════════════════════════════
   SECTION DIVIDERS
══════════════════════════════════════ */
.neon-rule {
   border: none;
   height: 1px;
   background: linear-gradient(to right, transparent, var(--nd-cyan), transparent);
   box-shadow: 0 0 8px rgba(0,212,255,0.35);
   margin: 0;
}
.bg-secondary { border-top: 1px solid rgba(0,212,255,0.08) !important; }

/* ══════════════════════════════════════
   NAV LINK UNDERLINE GLOW
══════════════════════════════════════ */
.main-menu li a,
.nav-links li a {
   position: relative;
}
.main-menu li a::after,
.nav-links li a::after {
   content: '';
   position: absolute;
   left: 0; bottom: -2px;
   width: 0; height: 1px;
   background: var(--nd-cyan);
   box-shadow: 0 0 6px var(--nd-cyan);
   transition: width 0.3s ease;
}
.main-menu li a:hover::after,
.nav-links li a:hover::after { width: 100%; }

/* Generic hover glow */
a:not(.btn):not(.cta-btn):not(.intro-btn):not(.block-top) {
   transition: color 0.3s, text-shadow 0.3s;
}
a:not(.btn):not(.cta-btn):not(.intro-btn):not(.block-top):hover {
   color: var(--nd-cyan);
   text-shadow: 0 0 8px rgba(0,212,255,0.45);
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 768px) {
   .hero-title-nd {
      font-size: clamp(2.8rem, 13vw, 6rem);
      letter-spacing: 0.08em;
   }
   .hero-album-sub {
      font-size: clamp(0.75rem, 4vw, 1.4rem);
      letter-spacing: 0.3em;
   }
   .hero .hero-slide {
      padding: 4rem 1rem 14vh;
   }
   .intro-btns { flex-direction: column; gap: 1rem; }
   .intro-btn  { width: 200px; text-align: center; }
   .intro-corner { width: 70px; height: 70px; }
}
@media (max-width: 480px) {
   .hero-title-nd {
      font-size: clamp(2.4rem, 11vw, 5rem);
      letter-spacing: 0.05em;
   }
   .hero-album-sub {
      font-size: clamp(0.65rem, 3.5vw, 1.1rem);
      letter-spacing: 0.22em;
   }
   .intro-corner { display: none; }
}
