/* STUDIO QUEST V4.2 — Cohesive visual system / editorial + warm depth
   Only the V4.2 preview loads this file. Based on the V4.1 editorial layout.
   Restrained gradients and shadows, no neon, no purple, no glassmorphism. */
:root {
  --ink:#233936;
  --ink-soft:#53635a;
  --muted:#6c7970;
  --violet:#ab513b;
  --violet-dark:#87432f;
  --violet-light:#f7e7d9;
  --lime:#d9e2c9;
  --line:#d8ddd2;
  --paper:#fffdf8;
  --bg:#f6f4ec;
  --forest:#243d38;
  --forest-mid:#3b5c51;
  --forest-light:#e5eee5;
  --rust:#b35b42;
  --rust-deep:#964832;
  --cream:#fffaf0;
  --sage:#d9e6d8;
  --sage-strong:#789583;
  --ochre:#d6af78;
  --shadow-paper:0 5px 18px rgba(35,57,54,.065),0 1px 2px rgba(35,57,54,.04);
  --shadow-raised:0 18px 44px rgba(35,57,54,.12),0 3px 9px rgba(35,57,54,.045);
}
body { background:var(--bg); color:var(--ink); }
h1,h2 { font-family:Georgia,"Times New Roman",serif; }
h3,h4 { color:var(--forest); }
button,select,a { -webkit-tap-highlight-color:transparent; }
.site-header { background:#fffdf8; box-shadow:0 3px 13px rgba(26,49,43,.045); }
.brand-icon { background:linear-gradient(145deg,#38594e 0%,#203a36 100%); border-radius:9px; box-shadow:0 4px 10px rgba(26,49,43,.11); }
.brand-text { color:var(--forest); }
.brand-text>span,.footer-brand span { color:var(--rust); }
.language-picker select,.nav-cta { border-radius:7px; }
.nav-cta { background:linear-gradient(145deg,#fffdf8,#f0f2e9); box-shadow:0 2px 8px rgba(35,57,54,.045); }
.nav-cta:hover { background:#edf1e7; }
.hero-art { background:linear-gradient(155deg,#edf0e5 0%,#e2e9e1 55%,#eaf0e9 100%); border:1px solid #d3ded0; border-radius:10px; }
.hero-art:before { opacity:.21; }
.app-preview { border-radius:11px; box-shadow:0 22px 45px rgba(33,63,52,.16),0 3px 7px rgba(33,63,52,.055); border-color:#c2d1c3; }
.preview-top { background:linear-gradient(110deg,#2a4941 0%,#213a36 100%); }
.preview-score { background:linear-gradient(120deg,#f3f4eb,#e9eee5); }
.preview-xp strong { color:var(--rust-deep); }
.preview-progress { background:#dbe5db; }
.preview-progress>span { background:linear-gradient(90deg,#bf7755,#a94f39); }
.preview-welcome small,.preview-mission small { color:#6f7b71; }
.preview-label,.mission-header { color:#5d7768; }
.mini-points { color:var(--rust-deep); }
.preview-mission { background:#fffdf9; border-color:#dce4d7; }
.mission-mini-icon { background:#e4ece2; color:#456f55; }
.mission-mini-icon.mint { background:#f6eadb; color:#a7553a; }
.floating-badge { background:#fffaf1; box-shadow:0 9px 24px rgba(38,64,48,.12),3px 4px 0 rgba(181,122,91,.11); border-color:#dfcfb8; border-radius:7px; transform:rotate(-2.2deg); }
.hero-art-caption { color:#6a796c; }
.gradient-word { color:var(--rust-deep); -webkit-text-fill-color:var(--rust-deep); }
.hero-lead { color:#54645a; }
.button { border-radius:8px; }
.button-primary { background:linear-gradient(115deg,#ba664a 0%,#a7513a 100%); box-shadow:0 5px 12px rgba(159,72,45,.14); }
.button-primary:hover { background:linear-gradient(115deg,#b76046,#95422f); box-shadow:0 8px 18px rgba(159,72,45,.21); transform:translateY(-1px); }
.button-quiet { background:#fffcf6; border:1px solid #cdd6c8; box-shadow:0 2px 6px rgba(30,56,45,.04); }
.button-quiet:hover { background:#edf1e9; }
.eyebrow,.section-kicker { color:#aa5138; }
.hero-benefits svg { stroke:#6c927a; }
.proof-band { border-color:#cfd8cc; column-gap:30px; row-gap:20px; }
.proof-band>div { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; }
.proof-band strong { display:block; font-size:14px; line-height:1.3; color:var(--forest); font-weight:780; }
.proof-band>div>span:last-child { color:#69776d; font-size:11px; line-height:1.5; }
.section-heading p { color:#596b60; }
.section-heading h2 span,.feedback-intro h2 span { color:var(--rust-deep); }
.steps { gap:26px; }
.step { background:transparent; border-radius:0; border:0; border-top:2px solid #a9bcac; box-shadow:none; padding:22px 5px 10px; }
.step:nth-child(2) { border-top-color:var(--rust); }
.step:nth-child(3) { border-top-color:#b6a67d; }
.step h3 { font-weight:720; }
.step-num { color:#8e9a8d; }
.demo-section { background:linear-gradient(148deg,#29463e 0%,#203934 72%,#1d332f 100%); }
.demo-section:before { display:none; }
.demo-heading p { color:#d5e1d4; }
.section-kicker.light { color:#e8bd90; }
.demo-heading h2 span { color:#e9c69c; }
.interactive-label { background:rgba(239,246,231,.09); border:1px solid rgba(239,246,231,.25); color:#f3f1e7; border-radius:7px; }
.interactive-label .status-dot { background:#e0be80; box-shadow:none; }
.demo-app { border-radius:12px; border:1px solid #c2d4c4; box-shadow:var(--shadow-raised); }
.app-toolbar { background:#fffdf7; border-bottom-color:#d6e0d5; }
.app-toolbar-brand strong { color:var(--forest); }
.toolbar-mark { background:linear-gradient(145deg,#406e58,#26473e); color:#f5f1df; border-radius:6px; }
.toolbar-demo-label { background:#ebefe4; color:#476752; border-radius:4px; }
.toolbar-extra { color:#64786d; }
.small-circle { background:#769785; }
.demo-sidebar { background:linear-gradient(155deg,#f1f4ec,#e9efe5); border-right:1px solid #d6e2d5; }
.demo-sidebar select { border-color:#bfcfc1; background:#fffefa; border-radius:7px; color:var(--forest); }
.small-label { color:#597567; }
.profile { background:#fffefa; border:1px solid #d6e1d2; border-radius:10px; box-shadow:0 3px 9px rgba(35,57,54,.04); }
.profile-avatar { background:linear-gradient(155deg,#dde8db,#ccdcca); color:var(--forest); border-radius:8px; }
.profile-name { color:var(--forest); }
.profile-instrument { color:#65776d; }
.profile-divider { background:#dbe4d7; }
.level-pill { background:#e5ece1; color:#42674d; border-radius:4px; }
.level-name { color:#617968; }
.points-row strong { color:var(--rust-deep); }
.points-row span,.progress-label { color:#6c7c6e; }
.bar { background:#dbe6d8; }
.bar i { background:linear-gradient(90deg,#739b7e,#456d5b); }
.reward-card { border-radius:8px; border-color:#d9e2d5; background:#fffdf8; }
.reward-icon { border-radius:6px; color:#a25a3b; background:#f5e6ce; }
.reward-card small { color:#738272; }
.demo-main { background:#fffefa; }
.demo-main-header h3 { color:var(--forest); }
.demo-main-header h3>span { color:var(--rust); }
.demo-main-header p,.demo-footer #demoToast { color:#67776d; }
.quest-title-row { color:#637665; }
.quest-title-row span { color:#687b6a; }
.quest-grid { gap:14px; }
.quest-card { background:#fffdf7; border:1px solid #d9e1d4; border-radius:9px; box-shadow:0 2px 7px rgba(34,66,49,.04); }
.quest-card:hover { box-shadow:0 6px 16px rgba(34,66,49,.11); }
.quest-type { color:#65796b; }
.quest-card h4 { color:var(--forest); }
.quest-card p { color:#617168; }
.quest-icon { background:#dfebe0; color:#3b7956; border-radius:7px; }
.quest-icon.purple { background:#e9ece0; color:#547660; }
.quest-icon.coral { background:#fae7d5; color:#ad643a; }
.quest-button { background:linear-gradient(180deg,#f0f4ed,#e5ede3); color:#355a42; border:1px solid #c8dac9; border-radius:6px; box-shadow:0 2px 4px rgba(28,67,43,.04); }
.quest-button:hover { background:#d5e7d7; color:#244936; }
.demo-disclaimer { color:#cbd8cb; }
.toolkit-grid { gap:22px; }
.toolkit-card { background:#fffefa; border:1px solid #d5ded4; border-radius:10px; box-shadow:var(--shadow-paper); }
.toolkit-card:nth-child(2) { transform:translateY(8px); }
.toolkit-card:hover { box-shadow:0 9px 26px rgba(34,63,48,.11); }
.mockup-tracker { background:linear-gradient(150deg,#dce8da,#ebf2e7); }
.mockup-top { color:#335b45; background:#fffefa; border-radius:6px 6px 0 0; }
.mockup-top>span:last-child { color:#bd8450; }
.fake-table { background:#fffefa; }
.fake-table>div { border-bottom-color:#e4ebe1; }
.fake-table b { color:#627b65; }
.fake-table em { background:#dfe9dc; color:#426d50; border-radius:3px; }
.tiny-chart { background:#fffefa; }
.tiny-chart i { background:#99b6a0; }
.tiny-chart i:nth-child(2),.tiny-chart i:nth-child(4) { background:#5a886a; }
.mockup-mission { background:linear-gradient(145deg,#e2eee5,#f3efe3); }
.paper { background:#fffefa; border:1px solid #dfddcd; box-shadow:5px 7px 18px rgba(40,66,51,.16); border-radius:3px; }
.paper-kicker { color:#5b8668; }
.paper-symbol { color:#a4543d; }
.paper strong { color:var(--forest); }
.paper p { color:#526657; }
.paper-stamp { color:#b47648; }
.mockup-award { background:linear-gradient(160deg,#f2e6cf,#f6efdf); }
.mockup-award * { border-color:#c7b692; }
.toolkit-number { color:#b25b3d; }
.toolkit-description h3 { color:var(--forest); }
.toolkit-description p { color:#606f63; }
.toolkit-note { background:#eaf0e7; border:1px solid #d2ded3; border-radius:7px; }
.toolkit-note>span { color:#5a8667; }
.toolkit-note p { color:#5b7264; }
.closing-cta { background:linear-gradient(120deg,#3d6455,#27453d 68%,#203b35); border-radius:12px; box-shadow:0 12px 25px rgba(39,66,50,.13); }
.closing-cta h2 { color:#fffdf4; }
.closing-cta h2 span { color:#f0c997; }
.closing-cta p { color:#e0e8dc; }
.closing-illustration { color:#e1c396; opacity:.6; }
.closing-illustration span { color:#f1eee175; }
.button-lime { background:linear-gradient(140deg,#edc99d,#dbb478); color:#263e33; border-radius:7px; box-shadow:0 4px 12px rgba(6,22,12,.15); }
.button-lime:hover { background:#f1d4aa; }
.feedback-intro>p { color:#566c5c; }
.privacy-card { border:1px solid #d8e2d6; background:#edf2e9; border-radius:9px; }
.privacy-card>span { color:#507860; }
.privacy-card strong { color:var(--forest); }
.privacy-card p { color:#5d7163; }
.privacy-card a,.footer-contacts a { color:#9b5138; }
.feedback-form { background:#fffefa; border:1px solid #d7ded2; border-radius:10px; box-shadow:var(--shadow-paper); }
.question-group+.question-group { border-top-color:#e1e7dc; }
.question-heading>span { background:#e7eee3; color:#466b50; border-radius:4px; }
.question-heading h3 { color:var(--forest); }
.choice { background:#fffefa; border-color:#dbe2d6; border-radius:6px; color:#355348; }
.choice:hover { background:#f0f3e9; border-color:#98b09b; }
.choice.selected { border-color:#527961; background:#e3eee1; color:#244b37; box-shadow:inset 0 0 0 1px #527961; }
.country-select { background:#fffefa; border:1px solid #c8d5c7; border-radius:6px; color:var(--forest); }
.currency-note { color:#748271; }
.feedback-status { color:#748373; }
.site-footer { background:#eef0e6; border-top:1px solid #d8ddd0; }
.footer-inner p { color:#637569; }
.footer-inner>a:last-child { color:#9b5138; }
.footer-brand { color:var(--forest); }
.privacy-hero { background:linear-gradient(115deg,#3b6152,#223f37)!important; border-radius:9px!important; }
.privacy-panel { background:#fffefa!important; border-radius:9px!important; border-color:#d5dfd4!important; box-shadow:var(--shadow-paper); }
.privacy-contact { background:#e9efe7!important; border-color:#d0dfd2!important; border-radius:7px!important; }
.privacy-panel a { color:#a35039!important; }
@media(max-width:1040px){
  .toolkit-card:nth-child(2){transform:none;}
  .hero-art { background:linear-gradient(145deg,#e9eee2,#e0e9df); }
}
@media(max-width:720px){
  .hero-art { border-radius:9px; }
  .app-preview { border-radius:9px; }
  .demo-app { border-radius:10px; }
  .toolkit-card { border-radius:9px; }
  .closing-cta { border-radius:10px; }
}
@media(prefers-reduced-motion:reduce){
  .button,.quest-card,.choice { transition:none!important; transform:none!important; }
}
/* Print-like music teaching materials */
.certificate{background:#fff9ec;border:5px double #d3b98a;box-shadow:0 9px 18px rgba(75,67,43,.12);color:#365243}
.certificate>span{color:#86734e}
.certificate-star{color:#bb8750}
.certificate strong{color:#315046}
.certificate p{color:#6c705d}
.certificate-line{background:#d7c49d}
@media(max-width:720px){.toolkit-card:nth-child(2){transform:none}.profile{box-shadow:0 2px 7px rgba(33,57,46,.045)}.quest-card{box-shadow:none}}

/* Week-by-week trail and tiny metadata: remove remaining lilac from the live demo */
.week-indicator{background:#e6f0e5;color:#42664b;border-radius:5px}
.week-item{background:#f5f6ef;border:1px solid #dce5d9;border-radius:7px}
.week-item>span{background:#e1e9df;color:#66806c}
.week-item strong{color:#38554a}
.week-item small{color:#667969}
.week-item.done{background:#eaf1e8;border-color:#d2e0d0}
.week-item.done>span{background:#cfe5d2;color:#3e7852}
.week-item.active{background:#f7e8d9;border-color:#d9a98f;box-shadow:0 3px 9px rgba(158,85,55,.075)}
.week-item.active>span{background:linear-gradient(140deg,#c77555,#a85137);color:#fffdf6}
.week-item.active strong{color:#7f432f}
.week-item.active small{color:#926e60}
.preview-progress-text{color:#6d7b6d}
.mission-header small{color:#6a816e}
.preview-xp small{color:#728070}
.preview-brand em{color:#d8e2d6}