:root{
  --rf-cyan:#72f7ff;
  --rf-violet:#7c4dff;
  --rf-magenta:#ff3fb4;
  --rf-lime:#c8ff45;
  --rf-ink:#05040b;
  --rf-panel:rgba(11,9,24,.78);
  --rf-line:rgba(114,247,255,.22);
  --green:#72f7ff;
  --green-dim:#5b79ff;
  --red:#ff315c;
  --bg:#05040b;
  --bg-alt:#0b0918;
  --line:rgba(114,247,255,.17);
  --grey:#aaa4c2;
}

html{background:var(--rf-ink)}
body{
  background:
    radial-gradient(circle at 16% 8%,rgba(124,77,255,.16),transparent 26rem),
    radial-gradient(circle at 88% 28%,rgba(114,247,255,.09),transparent 24rem),
    linear-gradient(180deg,#05040b 0%,#070512 48%,#030307 100%);
  color:#f8f4ff;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.28;
  background:
    repeating-linear-gradient(0deg,transparent 0 3px,rgba(114,247,255,.022) 3px 4px),
    linear-gradient(90deg,transparent 49.85%,rgba(255,63,180,.09) 50%,transparent 50.15%);
  mix-blend-mode:screen;
}
body::after{
  content:"";
  position:fixed;
  left:-15vw;
  right:-15vw;
  bottom:-34vh;
  height:72vh;
  pointer-events:none;
  z-index:0;
  opacity:.18;
  background:
    repeating-linear-gradient(90deg,rgba(114,247,255,.34) 0 1px,transparent 1px 7vw),
    repeating-linear-gradient(0deg,rgba(114,247,255,.3) 0 1px,transparent 1px 5.6vh);
  transform:perspective(420px) rotateX(67deg);
  transform-origin:center top;
  mask-image:linear-gradient(to bottom,transparent,#000 24%,#000);
}
.scanlines{opacity:.35;background-size:100% 4px}
.vignette{box-shadow:inset 0 0 18vw 5vw #030207}
#rain{opacity:.09;filter:hue-rotate(58deg) saturate(1.5)}

header{
  background:rgba(3,4,10,.94)!important;
  border-bottom:1px solid rgba(114,247,255,.32)!important;
  box-shadow:0 1px 0 rgba(255,63,180,.11),0 14px 44px rgba(0,0,0,.58);
  backdrop-filter:blur(18px) saturate(1.25)!important;
}
.brandmark svg{
  filter:drop-shadow(0 0 8px rgba(114,247,255,.55));
}
.brandmark span{
  text-shadow:2px 0 rgba(255,63,180,.35),-2px 0 rgba(114,247,255,.25);
}
.brandmark span::before,.brandmark span::after{color:var(--rf-cyan)!important}
nav ul{
  gap:.35rem;
  padding:.3rem;
  border:1px solid rgba(114,247,255,.16);
  background:rgba(8,8,20,.76);
}
nav a{
  color:#fff;
  padding:.58rem .72rem;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.13em;
  text-shadow:0 1px 8px rgba(0,0,0,.95);
}
nav a:hover,nav a:focus-visible{color:var(--rf-cyan);text-shadow:0 0 15px rgba(114,247,255,.55)}
.nav-toggle{
  color:var(--rf-cyan);
  border-color:rgba(114,247,255,.42);
  background:linear-gradient(135deg,rgba(124,77,255,.14),rgba(114,247,255,.06));
}

main{position:relative;z-index:2}
section{
  position:relative;
  border-bottom:1px solid rgba(114,247,255,.13);
}
section:not(.hero)::before{
  content:"";
  position:absolute;
  top:clamp(1.2rem,3vw,2.2rem);
  right:clamp(1rem,3vw,2.4rem);
  width:44px;
  height:44px;
  border-top:1px solid rgba(255,63,180,.48);
  border-right:1px solid rgba(114,247,255,.38);
  pointer-events:none;
}

.hero{
  isolation:isolate;
  min-height:clamp(680px,100svh,980px);
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(3,4,10,.88) 0%,rgba(3,4,10,.68) 43%,rgba(3,4,10,.42) 68%,rgba(3,4,10,.64) 100%),
    url("hero-retrofuture-transmission-v2.png") center/cover no-repeat;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,3,8,.2),transparent 25%,transparent 75%,rgba(2,3,8,.76)),
    radial-gradient(ellipse at 46% 48%,rgba(8,8,22,.04),rgba(2,3,8,.38) 74%);
  box-shadow:inset 0 0 140px rgba(0,0,0,.58);
}
.hero::after{
  display:none;
}
.hero-bloom{
  width:min(66vw,840px)!important;
  height:min(58vw,760px)!important;
  background:radial-gradient(circle,rgba(124,77,255,.12),rgba(114,247,255,.055) 38%,transparent 70%)!important;
  filter:blur(42px);
}
.hero-copy{
  width:min(920px,100%)!important;
  padding:clamp(1.4rem,4vw,3rem);
  background:linear-gradient(135deg,rgba(3,4,10,.38),rgba(8,7,20,.09));
  border:0;
  backdrop-filter:blur(1.5px);
}
.hero .eyebrow{
  color:var(--rf-cyan);
  letter-spacing:.22em;
  text-shadow:2px 0 rgba(255,63,180,.35);
}
.hero h1{
  color:#f7f5ff;
  text-shadow:
    3px 0 0 rgba(255,63,180,.26),
    -3px 0 0 rgba(114,247,255,.26),
    0 0 38px rgba(124,77,255,.16);
}
.hero h1::before,.hero h1::after{color:var(--rf-lime)}
.hero .sub{
  color:#cbc6d9;
  max-width:59ch;
  margin-inline:auto;
  text-align:center;
}
.hero-node>.hero-pill{
  filter:
    drop-shadow(8px 0 15px rgba(255,63,180,.22))
    drop-shadow(-8px 0 15px rgba(114,247,255,.22));
}
.node-label{color:#ff688d}
.routes{justify-content:center}
.route-button{
  color:#eae5f4;
  border-color:rgba(114,247,255,.34);
  background:linear-gradient(135deg,rgba(124,77,255,.16),rgba(5,4,11,.82));
  box-shadow:inset 0 0 20px rgba(114,247,255,.025);
}
.route-button:nth-child(even){border-color:rgba(255,63,180,.28)}
.route-button::before{color:var(--rf-lime)}
.route-button:hover{
  color:#07040f;
  border-color:var(--rf-cyan);
  background:var(--rf-cyan);
  text-shadow:none;
}
.meta{
  justify-content:center;
  border-top:1px solid rgba(114,247,255,.14);
  padding-top:1rem;
}

.tag{
  color:var(--rf-cyan);
  text-shadow:2px 0 rgba(255,63,180,.24);
}
.tag::after{background:linear-gradient(90deg,rgba(114,247,255,.38),rgba(124,77,255,.18),transparent)}
.tag img,.tag svg{filter:drop-shadow(0 0 8px rgba(114,247,255,.34))}

.media-block,.show-list,.gear-list,.contact-wrap,.booking-form,.epk-preview-copy{
  background:
    linear-gradient(135deg,rgba(14,10,31,.88),rgba(4,5,12,.78))!important;
  border:1px solid rgba(114,247,255,.14);
  box-shadow:
    inset 0 0 55px rgba(124,77,255,.035),
    14px 14px 0 rgba(124,77,255,.025);
}
.media-block,.show-list,.gear-list,.contact-wrap,.epk-preview-copy{padding:clamp(1rem,2.6vw,2rem)}
.video-frame,.sc-frame iframe{
  border-color:rgba(114,247,255,.3);
  box-shadow:7px 7px 0 rgba(255,63,180,.07),-5px -5px 0 rgba(114,247,255,.05);
}
.youtube-feature::after{
  color:var(--rf-cyan);
  border-color:var(--rf-cyan);
  background:rgba(5,4,13,.86);
  box-shadow:0 0 35px rgba(124,77,255,.25);
}
.media-fallback,.show-row .date,.booking-email,.epk-points li::before{color:var(--rf-cyan)}
.show-row,.gear-row{border-color:rgba(114,247,255,.13)}
.show-row:nth-child(even){background:linear-gradient(90deg,rgba(124,77,255,.05),transparent)}
.badge{color:var(--rf-cyan);border-color:rgba(114,247,255,.36)}

.photo-slot{
  position:relative;
  border:1px solid rgba(114,247,255,.28);
  box-shadow:12px 12px 0 rgba(124,77,255,.07),-7px -7px 0 rgba(114,247,255,.04);
}
.photo-slot::after,.epk-preview-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 49.6%,rgba(255,63,180,.08) 50%,transparent 50.4%),
    repeating-linear-gradient(0deg,transparent 0 4px,rgba(114,247,255,.025) 4px 5px);
  mix-blend-mode:screen;
}
.photo-slot img{
  filter:contrast(1.06) saturate(.9) hue-rotate(-2deg);
}

.booking-form label{color:var(--rf-cyan)}
.booking-form input,.booking-form select,.booking-form textarea{
  background:rgba(4,4,12,.86);
  border-color:rgba(114,247,255,.2);
  color:#f8f4ff;
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{
  border-color:var(--rf-cyan);
  outline-color:var(--rf-cyan);
  box-shadow:0 0 0 3px rgba(114,247,255,.07);
}
.booking-submit,.epk-actions a{
  color:var(--rf-cyan);
  border-color:var(--rf-cyan);
  background:linear-gradient(135deg,rgba(124,77,255,.1),transparent);
}
.booking-submit:hover,.epk-actions a:hover{
  color:#06040d;
  background:var(--rf-cyan);
}

.epk-preview-photo{
  position:relative;
  border-color:rgba(114,247,255,.28);
  background:#05040b;
  box-shadow:12px 12px 0 rgba(124,77,255,.08);
}
.epk-preview-photo img{
  filter:saturate(.82) contrast(1.12) hue-rotate(28deg)!important;
}
.epk-preview-copy h2{
  text-shadow:3px 0 rgba(255,63,180,.2),-3px 0 rgba(114,247,255,.2);
}

footer{
  position:relative;
  z-index:2;
  border-top:1px solid rgba(114,247,255,.14);
  background:linear-gradient(180deg,rgba(5,4,11,0),rgba(11,7,24,.78));
}
footer .fbrand{color:var(--rf-cyan)}

/* Standalone EPK page */
.hero-mark img{filter:drop-shadow(6px 0 10px rgba(255,63,180,.16)) drop-shadow(-6px 0 10px rgba(114,247,255,.18))}
.press-photo,.asset,.contact-card{
  background:linear-gradient(135deg,rgba(14,10,31,.9),rgba(4,5,12,.82))!important;
  border-color:rgba(114,247,255,.18)!important;
}
.press-photo img{filter:contrast(1.06) saturate(.92)}
.asset{box-shadow:7px 7px 0 rgba(124,77,255,.04)}

@media(max-width:760px){
  body::after{opacity:.11}
  .hero{
    min-height:760px;
    background:
      linear-gradient(180deg,rgba(3,4,10,.64),rgba(3,4,10,.84) 58%,rgba(3,4,10,.97)),
      url("hero-retrofuture-transmission-v2.png") 62% center/auto 100% no-repeat;
  }
  .hero::before{inset:0}
  .hero-copy{padding:1.15rem .85rem;border-left:0;border-right:0}
  .hero h1{text-shadow:2px 0 rgba(255,63,180,.23),-2px 0 rgba(114,247,255,.23)}
  .routes{grid-template-columns:1fr 1fr}
  .media-block,.show-list,.gear-list,.contact-wrap,.epk-preview-copy{padding:1rem}
}

@media(prefers-reduced-motion:reduce){
  body::before,body::after{animation:none!important}
}
