.lpi-piano-path-page .entry-content { margin-top: 0; }
.lpi-piano-path { --path-ink:#202a2b; --path-muted:#536360; --path-paper:#faf8f2; --path-green:#234f40; --path-line:#d7dfd8; color:var(--path-ink); font-size:18px; line-height:1.65; }
.lpi-piano-path * { box-sizing:border-box; }
.lpi-piano-path a { color:var(--path-green); text-underline-offset:4px; }
.lpi-piano-path a:focus-visible { outline:3px solid #94600a; outline-offset:4px; }
.lpi-piano-path .path-languages { display:flex; justify-content:flex-end; gap:1rem; margin-bottom:1.5rem; }
.lpi-piano-path .path-languages [aria-current] { font-weight:800; }
.lpi-piano-path .eyebrow, .lpi-piano-path .step-label { font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; font-weight:750; color:var(--path-green); }
.lpi-piano-path h1, .lpi-piano-path h2, .lpi-piano-path h3 { line-height:1.15; letter-spacing:-.035em; }
.lpi-piano-path h1 { font-family:Georgia,serif; font-weight:500; font-size:clamp(2.5rem,5.5vw,4.5rem); max-width:850px; margin:.6rem 0 1.4rem; }
.lpi-piano-path h2 { font-size:1.85rem; margin:.5rem 0 1rem; }
.lpi-piano-path h3 { font-size:1.15rem; margin:1.5rem 0 .6rem; }
.lpi-piano-path .intro { max-width:790px; font-size:1.15rem; }
.lpi-piano-path .entry { border-left:4px solid var(--path-green); padding:1rem 1.4rem; margin:2rem 0; background:#edf1e9; max-width:850px; }
.lpi-piano-path .entry p { margin:.25rem 0; }
.lpi-piano-path .route { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; list-style:none; padding:0; margin:2rem 0 3rem; }
.lpi-piano-path .route a { height:100%; display:block; border:1px solid var(--path-line); padding:1rem; text-decoration:none; background:white; line-height:1.35; }
.lpi-piano-path .route a:hover { background:#f1e5c9; }
.lpi-piano-path .route span { display:block; font-size:.78rem; color:var(--path-muted); margin-bottom:.35rem; }
.lpi-piano-path .route strong { display:block; font-size:.96rem; }
.lpi-piano-path .step { background:white; border:1px solid var(--path-line); border-radius:12px; padding:2rem; margin:1.3rem 0; scroll-margin-top:1.5rem; }
.lpi-piano-path .step p { max-width:820px; }
.lpi-piano-path .score-meta { color:var(--path-muted); font-size:.95rem; margin-top:0; }
.lpi-piano-path .goal { background:var(--path-paper); padding:1rem 1.2rem; border-radius:8px; }
.lpi-piano-path .goal p { margin:.2rem 0; }
.lpi-piano-path .links { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.4rem; }
.lpi-piano-path .links a { border:1px solid var(--path-green); padding:.65rem 1rem; border-radius:5px; font-size:.92rem; font-weight:650; text-decoration:none; }
.lpi-piano-path .links .primary { background:var(--path-green); color:white; }
.lpi-piano-path .links a:hover { box-shadow:0 0 0 1px var(--path-green); }
.lpi-piano-path .next { font-size:.95rem; margin-top:1rem; }
.lpi-piano-path .routine { padding:1.5rem 0; max-width:850px; }
.lpi-piano-path details { border-top:1px solid var(--path-line); padding:1rem 0; font-size:.9rem; }
.lpi-piano-path summary { cursor:pointer; font-weight:700; }
.lpi-piano-path li { margin:.4rem 0; }
@media(max-width:700px) {
    .lpi-piano-path { font-size:17px; }
    .lpi-piano-path .route { grid-template-columns:1fr 1fr; }
    .lpi-piano-path .route li:last-child { grid-column:1/-1; }
    .lpi-piano-path .step { padding:1.3rem; }
    .lpi-piano-path .links { flex-direction:column; }
    .lpi-piano-path .links a { text-align:center; }
    .lpi-piano-path h2 { font-size:1.55rem; }
}
@media print {
    .lpi-piano-path .route, .lpi-piano-path .links, .lpi-piano-path .path-languages { display:none; }
    .lpi-piano-path .step { break-inside:avoid; border:0; border-top:1px solid #aaa; padding:1rem 0; }
    .lpi-piano-path { font-size:11pt; }
    .lpi-piano-path h1 { font-size:28pt; }
}
