:root
{
  color-scheme:dark;
  --bg:#080e15;
  --ink:#f1f4f7;
  --muted:#b5c0cb;
  --line:#34404d;
  --ice:#9ac5e8;
  --panel:#0d151e;
  --max:1440px;
  --gutter:clamp(18px,4vw,64px);
}
*
{
  box-sizing:border-box;
}
html
{
  scroll-behavior:smooth;
  scroll-padding-top:92px;
}
body
{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.55 Arial,Helvetica,sans-serif;
}
a
{
  color:inherit;
  text-decoration:none;
}
a:hover
{
  color:var(--ice);
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible
{
  outline:3px solid var(--ice);
  outline-offset:4px;
}
button,input,textarea
{
  font:inherit;
}
.skip
{
  position:absolute;
  z-index:20;
  top:-90px;
  left:10px;
  background:#e3edf5;
  color:#101923;
  padding:10px;
}
.skip:focus
{
  top:10px;
}
.shell
{
  max-width:var(--max);
  margin:auto;
  padding-inline:var(--gutter);
}
.site-header
{
  height:82px;
  position:fixed;
  z-index:5;
  left:0;
  right:0;
  top:0;
  max-width:var(--max);
  margin:auto;
  padding-inline:var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(8,14,21,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid #ffffff35;
}
.brand
{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  width:140px;
}
.brand-logo
{
  display:block;
  width:100%;
  height:auto;
}
 .brand-logo-picture,.hero-logo-picture
{
  display:block;
  width:100%;
}
.nav-wrap
{
  display:flex;
  align-items:center;
  gap:34px;
}
.nav
{
  display:flex;
  gap:clamp(15px,2.4vw,35px);
  align-items:center;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.nav a[aria-current=page]
{
  color:var(--ice);
}
.lang
{
  border:1px solid #ffffff55;
  padding:7px 10px;
  font-size:10px;
  letter-spacing:.11em;
}
.menu-toggle
{
  display:none;
  border:1px solid #ffffff5c;
  background:#0b141d;
  color:white;
  padding:8px 10px;
}
.hero
{
  height:min(880px,100svh);
  min-height:690px;
  max-height:1000px;
  position:relative;
  overflow:hidden;
  background:#101923;
  display:flex;
  align-items:flex-end;
}
.portrait
{
  position:absolute;
  inset:0 0 0 auto;
  width:66%;
  height:100%;
  object-fit:cover;
  object-position:50% 27%;
  filter:saturate(.72) contrast(1.08);
  animation:reveal 1.35s ease-out both;
}
.hero:before
{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#080e15 0%,#080e15 19%,#080e15db 38%,#080e1573 62%,#080e1510 100%),linear-gradient(0deg,#080e15 0%,transparent 42%);
  z-index:1;
}
.hero:after,.page-cover:after
{
  content:"";
  position:absolute;
  inset:0;
  opacity:.11;
  pointer-events:none;
  background-image:radial-gradient(#dcecff .6px,transparent .9px);
  background-size:7px 7px;
  mix-blend-mode:screen;
  z-index:2;
}
.hero-inner
{
  position:relative;
  z-index:3;
  width:100%;
  padding:0 var(--gutter) 66px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:end;
  gap:25px;
  max-width:var(--max);
  margin-inline:auto;
}
.hero-main
{
  max-width:820px;
}
.hero-logo-lockup
{
  width:min(100%,750px);
  margin:22px 0 27px;
  font-size:0;
  line-height:0;
}
.hero-logo
{
  display:block;
  width:100%;
  height:auto;
}
.overline,.eyebrow,.photo-credit,.hero-side,.number,.tiny-label
{
  font-size:10px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.overline
{
  color:#d4e0ea;
}
.hero-dek
{
  max-width:580px;
  color:#d4dce4;
  font-size:clamp(16px,1.8vw,22px);
  line-height:1.45;
  margin:0;
}
.hero-dek strong
{
  color:#fff;
}
.actions
{
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:32px;
  flex-wrap:wrap;
}
.button
{
  display:inline-flex;
  gap:24px;
  align-items:center;
  padding:14px 18px;
  background:#d9e4ed;
  color:#101923;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  border:0;
  cursor:pointer;
}
.button:hover
{
  background:#fff;
  color:#101923;
}
.button span
{
  font-size:17px;
}
.underlink
{
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  border-bottom:1px solid #ffffff80;
  padding-bottom:5px;
}
.hero-side
{
  justify-self:end;
  max-width:220px;
  margin-bottom:6px;
  padding-left:17px;
  border-left:1px solid #d8e3ed99;
  color:#e0e7ed;
  font-weight:400;
  line-height:1.8;
}
.hero-side b
{
  display:block;
  color:var(--ice);
  font-size:13px;
  margin-bottom:5px;
}
.photo-credit
{
  position:absolute;
  z-index:3;
  right:var(--gutter);
  top:119px;
  writing-mode:vertical-rl;
  color:#d9e4edcc;
  font-weight:400;
}
.strip
{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-block:1px solid var(--line);
}
.strip-item
{
  padding:21px 18px;
  border-right:1px solid var(--line);
}
.strip-item:last-child
{
  border:0;
}
.strip-item small
{
  display:block;
  color:var(--ice);
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.strip-item strong
{
  font-size:14px;
  letter-spacing:.02em;
}
section
{
  padding:92px 0;
  border-bottom:1px solid var(--line);
}
.section-head
{
  display:flex;
  gap:17px;
  align-items:baseline;
  margin-bottom:42px;
}
.number
{
  color:var(--ice);
}
.section-head h2
{
  font-size:clamp(36px,5vw,66px);
  line-height:1;
  letter-spacing:-.065em;
  margin:0;
  font-weight:700;
}
.bio
{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9vw;
  align-items:start;
}
.bio-label
{
  font-size:10px;
  letter-spacing:.15em;
  color:var(--muted);
  text-transform:uppercase;
  line-height:1.9;
}
.bio-copy
{
  font-size:18px;
  line-height:1.7;
  max-width:660px;
  color:#d5dce3;
  margin:0;
}
.bio-copy strong
{
  color:#fff;
}
.genres
{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:27px;
}
.genres span
{
  padding:8px 10px;
  border:1px solid #526171;
  color:#d8e4ee;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.music-row
{
  display:grid;
  grid-template-columns:170px 1fr auto;
  align-items:center;
  gap:24px;
  padding:23px 0;
  border-top:1px solid var(--line);
}
.music-row:last-child
{
  border-bottom:1px solid var(--line);
}
.music-row .kind
{
  font-size:9px;
  letter-spacing:.16em;
  color:var(--ice);
  text-transform:uppercase;
}
.music-row h3
{
  font-size:17px;
  margin:0 0 4px;
}
.music-row p
{
  font-size:12px;
  color:var(--muted);
  margin:0;
}
.spotify-release-grid
{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:28px 0 12px;
}
.spotify-release
{
  min-width:0;
  padding:17px;
  border:1px solid var(--line);
  background:var(--panel);
}
.spotify-release .number
{
  font-size:10px;
  letter-spacing:.14em;
  color:var(--ice);
}
.release-title
{
  margin:10px 0 2px;
  font-size:16px;
  line-height:1.3;
}
.release-meta
{
  margin:0;
  color:var(--muted);
  font-size:12px;
}
.release-player
{
  aspect-ratio:16/9;
  height:auto;
  margin:14px 0 0;
}
.spotify-release .spotify-player
{
  aspect-ratio:16/9;
  height:auto;
  margin:14px 0 0;
}
.spotify-release .spotify-player.spotify-loaded
{
  aspect-ratio:auto;
  height:352px;
}
.spotify-release .bandcamp-player.bandcamp-loaded
{
  aspect-ratio:auto;
  height:120px;
}
.beatport-player.beatport-loaded
{
  aspect-ratio:auto;
  height:162px;
}
.release-poster
{
  border:1px solid #ffffff26;
}
.video-grid
{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  justify-content:center;
  gap:18px;
}
.video-grid-facebook
{
  grid-template-columns:repeat(2,minmax(0,180px));
  margin-top:22px;
}
.video-card
{
  min-width:0;
  padding:17px;
  border:1px solid var(--line);
  background:var(--panel);
}
.video-card .number
{
  font-size:10px;
  letter-spacing:.14em;
  color:var(--ice);
}
.video-title
{
  margin:10px 0 0;
  font-size:16px;
}
.video-description
{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.video-card .video-player
{
  aspect-ratio:16/9;
  width:100%;
  max-width:none;
  margin:14px auto;
  overflow:hidden;
  background:#101923;
}
.video-poster
{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  cursor:pointer;
  overflow:hidden;
  background:#101923;
  color:#fff;
}
.video-poster-image
{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease,filter .45s ease;
  filter:brightness(.76) saturate(.82);
}
.video-poster-facebook
{
  object-position:50% 27%;
}
.video-poster:hover .video-poster-image
{
  transform:scale(1.035);
  filter:brightness(.92) saturate(.95);
}
.video-play-icon
{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  padding-left:4px;
  border:1px solid #ffffffb0;
  border-radius:50%;
  background:#080e15b8;
  color:#fff;
  font-size:18px;
  box-shadow:0 0 32px #080e1590;
}
.video-card-facebook .video-player
{
  aspect-ratio:9/16;
  max-width:150px;
}
.video-card .text-link
{
  display:block;
  text-align:center;
}
.spotify-release .spotify-player
{
  aspect-ratio:auto;
  height:352px;
  margin:13px 0;
}
.text-link
{
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid #899baa;
  padding-bottom:4px;
}
.agenda-empty
{
  padding:25px 0;
  border-block:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:13px;
}
.agenda-empty strong
{
  color:var(--ink);
  font-weight:600;
}
.event-list
{
  border-top:1px solid var(--line);
}
.event-row
{
  display:grid;
  grid-template-columns:145px 1fr auto;
  gap:23px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.event-date
{
  font-size:12px;
  color:var(--ice);
  letter-spacing:.08em;
}
.event-row h3
{
  margin:0 0 5px;
  font-size:19px;
}
.event-row p
{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.event-row .event-billing
{
  margin-top:8px;
  color:var(--ice);
  font-weight:600;
}
.event-row .event-meta,
.event-row .event-note
{
  margin-top:6px;
}
.event-row .event-note
{
  color:var(--ink);
  font-style:italic;
}
.event-ticket
{
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  border:1px solid #526171;
  padding:10px 12px;
}
.credits-list
{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.credits-list li
{
  border:1px solid var(--line);
  color:var(--ink);
  padding:8px 11px;
  font-size:13px;
}
.credits-note
{
  margin-top:15px;
  color:var(--muted);
}
.page-cover
{
  height:min(610px,72svh);
  min-height:440px;
  position:relative;
  overflow:hidden;
  background:#101923;
  display:flex;
  align-items:flex-end;
}
.page-cover img
{
  position:absolute;
  inset:0 0 0 auto;
  width:58%;
  height:100%;
  object-fit:cover;
  object-position:50% 25%;
  filter:saturate(.72) contrast(1.08);
}
.page-cover:before
{
  content:"";
  z-index:1;
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#080e15 0%,#080e15 25%,#080e15cf 47%,#080e1540 75%,#080e1510),linear-gradient(0deg,#080e15 0%,transparent 50%);
}
.page-title-wrap
{
  position:relative;
  z-index:3;
  width:min(var(--max),100%);
  margin:0 auto;
  padding:0 var(--gutter) 56px;
}
.eyebrow
{
  color:var(--ice);
}
.page-title
{
  font-size:clamp(54px,9.5vw,120px);
  line-height:.9;
  letter-spacing:-.09em;
  margin:17px 0 13px;
}
.page-summary
{
  font-size:18px;
  color:#d4dce4;
  max-width:590px;
  margin:0;
}
.content
{
  padding-block:60px 100px;
  min-height:350px;
}
.content-grid
{
  display:grid;
  grid-template-columns:240px minmax(0,760px);
  gap:8vw;
}
.content-aside
{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.content-body h2
{
  font-size:clamp(30px,4.5vw,52px);
  line-height:1.04;
  letter-spacing:-.05em;
  margin:0 0 22px;
}
.content-body p
{
  font-size:18px;
  line-height:1.7;
  color:#d2dbe3;
  max-width:730px;
}
.contact-layout
{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8vw;
}
.contact-card h2
{
  font-size:clamp(46px,7vw,88px);
  line-height:.88;
  letter-spacing:-.09em;
  margin:15px 0 20px;
}
.contact-card p
{
  max-width:380px;
  color:var(--muted);
}
.contact-card address
{
  font-style:normal;
  font-size:19px;
  margin-top:28px;
}
.contact-card address a
{
  border-bottom:1px solid var(--ice);
}
.contact-form-link
{
  margin-top:26px;
}
.form
{
  display:grid;
  gap:18px;
}
.booking-fields
{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 14px;
  padding:0;
  margin:0;
  border:0;
}
.booking-fields legend
{
  width:100%;
  margin-bottom:12px;
  color:var(--ice);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.booking-full
{
  grid-column:1/-1;
}
.field
{
  display:grid;
  gap:8px;
}
.field label
{
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#d8e4ee;
}
.field input,.field textarea
{
  width:100%;
  border:1px solid #475563;
  background:#0c141c;
  color:var(--ink);
  padding:13px 14px;
  min-height:48px;
}
.field textarea
{
  min-height:150px;
  resize:vertical;
}
.form-status
{
  min-height:25px;
  color:var(--ice);
  font-size:14px;
}
.privacy-note
{
  font-size:12px;
  color:var(--muted);
  line-height:1.6;
}
.consent-field
{
  display:flex;
  align-items:flex-start;
  gap:11px;
  color:#d8e4ee;
  font-size:13px;
  line-height:1.55;
}
.consent-field input
{
  width:20px;
  height:20px;
  flex:0 0 auto;
  margin:1px 0 0;
  accent-color:var(--ice);
}
.consent-field label
{
  cursor:pointer;
}
.honeypot
{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.social-list
{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:25px;
}
.social-list a,.pending-social
{
  border:1px solid #485767;
  padding:9px 11px;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#dbe4eb;
}
.pending-social
{
  color:var(--muted);
  border-style:dashed;
}
.set-grid
{
  display:grid;
  grid-template-columns:1fr;
}
.set-card
{
  min-width:0;
  padding:24px 0;
  border-top:1px solid var(--line);
}
.set-card-copy
{
  padding:0 0 3px;
}
.set-card h3
{
  margin:0;
  font-size:22px;
  line-height:1.25;
}
.set-card p
{
  margin:7px 0;
  color:var(--muted);
  font-size:14px;
}
.soundcloud-player-frame
{
  display:grid;
  place-items:center;
  width:100%;
  height:166px;
  margin-top:14px;
  overflow:hidden;
  border:0;
  background:#111;
}
.soundcloud-player-frame iframe
{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.soundcloud-poster
{
  width:100%;
  height:100%;
  margin:0;
  border:0;
  background:#111;
}
.soundcloud-poster-image
{
  object-fit:cover;
}
.tracklist
{
  padding:0;
  list-style:none;
  border-top:1px solid var(--line);
  max-width:750px;
}
.tracklist li
{
  padding:13px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:78px 1fr;
  gap:18px;
}
.track-time
{
  color:var(--ice);
  font-variant-numeric:tabular-nums;
}
.player-frame
{
  width:100%;
  aspect-ratio:16/9;
  margin:30px 0;
  background:#0e1720;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
}
.player-frame iframe
{
  width:100%;
  height:100%;
  border:0;
}
.site-footer
{
  padding:24px 0 34px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.footer-links
{
  display:flex;
  gap:20px;
}
.reveal
{
  animation:rise .6s ease-out both;
}
@keyframes reveal
{
  from
  {
    transform:scale(1.035);
    opacity:.4;
  }
  to
  {
    transform:scale(1);
    opacity:1;
  }
}
@keyframes rise
{
  from
  {
    transform:translateY(8px);
    opacity:.6;
  }
  to
  {
    transform:translateY(0);
    opacity:1;
  }
}
@media(max-width:850px)
{
  .hero
  {
    height:790px;
    min-height:0;
  }
  .portrait
  {
    width:78%;
    object-position:50% 26%;
  }
  .hero:before
  {
    background:linear-gradient(90deg,#080e15 0%,#080e15b8 27%,#080e1555 60%,#080e1518 100%),linear-gradient(0deg,#080e15 0%,#080e15dd 19%,transparent 63%);
  }
  .hero-inner
  {
    grid-template-columns:1fr;
    padding-bottom:42px;
  }
  .hero-logo-lockup
  {
    width:min(100%,700px);
  }
  .hero-side
  {
    display:none;
  }
  .strip-item
  {
    padding:18px 14px;
  }
  .bio
  {
    gap:5vw;
  }
  section
  {
    padding:75px 0;
  }
  .content-grid
  {
    gap:5vw;
    grid-template-columns:170px 1fr;
  }
  .contact-layout
  {
    gap:5vw;
  }
}
@media(max-width:620px)
{
  html
  {
    scroll-padding-top:76px;
  }
  :root
  {
    --gutter:18px;
  }
  .site-header
  {
    height:68px;
  }
  .brand
  {
    width:112px;
  }
  .menu-toggle
  {
    display:block;
  }
  .nav-wrap
  {
    gap:10px;
  }
  .nav
  {
    display:none;
    position:absolute;
    top:67px;
    left:0;
    right:0;
    padding:20px 18px 24px;
    background:#080e15f5;
    border-bottom:1px solid var(--line);
    align-items:flex-start;
    flex-direction:column;
    font-size:11px;
  }
  .nav[data-open=true]
  {
    display:flex;
  }
  .nav a
  {
    padding:5px 0;
  }
  .booking-fields
  {
    grid-template-columns:1fr;
  }
  .spotify-release-grid
  {
    grid-template-columns:1fr;
    gap:14px;
  }
  .video-grid
  {
    grid-template-columns:1fr;
  }
  .video-grid-facebook
  {
    grid-template-columns:repeat(2,minmax(0,150px));
  }
  .video-card
  {
    max-width:290px;
    width:100%;
    margin:0 auto;
  }
  .video-card .video-player
  {
    max-width:none;
  }
  .video-card-facebook .video-player
  {
    max-width:116px;
  }
  .booking-full
  {
    grid-column:auto;
  }
  .hero
  {
    height:100svh;
    min-height:650px;
    max-height:900px;
  }
  .portrait
  {
    width:100%;
    height:70%;
    object-position:50% 24%;
    top:0;
    bottom:auto;
  }
  .hero:before
  {
    background:linear-gradient(0deg,#080e15 0%,#080e15 21%,#080e15d4 49%,transparent 82%),linear-gradient(90deg,#080e1544,transparent);
  }
  .hero-inner
  {
    display:block;
    padding-bottom:31px;
  }
  .hero-logo-lockup
  {
    width:min(100%,420px);
    margin:14px 0 18px;
  }
  .hero-dek
  {
    font-size:15px;
  }
  .actions
  {
    gap:16px;
    margin-top:23px;
  }
  .button
  {
    padding:12px 13px;
    gap:17px;
  }
  .photo-credit
  {
    top:85px;
    right:18px;
    font-size:8px;
  }
  .strip
  {
    grid-template-columns:1fr 1fr;
  }
  .strip-item:nth-child(2)
  {
    border-right:0;
  }
  .strip-item:nth-child(-n+2)
  {
    border-bottom:1px solid var(--line);
  }
  .strip-item
  {
    padding:16px 10px;
  }
  .strip-item strong
  {
    font-size:12px;
  }
  .bio,.content-grid,.contact-layout
  {
    grid-template-columns:1fr;
    gap:24px;
  }
  .music-row
  {
    grid-template-columns:88px 1fr;
    gap:12px;
  }
  .music-row>a
  {
    grid-column:2;
    justify-self:start;
  }
  .agenda-empty
  {
    display:block;
  }
  .agenda-empty span
  {
    display:block;
    margin-top:8px;
  }
  .page-cover
  {
    height:58svh;
    min-height:420px;
  }
  .page-cover img
  {
    width:100%;
    height:78%;
    object-position:50% 23%;
  }
  .page-cover:before
  {
    background:linear-gradient(0deg,#080e15 0%,#080e15ee 25%,#080e1588 52%,transparent 87%);
  }
  .page-title-wrap
  {
    padding-bottom:35px;
  }
  .page-title
  {
    font-size:clamp(54px,13vw,82px);
  }
  .content
  {
    padding-block:40px 75px;
  }
  .content-body p
  {
    font-size:16px;
  }
  .bio-copy
  {
    font-size:20px;
    line-height:1.4;
  }
  .event-row
  {
    grid-template-columns:86px 1fr;
    gap:12px;
  }
  .event-ticket
  {
    grid-column:2;
    justify-self:start;
  }
  .event-row h3
  {
    font-size:17px;
  }
  .set-card
  {
    grid-template-columns:1fr;
  }
  .site-footer
  {
    flex-direction:column;
    line-height:1.8;
  }
  .footer-links
  {
    flex-wrap:wrap;
  }
}
@media(prefers-reduced-motion:reduce)
{
  html
  {
    scroll-behavior:auto;
  }
  *,*:before,*:after
  {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
.sr-only
{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.spaced-heading
{
  margin-top:55px!important;
}
.spaced-social
{
  margin-top:60px;
}
.contact-follow
{
  margin-top:45px;
}
.set-back
{
  margin-top:40px;
}
.space-top
{
  margin-top:27px;
}
.space-top-events
{
  margin-top:25px;
}
.lightfx
{
  position:absolute;
  z-index:2;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:.13;
  mix-blend-mode:screen;
}
.lightfx:before
{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(116deg,transparent 44%,#9ac5e8 46.7%,#b7d1e8 47.2%,transparent 50%),linear-gradient(66deg,transparent 46%,#89bce7 48.1%,#d1e2f0 48.5%,transparent 51%);
  filter:blur(20px);
  transform:translateX(-12%);
  animation:beams 13s ease-in-out infinite alternate;
}
.lightfx:after
{
  content:"";
  position:absolute;
  inset:-20%;
  opacity:.2;
  background-image:radial-gradient(#dcecff 1px,transparent 1.6px),radial-gradient(#dcecff .7px,transparent 1.3px);
  background-size:53px 53px,31px 31px;
  background-position:0 0,17px 21px;
  animation:dust 38s linear infinite;
}
@keyframes beams
{
  0%
  {
    transform:translate(-9%,2%) rotate(-1deg);
    opacity:.65;
  }
  100%
  {
    transform:translate(10%,-1%) rotate(1deg);
    opacity:1;
  }
}
@keyframes dust
{
  from
  {
    transform:translate(0,0);
  }
  to
  {
    transform:translate(21px,-39px);
  }
}
@media(max-width:620px)
{
  .lightfx
  {
    opacity:.19;
  }
  .lightfx:before
  {
    filter:blur(16px);
  }
}
@media(prefers-reduced-motion:reduce)
{
  .lightfx:before,.lightfx:after
  {
    animation:none;
  }
}
.not-found
{
  min-height:100svh;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  padding:110px var(--gutter) 55px;
  background:radial-gradient(ellipse at 52% 58%,#172330 0%,#080e15 58%);
}
.not-found:before,.not-found:after
{
  content:"";
  position:absolute;
  width:130vw;
  height:2px;
  left:-15vw;
  top:49%;
  background:linear-gradient(90deg,transparent,#9ac5e8aa,transparent);
  filter:blur(1px);
  transform:rotate(-24deg);
  animation:error-beam 6s ease-in-out infinite alternate;
}
.not-found:after
{
  transform:rotate(24deg);
  animation-delay:-3s;
}
.not-found-inner
{
  position:relative;
  z-index:1;
  text-align:center;
  max-width:760px;
}
.not-found-brand
{
  position:absolute;
  top:32px;
  left:var(--gutter);
  font-size:18px;
  font-weight:900;
  letter-spacing:.12em;
}
.not-found-code
{
  font-size:clamp(120px,32vw,300px);
  line-height:.8;
  font-weight:900;
  letter-spacing:-.1em;
  color:#f1f4f7;
}
.not-found-code span
{
  color:var(--ice);
  text-shadow:0 0 60px #9ac5e855;
}
.not-found-kicker
{
  margin:40px 0 10px;
  color:var(--ice);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.not-found h1
{
  font-size:clamp(28px,5vw,48px);
  line-height:1.05;
  margin:0 0 12px;
}
.not-found p
{
  color:var(--muted);
  margin:8px auto;
  max-width:540px;
}
.not-found-links
{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:28px 0;
}
.not-found .button
{
  display:inline-block;
}
.not-found .underlink
{
  display:inline-flex;
  align-items:center;
  padding:12px 16px;
  border:1px solid var(--line);
}
@keyframes error-beam
{
  from{opacity:.35}
  to{opacity:.9}
}
@media(prefers-reduced-motion:reduce)
{
  .not-found:before,.not-found:after{animation:none}
}
.video-feature
{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);
  gap:24px;
  align-items:center;
  padding:18px;
  border:1px solid var(--line);
  background:var(--panel);
}
.video-feature-image
{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#101923;
}
.video-feature-image img
{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.76) saturate(.82);
}
.video-feature-image .video-play-icon
{
  transition:transform .2s ease,background .2s ease;
}
.video-feature-image:hover .video-play-icon
{
  transform:translate(-50%,-50%) scale(1.08);
  background:#080e15e8;
}
.video-feature h3
{
  margin:10px 0 0;
  font-size:clamp(18px,2vw,25px);
}
.video-feature p
{
  color:var(--muted);
  line-height:1.6;
}
@media(max-width:620px)
{
  .video-feature
  {
    grid-template-columns:1fr;
    gap:16px;
    padding:12px;
  }
}
.release-feature-row
{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,.85fr);
  gap:clamp(20px,4vw,52px);
  align-items:center;
}
.release-feature-card
{
  width:100%;
  max-width:520px;
}
.release-feature-copy h3
{
  margin:12px 0 8px;
  font-size:clamp(22px,3vw,34px);
  line-height:1.05;
}
.release-feature-copy p
{
  max-width:430px;
  margin:0 0 18px;
  color:var(--muted);
}
@media(max-width:620px)
{
  .release-feature-row
  {
    grid-template-columns:1fr;
    gap:18px;
  }
  .release-feature-card
  {
    max-width:none;
  }
}
