/* Word Of Mic v2.1. Type tokens are the supplied brand-kit file, loaded first. */
:root {
  color-scheme: dark;
  --ink: #060605; --surface: #13120e; --elevated: #1d1a14;
  --brass: #b58a36; --gold: #dcb35c; --ivory: #f4f1e9; --muted: #aba391;
  --line: #b58a3640; --header: 104px; --footer: 102px;
  --ease: cubic-bezier(.2,.75,.25,1);
  font: 400 16px/1.55 var(--wom-font-ui);
  color: var(--ivory); background: var(--ink); font-synthesis: none;
}
* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; }
button, a, input { font: inherit; -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; cursor: pointer; touch-action: manipulation; }
button:disabled { opacity: .3; cursor: default; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
img { display: block; max-width: 100%; }
[hidden] { display: none!important; }
h1, h2, h3, p { margin: 0; }
h1, h2 { font: 700 var(--wom-type-display)/1.1 var(--wom-font-display); letter-spacing: -.02em; text-wrap: balance; margin-bottom: 24px; }
h3 { font: 600 var(--wom-type-section)/1.25 var(--wom-font-display); letter-spacing: -.015em; }
em { font-style: normal; color: var(--gold); }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; transform: translateY(-150%); padding: 12px; background: var(--ivory); color: var(--ink); }
.skip-link:focus { transform: none; }
.atmosphere { position: fixed; inset: 0; pointer-events: none; overflow: hidden; background: radial-gradient(ellipse at 80% 40%, #b58a3612, transparent 60%), var(--ink); }
.atmosphere>span { position: absolute; width: 65vw; height: 65vw; top: -15%; left: 48%; background: radial-gradient(circle, #b58a361c, transparent 65%); border-radius: 50%; animation: stage-light 26s ease-in-out infinite alternate; }
.atmosphere>span:nth-child(2) { left: -35%; top: 45%; opacity: .5; animation-delay: -12s; }
.atmosphere>span:nth-child(3), .grain { display: none; }
@keyframes stage-light { to { transform: translate3d(-6vw,8vh,0); opacity: .55; } }
.masthead { position: fixed; z-index: 40; inset: env(safe-area-inset-top) 0 auto; height: var(--header); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 clamp(24px,4vw,72px); background: linear-gradient(var(--ink),#06060500); }
.wordmark { display: block; width: 152px; flex-shrink: 0; }
.wordmark img { width: 100%; height: auto; }
.masthead-center { display: flex; gap: 12px; align-items: center; font-size: .75rem; letter-spacing: .08em; color: var(--muted); }
.live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }
.chapter-menu { display: flex; align-items: center; gap: 14px; border: 0; background: none; min-height: 44px; padding: 8px 0 8px 12px; font-size: 1rem; color: var(--ivory); }
.chapter-menu span { color: var(--gold); font-size: 20px; }
#journey { position: fixed; z-index: 1; inset: calc(var(--header) + env(safe-area-inset-top)) 0 calc(var(--footer) + env(safe-area-inset-bottom)); overflow-x: hidden; overflow-y: auto; scroll-snap-type: y proximity; scroll-behavior: smooth; overscroll-behavior-y: contain; scrollbar-width: none; outline: none; }
#journey::-webkit-scrollbar { display: none; }
.chapter { position: relative; min-height: 100%; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); align-items: center; gap: clamp(40px,7vw,108px); max-width: 1440px; margin: auto; padding: 40px clamp(28px,6vw,96px) 52px; scroll-snap-align: start; }
.chapter-copy { position: relative; z-index: 3; }
.eyebrow { font-size: .75rem; line-height: 1.4; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--brass); margin-bottom: 22px; }
.intro { font-size: 1.125rem; line-height: 1.5; color: var(--ivory); margin-bottom: 16px; max-width: 45ch; }
.body-copy { font-size: 1rem; line-height: 1.55; color: var(--muted); max-width: 55ch; }
.fine-copy, .example-footnote { font-size: .75rem; line-height: 1.5; color: var(--muted); margin-top: 20px; }
.choices { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; border: 0; margin: 28px 0 0; }
.choices legend { font-size: .9375rem; line-height: 1.5; margin-bottom: 12px; padding: 0; }
.choices button { min-height: 44px; padding: 11px 16px; border-radius: 24px; background: #1d1a1499; border: 1px solid #aba39140; font-size: .9375rem; line-height: 1.25; transition: background 180ms, border-color 180ms, transform 180ms; }
.choices button[aria-pressed=true] { border-color: var(--brass); background: #b58a3622; color: var(--gold); }
.choices button:hover { border-color: var(--gold); }
.explore-cue { display: flex; gap: 12px; align-items: center; font-size: .75rem; color: var(--muted); letter-spacing: .06em; margin-top: 30px; }
.explore-cue>span { font-size: 24px; color: var(--gold); }
.visual { position: relative; min-width: 0; z-index: 2; }
.room-scene { width: 100%; aspect-ratio: 1.12; max-height: 530px; margin-bottom: 25px; isolation: isolate; }
.room-photo { position: absolute; inset: 0; border-radius: 24px; overflow: hidden; border: 1px solid var(--line); }
.room-photo>img { width: 100%; height: 100%; object-fit: cover; object-position: 55%; transition: opacity 220ms, transform 360ms var(--ease); }
.room-photo>img.is-changing { opacity: .3; transform: scale(1.025); }
.room-photo-shade { position: absolute; inset: 0; background: linear-gradient(0deg,#060605e8, #06060525 57%, #06060520); }
.photo-caption { position: absolute; inset: auto 28px 62px; }
.photo-caption>span { display: block; font-size: .75rem; letter-spacing: .08em; color: var(--muted); margin-bottom: 9px; }
.photo-caption>strong { font: 600 1.625rem/1.25 var(--wom-font-display); }
.orbit { position: absolute; inset: -7% -5%; border: 1px solid #b58a3625; border-radius: 50%; transform: rotate(-19deg); z-index: -1; pointer-events: none; }
.orbit-two { inset: 15% -10%; transform: rotate(24deg); border-color: #b58a3615; }
.floating-note { position: absolute; z-index: 2; display: flex; align-items: center; gap: 16px; padding: 16px 22px; border: 1px solid #b58a3655; border-radius: 16px; background: #1d1a14ed; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 14px 40px #0004; }
.note-bottom { left: 24px; bottom: -25px; }
.floating-note small { display: block; font-size: .75rem; color: var(--muted); letter-spacing: .06em; margin-bottom: 4px; }
.floating-note strong { font-size: 1rem; font-weight: 500; }
.signal { display: flex; gap: 4px; height: 28px; align-items: center; color: var(--gold); }
.signal i { width: 3px; height: 100%; background: currentColor; border-radius: 3px; transform-origin: center; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-play-state: paused; }
.signal i:nth-child(1) { transform: scaleY(.45); animation-name: waveform-left; animation-duration: 1.8s; animation-delay: -.6s; }
.signal i:nth-child(2) { transform: scaleY(.75); animation-name: waveform-inner-left; animation-duration: 2.1s; animation-delay: -1.4s; }
.signal i:nth-child(3) { transform: scaleY(1); animation-name: waveform-center; animation-duration: 1.7s; animation-delay: -.2s; }
.signal i:nth-child(4) { transform: scaleY(.75); animation-name: waveform-inner-right; animation-duration: 1.95s; animation-delay: -1.1s; }
.signal i:nth-child(5) { transform: scaleY(.45); animation-name: waveform-right; animation-duration: 2.3s; animation-delay: -.9s; }
.chapter.is-active .signal i { animation-play-state: running; }
@keyframes waveform-left {
  0%, 100% { transform: scaleY(.3); } 20% { transform: scaleY(.75); } 45% { transform: scaleY(.4); } 65% { transform: scaleY(.9); } 85% { transform: scaleY(.2); }
}
@keyframes waveform-inner-left {
  0%, 100% { transform: scaleY(.8); } 18% { transform: scaleY(.3); } 38% { transform: scaleY(.95); } 62% { transform: scaleY(.45); } 82% { transform: scaleY(.65); }
}
@keyframes waveform-center {
  0%, 100% { transform: scaleY(.55); } 22% { transform: scaleY(1); } 48% { transform: scaleY(.25); } 70% { transform: scaleY(.8); } 88% { transform: scaleY(.4); }
}
@keyframes waveform-inner-right {
  0%, 100% { transform: scaleY(.4); } 15% { transform: scaleY(.85); } 40% { transform: scaleY(.55); } 58% { transform: scaleY(.2); } 80% { transform: scaleY(.95); }
}
@keyframes waveform-right {
  0%, 100% { transform: scaleY(.65); } 24% { transform: scaleY(.25); } 44% { transform: scaleY(.8); } 68% { transform: scaleY(.35); } 86% { transform: scaleY(.9); }
}
.panel { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(135deg,#1d1a14ed,#13120eee); box-shadow: 0 24px 70px #0003; }
.panel-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .9375rem; font-weight: 500; padding-bottom: 24px; }
.example-label { font-size: .75rem; line-height: 1.3; font-weight: 400; color: var(--muted); border: 1px solid #aba39133; padding: 5px 9px; border-radius: 20px; white-space: nowrap; }
.interaction-hint { margin-top: 26px; font-size: .9375rem; line-height: 1.5; color: var(--gold); }
.week-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 26px; }
.week-strip button { padding: 15px 12px; display: flex; flex-direction: column; gap: 7px; align-items: flex-start; text-align: left; border: 1px solid #aba39133; background: #06060566; border-radius: 14px; transition: background 180ms,border-color 180ms; }
.week-strip button[aria-pressed=true] { border-color: var(--brass); background: #b58a361a; }
.week-strip small { font-size: .75rem; letter-spacing: .06em; color: var(--gold); }
.week-strip strong { font-size: .9375rem; font-weight: 600; }
.week-strip button>span { font-size: .75rem; line-height: 1.4; color: var(--muted); }
.program-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.program-heading .live-dot { margin-top: 8px; }
.program-heading small { font-size: .75rem; color: var(--muted); letter-spacing: .04em; }
.program-heading h3 { margin-top: 6px; font-size: 1.375rem; }
.pill { display: none; }
.run-of-show { display: grid; gap: 8px; }
.run-of-show>div { display: flex; align-items: center; gap: 14px; padding: 14px 8px; }
.run-of-show time { font-size: .8125rem; font-variant-numeric: tabular-nums; color: var(--muted); flex-shrink: 0; width: 36px; }
.timeline-dot { width: 6px; height: 6px; border: 1px solid var(--brass); border-radius: 50%; flex-shrink: 0; }
.run-of-show p { font-size: .9375rem; }
.run-of-show small { display: block; font-size: .8125rem; color: var(--muted); margin-top: 4px; line-height: 1.5; }
.featured-slot { border: 1px solid var(--line); border-radius: 12px; background: #b58a360c; }
.featured-slot .timeline-dot { background: var(--gold); }
.board-bottom { display: grid; gap: 8px; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 18px; font-size: .8125rem; line-height: 1.45; color: var(--muted); }
.board-bottom strong { font-weight: 500; color: var(--ivory); }
.artist-options { display: grid; gap: 10px; }
.artist-options button { display: flex; align-items: center; gap: 14px; padding: 14px 16px; text-align: left; border: 1px solid #aba39130; border-radius: 16px; background: #13120e; transition: background 180ms,border-color 180ms,transform 220ms var(--ease); }
.artist-options button[aria-pressed=true] { border-color: var(--brass); background: #b58a361a; transform: translateX(-5px); }
.artist-monogram { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font-size: 1rem; font-weight: 600; color: var(--ivory); flex-shrink: 0; background: #504630; }
.theo { background: #444640; } .nia { background: #554239; }
.artist-options strong { display: block; font-size: 1rem; font-weight: 600; }
.artist-options small { display: block; font-size: .8125rem; color: var(--muted); margin-top: 4px; }
.artist-portrait { object-fit: cover; }
.artist-detail { margin-top: 20px; }
.artist-detail-top { display: flex; justify-content: space-between; align-items: center; font-size: .75rem; letter-spacing: .08em; color: var(--muted); margin-bottom: 16px; }
.artist-detail-top .signal { height: 18px; }
.artist-detail>p { font-size: .9375rem; color: var(--muted); margin-top: 14px; }
.artist-detail .example-footnote { font-size: .75rem; }
.artist-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.artist-tags>span { font-size: .75rem; padding: 6px 8px; border: 1px solid #aba39133; border-radius: 5px; color: var(--muted); }
.promotion-stage { --flyer-accent: var(--gold); display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: 440px; }
[data-flyer-theme=gold] { --flyer-accent: #dcb35c; }
[data-flyer-theme=coral] { --flyer-accent: #f49b86; }
[data-flyer-theme=sage] { --flyer-accent: #a8c3aa; }
[data-flyer-theme=sky] { --flyer-accent: #9dc8ef; }
[data-flyer-theme=lilac] { --flyer-accent: #c5b1ec; }
.flyer-themes { position: relative; z-index: 1; border: 0; padding: 0; margin: 0 0 28px; min-width: 0; }
.flyer-themes legend { width: 100%; padding: 0; margin-bottom: 10px; text-align: center; font-size: .8125rem; color: var(--muted); }
.flyer-themes legend span { color: var(--ivory); margin-left: 10px; }
.theme-options { display: flex; justify-content: center; gap: 10px; }
.theme-swatch { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 2px solid transparent; border-radius: 50%; background: transparent; transition: border-color 220ms var(--ease), transform 220ms var(--ease); }
.theme-swatch::before { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: var(--flyer-accent); }
.theme-swatch span { position: relative; color: var(--ink); font-size: 1rem; font-weight: 600; opacity: 0; transition: opacity 160ms; }
.theme-swatch[aria-pressed=true] { border-color: var(--flyer-accent); }
.theme-swatch[aria-pressed=true] span { opacity: 1; }
.theme-swatch:focus-visible { outline-color: var(--ivory); }
@media(hover:hover) { .theme-swatch:hover { transform: translateY(-2px); border-color: var(--flyer-accent); } }
.poster-orbit { position: absolute; width: 105%; aspect-ratio: 1; border: 1px solid #b58a3625; border-radius: 50%; pointer-events: none; }
.poster-wrap { position: relative; width: 78%; max-width: 350px; aspect-ratio: 4/5; transform: rotate(2deg); transition: width 360ms var(--ease),aspect-ratio 360ms var(--ease),transform 360ms var(--ease); }
.poster { position: absolute; inset: 0; overflow: hidden; border: 1px solid var(--flyer-accent); border-radius: 3px; background: var(--surface); container-type: inline-size; box-shadow: 0 24px 50px #0007; transition: border-color 240ms var(--ease); }
.poster-background,.poster-overlay { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.poster-background { object-position: 55%; }
.poster-overlay { background: linear-gradient(0deg,#060605f5,#06060530 70%,#06060580); }
.poster-content { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 7cqw; }
.poster-top { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.poster-top img { width: 11cqw; height: auto; }
.poster-top>span { font-size: 3cqw; letter-spacing: .08em; text-align: right; }
.poster-title { margin-top: auto; padding-top: 5cqw; }
.poster-title small { font-size: 3.3cqw; color: var(--flyer-accent); letter-spacing: .04em; transition: color 240ms var(--ease); }
.poster-title h3 { font: 700 9cqw/1.12 var(--wom-font-display); letter-spacing: -.02em; margin: 3cqw 0; text-wrap: balance; }
.poster-title p { font-size: 4.2cqw; color: var(--ivory); }
.poster-footer { display: flex; justify-content: space-between; gap: 12px; padding-top: 3cqw; margin-top: 6cqw; border-top: 1px solid var(--flyer-accent); font-size: 2.5cqw; line-height: 1.4; transition: border-color 240ms var(--ease); }
.poster-footer>span { max-width: 50%; }
.format-caption { position: relative; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 20px; margin-top: 30px; font-size: .75rem; color: var(--muted); }
.promotion-stage[data-poster-format=story] .poster-wrap { width: 56%; max-width: 260px; aspect-ratio: 9/16; transform: rotate(-2deg); }
.promotion-stage[data-poster-format=screen] .poster-wrap { width: 100%; max-width: none; aspect-ratio: 16/9; transform: none; }
.promotion-stage[data-poster-format=screen] .poster-content { padding: 4cqw; }
.promotion-stage[data-poster-format=screen] .poster-top img { width: 6cqw; }
.promotion-stage[data-poster-format=screen] .poster-top>span { font-size: 2cqw; }
.promotion-stage[data-poster-format=screen] .poster-title { padding-top: 1cqw; }
.promotion-stage[data-poster-format=screen] .poster-title small { font-size: 2.4cqw; }
.promotion-stage[data-poster-format=screen] .poster-title h3 { font-size: 5.5cqw; margin: 1.2cqw 0; max-width: 75%; }
.promotion-stage[data-poster-format=screen] .poster-title p { font-size: 3cqw; }
.promotion-stage[data-poster-format=screen] .poster-footer { margin-top: 2cqw; padding-top: 1.5cqw; font-size: 1.7cqw; }
.value-line { display: flex; gap: 20px; align-items: center; padding-top: 20px; margin-top: 25px; border-top: 1px solid var(--line); }
.value-line>span { font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--gold); }
.value-line p { font-size: .9375rem; color: var(--muted); }
.value-line strong { font-weight: 500; color: var(--ivory); }
.record-heading { display: flex; gap: 20px; align-items: center; padding-bottom: 24px; }
.record-heading small,.record-heading p { font-size: .8125rem; color: var(--muted); }
.record-heading h3 { margin: 5px 0; }
.record-artist-avatar { width: 64px; height: 64px; flex-shrink: 0; border-radius: 50%; overflow: hidden; display: grid; place-items: center; border: 1px solid var(--brass); background: var(--elevated); color: var(--ivory); font-size: 1.125rem; font-weight: 600; }
.record-artist-avatar img { width: 100%; height: 100%; object-fit: cover; }
.confirmation-controls { display: grid; gap: 10px; }
.confirmation-controls button { display: flex; gap: 14px; align-items: center; border: 1px solid #aba39144; border-radius: 14px; padding: 16px; background: transparent; text-align: left; transition: background 180ms,border-color 180ms; }
.confirmation-controls button[aria-pressed=true] { background: #b58a361a; border-color: var(--brass); }
.confirm-icon { color: var(--gold); font-size: 22px; }
.confirmation-controls strong { display: block; font-weight: 600; font-size: 1rem; }
.confirmation-controls small { display: block; font-size: .8125rem; color: var(--muted); margin-top: 4px; }
.confirmation-controls button>span:last-child { margin-left: auto; color: var(--gold); }
.record-state { display: flex; align-items: flex-start; gap: 20px; margin: 26px 0; }
.record-state>span { white-space: nowrap; font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--gold); }
.record-state strong { font-size: .9375rem; font-weight: 600; }
.record-state p { margin-top: 6px; font-size: .8125rem; color: var(--muted); }
.proof-metadata { display: flex; flex-wrap: wrap; gap: 14px 24px; border-top: 1px solid var(--line); padding-top: 18px; }
.proof-metadata>span { font-size: .75rem; color: var(--muted); }
.proof-metadata b { display: block; font-size: 1rem; font-weight: 500; color: var(--ivory); margin-top: 5px; }
.insight-questions { display: grid; gap: 14px; margin-top: 26px; font-size: .9375rem; color: var(--ivory); }
.insight-board>h3 { margin-bottom: 24px; }
.chart-head { display: grid; gap: 6px; font-size: .75rem; color: var(--muted); margin-bottom: 18px; }
.chart-head>span:last-child { color: var(--gold); font-size: .8125rem; }
.chart { display: flex; align-items: flex-end; justify-content: space-around; height: 185px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top,transparent,transparent 44px,#aba39115 45px); }
.chart button { position: relative; width: 22%; height: 100%; border: 0; padding: 0; background: none; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 9px; }
.chart-value { font-size: 1rem; font-variant-numeric: tabular-nums; color: var(--muted); }
.bar { display: block; width: 100%; border-radius: 7px 7px 0 0; background: #b58a3633; transition: background 180ms; }
.bar-one { height: 80px; } .bar-two { height: 110px; } .bar-three { height: 135px; }
.chart [aria-pressed=true] .bar { background: linear-gradient(var(--gold),var(--brass)); }
.chart [aria-pressed=true] .chart-value { color: var(--gold); }
.chart-label { position: absolute; top: calc(100% + 10px); font-size: .75rem; color: var(--muted); white-space: nowrap; }
.insight-detail { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; font-size: .8125rem; margin-top: 45px; }
.insight-detail>span:last-child { color: var(--gold); }
.earned-strip { display: grid; gap: 12px; border-top: 1px solid var(--line); padding-top: 20px; margin-top: 22px; }
.earned-strip strong { font-size: 1.125rem; font-weight: 600; color: var(--gold); }
.earned-strip>span { font-size: .8125rem; color: var(--muted); }
.finale { display: flex; justify-content: center; text-align: center; isolation: isolate; }
.finale-copy { max-width: 780px; }
.finale h2 { max-width: 620px; margin-inline: auto; }
.finale .intro { max-width: 600px; margin: 0 auto 24px; }
.finale-orbit { position: absolute; width: min(900px,110%); aspect-ratio: 1.6; border: 1px solid #b58a3620; border-radius: 50%; transform: rotate(-15deg); z-index: -1; }
.finale-detail { font-size: 1rem; line-height: 1.55; color: var(--muted); }
.final-cta { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 52px; padding: 16px 26px; margin-top: 28px; border-radius: 30px; background: var(--gold); border: 1px solid var(--gold); color: var(--ink); font-size: 1rem; line-height: 1.25; font-weight: 600; transition: background 180ms,transform 180ms; }
.final-cta:hover { background: #e4bd70; transform: translateY(-2px); }
.cta-note { font-size: .8125rem; color: var(--muted); margin-top: 12px; }
.finale-fineprint { font-size: .75rem; color: var(--muted); max-width: 560px; margin: 28px auto 0; line-height: 1.5; }
.finale-fineprint>span { display: block; font-size: .75rem; letter-spacing: .08em; margin-top: 24px; }
.flow-dock { position: fixed; z-index: 40; bottom: calc(20px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; max-width: calc(100% - 32px); padding: 9px; background: #1d1a14eb; border: 1px solid #b58a3650; border-radius: 40px; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 12px 35px #0005; }
.step-arrow { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; background: transparent; color: var(--gold); border: 1px solid #b58a3640; border-radius: 50%; font-size: 24px; }
.flow-dock nav { display: flex; gap: 3px; }
.flow-dock nav a { display: flex; align-items: center; justify-content: center; padding: 12px 14px; min-height: 44px; border: 1px solid transparent; border-radius: 28px; transition: background 220ms,border-color 220ms; }
.flow-dock nav strong { font-size: .8125rem; font-weight: 500; color: var(--muted); white-space: nowrap; }
.flow-dock a[aria-current=step] { background: #b58a3626; border-color: #b58a3650; }
.flow-dock a[aria-current=step] strong { color: var(--gold); }
.mobile-progress { display: none; }
.progress-track { position: absolute; bottom: -7px; left: 24%; right: 24%; height: 1px; background: #b58a3620; }
.progress-track>span { display: block; height: 100%; width: 14.285%; background: var(--brass); transition: width 320ms var(--ease); }
dialog { color: var(--ivory); background: #13120ef8; border: 1px solid var(--line); border-radius: 24px; padding: 28px; width: min(470px,calc(100% - 32px)); max-height: 90svh; box-shadow: 0 30px 90px #0008; opacity: 0; transform: translate3d(36px,0,0); transition: opacity 300ms var(--ease), transform 320ms var(--ease); }
dialog.is-open { opacity: 1; transform: translate3d(0,0,0); }
dialog::backdrop { background: #060605d9; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); opacity: 0; transition: opacity 320ms var(--ease); }
dialog.is-open::backdrop { opacity: 1; }
.dialog-head { display: flex; align-items: center; gap: 20px; justify-content: space-between; margin-bottom: 18px; }
.dialog-head h2 { font: 600 1.5rem/1.25 var(--wom-font-display); margin: 0; }
.dialog-head button { width: 44px; min-width: 44px; height: 44px; background: none; border: 0; color: var(--gold); font-size: 28px; }
dialog nav { display: grid; }
dialog nav a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 52px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 1rem; }
dialog nav i { color: var(--gold); font-style: normal; }
.noscript-note { position: fixed; z-index: 50; bottom: 8px; padding: 8px; font-size: .75rem; background: var(--ink); }
.js-ready .chapter-copy, .js-ready .visual, .js-ready .finale-copy { opacity: .25; transform: translate3d(0,16px,0); transition: opacity 320ms var(--ease),transform 360ms var(--ease); }
.js-ready .visual { transform: translate3d(0,22px,0) scale(.985); }
.js-ready .is-active .chapter-copy, .js-ready .is-active .visual, .js-ready .is-active .finale-copy { opacity: 1; transform: none; }
@media(max-width:1050px) { .chapter { gap: 40px; padding-inline: 5vw; } .panel { padding: 22px; } .masthead-center { display: none; } .flow-dock nav a { padding-inline: 10px; } .flow-dock { gap: 6px; } }
@media(max-width:760px) {
  :root { --header: 94px; --footer: 94px; }
  .masthead { padding-inline: 20px; }
  .wordmark { width: 144px; }
  .chapter { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 32px; padding: 24px 24px 48px; max-width: 560px; }
  h1, h2 { margin-bottom: 20px; }
  .eyebrow { margin-bottom: 16px; }
  .intro { font-size: 1.0625rem; margin-bottom: 12px; }
  .choices { margin-top: 24px; }
  .choices button { padding-inline: 14px; }
  .room-choices { gap: 8px; }
  .explore-cue { display: none; }
  .room-scene { aspect-ratio: 1.13; margin: 8px 0 26px; }
  .photo-caption { inset: auto 24px 76px; }
  .photo-caption>strong { font-size: 1.375rem; }
  .photo-caption>span { font-size: .75rem; }
  .note-bottom { left: 18px; bottom: -25px; right: 18px; }
  .floating-note { padding: 14px 18px; }
  .floating-note small { font-size: .75rem; }
  .floating-note strong { font-size: .9375rem; }
  .panel { padding: 22px; }
  .panel-top { gap: 8px; font-size: .9375rem; }
  .week-strip button { padding: 12px 9px; }
  .week-strip strong { font-size: .8125rem; }
  .week-strip button>span { font-size: .75rem; }
  .program-heading h3 { font-size: 1.25rem; }
  .run-of-show>div { gap: 10px; padding-inline: 5px; }
  .artist-options button { padding: 14px 12px; }
  .artist-detail h3 { font-size: 1.25rem; }
  .promotion-stage { min-height: 370px; padding: 8px 0; }
  .poster-wrap { width: 80%; max-width: 310px; }
  .promotion-stage[data-poster-format=story] .poster-wrap { width: 68%; max-width: 230px; }
  .poster-orbit { width: 108%; }
  .record-heading { gap: 14px; }
  .record-heading h3 { font-size: 1.25rem; }
  .record-state { gap: 14px; }
  .proof-metadata { gap: 16px; }
  .finale { padding-block: 32px 42px; }
  .finale-orbit { width: 135%; aspect-ratio: .9; }
  .finale .intro { font-size: 1.0625rem; }
  .finale-fineprint { margin-top: 24px; }
  .flow-dock { width: calc(100% - 32px); max-width: 390px; justify-content: space-between; bottom: calc(17px + env(safe-area-inset-bottom)); padding: 8px; }
  .flow-dock nav { display: none; }
  .mobile-progress { display: block; text-align: center; font-size: .9375rem; color: var(--ivory); }
  .atmosphere>span { width: 140vw; height: 140vw; }
  dialog { padding: 20px; }
}
@media(max-width:360px) { .chapter { padding-inline: 20px; } .panel { padding: 18px; } .week-strip { gap: 5px; } .week-strip button { padding-inline: 7px; } .artist-monogram { width: 40px; height: 40px; } .record-heading { align-items: flex-start; } .record-artist-avatar { width: 56px; height: 56px; } .confirmation-controls button { padding: 13px; gap: 10px; } .final-cta { width: 100%; padding-inline: 18px; gap: 15px; } }
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
  .js-ready .chapter-copy,.js-ready .visual,.js-ready .finale-copy { opacity: 1; transform: none; }
  #journey { scroll-snap-type: none; }
  .artist-options button[aria-pressed=true] { transform: none; }
}
@media(prefers-reduced-transparency:reduce) { .flow-dock,.floating-note,dialog { background: var(--surface); backdrop-filter: none; -webkit-backdrop-filter: none; } dialog::backdrop { background: var(--ink); backdrop-filter: none; } }
@media print { html,body { height: auto; overflow: visible; } .masthead,.flow-dock,.atmosphere,.orbit,.floating-note,.poster-orbit,.finale-orbit { display: none!important; } #journey { position: static; overflow: visible; } .chapter { display: block; page-break-inside: avoid; min-height: 0; padding: 30px; } .chapter-copy,.visual,.finale-copy { opacity: 1!important; transform: none!important; } .visual { max-width: 450px; margin: 30px auto; } }

/* Performance Report preview, Word Of Mic v2.1. */
.pos-integrations {margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.pos-integrations h3 {font-size:1.125rem;margin-bottom:10px}
.pos-integrations>p {font-size:.9375rem;color:var(--muted);max-width:48ch}
.pos-logos {display:flex;gap:14px;margin:20px 0 14px;flex-wrap:wrap}
.pos-logo {display:flex;align-items:center;justify-content:center;width:144px;height:66px;padding:14px 18px;background:#fff;border-radius:10px}
.pos-logo img {width:100%;height:auto;max-height:38px;object-fit:contain}
.integration-status {display:inline-block;margin-top:16px;font-size:.75rem;font-weight:600;color:var(--gold);border:1px solid var(--line);border-radius:20px;padding:4px 11px;margin-bottom:9px}
.growth-infographic {--report-green:#4ac778;--report-muted:#a6b8aa;isolation:isolate;width:100%;max-width:590px;margin-inline:auto;padding:12px 0 20px}
.growth-halo {position:absolute;z-index:-1;inset:2% -8% 8%;border-radius:50%;background:radial-gradient(ellipse,#4ac77816,transparent 68%);border:1px solid #4ac77813;pointer-events:none}
.pos-terminal {position:relative;z-index:1}
.terminal-frame {position:relative;padding:17px 12px 0;border:1px solid #666c64;border-radius:24px;background:linear-gradient(125deg,#41463e,#252922 35%,#141812 70%,#34392f);box-shadow:inset 0 1px 1px #ffffff50,0 24px 60px #0009}
.terminal-camera {position:absolute;top:6px;left:50%;width:5px;height:5px;border-radius:50%;background:#070c08;box-shadow:inset 0 0 0 1px #70816c50}
.performance-report {min-width:0;padding:20px;border:1px solid #627b5740;border-radius:12px;background:linear-gradient(145deg,#15261b,#0a130d 75%);box-shadow:inset 0 1px 12px #0005}
.performance-report .panel-top {padding-bottom:14px;gap:10px;font-size:.875rem}
.performance-report .example-label {font-size:.6875rem;white-space:nowrap;border-color:#a6b8aa40;color:var(--report-muted);padding:4px 8px}
.performance-report>h3 {font-size:1.125rem}
.terminal-chin {height:25px;display:grid;place-items:center}
.terminal-chin span {width:38px;height:3px;border-radius:3px;background:#a5b09655}
.terminal-stand {position:relative;width:160px;height:78px;margin:-1px auto 0;z-index:-1}
.terminal-stand::before {content:'';position:absolute;inset:0 30px 9px;background:linear-gradient(90deg,#4e5448,#282d24 20%,#32392b 80%,#666f5d);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%)}
.terminal-stand::after {content:'';position:absolute;bottom:0;left:50%;width:225px;height:17px;border:1px solid #6a725d;border-radius:50% 50% 8px 8px;background:linear-gradient(#454d3e,#1d2418);transform:translateX(-50%);box-shadow:0 13px 22px #0008}
.performance-report>h3 {margin-bottom:4px}
.report-period {font-size:.75rem;color:var(--report-muted)}
.report-headline {display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0}
.report-headline>div {display:grid;gap:4px}
.report-headline span {font-size:.8125rem;color:var(--report-muted)}
.report-headline strong {font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.15;font-weight:600;font-variant-numeric:tabular-nums}
.report-headline .growth-change {text-align:right}
.growth-change strong {color:var(--report-green);font-size:1.5rem}
.growth-change span {max-width:15ch;font-size:.75rem}
.report-switch {display:flex;gap:6px;padding:3px;border:1px solid #4ac77840;border-radius:24px;width:fit-content;margin:16px 0}
.report-switch button {border:0;border-radius:20px;background:none;min-height:44px;padding:9px 18px;color:var(--report-muted);font-size:.875rem}
.report-switch button[aria-pressed=true] {background:var(--report-green);color:var(--ink)}
.performance-report .chart-head {margin-bottom:12px;color:var(--report-muted)}
.performance-report .chart-head>span:last-child {color:var(--report-green)}
.growth-chart {height:144px;border-color:#4ac77840;background:repeating-linear-gradient(to top,transparent,transparent 35px,#4ac77812 36px)}
.growth-chart button {width:22%}
.growth-chart .chart-value {font-size:.8125rem}
.growth-chart .bar {width:65%;min-width:0;background:linear-gradient(#4ac77888,#4ac77835);border:1px solid #4ac77860;border-bottom:0;transition:height 320ms var(--ease),background 220ms}
.growth-chart [aria-pressed=true] .bar {background:linear-gradient(#84e0a3,#4ac778);border-color:#a8ecc1;box-shadow:0 0 22px #4ac77820}
.growth-chart [aria-pressed=true] .chart-value {color:var(--report-green)}
.growth-chart .chart-value,.growth-chart .chart-label {color:var(--report-muted)}
.growth-chart button:first-child .bar {background:#a6b8aa35;border-color:#a6b8aa40}
.growth-chart button:first-child[aria-pressed=true] .bar {background:#a6b8aa;border-color:#d3e5d7}
.performance-report button:focus-visible {outline-color:var(--report-green)}
.comparison-note {font-size:.6875rem;color:var(--report-muted);line-height:1.5;margin-top:35px}
.night-receipt {position:relative;z-index:2;width:calc(100% - 60px);max-width:350px;margin:-26px 10px 0 auto;padding:18px 24px;background:var(--ivory);color:var(--ink);box-shadow:0 20px 40px #0006;border-top:4px double #c2c2b1;border-bottom:4px double #c2c2b1}
.receipt-heading {display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:#4e594c;padding-bottom:14px;border-bottom:1px dashed #a7ad9f}
.receipt-lift {display:grid;gap:3px;margin-top:13px}
.receipt-lift strong {font:600 2rem/1.2 var(--wom-font-display);color:#24713f;font-variant-numeric:tabular-nums}
.receipt-lift>span {font-size:.8125rem;color:#34412f}
.report-breakdown {display:grid;gap:7px;margin-top:14px;padding-top:14px;border-top:1px dashed #a7ad9f}
.report-breakdown>div {display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:.8125rem}
.report-breakdown span {color:#4e594c}
.report-breakdown strong {font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.receipt-note {font-size:.6875rem;color:#586050;margin-top:12px;line-height:1.5}
@media(min-width:1200px) {
  #insight {grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:5vw;padding-inline:5vw}
  .terminal-report-body {display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:20px;align-items:center}
  .report-headline {display:grid;gap:24px;margin:0}
  .report-headline .growth-change {text-align:left}
  .report-headline strong {font-size:2.15rem}
  .report-headline .growth-change strong {font-size:1.65rem}
  .performance-report .chart-head {font-size:.625rem;gap:3px}
  .performance-report .chart-head>span:last-child {font-size:.75rem}
  .growth-chart .chart-value {font-size:.75rem}
  .growth-chart .chart-label {font-size:.6875rem}
  .comparison-note {font-size:.625rem;margin-top:31px}
  .night-receipt {margin-top:-42px;padding-block:15px}
  .receipt-heading {padding-bottom:10px}
  .receipt-lift {margin-top:10px}
  .report-breakdown {margin-top:10px;padding-top:10px}
}
@media(max-width:1050px) and (min-width:761px) {#insight {gap:30px;padding-inline:4vw}.performance-report {padding:16px}.performance-report .panel-top {flex-wrap:wrap}}
@media(max-width:760px) {.report-headline strong {font-size:2rem}.growth-change strong {font-size:1.5rem}#insight {justify-content:flex-start}.growth-infographic {max-width:460px}.terminal-frame {padding:16px 8px 0;border-radius:20px}.performance-report {padding:16px 13px}.performance-report .panel-top {font-size:.8125rem}.performance-report .example-label {font-size:.625rem;padding:4px 6px}.terminal-stand {height:64px}.night-receipt {width:calc(100% - 36px);margin-top:-8px;margin-right:0;padding:20px}.report-headline {gap:8px}.growth-change span {font-size:.6875rem}.growth-halo {inset:4% -4% 10%}}
@media(max-width:360px) {.performance-report .panel-top {flex-wrap:wrap}.report-headline strong {font-size:1.75rem}.growth-change strong {font-size:1.375rem}.report-headline span {font-size:.75rem}.night-receipt {width:calc(100% - 16px);padding:17px}.report-switch button {padding-inline:15px}.growth-chart .chart-value {font-size:.75rem}}
@media(prefers-reduced-motion:reduce) {.growth-chart .bar {transition:none}}

.growth-chart button:nth-child(1) .bar {height:62px}
.growth-chart button:nth-child(2) .bar {height:80px}
.growth-chart button:nth-child(3) .bar {height:93px}
.growth-chart button:nth-child(4) .bar {height:108px}

/* Shared operating view. Uses the supplied Word Of Mic palette and type. */
.portfolio-choices {margin-top:0;margin-bottom:28px}
.portfolio-period {font-size:.8125rem;color:var(--muted);margin-top:8px}
.portfolio-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;margin-block:28px}
.portfolio-metrics>div {display:flex;flex-direction:column;gap:8px}
.portfolio-metrics strong {font-size:clamp(1.75rem,3vw,2.4rem);font-weight:600;font-variant-numeric:tabular-nums;color:var(--gold);line-height:1.15}
.portfolio-metrics span {font-size:.8125rem;color:var(--muted)}
.portfolio-followup {display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:20px;font-size:.9375rem}
.delivery-list {margin:24px 0 0}
.delivery-list>div {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line);font-size:.875rem}
.delivery-list dt {color:var(--muted)}
.delivery-list dd {margin:0;text-align:right}
.delivery-done {color:#4ac778}
.delivery-pending {color:var(--gold)}
@media(min-width:761px) and (max-width:1200px) {.flow-dock {width:calc(100% - 48px);max-width:500px;justify-content:space-between}.flow-dock nav {display:none}.mobile-progress {display:block}}
@media(min-width:1201px) {.flow-dock nav a {padding-inline:10px}}
@media(max-width:360px) {.portfolio-metrics {gap:20px 12px}.portfolio-choices button {padding-inline:11px}.panel-top {flex-wrap:wrap}}
