:root {
  --ink: #070a18;
  --ink-soft: #0d1023;
  --ink-panel: rgba(15, 18, 40, 0.72);
  --paper: #f8f5ff;
  --muted: #aeb4c7;
  --muted-dim: #8d96b5;
  --line: rgba(176, 190, 255, 0.18);
  --cyan: #46d9ff;
  --violet: #9b5cff;
  --magenta: #ff38b9;
  --coral: #ff8a73;
  --amber: #ffbd6b;
  --max: 1240px;
  --rail: clamp(1.25rem, 5vw, 4.5rem);
  --display: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--paper);
  background:
    radial-gradient(circle at 82% 11%, rgba(160, 44, 255, 0.11), transparent 27rem),
    radial-gradient(circle at 15% 48%, rgba(0, 184, 255, 0.075), transparent 31rem),
    linear-gradient(160deg, #080a19 0%, #070a18 43%, #0a1027 100%);
  font-family: var(--display);
  font-weight: 450;
  line-height: 1.55;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 20;
  opacity: 0.17;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 100% 4px;
  mix-blend-mode: soft-light;
}
::selection { color: var(--ink); background: var(--cyan); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { max-width: 100%; display: block; }

.skip-link { position: fixed; z-index: 50; left: 1rem; top: -4rem; padding: .75rem 1rem; color: var(--ink); background: var(--cyan); font: 700 .8rem var(--mono); transition: top .2s ease; }
.skip-link:focus { top: 1rem; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; clip-path:inset(50%); }

.ambient-grid { position: fixed; inset: 0; z-index: -4; opacity: .24; pointer-events: none; background-image: linear-gradient(rgba(131, 155, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(131, 155, 255, .045) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, #000, transparent 72%); }
.ambient-orbit { position: fixed; z-index: -3; width: 52vw; aspect-ratio: 1; pointer-events: none; border: 1px solid rgba(120, 196, 255, .15); border-radius: 50%; filter: blur(.2px); }
.ambient-orbit::before, .ambient-orbit::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(255, 65, 185, .13); border-radius: inherit; }
.ambient-orbit::after { inset: 22%; border-color: rgba(70, 217, 255, .13); }
.ambient-orbit--one { right: -26vw; top: 23vh; }
.ambient-orbit--two { left: -35vw; bottom: -28vw; transform: scale(.78); }
.reading-line { position: fixed; right: 0; top: 0; width: 3px; height: 100vh; background: rgba(255,255,255,.05); z-index: 30; }
.reading-line span { display:block; width: 100%; height: 0; background: linear-gradient(var(--cyan), var(--magenta)); box-shadow: 0 0 14px var(--cyan); }

.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 15; width: min(var(--max), calc(100% - 2 * var(--rail))); margin: 0 auto; height: 104px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(199, 213, 255, .14); }
.brand { display: inline-flex; align-items: center; gap: .72rem; letter-spacing: .12em; font-size: .83rem; font-weight: 800; }
.brand img { width: 36px; height: 36px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.27), 0 0 22px rgba(75, 213, 255, .44); }
.brand i { color: var(--magenta); font-style: normal; }
.site-nav { display: flex; gap: clamp(1.4rem, 3vw, 3rem); font: 700 .68rem var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.site-nav a { position: relative; padding: .4rem 0; }
.site-nav a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--cyan); box-shadow:0 0 8px var(--cyan); transition: width .25s ease; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--paper); }
.site-nav a:hover::after, .site-nav a:focus-visible::after { width:100%; }
.menu-toggle { display: none; }

.hero { min-height: min(960px, 100svh); display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); align-items: center; gap: clamp(2rem, 6vw, 8rem); position: relative; max-width: var(--max); margin: 0 auto; padding: 9.5rem var(--rail) 6rem; }
.hero::before { content:""; position:absolute; width: 35vw; min-width: 410px; height: 1px; left: -9vw; top: 68%; background: linear-gradient(90deg, transparent, var(--magenta), transparent); transform: rotate(-15deg); box-shadow: 0 0 20px var(--magenta); opacity:.65; }
.hero__copy { position:relative; z-index:2; padding-top: 3rem; }
.eyebrow, .hero__kicker { margin: 0; font: 700 .67rem var(--mono); letter-spacing: .15em; color: var(--cyan); text-transform: uppercase; }
.eyebrow { display:flex; gap:.65rem; align-items:center; }
.eyebrow span { width: 19px; height:1px; display:block; background: var(--magenta); box-shadow:0 0 7px var(--magenta); }
.hero__kicker { margin-top: 1.75rem; color: var(--muted); letter-spacing: .17em; }
h1, h2, h3 { margin: 0; font-weight: 700; line-height: .85; letter-spacing: -.07em; }
h1 { margin: .7rem 0 1.5rem; font-size: clamp(4.5rem, 10vw, 9.3rem); }
h1 em, h2 em, h3 em { color: transparent; -webkit-text-stroke: 1px rgba(248,245,255,.84); font-style: normal; text-shadow: 0 0 30px rgba(255, 62, 186, .22); }
.hero__statement { max-width: 31rem; margin: 0; color: #d4d5e1; font-size: clamp(1rem, 1.4vw, 1.17rem); line-height: 1.7; }
.hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap: 1.15rem 1.5rem; margin-top: 2.3rem; }
.button { display:inline-flex; align-items:center; gap:.7rem; padding: .92rem 1.12rem; border: 1px solid var(--cyan); background: rgba(70,217,255,.09); box-shadow: inset 0 0 24px rgba(70,217,255,.05), 0 0 0 1px rgba(70,217,255,.05); font:800 .68rem var(--mono); letter-spacing:.11em; text-transform:uppercase; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover, .button:focus-visible { transform: translateY(-3px); color: var(--ink); background:var(--cyan); box-shadow:0 0 32px rgba(70,217,255,.45); }
.button span { font-size: 1rem; }
.text-link { border-bottom:1px solid rgba(255,255,255,.26); padding-bottom:.24rem; font-size:.86rem; color:var(--muted); transition:color .2s ease, border-color .2s ease; }
.text-link:hover, .text-link:focus-visible { color:var(--paper); border-color:var(--magenta); }
.build-note { margin: 2.5rem 0 0; color:var(--muted-dim); font: .62rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.status-dot { width:7px; height:7px; border-radius:50%; display:inline-block; margin-right:.45rem; background:var(--cyan); box-shadow:0 0 12px var(--cyan); animation:pulse 2.5s ease-in-out infinite; }

.hero__visual { position:relative; justify-self:end; width:min(100%, 535px); padding: 1.2rem 0 2.8rem 1.2rem; }
.hero__frame { overflow:hidden; position:relative; clip-path: polygon(7% 0,100% 0,100% 93%,93% 100%,0 100%,0 7%); background:#161a3f; box-shadow: -24px 28px 0 rgba(72,89,207,.10), 0 30px 80px rgba(0,0,0,.45); }
.hero__frame::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background: linear-gradient(110deg, rgba(3,7,22,.42) 0%, transparent 39%, rgba(255,35,174,.12) 100%); mix-blend-mode: multiply; }
.hero__frame img { width:100%; aspect-ratio: .9; object-fit: cover; transform:scale(1.03); filter:saturate(1.08) contrast(1.04); }
.hero__coordinates { display:flex; justify-content:space-between; margin:.7rem 1rem 0 .25rem; color:var(--muted); font:.58rem var(--mono); letter-spacing:.1em; }
.hero__signal-mark { position:absolute; z-index:3; width:84px; height:84px; left:-27px; bottom:-9px; border-radius:50%; overflow:hidden; border:1px solid rgba(255,255,255,.45); box-shadow:0 0 0 7px rgba(7,10,24,.82), 0 0 34px rgba(70,217,255,.38); }
.hero__signal-mark img { width:100%; height:100%; object-fit:cover; }
.hero__rail { position:absolute; z-index:-1; height:2px; transform-origin:left; background:linear-gradient(90deg, var(--magenta), transparent); box-shadow:0 0 11px var(--magenta); }
.hero__rail--one { width:77%; top: 15%; right:-25%; transform:rotate(-34deg); }
.hero__rail--two { width:42%; bottom: 10%; left:-25%; transform:rotate(-34deg); background:linear-gradient(90deg, var(--cyan),transparent); box-shadow:0 0 11px var(--cyan); }
.hero__scroll { position:absolute; bottom:1.8rem; left:var(--rail); display:flex; align-items:center; gap:.8rem; font:.58rem var(--mono); letter-spacing:.14em; color:var(--muted-dim); }
.hero__scroll i { position:relative; display:block; width:40px; height:1px; background:var(--muted-dim); overflow:hidden; }
.hero__scroll i::after { content:""; position:absolute; width:14px; height:100%; left:-14px; background:var(--cyan); animation:scan 2.2s linear infinite; }

.section { width:min(var(--max), calc(100% - 2 * var(--rail))); margin:0 auto; position:relative; }
.section__marker { position:absolute; left:0; top:0; display:flex; flex-direction:column; gap:.65rem; color:var(--muted-dim); font:.58rem var(--mono); letter-spacing:.1em; }
.section__marker i { height:74px; width:1px; margin-left:8px; background:linear-gradient(var(--violet),transparent); }
.release { padding: 10rem 0 8rem 8vw; }
.release__top { display:grid; grid-template-columns: minmax(260px,.76fr) minmax(330px, 1.05fr); gap:clamp(3rem, 9vw, 9rem); align-items:center; }
.release__album-art { width:100%; max-width:420px; position:relative; justify-self:end; padding:1rem; background:linear-gradient(145deg,rgba(108,65,255,.44),transparent 40%),rgba(13,16,35,.72); border:1px solid rgba(181,190,255,.17); }
.release__album-art img { width:100%; aspect-ratio:1; object-fit:cover; position:relative; z-index:1; }
.album-art__halo { position:absolute; z-index:-1; inset:-25%; background:radial-gradient(circle, rgba(255,50,183,.35), transparent 63%); filter:blur(15px); }
.release__album-art p { margin:.7rem .1rem .15rem; color:var(--muted); font:.55rem var(--mono); letter-spacing:.15em; }
.release__narrative { max-width:590px; }
h2 { font-size:clamp(3.8rem, 7vw, 7rem); margin:.85rem 0 1.3rem; }
.release__meta { margin:0 0 1.65rem; color:var(--cyan); font:700 .63rem var(--mono); letter-spacing:.12em; }
.lead { color:var(--paper); font-size:clamp(1.08rem, 1.65vw, 1.3rem); line-height:1.55; }
.release__narrative > p:not(.eyebrow):not(.release__meta) { color:#c5c7d4; max-width:44rem; }
.release__status { display:flex; gap:.6rem; align-items:flex-start; padding:1rem 1.1rem; margin-top:1.75rem; border-left:1px solid var(--magenta); background:linear-gradient(90deg,rgba(255,56,185,.09),transparent); }
.release__status .status-dot { margin-top:.4rem; flex:0 0 auto; }
.release__status p { margin:0; color:var(--muted); font-size:.82rem; }
.release__status strong { color:var(--paper); }
.release__status a { color:var(--cyan); text-decoration:underline; text-underline-offset:3px; }

.journey { display:grid; grid-template-columns: minmax(230px,.7fr) minmax(420px,1.3fr); gap:clamp(3rem, 9vw, 8rem); align-items:start; margin-top:10rem; padding:5rem 0 0; border-top:1px solid var(--line); }
.journey__heading h3 { margin-top:.95rem; font-size:clamp(2.7rem, 5vw, 5rem); }
.track-list { counter-reset:track; list-style:none; margin:0; padding:0; position:relative; }
.track-list::before { content:""; position:absolute; top:0; bottom:0; left:19px; width:1px; background:linear-gradient(var(--cyan), var(--magenta), transparent); opacity:.6; }
.track-list li { min-height:72px; display:grid; grid-template-columns: 48px minmax(135px, 1fr) minmax(130px, .8fr); gap:1rem; align-items:center; padding: .6rem 0; position:relative; border-bottom:1px solid rgba(176,190,255,.10); transition:transform .2s ease, background .2s ease; }
.track-list li:hover { transform:translateX(.5rem); background:linear-gradient(90deg,rgba(70,217,255,.07),transparent); }
.track-list__number { position:relative; z-index:1; width:39px; height:39px; display:grid; place-items:center; color:var(--cyan); background:var(--ink); border:1px solid rgba(70,217,255,.42); border-radius:50%; font:.58rem var(--mono); }
.track-list li > span:nth-child(2) { font-size:1.03rem; font-weight:600; }
.track-list i { color:var(--muted-dim); font-size:.76rem; font-style:normal; }

.project { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(380px,1fr); gap:clamp(3rem, 10vw, 10rem); align-items:center; padding: 9rem 0 8rem 8vw; }
.project__signal { position:relative; max-width:410px; padding:1.35rem; border:1px solid rgba(171,185,255,.16); background:linear-gradient(160deg,rgba(22,27,65,.7),rgba(8,10,24,.3)); transform:rotate(-3deg); }
.project__signal::before { content:""; position:absolute; inset:18px -22px -20px 26px; z-index:-1; border:1px solid rgba(255,56,185,.32); transform:rotate(6deg); }
.signal-window { overflow:hidden; position:relative; aspect-ratio:1; }
.signal-window::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 54%,rgba(70,217,255,.25)); }
.signal-window img { width:100%; height:100%; object-fit:cover; }
.project__signal p { margin:1rem 0 .1rem; color:var(--muted); font:.58rem var(--mono); letter-spacing:.13em; line-height:1.8; }
.project__copy { max-width:610px; }
.project__copy > p:not(.eyebrow) { color:#c5c7d4; }
.disclosure-card { position:relative; margin-top:2rem; padding:1.35rem 1.4rem 1.3rem; border:1px solid rgba(255,181,106,.24); background:rgba(255,177,83,.055); }
.disclosure-card::after { content:""; position:absolute; width:37px; height:37px; right:-1px; bottom:-1px; border-right:1px solid var(--amber); border-bottom:1px solid var(--amber); }
.disclosure-card p:last-child { margin:.7rem 0 0; color:#d4d1cb; font-size:.91rem; }

.destinations { padding:8rem 0; border-top:1px solid var(--line); }
.destinations__intro { max-width:760px; margin-left:8vw; }
.destinations__intro > p:not(.eyebrow) { max-width:590px; color:#c5c7d4; }
.destination-list { width:calc(100% - 8vw); margin:3.5rem 0 0 8vw; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--line); }
.destination-card { min-height:142px; display:grid; grid-template-columns:34px 1fr auto; grid-template-rows:1fr auto; gap:.5rem .8rem; padding:1.2rem 1.35rem; border:1px solid var(--line); background:rgba(15,18,40,.36); color:var(--muted); }
.destination-card span { grid-row:1 / span 2; color:var(--muted-dim); font:.6rem var(--mono); }
.destination-card strong { align-self:end; color:#d6d9e7; font-size:1.05rem; font-weight:650; }
.destination-card em { grid-column:2; align-self:start; color:var(--muted-dim); font-size:.7rem; font-style:normal; }
.destination-card i { grid-column:3; grid-row:1 / span 2; align-self:center; color:var(--violet); font-style:normal; font-size:1.3rem; opacity:.55; }
.destination-card--live { background:linear-gradient(115deg,rgba(70,217,255,.085),rgba(155,92,255,.05)); transition:background .2s ease,border-color .2s ease; }
.destination-card--live i { color:var(--cyan); opacity:1; }
.destination-card--live:hover, .destination-card--live:focus-visible { background:rgba(70,217,255,.14); border-color:var(--cyan); }

.contact { min-height:510px; display:grid; align-items:center; margin-bottom:0; overflow:hidden; background:linear-gradient(112deg,rgba(21,13,51,.96),rgba(7,10,24,.75)), url("assets/neon-afterglow-cover-1400.jpg") center/cover; border-top:1px solid rgba(255,255,255,.12); }
.contact::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,8,21,.72),rgba(5,8,21,.22)); }
.contact__gradient { position:absolute; width:65%; height:135%; right:-19%; top:-20%; border-radius:50%; border:1px solid rgba(255,55,188,.33); box-shadow:inset 0 0 120px rgba(107,52,255,.18), 0 0 100px rgba(255,56,185,.15); }
.contact__body { position:relative; z-index:1; margin-left:8vw; padding:5rem 0; }
.contact h2 { font-size:clamp(3.1rem,6.6vw,6.2rem); }
.contact__body > p:not(.eyebrow) { max-width:420px; color:#d0cfdb; }
.contact__email { display:inline-block; margin-top:1.3rem; color:var(--cyan); border-bottom:1px solid var(--cyan); font-size:clamp(1rem,1.8vw,1.4rem); transition:color .2s, border-color .2s; }
.contact__email:hover, .contact__email:focus-visible { color:var(--paper); border-color:var(--paper); }

.site-footer { width:min(var(--max), calc(100% - 2 * var(--rail))); margin:0 auto; display:grid; grid-template-columns:1.05fr 1.4fr 1fr; gap:2rem; align-items:start; padding:2.5rem 0 3.3rem; color:var(--muted-dim); font-size:.7rem; }
.site-footer__brand { display:flex; align-items:center; gap:.75rem; color:var(--paper); font:800 .64rem var(--mono); letter-spacing:.12em; }
.site-footer__brand img { width:38px; height:38px; border-radius:50%; }
.site-footer__brand p { margin:0; }
.site-footer__brand span { color:var(--muted-dim); font-size:.53rem; }
.site-footer__privacy { margin:0; max-width:400px; line-height:1.65; }
.site-footer__legal { margin:0; text-align:right; font:.58rem var(--mono); letter-spacing:.08em; line-height:1.9; }
.site-footer__legal span { color:#626981; }

.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal--late { transition-delay:.17s; }
.js .reveal.is-visible { opacity:1; transform:none; }
@keyframes pulse { 50% { opacity:.35; box-shadow:0 0 3px var(--cyan); } }
@keyframes scan { to { transform:translateX(56px); } }

@media (max-width: 850px) {
  .site-header { height:78px; width:calc(100% - 2.5rem); }
  .site-nav { position:absolute; top:calc(100% + 1px); right:0; display:none; width:min(280px,calc(100vw - 2.5rem)); flex-direction:column; gap:0; padding:.8rem 1.1rem; border:1px solid var(--line); background:rgba(8,10,24,.97); box-shadow:0 14px 44px rgba(0,0,0,.38); }
  .site-nav.is-open { display:flex; }
  .site-nav a { padding:.85rem .2rem; }
  .menu-toggle { display:grid; gap:6px; width:42px; height:42px; place-content:center; border:1px solid var(--line); color:var(--paper); background:rgba(12,15,33,.6); cursor:pointer; }
  .menu-toggle span:not(.visually-hidden) { display:block; width:17px; height:1px; background:var(--cyan); transition:transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-3.5px) rotate(-45deg); }
  .hero { grid-template-columns:1fr; gap:1.3rem; min-height:auto; padding:8.7rem 1.25rem 5rem; }
  .hero__copy { padding-top:0; }
  .hero__visual { width:min(100%,520px); justify-self:center; margin-top:1.2rem; }
  .hero__scroll { display:none; }
  .release, .project { display:block; padding:7rem 0 6rem 3.25rem; }
  .release__top { grid-template-columns:1fr; gap:3rem; }
  .release__album-art { max-width:350px; justify-self:start; }
  .journey { grid-template-columns:1fr; margin-top:6rem; padding-top:3rem; }
  .track-list li { grid-template-columns:48px 1fr; min-height:64px; }
  .track-list i { grid-column:2; margin-top:-.65rem; }
  .project__signal { margin-bottom:4rem; }
  .destinations { padding:6rem 0; }
  .destinations__intro, .destination-list, .contact__body { margin-left:3.25rem; }
  .destination-list { width:calc(100% - 3.25rem); grid-template-columns:1fr; }
  .contact { min-height:480px; }
  .site-footer { width:calc(100% - 2.5rem); grid-template-columns:1fr; gap:1.5rem; }
  .site-footer__legal { text-align:left; }
}

@media (max-width: 480px) {
  :root { --rail:1.25rem; }
  h1 { font-size:4.35rem; }
  h2 { font-size:3.65rem; }
  .hero__actions { align-items:flex-start; flex-direction:column; }
  .hero__visual { padding-left:.7rem; }
  .hero__signal-mark { width:66px; height:66px; left:-13px; }
  .release, .project { padding-left:2.5rem; }
  .destinations__intro, .destination-list, .contact__body { margin-left:2.5rem; }
  .destination-list { width:calc(100% - 2.5rem); }
  .section__marker { left:0; }
  .section__marker i { height:47px; }
  .track-list li > span:nth-child(2) { font-size:.94rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .js .reveal { opacity:1; transform:none; }
}

:focus-visible { outline:2px solid var(--amber); outline-offset:4px; }
