/* Fixed PSynth 3 palette for the public site and the live store. */
:root {
  --bg: #0b1224; --panel: #14213a; --text: #edf3fa; --muted: #b1c0d6;
  --line: #30435f; --accent: #69dcef; --button-fill: #69dcef;
  --button-text: #0a2330; --soft-panel: #101c31; --soft-hover: #1b2d49;
  --strong-line: #557390; --decorative: #233654; --offer-bg: #1c2141;
  --offer-line: #74689e; --input-bg: #101c31; --art-start: #233654;
  --art-end: #101c31; --glow: #2199ba35; --shadow: #03071680;
  color-scheme: dark;
}
html { font-size: 16px; }
html[data-text-size="large"] { font-size: 18px; }
body { font-size: 1rem; }
.site-header, .site-footer { background: var(--bg); }
.site-header { background: #0e172b; }
.main-nav > a, .hero-eyebrow, .hero-description, .hero-bottom a, .product-caption,
.product-caption > span:last-child, .footer-links a, .footer-bottom { color: var(--muted); }
.main-nav > a.nav-contact { border-color: var(--strong-line); color: var(--text); }
.button, .store-page .store-buy-button { background: var(--button-fill); border-color: var(--button-fill); color: var(--button-text); }
.button:hover, .store-page .store-buy-button:hover { background: #8fe8f5; border-color: #8fe8f5; }
.button-secondary { background: var(--panel); border-color: var(--strong-line); color: var(--text); }
.button-secondary:hover { background: var(--soft-hover); color: var(--text); border-color: #a388ed; }
.text-link, .badge, .round-arrow { border-color: var(--strong-line); }
.hero-product:before { inset: -10% -5% -5% -7%; background: radial-gradient(ellipse at 28% 45%,#2fc6e928,transparent 60%),radial-gradient(ellipse at 85% 75%,#9259ed25,transparent 65%); }
.instrument-preview, .hero .instrument-preview { border-color: var(--strong-line); box-shadow: 0 20px 45px var(--shadow); }
.hero .instrument-preview { border-color: #507c9e; box-shadow: 0 20px 45px #03071699,0 0 65px #5293bd1c; }
.badge { border-color: #7966a0; color: #c5abff; background: #9871ee0d; }
.product-wordmark > span:first-child { color: #c5abff; }
.product-wordmark-line { background: linear-gradient(90deg,#7161a4,#438d9c55,transparent); }
.discipline-strip, .feature-band, .next-instrument { background: var(--soft-panel); color: var(--muted); border-color: var(--line); }
.world-card:hover { background: var(--soft-hover); border-color: var(--strong-line); }
.big-two { color: var(--decorative); }
.world-instruments .signal-graphic span { background: linear-gradient(#69dcef,#a388ed); }
.world-instruments .round-arrow, .free-feature .eyebrow, .manifesto > .eyebrow { color: #c5abff; }
.feature-band { background: linear-gradient(115deg,#132238,#1b203c); }
.release-listen { background: var(--panel); color: var(--text); border-color: var(--strong-line); }
.contact-band { background: linear-gradient(110deg,#69dcef,#adb1ff); color: var(--button-text); }
.contact-band .button-light { background: #11213a; color: #d6f6ff; border-color: #11213a; }
.download-visual, .download-visual.original { background: var(--soft-panel); border-color: var(--line); }
.version-label, .instrument-films .film-credit { color: var(--muted); }
.channels-section .channel-archive { background: var(--soft-panel); }
.channels-section .channel-links a:hover .channel-platform, .channels-section .channel-archive-links a:hover .channel-platform { color: var(--accent); }
.video-card button.video-load, .video-card button.soundcloud-load { background: var(--soft-panel); border-color: var(--strong-line); }
.image-dialog { background: var(--panel); }
.dialog-close { border-color: var(--strong-line); }
.contact-form input:not([type=checkbox]):not([type=submit]), .contact-form textarea, .contact-form select { background: var(--input-bg); border-color: var(--strong-line); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: var(--muted); }
.contact-form .verification-code { background: var(--soft-panel); border-color: var(--strong-line); }
.preset-offer-banner .preset-offer-panel, .store-page .store-promotion-panel { background: var(--offer-bg); border-color: var(--offer-line); }
.preset-offer-banner .eyebrow, .store-page .store-promotion-copy > .eyebrow { color: #c5abff; }
.preset-offer-banner .preset-offer-method, .preset-offer-banner .preset-offer-deadline,
.store-page .store-promotion-method, .store-page .store-promotion-deadline > .eyebrow { color: var(--muted); }
.store-page .store-promotion-deadline { border-color: var(--offer-line); }
.store-page .store-intro-note { border-color: var(--strong-line); }
.store-page .store-intro-note > p:not(.eyebrow), .store-page .store-intro-note .micro,
.store-page .store-product-index, .store-page .store-product-specs { color: var(--muted); }
.store-page .store-promotion-code { background: var(--panel); border-color: var(--strong-line); }
.store-page .store-product-art, .store-page .store-product-wide .store-product-art { background: linear-gradient(145deg,var(--art-start),var(--art-end)); }
.store-page .store-product-specs > li { border-color: var(--line); }
.store-page .store-product-specs li, .store-page .store-prior-price, .store-page .store-purchase-discount { color: var(--muted); }
.store-page .store-product-price .store-price-regular { color: var(--muted); }
.store-page .store-note-symbol { color: var(--decorative); }
.store-page .store-format-tag { background: #0b1224dd; border-color: var(--strong-line); color: var(--muted); }
.instrument-films .instrument-video { background: var(--panel); border-color: var(--line); }
.instrument-films button.instrument-video-cover { background: radial-gradient(ellipse at 50% 54%,#223c57,#14213a 47%,#0b1224); border-color: var(--line); }
.instrument-films button.instrument-video-cover:before { background: repeating-linear-gradient(90deg,#69dcef 0 2px,transparent 2px 12px); }
.instrument-films .film-play { background: #11213ae6; border-color: #69dcef; color: #69dcef; }
.instrument-films button.instrument-video-cover:hover .film-play, .instrument-films button.instrument-video-cover:focus-visible .film-play { color: var(--button-text); }
.instrument-films .film-cover-label { color: var(--text); }
.instrument-films .film-format { background: #0b1224cc; border-color: var(--strong-line); color: var(--muted); }
.game-audio-feature .game-audio-visual { background: radial-gradient(ellipse at 50% 54%,#233d58,#14213a 52%,#0b1224); border-color: var(--strong-line); }
.game-audio-feature .game-audio-wordmark { color: var(--text); }
.game-audio-feature .game-audio-tag { color: var(--muted); }
.game-audio-feature .game-audio-signal > span { background: linear-gradient(180deg,#69dcef,#69dcef 48%,#a388ed); }
.game-audio-feature .game-audio-signal:before { background: linear-gradient(90deg,transparent,#69dcef42,transparent); }

/* Readable defaults: copy 16px, supporting information 14px, labels 12px. */
body :is(.hero-description,.section-description,.world-card p,.free-feature .lead,.manifesto-bottom > p,.card-body p,.feature-copy p,.artist-card p,.development-note p:not(.eyebrow),.download-copy > p:not(.lead),.prose p,.prose li,details p,details ol) { font-size: 1rem; }
body :is(.button,.text-link,.spec-list,.subnav a,.field label,.form-note,.video-card p,.video-card .text-link,.media-unload,.download-copy .button) { font-size: .875rem; }
body :is(.hero-eyebrow,.hero-bottom,.product-caption,.product-overline .eyebrow,.micro,.badge,.world-top .eyebrow,.footer-links a,.footer-bottom,.release-info p,.release-info > .micro,.release-listen,.image-dialog > p) { font-size: .875rem; }
body :is(.discipline-strip .wrap,.footer-links .eyebrow,.page-intro > .eyebrow,.psynth-intro .micro) { font-size: .75rem; }
.instrument-films .film-group-head > p.muted { font-size: 1rem; }
.instrument-films .film-credit, .instrument-films .film-note, .instrument-films .film-copy .text-link { font-size: .875rem; }
.instrument-films .film-copy > .eyebrow, .instrument-films .film-group-head .eyebrow, .instrument-films .film-format, .instrument-films .film-cover-label { font-size: .75rem; }
.channels-section .channel-links a, .channels-section .channel-archive-links a { font-size: 1rem; }
.channels-section .channel-platform { font-size: .875rem; }
.channels-section .channel-archive-head > .muted, .game-audio-feature .game-audio-copy > p:not(.eyebrow):not(.lead) { font-size: 1rem; }
.game-audio-feature .game-audio-tag { font-size: .75rem; }
.preset-offer-banner .preset-offer-method, .preset-offer-banner .preset-offer-deadline { font-size: .875rem; }
.preset-offer-banner .eyebrow { font-size: .75rem; }
.store-page .store-intro .lead, .store-page .store-product-description, .store-page .store-product-specs,
.store-page .store-information p:not(.eyebrow), .store-page .store-promotion-scope { font-size: 1rem; }
.store-page .store-compatibility p,
.store-page .store-compatibility summary, .store-page .store-compatibility .text-link, .store-page .store-download-note p,
.store-page .store-download-note a, .store-page .store-footer .micro, .store-page .store-footer > div,
.store-page .store-promotion-method, .store-page .store-promotion-deadline > p:not(.eyebrow) { font-size: .875rem; }
.store-page .store-category-heading .micro, .store-page .store-section-heading .micro,
.store-page .store-information .eyebrow, .store-page .store-intro-copy > .eyebrow { font-size: .75rem; }
.store-page .store-product-description { min-height: 0; }
.store-page .store-product-heading { flex-wrap: wrap; }
.store-page .store-product-pricing.has-offer { max-width: 170px; }
.store-page .store-product-price { font-size: 1.4rem; }
.store-page .store-purchase-note, .store-page .store-prior-price, .store-page .store-product-price > span,
.store-page .store-promotion-deadline time > span { font-size: .875rem; }
.store-page .store-price-kind, .store-page .store-product-index, .store-page .store-format-tag,
.store-page .store-intro-note .eyebrow, .store-page .store-intro-note .micro,
.store-page .store-promotion-copy > .eyebrow, .store-page .store-promotion-deadline > .eyebrow { font-size: .75rem; }
.store-page .store-product-price .store-price-regular { font-size: .9rem; }
.store-page .store-buy-button { font-size: 1rem; }

/* Text size can be changed independently of the fixed palette. */
.site-header { height: auto; min-height: 102px; }
.header-inner { min-height: 102px; gap: 22px; }
.main-nav, .store-page .main-nav { gap: 22px; font-size: .875rem; }
.main-nav > a.nav-contact { margin-left: 0; }
.appearance-controls { display: flex; align-items: center; gap: 6px; position: relative; flex-shrink: 0; }
.text-size-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--strong-line); border-radius: 5px; background: var(--panel); color: var(--text); }
.text-size-toggle:hover { border-color: var(--accent); }
.text-size-toggle { font-size: 17px; font-weight: 700; }
.text-size-plus { font-size: 12px; vertical-align: super; }
.text-size-toggle[aria-pressed="true"] { background: var(--button-fill); color: var(--button-text); border-color: var(--button-fill); }
@media (min-width: 701px) and (max-width: 1230px) {
  .header-inner { display: grid; grid-template-columns: 1fr auto; gap: 12px 20px; padding-block: 18px; }
  .brand { grid-column: 1; grid-row: 1; }
  .appearance-controls { grid-column: 2; grid-row: 1; }
  .main-nav, .store-page .main-nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; }
}
@media (max-width: 700px) {
  .site-header { min-height: 82px; }
  .header-inner { min-height: 82px; display: grid; grid-template-columns: 1fr 44px 44px; padding: 15px 23px; gap: 8px; }
  .brand { grid-column: 1; grid-row: 1; }
  .appearance-controls { grid-column: 2; grid-row: 1; }
  .menu-toggle { grid-column: 3; grid-row: 1; justify-self: end; width: 44px; padding: 0; justify-content: center; }
  .menu-toggle > span:first-child { display: none; }
  .main-nav, .store-page .main-nav { top: 100%; background: var(--panel); font-size: 1rem; border-color: var(--line); }
  .brand { font-size: 13px; gap: 8px; }
  .brand-symbol { width: 30px; height: 34px; }
  .brand-sub { font-size: 8px; letter-spacing: .12em; }
  .hero-eyebrow { white-space: normal; }
  .hero { grid-template-columns: minmax(0,1fr); }
  .product-overline { flex-wrap: wrap; }
  .big-two { font-size: 75vw; }
  .hero-bottom, .product-caption { flex-wrap: wrap; }
  .hero-copy .button-row { gap: 15px; }
  .footer-links { flex-wrap: wrap; gap: 25px; }
  .store-page .store-product-heading { gap: 18px; }
  .store-page .store-section-heading .micro { white-space: normal; }
  .store-page .store-product-pricing.has-offer { max-width: none; width: 100%; text-align: left; }
  .store-page .store-product-pricing .store-product-price { text-align: left; }
  .store-page .store-promotion-deadline { border-color: var(--offer-line); }
}
@media (max-width: 370px) {
  .header-inner { padding-inline: 16px; } .brand-symbol { width: 23px; }
  html[data-text-size="large"] .hero h1 { font-size: 2.8rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { .appearance-controls { display: none; } }
