/* Music landing page: editorial, approachable, and consistent with the Compendium. */
.comp-music-welcome { --guide-green:#004d4f; --guide-cream:#fff8e8; --guide-line:rgba(0,77,79,.26); }
.comp-music-welcome .comp-wrap { max-width:1150px; padding-top:30px; }
.comp-music-welcome .music-welcome-hero {
  background:var(--guide-green); color:#fff5d8; padding:clamp(30px,5.2vw,70px);
  border-radius:4px; position:relative; overflow:hidden; min-height:310px;
}
.music-welcome-hero::after {content:"♪";position:absolute;right:-8px;bottom:-80px;font-size:clamp(180px,28vw,380px);line-height:1;opacity:.075;pointer-events:none;transform:rotate(-8deg)}
.comp-music-welcome .music-welcome-eyebrow {font:700 .78rem/1.5 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#fbd182;margin-bottom:28px}
.comp-music-welcome .music-welcome-hero h1 {max-width:820px;color:#fff8e8;font-size:clamp(3.1rem,6.7vw,5.8rem);line-height:1.02;margin:0 0 20px;position:relative;z-index:1}
.comp-music-welcome .music-welcome-deck {max-width:700px;color:#fff2d0;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.4;margin:0 0 26px;position:relative;z-index:1}
.music-welcome-hero-actions {display:flex;flex-wrap:wrap;gap:11px;position:relative;z-index:1}
.music-welcome-hero-actions a {display:inline-flex;gap:12px;align-items:center;border:1px solid rgba(255,240,196,.65);color:#fff9e9;padding:10px 15px;text-decoration:none;font:700 .82rem Arial,sans-serif;min-height:44px;border-radius:3px}
.music-welcome-hero-actions a:hover {background:rgba(255,255,255,.12)}
.music-welcome-section {margin-top:clamp(50px,6.3vw,82px);scroll-margin-top:110px}
.music-welcome-section-heading {max-width:760px;margin-bottom:24px}
.music-overline {font:700 .77rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em;color:var(--guide-green)}
.comp-music-welcome .music-welcome-section h2 {margin:8px 0 12px;font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.08}
.music-welcome-section-heading p {margin:0;color:#284947;font-size:1.1rem;line-height:1.5}
.music-guide-paths {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.music-guide-path {min-width:0;padding:23px;background:var(--guide-cream);border:1px solid var(--guide-line);border-radius:4px;text-decoration:none;display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,border-color .2s ease}
.music-guide-path:hover {transform:translateY(-2px);border-color:var(--guide-green)}
.music-guide-path-number {color:#5b6962;font:700 .73rem Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.comp-music-welcome .music-guide-path h3 {color:var(--guide-green);font-size:1.65rem;line-height:1.13;margin:0}
.music-guide-path p {flex:1;margin:0;font-size:1rem;color:#355451;line-height:1.5}
.music-path-link {font:700 .84rem Arial,sans-serif;margin-top:8px;color:var(--guide-green);text-decoration:underline;text-underline-offset:3px}
.music-starter-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.music-album-card {min-width:0;display:flex;flex-direction:column;padding:14px;background:var(--guide-cream);border:1px solid var(--guide-line);border-radius:4px}
.music-album-cover {height:auto;aspect-ratio:1/1;position:relative;overflow:hidden;background:#d4d9c4;display:grid;place-items:center;border:1px solid rgba(0,77,79,.1)}
.music-album-cover.fallback {background:linear-gradient(145deg,#c8ded2,#eddfba)}
.music-album-cover::before {content:'♪';font-size:clamp(40px,6vw,76px);line-height:1;opacity:.2;position:absolute;z-index:0;color:var(--guide-green)}
.music-album-cover img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.music-album-kicker {font:700 .72rem/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.10em;color:#57706a;margin:13px 0 4px}
.comp-music-welcome .music-album-card h3 {font-size:1.38rem;line-height:1.16;color:var(--guide-green);margin:0 0 5px;overflow-wrap:anywhere}
.music-album-artist {font-size:1.04rem;font-weight:700;line-height:1.3;margin:0 0 8px;overflow-wrap:anywhere}
.music-album-meta {font:700 .78rem/1.5 Arial,sans-serif;color:#42605a;margin-top:auto;padding-top:5px}
.music-album-reason {font-size:.92rem;line-height:1.35;color:#4c605c;margin:8px 0 5px}
.music-album-record {font:700 .78rem Arial,sans-serif;color:var(--guide-green);margin:11px 0 0;text-underline-offset:3px}
.music-method-caption {font-size:.86rem;line-height:1.55;color:#47605a;margin:16px 0 0}
.music-method-caption a {text-underline-offset:3px}
.music-load-status {color:#365753;font-size:1rem;margin:12px 0 18px}
.music-recommender-panel {padding:clamp(16px,3vw,29px);background:var(--guide-cream);border:1px solid var(--guide-line);border-radius:4px}
.music-reco-input-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.music-reco-field {border:0;padding:0;margin:0;min-width:0}
.music-reco-field legend {font:700 1.06rem/1.4 Arial,sans-serif;color:var(--guide-green);padding:0;margin-bottom:11px}
.music-reco-field legend span {font-weight:400;font-size:.84rem;color:#52716b}
.music-input-row {display:flex;gap:8px;align-items:stretch}
.comp-music-welcome .music-input-row input {flex:1;min-width:0;padding:10px;background:#fffef9;border:1px solid #859e93;color:#123638;font-size:.95rem}
.comp-music-welcome .music-add-button {white-space:nowrap;padding:9px 11px;font:700 .8rem Arial,sans-serif}
.music-selected-list {display:flex;flex-wrap:wrap;gap:7px;min-height:20px;margin-top:13px}
.comp-music-welcome .music-choice-chip {display:inline-flex;gap:8px;align-items:center;border:1px solid #73998f;padding:6px 9px;background:#e7efe7;color:#164843;font:700 .78rem Arial,sans-serif;border-radius:50px}
.comp-music-welcome .music-choice-chip button {padding:0 2px;border:0;background:transparent;color:inherit;font:bold 1.1rem Arial,sans-serif;line-height:1;min-height:24px}
.music-quick-genres {display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.comp-music-welcome .music-quick-genre {font:700 .77rem Arial,sans-serif;background:transparent;color:var(--guide-green);border:1px solid #8ba9a0;padding:6px 9px;min-height:35px;border-radius:3px}
.comp-music-welcome .music-quick-genre[aria-pressed=true] {background:var(--guide-green);color:#fff8e8}
.music-input-hint {font-size:.82rem;color:#536b65;margin:12px 0 0}
.music-reco-actions {display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:24px}
.comp-music-welcome .music-reco-actions button {padding:12px 16px;min-height:45px;font:700 .87rem Arial,sans-serif}
.comp-music-welcome .music-reco-actions .music-outline-button {background:transparent;color:var(--guide-green);border:1px solid #73998f}
.comp-music-welcome .music-reco-actions .music-outline-button:hover {background:#e6ede3}
.music-reco-results {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.music-reco-results .music-album-card {padding:11px}
.music-reco-results .music-album-card h3 {font-size:1.18rem}
.music-reco-results .music-album-cover::before {font-size:52px}
.music-reco-results .music-album-artist {font-size:.95rem}
.music-error {color:#813b24}
@media(max-width:990px){.music-starter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-reco-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.music-guide-paths{grid-template-columns:1fr}.music-reco-input-grid{grid-template-columns:1fr;gap:21px}.music-starter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-reco-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.comp-music-welcome .comp-wrap{padding:18px 13px 60px}.music-starter-grid,.music-reco-results{gap:9px}.music-album-card{padding:10px}.comp-music-welcome .music-album-card h3{font-size:1.12rem}.music-input-row{flex-direction:column}.comp-music-welcome .music-add-button{align-self:flex-start}.music-welcome-hero-actions{flex-direction:column;align-items:flex-start}.music-welcome-hero{min-height:0}}
@media(prefers-reduced-motion:reduce){.music-guide-path{transition:none}.music-guide-path:hover{transform:none}}
