:root{--cream:#f7f3ea;--cream-2:#efe7d3;--paper:#fff;--ink:#171724;--ink-2:#1e1e30;--ink-soft:#3a3a4d;--ink-mute:#6b6580;--amber:#e8a33d;--amber-deep:#b97f1e;--amber-pale:#fbefd2;--amber-line:#f0d9a0;--line:#e3dcc8;--rule:#c9bfa4;--serif:Georgia,"Times New Roman","Nimbus Roman",serif;--sans:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--amber-deep);text-decoration:none}a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.2;color:var(--ink);margin:0 0 .6em}h1{font-size:clamp(2rem,4.5vw,3.1rem);letter-spacing:-.01em}h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:1.8em}h3{font-size:1.3rem;margin-top:1.4em}p{margin:0 0 1.1em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.container{max-width:1120px;margin:0 auto;padding:0 22px}.container.narrow{max-width:780px}.section{padding:56px 0}.section.dark{background:var(--ink-2)}.section.dark,.section.dark h1,.section.dark h2,.section.dark h3{color:var(--cream)}.section.dark a{color:var(--amber)}.gold-rule{border:0;border-top:1px solid var(--rule);margin:2.2em 0;position:relative}.gold-rule:after{content:"♪";position:absolute;left:50%;top:-.72em;transform:translateX(-50%);background:var(--cream);color:var(--amber-deep);padding:0 12px;font-size:.85rem}.section.dark .gold-rule:after{background:var(--ink-2)}.kicker{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:.7em}.lede{font-family:var(--serif);font-size:1.25rem;line-height:1.6;color:var(--ink-soft)}.site-header{background:var(--ink);color:var(--cream);border-bottom:3px solid var(--amber);position:-webkit-sticky;position:sticky;top:0;z-index:50}.site-header .bar{gap:18px;padding:14px 22px;max-width:1120px;margin:0 auto;flex-wrap:wrap}.brand,.site-header .bar{display:flex;align-items:center}.brand{gap:12px;color:var(--cream)}.brand,.brand:hover{text-decoration:none}.brand:hover{color:var(--amber-pale)}.brand-name{font-family:var(--serif);font-size:1.55rem;font-weight:700;letter-spacing:.02em}.brand-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);opacity:.95}.brand-logo{display:block;flex:none;overflow:hidden;background:var(--cream-2);border:1px solid rgba(232,163,61,.45);border-radius:10px}.brand-logo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}.brand-logo.header{width:120px;height:44px}.brand-logo.footer{width:84px;height:32px}.site-nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}.site-nav a{color:var(--cream);font-size:.92rem;font-weight:500;padding:8px 12px;border-radius:999px;text-decoration:none}.site-nav a:hover{background:rgba(232,163,61,.22);color:var(--amber-pale);text-decoration:none}.site-nav a.active{background:var(--amber);color:var(--ink)}.btn:focus-visible,.site-nav a:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.site-footer{background:var(--ink);color:#cfc9dc;margin-top:0}.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:28px;gap:28px;padding:48px 22px 20px;max-width:1120px;margin:0 auto}.site-footer h3{color:var(--amber);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-family:var(--sans);font-weight:600}.site-footer a{color:#cfc9dc;font-size:.93rem;display:block;padding:3px 0}.site-footer a:hover{color:var(--amber-pale)}.site-footer .fineprint{border-top:1px solid rgba(232,163,61,.4);padding:18px 22px 26px;max-width:1120px;margin:0 auto;font-size:.85rem;color:#9b94ad}.site-footer .fineprint a{display:inline;color:var(--amber)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:20px;gap:20px;margin:1.6em 0}.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:22px 22px 18px;color:var(--ink);box-shadow:0 1px 0 rgba(23,23,36,.04)}.card:hover{border-color:var(--amber);text-decoration:none;box-shadow:0 6px 22px rgba(23,23,36,.1)}.card h3{margin:0 0 .35em;font-size:1.22rem}.card p{margin:0 0 .6em;font-size:.95rem;color:var(--ink-mute)}.card .meta{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-deep);font-weight:600}.card .glyph{font-size:1.7rem;color:var(--amber-deep);line-height:1;display:block;margin-bottom:10px}.btn{display:inline-block;background:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:11px 24px;font-family:var(--sans);font-size:.95rem;font-weight:600;cursor:pointer}.btn,.btn:hover{color:var(--cream);text-decoration:none}.btn:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn.gold{background:var(--amber);border-color:var(--amber);color:var(--ink)}.btn.gold:hover{background:var(--amber-deep);border-color:var(--amber-deep);color:var(--cream)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--cream)}.btn:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-weight:600;font-size:.92rem;margin:14px 0 6px}input[type=date],input[type=email],input[type=number],input[type=text],input[type=time],select,textarea{width:100%;padding:11px 13px;font:inherit;font-size:1rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--amber);outline-offset:1px}fieldset{border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin:0 0 18px}legend{font-family:var(--serif);font-weight:600;padding:0 8px}.tool-shell{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:26px;margin:1.6em 0}.tool-shell h2{margin-top:0}.tool-result{background:var(--cream-2);border:1px solid var(--amber-line);border-left:4px solid var(--amber);border-radius:6px;padding:18px 20px;margin-top:18px}.tool-result h3{margin-top:0}.tool-note{font-size:.88rem;color:var(--ink-mute)}.tool-guide{margin-top:1.6em}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chip{border:1px solid var(--rule);background:var(--paper);border-radius:999px;padding:6px 14px;font-size:.9rem;cursor:pointer;font-family:var(--sans)}.chip.selected,.chip:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}.score-bar{height:10px;background:var(--cream-2);border-radius:999px;overflow:hidden;margin:8px 0 4px}.score-bar>span{display:block;height:100%;background:var(--amber)}.data-table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem;display:block;overflow-x:auto}.data-table td,.data-table th{border:1px solid var(--line);padding:9px 12px;text-align:left}.data-table th{background:var(--cream-2);font-family:var(--serif)}.breadcrumbs{font-size:.88rem;margin:26px 0 10px}.article-meta,.breadcrumbs,.breadcrumbs a{color:var(--ink-mute)}.article-meta{font-size:.9rem;margin-bottom:1.4em}.tag{display:inline-block;background:var(--amber-pale);color:var(--amber-deep);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:999px}.article-body{font-size:1.05rem}.article-body>p:first-of-type{font-family:var(--serif);font-size:1.22rem;line-height:1.6;color:var(--ink-soft);border-left:3px solid var(--amber);padding-left:16px}.article-body ol,.article-body ul{margin:0 0 1.1em;padding-left:1.4em}.article-body li{margin-bottom:.45em}.article-body blockquote{margin:1.4em 0;padding:14px 20px;background:var(--cream-2);border-left:3px solid var(--amber);font-family:var(--serif);font-style:italic;color:var(--ink-soft)}.article-body table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem;display:block;overflow-x:auto}.article-body td,.article-body th{border:1px solid var(--line);padding:9px 12px;text-align:left}.article-body th{background:var(--cream-2);font-family:var(--serif)}.disclaimer{padding:14px 18px;font-size:.9rem;color:#5d3a08;margin:1.8em 0}.answer-box,.disclaimer{background:var(--amber-pale);border:1px solid var(--amber);border-radius:6px}.answer-box{padding:16px 20px;margin:1.4em 0}.prev-next{display:flex;justify-content:space-between;gap:16px;margin:2.4em 0;flex-wrap:wrap}.prev-next a{font-weight:600}.related h2{margin-top:0}.hub-hero{padding:64px 0 40px;text-align:center}.hub-hero .paw{font-size:2.6rem;color:var(--amber-deep)}.index-list{column-count:3;column-gap:28px;margin:1.4em 0}.index-list a{display:block;padding:5px 0;font-size:.97rem;page-break-inside:avoid;break-inside:avoid}.hero{padding:72px 0 54px;text-align:center}.hero .paw{font-size:3rem;display:block;margin-bottom:12px}.search-box-wrap{max-width:560px;margin:22px auto 0;position:relative;text-align:left}.search-box-wrap input{flex:1 1}.search-results{list-style:none;margin:6px 0 0;padding:6px 0;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(23,23,36,.12)}.search-results a{display:block;padding:8px 16px;color:var(--ink)}.search-results a:hover{background:var(--cream-2);text-decoration:none}.search-results strong{font-family:var(--serif);display:block}.search-results span{font-size:.82rem;color:var(--ink-mute)}.search-empty{font-size:.9rem;color:var(--ink-mute);margin-top:8px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px}.faq-list{text-align:left;max-width:780px;margin:0 auto}.faq-list h3{font-size:1.15rem;margin-top:1.2em}.chord-diagram,.piano-diagram{overflow-x:auto}.note-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.note-chip{min-width:44px;text-align:center;border:1px solid var(--rule);background:var(--paper);border-radius:8px;padding:8px 10px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:var(--sans)}.note-chip:hover{border-color:var(--amber)}.note-chip.selected{background:var(--ink);color:var(--amber);border-color:var(--ink)}@media (max-width:720px){.two-col{grid-template-columns:1fr}.index-list{column-count:2}.tool-shell{padding:18px}body{font-size:16px}}@media (max-width:480px){.index-list{column-count:1}}