:root{--bg:#050607;--panel:#0d1012;--ink:#f5f1e8;--muted:#9b9b96;--line:#2c3134;--accent:#ff334f;--cyan:#63dce8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;padding-bottom:72px}a{color:inherit;text-decoration:none}button{font:inherit}.hidden{display:none!important}.hero{height:100svh;min-height:620px;position:relative;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.2) 42%,rgba(0,0,0,.9))}.hero-top{position:absolute;top:max(22px,env(safe-area-inset-top));left:clamp(18px,5vw,54px);right:clamp(18px,5vw,54px);display:flex;justify-content:space-between;gap:12px;font:500 clamp(9px,2.4vw,12px)/1 DM Mono;letter-spacing:.16em;white-space:nowrap}.hero-copy{position:absolute;left:clamp(18px,5vw,54px);right:clamp(18px,5vw,54px);bottom:clamp(88px,12svh,130px);max-width:900px}.eyebrow,.tiny{font:500 10px/1.4 DM Mono;letter-spacing:.2em}.hero h1,.section h2,.issue-number,.big-question{font-family:'Archivo Black',sans-serif}.hero h1{margin:10px 0 20px;line-height:.8;letter-spacing:-.065em}.hero h1 span{display:block;font-size:clamp(50px,17.2vw,126px);max-width:100%;white-space:nowrap}.lede{font:400 clamp(10px,2.8vw,13px)/1.65 DM Mono;letter-spacing:.12em;text-transform:uppercase}.enter,.submit{display:flex;align-items:center;justify-content:center;margin-top:24px;border:1px solid rgba(255,255,255,.75);min-height:56px;font:500 11px DM Mono;letter-spacing:.14em}.section,.archive-detail{padding:64px 20px;max-width:780px;margin:auto}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:18px}.section h2{font-size:clamp(32px,9vw,48px);margin:8px 0 0}.archive-card{display:grid;grid-template-columns:96px 1fr 34px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}.archive-card img{width:96px;height:110px;object-fit:cover}.archive-card .num{font-family:'Archivo Black';font-size:46px;line-height:1}.archive-card p{margin:6px 0 0;color:var(--muted);font:400 9px/1.55 DM Mono;letter-spacing:.08em}.archive-card.locked{opacity:.45;cursor:default}.arrow{font-size:24px}.back{border:0;background:none;color:var(--muted);padding:0;margin-bottom:36px;font:500 10px DM Mono;letter-spacing:.15em}.issue-head{display:flex;justify-content:space-between;align-items:flex-end}.issue-number{font-size:clamp(86px,27vw,120px);line-height:.8;letter-spacing:-.07em}.issue-meta{display:flex;flex-direction:column;text-align:right;font:400 9px/1.7 DM Mono;letter-spacing:.08em}.issue-hero{margin:26px 0 0;position:relative}.issue-hero img{width:100%;height:min(62vh,640px);min-height:390px;object-fit:cover}.issue-hero span{position:absolute;right:18px;bottom:18px;font:400 22px/1.05 DM Mono;transform:rotate(-8deg)}.tabs{position:sticky;top:0;z-index:5;background:rgba(5,6,7,.94);backdrop-filter:blur(12px);display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);overflow:auto}.tabs a{font:500 9px DM Mono;letter-spacing:.1em;white-space:nowrap}.content-block{padding:60px 0;border-bottom:1px solid var(--line)}.block-title{display:flex;gap:18px;align-items:center}.block-title span{font:500 10px DM Mono}.block-title h3{margin:0;font-size:22px;letter-spacing:.05em}.muted{color:var(--muted);font-size:13px}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:22px}.photo-grid img{width:100%;aspect-ratio:1/1.05;object-fit:cover}.photo-grid img:first-child{grid-column:span 2;aspect-ratio:16/10}.empty-card{grid-column:span 2;border:1px solid var(--line);padding:44px 16px;text-align:center;color:var(--muted);font:400 9px/1.6 DM Mono;letter-spacing:.1em}.audio-card{margin-top:22px;padding:20px;border:1px solid var(--line);background:var(--panel)}.audio-card>div{display:flex;justify-content:space-between}.audio-card strong,.audio-card small{font:500 9px DM Mono;letter-spacing:.1em}.audio-card audio{width:100%;margin-top:20px}.audio-empty{font-size:11px;color:var(--muted)}.sound-links{margin-top:28px}.sound-links>p{font:500 11px DM Mono;letter-spacing:.14em}.platforms{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.platforms a{border:1px solid var(--line);padding:17px 8px;text-align:center;font:500 9px DM Mono;letter-spacing:.08em}.big-question{font-size:clamp(32px,9vw,58px);line-height:.92;margin:10px 0 30px}.upload-block label{display:block;margin:17px 0;font-size:10px;letter-spacing:.07em}.upload-block em{font-style:normal;color:var(--muted);font-size:8px}.upload-block input[type=text],textarea{width:100%;margin-top:8px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:14px;border-radius:0;font:400 14px Inter}textarea{min-height:92px;resize:vertical}.upload-drop{border:1px dashed #5c6266!important;padding:38px 16px!important;text-align:center}.upload-drop input{position:absolute;opacity:0;width:1px;height:1px}.upload-drop span,.upload-drop strong,.upload-drop small{display:block}.camera{font-size:32px;margin-bottom:11px}.upload-drop small{color:var(--muted);margin-top:7px}.permission{display:flex!important;gap:11px;align-items:flex-start;line-height:1.5}.permission input{margin-top:2px}.submit{width:100%;background:var(--ink);color:#090a0a;border:0;cursor:pointer}.fine,.form-status{text-align:center;color:var(--muted);font-size:9px;line-height:1.5}.success{margin-top:24px;padding:28px 20px;border:1px solid var(--line);text-align:center;background:var(--panel)}.success strong{font-family:'Archivo Black';font-size:34px}.success a,.success button{display:block;width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);padding:16px;margin-top:10px;font:500 9px DM Mono;letter-spacing:.1em}.success small{display:block;margin-top:18px;color:var(--muted);font:500 9px DM Mono}.date-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-top:18px}.date-tabs button{border:0;background:none;color:var(--muted);padding:12px 0;font:500 9px DM Mono;letter-spacing:.1em}.date-tabs button.active{color:var(--ink);border-bottom:2px solid var(--accent)}.event-row{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.event-date{font-family:'Archivo Black';font-size:24px;line-height:.8}.event-date small{display:block;font:500 9px DM Mono;letter-spacing:.1em;margin-bottom:5px}.event-info strong{font-size:12px}.event-info span{display:block;color:var(--muted);font:400 9px/1.6 DM Mono;margin-top:4px}.tag{font:500 7px DM Mono;padding:6px 7px;border:1px solid var(--line);text-transform:uppercase}.footer{padding-bottom:100px}.footer-link{display:block;border-top:1px solid var(--line);padding:20px 0;font:500 10px DM Mono;letter-spacing:.1em}.hashtag{font-family:'Archivo Black';font-size:clamp(28px,8vw,50px);margin-top:50px}.dock{position:fixed;z-index:20;left:0;right:0;bottom:0;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(5,6,7,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:space-around}.dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:86px;font-size:17px}.dock span{font:500 8px DM Mono;letter-spacing:.1em}@media(max-width:370px){.hero h1 span{font-size:16.2vw}.hero-top{letter-spacing:.1em}.archive-card{grid-template-columns:78px 1fr 28px}.archive-card img{width:78px;height:94px}}@media(min-width:700px){body{padding-bottom:0}.dock{width:360px;left:auto;right:24px;bottom:24px;border:1px solid var(--line);height:64px;padding:0}.hero-copy,.hero-top{left:7vw;right:7vw}.hero-copy{bottom:8vh}.section,.archive-detail{padding-left:0;padding-right:0}.photo-grid{grid-template-columns:repeat(3,1fr)}.photo-grid img:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;height:100%}.empty-card{grid-column:span 3}}

/* V3.1 — approved dark-cinematic mockup direction */
.archive-list{display:grid;gap:10px;margin-top:18px}.archive-card{grid-template-columns:112px 1fr 36px;border:1px solid var(--line);padding:0;background:#080a0b;overflow:hidden}.archive-card img{width:112px;height:118px}.archive-card>div:nth-child(2){padding:12px 0}.archive-card .arrow{margin-right:12px;border:1px solid #777;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:15px}.archive-card .num{font-size:42px}.archive-card p{color:#d5d1c9}.event-row{border-bottom:1px solid var(--line)}.venue-map{display:inline-flex;align-items:center;gap:8px}.venue-map strong{border-bottom:1px solid rgba(255,255,255,.35)}.map-hint{display:inline!important;color:var(--accent)!important;font-size:7px!important;letter-spacing:.08em}.event-info>span{margin-top:6px!important}.dates{background:linear-gradient(180deg,#050607,#080a0b)}
@media(max-width:430px){.hero{height:100dvh;min-height:600px}.hero-copy{bottom:calc(82px + env(safe-area-inset-bottom))}.hero h1 span{font-size:clamp(48px,16vw,70px);letter-spacing:-.075em}.hero h1{max-width:100%;overflow:hidden}.archive-card{grid-template-columns:92px 1fr 32px}.archive-card img{width:92px;height:108px}.archive-card .num{font-size:38px}.event-row{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.event-info{min-width:0}.venue-map{flex-wrap:wrap;gap:4px}.event-info strong{font-size:11px}.tag{font-size:6px}.map-hint{width:100%}}

/* V3.1 FINAL — visual source of truth: approved mobile mockup */
:root{--bg:#030506;--panel:#090c0e;--ink:#f4f0e7;--muted:#a7a6a0;--line:#34383a;--accent:#ff2947;--cyan:#70e1e7}
body{background:#030506}.hero{max-width:780px;margin:0 auto}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.10) 38%,rgba(0,0,0,.86) 76%,#030506 100%)}
.hero-top{font-weight:500;text-shadow:0 1px 10px #000}.hero-copy{max-width:620px}.hero .eyebrow{margin-bottom:12px}.hero h1{margin:0 0 14px}.hero h1 span{font-size:clamp(52px,15.5vw,112px);line-height:.82}.lede{margin:0 0 16px}.enter{max-width:360px;margin-top:14px;min-height:48px;background:rgba(0,0,0,.22)}
.section{padding-top:48px}.section-head h2{letter-spacing:-.045em}.archive-list{gap:9px}.archive-card{min-height:104px}.archive-card p{font-size:8.5px;text-transform:uppercase;letter-spacing:.075em}.archive-card .num{letter-spacing:-.055em}.archive-card.locked{opacity:.72}.archive-card.locked img{filter:saturate(.7) brightness(.75)}
.issue-head{margin-top:2px}.issue-hero{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tabs a:first-child{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:14px}.photo-grid img{border:1px solid #25292b}.upload-drop{background:#080a0b}.success{background:linear-gradient(180deg,#0b0d0f,#050607)}
.dates{padding-bottom:86px}.event-list{margin-top:0}.event-row{padding:14px 0}.event-date{font-size:25px}.event-info strong{font-family:'DM Mono';font-size:10px;letter-spacing:.04em}.event-info>span{font-size:8px;color:#c4c1ba}.map-hint{color:#8b8f91!important}.tag{border:0;background:#252b2f;padding:5px 7px}.event-row:has(.tag){position:relative}.footer{border-top:1px solid var(--line)}
.dock{height:calc(66px + env(safe-area-inset-bottom));}.dock a{font-family:'DM Mono';font-size:16px}.dock span{font-size:7px}
@media(max-width:430px){.section,.archive-detail{padding-left:18px;padding-right:18px}.hero-top{left:24px;right:24px}.hero-copy{left:24px;right:24px}.hero h1 span{font-size:clamp(49px,15.2vw,66px)}.archive-card{grid-template-columns:102px minmax(0,1fr) 32px}.archive-card img{width:102px;height:105px}.archive-card>div:nth-child(2){padding:9px 0}.archive-card .num{font-size:36px}.archive-card p{margin-top:4px;line-height:1.45}.section h2{font-size:36px}.event-row{grid-template-columns:46px minmax(0,1fr) auto}.venue-map strong{border-bottom:0}.map-hint{font-size:6px!important}.issue-hero img{min-height:330px;height:52vh}}
/* V3.2 polish */
:root{--gold:#d5a33b;--gold2:#e2b84f}.dock{background:linear-gradient(180deg,var(--gold2),var(--gold));border-top:0;color:#080808;box-shadow:0 -10px 30px rgba(0,0,0,.32)}.dock a{color:#080808;font-weight:700}.dock span{font-weight:700}.dock a:active{background:#090909;color:var(--gold2)}
.press{padding-top:20px}.press-card{border:1px solid #5b4723;background:radial-gradient(circle at 85% 20%,rgba(213,163,59,.18),transparent 34%),#0a0b0c;padding:34px 24px}.press-card h2{font-size:clamp(44px,13vw,76px);line-height:.82;margin:12px 0 22px}.press-card>p:not(.eyebrow){max-width:480px;color:var(--muted);font-size:13px;line-height:1.7}.press-card a{display:inline-flex;margin-top:20px;border-bottom:1px solid var(--gold);padding-bottom:6px;color:var(--gold);font:500 9px DM Mono;letter-spacing:.1em}
/* stacked contact-sheet treatment */
.photo-grid{position:relative}.photo-grid img{transition:transform .25s ease,filter .25s ease}.photo-grid img:nth-child(3n+2){transform:rotate(1.4deg) translateY(4px)}.photo-grid img:nth-child(3n){transform:rotate(-1.2deg) translateY(-2px)}.photo-grid img:hover{transform:rotate(0) scale(1.015);z-index:2}.guest-grid{gap:10px}.guest-grid img{box-shadow:0 8px 22px rgba(0,0,0,.35)}
@media(max-width:430px){.dock{height:calc(70px + env(safe-area-inset-bottom))}.dock span{font-size:8px}.press-card{padding:30px 20px}.guest-grid img:nth-child(even){transform:rotate(1.6deg)}.guest-grid img:nth-child(odd){transform:rotate(-1deg)}}

/* V3.2.2 — dock icon cleanup */
.dock a{gap:7px;min-width:96px}
.dock-icon{display:grid;place-items:center;width:38px;height:31px;font-family:Inter,Arial,sans-serif;font-size:30px;font-weight:900;line-height:1;color:#050607;flex:0 0 auto}
.at-icon{font-size:31px;letter-spacing:-.08em}
.arrow-icon{font-size:34px;font-weight:800;transform:translateY(-1px)}
.ticket-icon{width:40px;height:29px}
.ticket-icon svg{display:block;width:38px;height:25px;overflow:visible}
.ticket-icon path:first-child{fill:none;stroke:#050607;stroke-width:2.8;stroke-linejoin:round}
.ticket-icon .ticket-perf{fill:none;stroke:#050607;stroke-width:2;stroke-linecap:round;stroke-dasharray:2.2 3}
.dock span{display:block;font-weight:800;letter-spacing:.13em;line-height:1;white-space:nowrap}
@media(max-width:430px){.dock{height:calc(76px + env(safe-area-inset-bottom))}.dock a{min-width:96px;gap:8px}.dock-icon{width:40px;height:32px}.ticket-icon{width:42px;height:30px}.ticket-icon svg{width:40px;height:26px}}
\n/* V3.2.2 — dock icon alignment + reliable ticket-stub SVG */
.dock a{gap:6px;min-width:92px}
.dock-icon{display:grid;place-items:center;width:36px;height:30px;font-family:Inter,Arial,sans-serif;font-size:29px;font-weight:800;line-height:1;color:#050607;flex:0 0 auto}
.at-icon{font-size:29px;letter-spacing:-.08em}
.arrow-icon{font-size:33px;font-weight:700;transform:translateY(-1px)}
.ticket-icon{width:40px;height:30px}
.ticket-icon svg{display:block;width:40px;height:30px;overflow:visible}
.ticket-icon path{fill:none;stroke:#050607;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.ticket-icon path+path{stroke-width:2;stroke-dasharray:2.5 3}
.dock span{font-weight:700;letter-spacing:.13em;line-height:1;white-space:nowrap}
@media(max-width:430px){.dock{height:calc(74px + env(safe-area-inset-bottom))}.dock a{min-width:96px}.dock-icon{width:38px;height:31px}.ticket-icon,.ticket-icon svg{width:42px;height:31px}}
.booking-icon{width:40px;height:30px}.booking-icon svg{width:31px;height:31px;display:block}.booking-icon path{fill:none;stroke:#050607;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.production-credit{margin-top:26px;color:var(--muted);font:500 8px DM Mono;letter-spacing:.18em}.press{display:none!important}
