/* Bench design system layer (tokens from ../lucas-audio-ui/tokens/bench.json).
   Loaded last: remaps the legacy palette variables and restyles surfaces, type and controls.
   Light "rack" theme by default; "night" follows prefers-color-scheme. */
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url('assets/fonts/IBMPlexMono-Regular.ttf') format('truetype')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url('assets/fonts/IBMPlexMono-Medium.ttf') format('truetype')}

:root{
  --b-bg:#dfe6e2;--b-panel:#f4f7f5;--b-well:#cfd9d4;--b-ink:#12201a;--b-muted:#47574f;--b-sage:#9db3a8;--b-signal:#e8590c;--b-on-signal:#12201a;--b-signal-text:#a63d08;
  --b-bw:1.5px;--b-frame:2px;
  --mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  color-scheme:light;
}
@media(prefers-color-scheme:dark){:root{
  --b-bg:#101814;--b-panel:#17231d;--b-well:#0b110e;--b-ink:#dfe6e2;--b-muted:#8fa399;--b-sage:#4a6055;--b-signal:#ff7a2e;--b-on-signal:#101814;--b-signal-text:#ff7a2e;color-scheme:dark}}

/* Remap legacy variables so existing rules pick up the new palette. */
:root,.spark-launch{
  --rs-09-shell:var(--b-bg);--site-background:var(--b-bg);
  --paper:var(--b-ink);--acid:var(--b-signal);--signal:var(--b-signal);
  --line:var(--b-ink);--muted:var(--b-muted);--ash:var(--b-muted);
  --surface-raised:var(--b-panel);
  --font-sans:var(--mono);--font-editorial:var(--mono);
}
:root,html,body{background:var(--b-bg);color:var(--b-ink)}
body{font-family:var(--mono);font-size:15px}
p{color:var(--b-muted)}
::selection{background:var(--b-signal);color:var(--b-on-signal)}

/* Type: mono body, grotesk display, outline weights. */
:root{--type-body:1rem;--type-hero:clamp(2.5rem,7vw,6rem);--type-section:clamp(1.75rem,3.6vw,3rem);--type-card:1.25rem;--leading-copy:1.6}
h1,h2,h3{font-family:'Space Grotesk',Arial,sans-serif;color:var(--b-ink)}
h1{font-weight:700;letter-spacing:-.04em;line-height:1}
h2{font-weight:700;letter-spacing:-.03em}
h3{font-weight:600}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal;color:var(--b-signal)}
em{font-family:inherit;font-style:normal}
.hero-topline,.company-eyebrow,.product-type,.principles article>span,.capabilities article>span,.product-workflow li>span,.musician-card h3>span,.pending,.hero-visual figcaption{
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--b-muted)}
.product-type,.product-hero>.product-type,.capabilities article>span,.musician-card h3>span{color:var(--b-signal)}
.company-eyebrow{border-bottom:var(--b-bw) solid var(--b-ink);padding-bottom:8px}

/* Surfaces and rules */
.company-nav{background:var(--b-panel);border-bottom:1px solid var(--b-ink);backdrop-filter:none}
.company-nav nav,.nav-cta,.company-footer{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}
.company-nav nav a{padding:6px 0;border-bottom:var(--b-bw) solid transparent}
.company-nav a:hover,.text-link:hover{color:var(--b-signal)}
.company-nav nav a:hover{border-bottom-color:var(--b-signal)}
.nav-cta{border:var(--b-bw) solid var(--b-ink);padding:8px 14px;box-shadow:3px 3px 0 var(--b-ink);background:var(--b-panel);transition:transform .06s,box-shadow .06s}
.nav-cta:hover{background:var(--b-well);color:var(--b-ink)}
.nav-cta:active{transform:translate(3px,3px);box-shadow:none}
.company-hero{background:var(--b-bg)}
.signal-line{height:var(--b-frame);background:linear-gradient(90deg,var(--b-signal) 0 16%,var(--b-ink) 16% 100%)}
.company-section{border-top:var(--b-frame) solid var(--b-ink)}
.company-footer{border-top:var(--b-frame) solid var(--b-ink);background:var(--b-panel)}
.company-footer small{color:var(--b-muted)}
.about,.release-section,.partner-section,.musician-perspectives{background:var(--b-panel);color:var(--b-ink)}
.about p,.release-section p{color:var(--b-muted)}
.about .company-eyebrow,.release-section .company-eyebrow{color:var(--b-muted)}
.about a:focus-visible,.release-section a:focus-visible{outline-color:var(--b-signal)}
.principles article,.capabilities article,.release-grid article,.specification>div,.daw-philosophy,.musician-card,.musician-grid{border-color:var(--b-ink)}
.principles article>span,.product-workflow li>span{color:var(--b-signal)}
.release-strip{border-block:var(--b-bw) solid var(--b-ink);color:var(--b-muted)}
.product-hero{background:var(--b-bg)}
.product-tags span{border:var(--b-bw) solid var(--b-ink);color:var(--b-ink);background:var(--b-panel);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}
.placeholder{background:var(--b-well);border:var(--b-bw) dashed var(--b-ink)}
.pending,.inline-pending,.placeholder-value,.musician-perspectives .persona-draft-label,.musician-card figcaption small,.release-section .inline-pending{color:var(--b-signal)}
.origin-quote{border-left:3px solid var(--b-signal)}
.origin-quote p{color:var(--b-ink);font-family:var(--mono);font-style:normal}
.musician-portrait,.session-video video{border:var(--b-bw) solid var(--b-ink);border-radius:0}
.session-video video{background:var(--b-well)}
.musician-card h3,.musician-card figcaption strong,.session-video figcaption strong{color:var(--b-ink)}

/* Screenshots: framed like a Bench plugin window instead of floating glows. */
.product-art img,.instrument-shot img,.hero-visual img,.details-image img{
  border:var(--b-frame) solid var(--b-ink);border-radius:0;background:var(--b-bg);
  box-shadow:6px 6px 0 var(--b-ink);filter:none;transform:none}
.founder-portrait img{border:var(--b-frame) solid var(--b-ink);box-shadow:6px 6px 0 var(--b-ink)}
.product-art img.drum-designer-preview,.instrument-shot img.drum-designer-preview{border-radius:8px}
.founder-portrait figcaption{color:var(--b-muted)}

/* Buttons and links */
.launch-button,.hero-bottom .launch-button{
  font-family:var(--mono);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;
  border:var(--b-bw) solid var(--b-ink);border-radius:0;color:var(--b-ink);box-shadow:3px 3px 0 var(--b-ink);
  min-height:44px;transition:transform .06s,box-shadow .06s}
.launch-button::before,.launch-button::after{display:none}
.launch-button--primary,.hero-bottom .launch-button{background:var(--b-signal);color:var(--b-on-signal)}
.launch-button--quiet{background:var(--b-panel);color:var(--b-ink)}
.launch-button:hover{background:var(--b-well);color:var(--b-ink)}
.launch-button--primary:hover{filter:brightness(1.08);background:var(--b-signal);color:var(--b-on-signal)}
.launch-button:active{transform:translate(3px,3px);box-shadow:none}
.launch-button>[aria-hidden='true']:not(.roll-button__shell){position:static;opacity:1;transform:none}
.text-link{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border-bottom:var(--b-bw) solid var(--b-signal)}
a:focus-visible,button:focus-visible{outline:2px solid var(--b-signal);outline-offset:4px}
.skip-link{background:var(--b-signal);color:var(--b-on-signal)}

/* Logo + orbit hero adopt ink/signal. */
.brand,.brand-name{color:var(--b-ink)}
.brand-name{font-family:'Space Grotesk',Arial,sans-serif}
.hero-orbit{filter:none}
.hero-orbit::before{display:none}
.hero-orbit g[stroke='#edff65']{stroke:var(--b-ink)}
.hero-orbit g[stroke='#eee9dd']{stroke:var(--b-muted)}
.hero-orbit circle[fill='#ff6b18']{fill:var(--b-signal)}

@media(max-width:700px){.nav-cta{display:none}}

/* Small orange text uses a darker orange in the light theme for AA contrast. */
.comparison-own .comparison-kicker,.comparison-own .comparison-product,.comparison-own .comparison-status,.comparison-status,.product-type,.product-hero>.product-type,.capabilities article>span,.musician-card h3>span,.problem-number,
.principles article>span,.product-workflow li>span,.pending,.inline-pending,.placeholder-value,
.musician-perspectives .persona-draft-label,.musician-card figcaption small,.release-section .inline-pending{color:var(--b-signal-text)}
.comparison-scroll{scrollbar-color:var(--b-ink) var(--b-well)}
