.subpage { min-height: 100svh; padding-top: 92px; }
.subpage .site-header { background: rgba(244,246,245,.86); border-bottom-color: var(--line); }
.subpage-intro { padding: 88px clamp(24px, 7vw, 112px) 52px; }
.subpage-intro h1 { max-width: 900px; font-size: clamp(46px, 5.7vw, 84px); line-height: 1.01; }
.subpage-intro > p:last-child { max-width: 680px; margin: 28px 0 0; color: var(--ink-soft); font-size: clamp(16px, 1.3vw, 19px); line-height: 1.7; }

.media-page { color:#f6f8f9; background:radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 32%),#091b2a; }
.media-page .noise { opacity: .018; }
.media-page .site-header { color: white; background: rgba(7,22,34,.82); border-color: rgba(255,255,255,.1); }
.media-page .brand span { color: var(--lime); }
.media-page .language-trigger, .media-page .header-icon { color: white; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
.media-page .menu-toggle { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); }
.media-page .menu-toggle span:not(.sr-only) { background: white; }
.media-page main { background:radial-gradient(circle at 74% 8%,color-mix(in srgb,var(--accent) 22%,rgba(56,96,122,.32)),transparent 28%),linear-gradient(180deg,#102c40 0,#091b2a 44%,#091b2a 100%); }
.media-page .subpage-intro { padding-bottom: 68px; background: transparent; }
.media-page .subpage-intro .eyebrow, .media-page .subpage-intro > p:last-child { color: #b7c8d2; }
.tv-coming-soon { min-height:calc(100svh - 92px); padding:clamp(72px,10vw,138px) clamp(24px,7vw,112px); display:grid; align-content:center; justify-items:start; background:radial-gradient(circle at 72% 35%,color-mix(in srgb,var(--accent) 28%,rgba(96,142,167,.34)),transparent 25%),radial-gradient(circle at 78% 38%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 10%),linear-gradient(145deg,#12344b,#091b2a 67%); }
.tv-coming-soon h1 { max-width:900px; font-size:clamp(46px,5.7vw,84px); line-height:1.01; }
.tv-coming-soon > p { max-width:610px; margin:28px 0 0; color:#b7c8d2; font-size:clamp(16px,1.3vw,19px); line-height:1.7; }
.tv-signal { height:46px; margin-top:42px; display:flex; align-items:center; gap:7px; }
.tv-signal i { width:5px; height:32px; border-radius:999px; background:var(--lime); animation:tvPulse 1.15s ease-in-out infinite alternate; transform-origin:center; }
.tv-signal i:nth-child(2),.tv-signal i:nth-child(4) { height:46px; animation-delay:-.55s; }.tv-signal i:nth-child(3) { height:24px; animation-delay:-.25s; }.tv-signal i:nth-child(5) { height:17px; animation-delay:-.8s; }
@keyframes tvPulse { to { transform:scaleY(.3); opacity:.55; } }
.featured-video { margin:0 clamp(24px,7vw,112px); min-height:480px; border-radius:30px; overflow:hidden; position:relative; display:flex; align-items:flex-end; background:radial-gradient(circle at 76% 30%,color-mix(in srgb,var(--accent) 58%,transparent),transparent 8%),radial-gradient(circle at 72% 42%,color-mix(in srgb,var(--accent) 35%,var(--ink)) 0 14%,transparent 15%),linear-gradient(125deg,var(--ink),var(--ink-deep) 60%,color-mix(in srgb,var(--accent) 22%,var(--ink))); box-shadow:0 30px 90px rgba(0,0,0,.25); }
.featured-video::before { content: ""; position: absolute; width: 430px; height: 430px; right: 9%; top: 5%; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); }
.featured-video-copy { width: 100%; padding: clamp(34px, 6vw, 76px); position: relative; z-index: 1; background: linear-gradient(transparent,rgba(4,15,24,.88)); }
.featured-video-copy small { color: var(--lime); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.featured-video-copy h2 { margin-top: 12px; font-size: clamp(38px, 5vw, 68px); line-height: 1; }
.featured-video-copy p { max-width: 580px; color: #c3d1d9; line-height: 1.6; }
.play-demo { margin-top: 16px; padding: 14px 20px; border: 0; border-radius: 999px; color:var(--accent-contrast); background: var(--lime); font-weight: 700; cursor: pointer; }
.video-library { padding: 78px clamp(24px, 7vw, 112px) 120px; }
.video-row + .video-row { margin-top: 62px; }
.video-row-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 20px; }
.video-row h2 { font-size: clamp(25px, 3vw, 38px); letter-spacing: -.04em; }
.video-row-head span { color: #8fa7b5; font-size: 12px; }
.video-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.video-card { min-height: 220px; padding: 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; color: white; background: linear-gradient(145deg,#315d78,#102d42); cursor: pointer; text-align: left; transition: transform .25s,border-color .25s; }
.video-card:nth-child(2) { background: linear-gradient(145deg,#6b7e89,#1b415a); }.video-card:nth-child(3) { background: linear-gradient(145deg,#23465e,#132534); }
.video-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--accent) 58%,transparent); }
.video-card::after { content:"▶"; width: 48px; height: 48px; border-radius: 50%; display:grid; place-items:center; position:absolute; right:20px; top:20px; color:var(--ink); background:rgba(255,255,255,.88); font-size:13px; }
.video-card small { color: var(--lime); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.video-card strong { max-width: 80%; font: 600 clamp(20px,2vw,28px)/1.15 "Manrope",sans-serif; }
.video-dialog { width:min(560px,calc(100% - 32px)); padding:48px; border:0; border-radius:26px; color:var(--ink-deep); background:var(--paper); box-shadow:0 30px 100px rgba(0,0,0,.4); }
.video-dialog::backdrop { background:rgba(3,13,21,.75); backdrop-filter:blur(7px); }
.video-dialog h2 { font-size:clamp(34px,5vw,52px); }.video-dialog p { color:var(--ink-soft); line-height:1.65; }

.space-page { background:radial-gradient(circle at 86% 14%,color-mix(in srgb,var(--accent) 28%,#c0d7e2),transparent 30%),linear-gradient(145deg,#eef3f4 0,#f8f9f7 42%,color-mix(in srgb,var(--accent) 8%,#edf3f4) 100%); }
.space-shell { width:min(100%,1440px); margin:0 auto; padding:70px clamp(24px,7vw,112px) 120px; }
.space-entry { display:grid; grid-template-columns:minmax(0,1fr) minmax(400px,.82fr); gap:clamp(36px,6vw,84px); align-items:center; }
.space-intro { margin:0; }
.space-intro h1 { font-size:clamp(46px,5.7vw,84px); line-height:1.01; }.space-intro p { max-width:650px; color:var(--ink-soft); font-size:clamp(16px,1.3vw,19px); line-height:1.7; }
.demo-badge { padding:11px 14px; border:1px solid var(--line); border-radius:999px; color:var(--ink-soft); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.login-panel { width:100%; margin:0; padding:clamp(32px,5vw,54px); border-radius:30px; color:white; background:var(--ink); box-shadow:0 28px 80px rgba(13,42,67,.18); }
.login-panel h2 { font-size:clamp(34px,5vw,54px); }.login-panel > p { color:#b9cedb; line-height:1.6; }
.login-form { display:grid; grid-template-columns:1fr; gap:14px; margin-top:30px; }
.login-form input { min-width:0; border:1px solid rgba(255,255,255,.24); border-radius:14px; padding:15px 16px; color:white; background:rgba(255,255,255,.08); font:500 16px "DM Sans",sans-serif; outline:none; }
.login-form input:focus { border-color:var(--lime); }.login-form button { min-height:50px; border:0; border-radius:14px; padding:0 20px; color:var(--accent-contrast); background:var(--lime); font-weight:700; cursor:pointer; }
.login-hint { display:block; margin-top:16px; color:#91a9b7; font-size:11px; line-height:1.5; }
.login-error { color:#ffd3d3!important; font-size:12px; min-height:18px; }
.member-dashboard[hidden], .login-panel[hidden] { display:none; }
.space-shell.is-authenticated .space-entry { display:none; }
.dashboard-bar { display:flex; justify-content:space-between; align-items:center; margin-bottom:34px; }.dashboard-bar h2 { font-size:clamp(34px,4vw,54px); line-height:1.05; }.logout-button { border:1px solid var(--line); border-radius:999px; padding:11px 16px; color:var(--ink); background:rgba(255,255,255,.5); cursor:pointer; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:24px; align-items:start; }
.private-card { border:1px solid var(--line); border-radius:26px; padding:clamp(26px,4vw,42px); background:rgba(255,255,255,.72); box-shadow:0 18px 55px rgba(30,64,86,.08); }
.private-card h3 { margin:0; font:600 clamp(23px,2.4vw,32px)/1.15 "Manrope",sans-serif; letter-spacing:-.035em; }.private-card > p { color:var(--ink-soft); font-size:13px; line-height:1.6; }
.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:14px; }
.card-kicker { margin:0 0 8px; color:#6f8797; font-size:9px; font-weight:700; letter-spacing:.14em; }
.concert-status { padding:8px 11px; border-radius:999px; color:var(--accent-contrast); background:var(--lime); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }
.setlist { margin-top:26px; border-top:1px solid var(--line); }
.song-row { min-height:76px; padding:14px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:34px minmax(180px,1fr) minmax(210px,auto); gap:14px; align-items:center; }
.song-number { color:#8195a2; font-size:10px; letter-spacing:.1em; }.song-row strong { font:600 15px/1.35 "Manrope",sans-serif; }
.material-tags { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:7px; }.score-file { min-height:32px; border:1px solid var(--line); border-radius:999px; display:flex; overflow:hidden; color:var(--ink-soft); background:rgba(255,255,255,.7); }.score-open { padding:0 10px; border:0; color:inherit; background:transparent; font-size:9px; font-weight:700; cursor:pointer; }.score-open:hover { color:var(--ink); background:white; }.audio-divider { width:1px; height:25px; margin:0 2px; background:var(--line); }.audio-open { width:34px; height:34px; padding:0; border:0; border-radius:50%; display:grid; place-items:center; color:white; background:var(--ink); cursor:pointer; transition:transform .2s,background .2s; }.audio-open:hover { transform:translateY(-2px); background:var(--ink-deep); }.audio-open svg { width:16px; height:16px; fill:currentColor; }
.score-dialog { width:min(1180px,calc(100% - 28px)); height:min(88svh,900px); padding:0; border:0; border-radius:24px; overflow:hidden; color:var(--ink-deep); background:var(--paper); box-shadow:0 35px 110px rgba(8,31,48,.42); }
.score-dialog::backdrop { background:rgba(8,25,38,.74); backdrop-filter:blur(8px); }.score-dialog-head { min-height:74px; padding:14px 18px 14px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }.score-dialog-head h2 { font-size:clamp(18px,2.2vw,28px); letter-spacing:-.035em; }.score-dialog-actions { display:flex; align-items:center; gap:9px; }.score-dialog-download { min-height:42px; padding:0 15px; border-radius:999px; display:flex; align-items:center; color:white; background:var(--ink); font-size:11px; font-weight:700; }.score-dialog-close { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:transparent; font-size:24px; cursor:pointer; }.score-frame { width:100%; height:calc(100% - 74px); border:0; background:#dce3e7; touch-action:pan-x pan-y pinch-zoom; overscroll-behavior:contain; }
body.score-viewer-open { overflow:hidden; overscroll-behavior:none; }
.audio-dialog { width:min(560px,calc(100% - 28px)); padding:clamp(34px,6vw,58px); border:0; border-radius:28px; overflow:hidden; color:white; background:linear-gradient(145deg,#173c5b,#0d2a43); box-shadow:0 35px 110px rgba(8,31,48,.45); }.audio-dialog::backdrop { background:rgba(8,25,38,.74); backdrop-filter:blur(8px); }.audio-dialog .eyebrow { color:#b8ccd8; }.audio-dialog h2 { margin:24px 0 28px; font-size:clamp(32px,5vw,50px); line-height:1.05; }.audio-dialog-close { position:absolute; right:17px; top:17px; width:42px; height:42px; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:white; background:transparent; font-size:24px; cursor:pointer; }.audio-art { height:76px; display:flex; align-items:center; gap:8px; }.audio-art span { width:7px; height:44px; border-radius:99px; background:var(--lime); animation:tvPulse 1.1s ease-in-out infinite alternate; }.audio-art span:nth-child(2),.audio-art span:nth-child(4) { height:70px; animation-delay:-.5s; }.audio-art span:nth-child(3) { height:30px; animation-delay:-.8s; }.audio-art span:nth-child(5) { height:55px; animation-delay:-.25s; }.audio-dialog audio { width:100%; color-scheme:dark; }.audio-dialog-download { min-height:46px; margin-top:20px; border:1px solid rgba(255,255,255,.2); border-radius:999px; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }.audio-dialog-download:hover { color:var(--ink); background:var(--lime); border-color:var(--lime); }
.audio-dialog-download:hover { color:var(--accent-contrast); }
.event-list { margin-top:25px; display:grid; gap:9px; }.event-item { min-height:70px; padding:10px 12px; border:1px solid var(--line); border-radius:15px; display:grid; grid-template-columns:58px 1fr; align-items:center; background:rgba(255,255,255,.7); }.event-item time { display:flex; align-items:baseline; gap:5px; color:var(--ink); }.event-item time strong { font:600 26px/1 "Manrope",sans-serif; letter-spacing:-.06em; }.event-item time span { color:var(--ink-soft); font-size:8px; font-weight:700; letter-spacing:.08em; }.event-item div { padding-left:14px; border-left:1px solid var(--line); display:grid; gap:4px; }.event-item b { font:600 13px/1.25 "Manrope",sans-serif; }.event-item small { color:var(--ink-soft); font-size:10px; }.event-item.highlight { border-color:rgba(215,190,93,.45); background:#fffbed; }.event-item.concert { color:white; border-color:var(--ink); background:var(--ink); }.event-item.concert time,.event-item.concert time span,.event-item.concert small { color:#d6e2e8; }.event-item.concert div { border-color:rgba(255,255,255,.22); }
.event-item.highlight { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); background:color-mix(in srgb,var(--accent) 15%,white); }
.event-item.concert { background:linear-gradient(135deg,var(--ink),color-mix(in srgb,var(--accent) 18%,var(--ink))); }

@media (max-width:900px) {
  .subpage { padding-top:76px; }.subpage .site-header nav,.subpage > nav { color:var(--ink-deep); }.media-page .site-header nav,.media-page > nav { color:white; background:radial-gradient(ellipse 44% 30% at 8% 18%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 72%),radial-gradient(ellipse 42% 34% at 94% 78%,color-mix(in srgb,var(--accent) 17%,transparent),transparent 74%),#091b2a; }
  .media-page .site-header nav > a:not(.nav-cta),.media-page > nav > a:not(.nav-cta) { border:0; background:transparent; }
  .media-page .site-header nav > a.active:not(.nav-cta),.media-page > nav > a.active:not(.nav-cta) { color:white; border:0; background:transparent; }
  .media-page .site-header nav::after,.media-page > nav::after { color:rgba(255,255,255,.58); }
  .video-grid { grid-template-columns:1fr 1fr; }.dashboard-grid { grid-template-columns:1fr; }.space-entry { grid-template-columns:1fr; }.login-form { grid-template-columns:1fr; }.login-form button { min-height:50px; }
}
@media (max-width:600px) {
  .subpage-intro { padding-top:62px; }.featured-video { min-height:420px; margin:0 12px; border-radius:24px; }.video-library { padding-left:18px; padding-right:18px; }.video-grid { grid-template-columns:1fr; }.space-shell { padding-left:18px; padding-right:18px; }.dashboard-bar { align-items:flex-start; gap:18px; }.private-card { border-radius:20px; }.card-heading { display:grid; }.concert-status { justify-self:start; }.song-row { grid-template-columns:26px 1fr; }.material-tags { grid-column:2; justify-content:flex-start; }
}
