:root { --black:#050505; --white:#f0f0ec; --silver:#a7a7a1; --line:#292929; --lime:#d8ff45; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:96px; }
body { margin:0; background:var(--black); color:var(--white); font:1rem/1.5 Inter,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
a:focus-visible,audio:focus-visible { outline:2px solid var(--lime); outline-offset:7px; }
figure,h2 { margin:0; } img { display:block; max-width:100%; }
.noise { position:fixed; inset:0; pointer-events:none; z-index:10; opacity:.04; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); }
.nav { height:78px; position:fixed; z-index:9; top:0; left:0; right:0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 3vw; border-bottom:1px solid #ffffff21; background:#050505bf; backdrop-filter:blur(14px); font:500 .875rem 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }
.mark { display:flex; align-items:center; width:132px; min-height:44px; } .mark img { width:100%; height:auto; }
nav { display:flex; gap:34px; } nav a,.booking-link { padding-block:12px; transition:color .2s; }
.booking-link { text-align:right; } nav a:hover,.booking-link:hover,.text-link:hover { color:var(--lime); }
.hero { min-height:max(740px,98svh); padding:135px 3vw 54px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; isolation:isolate; overflow:hidden; }
.hero-art { position:absolute; inset:78px 0 0 auto; width:52%; z-index:-2; }
.hero-photo { width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(1); }
.hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--black),transparent 30%),linear-gradient(0deg,var(--black),#050505d9 14%,transparent 60%); }
.eyebrow,.section-no { font:400 .75rem/1.5 'DM Mono',monospace; letter-spacing:.12em; color:var(--silver); }
.hero .eyebrow { position:absolute; top:116px; left:3vw; }
.hero-location { position:absolute; left:3vw; top:148px; font:.75rem/1.5 'DM Mono',monospace; letter-spacing:.06em; color:var(--silver); }
.hero-brand { width:min(76vw,1100px); margin:0 0 38px; position:relative; z-index:2; line-height:1; }
.hero-brand img { width:100%; height:auto; }
.hero-bottom { position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.hero-bottom p { font:400 .875rem/1.55 'DM Mono',monospace; letter-spacing:.08em; margin:0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.button { padding:15px 21px; text-transform:uppercase; font:500 .875rem/1.4 'DM Mono',monospace; border:1px solid var(--white); transition:.2s; }
.button.light { background:var(--white); color:var(--black); } .button:hover { background:var(--lime); color:var(--black); border-color:var(--lime); }
.scroll-note { position:absolute; bottom:44px; left:49%; font:.75rem 'DM Mono',monospace; color:var(--silver); writing-mode:vertical-rl; } .scroll-note span { color:var(--lime); }
section:not(.hero) { padding:9vw 5vw; border-top:1px solid var(--line); }
.statement { display:grid; grid-template-columns:.7fr 3fr 1fr; gap:3vw; align-items:start; }
.big-copy { font-size:clamp(2.5rem,5.7vw,6rem); line-height:1; font-weight:800; letter-spacing:-.05em; margin:0; }
.big-copy em,.contact em,.live-copy em { font-family:Georgia,serif; font-weight:400; }
.side-copy { color:var(--silver); line-height:1.5; margin-top:50%; }
.live { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:center; padding-top:3vw!important; }
.live-copy h2 { font-size:clamp(3rem,7vw,8rem); line-height:.92; letter-spacing:-.06em; margin:34px 0; }
.live-copy>p:not(.section-no) { color:var(--silver); font-size:1.125rem; margin-bottom:2.5rem; }
.text-link { font:400 .875rem/1.6 'DM Mono',monospace; border-bottom:1px solid #686861; padding-block:10px; display:inline-block; transition:color .2s; }
.live-photo { position:relative; } .live-photo img { width:100%; height:auto; }
.live-photo figcaption { display:flex; justify-content:space-between; padding-top:16px; font:.75rem/1.4 'DM Mono',monospace; color:var(--silver); letter-spacing:.06em; }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:20px; font:.75rem/1.5 'DM Mono',monospace; color:var(--silver); margin-bottom:4vw; } .section-head span { text-align:right; }
.music-feature { border-block:1px solid var(--line); }
.track-heading { display:grid; grid-template-columns:64px 1fr auto; gap:20px; align-items:center; padding-block:32px; }
.track-no,.track-meta { font:.75rem/1.6 'DM Mono',monospace; color:var(--silver); }
.track-heading h2 { font-size:clamp(2.5rem,5.2vw,5.5rem); line-height:1.2; letter-spacing:-.04em; font-weight:700; } .track-meta { text-align:right; }
.music-player { display:grid; grid-template-columns:1fr 1.3fr; gap:5vw; align-items:center; padding:20px 0 42px 84px; }
.music-player>p { font:.875rem/1.6 'DM Mono',monospace; color:var(--silver); margin:0; }
.audio-wrap { min-width:0; } audio { display:block; width:100%; color-scheme:dark; }
.audio-error { font-size:.875rem; margin-bottom:0; } .audio-error a { text-decoration:underline; }
.music-link,.shows-link { margin-top:28px; }
.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; align-items:start; margin-top:4vw; }
.about-photo img { width:100%; height:auto; }
.about h2 { font-size:clamp(3.3rem,8vw,8rem); line-height:.9; letter-spacing:-.07em; }
.artist-roles { font:.875rem/1.6 'DM Mono',monospace; color:var(--lime); letter-spacing:.04em; margin:28px 0 0; }
.bio { font-size:clamp(1rem,1.2vw,1.125rem); line-height:1.75; margin-top:24px; max-width:43rem; } .bio p { margin:0 0 1.25em; } .bio p:not(:first-child) { color:var(--silver); }
.facts { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px; font:.875rem/1.5 'DM Mono',monospace; }
.facts p { border-top:1px solid var(--line); padding:15px 0; margin:0; } .facts span { display:block; color:var(--silver); font-size:.75rem; margin-bottom:5px; }
.experience-summary { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:48px; }
.experience-summary h2 { font-size:clamp(2rem,5vw,5rem); line-height:1.03; letter-spacing:-.05em; }
.performance-count { margin:0; text-align:right; flex-shrink:0; }
.performance-count strong { display:block; font-size:clamp(3rem,6vw,6rem); line-height:1; letter-spacing:-.06em; color:var(--lime); }
.performance-count span { display:block; margin-top:12px; font:.875rem/1.6 'DM Mono',monospace; color:var(--silver); }
.residencies { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-bottom:48px; }
.residencies>div { border-top:1px solid var(--line); padding-top:22px; }
.residencies h3 { font-size:clamp(1.25rem,2.4vw,2rem); line-height:1.3; letter-spacing:-.025em; margin:0; }
.residencies p { color:var(--silver); font-size:1rem; margin:8px 0 0; }
.experience-label { font:400 .875rem/1.6 'DM Mono',monospace; color:var(--silver); letter-spacing:.04em; margin:0 0 20px; }
.performance-list { list-style:none; padding:0; margin:0; }
.performance-list li { display:grid; grid-template-columns:140px minmax(0,1fr) minmax(160px,.6fr); gap:24px; align-items:center; padding:24px 0; border-top:1px solid var(--line); }
.performance-list strong { font-size:clamp(1.35rem,2.6vw,3rem); line-height:1.3; letter-spacing:-.035em; }
.set-role { font:.875rem/1.6 'DM Mono',monospace; color:var(--silver); }
.set-context { font-size:1rem; line-height:1.6; text-align:right; color:var(--silver); }
.events-label { margin-top:56px; }
.show { display:grid; grid-template-columns:140px 1fr 100px; gap:20px; border-top:1px solid var(--line); padding:24px 0; align-items:center; }
.show time,.show span { font:.75rem/1.5 'DM Mono',monospace; color:var(--silver); } .show span { text-align:right; }
.show .event-type { text-align:left; }
.show strong { font-size:clamp(1.35rem,2.6vw,3rem); line-height:1.3; letter-spacing:-.035em; }
.contact { background:var(--white); color:var(--black); } .contact>p { font:.75rem/1.6 'DM Mono',monospace; }
.contact>a { display:block; font-size:clamp(3rem,9vw,10rem); line-height:1; font-weight:900; letter-spacing:-.06em; margin:5vw 0 3vw; }
.contact .contact-note { font-size:.875rem; margin:0 0 2rem; } .contact a:focus-visible { outline-color:var(--black); }
.socials { display:flex; flex-wrap:wrap; gap:30px; font:.875rem/1.5 'DM Mono',monospace; text-transform:uppercase; } .socials a { border-bottom:1px solid #777; padding-block:10px; }
footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:25px 3vw; font:.75rem/1.6 'DM Mono',monospace; color:var(--silver); }
.reveal { opacity:1; transform:none; } .reveal.reveal-ready { opacity:0; transform:translateY(25px); transition:opacity .8s,transform .8s; } .reveal.reveal-ready.visible { opacity:1; transform:none; }
@media(max-width:1000px) { .statement { grid-template-columns:1fr 3fr; } .side-copy { grid-column:2; margin:0; max-width:25rem; } .facts { grid-template-columns:1fr; gap:0; } }
@media(max-width:760px) {
 html { scroll-padding-top:80px; }
 .nav { grid-template-columns:1fr auto; height:64px; padding-inline:5vw; } .nav nav { display:none; }
 .mark { width:116px; }
 .hero { min-height:max(730px,100svh); padding:100px 5vw 38px; } .hero-art { top:64px; width:100%; } .hero-photo { object-position:center top; }
 .hero-art::after { background:linear-gradient(0deg,var(--black) 1%,#050505ed 23%,transparent 62%),linear-gradient(180deg,#050505c9,transparent 27%); }
 .hero .eyebrow { top:85px; left:5vw; } .hero-location { display:none; } .hero-brand { width:100%; margin-bottom:32px; }
 .hero-bottom { align-items:flex-start; gap:22px; flex-direction:column; } .hero-actions { width:100%; } .button { text-align:center; flex:1; padding-inline:12px; } .scroll-note { display:none; }
 section:not(.hero) { padding-block:64px; } .statement { grid-template-columns:1fr; gap:24px; } .big-copy { font-size:clamp(2rem,8vw,3.5rem); } .side-copy { grid-column:auto; }
 .live { grid-template-columns:1fr; gap:36px; } .live-copy h2 { font-size:16vw; margin-block:24px; } .live-copy>p:not(.section-no) { margin-bottom:18px; }
 .section-head { margin-bottom:28px; } .track-heading { grid-template-columns:30px 1fr; column-gap:12px; padding-block:28px; } .track-meta { grid-column:2; text-align:left; font-size:.75rem; }
 .music-player { grid-template-columns:1fr; padding:0 0 28px; gap:20px; } .music-player>p { padding-left:42px; }
 .about-grid { grid-template-columns:1fr; gap:36px; margin-top:28px; } .about h2 { font-size:18vw; } .bio { margin-top:24px; } .facts { grid-template-columns:1fr; gap:0; font-size:.875rem; }
 .experience-summary { flex-direction:column; align-items:flex-start; gap:28px; margin-bottom:36px; } .experience-summary h2 { font-size:clamp(1.85rem,7.7vw,3.5rem); }
 .performance-count { text-align:left; display:flex; align-items:center; flex-wrap:wrap; gap:20px; } .performance-count span { margin:0; }
 .residencies { grid-template-columns:1fr; gap:24px; margin-bottom:36px; }
 .performance-list li { grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; padding-block:22px; }
 .performance-list strong { grid-column:1; grid-row:1; } .set-role { grid-column:2; grid-row:1; font-size:.875rem; } .set-context { grid-column:1 / -1; text-align:left; }
 .show { grid-template-columns:1fr; gap:8px; } .show span { grid-column:1; text-align:left; } .events-label { margin-top:40px; }
 .contact>a { font-size:12.5vw; margin-block:36px; } .socials { gap:24px; } footer { padding-inline:5vw; } footer span:nth-child(2) { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .reveal.reveal-ready { opacity:1; transform:none; transition:none; } }
