/* Scoped to this guide; shared product pages retain their styles. */
.sheet-music-page { --ink:#28242f; --muted:#625d68; --canvas:#faf9f7; --line:#e4e0dc; }
.skip-link { position:absolute; z-index:10; top:12px; left:12px; padding:12px 18px; background:#fff; transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
.sheet-music-page .hero { min-height:auto; padding:24px 0 48px; background:var(--canvas); }
.sheet-music-page .hero::before,.sheet-music-page .hero::after { display:none; }
.practice-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; align-items:center; padding-top:42px; }
.sheet-music-page .hero-copy { width:100%; padding-top:0; }
.sheet-music-page h1 { font-size:clamp(44px,5.5vw,64px); line-height:1.07; letter-spacing:-.035em; }
.sheet-music-page .eyebrow { font-size:13px; letter-spacing:.03em; }
.sheet-music-page .eyebrow::before { display:none; }
.sheet-music-page .lead { max-width:500px; font-size:21px; line-height:1.55; }
.sheet-music-page .actions { align-items:center; gap:20px; margin-top:28px; }
.sheet-music-page .button { box-shadow:none; font-size:14px; }
.sheet-music-page .button.primary { background:#27222e; border-color:#27222e; }
.sheet-music-page .button.primary:hover { background:#48404f; border-color:#48404f; }
.text-link { font-size:15px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.platforms { margin:20px 0 4px; font-size:14px; font-weight:700; }
.pace-note { margin:0; font-size:14px; color:var(--muted); }
.demo { min-width:0; margin:0; }
.demo-heading { display:flex; justify-content:space-between; gap:10px; margin-bottom:12px; font-size:12px; color:var(--muted); }
.demo-heading span:first-child { font-weight:700; color:var(--ink); }
.demo video { display:block; width:100%; height:auto; aspect-ratio:3/4; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 16px 40px rgba(38,31,42,.08); }
.demo figcaption { max-width:370px; margin:14px auto 0; font-size:12px; line-height:1.6; color:var(--muted); }
.sheet-music-page main { padding-top:8px; }
.sheet-music-page h2 { font-size:clamp(26px,3vw,36px); line-height:1.15; letter-spacing:-.025em; }
.sheet-music-page .grid { gap:26px; }
.sheet-music-page .card { min-height:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.sheet-music-page .card strong { font-size:17px; }
.sheet-music-page .stripe { gap:42px; padding:30px 0; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
.fit-check details { padding:20px 0; border-bottom:1px solid var(--line); }
.fit-check summary { cursor:pointer; font-size:17px; font-weight:700; line-height:1.45; }
.fit-check details p { max-width:720px; margin:14px 0 0; color:var(--muted); }
.related-guides .card { text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:5px; }
a:focus-visible,summary:focus-visible,video:focus-visible { outline:3px solid #2f78b5; outline-offset:5px; }
@media(max-width:820px) {
  .sheet-music-page .hero { padding-bottom:30px; }
  .practice-hero { grid-template-columns:1fr; gap:30px; padding-top:30px; }
  .sheet-music-page h1 { font-size:clamp(34px,9vw,46px); }
  .sheet-music-page .lead { font-size:18px; max-width:520px; }
  .sheet-music-page .actions { display:flex; gap:20px; }
  .sheet-music-page .actions .button { width:auto; }
  .demo { width:min(100%,350px); margin:0 auto; }
  .sheet-music-page .grid { gap:22px; }
  .sheet-music-page .stripe { padding:26px 0; gap:8px; }
}
@media(max-width:360px) { .sheet-music-page .actions { gap:18px; } .sheet-music-page .actions .button { width:100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .sheet-music-page .button:hover { transform:none; } }
