/* Studio design system — shared base for the SMF quoting flow.
   Mirrors tokens from "index.html". Fonts are loaded per-page. */
:root{
  --bg:#E7E9EC; --paper:#FFFFFF; --ink:#1C1B18; --ink-2:#56544D; --ink-3:#8A877E;
  --line:#D4D7DB; --line-2:#DEE1E5; --surface-3:#EEF0F2;
  --sand-1:#E4D2B4; --sand-2:#C7A877; --sand-ink:#5A4424;
  --sage-1:#CBD3BC; --sage-2:#97A67E; --sage-ink:#3E4A2C;
  --slate-1:#C7D0DA; --slate-2:#8FA0B2; --slate-ink:#2E3B49;
  --acc:#B0BB9C; --acc-deep:#8E9A78; --acc-ink:#2C351E;
  --disp:"Nunito",system-ui,sans-serif;
  --sans:"Nunito",system-ui,sans-serif;
  --mono:"Spline Sans Mono",ui-monospace,monospace;
  --r:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
h1,h2,h3,h4{font-family:var(--disp);font-weight:600;line-height:1.02;letter-spacing:-.02em}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px}
.kick{display:inline-flex;align-items:center;gap:9px;color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:11.5px}
.kick::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc)}

/* Primary button — Studio pill */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:15px;padding:14px 26px;border-radius:999px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;transition:.18s;white-space:nowrap}
.btn:hover{background:var(--ink-hover,#000);transform:translateY(-1px)}
.btn:disabled{opacity:.32;cursor:not-allowed;transform:none}
.btn-acc{background:var(--acc-deep);border-color:var(--acc-deep);color:#fff}
.btn-acc:hover{background:var(--acc-ink,#2C351E);border-color:var(--acc-ink,#2C351E);color:#fff}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.btn .ar{transition:transform .18s}.btn:hover:not(:disabled) .ar{transform:translateX(3px)}

/* ── Body silhouette ─────────────────────────────────────────────
   .sil renders a body outline; treatment is set by an ancestor:
   default = filled ink; .t-outline = line drawing; color via --sil. */
.sil{width:100%;height:100%}
.sil-path{fill:var(--sil,var(--ink));stroke:none;transition:fill .2s,stroke .2s}
.t-outline .sil-path{fill:none;stroke:var(--sil,var(--ink));stroke-width:1.4;
  vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.t-outline.t-bold .sil-path{stroke-width:2.2}

/* ── Full guitar composite (.gtr): body outline + neck assembly ───── */
.gtr{width:100%;height:100%}
.gtr .sil-path{fill:none;stroke:var(--sil,var(--ink));stroke-width:1.6;
  vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.gtr .g-stroke{fill:none;stroke:var(--sil,var(--ink));stroke-width:1.4;
  vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.gtr .g-hole{fill:none;stroke:var(--sil,var(--ink));stroke-width:1.4;vector-effect:non-scaling-stroke}
.gtr .g-fret{fill:none;stroke:var(--sil,var(--ink));stroke-width:.8;vector-effect:non-scaling-stroke;opacity:.65}
.gtr .g-fill{fill:var(--sil,var(--ink));stroke:none}
.gtr .g-faint{fill:none;stroke:var(--sil,var(--ink));stroke-width:1;vector-effect:non-scaling-stroke;opacity:.26;stroke-linecap:round}
.gtr .g-string{fill:none;stroke:var(--sil,var(--ink));stroke-width:.5;vector-effect:non-scaling-stroke;opacity:.32}
.gtr .g-dot{fill:var(--sil,var(--ink));stroke:none;opacity:.5}
.gtr .g-ring{fill:none;stroke:var(--sil,var(--ink));stroke-width:1;vector-effect:non-scaling-stroke}
.gtr .g-ros{fill:none;stroke:var(--sil,var(--ink));stroke-width:.9;vector-effect:non-scaling-stroke;opacity:.5}
