
@font-face{ font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/bebas-neue-400-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/bebas-neue-400-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Sora'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/sora-400-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Sora'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/sora-400-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Sora'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/fonts/sora-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Sora'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/fonts/sora-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Fira Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/fira-mono-400-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Fira Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/fira-mono-400-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Fira Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/fonts/fira-mono-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Fira Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/fonts/fira-mono-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root{
  --black: #0B0B0A;
  --paper: #EDE7D6;
  --paper-2: #E2D9C2;
  --ink: #17140E;
  --accent: #C46BFF;
  --accent-deep: #8521B6;
  --red: #C6262E;
  --red-bright: #FF4D57;
  --text: #EFEAE0;
  --text-dim: #A79E8E;
  --line: rgba(239,234,224,0.18);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  background: var(--black);
  color: var(--text);
  font-family:'Sora', sans-serif;
  line-height:1.6;
  overflow-x:hidden;
  position:relative;
}

body::before{
  content:''; position:fixed; inset:0; z-index:2; pointer-events:none; opacity:0.16; mix-blend-mode:overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

body::after{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0.5;
  background-image: radial-gradient(rgba(239,234,224,0.07) 1.6px, transparent 1.6px);
  background-size: 7px 7px;
}
h1,h2,h3{ font-family:'Bebas Neue', sans-serif; font-weight:400; letter-spacing:0.015em; line-height:0.92; text-transform:uppercase; }
.mono{ font-family:'Fira Mono', monospace; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1180px; margin:0 auto; padding-inline:28px; position:relative; z-index:1; }
::selection{ background:var(--accent); color:var(--ink); }
:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }

.skip-link{
  position:fixed; top:-60px; left:12px; z-index:1000; background:var(--accent); color:var(--ink);
  padding:10px 16px; font-family:'Fira Mono',monospace; font-size:0.85rem; font-weight:700; transition:top .15s;
}
.skip-link:focus{ top:12px; }


.torn-b{ clip-path: polygon(0% 0%,100% 0%,100% 96%,97% 100%,92% 95%,87% 100%,82% 96%,77% 100%,72% 95%,67% 100%,62% 96%,57% 100%,52% 95%,47% 100%,42% 96%,37% 100%,32% 95%,27% 100%,22% 96%,17% 100%,12% 95%,7% 100%,2% 96%,0% 100%); }
.tape{ position:absolute; width:70px; height:22px; background:rgba(239,234,224,0.55); box-shadow:0 2px 4px rgba(0,0,0,0.35); }
.tape::before{ content:''; position:absolute; inset:0; background:repeating-linear-gradient(115deg, transparent 0 3px, rgba(0,0,0,0.04) 3px 4px); }

header{ border-bottom:2px solid var(--ink); position:sticky; top:0; z-index:30; background:rgba(11,11,10,0.94); }
.nav{ display:flex; align-items:center; justify-content:space-between; padding-block:14px; position:relative; }
.brand{ font-family:'Bebas Neue'; font-size:1.5rem; letter-spacing:0.03em; display:inline-flex; align-items:center; gap:9px; }
.brand-mark{ width:26px; height:26px; flex:0 0 auto; }
.brand .tag{ font-family:'Fira Mono'; font-size:0.6rem; color:var(--black); background:var(--accent); padding:3px 7px; margin-left:10px; letter-spacing:0.05em; transform:rotate(-2deg); display:inline-block; }
.navlinks{ display:flex; gap:22px; font-family:'Fira Mono',monospace; font-size:0.8rem; letter-spacing:0.03em; text-transform:uppercase; }
.navlinks a{ opacity:0.75; border-bottom:2px solid transparent; padding-bottom:2px; }
.navlinks a:hover, .navlinks a:focus-visible, .navlinks a[aria-current="page"]{ opacity:1; color:var(--accent); border-color:var(--accent); }
.burger{ display:none; width:38px; height:32px; flex-direction:column; justify-content:center; gap:6px; background:none; border:none; cursor:pointer; }
.burger span{ width:100%; height:2px; background:var(--text); }

@media (max-width:900px){
  .burger{ display:flex; }
  .navlinks{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0; background:var(--black); border-bottom:2px solid var(--ink);
  }
  .navlinks.open{ display:flex; }
  .navlinks a{ padding:14px 28px; border-bottom:1px solid var(--line); }
}


.hero-bleed{ position:relative; overflow:hidden; }
.hero-bleed img.bg-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; z-index:0; }
.hero-bleed::before{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(11,11,10,0.28) 0%, rgba(11,11,10,0.46) 55%, var(--black) 100%); }
.hero-bleed .wrap{ z-index:2; }
.hero{ padding-block:70px 60px; position:relative; z-index:1; }
.stamp{
  display:inline-flex; align-items:center; gap:8px; font-family:'Fira Mono',monospace; font-size:0.95rem; letter-spacing:0.03em; text-transform:uppercase;
  color: var(--red-bright); border: 2px solid var(--red-bright); padding:9px 16px;
  margin-top:22px; font-weight:700;
}
.flyer{ position:relative; }
.flyer .wordmark{
  font-family:'Bebas Neue', sans-serif; line-height:1;
  font-size:clamp(4rem, 13vw, 9.5rem); color:var(--paper);
  text-shadow: 6px 6px 0 var(--red);
}
.flyer .wordmark .ring{ display:inline-block; width:0.62em; height:0.62em; vertical-align:0.06em; }
.flyer .wordmark .ring path{ stroke:var(--accent); }
.flyer h1{ margin-top:14px; font-family:'Fira Mono',monospace; font-weight:700; font-size:clamp(1.05rem,2.6vw,1.4rem); color:var(--accent); letter-spacing:0.02em; max-width:46ch; }
.flyer .sub{ margin-top:10px; font-family:'Fira Mono',monospace; font-size:clamp(0.85rem,2.2vw,1.15rem); letter-spacing:0.18em; text-transform:uppercase; color:var(--text-dim); }

.hero-flex{ display:flex; gap:30px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; margin-top:34px; }
.hero-card{
  background:var(--paper); color:var(--ink); padding:26px 30px 34px; max-width:42ch;
  transform: rotate(-0.6deg); position:relative; box-shadow:0 24px 50px -18px rgba(0,0,0,0.6); flex:1 1 340px;
}
.hero-card p{ font-size:1.04rem; font-family:'Sora'; color:#2b2417; }
.hero-card .tape{ top:-12px; left:24px; transform:rotate(-4deg); }
.hero-card .tape.r{ left:auto; right:24px; transform:rotate(5deg); top:-12px; }

.polaroid{ background:var(--paper); padding:10px 10px 46px; transform:rotate(2deg); box-shadow:0 24px 50px -18px rgba(0,0,0,0.6); position:relative; flex:0 0 220px; }
.polaroid img{ width:100%; height:auto; display:block; aspect-ratio:1/1; object-fit:cover; filter:saturate(1.05) contrast(1.05); }
.polaroid .cap{ position:absolute; bottom:12px; left:14px; right:14px; font-family:'Fira Mono',monospace; font-size:0.72rem; color:#4a4433; letter-spacing:0.02em; }
.polaroid .tape{ top:-12px; right:20px; transform:rotate(6deg); }

.ledger{ margin-top:34px; display:flex; flex-wrap:wrap; gap:0; border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); }
.ledger div{ flex:1 1 140px; padding:14px 18px; border-right:1px solid var(--line); font-family:'Fira Mono',monospace; }
.ledger div:last-child{ border-right:none; }
.ledger .v{ font-family:'Bebas Neue'; font-size:2rem; color:var(--accent); display:block; }
.ledger .l{ font-size:0.75rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-dim); }

.cta-row{ margin-top:30px; display:flex; gap:14px; flex-wrap:wrap; }
.gbtn{
  display:inline-block; cursor:pointer; font-family:'Fira Mono',monospace;
  font-size:0.85rem; letter-spacing:0.05em; text-transform:uppercase; font-weight:700;
  padding:15px 24px; border:2px solid var(--text); background:transparent; color:var(--text);
  clip-path: polygon(0 0, 100% 0, 100% 78%, 94% 100%, 0 100%);
  transition: transform .12s ease, box-shadow .12s ease;
}
.gbtn.solid{ background:var(--accent); color:var(--ink); border-color:var(--accent); }
.gbtn:hover, .gbtn:focus-visible{ transform:translate(-3px,-3px); box-shadow:5px 5px 0 var(--red); }
.gbtn.solid:hover, .gbtn.solid:focus-visible{ box-shadow:5px 5px 0 var(--ink); }
@media (prefers-reduced-motion: reduce){ .gbtn{ transition:none; } }

.torn-rule{ height:14px; background:
  linear-gradient(135deg, var(--ink) 25%, transparent 25%) 0 0/10px 10px,
  linear-gradient(225deg, var(--ink) 25%, transparent 25%) 0 0/10px 10px;
  opacity:0.5; }

section{ padding:60px 0; position:relative; z-index:1; }
.head{ display:flex; align-items:baseline; gap:14px; margin-bottom:8px; }
.head .idx{ font-family:'Fira Mono',monospace; color:var(--accent); font-size:0.9rem; }
.head .glyph{ width:34px; height:34px; color:var(--accent); opacity:0.85; align-self:center; }
.head h2{ font-size:clamp(2.2rem,5vw,3.4rem); }
.lede{ color:var(--text-dim); margin: 6px 0 32px; font-size:1.02rem; }


.pagehead-bleed{ position:relative; overflow:hidden; }
.pagehead-bleed img.bg-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; }
.pagehead-bleed::before{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(11,11,10,0.35) 0%, rgba(11,11,10,0.72) 65%, var(--black) 100%); }
.pagehead{ padding:60px 0 44px; border-bottom:2px solid var(--ink); position:relative; z-index:2; }
.pagehead .idx{ font-family:'Fira Mono',monospace; color:var(--accent); font-size:0.85rem; letter-spacing:0.08em; }
.pagehead h1{ font-size:clamp(2.4rem,6vw,4.6rem); margin-top:10px; color:var(--paper); text-shadow:5px 5px 0 var(--red); }
.pagehead p{ margin-top:16px; color:var(--text-dim); font-size:1.05rem; }
.crumbs{ font-family:'Fira Mono',monospace; font-size:0.75rem; color:var(--text-dim); letter-spacing:0.04em; }
.crumbs a{ color:var(--accent); }


#bio p, .prose p{ color:var(--text-dim); margin-top:14px; font-size:1.02rem; }
.prose p{ max-width:70ch; }
#bio p strong, .prose p strong{ color:var(--text); }
#bio .facts, .facts{ margin-top:26px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
#bio .facts div, .facts div{ border:1px solid var(--line); padding:16px 18px; }
#bio .facts .k, .facts .k{ display:block; font-family:'Fira Mono',monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--accent); }
#bio .facts .d, .facts .d{ display:block; margin-top:6px; font-size:0.92rem; color:var(--text-dim); }


.board-wrap{ position:relative; margin:0 -28px; overflow-x:hidden; padding-block:6px; }
.board{ display:flex; gap:26px; overflow-x:auto; padding:10px 28px; scroll-snap-type:x proximity; scrollbar-width:none; -ms-overflow-style:none; }
.board::-webkit-scrollbar{ display:none; }
.board-controls{ display:flex; justify-content:center; gap:16px; margin-top:16px; }
.board-nav{ width:46px; height:46px; border-radius:50%; background:var(--accent); border:2px solid var(--accent);
  color:var(--black); display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease; }
.board-nav:hover{ transform:scale(1.08); }
.board-nav svg{ width:22px; height:22px; }
.board-nav[disabled]{ background:transparent; border-color:var(--line); color:var(--text-dim); opacity:0.5; pointer-events:none; }
@media (max-width:560px){ .board-nav{ width:50px; height:50px; } .board-nav svg{ width:24px; height:24px; } }
.pin{
  flex:0 0 240px; scroll-snap-align:start; background:var(--paper); color:var(--ink); padding:20px 20px 26px; position:relative;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pin:nth-child(odd){ transform: rotate(-1.6deg); }
.pin:nth-child(even){ transform: rotate(1.4deg); }
.pin:hover, .pin:focus-within{ transform:rotate(0deg) translateY(-6px); box-shadow:0 18px 30px -12px rgba(0,0,0,0.55); }
.pin::before{ content:''; position:absolute; top:8px; left:50%; transform:translateX(-50%); width:12px; height:12px; border-radius:50%; background:#8b8878; box-shadow:0 2px 3px rgba(0,0,0,0.4), inset -1px -1px 2px rgba(0,0,0,0.3); }
.pin .yr{ font-family:'Fira Mono',monospace; font-size:0.72rem; color:#5a5240; }
.pin h3{ font-family:'Bebas Neue'; text-transform:uppercase; font-size:1.9rem; margin-top:6px; color:var(--ink); letter-spacing:0.01em; }
.pin p{ margin-top:8px; font-size:0.86rem; color:#4a4433; font-family:'Sora'; }
.pin a.tab{ display:inline-block; margin-top:14px; font-family:'Fira Mono',monospace; font-size:0.72rem; color:var(--red); text-transform:uppercase; font-weight:700; }
@media (prefers-reduced-motion: reduce){ .pin{ transition:none; } }


.disco-table{ width:100%; border-collapse:collapse; margin-top:20px; }
.disco-table th{ text-align:left; font-family:'Fira Mono',monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--accent); padding:10px 14px; border-bottom:2px solid var(--ink); }
.disco-table td{ padding:12px 14px; border-bottom:1px solid var(--line); font-size:0.92rem; }
.disco-table tr:hover td{ background:rgba(154,107,255,0.12); }
.disco-table .ttl{ font-family:'Bebas Neue'; font-size:1.15rem; letter-spacing:0.01em; }
.disco-table .ttl a{ color:var(--paper); }
.disco-table .ttl a:hover{ color:var(--accent); }
.disco-table td.yr, .disco-table td.lbl{ color:var(--text-dim); font-family:'Fira Mono',monospace; font-size:0.82rem; white-space:nowrap; }
.table-wrap{ overflow-x:auto; margin:0 -8px; padding:0 8px; }
@media (max-width:560px){ .disco-table td.lbl{ white-space:normal; } .disco-table td.ttl{ word-break:break-word; } }


#universe{ position:relative; }
#universe .bleed, .bleed{ position:absolute; inset:0; background-image:url('/img/pedalboard.webp'); background-size:cover; background-position:center; z-index:0; content-visibility:auto; contain-intrinsic-size:1000px; }
#universe .bleed::after, .bleed::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, var(--black) 0%, rgba(11,11,10,0.82) 14%, rgba(11,11,10,0.85) 86%, var(--black) 100%); }
#universe .wrap{ position:relative; z-index:1; }
.patches{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.patch{ border:2px dashed var(--line); padding:20px; position:relative; background:rgba(11,11,10,0.62); backdrop-filter:blur(2px); transition:border-color .15s ease, transform .15s ease; }
.patch:has(a.tab):hover{ border-color:var(--accent); transform:translateY(-3px); }
.patch::before{ content:''; position:absolute; inset:6px; border:1px solid rgba(239,234,224,0.08); pointer-events:none; }
.patch .id{ font-family:'Fira Mono',monospace; font-size:0.75rem; color:var(--text-dim); letter-spacing:0.08em; }
.patch .glyph{ width:40px; height:40px; color:var(--accent); opacity:0.9; margin-top:10px; display:block; }
.patch h3{ font-family:'Bebas Neue'; font-size:1.5rem; margin-top:8px; letter-spacing:0.01em; color:var(--accent); }
.patch span{ display:block; margin-top:8px; font-size:0.85rem; color:var(--text-dim); font-family:'Sora'; }
.patch a.tab{ display:inline-block; margin-top:12px; font-family:'Fira Mono',monospace; font-size:0.7rem; color:var(--accent); text-transform:uppercase; font-weight:700; text-decoration:underline; }
.more-line{ margin-top:22px; font-family:'Fira Mono',monospace; font-size:0.85rem; color:var(--text-dim); }
.more-line a{ color:var(--accent); text-decoration:underline; }


.manifesto{ background:var(--paper); color:var(--ink); padding:44px clamp(24px,5vw,56px) 50px; position:relative; overflow:hidden; transform:rotate(0.5deg); box-shadow:0 30px 60px -20px rgba(0,0,0,0.55); }
.manifesto .tape{ top:-14px; left:40px; transform:rotate(-6deg); }
.manifesto .tape.r{ left:auto; right:40px; top:-14px; transform:rotate(7deg); }
.manifesto .sigil-wm{ position:absolute; right:-40px; bottom:-40px; width:340px; height:340px; color:var(--ink); opacity:0.06; pointer-events:none; }
.manifesto::after{ content:'XEROX COPY — NOT FOR RESALE'; position:absolute; bottom:14px; right:24px; font-family:'Fira Mono',monospace; font-size:0.72rem; color:#4a4433; }
.manifesto .kicker{ font-family:'Fira Mono',monospace; font-size:0.8rem; letter-spacing:0.06em; color:var(--red); text-transform:uppercase; font-weight:700; }
.manifesto h2{ color:var(--ink); font-size:clamp(3rem,8vw,5.5rem); margin-top:10px; display:flex; align-items:center; gap:16px; }
.manifesto .pull{ margin-top:18px; color:#2b2417; font-family:'Sora'; font-weight:400; font-size:clamp(1.15rem,2.2vw,1.4rem); line-height:1.6; max-width:62ch; position:relative; z-index:1; min-height:6.4em; }
@media (max-width:900px){ .manifesto .pull{ min-height:9.6em; } }
@media (max-width:560px){ .manifesto .pull{ min-height:19.2em; } }
.type-cursor{ display:inline-block; width:8px; background:var(--ink); margin-left:2px; animation:blink 1s steps(1) infinite; }
@keyframes blink{ 50%{ opacity:0; } }
@media (prefers-reduced-motion: reduce){ .type-cursor{ animation:none; opacity:0; } }


.paper-card{ background:var(--paper); color:var(--ink); padding:32px clamp(20px,4vw,44px); position:relative; box-shadow:0 24px 50px -18px rgba(0,0,0,0.55); }
.paper-card p{ margin-top:14px; color:#3a331f; font-size:1.02rem; }
.paper-card p:first-of-type{ margin-top:0; }
.paper-card h2{ color:var(--ink); font-size:1.7rem; margin-bottom:8px; }
.paper-card h2:not(:first-child){ margin-top:28px; }
.paper-card a{ color:var(--red); text-decoration:underline; }
.bc-embed{ margin-top:24px; clear:both; }
.bc-embed .bc-label{ display:block; margin-bottom:8px; font-family:'Fira Mono',monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:#6b6248; }
.bc-embed iframe{ max-width:400px; }

.sampler-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:24px; }
.sampler-card{ background:var(--paper); color:var(--ink); padding:16px; box-shadow:0 20px 40px -16px rgba(0,0,0,0.5); }
.sampler-card .yr{ font-family:'Fira Mono',monospace; font-size:0.7rem; color:#6b6248; text-transform:uppercase; letter-spacing:0.04em; }
.sampler-card h3{ font-size:1.15rem; margin:4px 0 2px; color:var(--ink); }
.sampler-card .from{ font-size:0.82rem; color:#6b6248; margin-bottom:10px; }
.sampler-card iframe{ width:100%; }
.bc-facade{ display:flex; align-items:center; gap:10px; height:44px; padding:0 16px; margin-top:4px;
  background:var(--ink); color:var(--paper); font-family:'Fira Mono',monospace; font-size:0.85rem;
  cursor:pointer; transition:background .15s ease; }
.bc-facade:hover, .bc-facade:focus-visible{ background:var(--accent-deep); color:var(--paper); }
.bc-facade .bc-play{ color:var(--accent); font-size:0.9rem; }
.bc-facade:hover .bc-play, .bc-facade:focus-visible .bc-play{ color:var(--paper); }
@media (max-width:900px){ .sampler-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sampler-grid{ grid-template-columns:1fr; } }

.yt-facade{ position:relative; aspect-ratio:16/9; max-width:480px; margin-top:20px; background:var(--ink);
  border:2px solid var(--line); cursor:pointer; overflow:hidden; }
.yt-facade .yt-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:56px; height:56px; border-radius:50%; background:var(--accent); color:var(--black);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; transition:background .15s ease; }
.yt-facade:hover .yt-play, .yt-facade:focus-visible .yt-play{ background:var(--accent-deep); color:var(--paper); }
.yt-facade .yt-label{ position:absolute; bottom:10px; left:12px; right:12px; font-family:'Fira Mono',monospace;
  font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--paper);
  text-shadow:0 1px 4px rgba(0,0,0,0.8); }
.yt-facade iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.album-art{ float:right; width:180px; margin:0 0 18px 24px; }
.album-art img{ width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; border:1px solid rgba(0,0,0,0.15); box-shadow:0 14px 28px -12px rgba(0,0,0,0.5); }
.album-art .cap{ display:block; margin-top:8px; font-family:'Fira Mono',monospace; font-size:0.68rem; color:#6b6248; text-align:center; }
@media (max-width:560px){ .album-art{ float:none; width:min(220px,60%); margin:0 auto 20px; } }


.meta-strip{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.meta-chip{ font-family:'Fira Mono',monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.04em; border:1px solid var(--line); padding:6px 12px; color:var(--text-dim); }
.related-row{ display:flex; gap:18px; flex-wrap:wrap; margin-top:16px; }
.related-card{ flex:1 1 200px; border:1px solid var(--line); padding:16px 18px; transition:border-color .15s ease, transform .15s ease; }
.related-card:hover{ border-color:var(--accent); transform:translateY(-3px); }
.related-card:has(img.thumb){ display:flex; gap:14px; align-items:center; }
.related-card img.thumb{ width:56px; height:56px; object-fit:cover; flex:0 0 56px; border:1px solid rgba(239,234,224,0.15); }
.related-card .rc-text{ flex:1; min-width:0; }
.pin img.pin-cover{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; margin:-20px -20px 14px; width:calc(100% + 40px); filter:saturate(1.05); }
.related-card .yr{ font-family:'Fira Mono',monospace; font-size:0.7rem; color:var(--text-dim); }
.related-card h3{ font-size:1.4rem; margin-top:6px; }
.related-card a{ color:var(--accent); font-family:'Fira Mono',monospace; font-size:0.75rem; display:inline-block; margin-top:8px; text-transform:uppercase; }

.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; }

.faq-block{ background:var(--paper); color:var(--ink); padding:32px clamp(20px,4vw,44px); margin-top:22px; box-shadow:0 24px 50px -18px rgba(0,0,0,0.55); }
.faq-block h2{ color:var(--ink); font-size:1.5rem; margin-bottom:16px; }
.faq-item{ border-top:1px solid rgba(23,20,14,0.14); padding:14px 0; }
.faq-item:first-of-type{ border-top:none; padding-top:0; }
.faq-item summary{ cursor:pointer; font-weight:700; color:var(--ink); font-family:'Fira Mono',monospace; font-size:0.95rem; list-style:none; position:relative; padding-right:28px; }
.faq-item summary h3{ display:inline; font:inherit; font-weight:inherit; color:inherit; margin:0; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:'+'; position:absolute; right:0; top:-2px; font-size:1.3rem; color:var(--red); }
.faq-item[open] summary::after{ content:'\2212'; }
.faq-item p{ margin-top:10px; color:#3a331f; font-size:0.98rem; }

footer{ border-top:2px solid var(--ink); position:relative; z-index:1; overflow:hidden; }
.marquee{ padding:14px 0; white-space:nowrap; overflow:hidden; background:var(--ink); }
.marquee.top{ border-bottom:1px solid rgba(239,234,224,0.08); }
.marquee-track{ display:inline-flex; gap:34px; font-family:'Bebas Neue'; font-size:1.7rem; letter-spacing:0.02em; will-change:transform; }
.marquee-track.a{ animation:scroll-left 30s linear infinite; color:var(--paper); opacity:0.7; }
.marquee-track.b{ animation:scroll-right 34s linear infinite; color:var(--accent); }
@keyframes scroll-left{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@keyframes scroll-right{ from{ transform:translateX(-50%);} to{ transform:translateX(0);} }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none !important; } }

.disclosure{ margin:40px 0 32px; border:2px solid var(--line); padding:20px 22px; font-family:'Fira Mono',monospace; font-size:0.9rem; line-height:1.7; color:var(--text-dim); }
.disclosure strong{ color:var(--text); }
.fgrid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:36px; padding-bottom:40px; }
.fgrid .fhead{ font-family:'Fira Mono',monospace; font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.fgrid a{ display:block; font-size:0.9rem; color:var(--text-dim); margin-bottom:8px; }
.fgrid a:hover{ color:var(--text); }
.foot-note{ padding-bottom:36px; font-family:'Fira Mono',monospace; font-size:0.78rem; color:var(--text-dim); }

@media (max-width:900px){
  .patches{ grid-template-columns:repeat(2,1fr); }
  .fgrid{ grid-template-columns:1fr 1fr; }
  #bio .facts, .facts{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .patches{ grid-template-columns:1fr; }
  .fgrid{ grid-template-columns:1fr; }
  .flyer .sub{ letter-spacing:0.08em; }
  .hero-bleed img.bg-photo{ object-position:58% 8%; }
}



.patches-5{ grid-template-columns:repeat(3,1fr); }
@media (max-width:560px){ .patches-5{ grid-template-columns:1fr; } }

.related-row.featured{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
@media (max-width:900px){ .related-row.featured{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .related-row.featured{ grid-template-columns:1fr; } }


.cur-dot, .cur-ring{
  position:fixed; top:0; left:0; z-index:999; pointer-events:none;
  border-radius:50%; mix-blend-mode:difference; background:#fff;
  transform:translate(-50%,-50%); will-change:transform;
}
.cur-dot{ width:6px; height:6px; }
.cur-ring{ width:34px; height:34px; background:transparent; border:1.5px solid #fff; transition: width .22s cubic-bezier(.2,.8,.2,1), height .22s cubic-bezier(.2,.8,.2,1), border-color .22s; }
.cur-ring.hov{ width:64px; height:64px; border-color: var(--accent); }
.cur-ring.press{ width:26px; height:26px; }
html.cur-active a, html.cur-active button{ cursor:none; }
