/* Layout: sound-system night poster. Full-bleed hero with a live level meter, then a single 1120px column; sections split label-left / content-right on desktop, stacked on phones. Committed single dark look. */
:root{
  --night:#120f24;      /* page ground, deep indigo */
  --deck:#1b1735;       /* raised surfaces */
  --line:#332c5c;       /* hairlines */
  --bone:#f2ecdc;       /* main text */
  --mute:#a9a1c9;       /* secondary text */
  --gold:#f2b134;       /* the one accent */
  --ke-red:#c8312f; --ke-green:#2f8a55; /* Kenya stripe, used only as a small mark */
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1120px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--night);color:var(--bone);font:400 15px/1.65 var(--body);margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--display);font-weight:900;line-height:.92;text-transform:uppercase;margin:0;text-wrap:balance;letter-spacing:.005em}
h2{font-size:clamp(32px,4.5vw,48px)}
h3{font-size:24px;font-weight:800;line-height:1}
p{margin:0}

/* ---------- nav ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--night) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:900 20px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.stripe{display:inline-grid;grid-template-rows:repeat(3,4px);gap:2px;width:18px}
.stripe i{display:block;background:var(--bone)}
.stripe i:nth-child(1){background:var(--bone)}
.stripe i:nth-child(2){background:var(--ke-red)}
.stripe i:nth-child(3){background:var(--ke-green)}
.nav ul{display:flex;gap:clamp(12px,2.4vw,28px);list-style:none;margin:0;padding:0;font:500 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.nav ul a{text-decoration:none;color:var(--mute)}
.nav ul a:hover{color:var(--bone)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 16px/1 var(--body);letter-spacing:.02em;text-decoration:none;padding:14px 22px;border-radius:999px;border:1.5px solid var(--gold);background:var(--gold);color:var(--night);cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--gold)}
.nav .btn{padding:10px 16px;font-size:14px;margin-left:auto}
@media (max-width:760px){.nav ul{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.9}
.hero .wrap{position:relative;padding-block:clamp(20px,3vw,36px) clamp(40px,6vw,72px);display:grid;gap:24px}
.hero h1{font-size:clamp(64px,12vw,150px);line-height:.8;letter-spacing:-.005em}
.hero h1 .l1,.hero h1 .l2{display:block;white-space:nowrap}
.hero h1 .l1{color:var(--bone)}
#dw .hero h1 b{font-weight:inherit;color:transparent;-webkit-text-stroke:2px var(--bone)}
#dw .hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--bone)}
#dw .hero h1{line-height:.9}
#dw .hero h1 .l2{margin-top:.06em}
.hero h1 em{font-style:normal;-webkit-text-stroke:2px var(--bone);color:transparent}
.hero .lede{max-width:34ch;font-size:clamp(16px,1.6vw,18px);line-height:1.5;color:var(--bone)}
.hero .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.readout{display:flex;flex-wrap:wrap;gap:8px 22px;font:400 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.readout b{color:var(--bone);font-weight:500}

/* ---------- sections ---------- */
section.block{padding-block:clamp(64px,9vw,112px);border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,72px)}
.split > *{min-width:0}
.split .head{display:grid;gap:18px;align-content:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* about */
.about-copy{display:grid;gap:20px;max-width:62ch}
.about-copy p:first-child{font-size:15px;line-height:1.65}
.portrait{display:block;width:100%;height:auto;object-fit:cover;object-position:center top;aspect-ratio:4/5;max-width:100%;border:1px solid var(--line);border-radius:4px;background:
  repeating-linear-gradient(0deg,transparent 0 7px,rgba(242,177,52,.07) 7px 8px),
  radial-gradient(120% 80% at 30% 20%,#2a2350,var(--deck));display:grid;place-items:end start;padding:18px}
.portrait span{font:500 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}

/* timeline */
.timeline{list-style:none;margin:0;padding:0;display:grid}
.timeline li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding-block:22px;border-top:1px solid var(--line)}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline time{font:800 28px/1 var(--display);color:var(--gold);font-variant-numeric:tabular-nums}
.timeline h3{margin-bottom:6px}
.timeline p{color:var(--mute);max-width:56ch}
@media (max-width:560px){.timeline li{grid-template-columns:1fr;gap:8px}}

/* radio dial: the Look East detail */
.dial{margin-top:10px;border:1px solid var(--line);border-radius:4px;padding:16px 18px;background:var(--deck);display:grid;gap:10px;max-width:420px}
.dial .scale{position:relative;height:30px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 10px);border-bottom:1px solid var(--mute)}
.dial .needle{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--gold);left:calc((94 - 88) / 20 * 100%)}
.dial .nums{display:flex;justify-content:space-between;font:400 11px/1 var(--mono);color:var(--mute);font-variant-numeric:tabular-nums}
.dial .on{font:500 12px/1.3 var(--mono);letter-spacing:.06em;color:var(--bone)}

/* services */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.service{background:var(--night);padding:28px;display:grid;gap:12px;align-content:start}
.service .tag{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.service p{color:var(--mute)}
@media (max-width:620px){.services{grid-template-columns:1fr}}

/* sound */
.genres{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.genres li{font:800 clamp(18px,2vw,24px)/1 var(--display);text-transform:uppercase;letter-spacing:.02em;padding:12px 18px;border:1.5px solid var(--line);border-radius:999px}
.genres li:nth-child(3n+1){border-color:var(--gold);color:var(--gold)}

/* event */
.event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,4vw,40px);align-items:center;border:1.5px solid var(--gold);border-radius:6px;padding:clamp(20px,4vw,36px);background:var(--deck)}
.event .date{text-align:center;font-family:var(--display);text-transform:uppercase;line-height:.85}
.event .date b{display:block;font-size:56px;font-weight:900;color:var(--gold)}
.event .date span{font-size:18px;font-weight:800;letter-spacing:.08em}
.event h3{font-size:clamp(24px,3vw,32px);margin-bottom:8px}
.event p{color:var(--mute)}
.event .past{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);border-radius:999px;padding:8px 12px;white-space:nowrap}
@media (max-width:700px){.event{grid-template-columns:1fr;text-align:left}.event .date{text-align:left}}

/* mixes */
.mix{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--line);text-decoration:none}
.mix:last-child{border-bottom:1px solid var(--line)}
.mix:hover h3{color:var(--gold)}
.mix .meta{font:400 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.mix .arrow{font:500 20px/1 var(--mono);color:var(--gold)}

/* booking */
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
label{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
input,select,textarea{font:400 15px/1.4 var(--body);color:var(--bone);background:var(--deck);border:1px solid var(--line);border-radius:4px;padding:13px 14px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:120px;resize:vertical}
@media (max-width:620px){form{grid-template-columns:1fr}}
.contact-lines{display:grid;gap:14px;font:400 14px/1.4 var(--mono)}
.contact-lines div{display:grid;gap:4px}
.contact-lines span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.contact-lines a,.contact-lines b{font-weight:500;color:var(--bone);word-break:break-all}
.result{grid-column:1/-1;border:1px solid var(--gold);border-radius:4px;padding:18px;background:var(--deck);display:grid;gap:12px}
.result pre{margin:0;white-space:pre-wrap;font:400 13px/1.55 var(--mono);color:var(--bone);user-select:all}
.result p{color:var(--mute);font-size:14px}

footer{padding-block:40px 56px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;font:400 12px/1.5 var(--mono);letter-spacing:.06em;color:var(--mute)}
footer nav{display:flex;flex-wrap:wrap;gap:18px}
footer a{text-decoration:none}
footer a:hover{color:var(--gold)}

/* WordPress theme guard */
#dw .hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#dw .form-status{grid-column:1/-1;margin:0;min-height:1.4em;font:500 15px/1.4 var(--body);color:var(--mute)}
#dw .form-status.ok{color:#7fd6a0}
#dw .form-status.err{color:#ff8a7a}
#dw #booking button[disabled]{opacity:.6;cursor:wait}
#dw a.inline-link{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
#dw a.inline-link:hover{color:#fff}
#dw #story a.inline-link{color:var(--clay)}
#dw #story a.inline-link:hover{color:var(--charcoal)}
#dw .about-copy{display:grid;gap:18px}
#dw .about-copy p:empty,#dw .about-copy br{display:none}
#dw .about-copy .about-lead{font:900 clamp(26px,3.2vw,36px)/1 var(--display);text-transform:uppercase;letter-spacing:.02em;color:#fff}
#dw .about-copy .about-close{font:800 clamp(20px,2.2vw,26px)/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--gold);border-top:1px solid var(--line);padding-top:18px}
#dw h2,#dw h3{color:#fff}
#dw .hero .tagline{font:800 clamp(22px,3vw,34px)/1.05 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--bone);display:grid;gap:4px}
#dw .hero .tagline span:last-child{padding-left:1.2em;color:var(--mute)}
#dw p,#dw h1,#dw h2,#dw h3,#dw ol,#dw ul,#dw figure{margin:0}
#dw ol,#dw ul{padding:0}
#dw p{font-size:inherit;line-height:inherit}
#dw{font-size:15px;line-height:1.65;background:var(--night);color:var(--bone);font-family:var(--body)}
#dw a{color:inherit}
#dw .btn{color:var(--night)}
#dw .btn.ghost{color:var(--gold)}
#dw h1,#dw h2,#dw h3{font-family:var(--display);letter-spacing:.005em}
/* ---------- collage hero ---------- */
#dw .hero{--paper:#efe6d2;--ink:#151225;--k-green:#2f8a55;--k-red:#c8312f;--k-gold:#f2b134;background:var(--night)}
#dw .hero canvas{display:none}
#dw .hero .wrap{z-index:2}
#dw .collage{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#dw .cl{position:absolute;display:block}
#dw .cl-dots{right:-4%;bottom:-10%;width:62%;height:80%;background:radial-gradient(circle,rgba(242,177,52,.22) 1.6px,transparent 2px) 0 0/12px 12px;-webkit-mask:radial-gradient(closest-side,#000,transparent);mask:radial-gradient(closest-side,#000,transparent)}
#dw .cl-paper{right:7%;top:9%;width:min(25vw,330px);aspect-ratio:5/6;background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 2px,transparent 2px 5px),var(--paper);clip-path:polygon(0.0% 1.9%,4.5% 0.9%,9.1% 3.9%,13.6% 0.4%,18.2% 3.2%,22.7% 2.2%,27.3% 0.3%,31.8% 3.0%,36.4% 0.2%,40.9% 2.6%,45.5% 0.4%,50.0% 0.5%,54.5% 2.5%,59.1% 5.0%,63.6% 0.7%,68.2% 1.3%,72.7% 3.8%,77.3% 5.7%,81.8% 3.5%,86.4% 2.4%,90.9% 5.9%,95.5% 0.3%,100.0% 5.2%,99.4% 4.5%,99.7% 9.1%,99.8% 13.6%,99.4% 18.2%,98.4% 22.7%,99.6% 27.3%,98.8% 31.8%,98.7% 36.4%,99.3% 40.9%,98.9% 45.5%,99.9% 50.0%,99.9% 54.5%,99.6% 59.1%,98.6% 63.6%,99.1% 68.2%,99.4% 72.7%,98.8% 77.3%,99.1% 81.8%,99.4% 86.4%,98.4% 90.9%,98.6% 95.5%,100.0% 98.5%,95.5% 96.6%,90.9% 96.8%,86.4% 94.7%,81.8% 95.6%,77.3% 98.3%,72.7% 94.1%,68.2% 99.3%,63.6% 97.5%,59.1% 95.5%,54.5% 99.1%,50.0% 97.1%,45.5% 99.8%,40.9% 96.0%,36.4% 95.4%,31.8% 96.6%,27.3% 94.7%,22.7% 98.1%,18.2% 95.8%,13.6% 96.4%,9.1% 96.5%,4.5% 97.3%,0.0% 95.0%,1.9% 95.5%,0.9% 90.9%,1.3% 86.4%,0.1% 81.8%,1.4% 77.3%,1.3% 72.7%,2.0% 68.2%,1.6% 63.6%,0.6% 59.1%,0.8% 54.5%,1.3% 50.0%,0.0% 45.5%,0.9% 40.9%,0.3% 36.4%,0.2% 31.8%,0.1% 27.3%,1.5% 22.7%,0.3% 18.2%,0.5% 13.6%,0.8% 9.1%,1.7% 4.5%);transform:rotate(5deg);box-shadow:0 10px 30px rgba(0,0,0,.4)}
#dw .cl-photo{right:9.5%;top:13%;width:min(21vw,280px);aspect-ratio:4/5;background:#221c3a var(--photo,none) center top/cover no-repeat;transform:rotate(-3deg);outline:6px solid var(--paper)}
#dw .cl-tape{width:92px;height:26px;background:rgba(239,230,210,.55);clip-path:polygon(0.0% 4.2%,6.2% 6.6%,12.5% 1.6%,18.8% 0.2%,25.0% 11.7%,31.2% 7.8%,37.5% 6.3%,43.8% 11.2%,50.0% 5.2%,56.2% 10.5%,62.5% 9.9%,68.8% 2.5%,75.0% 3.0%,81.2% 3.5%,87.5% 2.9%,93.8% 7.0%,100.0% 3.1%,98.3% 6.2%,99.5% 12.5%,96.4% 18.8%,98.6% 25.0%,98.2% 31.2%,97.7% 37.5%,96.4% 43.8%,98.3% 50.0%,96.3% 56.2%,98.0% 62.5%,97.9% 68.8%,97.9% 75.0%,99.9% 81.2%,98.2% 87.5%,99.3% 93.8%,100.0% 100.0%,93.8% 90.4%,87.5% 97.9%,81.2% 94.3%,75.0% 91.3%,68.8% 93.3%,62.5% 96.1%,56.2% 93.8%,50.0% 93.3%,43.8% 90.6%,37.5% 98.7%,31.2% 93.3%,25.0% 97.0%,18.8% 96.7%,12.5% 90.7%,6.2% 93.9%,0.0% 93.3%,3.0% 93.8%,3.6% 87.5%,1.8% 81.2%,2.5% 75.0%,2.0% 68.8%,2.0% 62.5%,2.8% 56.2%,1.8% 50.0%,2.1% 43.8%,1.9% 37.5%,3.8% 31.2%,2.8% 25.0%,3.5% 18.8%,3.8% 12.5%,1.0% 6.2%)}
#dw .cl-tape.t1{right:calc(9.5% + min(21vw,280px) - 60px);top:calc(13% - 10px);transform:rotate(-38deg)}
#dw .cl-tape.t2{right:6%;top:calc(13% + min(26vw,350px) - 6px);transform:rotate(-30deg)}
#dw .cl-gold{right:1%;top:58%;width:min(34vw,430px);height:64px;background:var(--k-gold);clip-path:polygon(0.0% 0.8%,7.1% 4.5%,14.3% 5.5%,21.4% 8.8%,28.6% 8.2%,35.7% 8.6%,42.9% 2.8%,50.0% 4.2%,57.1% 3.6%,64.3% 8.8%,71.4% 9.6%,78.6% 1.5%,85.7% 1.8%,92.9% 2.3%,100.0% 2.3%,98.4% 7.1%,98.0% 14.3%,99.1% 21.4%,100.0% 28.6%,98.6% 35.7%,98.8% 42.9%,98.1% 50.0%,96.8% 57.1%,97.7% 64.3%,98.3% 71.4%,97.9% 78.6%,97.7% 85.7%,99.8% 92.9%,100.0% 91.0%,92.9% 92.2%,85.7% 91.3%,78.6% 92.0%,71.4% 96.1%,64.3% 96.0%,57.1% 99.0%,50.0% 93.7%,42.9% 99.4%,35.7% 99.3%,28.6% 97.9%,21.4% 98.4%,14.3% 96.6%,7.1% 99.5%,0.0% 100.0%,0.5% 92.9%,0.3% 85.7%,1.2% 78.6%,0.1% 71.4%,2.9% 64.3%,2.0% 57.1%,0.5% 50.0%,0.8% 42.9%,1.2% 35.7%,1.2% 28.6%,0.4% 21.4%,2.8% 14.3%,3.3% 7.1%);transform:rotate(-7deg)}
#dw .cl-green{right:27%;top:7%;width:min(15vw,190px);height:30px;background:var(--k-green);clip-path:polygon(0.0% 2.3%,5.0% 2.4%,10.0% 0.4%,15.0% 0.5%,20.0% 1.7%,25.0% 1.3%,30.0% 4.1%,35.0% 0.8%,40.0% 0.1%,45.0% 4.8%,50.0% 2.6%,55.0% 0.7%,60.0% 2.7%,65.0% 0.1%,70.0% 2.6%,75.0% 4.9%,80.0% 4.3%,85.0% 3.5%,90.0% 1.3%,95.0% 1.8%,100.0% 0.8%,98.7% 5.0%,99.1% 10.0%,98.7% 15.0%,99.5% 20.0%,99.6% 25.0%,98.6% 30.0%,98.4% 35.0%,98.6% 40.0%,98.7% 45.0%,98.6% 50.0%,98.8% 55.0%,99.6% 60.0%,99.1% 65.0%,99.4% 70.0%,100.0% 75.0%,100.0% 80.0%,99.5% 85.0%,99.6% 90.0%,98.8% 95.0%,100.0% 95.2%,95.0% 97.8%,90.0% 95.3%,85.0% 95.1%,80.0% 95.2%,75.0% 98.2%,70.0% 98.9%,65.0% 98.9%,60.0% 99.0%,55.0% 99.0%,50.0% 96.9%,45.0% 95.5%,40.0% 95.8%,35.0% 97.6%,30.0% 96.7%,25.0% 96.0%,20.0% 99.6%,15.0% 96.7%,10.0% 95.5%,5.0% 96.1%,0.0% 96.2%,0.8% 95.0%,0.3% 90.0%,1.3% 85.0%,0.6% 80.0%,1.3% 75.0%,1.6% 70.0%,0.7% 65.0%,0.7% 60.0%,1.6% 55.0%,1.2% 50.0%,0.3% 45.0%,0.2% 40.0%,0.3% 35.0%,1.5% 30.0%,1.3% 25.0%,0.2% 20.0%,1.4% 15.0%,1.6% 10.0%,1.1% 5.0%);transform:rotate(14deg)}
#dw .cl-red{right:25%;bottom:9%;width:min(15vw,190px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--ink) 0 11%,var(--k-red) 11.5% 30%,#1d1833 30.5% 31.5%,var(--k-red) 32% 46%,#1d1833 46.5% 47.5%,var(--k-red) 48% 70%,transparent 70.5%);transform:rotate(-12deg)}
#dw .cl-splat{width:14px;height:14px;border-radius:50%}
#dw .cl-splat.s1{right:40%;top:16%;background:var(--k-red);box-shadow:18px 6px 0 -4px var(--k-red),-12px 14px 0 -5px var(--k-red),30px -10px 0 -6px var(--k-red)}
#dw .cl-splat.s2{right:3%;top:44%;background:var(--k-green);box-shadow:-16px 8px 0 -4px var(--k-green),10px 18px 0 -5px var(--k-green),-26px -8px 0 -6px var(--k-green)}
#dw .cl-splat.s3{right:44%;bottom:14%;background:var(--k-gold);box-shadow:14px -12px 0 -4px var(--k-gold),-18px 4px 0 -5px var(--k-gold)}
#dw .hero .tagline{gap:10px;justify-items:start}
#dw .hero .tagline span{display:inline-block;background:var(--paper);color:var(--ink);padding:.18em .5em .1em;clip-path:polygon(0.0% 2.3%,5.0% 2.4%,10.0% 0.4%,15.0% 0.5%,20.0% 1.7%,25.0% 1.3%,30.0% 4.1%,35.0% 0.8%,40.0% 0.1%,45.0% 4.8%,50.0% 2.6%,55.0% 0.7%,60.0% 2.7%,65.0% 0.1%,70.0% 2.6%,75.0% 4.9%,80.0% 4.3%,85.0% 3.5%,90.0% 1.3%,95.0% 1.8%,100.0% 0.8%,98.7% 5.0%,99.1% 10.0%,98.7% 15.0%,99.5% 20.0%,99.6% 25.0%,98.6% 30.0%,98.4% 35.0%,98.6% 40.0%,98.7% 45.0%,98.6% 50.0%,98.8% 55.0%,99.6% 60.0%,99.1% 65.0%,99.4% 70.0%,100.0% 75.0%,100.0% 80.0%,99.5% 85.0%,99.6% 90.0%,98.8% 95.0%,100.0% 95.2%,95.0% 97.8%,90.0% 95.3%,85.0% 95.1%,80.0% 95.2%,75.0% 98.2%,70.0% 98.9%,65.0% 98.9%,60.0% 99.0%,55.0% 99.0%,50.0% 96.9%,45.0% 95.5%,40.0% 95.8%,35.0% 97.6%,30.0% 96.7%,25.0% 96.0%,20.0% 99.6%,15.0% 96.7%,10.0% 95.5%,5.0% 96.1%,0.0% 96.2%,0.8% 95.0%,0.3% 90.0%,1.3% 85.0%,0.6% 80.0%,1.3% 75.0%,1.6% 70.0%,0.7% 65.0%,0.7% 60.0%,1.6% 55.0%,1.2% 50.0%,0.3% 45.0%,0.2% 40.0%,0.3% 35.0%,1.5% 30.0%,1.3% 25.0%,0.2% 20.0%,1.4% 15.0%,1.6% 10.0%,1.1% 5.0%);transform:rotate(-1.5deg)}
#dw .hero .tagline span:last-child{background:var(--k-red);color:var(--paper);padding-left:.5em;margin-left:1.2em;transform:rotate(1deg)}
#dw .hero .btn{border-radius:4px;box-shadow:4px 4px 0 var(--paper)}
#dw .hero .btn.ghost{box-shadow:4px 4px 0 var(--k-green)}
#dw .hero h1 .l1{color:var(--bone);text-shadow:.04em .04em 0 #e2672b,.08em .08em 0 #c8312f}
#dw .hero h1 em,#dw .hero h1 b{text-shadow:.045em .045em 0 #e2672b}
#dw .hero::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px)}
@media (max-width:860px){#dw .collage{opacity:.28} #dw .cl-photo,#dw .cl-paper,#dw .cl-tape{display:none}}
/* ---------- wabi-sabi career ---------- */
#dw #story{--washi:#e8e0d0;--charcoal:#2b2722;--ash:#6f675c;--clay:#9a5b3c;--kin:#b8892d;background:radial-gradient(60% 50% at 18% 20%,rgba(154,91,60,.08),transparent 70%),radial-gradient(50% 60% at 85% 80%,rgba(111,103,92,.10),transparent 70%),repeating-linear-gradient(97deg,rgba(43,39,34,.025) 0 1px,transparent 1px 7px),repeating-linear-gradient(3deg,rgba(43,39,34,.02) 0 1px,transparent 1px 11px),var(--washi);color:var(--charcoal);border-bottom:0}
#dw #story .eyebrow{font:italic 400 16px/1 "Cormorant Garamond",Georgia,serif;letter-spacing:.12em;text-transform:lowercase;color:var(--clay)}
#dw #story h2{font:500 clamp(34px,4.4vw,54px)/1.02 "Cormorant Garamond",Georgia,serif;text-transform:none;color:var(--charcoal);letter-spacing:-.01em}
#dw #story .timeline{display:grid;gap:0}
#dw #story .timeline li{grid-template-columns:150px minmax(0,1fr);padding:26px 0 26px;border:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20600%2010%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%205%20L40%204%20L70%206.5%20L110%203.5%20L150%205%20L175%207%20L220%204.5%20L260%205.5%20L300%202.8%20L330%205%20L380%206.2%20L420%204%20L470%205.6%20L505%203.6%20L550%205.4%20L600%204.6%22%20fill%3D%22none%22%20stroke%3D%22%23b8892d%22%20stroke-width%3D%221.6%22%20stroke-linejoin%3D%22round%22/%3E%3Cpath%20d%3D%22M300%202.8%20L312%200.5%20M175%207%20L183%209.5%22%20stroke%3D%22%23b8892d%22%20stroke-width%3D%221%22%20fill%3D%22none%22/%3E%3C/svg%3E") left top/100% 10px no-repeat}
#dw #story .timeline li:last-child{border:0;padding-bottom:0}
#dw #story .timeline li:nth-child(even){margin-left:clamp(0px,2.2vw,28px)}
#dw #story .timeline time{font:italic 500 clamp(26px,2.6vw,32px)/1 "Cormorant Garamond",Georgia,serif;color:var(--clay);font-variant-numeric:oldstyle-nums}
#dw #story .timeline h3{font:600 clamp(19px,1.8vw,22px)/1.2 "Cormorant Garamond",Georgia,serif;text-transform:none;letter-spacing:0;color:var(--charcoal);margin-bottom:6px}
#dw #story .timeline p{font:400 15px/1.7 var(--body);color:var(--ash);max-width:52ch}
#dw #story .enso{display:grid;gap:12px;justify-items:start;margin-top:10px}
#dw #story .enso svg{width:min(100%,260px);height:auto;display:block}
#dw #story .enso p{font:italic 400 18px/1.3 "Cormorant Garamond",Georgia,serif;color:var(--ash)}
#dw #story .enso p b{font-weight:600;color:var(--clay)}
@media (max-width:560px){#dw #story .timeline li{grid-template-columns:1fr;gap:6px} #dw #story .timeline li:nth-child(even){margin-left:0}}
#dw #story .vu{display:grid;gap:12px;justify-items:start;margin-top:10px}
#dw #story .vu svg{width:min(100%,380px);height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(43,39,34,.28))}
#dw #story .vu p{font:italic 400 18px/1.3 "Cormorant Garamond",Georgia,serif;color:var(--ash)}
#dw #story .vu p b{font-weight:600;color:var(--clay)}
#dw .vu-needle{transform:rotate(-34deg)}
@media (prefers-reduced-motion:no-preference){#dw .vu-a{animation:vuA 2.6s ease-in-out infinite}#dw .vu-b{animation:vuB 2.2s ease-in-out infinite}}
@keyframes vuA{0%{transform:rotate(-30deg)}18%{transform:rotate(6deg)}30%{transform:rotate(-8deg)}46%{transform:rotate(20deg)}60%{transform:rotate(0deg)}78%{transform:rotate(12deg)}100%{transform:rotate(-30deg)}}
@keyframes vuB{0%{transform:rotate(-26deg)}15%{transform:rotate(10deg)}35%{transform:rotate(-4deg)}50%{transform:rotate(24deg)}68%{transform:rotate(2deg)}84%{transform:rotate(16deg)}100%{transform:rotate(-26deg)}}
/* ---------- cyberpunk sound ---------- */
#dw #sound{--neon-m:#ff2bd6;--neon-c:#25f4ff;position:relative;overflow:hidden;border-bottom:0;background:radial-gradient(80% 60% at 70% 30%,rgba(255,43,214,.18),transparent 60%),radial-gradient(60% 50% at 15% 70%,rgba(37,244,255,.12),transparent 60%),linear-gradient(180deg,#07040f 0%,#120a2a 60%,#1b0b33 100%)}
#dw #sound .cp-city{position:absolute;z-index:0;left:0;right:0;bottom:22%;width:100%;height:42%;opacity:.9}
#dw #sound::after{content:"";position:absolute;z-index:0;left:-20%;right:-20%;bottom:0;height:24%;background:repeating-linear-gradient(90deg,rgba(255,43,214,.55) 0 1px,transparent 1px 60px),repeating-linear-gradient(0deg,rgba(37,244,255,.45) 0 1px,transparent 1px 26px),linear-gradient(#1b0b33,#07040f);transform:perspective(260px) rotateX(58deg);transform-origin:top;box-shadow:0 -2px 30px rgba(255,43,214,.6)}
#dw #sound::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
#dw #sound .wrap{position:relative;z-index:1;align-items:center}
#dw #sound .eyebrow{color:var(--neon-c);text-shadow:0 0 8px rgba(37,244,255,.7)}
#dw #sound h2{position:relative;color:#fff;text-shadow:-2px 0 var(--neon-m),2px 0 var(--neon-c),0 0 18px rgba(255,43,214,.45);animation:cp-glitch 4s steps(1) infinite}
#dw #sound .cp-hud{margin-top:22px;display:grid;gap:6px;padding:14px 16px;max-width:300px;border:1px solid rgba(37,244,255,.55);background:rgba(10,6,24,.6);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));font:500 12px/1.4 var(--mono);letter-spacing:.12em;color:var(--neon-c);box-shadow:inset 0 0 18px rgba(37,244,255,.15)}
#dw #sound .cp-hud b{color:var(--neon-m);font-weight:500}
#dw #sound .cp-hud i{font-style:normal;color:#f2b134}
#dw #sound .cp-bars{display:flex;gap:3px;align-items:flex-end;height:22px;margin-top:4px}
#dw #sound .cp-bars em{display:block;width:8px;background:linear-gradient(var(--neon-m),var(--neon-c));animation:cp-eq 1.1s steps(4) infinite alternate}
#dw #sound .cp-bars em:nth-child(2){animation-delay:-.3s}#dw #sound .cp-bars em:nth-child(3){animation-delay:-.6s}#dw #sound .cp-bars em:nth-child(4){animation-delay:-.15s}#dw #sound .cp-bars em:nth-child(5){animation-delay:-.8s}#dw #sound .cp-bars em:nth-child(6){animation-delay:-.45s}#dw #sound .cp-bars em:nth-child(7){animation-delay:-.95s}#dw #sound .cp-bars em:nth-child(8){animation-delay:-.2s}
#dw #sound .genres{gap:14px}
#dw #sound .genres li{background:rgba(10,6,24,.72);color:#fff;border:1.5px solid var(--neon-c);border-radius:2px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);box-shadow:0 0 12px rgba(37,244,255,.45),inset 0 0 10px rgba(37,244,255,.18);text-shadow:0 0 8px rgba(37,244,255,.6)}
#dw #sound .genres li:nth-child(3n+1){border-color:var(--neon-m);color:#ffd6f6;box-shadow:0 0 12px rgba(255,43,214,.5),inset 0 0 10px rgba(255,43,214,.2);text-shadow:0 0 8px rgba(255,43,214,.7)}
#dw #sound .genres li:nth-child(4n+2){animation:cp-flicker 5s infinite}
#dw #sound .genres li:hover{background:var(--neon-c);color:#07040f;text-shadow:none}
#dw #sound .genres li:nth-child(3n+1):hover{background:var(--neon-m)}
@keyframes cp-glitch{0%,92%,100%{transform:none;clip-path:none}93%{transform:translate(-3px,1px);clip-path:inset(10% 0 55% 0)}95%{transform:translate(3px,-1px);clip-path:inset(60% 0 8% 0)}97%{transform:translate(-1px,0);clip-path:none}}
@keyframes cp-flicker{0%,18%,22%,62%,64%,100%{opacity:1}20%,63%{opacity:.35}}
@keyframes cp-eq{0%{height:4px}100%{height:22px}}
@media (prefers-reduced-motion:reduce){#dw #sound h2,#dw #sound .genres li,#dw #sound .cp-bars em{animation:none}#dw #sound .cp-bars em{height:14px}}
/* ---------- swiss events ---------- */
#dw #events{--sw-red:#e3261b;--sw-ink:#111;position:relative;background:#f4f3ef;color:var(--sw-ink);border-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
#dw #events .sw-grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:20px;row-gap:28px;align-items:start}
#dw #events .sw-label{grid-column:1/-1;font:700 13px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.02em;text-transform:none;color:var(--sw-red);border-top:3px solid var(--sw-ink);padding-top:10px}
#dw #events .sw-title{grid-column:1/5;font:700 clamp(44px,6.4vw,88px)/.92 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.045em;text-transform:none;color:var(--sw-ink);text-shadow:none;margin:0}
#dw #events .sw-date{grid-column:5/9;display:flex;align-items:flex-start;gap:6px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--sw-ink);line-height:.78}
#dw #events .sw-date b{font-size:clamp(110px,15vw,210px);font-weight:700;letter-spacing:-.07em}
#dw #events .sw-date span{font-size:clamp(22px,2.4vw,32px);font-weight:700;color:var(--sw-red);padding-top:.15em}
#dw #events .sw-meta{grid-column:9/13;margin:0;display:grid;gap:0}
#dw #events .sw-meta div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--sw-ink)}
#dw #events .sw-meta div:last-child{border-bottom:1px solid var(--sw-ink)}
#dw #events .sw-meta dt{font:400 13px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;color:#666}
#dw #events .sw-meta dd{margin:0;font:700 16px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--sw-ink)}
#dw #events .sw-status{display:inline-block;background:var(--sw-red);color:#fff;padding:3px 8px;font-size:12px;font-weight:700}
#dw #events .sw-note{grid-column:9/13;font:400 14px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;color:#444}
#dw #events .sw-note a{color:var(--sw-ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--sw-red);text-underline-offset:3px}
#dw #events .sw-square{position:absolute;right:clamp(16px,4vw,40px);top:14px;width:clamp(18px,2vw,26px);aspect-ratio:1;background:var(--sw-red)}
@media (max-width:900px){#dw #events .sw-title{grid-column:1/-1}#dw #events .sw-date{grid-column:1/-1}#dw #events .sw-meta,#dw #events .sw-note{grid-column:1/-1}#dw #events .sw-square{top:14px}}
/* ---------- editorial mixes ---------- */
#dw #mixes{--paper:#f5f0e6;--ink:#141210;--rule:#1412102e;--accent:#b5321f;background:var(--paper);color:var(--ink);border-bottom:0}
#dw #mixes .ed{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(28px,5vw,72px);row-gap:28px}
#dw #mixes .ed-mast{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:10px 0;border-top:3px double var(--ink);border-bottom:1px solid var(--ink);font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase}
#dw #mixes .ed-lead{display:grid;gap:16px;align-content:start}
#dw #mixes .eyebrow{color:var(--accent);font-family:var(--mono)}
#dw #mixes h2{font:400 clamp(56px,8vw,112px)/.88 "Fraunces","Cormorant Garamond",Georgia,serif;letter-spacing:-.03em;text-transform:none;color:var(--ink);text-shadow:none}
#dw #mixes h2 em{font-style:italic;color:var(--accent)}
#dw #mixes .ed-stand{font:400 19px/1.55 "Fraunces",Georgia,serif;color:#3a342d;max-width:34ch}
#dw #mixes .ed-stand::first-letter{float:left;font:600 64px/.8 "Fraunces",Georgia,serif;padding:6px 10px 0 0;color:var(--accent)}
#dw #mixes .ed-list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--ink)}
#dw #mixes .ed-list li{border-bottom:1px solid var(--rule)}
#dw #mixes .ed-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"no kick cta" "no head cta";column-gap:18px;row-gap:4px;align-items:baseline;padding:22px 0;text-decoration:none;color:var(--ink)}
#dw #mixes .ed-no{grid-area:no;font:300 44px/1 "Fraunces",Georgia,serif;color:#b9b0a2;font-variant-numeric:lining-nums}
#dw #mixes .ed-kicker{grid-area:kick;font:500 11px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
#dw #mixes .ed-item h3{grid-area:head;font:500 clamp(26px,3vw,38px)/1.05 "Fraunces",Georgia,serif;text-transform:none;letter-spacing:-.01em;color:var(--ink);margin:0}
#dw #mixes .ed-cta{grid-area:cta;align-self:center;font:italic 400 18px/1 "Fraunces",Georgia,serif;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;white-space:nowrap}
#dw #mixes .ed-item:hover h3{font-style:italic;color:var(--accent)}
#dw #mixes .ed-item:hover .ed-cta{color:var(--accent);border-color:var(--accent)}
#dw #mixes .ed-pull{grid-column:2/-1;margin:6px 0 0;padding-left:20px;border-left:3px solid var(--accent);font:italic 400 clamp(22px,2.4vw,30px)/1.25 "Fraunces",Georgia,serif;color:#3a342d}
@media (max-width:860px){#dw #mixes .ed{grid-template-columns:1fr}#dw #mixes .ed-pull{grid-column:1/-1}#dw #mixes .ed-item{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"no kick" "no head" "no cta"}#dw #mixes .ed-cta{justify-self:start;margin-top:6px}#dw #mixes .ed-no{font-size:34px}}
#dw #mixes .ed-pull{background:none!important;box-shadow:none!important;border-radius:0!important;padding:4px 0 4px 20px!important;min-height:0!important;text-align:left!important}
#dw #mixes .ed-pull::before,#dw #mixes .ed-pull::after{content:none!important;display:none!important}

/* ---------- generic pages, posts, 404 ---------- */
#dw .page-shell{padding-block:clamp(48px,8vw,96px)}
#dw .page-shell .wrap{max-width:820px}
#dw .page-shell .entry-title{font:900 clamp(40px,6vw,72px)/.95 var(--display);text-transform:uppercase;color:#fff;margin:0 0 24px}
#dw .page-shell .entry-meta{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:28px}
#dw .entry-content{font-size:17px;line-height:1.7;color:var(--bone)}
#dw .entry-content>*+*{margin-top:1.1em}
#dw .entry-content h2,#dw .entry-content h3{margin-top:1.6em;color:#fff}
#dw .entry-content a{color:var(--gold)}
#dw .entry-content img{height:auto;border-radius:4px}
#dw .post-list{display:grid;gap:28px}
#dw .post-card{border-top:1px solid var(--line);padding-top:22px}
#dw .post-card h2{font-size:clamp(26px,3vw,36px);margin-bottom:8px}
#dw .post-card h2 a{text-decoration:none;color:#fff}
#dw .post-card h2 a:hover{color:var(--gold)}
#dw .pagination{display:flex;gap:16px;margin-top:40px;font:500 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em}
#dw .pagination a{color:var(--gold)}
#dw .skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--gold);color:var(--night);padding:10px 14px;font-weight:600}
#dw .skip-link:focus{left:12px}
#dw .nav .brand-text{font:900 20px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--bone);margin-right:auto}
#dw .nav .custom-logo{height:44px;width:auto;display:block}
#dw .nav .custom-logo-link{margin-right:24px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#dw .lede-muted{color:var(--mute);max-width:36ch}
#dw footer nav li{list-style:none;display:inline}
#dw .nav ul.menu,#dw .nav .menu{display:flex;gap:clamp(12px,2.4vw,28px);list-style:none;margin:0;padding:0}
#dw .contact-lines b a{color:inherit;text-decoration:none}
#dw .nav .site-logo,#dw .nav .custom-logo-link{display:block;flex:none;margin-right:clamp(16px,3vw,40px);line-height:0}
#dw .nav .site-logo img,#dw .nav .custom-logo{display:block;height:44px;width:auto;background:#fff;border-radius:6px;padding:4px 8px;box-sizing:content-box}
#dw .nav .wrap{justify-content:flex-start}
#dw .nav .btn{margin-left:auto}
@media (max-width:760px){#dw .nav .site-logo img,#dw .nav .custom-logo{height:36px}}
