/* Spade_ — "black-tie rave": tuxedo noir meets chrome silicon. Committed single dark look.
   Layout: full-bleed club sections, condensed chrome display type, Bodoni italic for the suit, mono for the machine. */
:root{
  --ink:#0B0910;        /* violet-black room */
  --ink-2:#141019;      /* raised panel */
  --ink-3:#1E1826;      /* rails, borders */
  --chrome:#ECE9F2;     /* text / chrome */
  --mute:#A49DB3;       /* secondary text (AA on ink) */
  --volt:#B65CFF;       /* silicon violet */
  --hot:#FF2E88;        /* party magenta — the underscore */
  --gold:#E7B556;       /* watch, chains */
  --tie:#E2433B;        /* paisley red */
  --accent:var(--hot);
  --accent-2:var(--volt);
  --f-display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --f-suit:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --f-body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gutter:clamp(16px,4vw,48px);
  --max:1240px;
  --bpm:124;
  --beat:calc(60s / var(--bpm));
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--chrome);font-family:var(--f-body);font-size:clamp(16px,1.05vw + 10px,18px);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:99;background:var(--gold);color:var(--ink);padding:10px 14px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}

/* grain + scanline atmosphere */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.07;mix-blend-mode:overlay;
  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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* WordPress flow resets */
.wp-site-blocks,.entry-content,.wp-block-post-content{margin:0;padding:0}
.wp-block-post-content > *,.is-layout-flow > *{margin-block:0}
.wp-block-group{box-sizing:border-box}
.wp-block-image{margin:0}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.wp-block-button{margin:0}

/* ───────── type ───────── */
.sp-eyebrow{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem;display:flex;align-items:center;gap:.6em}
.sp-eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
.sp-display,.sp-h1,.sp-h2{font-family:var(--f-display);font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:-.005em;text-wrap:balance;margin:0}
.sp-h1{font-size:clamp(3.2rem,11vw,9.5rem)}
.sp-h2{font-size:clamp(2.6rem,7vw,6rem)}
.sp-h3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1;margin:0 0 .5rem;letter-spacing:.01em}
.sp-suit{font-family:var(--f-suit);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0}
.sp-chrome{background:linear-gradient(180deg,#fff 0%,#D4CFDE 44%,#5E5873 50%,#BDB7CC 60%,#F6F3FA 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-accent{color:var(--accent)}
.sp-gold{color:var(--gold)}
.sp-lede{font-size:clamp(1.12rem,1.4vw + .6rem,1.4rem);line-height:1.5;color:var(--chrome);max-width:34ch;margin:1.25rem 0 0}
.sp-body{max-width:62ch;color:var(--mute);margin:1rem 0 0}
.sp-body strong{color:var(--chrome)}
.sp-cursor{animation:blink 1.06s steps(1) infinite}
.sp-underscore{color:var(--accent);display:inline-block;animation:blink 1.06s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.sp-strike{position:relative;display:inline-block;color:var(--mute)}
.sp-strike::after{content:"";position:absolute;left:-4%;right:-4%;top:52%;height:.12em;background:var(--accent);transform-origin:left;transform:scaleX(var(--strike,1));transition:transform .9s cubic-bezier(.7,0,.2,1)}

/* ───────── buttons ───────── */
.sp-btn .wp-block-button__link,.sp-btn-a{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-mono);font-weight:500;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:1em 1.5em;border-radius:0;
  background:var(--accent);color:var(--ink);border:2px solid var(--accent);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:transform .2s,background .2s,color .2s}
.sp-btn .wp-block-button__link:hover,.sp-btn-a:hover{transform:translateY(-2px);background:var(--chrome);border-color:var(--chrome)}
.sp-btn.is-ghost .wp-block-button__link,.sp-btn-a.is-ghost{background:transparent;color:var(--chrome);border-color:var(--ink-3);box-shadow:inset 0 0 0 1px rgba(236,233,242,.25)}
.sp-btn.is-ghost .wp-block-button__link:hover,.sp-btn-a.is-ghost:hover{background:var(--chrome);color:var(--ink)}
.sp-btn .wp-block-button__link::after,.sp-btn-a::after{content:"→";font-family:var(--f-body)}

/* ───────── layout ───────── */
.sp-section{position:relative;padding:clamp(72px,10vw,150px) var(--gutter)}
.sp-wrap{max-width:var(--max);margin:0 auto;position:relative}
.sp-split{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,80px);align-items:center}
@media(min-width:900px){.sp-split{grid-template-columns:1.05fr 1fr}.sp-split.is-flip > :first-child{order:2}}
.sp-split > *{min-width:0}

/* ───────── header ───────── */
.sp-header{position:fixed;left:0;right:0;top:0;z-index:50;padding:calc(env(safe-area-inset-top,0px) + 14px) var(--gutter) 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background .3s,backdrop-filter .3s,padding .3s}
.sp-header.is-scrolled{background:rgba(11,9,16,.78);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 var(--ink-3)}
.admin-bar .sp-header{top:32px}@media(max-width:782px){.admin-bar .sp-header{top:46px}}
.sp-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.sp-logo svg{height:30px;width:auto;display:block}
.sp-logo .sp-logo-mark{height:34px}
.sp-nav{display:none;gap:clamp(14px,2vw,30px);align-items:center}
.sp-nav a{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--mute);position:relative;padding:6px 0;transition:color .2s}
.sp-nav a:hover,.sp-nav a[aria-current="page"]{color:var(--chrome)}
.sp-nav a[aria-current="page"]::after{content:"_";color:var(--accent);position:absolute;right:-.8em;animation:blink 1.06s steps(1) infinite}
.sp-nav .sp-nav-cta{color:var(--ink);background:var(--accent);padding:9px 14px;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.sp-nav .sp-nav-cta:hover{color:var(--ink);background:var(--chrome)}
@media(min-width:960px){.sp-nav{display:flex}.sp-burger{display:none!important}}
.sp-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:6px;width:46px;height:46px;background:transparent;border:1px solid var(--ink-3);cursor:pointer;padding:0 11px}
.sp-burger span{display:block;height:2px;background:var(--chrome);transition:transform .3s,opacity .3s}
.sp-burger span:last-child{width:60%;background:var(--accent)}
.sp-menu-open .sp-burger span:first-child{transform:translateY(4px) rotate(45deg)}
.sp-menu-open .sp-burger span:last-child{transform:translateY(-4px) rotate(-45deg);width:100%}
.sp-drawer{position:fixed;inset:0;z-index:45;background:var(--ink);padding:calc(env(safe-area-inset-top,0px) + 96px) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 32px);display:flex;flex-direction:column;justify-content:space-between;clip-path:circle(0 at calc(100% - 40px) 40px);transition:clip-path .6s cubic-bezier(.7,0,.2,1);visibility:hidden}
.sp-menu-open .sp-drawer{clip-path:circle(150% at calc(100% - 40px) 40px);visibility:visible}
.sp-menu-open{overflow:hidden}
.sp-drawer nav{display:flex;flex-direction:column}
.sp-drawer nav a{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,12vw,4.5rem);line-height:1.02;text-decoration:none;color:var(--chrome);display:flex;align-items:baseline;gap:14px}
.sp-drawer nav a small{font-family:var(--f-mono);font-size:.8rem;color:var(--gold);font-weight:500;letter-spacing:.1em}
.sp-drawer nav a[aria-current="page"]{color:var(--accent)}
.sp-drawer-foot{font-family:var(--f-mono);font-size:.78rem;color:var(--mute);letter-spacing:.1em;text-transform:uppercase}

/* ───────── hero ───────── */
.sp-hero{position:relative;min-height:min(940px,100svh);display:flex;align-items:flex-end;padding:120px var(--gutter) clamp(40px,6vw,80px);overflow:hidden;isolation:isolate}
.sp-hero-bolts{position:absolute;inset:0;z-index:-1;width:100%;height:100%}
.sp-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(60% 55% at 72% 38%,rgba(182,92,255,.30),transparent 70%),
  radial-gradient(40% 40% at 18% 90%,rgba(255,46,136,.22),transparent 70%),var(--ink)}
.sp-hero-photo{position:absolute;z-index:-1;right:max(-60px,calc((100vw - 1500px)/2));bottom:0;height:min(100%,980px);width:auto;max-width:none;aspect-ratio:2/3;object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 82%,transparent 100%),linear-gradient(0deg,transparent 0%,#000 26%);mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 82%,transparent 100%),linear-gradient(0deg,transparent 0%,#000 26%);-webkit-mask-composite:source-in;mask-composite:intersect;filter:contrast(1.05) saturate(1.05)}
.sp-hero-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:899px){.sp-hero{align-items:flex-end;min-height:auto;padding-top:min(118vw,620px)}.sp-hero-photo{right:50%;transform:translateX(50%);height:min(124vw,660px);top:40px;bottom:auto;opacity:.9}}
.sp-hero-inner{width:100%;max-width:var(--max);margin:0 auto}
.sp-hero-logo{width:min(100%,820px);margin:0}
.sp-hero-logo svg{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 40px rgba(182,92,255,.35))}
.sp-hero-title{font-family:var(--f-suit);font-style:italic;font-weight:500;font-size:clamp(2rem,5vw,4.2rem);line-height:1;margin:.35em 0 0;text-transform:none}
.sp-hero-title em{font-style:normal;font-family:var(--f-mono);font-size:.32em;vertical-align:middle;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;margin-left:.6em;border:1px solid currentColor;padding:.35em .6em}
.sp-hero .sp-lede{margin-top:1rem}
.sp-hero .wp-block-buttons{margin-top:2rem}
.sp-hero-meta{position:absolute;right:var(--gutter);bottom:clamp(40px,6vw,80px);writing-mode:vertical-rl;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.3em;color:var(--mute);text-transform:uppercase;display:none}
@media(min-width:1200px){.sp-hero-meta{display:block}}

/* ───────── marquee ───────── */
.sp-marquee{overflow:hidden;border-block:1px solid var(--ink-3);background:var(--ink-2);padding:18px 0;white-space:nowrap;position:relative}
.sp-marquee-track{display:inline-flex;gap:2.5rem;animation:marq calc(var(--beat) * 48) linear infinite;padding-left:2.5rem}
.sp-marquee span{font-family:var(--f-display);font-weight:900;font-size:clamp(1.6rem,3.4vw,2.8rem);text-transform:uppercase;letter-spacing:.02em}
.sp-marquee span:nth-child(odd){-webkit-text-stroke:1px var(--chrome);color:transparent}
.sp-marquee i{font-style:normal;color:var(--accent);font-size:1.6rem;align-self:center}
.sp-marquee.is-tilt{transform:rotate(-2deg) scale(1.04);margin-block:-8px;z-index:2;background:var(--accent)}
.sp-marquee.is-tilt span,.sp-marquee.is-tilt i{color:var(--ink);-webkit-text-stroke:0}
.sp-marquee.is-tilt span:nth-child(odd){-webkit-text-stroke:1px var(--ink);color:transparent}
@keyframes marq{to{transform:translateX(-50%)}}

/* ───────── record / album ───────── */
.sp-deck{position:relative;aspect-ratio:1;width:min(100%,560px);margin-inline:auto;touch-action:none;user-select:none;-webkit-user-select:none}
.sp-sleeve{position:absolute;inset:0 18% 0 0;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);z-index:2;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sp-sleeve img{width:100%;height:100%;object-fit:cover}
.sp-vinyl{position:absolute;top:3%;bottom:3%;right:0;aspect-ratio:1;border-radius:50%;cursor:grab;z-index:1;
  background:radial-gradient(circle,transparent 0 17%,#050407 17.5% 19%,transparent 19.5%),repeating-radial-gradient(circle,#0d0b11 0 2px,#16131c 2px 3px),#0d0b11;box-shadow:0 20px 60px rgba(0,0,0,.7),inset 0 0 0 6px #08070a;transition:right .8s cubic-bezier(.2,.8,.2,1)}
.sp-vinyl::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 10%,rgba(255,255,255,.12) 14%,transparent 20% 55%,rgba(182,92,255,.18) 60%,transparent 66%)}
.sp-vinyl-label{position:absolute;inset:32%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #08070a}
.sp-vinyl-label img{width:100%;height:100%;object-fit:cover}
.sp-vinyl-label::after{content:"";position:absolute;inset:44%;border-radius:50%;background:var(--ink)}
.sp-deck.is-out .sp-vinyl{right:-14%}
.sp-deck.is-out .sp-sleeve{transform:translateX(-6%) rotate(-3deg)}
.sp-vinyl:active{cursor:grabbing}
.sp-deck{margin-bottom:44px}
.sp-deck-hint{position:absolute;bottom:-34px;right:0;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;display:flex;gap:10px;align-items:center}
.sp-sound{background:none;border:1px solid var(--ink-3);color:var(--mute);font:inherit;padding:4px 8px;cursor:pointer;letter-spacing:.14em}
.sp-sound[aria-pressed="true"]{color:var(--ink);background:var(--gold);border-color:var(--gold)}

.sp-platforms{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:2rem}
.sp-platforms .wp-block-button{width:100%}
.sp-platforms .wp-block-button__link{display:flex;justify-content:space-between;align-items:center;width:100%;text-decoration:none;background:var(--ink-2);color:var(--chrome);border:1px solid var(--ink-3);padding:16px 18px;font-family:var(--f-body);font-weight:700;font-size:.98rem;border-radius:0;transition:border-color .2s,background .2s,transform .2s}
.sp-platforms .wp-block-button__link::after{content:"↗";color:var(--accent);font-weight:400}
.sp-platforms .wp-block-button__link:hover{border-color:var(--accent);background:var(--ink-3);transform:translateY(-2px)}

/* ───────── not a DJ ───────── */
.sp-notdj{overflow:hidden;padding-bottom:0}
.sp-notdj .sp-h2{font-size:clamp(3rem,10vw,8.5rem)}
.sp-notdj-photo{margin-top:clamp(40px,6vw,80px);position:relative;margin-inline:calc(var(--gutter) * -1)}
.sp-notdj-photo img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:50% 30%}
.sp-notdj-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink) 0%,transparent 30%,transparent 65%,var(--ink) 100%)}
.sp-sticker{position:absolute;z-index:3;font-family:var(--f-mono);text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;background:var(--gold);color:var(--ink);padding:10px 14px;transform:rotate(-6deg);box-shadow:4px 4px 0 var(--ink)}
.sp-notdj .sp-sticker{right:12%;top:18%}
@media(max-width:700px){.sp-notdj-photo img{aspect-ratio:4/3}.sp-sticker{font-size:.62rem;padding:7px 10px}.sp-notdj .sp-sticker{right:6%;top:12%}.sp-notdj .sp-sticker.is-2{display:none}}
.sp-notdj .sp-sticker.is-2{left:8%;right:auto;top:auto;bottom:22%;background:var(--accent);transform:rotate(5deg)}

/* ───────── mixer ───────── */
.sp-mixer-panel{background:linear-gradient(180deg,#1a1522,#0f0c14);border:1px solid var(--ink-3);border-radius:18px;padding:clamp(20px,3vw,36px);box-shadow:0 40px 100px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);position:relative}
.sp-mixer-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:22px;gap:12px;flex-wrap:wrap}
.sp-led{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);margin-right:8px;animation:pulse var(--beat) infinite}
@keyframes pulse{0%{opacity:1}60%{opacity:.25}}
.sp-eq{display:flex;gap:5px;height:120px;align-items:flex-end;padding:14px;background:#08070b;border-radius:10px;border:1px solid var(--ink-3)}
.sp-eq i{flex:1;background:linear-gradient(0deg,var(--accent-2),var(--accent) 70%,var(--gold));border-radius:2px;height:20%;transition:height .08s linear}
.sp-mixer-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:24px}
.sp-xfade label,.sp-knob-wrap label{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.sp-xfade input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:44px;background:transparent;cursor:pointer}
.sp-xfade input[type=range]::-webkit-slider-runnable-track{height:8px;background:linear-gradient(90deg,var(--volt),var(--hot));border-radius:4px}
.sp-xfade input[type=range]::-moz-range-track{height:8px;background:linear-gradient(90deg,var(--volt),var(--hot));border-radius:4px}
.sp-xfade input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:44px;margin-top:-18px;border-radius:4px;background:linear-gradient(180deg,#f4f1f8,#8d879c 48%,#3c3747 52%,#d9d4e2);border:1px solid #000;box-shadow:0 4px 10px rgba(0,0,0,.6)}
.sp-xfade input[type=range]::-moz-range-thumb{width:30px;height:44px;border-radius:4px;background:linear-gradient(180deg,#f4f1f8,#8d879c 48%,#3c3747 52%,#d9d4e2);border:1px solid #000}
.sp-knob-wrap{text-align:center}
.sp-knob{width:84px;height:84px;border-radius:50%;border:none;cursor:ns-resize;position:relative;touch-action:none;
  background:radial-gradient(circle at 35% 30%,#4a4456,#17131d 70%);box-shadow:0 0 0 6px #0b090f,0 0 0 7px var(--ink-3),0 10px 24px rgba(0,0,0,.6)}
.sp-knob::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:22px;margin-left:-2px;border-radius:2px;background:var(--gold);transform-origin:50% 34px;transform:rotate(var(--rot,0deg))}
.sp-bpm{font-family:var(--f-display);font-weight:900;font-size:2.6rem;line-height:1;margin-top:12px;font-variant-numeric:tabular-nums}
.sp-bpm small{font-family:var(--f-mono);font-size:.7rem;color:var(--mute);font-weight:500;margin-left:4px}
.sp-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}
.sp-pad{aspect-ratio:1.4;border:1px solid var(--ink-3);border-radius:8px;background:#100d15;color:var(--mute);font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .1s,box-shadow .1s,color .1s}
.sp-pad:hover{color:var(--chrome)}
.sp-pad.is-hit{background:var(--accent);color:var(--ink);box-shadow:0 0 30px var(--accent)}

/* ───────── club / join ───────── */
.sp-club{background:radial-gradient(70% 70% at 80% 50%,rgba(231,181,86,.12),transparent 70%),var(--ink)}
.sp-club-photo{position:relative;max-width:520px;margin-inline:auto}
.sp-club-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.sp-club-photo::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--gold);z-index:-1}
.sp-card-num{position:absolute;bottom:-18px;right:-10px;background:var(--ink);border:1px solid var(--gold);color:var(--gold);font-family:var(--f-mono);font-size:.72rem;letter-spacing:.16em;padding:12px 16px;text-transform:uppercase}
.sp-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:2rem;max-width:520px}
.sp-form input,.sp-form select,.sp-form textarea{flex:1 1 220px;min-width:0;background:var(--ink-2);border:1px solid var(--ink-3);color:var(--chrome);font:inherit;font-size:1rem;padding:15px 16px;border-radius:0;transition:border-color .2s}
.sp-form input:focus,.sp-form select:focus,.sp-form textarea:focus{outline:none;border-color:var(--accent)}
.sp-form input::placeholder,.sp-form textarea::placeholder{color:#7a7389}
.sp-form button{font-family:var(--f-mono);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:var(--ink);border:0;padding:15px 22px;cursor:pointer;font-weight:500;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.sp-form button:hover{background:var(--chrome)}
.sp-form-msg{flex-basis:100%;font-family:var(--f-mono);font-size:.78rem;color:var(--gold);letter-spacing:.06em;min-height:1.2em;margin:0}
.sp-form.is-stack{flex-direction:column;max-width:none}
.sp-form.is-stack > *{flex:none;width:100%}
.sp-form .sp-field{display:flex;flex-direction:column;gap:6px}
.sp-form .sp-field label{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.sp-form-row{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:640px){.sp-form-row{grid-template-columns:1fr 1fr}}
.sp-hp{position:absolute;left:-9999px}

/* ───────── page hero (inner pages) ───────── */
.sp-pagehero{padding:clamp(140px,18vw,220px) var(--gutter) clamp(48px,7vw,90px);position:relative;overflow:hidden;border-bottom:1px solid var(--ink-3)}
.sp-pagehero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 85% 0%,rgba(182,92,255,.28),transparent 70%),radial-gradient(40% 60% at 0% 100%,rgba(255,46,136,.16),transparent 70%)}
.sp-pagehero .sp-h1{font-size:clamp(3.4rem,12vw,10rem)}
.sp-pagehero .sp-lede{max-width:46ch}
.sp-pagehero-index{position:absolute;right:var(--gutter);top:clamp(120px,14vw,170px);font-family:var(--f-mono);font-size:.72rem;color:var(--mute);letter-spacing:.2em;text-transform:uppercase}

/* ───────── generic blocks ───────── */
.sp-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(16px,2vw,24px)}
.sp-tile{background:var(--ink-2);border:1px solid var(--ink-3);padding:clamp(24px,3vw,36px);position:relative;transition:border-color .3s,transform .3s}
.sp-tile:hover{border-color:rgba(255,46,136,.5);transform:translateY(-4px)}
.sp-tile .sp-tile-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;margin:0 0 18px}
.sp-tile p{color:var(--mute);margin:0}
.sp-quote{font-family:var(--f-suit);font-style:italic;font-size:clamp(1.8rem,4.2vw,3.6rem);line-height:1.12;max-width:22ch;text-wrap:balance;margin:0}
.sp-quote-by{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:1.5rem}
.sp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));border-top:1px solid var(--ink-3)}
.sp-fact{padding:22px 0;border-bottom:1px solid var(--ink-3);padding-right:16px}
.sp-fact-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.16em;color:var(--mute);text-transform:uppercase;margin:0}
.sp-fact-v{overflow-wrap:anywhere;font-family:var(--f-display);font-weight:800;font-size:1.7rem;text-transform:uppercase;margin:.25rem 0 0;line-height:1.05}
.sp-photo-frame img{width:100%;object-fit:cover}
.sp-photo-frame.is-tall img{aspect-ratio:3/4;object-position:50% 20%}
.sp-photo-frame.is-wide img{aspect-ratio:3/2}
.sp-photo-cap{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;margin-top:10px}
.sp-timeline{list-style:none;margin:2rem 0 0;padding:0;border-left:1px solid var(--ink-3)}
.sp-timeline li{padding:0 0 28px 28px;position:relative;color:var(--mute);max-width:56ch}
.sp-timeline li::before{content:"";position:absolute;left:-6px;top:.45em;width:11px;height:11px;background:var(--accent);transform:rotate(45deg)}
.sp-timeline li strong{display:block;color:var(--chrome);font-family:var(--f-display);font-size:1.5rem;text-transform:uppercase;font-weight:800;line-height:1.1;margin-bottom:4px}
.sp-cta-band{text-align:left;border-top:1px solid var(--ink-3);background:linear-gradient(120deg,rgba(182,92,255,.14),rgba(255,46,136,.10) 60%,transparent),var(--ink)}
.sp-cta-band .sp-h2 + .sp-body{margin-top:1.4rem}
.sp-cta-band .wp-block-buttons{margin-top:2rem}

/* merch */
.sp-merch{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(16px,2vw,24px);margin-top:3rem}
.sp-product{background:var(--ink-2);border:1px solid var(--ink-3);display:flex;flex-direction:column}
.sp-product-art{aspect-ratio:1;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2a2233,#120f17 70%);overflow:hidden;position:relative}
.sp-product-art svg{width:78%;height:auto;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.sp-product:hover .sp-product-art svg{transform:scale(1.06) rotate(-2deg)}
.sp-product-art .sp-tag{position:absolute;top:14px;left:14px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;background:var(--gold);color:var(--ink);padding:5px 8px;text-transform:uppercase}
.sp-product-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.sp-product-body h3{font-family:var(--f-display);font-weight:800;font-size:1.6rem;text-transform:uppercase;margin:0;line-height:1}
.sp-product-body p{margin:0;color:var(--mute);font-size:.95rem}
.sp-product-body .sp-status{margin-top:auto;padding-top:14px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}

/* shows */
.sp-dates{border-top:1px solid var(--ink-3);margin-top:2.5rem}
.sp-date{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--ink-3)}
.sp-date-d{font-family:var(--f-display);font-weight:900;font-size:2.2rem;line-height:.9;text-transform:uppercase;color:var(--mute)}
.sp-date-d small{display:block;font-size:.9rem;font-family:var(--f-mono);font-weight:500;letter-spacing:.1em}
.sp-date-v{font-family:var(--f-display);font-weight:800;font-size:1.5rem;text-transform:uppercase;line-height:1.05}
.sp-date-v span{display:block;font-family:var(--f-body);font-weight:400;text-transform:none;font-size:.95rem;color:var(--mute)}
.sp-date-s{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid currentColor;padding:8px 12px;white-space:nowrap}
@media(max-width:600px){.sp-date{grid-template-columns:64px 1fr}.sp-date-s{grid-column:2;justify-self:start}}

/* legal / prose */
.sp-prose{max-width:72ch;margin:0 auto;color:var(--mute)}
.sp-prose h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--chrome);margin:2.6rem 0 .6rem;line-height:1.05}
.sp-prose p,.sp-prose ul{margin:0 0 1rem}
.sp-prose li{margin-bottom:.4rem}
.sp-prose a{color:var(--accent)}
.sp-prose .sp-updated{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* news (posts) */
.sp-posts{display:grid;gap:0;border-top:1px solid var(--ink-3);max-width:var(--max);margin:0 auto}
.sp-posts .wp-block-post{border-bottom:1px solid var(--ink-3);padding:28px 0;display:grid;gap:8px}
.sp-posts .wp-block-post-title{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4vw,3rem);line-height:1;margin:0}
.sp-posts .wp-block-post-title a{text-decoration:none}
.sp-posts .wp-block-post-title a:hover{color:var(--accent)}
.sp-posts .wp-block-post-date{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.sp-posts .wp-block-post-excerpt{color:var(--mute);max-width:62ch}
.sp-single{max-width:72ch;margin:0 auto;padding:clamp(140px,16vw,200px) var(--gutter) 80px;box-sizing:content-box}
.sp-single .wp-block-post-title{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,7vw,5rem);line-height:.92;margin:.4rem 0 1.5rem}
.sp-single .wp-block-post-content{color:var(--mute)}
.sp-single .wp-block-post-content > * + *{margin-top:1rem}

/* ───────── footer ───────── */
.sp-footer{border-top:1px solid var(--ink-3);padding:clamp(60px,8vw,110px) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow:hidden}
.sp-footer-big{display:block;width:100%;margin:0 auto 56px;max-width:var(--max)}
.sp-footer-big svg{width:100%;height:auto;display:block;opacity:.95}
.sp-footer-grid{max-width:var(--max);margin:0 auto;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.sp-footer h4{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:0 0 14px}
.sp-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sp-footer a{text-decoration:none;color:var(--mute);transition:color .2s}
.sp-footer a:hover{color:var(--chrome)}
.sp-footer-base{max-width:var(--max);margin:48px auto 0;padding-top:22px;border-top:1px solid var(--ink-3);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#7a7389}

/* ───────── reveal (visible at rest; animates when JS adds .is-armed) ───────── */
.sp-armed .sp-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.sp-armed .sp-reveal.is-in{opacity:1;transform:none}
.sp-glitch{position:relative}
.sp-glitch:hover{animation:glitch .35s steps(2) 1}
@keyframes glitch{0%{text-shadow:2px 0 var(--hot),-2px 0 var(--volt)}50%{text-shadow:-3px 0 var(--hot),3px 0 var(--volt);transform:translateX(1px)}100%{text-shadow:none}}

/* cursor spark */
.sp-spark{position:fixed;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:70;background:var(--accent);box-shadow:0 0 10px var(--accent)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .sp-armed .sp-reveal{opacity:1;transform:none}
}
