.logo-mark{display:block;aspect-ratio:882.4/196.7;background-color:currentColor;-webkit-mask:url(/brand/adria-logo.svg) center/contain no-repeat;mask:url(/brand/adria-logo.svg) center/contain no-repeat}
:root {--ink:#0a0a0b; --ink-2:#0f1011; --graphite:#17191c; --graphite-2:#212429; --line:rgba(237,237,234,0.14); --line-soft:rgba(237,237,234,0.07); --paper:#edede9; --paper-dim:rgba(237,237,233,0.62); --silver:#9aa0a8; --acid:#edede9; --magenta:#ff2f86; --cyan:#46e8d8; --gutter:clamp(18px,5vw,72px); --maxw:1680px; --rule:1px; --notch:22px; --nav-h:64px; --fs-micro:clamp(9.5px,0.62vw,11.5px); --fs-small:clamp(12px,0.82vw,14px); --fs-body:clamp(15px,1.02vw,18px); --fs-lead:clamp(19px,1.85vw,30px); --fs-h2:clamp(38px,7.2vw,118px); --fs-mega:clamp(52px,13vw,220px); --font-sans:"Archivo Variable","Archivo"; --font-mono:"IBM Plex Mono"; --ease:cubic-bezier(0.22,1,0.36,1); --ease-in-out:cubic-bezier(0.76,0,0.24,1); color-scheme:dark}
*,*::before,*::after {box-sizing:border-box}
html {-webkit-text-size-adjust:100%; scroll-behavior:auto}
body {margin:0; background:var(--ink); color:var(--paper); font-family:var(--font-sans),system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif; font-size:var(--fs-body); line-height:1.5; font-synthesis-weight:none; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip}
body.is-locked {overflow:hidden}
img,video,svg {max-width:100%; display:block}
a {color:inherit; text-decoration:none}
button {font:inherit; color:inherit; background:none; border:0; cursor:pointer}
::selection {background:var(--acid); color:#0a0a0b}
:focus-visible {outline:2px solid var(--acid); outline-offset:3px; border-radius:2px}
.wrap {width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter)}
.section {position:relative; padding-block:clamp(72px,11vw,190px)}
.section--tight {padding-block:clamp(56px,7vw,120px)}
.rule {height:var(--rule); background:var(--line); border:0; margin:0}
.skip {position:absolute; left:-9999px; top:0; z-index:200; background:color-mix(in srgb,var(--ink) 92%,transparent); backdrop-filter:blur(10px); color:var(--paper); border:1px solid var(--line); padding:8px 14px; letter-spacing:0.16em; text-transform:uppercase; font:500 var(--fs-micro) / 1 var(--font-mono),monospace}
.skip:focus {left:var(--gutter); top:12px}
.mono {font-family:var(--font-mono),ui-monospace,"SF Mono",Menlo,monospace; font-size:var(--fs-micro); letter-spacing:0.16em; text-transform:uppercase; color:var(--silver)}
.eyebrow {display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.2em; text-transform:uppercase; color:var(--silver)}
.eyebrow::before {content:""; width:clamp(22px,3vw,46px); height:1px; background:var(--acid)}
.h2 {margin:0; font-size:var(--fs-h2); font-weight:800; font-stretch:118%; line-height:0.86; letter-spacing:-0.03em; text-transform:uppercase}
.lead {font-size:var(--fs-lead); line-height:1.22; letter-spacing:-0.015em; font-weight:500; max-width:22ch; margin:0; text-wrap:balance}
.body {max-width:62ch; color:var(--paper-dim); margin:0}
.body + .body {margin-top:1.1em}
.notch {clip-path:polygon( 0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,var(--notch) 100%,0 calc(100% - var(--notch)) )}
.notch-tr {clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,0 100%)}
.btn {--btn-bg:transparent; --btn-fg:var(--paper); --btn-bd:var(--line); position:relative; display:inline-flex; align-items:center; gap:12px; padding:14px 22px; background:var(--btn-bg); color:var(--btn-fg); border:1px solid var(--btn-bd); font-family:var(--font-mono),monospace; font-size:var(--fs-small); letter-spacing:0.13em; text-transform:uppercase; line-height:1; transition:background 0.35s var(--ease),color 0.35s var(--ease),border-color 0.35s var(--ease),transform 0.4s var(--ease); --notch:12px; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
.btn:hover {--btn-bg:var(--paper); --btn-fg:#0a0a0b; --btn-bd:var(--paper)}
.btn--acid {--btn-bg:var(--acid); --btn-fg:#0a0a0b; --btn-bd:var(--acid); font-weight:600}
.btn--acid:hover {--btn-bg:var(--paper); --btn-bd:var(--paper)}
.btn--ghost {--btn-bd:rgba(237,237,234,0.28)}
.linkline {position:relative; display:inline-block; padding-bottom:2px; background-image:linear-gradient(currentColor,currentColor); background-size:100% 1px; background-repeat:no-repeat; background-position:0 100%; transition:background-size 0.45s var(--ease)}
.linkline:hover {background-size:0 1px; background-position:100% 100%}
[data-reveal] {opacity:0; transform:translate3d(0,26px,0)}
[data-reveal-clip] {clip-path:inset(0 0 100% 0)}
.is-ready [data-reveal] {transition:opacity 0.9s var(--ease),transform 1s var(--ease)}
[data-reveal].is-in {opacity:1; transform:none}
.grain {position:fixed; inset:-50%; pointer-events:none; z-index:60; opacity:0.035; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"); animation:grain 1.2s steps(4) infinite; will-change:transform}
@keyframes grain {0% {transform:translate3d(0,0,0)}
25% {transform:translate3d(-2%,1%,0)}
50% {transform:translate3d(1%,-2%,0)}
75% {transform:translate3d(-1%,2%,0)}
100% {transform:translate3d(2%,-1%,0)}
}
.prism {position:fixed; top:0; left:0; width:48vmax; height:48vmax; margin:-24vmax 0 0 -24vmax; pointer-events:none; z-index:1; mix-blend-mode:screen; opacity:0.09; background:conic-gradient( from 210deg,rgba(237,237,233,0.42),rgba(255,255,255,0.30),rgba(198,205,214,0.38),rgba(255,255,255,0.24),rgba(237,237,233,0.42) ); filter:blur(130px) saturate(105%); transform:translate3d(50vw,40vh,0); transition:opacity 0.6s var(--ease); will-change:transform}
.cursor {position:fixed; top:0; left:0; z-index:120; pointer-events:none; width:12px; height:12px; margin:-6px 0 0 -6px; border:1px solid var(--paper); border-radius:50%; mix-blend-mode:difference; transition:width 0.35s var(--ease),height 0.35s var(--ease),margin 0.35s var(--ease),background 0.35s var(--ease),opacity 0.3s; will-change:transform}
.cursor[data-mode="link"] {width:52px; height:52px; margin:-26px 0 0 -26px; background:var(--paper)}
.cursor[data-mode="hidden"] {opacity:0}
@media (hover:none),(pointer:coarse) {.cursor,.prism {display:none}
}
.marquee {display:flex; overflow:hidden; user-select:none; gap:0; mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee__track {display:flex; flex:0 0 auto; align-items:center; gap:clamp(24px,3vw,56px); padding-right:clamp(24px,3vw,56px); animation:marquee var(--dur,38s) linear infinite; white-space:nowrap; will-change:transform}
@keyframes marquee {to {transform:translate3d(-100%,0,0)}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after {animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important}
[data-reveal] {opacity:1 !important; transform:none !important}
[data-reveal-clip] {clip-path:none !important}
.grain,.prism,.cursor {display:none !important}
}
.about--root {background:var(--ink-2); border-top:1px solid var(--line-soft)}
.about--grid {display:grid; gap:clamp(28px,5vw,80px); align-items:start}
.about--media {margin:0}
.about--frame {position:relative; aspect-ratio:3 / 4; overflow:hidden; background:var(--graphite); --notch:clamp(22px,4vw,54px)}
.about--img {width:100%; height:100%; object-fit:cover; will-change:transform}
.about--media figcaption {display:block; margin-top:10px; font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.16em; text-transform:uppercase; color:var(--silver)}
.about--lead {margin-top:18px; max-width:20ch}
.about--text .body:first-of-type {margin-top:26px}
.about--actions {display:flex; flex-wrap:wrap; gap:10px; margin-top:28px}
.about--bio {margin-top:26px; padding-top:22px; border-top:1px solid var(--line)}
.about--bio p:first-child {margin-top:0}
@media (min-width:900px) {.about--grid {grid-template-columns:0.82fr 1.18fr; align-items:center}
}
.booking--root {border-top:1px solid var(--line-soft); background:radial-gradient(70% 60% at 50% 0%,rgba(201,247,61,0.08),transparent 60%),var(--ink-2)}
.booking--head {display:grid; gap:clamp(16px,3vw,48px); align-items:end; margin-bottom:clamp(28px,4vw,54px)}
.booking--lead {margin:0; color:var(--paper-dim); max-width:26ch}
.booking--grid {display:grid; gap:clamp(14px,2vw,22px)}
.booking--card {position:relative; padding:clamp(20px,2.6vw,32px); background:var(--graphite); border:1px solid var(--line-soft); --notch:clamp(18px,2.4vw,30px); clip-path:polygon( 0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,var(--notch) 100%,0 calc(100% - var(--notch)) ); transition:background 0.45s var(--ease); display:flex; flex-direction:column}
.booking--card:hover {background:var(--graphite-2)}
.booking--card-top {display:flex; justify-content:space-between; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--line)}
.booking--terr {color:var(--acid)}
.booking--person {margin:18px 0 0; font-size:clamp(22px,2.4vw,34px); font-weight:700; font-stretch:110%; letter-spacing:-0.025em; line-height:1.05; text-transform:uppercase}
.booking--agency {display:inline-block; margin-top:8px; color:var(--silver); transition:color 0.3s}
.booking--agency:hover {color:var(--paper)}
.booking--links {margin-top:auto; padding-top:26px; display:grid; gap:10px}
.booking--mail {display:inline-flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; background:var(--acid); color:#0a0a0b; font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.06em; transition:background 0.35s var(--ease),transform 0.4s var(--ease); overflow:hidden}
.booking--mail span {overflow:hidden; text-overflow:ellipsis}
.booking--mail:hover {background:var(--paper)}
.booking--arrow {width:11px; height:11px; flex:0 0 auto}
.booking--phone {display:inline-block; padding:12px 16px; border:1px solid var(--line); font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.1em; text-transform:uppercase; transition:border-color 0.3s,color 0.3s}
.booking--phone:hover {border-color:var(--paper)}
.booking--agencies {margin-top:clamp(30px,4vw,56px); padding-top:24px; border-top:1px solid var(--line); display:grid; gap:18px}
.booking--logos {display:flex; align-items:center; gap:clamp(24px,4vw,56px); flex-wrap:wrap}
.booking--metropole,.booking--muzik {height:auto; opacity:0.7; transition:opacity 0.35s var(--ease)}
.booking--metropole {width:clamp(72px,8vw,104px); filter:invert(1)}
.booking--muzik {width:clamp(110px,13vw,168px); filter:invert(1)}
.booking--logos a:hover .booking--metropole,.booking--logos a:hover .booking--muzik {opacity:1}
@media (min-width:760px) {.booking--head {grid-template-columns:1fr auto}
.booking--grid {grid-template-columns:repeat(3,1fr)}
}
@media (min-width:760px) {}
.fashion--root {background:var(--paper); color:#0d0d0e; border-top:1px solid var(--line-soft)}
.fashion--root .eyebrow {color:#55585d}
.fashion--root .eyebrow::before {background:#0d0d0e}
.fashion--head {display:grid; gap:18px; max-width:1100px; margin-bottom:clamp(30px,5vw,62px)}
.fashion--title {max-width:16ch}
.fashion--body {margin:0; max-width:58ch; color:#43464b; font-size:var(--fs-body)}
.fashion--strip {display:grid; gap:clamp(12px,2vw,26px); grid-auto-flow:column; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; scrollbar-width:thin; -webkit-overflow-scrolling:touch}
.fashion--fig {margin:0; scroll-snap-align:start}
.fashion--frame {aspect-ratio:2 / 3; overflow:hidden; background:#ddddd8; --notch:clamp(18px,2.4vw,34px)}
.fashion--img {width:100%; height:100%; object-fit:cover; transition:transform 1.3s var(--ease)}
.fashion--fig:hover .fashion--img {transform:scale(1.04)}
@media (min-width:760px) {.fashion--strip {grid-auto-flow:row; grid-template-columns:repeat(3,1fr); grid-auto-columns:auto; overflow:visible}
.fashion--fig:nth-child(2) {margin-top:clamp(20px,5vw,64px)}
.fashion--fig:nth-child(3) {margin-top:clamp(-10px,-1vw,0px)}
}
.footer--root {border-top:1px solid var(--line); background:var(--ink); padding-bottom:clamp(22px,3vw,40px)}
.footer--marquee-wrap {padding-block:clamp(12px,1.6vw,20px); border-bottom:1px solid var(--line-soft); margin-bottom:clamp(36px,5vw,70px); color:var(--paper-dim)}
.footer--mq {display:inline-flex; gap:12px; font-size:clamp(14px,1.6vw,22px); font-weight:600; font-stretch:112%; letter-spacing:0.02em; text-transform:uppercase}
.footer--mq i {font-style:normal; color:var(--acid)}
.footer--grid {display:grid; gap:clamp(26px,4vw,48px)}
.footer--brand {display:grid; gap:14px; align-content:start}
.footer--logo {width:clamp(150px,20vw,260px); height:auto; color:var(--paper)}
.footer--col-title {margin:0 0 14px; color:var(--silver)}
.footer--col ul {list-style:none; margin:0; padding:0; display:grid; gap:9px}
.footer--col a {font-size:var(--fs-small)}
.footer--col a:hover {color:var(--acid)}
.footer--bottom {margin-top:clamp(34px,5vw,64px); padding-top:18px; border-top:1px solid var(--line-soft); display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center}
.footer--bottom p {margin:0}
.footer--bottom a:hover {color:var(--acid)}
.footer--bottom > :nth-child(2) {margin-left:auto}
@media (min-width:760px) {.footer--grid {grid-template-columns:1.6fr repeat(3,minmax(0,1fr))}
}
.glrs--root {position:relative; border-top:1px solid var(--line-soft); background:radial-gradient(80% 60% at 15% 0%,rgba(255,47,134,0.16),transparent 58%),var(--ink); padding-top:clamp(40px,6vw,90px)}
.glrs--marquee-wrap {padding-block:clamp(14px,2vw,26px); border-block:1px solid var(--line-soft); margin-bottom:clamp(44px,7vw,110px); color:var(--paper)}
.glrs--mq-item {display:inline-flex; align-items:baseline; gap:14px; font-size:clamp(24px,4.4vw,62px); font-weight:800; font-stretch:120%; letter-spacing:-0.03em; text-transform:uppercase; line-height:1}
.glrs--mq-item i {font-style:normal; font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.22em; color:var(--acid); text-transform:uppercase}
.glrs--grid {display:grid; gap:clamp(30px,5vw,76px); align-items:center}
.glrs--title {margin-top:14px}
.glrs--sub {margin:10px 0 0; font-family:var(--font-mono),monospace; font-size:var(--fs-small); letter-spacing:0.24em; text-transform:uppercase; color:var(--acid)}
.glrs--text .body:first-of-type {margin-top:26px}
.glrs--brands {display:grid; gap:10px; margin-top:28px; padding-top:20px; border-top:1px solid var(--line)}
.glrs--brand-list {display:flex; flex-wrap:wrap; gap:8px 10px}
.glrs--chip {font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.14em; text-transform:uppercase; padding:8px 13px; border:1px solid var(--line)}
.glrs--cta {margin:26px 0 0}
.glrs--arrow {width:12px; height:12px}
@media (min-width:900px) {.glrs--grid {grid-template-columns:1.02fr 0.98fr}
.glrs--media {align-self:stretch}
}
.header--header {position:fixed; top:0; left:0; right:0; z-index:100; transition:background 0.5s var(--ease),backdrop-filter 0.5s var(--ease),border-color 0.5s var(--ease); border-bottom:1px solid transparent}
.header--solid {background:color-mix(in srgb,var(--ink) 78%,transparent); backdrop-filter:blur(14px) saturate(140%); border-bottom-color:var(--line-soft)}
.header--inner {max-width:var(--maxw); margin-inline:auto; padding:0 var(--gutter); height:var(--nav-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:clamp(16px,3vw,48px)}
.header--brand {display:block; flex:0 0 auto}
.header--logo {width:clamp(84px,8vw,124px); height:auto; color:var(--paper); transition:color 0.4s var(--ease)}
.header--brand:hover .header--logo {color:var(--acid)}
.header--desk {display:none; justify-self:center; gap:clamp(14px,1.8vw,34px)}
.header--item {font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.17em; text-transform:uppercase; overflow:hidden; display:block; height:1.1em}
.header--item-inner {display:grid; transition:transform 0.45s var(--ease),color 0.45s var(--ease)}
.header--item-inner > span {display:block; line-height:1.1em}
.header--item:hover .header--item-inner {transform:translateY(-1.1em); color:var(--acid)}
.header--right {justify-self:end; display:flex; align-items:center; gap:14px}
.header--desk ~ .header--right {justify-self:end}
.header--lang {font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.17em; padding:7px 11px; border:1px solid var(--line); transition:background 0.35s var(--ease),color 0.35s var(--ease),border-color 0.35s var(--ease)}
.header--lang:hover {background:var(--paper); color:var(--ink); border-color:var(--paper)}
.header--burger {width:40px; height:40px; display:grid; align-content:center; justify-items:end; gap:6px; margin-right:-8px}
.header--burger span {display:block; height:1px; width:26px; background:var(--paper); transition:transform 0.45s var(--ease-in-out),width 0.45s var(--ease)}
.header--burger span:last-child {width:16px}
.header--burger span[data-open="true"]:first-child {transform:translateY(3.5px) rotate(45deg)}
.header--burger span[data-open="true"]:last-child {width:26px; transform:translateY(-3.5px) rotate(-45deg)}
.header--overlay {position:fixed; inset:0; z-index:95; background:var(--ink-2); display:flex; flex-direction:column; justify-content:center; padding:calc(var(--nav-h) + 24px) var(--gutter) 32px; opacity:0; transition:opacity 0.4s var(--ease)}
.header--overlay-open {opacity:1}
.header--overlay-nav {display:flex; flex-direction:column; gap:clamp(4px,1vw,10px); margin-top:auto}
.header--overlay-nav a {display:flex; align-items:baseline; gap:16px; font-size:clamp(34px,10vw,76px); font-weight:800; font-stretch:116%; line-height:1; letter-spacing:-0.03em; text-transform:uppercase; opacity:0; transform:translateY(18px); transition:opacity 0.6s var(--ease),transform 0.6s var(--ease),color 0.3s}
.header--overlay-open .header--overlay-nav a {opacity:1; transform:none}
.header--overlay-nav a:hover {color:var(--acid)}
.header--overlay-nav em {font-style:normal; color:var(--silver)}
.header--overlay-foot {margin-top:auto; padding-top:28px; border-top:1px solid var(--line-soft); display:flex; flex-wrap:wrap; gap:18px 26px}
.header--overlay-foot a:hover {color:var(--acid)}
@media (min-width:1000px) {.header--desk {display:flex}
.header--burger {display:none}
.header--right {justify-self:end}
}
.hero--hero {position:relative; min-height:100svh; display:flex; align-items:stretch; overflow:clip; isolation:isolate}
.hero--media {position:absolute; inset:0; z-index:-1}
.hero--video {width:100%; height:100%; object-fit:cover; filter:saturate(108%) contrast(104%)}
.hero--scrim {position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,10,11,0.82) 0%,rgba(10,10,11,0.24) 34%,rgba(10,10,11,0.92) 100%),radial-gradient(120% 80% at 12% 78%,rgba(10,10,11,0.6),transparent 60%)}
.hero--rail {position:absolute; top:0; bottom:0; right:max(10px,calc(var(--gutter) * 0.34)); z-index:2; display:none; flex-direction:column; align-items:center; justify-content:center; gap:18px; writing-mode:vertical-rl; opacity:0.6}
.hero--rail-line {width:1px; height:clamp(60px,16vh,180px); background:linear-gradient(180deg,transparent,var(--acid),transparent)}
.hero--inner {position:relative; z-index:2; width:100%; max-width:var(--maxw); margin-inline:auto; padding:calc(var(--nav-h) + clamp(18px,4vh,40px)) var(--gutter) clamp(20px,4vh,42px); display:flex; flex-direction:column}
.hero--top {display:flex; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--line-soft)}
.hero--top span:last-child {display:none}
.hero--mark {margin:auto 0 0; padding-block:clamp(24px,8vh,80px) 0}
.hero--logo {width:min(100%,1180px); height:auto; color:var(--paper); filter:drop-shadow(0 12px 40px rgba(0,0,0,0.45)); animation:markIn 1.3s var(--ease) 0.1s both}
@keyframes markIn {from {clip-path:inset(0 100% 0 0); opacity:0.2}
to {clip-path:inset(0 0 0 0); opacity:1}
}
.hero--sr {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap}
.hero--line {margin:clamp(14px,2.4vh,26px) 0 0; max-width:26ch; font-size:clamp(17px,1.7vw,27px); line-height:1.2; letter-spacing:-0.015em; font-weight:500; text-wrap:balance; animation:fadeUp 1s var(--ease) 0.5s both}
.hero--actions {display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(20px,3.4vh,34px); animation:fadeUp 1s var(--ease) 0.66s both}
.hero--btn-arrow {width:13px; height:13px}
.hero--bottom {margin-top:clamp(28px,7vh,70px); padding-top:14px; border-top:1px solid var(--line-soft); display:flex; align-items:center; gap:18px 28px; flex-wrap:wrap; animation:fadeUp 1s var(--ease) 0.8s both}
.hero--scroll {display:inline-flex; align-items:center; gap:10px}
.hero--scroll-arrow {width:15px; height:15px; color:var(--acid); animation:nudge 2.6s var(--ease-in-out) infinite}
@keyframes nudge {0%,100% {transform:rotate(0deg) translate(0,0)}
50% {transform:rotate(0deg) translate(-2px,3px)}
}
.hero--socials {display:none; gap:20px; margin-inline:auto}
.hero--socials a:hover {color:var(--acid)}
.hero--ticker {display:inline-flex; align-items:center; gap:10px; margin-left:auto; padding:9px 14px; border:1px solid var(--line); --notch:10px; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); transition:border-color 0.35s var(--ease),background 0.35s var(--ease); max-width:100%}
.hero--ticker:hover {border-color:var(--acid); background:rgba(201,247,61,0.07)}
.hero--ticker .mono {color:var(--paper); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.hero--dot {width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--acid); box-shadow:0 0 0 0 rgba(201,247,61,0.65); animation:pulse 2.4s infinite}
@keyframes pulse {70% {box-shadow:0 0 0 9px rgba(201,247,61,0)}
100% {box-shadow:0 0 0 0 rgba(201,247,61,0)}
}
@keyframes fadeUp {from {opacity:0; transform:translate3d(0,16px,0)}
to {opacity:1; transform:none}
}
@media (min-width:700px) {.hero--top span:last-child {display:block}
.hero--rail {display:flex}
}
@media (min-width:1000px) {.hero--socials {display:flex}
}
@media (prefers-reduced-motion:reduce) {.hero--logo,.hero--line,.hero--actions,.hero--bottom {animation:none}
.hero--scroll-arrow,.hero--dot {animation:none}
}
.live--root {border-top:1px solid var(--line-soft); background:var(--ink-2)}
.live--head {display:grid; gap:clamp(16px,3vw,48px); align-items:end; margin-bottom:clamp(26px,4vw,56px)}
.live--lead {margin:0; color:var(--paper-dim); max-width:30ch}
.live--grid {display:grid; gap:clamp(18px,3vw,40px)}
.live--card {min-width:0}
.live--thumb {position:relative; display:block; width:100%; aspect-ratio:16 / 9; overflow:hidden; background:var(--graphite); padding:0; --notch:clamp(18px,2.6vw,34px)}
.live--thumb-img {width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease),filter 0.6s var(--ease); filter:saturate(95%) brightness(0.92)}
.live--thumb:hover .live--thumb-img {transform:scale(1.05); filter:saturate(115%) brightness(1)}
.live--scrim {position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(10,10,11,0.62)); pointer-events:none}
.live--play {position:absolute; left:18px; bottom:18px; z-index:2; width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--acid); color:#0a0a0b; transition:transform 0.45s var(--ease),background 0.35s var(--ease)}
.live--thumb:hover .live--play {transform:scale(1.12); background:var(--paper)}
.live--meta {padding-top:14px}
.live--title {margin:0 0 6px; font-size:clamp(16px,1.5vw,22px); font-weight:700; letter-spacing:-0.015em; line-height:1.15}
.live--more {margin:clamp(26px,4vw,44px) 0 0}
.live--arrow {width:12px; height:12px}
.live--lightbox {position:fixed; inset:0; z-index:140; display:grid; place-items:center; padding:clamp(14px,4vw,48px); background:rgba(6,6,7,0.94); backdrop-filter:blur(8px); animation:fade 0.3s var(--ease)}
.live--backdrop {position:absolute; inset:0; z-index:-1; background:transparent}
.live--player {position:relative; z-index:1; width:min(100%,1280px); aspect-ratio:16 / 9; background:#000; border:1px solid var(--line)}
.live--player iframe {width:100%; height:100%; border:0; display:block}
.live--close {position:absolute; top:clamp(10px,2vw,24px); right:clamp(10px,2vw,24px); z-index:2; width:44px; height:44px; border:1px solid var(--line); color:var(--paper); background:rgba(10,10,11,0.6); transition:background 0.3s,color 0.3s}
.live--close:hover {background:var(--paper); color:var(--ink)}
@keyframes fade {from {opacity:0}
to {opacity:1}
}
@media (min-width:760px) {.live--head {grid-template-columns:1fr auto}
.live--grid {grid-template-columns:repeat(2,1fr)}
.live--card:first-child {grid-column:1 / -1}
}
.music--root {border-top:1px solid var(--line-soft)}
.music--head {display:grid; gap:clamp(18px,3vw,48px); align-items:end; margin-bottom:clamp(30px,5vw,64px)}
.music--lead {color:var(--paper-dim); font-size:var(--fs-body); max-width:34ch; line-height:1.45; font-weight:400}
.music--list {list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.music--row {position:relative; display:grid; grid-template-columns:auto 1fr; grid-template-areas:"idx cover" "meta meta" "tags tags" "links links"; align-items:center; gap:10px 16px; padding:20px 0; border-bottom:1px solid var(--line-soft); transition:background 0.5s var(--ease)}
.music--row::before {content:""; position:absolute; left:calc(var(--gutter) * -0.4); right:calc(var(--gutter) * -0.4); top:0; bottom:0; background:linear-gradient(90deg,rgba(201,247,61,0.07),transparent 70%); opacity:0; transition:opacity 0.5s var(--ease); pointer-events:none; z-index:-1}
.music--row:hover::before {opacity:1}
.music--idx {grid-area:idx; color:var(--silver)}
.music--cover {grid-area:cover; width:62px; height:62px; overflow:hidden; background:var(--graphite); --notch:10px; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); justify-self:start}
.music--cover-img {width:100%; height:100%; object-fit:cover; transition:transform 0.9s var(--ease),filter 0.6s var(--ease); filter:saturate(85%)}
.music--row:hover .music--cover-img {transform:scale(1.08); filter:saturate(115%)}
.music--meta {grid-area:meta; min-width:0}
.music--name {margin:0; font-size:clamp(22px,3.4vw,40px); font-weight:700; font-stretch:112%; line-height:1.02; letter-spacing:-0.025em; text-transform:uppercase; transition:color 0.4s var(--ease)}
.music--row:hover .music--name {color:var(--acid)}
.music--sub {margin:5px 0 0; font-size:var(--fs-small); color:var(--paper-dim)}
.music--label,.music--year,.music--genre {color:var(--silver); white-space:nowrap}
.music--tags {grid-area:tags; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px}
.music--tags > span + span::before {content:"·"; margin-right:14px; color:var(--line)}
.music--links {grid-area:links; display:flex; flex-wrap:wrap; gap:8px}
.music--plat {font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.14em; text-transform:uppercase; padding:7px 11px; border:1px solid var(--line); transition:background 0.3s var(--ease),color 0.3s var(--ease),border-color 0.3s var(--ease)}
.music--plat:hover {background:var(--acid); border-color:var(--acid); color:#0a0a0b}
.music--more {margin:clamp(28px,4vw,44px) 0 0}
.music--arrow {width:12px; height:12px}
@media (min-width:760px) {.music--head {grid-template-columns:1fr auto}
.music--row {grid-template-columns:46px 78px minmax(0,1fr) 150px 60px auto; grid-template-areas:"idx cover meta label year links"; gap:18px; padding:22px 0}
.music--tags {display:contents}
.music--tags > span + span::before {content:none}
.music--label {grid-area:label}
.music--year {grid-area:year}
.music--genre {display:none}
.music--links {grid-area:links; justify-content:flex-end}
.music--cover {width:78px; height:78px}
}
@media (min-width:1180px) {.music--row {grid-template-columns:52px 92px minmax(0,1fr) 170px 150px 64px auto; grid-template-areas:"idx cover meta label genre year links"}
.music--genre {display:block; grid-area:genre}
.music--cover {width:92px; height:92px}
}
.now--root {position:relative; background:radial-gradient(90% 70% at 78% 8%,rgba(255,47,134,0.12),transparent 62%),var(--ink); border-top:1px solid var(--line-soft)}
.now--grid {display:grid; gap:clamp(28px,5vw,76px); align-items:center}
.now--art-wrap {max-width:520px}
.now--art {position:relative; aspect-ratio:1; overflow:hidden; background:var(--graphite); --notch:clamp(20px,3.4vw,42px)}
.now--art-img {width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease)}
.now--art:hover .now--art-img {transform:scale(1.035)}
.now--art-meta {display:flex; flex-wrap:wrap; gap:8px 18px; padding-top:12px; border-top:1px solid var(--line-soft); margin-top:12px}
.now--title {margin-top:14px; font-size:clamp(44px,8.5vw,128px)}
.now--artists {margin:12px 0 0; font-size:var(--fs-lead); color:var(--paper-dim); font-weight:500}
.now--facts {display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:16px 24px; margin:clamp(22px,3vw,34px) 0 0; padding-block:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.now--facts div {display:flex; flex-direction:column; gap:6px}
.now--facts dt {margin:0}
.now--facts dd {margin:0; font-weight:600; font-size:var(--fs-small); letter-spacing:0.01em; text-transform:uppercase}
.now--note {margin-top:20px; max-width:44ch}
.now--actions {display:flex; flex-wrap:wrap; gap:10px; margin-top:clamp(20px,3vw,30px)}
.now--arrow {width:12px; height:12px}
@media (min-width:900px) {.now--grid {grid-template-columns:minmax(280px,0.85fr) 1.15fr}
}
.preloader--root {position:fixed; inset:0; z-index:150; background:var(--ink); display:grid; place-items:center; animation:out 0.55s var(--ease-in-out) 1.2s forwards; pointer-events:none}
.preloader--mark {width:min(58vw,520px); color:var(--paper); overflow:hidden}
.preloader--logo {width:100%; height:auto; clip-path:inset(0 100% 0 0); animation:sweep 1s var(--ease-in-out) 0.12s forwards}
.preloader--bars {position:absolute; inset:0; display:grid; grid-template-columns:repeat(3,1fr)}
.preloader--bars span {background:var(--graphite); transform:scaleY(1); transform-origin:bottom; animation:drop 0.75s var(--ease-in-out) forwards}
.preloader--bars span:nth-child(2) {animation-delay:0.08s; background:var(--graphite-2)}
.preloader--bars span:nth-child(3) {animation-delay:0.16s}
.preloader--wipe {position:absolute; inset:0; background:linear-gradient( 100deg,transparent 38%,rgba(201,247,61,0.22) 48%,rgba(255,47,134,0.22) 54%,transparent 64% ); transform:translate3d(-110%,0,0); animation:leak 1.1s var(--ease) 0.3s forwards; mix-blend-mode:screen}
@keyframes sweep {to {clip-path:inset(0 0 0 0)}
}
@keyframes drop {to {transform:scaleY(0)}
}
@keyframes leak {to {transform:translate3d(110%,0,0)}
}
@keyframes out {to {opacity:0; visibility:hidden}
}
@media (prefers-reduced-motion:reduce) {.preloader--root {display:none}
}
.press--root {border-top:1px solid var(--line-soft)}
.press--head {display:grid; gap:clamp(16px,3vw,48px); align-items:end; margin-bottom:clamp(28px,4vw,56px)}
.press--lead {margin:0; color:var(--paper-dim); max-width:28ch}
.press--quote {margin:0 0 clamp(30px,5vw,60px); padding:clamp(24px,4vw,52px); background:var(--graphite); --notch:clamp(22px,3.4vw,44px); clip-path:polygon( 0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,var(--notch) 100%,0 calc(100% - var(--notch)) )}
.press--quote blockquote {margin:0}
.press--quote p {margin:0; font-size:clamp(21px,3.1vw,44px); line-height:1.16; letter-spacing:-0.025em; font-weight:600; max-width:24ch; text-wrap:balance}
.press--quote figcaption {margin-top:20px; color:var(--acid)}
.press--quote-link {display:inline-flex; align-items:center; gap:9px; margin-top:22px; font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.16em; text-transform:uppercase; border-bottom:1px solid var(--line); padding-bottom:4px; transition:color 0.3s,border-color 0.3s}
.press--quote-link:hover {color:var(--acid); border-color:var(--acid)}
.press--arrow {width:11px; height:11px}
.press--list {list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.press--item {display:grid; grid-template-columns:1fr auto; grid-template-areas:"outlet arrow" "headline headline" "date date"; gap:8px 16px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line-soft); transition:padding-left 0.5s var(--ease)}
.press--item:hover {padding-left:clamp(6px,1.2vw,18px)}
.press--outlet {grid-area:outlet; color:var(--paper)}
.press--headline {grid-area:headline; font-size:clamp(16px,1.5vw,22px); line-height:1.25; letter-spacing:-0.012em; color:var(--paper-dim); transition:color 0.4s var(--ease); max-width:58ch}
.press--item:hover .press--headline {color:var(--paper)}
.press--date {grid-area:date; color:var(--silver)}
.press--row-arrow {grid-area:arrow; width:14px; height:14px; color:var(--silver); transition:color 0.4s var(--ease),transform 0.4s var(--ease)}
.press--item:hover .press--row-arrow {color:var(--acid); transform:translate(3px,-3px)}
@media (min-width:760px) {.press--head {grid-template-columns:1fr auto}
.press--item {grid-template-columns:150px minmax(0,1fr) 130px 20px; grid-template-areas:"outlet headline date arrow"; padding:22px 0}
}
.press-kit--root {border-top:1px solid var(--line-soft)}
.press-kit--head {display:grid; gap:clamp(16px,3vw,48px); align-items:end; margin-bottom:clamp(26px,4vw,50px)}
.press-kit--lead {margin:0; color:var(--paper-dim); max-width:30ch}
.press-kit--hero {display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding:clamp(22px,3.4vw,44px); background:var(--acid); color:#0a0a0b; --notch:clamp(20px,3vw,40px); clip-path:polygon( 0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,var(--notch) 100%,0 calc(100% - var(--notch)) ); transition:background 0.4s var(--ease)}
.press-kit--hero:hover {background:var(--paper)}
.press-kit--hero-main {display:grid; gap:10px; min-width:0}
.press-kit--hero-tag {color:#3c4a15}
.press-kit--hero-title {font-size:clamp(26px,5vw,64px); font-weight:800; font-stretch:116%; line-height:0.96; letter-spacing:-0.035em; text-transform:uppercase}
.press-kit--hero-meta {display:flex; align-items:center; gap:18px}
.press-kit--hero-meta .mono {color:#3c4a15}
.press-kit--hero-arrow {width:clamp(34px,5vw,64px); height:clamp(34px,5vw,64px); transition:transform 0.5s var(--ease)}
.press-kit--hero:hover .press-kit--hero-arrow {transform:rotate(-90deg) translate(0,0)}
.press-kit--cols {display:grid; gap:clamp(26px,4vw,54px); margin-top:clamp(26px,4vw,54px)}
.press-kit--col-title {margin:0 0 14px; color:var(--paper)}
.press-kit--files {list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.press-kit--files a {display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid var(--line-soft); font-size:var(--fs-small); transition:padding-left 0.4s var(--ease),color 0.3s var(--ease)}
.press-kit--files a:hover {padding-left:10px; color:var(--acid)}
.press-kit--files .mono {color:var(--silver)}
.press-kit--logo-box {display:grid; place-items:center; padding:clamp(26px,4vw,52px); background:var(--graphite); margin-bottom:18px; --notch:18px}
.press-kit--logo-mark {width:min(78%,340px); height:auto; color:var(--paper)}
.press-kit--rules {margin:16px 0 0; font-size:var(--fs-small); color:var(--silver); max-width:44ch}
.press-kit--photos {margin-top:clamp(30px,4vw,60px); padding-top:26px; border-top:1px solid var(--line)}
.press-kit--photos-head {display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; align-items:baseline; margin-bottom:18px}
.press-kit--photo-grid {list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(10px,1.4vw,18px)}
.press-kit--photo {display:block; aspect-ratio:3 / 4; overflow:hidden; background:var(--graphite); --notch:14px}
.press-kit--photo-img {width:100%; height:100%; object-fit:cover; filter:grayscale(0.25); transition:transform 1s var(--ease),filter 0.5s var(--ease)}
.press-kit--photo:hover .press-kit--photo-img {transform:scale(1.05); filter:grayscale(0)}
@media (min-width:760px) {.press-kit--head {grid-template-columns:1fr auto}
.press-kit--cols {grid-template-columns:1.1fr 0.9fr}
.press-kit--photo-grid {grid-template-columns:repeat(6,1fr)}
}
.stages--root {border-top:1px solid var(--line-soft); background:radial-gradient(70% 60% at 90% 100%,rgba(70,232,216,0.08),transparent 62%),var(--ink)}
.stages--head {display:grid; gap:clamp(16px,3vw,48px); align-items:end; margin-bottom:clamp(28px,4vw,56px)}
.stages--lead {margin:0; color:var(--paper-dim); max-width:32ch; font-size:var(--fs-body)}
.stages--list {list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.stages--item {display:grid; grid-template-columns:78px minmax(0,1fr) auto; align-items:baseline; gap:12px 16px; padding:clamp(12px,1.6vw,22px) 0; border-bottom:1px solid var(--line-soft); transition:padding-left 0.5s var(--ease),color 0.4s var(--ease)}
.stages--item:hover {padding-left:clamp(8px,1.4vw,22px)}
.stages--kind {font-size:9px; color:var(--silver)}
.stages--name {font-size:clamp(26px,5.2vw,74px); font-weight:800; font-stretch:116%; line-height:0.96; letter-spacing:-0.035em; text-transform:uppercase; transition:color 0.4s var(--ease)}
.stages--item:hover .stages--name {color:var(--acid)}
.stages--place {color:var(--silver); white-space:nowrap}
.stages--terr {margin-top:clamp(26px,4vw,46px); display:grid; gap:12px}
.stages--terr-list {display:flex; flex-wrap:wrap; gap:8px 10px}
.stages--terr-list span {font-family:var(--font-mono),monospace; font-size:var(--fs-micro); letter-spacing:0.14em; text-transform:uppercase; padding:8px 13px; border:1px solid var(--line); color:var(--paper)}
@media (min-width:760px) {.stages--head {grid-template-columns:1fr auto}
}
@media (scripting:none){[data-reveal]{opacity:1 !important;transform:none !important}}
/* ---------- NEXT GIGS ---------- */
.dates--root{background:var(--ink-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.dates--head{display:grid;grid-template-columns:1fr;gap:14px;align-items:end;margin-bottom:clamp(26px,4vw,52px)}
.dates--lead{color:var(--paper-dim);max-width:46ch;font-size:var(--fs-body)}
.dates--month{margin-bottom:clamp(22px,3.4vw,44px)}
.dates--month-name{font-size:var(--fs-micro);letter-spacing:0.34em;text-transform:uppercase;color:var(--acid);padding-bottom:10px;border-bottom:1px solid var(--line);display:block}
.dates--list{list-style:none;margin:0;padding:0}
.dates--row{border-bottom:1px solid var(--line-soft)}
.dates--link{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(14px,2.4vw,40px);padding:clamp(16px,1.9vw,26px) 0;color:inherit;text-decoration:none;position:relative;transition:padding-left 0.45s var(--ease),color 0.3s var(--ease)}
a.dates--link::before{content:"";position:absolute;left:calc(-1 * clamp(10px,1.4vw,22px));top:0;bottom:0;width:2px;background:var(--acid);transform:scaleY(0);transform-origin:bottom;transition:transform 0.45s var(--ease)}
a.dates--link:hover{padding-left:clamp(10px,1.4vw,22px)}
a.dates--link:hover::before{transform:scaleY(1);transform-origin:top}
a.dates--link:hover .dates--event{color:var(--acid)}
.dates--stamp{display:flex;align-items:baseline;gap:8px;min-width:clamp(92px,9vw,132px)}
.dates--day{font-size:clamp(26px,3vw,44px);line-height:1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.dates--mon{font-size:var(--fs-micro);letter-spacing:0.2em;text-transform:uppercase;color:var(--silver)}
.dates--event{font-size:clamp(20px,2.5vw,38px);font-weight:700;letter-spacing:-0.015em;line-height:1.05;transition:color 0.3s var(--ease)}
.dates--city{font-size:var(--fs-micro);letter-spacing:0.18em;text-transform:uppercase;color:var(--silver);text-align:right}
.dates--state{font-size:var(--fs-micro);letter-spacing:0.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--acid)}
.dates--row[data-sold] .dates--state{color:var(--silver);text-decoration:line-through}
span.dates--link .dates--state{color:var(--silver)}
.dates--arrow{width:9px;height:9px;flex:none}
.dates--foot{margin-top:8px;color:var(--silver);font-size:var(--fs-micro);letter-spacing:0.16em;text-transform:uppercase}
.dates--foot a{color:var(--acid);text-decoration:underline;text-underline-offset:4px}
@media (max-width:820px){
.dates--link{grid-template-columns:auto 1fr;grid-template-areas:"stamp event" "stamp city" "stamp state";row-gap:4px;column-gap:16px;align-items:start;padding:18px 0}
.dates--stamp{grid-area:stamp;flex-direction:column;gap:2px;min-width:58px;align-items:flex-start}
.dates--event{grid-area:event}
.dates--city{grid-area:city;text-align:left}
.dates--state{grid-area:state;margin-top:4px}
}
/* ---------- language flags ---------- */
.header--langs{display:flex;align-items:center;gap:4px}
.header--flag{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid transparent;border-radius:2px;line-height:1;font-size:15px;opacity:0.5;transition:opacity 0.3s var(--ease),border-color 0.3s var(--ease),background 0.3s var(--ease)}
.header--flag:hover{opacity:1;background:rgba(237,237,234,0.06)}
.header--flag[aria-current]{opacity:1;border-color:var(--acid)}
.header--flag-code{font-family:var(--font-mono),monospace;font-size:var(--fs-micro);letter-spacing:0.14em}
@media (max-width:560px){.header--flag-code{display:none}.header--flag{padding:6px 5px}}
.footer--dev a{color:var(--acid);text-decoration:underline;text-underline-offset:4px}
.footer--langs{display:flex;gap:16px;flex-wrap:wrap}
.footer--langs a{display:inline-flex;align-items:center;gap:6px}
/* ---------- scroll progress ---------- */
.progress{position:fixed;top:0;left:0;height:1px;width:100%;z-index:120;transform:scaleX(0);transform-origin:0 50%;background:var(--paper);opacity:0.75;pointer-events:none;will-change:transform}
/* ---------- scramble ---------- */
[data-scrambling]{color:var(--silver)}
/* ---------- G/RLS portrait ---------- */
.glrs--media{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:flex-end;min-height:clamp(320px,42vw,620px)}
.glrs--cut{position:relative;margin:0;width:100%;max-width:640px;isolation:isolate}
.glrs--cut-img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:contrast(1.04) saturate(0.92);-webkit-mask-image:linear-gradient(to bottom,#000 78%,rgba(0,0,0,0.35) 93%,transparent 100%);mask-image:linear-gradient(to bottom,#000 78%,rgba(0,0,0,0.35) 93%,transparent 100%)}
.glrs--halo{position:absolute;z-index:0;left:50%;top:40%;width:104%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(237,237,233,0.22) 0%,rgba(237,237,233,0.09) 38%,rgba(237,237,233,0.02) 58%,transparent 72%);filter:blur(34px);pointer-events:none}
.glrs--ring{position:absolute;z-index:0;left:50%;top:38%;width:78%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(237,237,233,0.13);pointer-events:none}
.glrs--ring::after{content:"";position:absolute;inset:9%;border-radius:50%;border:1px solid rgba(237,237,233,0.06)}
.glrs--grid-dots{position:absolute;z-index:0;left:50%;top:42%;width:130%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;background-image:radial-gradient(rgba(237,237,233,0.5) 1px,transparent 1px);background-size:15px 15px;opacity:0.2;-webkit-mask-image:radial-gradient(circle,#000 18%,rgba(0,0,0,0.55) 42%,transparent 66%);mask-image:radial-gradient(circle,#000 18%,rgba(0,0,0,0.55) 42%,transparent 66%)}
@media (prefers-reduced-motion:no-preference){.glrs--ring{animation:glrs-spin 48s linear infinite}}
@keyframes glrs-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media (max-width:900px){.glrs--media{min-height:0;margin-top:8px}.glrs--cut{max-width:74vw}}
/* ---------- NEXT GIGS dropdown ---------- */
.header--dd{position:relative;display:inline-flex;align-items:center;gap:8px;margin:-14px 0;padding:8px 13px;border:1px solid var(--line);border-radius:2px;transition:border-color 0.35s var(--ease),background 0.35s var(--ease)}
.header--dd::after{content:"";position:absolute;inset:-14px -2px;z-index:0}
.header--dd:hover,.header--dd-open{border-color:var(--acid);background:rgba(237,237,233,0.06)}
.header--dd-dot{order:-1;width:5px;height:5px;border-radius:50%;background:var(--acid);flex:none}
@media (prefers-reduced-motion:no-preference){.header--dd-dot{animation:dd-pulse 2.4s var(--ease) infinite}}
@keyframes dd-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.35;transform:scale(0.72)}}

.header--dd-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--acid);color:var(--ink);font-family:var(--font-mono),monospace;font-size:9.5px;font-weight:700;letter-spacing:0;line-height:1}
.header--gigmenu{position:absolute;top:calc(100% + 13px);left:50%;z-index:5;transform:translateX(-50%) translateY(6px);width:min(430px,calc(100vw - 2 * var(--gutter)));padding:8px;background:color-mix(in srgb,var(--ink) 94%,transparent);backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--line);text-transform:none;letter-spacing:0;opacity:0;transition:opacity 0.28s var(--ease),transform 0.36s var(--ease)}
.header--dd-open .header--gigmenu{opacity:1;transform:translateX(-50%) translateY(0)}
.header--gig{display:grid;grid-template-columns:66px 1fr auto;grid-template-areas:"date name arrow" "date where arrow";align-items:center;column-gap:14px;padding:9px 12px;color:inherit;text-decoration:none;transition:background 0.25s var(--ease)}
a.header--gig:hover{background:rgba(237,237,233,0.06)}
a.header--gig:hover .header--gig-name{color:var(--acid)}
.header--gig-date{grid-area:date;white-space:nowrap;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--acid)}
.header--gig-name{grid-area:name;font-size:14.5px;font-weight:700;line-height:1.15;transition:color 0.25s var(--ease)}
.header--gig-where{grid-area:where;margin-top:2px;font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--silver)}
.header--gig-arrow{grid-area:arrow;width:11px;height:11px;color:var(--silver);transition:transform 0.3s var(--ease),color 0.25s}
a.header--gig:hover .header--gig-arrow{color:var(--acid);transform:translate(2px,-2px)}
.header--gig-soon{grid-area:arrow;font-size:9.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--silver)}
span.header--gig{opacity:0.62}
.header--gig-all{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;padding:11px 12px;border-top:1px solid var(--line-soft);font-size:var(--fs-micro);letter-spacing:0.18em;text-transform:uppercase;color:var(--acid)}
.header--gig-all:hover{background:rgba(237,237,233,0.06)}
@media (max-width:899px){.header--gigmenu{display:none}.header--dd-count{display:none}}
