:root {
  --ink: #1d1d1f; --muted: #6e6e73; --blue: #0071e3; --canvas: #f5f5f7; --card: #fff;
  --line: rgba(0,0,0,.09); --purple: #7657ff; --orange: #ff7a40; --max: 1280px;
  --gutter: clamp(1.25rem,4vw,3.75rem); color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--canvas); color: var(--ink); font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button,input { font: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; z-index: 100; top: -50px; left: 1rem; padding: .7rem 1rem; border-radius: 999px; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }
.site-header { position: fixed; z-index: 40; inset: 0 0 auto; height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(var(--gutter),calc((100vw - var(--max))/2)); border-bottom: 1px solid transparent; background: rgba(250,250,252,.78); backdrop-filter: saturate(180%) blur(20px); transition: border-color .25s,background .25s; }
.site-header.scrolled { border-color: var(--line); background: rgba(250,250,252,.92); }
.brand { display: inline-flex; align-items: center; gap: .65rem; white-space: nowrap; }
.brand-logo { width:42px; height:42px; flex:0 0 42px; object-fit:contain; filter:drop-shadow(0 0 8px rgba(255,255,255,.12)); }
.brand-mark { width: 26px; height: 22px; display: flex; align-items: center; justify-content: center; gap: 2px; }
.brand-mark span { width: 3px; border-radius: 10px; background: linear-gradient(#7567ff,#ff5f7e); animation: pulse .7s ease-in-out infinite alternate; }
.brand-mark span:nth-child(1) { height: 8px; animation-delay: -.3s; }.brand-mark span:nth-child(2) { height: 20px; animation-delay: -.5s; }.brand-mark span:nth-child(3) { height: 14px; animation-delay: -.1s; }.brand-mark span:nth-child(4) { height: 6px; animation-delay: -.4s; }
.brand-name { font-size: .72rem; font-weight: 700; letter-spacing: -.01em; }.brand-name b { font-weight: 500; color: var(--muted); }
.main-nav { display: flex; align-items: center; gap: clamp(.9rem,2vw,1.7rem); }.main-nav a { font-size: .68rem; color: #3b3b3d; transition: color .2s; }.main-nav a:hover { color: var(--blue); }
.main-nav .nav-cta { padding: .45rem .8rem; border-radius: 999px; background: var(--blue); color: #fff; }
.menu-toggle { display: none; width: 38px; height: 38px; padding: 10px; border: 0; background: none; }.menu-toggle span { display: block; height: 1px; margin: 6px 0; background: var(--ink); transition: transform .25s; }

.hero { max-width: var(--max); margin: 0 auto; padding: clamp(7.5rem,13vw,11.5rem) var(--gutter) clamp(4.5rem,8vw,7rem); }
.hero-intro { max-width: 980px; margin: 0 auto clamp(2.25rem,5vw,4.2rem); text-align: center; }
.hero-kicker,.kicker,.eyebrow { margin: 0 0 .8rem; color: var(--orange); font-size: .88rem; font-weight: 700; }
.hero h1 { margin: 0; font-size: clamp(3.35rem,8vw,7.4rem); line-height: .9; letter-spacing: -.075em; }
.hero h1 span { background: linear-gradient(90deg,#7657ff,#e64f8a 48%,#ff7a40); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-copy { max-width: 650px; margin: 1.6rem auto 0; color: var(--muted); font-size: clamp(1rem,2vw,1.35rem); line-height: 1.45; }
.hero-stage { position: relative; min-height: clamp(520px,68vw,760px); overflow: hidden; border-radius: 36px; background:#0b0b14 url("assets/harmonic-ribbons.png") center/cover; color: #fff; box-shadow: 0 35px 80px rgba(28,26,50,.22); }
.hero-video-layer { position:absolute; inset:0; overflow:hidden; background:#0b0b14; opacity:0; transition:opacity .8s ease; }
.hero-stage.video-playing .hero-video-layer { opacity:1; }
.hero-video-layer iframe { position:absolute; width:max(100%,135vh); height:max(100%,56.25vw); left:50%; top:50%; border:0; transform:translate(-50%,-50%) scale(1.02); pointer-events:none; opacity:.58; }
.hero-art { position: absolute; inset: 0; background:linear-gradient(180deg,rgba(7,5,17,.18) 5%,rgba(7,5,17,.32) 48%,rgba(7,5,17,.92) 94%),url("assets/harmonic-ribbons.png") center/cover; transform: scale(1.01); }
.hero-stage.video-playing .hero-art { background:linear-gradient(180deg,rgba(7,5,17,.22) 5%,rgba(7,5,17,.3) 48%,rgba(7,5,17,.92) 94%); }
.hero-stage-copy { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; padding: clamp(4rem,9vw,7.5rem) 2rem 10rem; text-align: center; }
.hero-stage-copy>p { margin: 0 0 1rem; color: #ffc55f; font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.hero-stage h2 { margin: 0; font-size: clamp(3rem,7vw,6.4rem); line-height: .9; letter-spacing: -.07em; }
.hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1.25rem; border: 1px solid transparent; border-radius: 999px; font-size: .86rem; font-weight: 500; transition: background .2s,color .2s,transform .2s; }.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--blue); color: #fff; }.button-primary:hover { background: #0077ed; }.button-ghost { border-color: rgba(255,255,255,.45); color: #fff; }.button-ghost:hover { background: #fff; color: #111; }
.hero-now { position: absolute; z-index: 2; left: clamp(1rem,3vw,2.5rem); right: clamp(1rem,3vw,2.5rem); bottom: clamp(1rem,3vw,2rem); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(18,18,27,.62); backdrop-filter: blur(24px) saturate(160%); }
.play-disc { width: 46px; height: 46px; display: grid; place-items: center; padding-left: 2px; border:0; border-radius: 50%; background: #fff; color: #161616; font-size: .82rem; cursor:pointer; transition:transform .2s,background .2s; }
.play-disc:hover,.play-disc:focus-visible { transform:scale(1.06); background:#ffe9d2; }
.hero-now p { display: flex; flex-direction: column; gap: .2rem; margin: 0; }.hero-now b { font-size: .78rem; }.hero-now small { color: rgba(255,255,255,.62); font-size: .66rem; }
.sound-bars { height:34px; display:flex; align-items:center; gap:3px; padding:0 2px; }.sound-bars i { width:3px; height:26px; border-radius:5px; background:linear-gradient(180deg,#ffc060,#ff765d 48%,#a986ff); transform-origin:center; animation:audio-wave .72s cubic-bezier(.45,.05,.55,.95) infinite alternate; box-shadow:0 0 8px rgba(255,120,90,.24) }.sound-bars i:nth-child(2n){animation-duration:.48s;animation-delay:-.28s}.sound-bars i:nth-child(3n){animation-duration:.92s;animation-delay:-.61s}.sound-bars i:nth-child(4n){animation-duration:.63s;animation-delay:-.42s}.sound-bars i:nth-child(5n){animation-duration:1.05s;animation-delay:-.76s}
.hero-sound { position:relative; min-width:92px; min-height:48px; display:flex; align-items:center; justify-content:center; padding:.35rem .8rem; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.hero-sound::after { content:""; position:absolute; right:8px; top:8px; width:6px; height:6px; border-radius:50%; background:#ffb25a; box-shadow:0 0 0 3px rgba(255,178,90,.16); transition:background .2s,box-shadow .2s; }
.hero-sound:hover,.hero-sound:focus-visible { transform:scale(1.04); border-color:rgba(255,190,96,.55); background:rgba(255,255,255,.14); box-shadow:0 8px 24px rgba(0,0,0,.24); }.hero-sound:active{transform:scale(.98)}
.hero-stage:not(.is-muted) .hero-sound::after { background:#56e09b; box-shadow:0 0 0 4px rgba(86,224,155,.18),0 0 14px rgba(86,224,155,.5); }
.hero-stage.is-muted .sound-bars { opacity:.72; }.hero-stage.is-muted .sound-bars i { animation-duration:1.35s; filter:saturate(.7); }.hero-stage.is-paused .sound-bars { opacity:.76; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.experience-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(126px,1fr); gap: 1rem; margin-top: 2.2rem; overflow-x: auto; padding: .5rem .15rem 1rem; scrollbar-width: none; scroll-snap-type: x mandatory; }.experience-rail::-webkit-scrollbar,.poster-wall::-webkit-scrollbar { display: none; }
.experience-rail a { min-width: 126px; display: flex; flex-direction: column; align-items: center; scroll-snap-align: start; text-align: center; }
.rail-icon { width: 80px; height: 80px; display: grid; place-items: center; margin-bottom: .75rem; border-radius: 24px; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.07); font-size: 1.8rem; font-weight: 700; transition: transform .25s,box-shadow .25s; }.experience-rail a:hover .rail-icon { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.11); }
.rail-icon svg{width:42px;height:42px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 8px rgba(0,0,0,.15));transition:transform .25s ease}.rail-icon svg .filled{fill:currentColor;stroke:none}.experience-rail a:hover .rail-icon svg{transform:scale(1.08)}
.rail-events { color:#fff;background:linear-gradient(145deg,#4d2cec,#ba65ff) }.rail-calendar { color:#fff;background:linear-gradient(145deg,#ff4b53,#ff836e);font-size:1.25rem }.rail-watch { color:#fff;background:linear-gradient(145deg,#e7003d,#ff687c) }.rail-scores { color:#fff;background:linear-gradient(145deg,#111827,#4b5563) }.rail-portal { color:#fff;background:linear-gradient(145deg,#077df1,#46c8ff) }.rail-join { color:#fff;background:linear-gradient(145deg,#ff8a26,#ffc14e) }
.experience-rail b { font-size: .78rem; }.experience-rail small { margin-top: .2rem; color: var(--muted); font-size: .67rem; }

.section { max-width: var(--max); margin: 0 auto; padding: clamp(5rem,10vw,9rem) var(--gutter); }.section-label { margin-bottom: 2.5rem; color: var(--muted); font-size: .7rem; font-weight: 600; }.section-label span { display: none; }
.display { margin: 0; font-size: clamp(2.8rem,6.5vw,6rem); line-height: .95; letter-spacing: -.065em; }.display span { background: linear-gradient(90deg,#7657ff,#f25b89); -webkit-background-clip:text; background-clip:text; color:transparent; }
.manifesto { display:grid;grid-template-columns:minmax(170px,.6fr) 2fr;gap:clamp(2rem,7vw,7rem) }.manifesto-copy { max-width:920px }.manifesto-grid { max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2.5rem 0 0;color:var(--muted);line-height:1.55 }
.band-picture { position:relative;max-width:calc(var(--max) - (var(--gutter)*2));height:clamp(420px,62vw,720px);margin:0 auto;overflow:hidden;border-radius:36px;background:#111 }.band-picture img { width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1) }.band-picture:hover img { transform:scale(1.025) }.image-wash { position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%) }.photo-caption { position:absolute;inset:auto 1.5rem 1.5rem;display:flex;justify-content:space-between;margin:0;color:#fff;font-size:.75rem;font-weight:600 }.floating-note { display:none }

.events { max-width:none;padding-left:max(var(--gutter),calc((100vw - var(--max))/2));padding-right:0 }.events>.section-label,.events-heading,.archive-note,.dates-board { max-width:calc(var(--max) - var(--gutter));margin-right:var(--gutter) }
.events-heading,.social-heading,.people-heading { display:grid;grid-template-columns:1.3fr .8fr;align-items:end;gap:3rem;margin-bottom:2.5rem }.events-aside,.people-intro,.social-heading>p { color:var(--muted);line-height:1.5 }.year-tabs { display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.3rem }
.year-tab,.view-button { padding:.55rem .85rem;border:0;border-radius:999px;background:#e8e8ed;color:#515154;cursor:pointer;font-size:.7rem }.year-tab.active,.year-tab:hover,.view-button.active { background:var(--ink);color:#fff }
.poster-wall { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,420px);gap:1.25rem;overflow-x:auto;padding:.5rem var(--gutter) 2rem 0;scroll-snap-type:x mandatory;scrollbar-width:none }.poster { position:relative;min-height:540px;overflow:hidden;display:block;padding:1.5rem;border-radius:28px;scroll-snap-align:start;background:#111;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.12);transition:transform .35s,box-shadow .35s }.poster:hover { transform:translateY(-6px);box-shadow:0 25px 50px rgba(0,0,0,.18) }.poster.hidden { display:none }.poster img,.poster-shade { position:absolute;inset:0;width:100%;height:100%;object-fit:cover }.poster-shade { background:linear-gradient(0deg,rgba(0,0,0,.88),transparent 66%) }.poster-year,.poster-series,.poster-copy,.poster-arrow { position:relative;z-index:1 }.poster-year { display:inline-flex;padding:.38rem .62rem;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);font-size:.65rem;font-weight:700 }.poster-series { float:right;margin-top:.35rem;font-size:.62rem;font-weight:600 }.poster-copy { position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem }.poster-copy b { display:block;font-size:clamp(2.2rem,4vw,3.7rem);line-height:.92;letter-spacing:-.055em }.poster-copy small { display:block;margin-top:1rem;color:rgba(255,255,255,.7);font-size:.68rem }.poster-arrow { position:absolute;top:1.5rem;right:1.5rem }
.poster-coral { background:radial-gradient(circle at 75% 15%,#ffc272,transparent 35%),linear-gradient(145deg,#ee526f,#f97b66) }.poster-navy { background:radial-gradient(circle at 25% 12%,#6b5cff,transparent 35%),linear-gradient(145deg,#111529,#222249) }.poster-gold { background:radial-gradient(circle at 80% 20%,#ff6d80,transparent 35%),linear-gradient(145deg,#ff9c3f,#ffd363);color:#241505 }.poster-cyan { background:radial-gradient(circle at 75% 20%,#fff,transparent 28%),linear-gradient(145deg,#25b4e8,#71e1ef);color:#052b39 }.archive-note { color:var(--muted);font-size:.75rem }

.dates-board { overflow:hidden;margin-top:clamp(4rem,8vw,7rem);border-radius:30px;background:#fff;box-shadow:0 14px 45px rgba(0,0,0,.08) }.dates-topbar { display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:2rem;border-bottom:1px solid var(--line) }.dates-topbar h3 { margin:0;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.055em }.view-switch { display:flex;gap:.3rem;padding:.25rem;border-radius:999px;background:#f0f0f3 }.date-view { display:none }.date-view.active { display:block }
.board-announcement { display:grid;grid-template-columns:230px 1fr;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#171516,#241718);color:#fff }.announcement-author { display:flex;align-items:flex-start;gap:.7rem;padding:1.5rem;border-right:1px solid rgba(255,255,255,.12) }.announcement-author>span { width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#a58cff,#ff6993);font-size:.72rem;font-weight:800 }.announcement-author>div { display:flex;min-width:0;flex-direction:column;gap:.2rem }.announcement-author b { font-size:.76rem }.announcement-author small { color:#9f9fa5;font-size:.62rem }.announcement-author i { display:none }.announcement-content { padding:1.5rem 2rem }.announcement-title { margin:0 0 1rem;color:#ffb45d;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase }.announcement-events { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem }.announcement-events section { display:grid;grid-template-columns:28px 1fr;gap:.7rem }.announcement-events section>span { color:#ff7d5c;font-size:.68rem;font-weight:800 }.announcement-events h4 { margin:0 0 .45rem;font-size:1rem }.announcement-events p { margin:.3rem 0;color:#b9b9bf;font-size:.76rem;line-height:1.5 }.announcement-content>a { display:inline-flex;margin-top:1.2rem;padding:.65rem .85rem;border-radius:999px;background:#fff;color:#111;font-size:.72rem;font-weight:750 }.announcement-content>small { display:block;margin-top:.7rem;color:#9f9fa5;font-size:.68rem }.status.closed { background:#ffe5df;color:#a63b2b }.status.recruiting { background:#fff0c9;color:#836000 }
.repertoire-announcement{background:linear-gradient(135deg,#111a25,#182a35)}.repertoire-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem)}.repertoire-columns h4{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .8rem;font-size:1rem}.repertoire-columns h4 small{padding:.25rem .45rem;border-radius:999px;background:rgba(255,180,93,.13);color:#ffb45d;font-size:.62rem;letter-spacing:.08em}.repertoire-columns ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.repertoire-columns li{position:relative;padding-left:1rem;color:#d3d9df;font-size:.8rem;line-height:1.45}.repertoire-columns li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:#63d5d9}.repertoire-columns li.score-pending{color:#b6bec8}.repertoire-columns li.score-pending::before{background:#ffb45d}.repertoire-columns li b{color:#ffb45d}.score-availability-note{margin:1.3rem 0 0;padding:1rem;border-left:3px solid #ffb45d;background:rgba(255,255,255,.05);color:#bfc7d0;font-size:.78rem;line-height:1.55}.score-availability-note b{color:#fff}
.live-signup-summary { padding:1.5rem 2rem 1.75rem;background:#faf8f4;border-bottom:1px solid var(--line) }.live-summary-heading { display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem }.live-summary-heading h4 { margin:0;font-size:1rem }.live-summary-heading small,.live-summary-loading { color:#66666d;font-size:.78rem }.live-summary-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem }.live-summary-grid article { display:flex;flex-direction:column;min-width:0;padding:1rem;border:1px solid #e4ded5;border-radius:16px;background:#fff }.live-summary-grid p { margin:0;color:#686168;font-size:.75rem }.live-summary-grid strong { margin:.35rem 0;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1 }.live-summary-grid small { color:#69646a;font-size:.72rem;line-height:1.45 }.attendance-totals { display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem }.attendance-totals span { padding:.35rem .55rem;border-radius:999px;background:#ece8e1;color:#554f50;font-size:.68rem }.live-summary-loading { margin:0 }
@media(max-width:760px){.board-announcement{grid-template-columns:1fr}.announcement-author{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.announcement-content{padding:1.3rem}.announcement-events,.repertoire-columns{grid-template-columns:1fr}.dates-topbar{align-items:flex-start;flex-direction:column}.view-switch{width:100%;overflow-x:auto}.view-button{flex:0 0 auto;white-space:nowrap}.live-signup-summary{padding:1.25rem}.live-summary-heading{align-items:flex-start;flex-direction:column}.live-summary-grid{grid-template-columns:1fr}}
.calendar-controls { width:min(400px,100%);display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin:0 auto;padding:1.4rem 1rem 1rem;text-align:center }.calendar-controls p { margin:0;font-weight:600 }.calendar-controls b { color:var(--blue) }.calendar-arrow { width:36px;height:36px;border:0;border-radius:50%;background:#efeff3;cursor:pointer }.calendar-arrow:hover { background:var(--ink);color:#fff }.calendar-shell { display:grid;grid-template-columns:1.6fr .75fr;border-top:1px solid var(--line) }.calendar-grid { display:grid;grid-template-columns:repeat(7,1fr);border-right:1px solid var(--line) }.calendar-cell { position:relative;min-height:78px;padding:.65rem;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;font-size:.72rem;text-align:left }.calendar-cell:nth-child(7n) { border-right:0 }.calendar-cell.head { min-height:36px;color:#999;font-size:.6rem;font-weight:600 }.calendar-cell.empty { background:#fafafa }.calendar-cell.event { cursor:pointer;background:#f4f8ff;color:var(--blue);font-weight:700 }.calendar-cell.event::after { content:"";position:absolute;left:.7rem;bottom:.7rem;width:6px;height:6px;border-radius:50%;background:var(--blue) }.calendar-cell.event.selected { background:var(--blue);color:#fff }.calendar-cell.event.selected::after { background:#fff }
.calendar-detail { display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(145deg,#2c2b5d,#7059ed);color:#fff }.calendar-date { color:#d4ccff;font-size:.7rem;font-weight:700 }.calendar-detail p { margin:1.5rem 0 .4rem;color:#d4ccff;font-size:.68rem;font-weight:600 }.calendar-detail h4 { margin:0;font-size:clamp(1.7rem,3vw,3rem);line-height:1;letter-spacing:-.045em }.calendar-detail small { margin-top:1rem;color:rgba(255,255,255,.68);line-height:1.5 }.table-scroll { overflow-x:auto }.event-table { width:100%;min-width:760px;border-collapse:collapse }.event-table th,.event-table td { padding:1.1rem 1.3rem;border-top:1px solid var(--line);text-align:left;font-size:.76rem }.event-table th { color:#8a8a8f;font-size:.63rem }.event-table td span { display:block;margin-top:.25rem;color:#8a8a8f;font-size:.66rem }.status { display:inline-flex;padding:.35rem .6rem;border-radius:999px;background:#e8f7ef;color:#1c7650;font-size:.6rem;font-style:normal;font-weight:700 }.status.upcoming { background:#e8f1ff;color:#176ac4 }.dates-footer { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;border-top:1px solid var(--line) }.dates-footer p { margin:0;color:var(--muted);font-size:.67rem }.live-dot { display:inline-block;width:7px;height:7px;margin-right:.45rem;border-radius:50%;background:#2eb67d }.calendar-download { padding:.65rem .9rem;border-radius:999px;background:var(--blue);color:#fff;font-size:.67rem;font-weight:600;white-space:nowrap }

.story { max-width:none;padding-left:max(var(--gutter),calc((100vw - var(--max))/2));padding-right:max(var(--gutter),calc((100vw - var(--max))/2));background:#000;color:#fff }.story-intro { display:grid;grid-template-columns:.65fr 2fr;gap:3rem;align-items:end;margin-bottom:4rem }.story .kicker { color:#b7a7ff }.timeline { max-width:900px;margin-left:auto }.timeline-item { display:grid;grid-template-columns:90px 20px 1fr;gap:1.5rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.14) }.year { color:#b7a7ff;font-weight:700 }.timeline-dot { width:9px;height:9px;margin-top:.35rem;border:2px solid #787878;border-radius:50% }.timeline-dot.active { border-color:#8a70ff;background:#8a70ff;box-shadow:0 0 0 6px rgba(138,112,255,.2) }.timeline-item h3 { margin:0 0 .5rem;font-size:1.15rem }.timeline-item p { max-width:660px;margin:0;color:#a1a1a6;line-height:1.55 }
.people-heading { margin-bottom:3rem }.conductor-grid { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem }.person-card { overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:460px;border-radius:28px;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.07) }.person-image { position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem;overflow:hidden;background:radial-gradient(circle at 70% 20%,#6f5cff,transparent 35%),linear-gradient(145deg,#11152a,#242451) }.person-monogram.dorean { background:radial-gradient(circle at 30% 20%,#ff8b6b,transparent 35%),linear-gradient(145deg,#2e1724,#622f4f) }.person-monogram strong { color:#fff;font-size:clamp(4rem,8vw,7rem);line-height:.8;letter-spacing:-.09em }.person-monogram small { margin-top:1.2rem;color:rgba(255,255,255,.62);font-size:.63rem }.person-number { position:absolute;top:1.2rem;left:1.2rem;color:rgba(255,255,255,.6);font-size:.68rem }.person-details { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:1.6rem }.person-details>p:first-child { color:var(--purple);font-size:.68rem;font-weight:700 }.person-details h3 { margin:.35rem 0 1rem;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.045em }.person-bio,.bio-more { color:var(--muted);font-size:.8rem;line-height:1.5 }.text-link { margin-top:1rem;padding:.55rem .8rem;border:0;border-radius:999px;background:#eeeef2;cursor:pointer;font-size:.68rem;font-weight:600 }.bio-more { margin-top:.8rem }
.person-portrait { padding:0;background:#202024 }.person-portrait img { width:100%;height:100%;object-fit:cover;object-position:center top }.person-portrait.dorean img { object-position:center center }.person-portrait::after { content:"";position:absolute;inset:52% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68)) }.person-portrait small { position:absolute;z-index:2;left:1.25rem;bottom:1.2rem;color:#fff;font-size:.64rem;font-weight:600 }.person-portrait .person-number { z-index:2;padding:.35rem .55rem;border-radius:999px;background:rgba(0,0,0,.35);color:#fff;backdrop-filter:blur(10px) }

.social { max-width:none;padding-left:max(var(--gutter),calc((100vw - var(--max))/2));padding-right:max(var(--gutter),calc((100vw - var(--max))/2));background:#111;color:#fff }.social .display span { background-image:linear-gradient(90deg,#9f84ff,#ff6590) }.social-heading>p { color:#a1a1a6 }.social-grid { display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:1rem }.feed-card { min-width:0;overflow:hidden;border-radius:24px;background:#202022 }.feed-top { display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.75rem;padding:1rem }.feed-top>div { display:flex;flex-direction:column }.feed-top b { font-size:.78rem }.feed-top small { color:#8f8f94;font-size:.62rem }.feed-top>a { width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#353537 }.social-icon { width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#ff0033;font-size:.7rem }.social-icon.ig { background:linear-gradient(135deg,#8a3ab9,#e95950,#fccc63);font-size:1.1rem }.social-icon.fb { background:#1877f2;font-weight:700 }.embed-frame { position:relative;height:430px;overflow:hidden;background:#080808 }.embed-frame iframe { position:relative;z-index:2;width:100%;height:100%;border:0 }.video-frame { height:auto;aspect-ratio:16/11 }.embed-fallback { position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;background:linear-gradient(145deg,#562dc6,#d13f7b) }.embed-fallback span { font-size:.67rem }.embed-fallback b { margin-top:.5rem;font-size:1.3rem }
.poster-horizons { background:#32160e url("assets/horizons-cover-2026.jpg?v=20260828") center/cover no-repeat; }
.youtube-cover { position:relative;display:block;min-height:430px;overflow:hidden;background:#0b0b0d;color:#fff; }
.youtube-cover>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.youtube-cover:hover>img { transform:scale(1.035); }
.youtube-cover-shade { position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 28%,rgba(0,0,0,.9) 100%); }
.youtube-cover-copy { position:absolute;left:clamp(1.2rem,4vw,2rem);right:1.2rem;bottom:5.3rem;display:flex;align-items:center;gap:1rem; }
.youtube-cover-copy>span:last-child { display:flex;min-width:0;flex-direction:column; }
.youtube-cover-copy b { font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1.1; }
.youtube-cover-copy small { margin-top:.35rem;color:rgba(255,255,255,.72);font-size:.8rem; }
.youtube-play { width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;padding-left:3px;border-radius:50%;background:#ff0033;box-shadow:0 8px 25px rgba(255,0,51,.32); }
.youtube-cover-action { position:absolute;left:clamp(1.2rem,4vw,2rem);bottom:1.6rem;padding:.72rem 1rem;border-radius:999px;background:#fff;color:#111;font-size:.82rem;font-weight:700; }
.community { position:relative;min-height:740px;display:grid;align-items:center;overflow:hidden;padding:clamp(5rem,10vw,9rem) max(var(--gutter),calc((100vw - var(--max))/2));background:#111;color:#fff }.community-art { position:absolute;inset:0;background:url("assets/harmonic-ribbons.png") center/cover }.community::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.48) 62%,rgba(0,0,0,.1)) }.community-copy { position:relative;z-index:1;width:min(720px,85vw) }.community h2 { margin:0;font-size:clamp(3.8rem,8vw,7.5rem);line-height:.9;letter-spacing:-.07em }.community h2 em { background:linear-gradient(90deg,#a58cff,#ff6993);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal }.community-copy>p:not(.eyebrow) { max-width:560px;color:rgba(255,255,255,.68);font-size:1.05rem;line-height:1.55 }.community .hero-actions { justify-content:flex-start }.button-light { background:#fff;color:#111 }.button-outline-light { border-color:rgba(255,255,255,.5);color:#fff }.community-word { display:none }
.site-footer { padding:4rem max(var(--gutter),calc((100vw - var(--max))/2)) 1.5rem;background:var(--canvas) }.footer-main { display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;padding-bottom:4rem }.footer-main>div>p { margin:1.6rem 0 0;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:600;letter-spacing:-.04em }.footer-links { display:grid;grid-template-columns:1fr 1fr;gap:2rem }.footer-links div { display:flex;flex-direction:column;align-items:flex-start }.footer-links p { margin:0 0 .8rem;color:var(--muted);font-size:.68rem;font-weight:700 }.footer-links a { margin:.28rem 0;font-size:.78rem }.footer-links a:hover { color:var(--blue) }.footer-bottom { display:flex;justify-content:space-between;gap:2rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.62rem }.footer-bottom p { margin:0 }
.reveal { opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1) }.reveal.visible { opacity:1;transform:none }
@keyframes pulse { to { transform:scaleY(.55) } } @keyframes equalize { to { height:5px } } @keyframes audio-wave { from { transform:scaleY(.18) } to { transform:scaleY(1) } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto } *,*::before,*::after { animation:none!important;transition-duration:.01ms!important }.reveal { opacity:1;transform:none } }
@media (max-width:980px) {
  .menu-toggle { display:block;position:relative;z-index:2 }.menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg) }.menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg) }
  .main-nav { position:fixed;inset:0;flex-direction:column;justify-content:center;gap:1.4rem;background:rgba(250,250,252,.98);transform:translateX(100%);transition:transform .3s ease }.main-nav.open { transform:none }.main-nav a { font-size:1.5rem;font-weight:600;letter-spacing:-.03em }.main-nav .nav-cta { padding:.7rem 1.1rem;color:#fff;font-size:.9rem }
  .manifesto { grid-template-columns:1fr }.manifesto-grid { margin-left:0 }.events-heading,.social-heading,.people-heading { grid-template-columns:1fr;gap:1.5rem }.calendar-shell { grid-template-columns:1fr }.calendar-grid { border-right:0 }.calendar-detail { min-height:280px }.conductor-grid { grid-template-columns:1fr }.social-grid { grid-template-columns:1fr 1fr }.feed-youtube { grid-column:1/-1 }
}
@media (max-width:640px) {
  .site-header { height:48px }.brand-name b { display:none }.hero { padding-top:7rem }.hero h1 { font-size:clamp(3.1rem,16vw,5rem) }.hero-stage { min-height:560px;border-radius:26px }.hero-stage-copy { padding-top:4.5rem }.hero-stage h2 { font-size:clamp(3.1rem,14vw,4.8rem) }.hero-now { grid-template-columns:auto 1fr auto;gap:.7rem }.hero-now .sound-bars { display:none }.hero-sound{padding:.3rem}.sound-label{font-size:.66rem}
  .experience-rail { margin-left:calc(var(--gutter)*-1);margin-right:calc(var(--gutter)*-1);padding-left:var(--gutter);padding-right:var(--gutter) }.manifesto-grid { grid-template-columns:1fr;gap:.5rem }.band-picture { margin-left:var(--gutter);margin-right:var(--gutter);border-radius:26px }.photo-caption { flex-direction:column;gap:.35rem }.poster-wall { grid-auto-columns:minmax(280px,82vw) }.poster { min-height:480px;border-radius:24px }
  .dates-topbar { align-items:flex-start;flex-direction:column }.calendar-cell { min-height:52px;padding:.45rem }.calendar-cell.event::after { left:.45rem;bottom:.4rem }.dates-footer { align-items:flex-start;flex-direction:column }.story-intro { grid-template-columns:1fr }.timeline-item { grid-template-columns:55px 14px 1fr;gap:.7rem }.person-card { grid-template-columns:1fr }.person-image { min-height:320px }.social-grid { grid-template-columns:1fr }.feed-youtube { grid-column:auto }.community { min-height:680px }.community-copy { width:100% }.footer-main,.footer-links { grid-template-columns:1fr }.footer-main { gap:3rem }.footer-bottom { flex-direction:column;gap:.5rem }
}

/* Concert-hall edition: Apple clarity with an Esplanade-inspired stage rhythm. */
body { font-size:17px; background:#080808; }
.site-header { background:rgba(9,9,10,.82); border-color:rgba(255,255,255,.08); color:#fff; }.site-header.scrolled { background:rgba(9,9,10,.94); border-color:rgba(255,255,255,.12); }.site-header .brand-name b { color:#a1a1a6; }.main-nav a { color:#d1d1d6; font-size:.8rem; }.main-nav a:hover { color:#ff784f; }.menu-toggle span { background:#fff; }
.hero { max-width:none; padding-left:max(var(--gutter),calc((100vw - var(--max))/2)); padding-right:max(var(--gutter),calc((100vw - var(--max))/2)); color:#fff; background:radial-gradient(ellipse at 50% -8%,rgba(255,172,82,.23),transparent 38%),radial-gradient(ellipse at 12% 55%,rgba(127,35,42,.28),transparent 32%),linear-gradient(180deg,#0b0a0b,#080808); }
.hero-intro,.hero-stage,.experience-rail { max-width:var(--max); margin-left:auto; margin-right:auto; }.hero-kicker { color:#ffb44c; font-size:1rem; }.hero-copy { color:#b7b7bc; font-size:clamp(1.08rem,2vw,1.4rem); }.hero-stage { border:1px solid rgba(255,183,92,.18); border-radius:28px; box-shadow:0 38px 100px rgba(0,0,0,.62),0 0 80px rgba(255,104,62,.08); }.hero-stage::before { content:""; pointer-events:none; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(82,8,17,.22),transparent 16% 84%,rgba(82,8,17,.22)); }.hero-stage-copy>p { color:#ffbe57; font-size:.88rem; }.hero-now b { font-size:.88rem; }.hero-now small { font-size:.75rem; }
.experience-rail b { color:#fff; font-size:.9rem; }.experience-rail small { color:#96969c; font-size:.77rem; }.rail-icon { border-radius:18px; }
.manifesto { max-width:none; padding-left:max(var(--gutter),calc((100vw - var(--max))/2)); padding-right:max(var(--gutter),calc((100vw - var(--max))/2)); color:#fff; background:linear-gradient(120deg,#151313,#080808); }.section-label { padding-top:1rem; border-top:1px solid rgba(255,255,255,.16); color:#aaaab0; font-size:.82rem; }.manifesto-grid { color:#b7b7bc; font-size:1.05rem; }.kicker,.eyebrow { font-size:.94rem; }
.band-picture { border-radius:20px; box-shadow:0 30px 80px rgba(0,0,0,.55); }.photo-caption { font-size:.84rem; }
.events { color:var(--ink); background:#eeeae2; }.events .section-label { border-color:rgba(0,0,0,.14); }.events .display,.story .display,.social .display,.community h2 { font-family:"Iowan Old Style","Baskerville",Georgia,serif; font-weight:500; letter-spacing:-.055em; }.events .display span { background:none; color:#d94b32; }.events-aside { font-size:1rem; }.year-tab { font-size:.8rem; }.poster { border-radius:16px; }.poster-copy small { font-size:.8rem; line-height:1.4; }.archive-note { font-size:.86rem; }
.dates-topbar .kicker { color:#d94b32; }.dates-topbar h3 { font-family:"Iowan Old Style","Baskerville",Georgia,serif; }.view-button { font-size:.76rem; }.calendar-cell { font-size:.82rem; }.calendar-cell.head { font-size:.7rem; }.calendar-detail p,.calendar-date { font-size:.78rem; }.calendar-detail small { font-size:.82rem; }.event-table th { font-size:.72rem; }.event-table td { font-size:.86rem; }.event-table td span { font-size:.76rem; }.dates-footer p,.calendar-download { font-size:.76rem; }
.story { background:radial-gradient(circle at 14% 25%,rgba(123,24,30,.3),transparent 24%),#090909; }.story .section-label,.social .section-label { color:#aaaab0; }.story .kicker,.social .kicker { color:#ff9b58; }.timeline-item h3 { font-size:1.3rem; }.timeline-item p { font-size:1rem; }.year { font-size:.92rem; }
.people { max-width:none; padding-left:max(var(--gutter),calc((100vw - var(--max))/2)); padding-right:max(var(--gutter),calc((100vw - var(--max))/2)); background:#171515; color:#fff; }.people .section-label { color:#aaaab0; }.people-intro { color:#b5b5ba; font-size:1rem; }.person-details { color:var(--ink); }.person-bio,.bio-more { font-size:.9rem; }.text-link { font-size:.76rem; }
.social { background:linear-gradient(135deg,#0a0a0a,#151111); }.social-heading>p { font-size:1rem; }.feed-top b { font-size:.9rem; }.feed-top small { font-size:.72rem; }.feed-card { border:1px solid rgba(255,255,255,.09); border-radius:16px; }.youtube-rescue { position:absolute; z-index:4; right:.8rem; bottom:.8rem; padding:.55rem .75rem; border-radius:999px; background:rgba(0,0,0,.72); color:#fff; font-size:.74rem; backdrop-filter:blur(12px); }
.community::after { background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(35,7,11,.66) 62%,rgba(0,0,0,.12)); }.community-copy>p:not(.eyebrow) { font-size:1.08rem; }.button { font-size:.94rem; }
.site-footer { background:#080808; color:#fff; }.site-footer .brand-name b,.footer-links p,.footer-bottom { color:#8e8e93; }.footer-links a { font-size:.88rem; }.footer-bottom { font-size:.74rem; }

@media(max-width:980px){.main-nav { background:rgba(10,10,11,.98); }.main-nav a { color:#fff; font-size:1.6rem; }}
@media(max-width:640px){body{font-size:16px}.hero{padding-top:7.3rem}.hero-stage{border-radius:20px}.section-label{font-size:.78rem}.experience-rail b{font-size:.86rem}.experience-rail small{font-size:.74rem}.poster{border-radius:14px}.youtube-rescue{left:.7rem;right:auto;font-size:.7rem}.youtube-cover{min-height:360px}.youtube-cover-copy{bottom:5.1rem}.youtube-cover-copy small{font-size:.74rem}}

/* Public membership application */
.community .button { cursor:pointer; font-family:inherit; }
.join-dialog { width:min(820px,calc(100% - 2rem)); max-height:calc(100svh - 2rem); padding:0; overflow:auto; border:0; border-radius:28px; background:#fff; color:#111; box-shadow:0 30px 100px rgba(0,0,0,.55); }
.join-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(10px); }
.join-form { padding:clamp(1.4rem,4vw,2.6rem); }
.join-form-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; }
.join-form-heading p { margin:0 0 .45rem; color:#d94b32; font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.join-form-heading h2 { max-width:650px; margin:0; font-family:"Iowan Old Style","Baskerville",Georgia,serif; font-size:clamp(2rem,5vw,3.5rem); font-weight:500; line-height:.98; letter-spacing:-.055em; }
.join-form-heading>button { width:40px; height:40px; flex:0 0 auto; border:0; border-radius:50%; background:#eeeef2; cursor:pointer; color:#333; font-size:1.5rem; line-height:1; }
.join-intro { max-width:680px; margin:1.3rem 0; color:#6e6e73; font-size:.88rem; line-height:1.55; }
.join-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.join-fields label { display:flex; flex-direction:column; gap:.45rem; color:#515154; font-size:.72rem; font-weight:650; }
.join-fields label.wide { grid-column:1/-1; }
.join-fields label>span { color:#999; font-weight:500; }
.join-fields input,.join-fields textarea { width:100%; padding:.85rem .9rem; border:1px solid transparent; border-radius:12px; outline:0; background:#f2f2f7; color:#111; font:inherit; font-size:.9rem; resize:vertical; }
.join-fields input:focus,.join-fields textarea:focus { border-color:#0071e3; background:#fff; box-shadow:0 0 0 3px rgba(0,113,227,.12); }
.join-consent { display:flex; align-items:flex-start; gap:.65rem; margin:1.2rem 0; color:#6e6e73; font-size:.72rem; line-height:1.45; }
.join-consent input { margin-top:.15rem; accent-color:#0071e3; }
.join-form-actions { display:flex; align-items:center; gap:1rem; }
.join-form-actions small { color:#86868b; font-size:.68rem; line-height:1.4; }
.join-success { margin-top:1rem; padding:1rem; border-radius:14px; background:#e8f7ef; color:#1c7650; font-size:.82rem; line-height:1.5; }
body.join-dialog-open { overflow:hidden; }
@media(max-width:640px){.join-dialog{width:100%;max-height:100svh;margin:auto 0 0;border-radius:24px 24px 0 0}.join-fields{grid-template-columns:1fr}.join-fields label.wide{grid-column:auto}.join-form-actions{align-items:flex-start;flex-direction:column}.join-form-actions .button{width:100%;justify-content:center}}

/* Readability and touch-target floor across phone and tablet sizes. */
.footer-links p,.footer-bottom,.feed-top small,.archive-note,.poster-copy small,.dates-footer p,.calendar-download,.announcement-author small,.announcement-content>small { font-size:.75rem; line-height:1.45; }
.footer-links a,.feed-top b,.calendar-cell,.event-table th,.event-table td,.view-button,.year-tab { font-size:.82rem; }
.calendar-arrow,.view-button,.year-tab,.calendar-download,.text-link,.youtube-cover-action,.join-form-heading>button { min-width:44px; min-height:44px; }
.join-form-heading>button { position:sticky; top:0; }
.join-fields label,.join-consent,.join-form-actions small { font-size:.78rem; }
.join-fields input,.join-fields textarea { min-height:44px; font-size:1rem; }
.table-scroll { overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
@media(max-width:640px){.hero-now .sound-bars{display:flex}.hero-sound{min-width:78px;padding:.3rem .55rem}.sound-bars{gap:2px}.sound-bars i{width:2px}.hero-now b{font-size:.78rem}.hero-now small{font-size:.72rem}}
@media(max-height:520px) and (orientation:landscape){.join-dialog{max-height:100svh;border-radius:18px}.community{min-height:100svh}.main-nav{overflow-y:auto;padding:3.5rem 1rem 1rem}}

/* Theatre spotlight hero */
.public-site .hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 50% 0,rgba(255,188,104,.24),transparent 34%),radial-gradient(ellipse at 10% 48%,rgba(111,35,45,.3),transparent 31%),linear-gradient(180deg,#0a090b,#050505); }
.public-site .hero::before,.public-site .hero::after { content:""; position:absolute; z-index:-1; top:-10rem; width:34rem; height:48rem; pointer-events:none; filter:blur(8px); opacity:.26; }
.public-site .hero::before { left:-16rem; background:conic-gradient(from 154deg at 50% 0,transparent 0 37%,rgba(255,150,83,.5) 43%,transparent 50%); transform:rotate(-8deg); }
.public-site .hero::after { right:-16rem; background:conic-gradient(from 206deg at 50% 0,transparent 0 37%,rgba(173,139,255,.44) 43%,transparent 50%); transform:rotate(8deg); }
.hero-stage { --spot-x:50%; --spot-y:40%; isolation:isolate; border:1px solid rgba(255,197,124,.3)!important; box-shadow:inset 0 0 0 10px rgba(0,0,0,.22),inset 0 0 90px rgba(0,0,0,.8),0 36px 100px rgba(0,0,0,.72),0 0 70px rgba(255,126,70,.1)!important; }
.hero-video-layer { z-index:0; }.hero-art { z-index:1; }.hero-stage-copy { z-index:3; }.hero-now { z-index:4; }
.stage-lighting { position:absolute; z-index:2; inset:0; overflow:hidden; pointer-events:none; mix-blend-mode:screen; perspective:900px; }
.stage-lighting::before { content:""; position:absolute; left:4%; right:4%; top:0; height:14px; border-radius:0 0 50% 50%; background:linear-gradient(180deg,#050505,#26201c 62%,#090909); box-shadow:0 4px 18px #000,0 1px 0 rgba(255,220,170,.25); }
.stage-lighting::after { content:""; position:absolute; inset:-18%; opacity:.24; background:radial-gradient(circle at 18% 42%,rgba(255,221,164,.42) 0 1px,transparent 2px),radial-gradient(circle at 72% 24%,rgba(211,197,255,.4) 0 1px,transparent 2px),radial-gradient(circle at 48% 76%,rgba(255,176,105,.34) 0 1.2px,transparent 2.2px); background-size:83px 91px,117px 109px,151px 137px; filter:blur(.2px); animation:stage-haze 15s linear infinite; }
.spotlight { position:absolute; top:-7%; width:31%; height:112%; clip-path:polygon(44% 0,56% 0,100% 100%,0 100%); transform-origin:50% 0; opacity:.23; filter:blur(5px); }
.spotlight::before { content:""; position:absolute; left:43%; top:0; width:14%; aspect-ratio:1; border-radius:50%; background:#fff4c9; box-shadow:0 0 18px 9px rgba(255,218,150,.75); }
.spotlight-left { left:0; background:linear-gradient(180deg,rgba(255,222,162,.9),rgba(255,147,82,.18) 66%,transparent); transform:rotate(-13deg); animation:sweep-left 7.5s cubic-bezier(.45,.05,.55,.95) infinite alternate; }
.spotlight-centre { left:34.5%; background:linear-gradient(180deg,rgba(255,246,203,.95),rgba(255,187,102,.2) 70%,transparent); opacity:.3; animation:breathe-light 3.6s ease-in-out infinite alternate; }
.spotlight-right { right:0; background:linear-gradient(180deg,rgba(210,195,255,.88),rgba(154,114,255,.16) 68%,transparent); transform:rotate(13deg); animation:sweep-right 8.25s cubic-bezier(.45,.05,.55,.95) infinite alternate; }
.stage-follow-spot { position:absolute; inset:0; background:radial-gradient(circle 18rem at var(--spot-x) var(--spot-y),rgba(255,230,175,.18),rgba(255,179,100,.06) 38%,transparent 72%); transition:background-position .18s ease-out; }
.footlights { position:absolute; left:8%; right:8%; bottom:9px; display:flex; justify-content:space-between; opacity:.72; }
.footlights i { width:7px; height:7px; border-radius:50%; background:#ffd89a; box-shadow:0 0 7px 3px rgba(255,174,89,.42),0 -18px 34px 8px rgba(255,153,72,.12); animation:footlight 2.8s ease-in-out infinite alternate; }
.footlights i:nth-child(2n){animation-delay:-1.1s}.footlights i:nth-child(3n){animation-delay:-2s}
.hero-stage-copy>p { text-shadow:0 1px 14px rgba(255,174,87,.35); }.hero-stage h2 { text-shadow:0 4px 30px rgba(0,0,0,.75); }
@keyframes sweep-left{35%{transform:rotate(-6deg) translateX(3%)}70%{transform:rotate(-1deg) translateX(8%)}to{transform:rotate(-4deg) translateX(5%) scaleX(1.08)}}@keyframes sweep-right{35%{transform:rotate(7deg) translateX(-2%)}70%{transform:rotate(1deg) translateX(-8%)}to{transform:rotate(5deg) translateX(-5%) scaleX(1.08)}}@keyframes breathe-light{50%{opacity:.46;filter:blur(2px);transform:scaleX(1.08)}to{opacity:.34;filter:blur(4px);transform:scaleX(.96)}}@keyframes footlight{to{opacity:.38;transform:scale(.82)}}@keyframes stage-haze{from{transform:translate3d(-2%,-3%,0) rotate(0)}50%{transform:translate3d(3%,2%,35px) rotate(.8deg)}to{transform:translate3d(-2%,-3%,0) rotate(0)}}
@media(max-width:640px){.spotlight{width:45%;opacity:.18}.spotlight-left{left:-12%}.spotlight-centre{left:28%}.spotlight-right{right:-12%}.stage-follow-spot{background:radial-gradient(circle 11rem at var(--spot-x) var(--spot-y),rgba(255,230,175,.16),transparent 70%)}.footlights{left:6%;right:6%}}

/* Public readability floor: supporting information must remain readable without browser zoom. */
.public-site .brand-name,.public-site .main-nav a,.public-site .hero-now b,.public-site .hero-now small,
.public-site .experience-rail b,.public-site .experience-rail small,.public-site .section-label,
.public-site .poster-year,.public-site .poster-series,.public-site .poster-copy small,.public-site .archive-note,
.public-site .announcement-author b,.public-site .announcement-author small,.public-site .announcement-title,
.public-site .announcement-events section>span,.public-site .announcement-events p,.public-site .announcement-content>a,
.public-site .announcement-content>small,.public-site .repertoire-columns h4 small,.public-site .repertoire-columns li,
.public-site .score-availability-note,.public-site .live-summary-grid p,.public-site .live-summary-grid small,
.public-site .attendance-totals span,.public-site .calendar-cell,.public-site .calendar-cell.head,
.public-site .calendar-date,.public-site .calendar-detail p,.public-site .calendar-detail small,
.public-site .event-table th,.public-site .event-table td,.public-site .event-table td span,
.public-site .status,.public-site .dates-footer p,.public-site .calendar-download,
.public-site .person-monogram small,.public-site .person-number,.public-site .person-details>p:first-child,
.public-site .person-bio,.public-site .bio-more,.public-site .text-link,.public-site .person-portrait small,
.public-site .feed-top b,.public-site .feed-top small,.public-site .embed-fallback span,
.public-site .footer-links p,.public-site .footer-links a,.public-site .footer-bottom,
.public-site .leadership-card-title>span,.public-site .leadership-card-title p,
.public-site .leadership-people p,.public-site .leadership-source-note {
  font-size:max(.875rem,14px)!important;
  line-height:1.5!important;
}
.public-site .brand-logo{width:42px;height:42px}
@media(max-width:640px){.public-site .brand-name{display:none}.public-site .brand-logo{width:40px;height:40px}.public-site .hero-now{gap:.55rem;padding:.8rem}.public-site .hero-now p{min-width:0}.public-site .hero-now b,.public-site .hero-now small{overflow-wrap:anywhere}}

/* Leadership directory sourced from the legacy NGWS pages. */
.leadership-directory { margin-top:clamp(3rem,7vw,6rem); padding-top:clamp(2.5rem,6vw,5rem); border-top:1px solid rgba(255,255,255,.14); }
.leadership-heading { display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:2rem; margin-bottom:2rem; }
.leadership-heading h3 { margin:.35rem 0 0; font-family:var(--font-display,Georgia,serif); font-size:clamp(2.4rem,5vw,4.8rem); font-weight:500; line-height:.95; letter-spacing:-.05em; }
.leadership-heading>p { max-width:560px; margin:0; color:#b5b5ba; font-size:1rem; line-height:1.65; }
.leadership-groups { display:grid; grid-template-columns:.78fr 1.22fr; gap:1rem; }
.leadership-card { display:flex; flex-direction:column; min-width:0; padding:clamp(1.3rem,3vw,2rem); border:1px solid rgba(255,255,255,.11); border-radius:20px; background:linear-gradient(145deg,#211e1e,#111); box-shadow:0 18px 45px rgba(0,0,0,.18); }
.leadership-card-title { display:flex; align-items:center; gap:1rem; margin-bottom:1.3rem; }
.leadership-card-title>span { width:52px; height:52px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:linear-gradient(145deg,#ff8953,#7d272e); color:#fff; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.committee-list .leadership-card-title>span { background:linear-gradient(145deg,#a58cff,#5e3bc2); }
.leadership-card-title p { margin:0; color:#aaaab0; font-size:.75rem; }
.leadership-card h4 { margin:.15rem 0 0; color:#fff; font-size:1.35rem; }
.leadership-people { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.committee-list .leadership-people { grid-template-columns:repeat(2,minmax(0,1fr)); }
.leadership-people li { display:flex; align-items:center; min-width:0; gap:.8rem; padding:.7rem; border:1px solid rgba(255,255,255,.1); border-radius:15px; background:rgba(255,255,255,.035); }
.leadership-people img { width:64px; height:64px; flex:0 0 64px; border-radius:13px; object-fit:cover; object-position:center top; background:#2b2828; }
.leadership-people div { min-width:0; }
.leadership-people h5 { margin:0; color:#f5f5f7; font-size:.9rem; font-weight:650; line-height:1.25; }
.leadership-people p { margin:.25rem 0 0; color:#a7a7ad; font-size:.75rem; line-height:1.35; }
.leadership-source-note { margin:1rem 0 0; color:#8e8e94; font-size:.75rem; line-height:1.5; }
@media(max-width:820px){.leadership-heading,.leadership-groups{grid-template-columns:1fr}.leadership-heading{align-items:start}}
@media(max-width:560px){.committee-list .leadership-people{grid-template-columns:1fr}.leadership-people img{width:72px;height:72px;flex-basis:72px}}

.heritage-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:clamp(2.4rem,6vw,5rem)}
.heritage-links a{position:relative;display:flex;min-height:138px;flex-direction:column;justify-content:flex-end;padding:1.25rem 3.2rem 1.25rem 1.25rem;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));transition:transform .2s ease,border-color .2s ease,background .2s ease}
.heritage-links a:hover,.heritage-links a:focus-visible{transform:translateY(-3px);border-color:rgba(167,140,255,.7);background:linear-gradient(145deg,rgba(167,140,255,.16),rgba(255,255,255,.035))}
.heritage-links span{margin-bottom:.4rem;color:#a78cff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.heritage-links b{color:#fff;font-size:1rem;line-height:1.35}
.heritage-links i{position:absolute;right:1.25rem;bottom:1.2rem;color:#ffb23f;font-size:1.2rem;font-style:normal}
@media(max-width:760px){.heritage-links{grid-template-columns:1fr}.heritage-links a{min-height:112px}}

/* Full-viewport navigation: isolated from the fixed header's containing block. */
@media(max-width:1120px){
  .site-header { isolation:isolate; }
  .site-header .brand { position:relative; z-index:3; }
  .menu-toggle { position:relative; z-index:3; display:block; width:44px; height:44px; padding:11px; cursor:pointer; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .main-nav {
    position:absolute;
    z-index:2;
    top:0;
    left:0;
    width:100vw;
    height:100dvh;
    min-height:100svh;
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    flex-direction:column;
    gap:0;
    padding:calc(4.75rem + env(safe-area-inset-top)) max(1.25rem,5vw) calc(2rem + env(safe-area-inset-bottom));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:linear-gradient(145deg,#151112 0%,#09090b 48%,#080808 100%);
    box-shadow:-30px 0 80px rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transform:translate3d(100%,0,0);
    transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s ease,visibility 0s linear .3s;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav::before {
    content:"Explore NGWS";
    width:min(100%,44rem);
    margin:0 auto .55rem;
    color:#ffb15b;
    font-size:.78rem;
    font-weight:750;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  .main-nav.open { opacity:1; visibility:visible; transform:translate3d(0,0,0); transition-delay:0s; }
  .main-nav a,
  .main-nav.open a {
    width:min(100%,44rem);
    min-height:54px;
    display:flex;
    align-items:center;
    margin:0 auto;
    padding:.72rem .15rem;
    border-bottom:1px solid rgba(255,255,255,.12);
    color:#f5f5f7;
    font-size:clamp(1.08rem,3.2vw,1.42rem)!important;
    font-weight:650;
    line-height:1.25;
    letter-spacing:-.018em;
  }
  .main-nav a:hover,.main-nav a:focus-visible { color:#ffb15b; }
  .main-nav .nav-cta {
    min-height:56px;
    justify-content:center;
    margin-top:1rem;
    padding:.8rem 1.1rem;
    border:0;
    border-radius:999px;
    background:#087fe7;
    color:#fff;
    font-size:1rem!important;
    letter-spacing:0;
  }
  .main-nav .nav-cta:hover,.main-nav .nav-cta:focus-visible { background:#1591f5; color:#fff; }
}

@media(min-width:1121px){
  .main-nav a { font-size:.85rem; line-height:1.25; }
}

@media(max-width:1120px) and (max-height:560px) and (orientation:landscape){
  .main-nav {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-content:start;
    column-gap:1.5rem;
    padding:calc(3.7rem + env(safe-area-inset-top)) max(1.25rem,5vw) calc(1rem + env(safe-area-inset-bottom));
  }
  .main-nav::before { grid-column:1/-1; width:100%; margin-bottom:.25rem; }
  .main-nav a,.main-nav.open a { width:100%; min-height:44px; padding:.45rem .1rem; font-size:.95rem!important; }
  .main-nav .nav-cta { min-height:46px; margin-top:.55rem; }
}

/* High-contrast text for warm yellow and orange surfaces. */
.rail-join { color:#2b1900; text-shadow:none; }
.poster-gold { color:#241505; }

/* Public venue and contact */
.venue-contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:680px;background:#eeeae2;color:#111}.venue-photo{position:relative;min-height:560px;margin:0;overflow:hidden;background:#d9d5cc}.venue-photo img{width:100%;height:100%;display:block;object-fit:cover}.venue-photo figcaption{position:absolute;left:1rem;bottom:1rem;padding:.55rem .75rem;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:.7rem;backdrop-filter:blur(12px)}.venue-contact-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem)}.venue-contact-copy .eyebrow{color:#d94b32}.venue-contact-copy h2{margin:.45rem 0 1.8rem;font:500 clamp(3rem,5vw,5.5rem)/.9 "Iowan Old Style","Baskerville",Georgia,serif;letter-spacing:-.065em}.venue-contact-copy h2 em{color:#d94b32;font-style:normal}.venue-contact-copy address{font-size:1.12rem;font-style:normal;line-height:1.55}.venue-contact-copy dl{margin:2rem 0;border-top:1px solid rgba(0,0,0,.14)}.venue-contact-copy dl div{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(0,0,0,.14)}.venue-contact-copy dt{color:#77777c;font-size:.72rem;font-weight:750;text-transform:uppercase}.venue-contact-copy dd{margin:0;font-size:.9rem}.venue-contact-copy dd a:hover,.venue-source a:hover{color:var(--blue)}.venue-actions{display:flex;flex-wrap:wrap;gap:.7rem}.venue-secondary{border:1px solid rgba(0,0,0,.24);color:#111}.venue-source{margin:1.2rem 0 0;color:#77777c;font-size:.68rem;line-height:1.5}
@media(max-width:860px){.venue-contact{grid-template-columns:1fr}.venue-photo{min-height:420px}.venue-contact-copy{padding:3.5rem var(--gutter)}}
@media(max-width:520px){.venue-photo{min-height:320px}.venue-photo figcaption{right:1rem;width:max-content;max-width:calc(100% - 2rem);border-radius:12px}.venue-contact-copy dl div{grid-template-columns:1fr;gap:.25rem}.venue-actions{align-items:stretch;flex-direction:column}.venue-actions .button{justify-content:center}}
