:root{--navy:#0f1f3d;--bav:#2558b8;--cream:#f6f1e7;--cream2:#efe7d6;--ink:#26303d;--muted:#5d6874;--oak:#b5813e;--gold:#e5b95a;--r:16px;--max:1200px;--fd:"Bricolage Grotesque","Archivo Black","Segoe UI",Arial,sans-serif;--fb:system-ui,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--fb);color:var(--ink);background:var(--cream);line-height:1.6}
img{max-width:100%;height:auto;display:block;border-radius:var(--r)}a{color:var(--bav)}h1,h2,h3,.h4{font-family:var(--fd);color:var(--navy);line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,6vw,4rem)}h2{font-size:clamp(1.6rem,3.5vw,2.4rem)}.h4{font-size:1.1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}.narrow{max-width:720px}.section{padding:56px 0}.cream2{background:var(--cream2)}
.navy{background:var(--navy);color:#e9eef8}.navy h2{color:#fff}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
.top{background:var(--navy);position:sticky;top:0;z-index:5}.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap}
.brand{font-family:var(--fd);font-weight:800;font-size:1.4rem;color:#fff;text-decoration:none}.brand span{color:var(--gold)}.foot .brand{color:var(--navy)}.foot .brand span{color:var(--oak)}
nav{display:flex;gap:4px;flex-wrap:wrap}nav a{color:#e9eef8;text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:600;font-size:.95rem}nav a:hover,nav a[aria-current]{background:rgba(255,255,255,.12)}
.menu{display:none;background:none;border:1px solid #fff5;color:#fff;border-radius:8px;padding:8px 12px;font-weight:600}
@media(max-width:860px){.menu{display:block}nav{display:none;width:100%;flex-direction:column;padding-bottom:10px}nav.open{display:flex}}
.hero{background:linear-gradient(rgba(15,31,61,.72),rgba(15,31,61,.82)),var(--bg) center/cover;color:#fff;padding:90px 0}.hero.small{padding:60px 0}.hero h1{color:#fff}.lead{font-size:1.25rem;max-width:720px}.kicker{color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.btn{display:inline-block;background:var(--oak);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem}.btn.big{padding:14px 24px}.btn.ghost{background:transparent;border:2px solid #fff}.btn:hover{filter:brightness(1.08)}
.two,.grid2,.grid3,.grid3.foot{display:grid;gap:24px}@media(min-width:800px){.two,.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border-radius:var(--r);padding:20px;box-shadow:0 8px 24px rgba(15,31,61,.08)}.card img{margin-bottom:12px}.meta{color:var(--muted);font-weight:600}
.prose{max-width:820px}.toc{padding:14px 18px;font-size:.95rem}.callout{background:#fff;border-left:5px solid var(--oak);padding:14px 18px;border-radius:8px;font-weight:600}
.tablewrap{overflow-x:auto;background:#fff;border-radius:var(--r)}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e6dcc6;vertical-align:top}thead th{background:var(--navy);color:#fff;position:sticky;top:0}
.cols{columns:2}.songs{list-style:none;padding:0;display:grid;gap:10px}@media(min-width:800px){.songs{grid-template-columns:1fr 1fr}}.songs li{background:#fff;padding:14px;border-radius:12px}.songs span{display:block;color:var(--muted)}
.cols2{display:grid;gap:20px}@media(min-width:800px){.cols2{grid-template-columns:1fr 1fr}}.block{background:#fff;padding:20px;border-radius:var(--r)}.links{padding-left:18px}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:14px}.filters label{display:flex;flex-direction:column;font-weight:600}
input,select,textarea{font:inherit;padding:10px;border:1px solid #b9ad94;border-radius:10px;background:#fff;width:100%}.kform{display:grid;gap:12px}.kform label{font-weight:600;display:grid;gap:4px}
.hp{position:absolute;left:-5000px}.status{font-weight:700}.status.err{color:#b3261e}.status.ok{color:#1f6b3e}
.foot{background:var(--cream2);padding:40px 0 20px;margin-top:0}.foot .grid3{display:grid;gap:24px}@media(min-width:800px){.foot .grid3{grid-template-columns:1.2fr 1fr 1fr}}.fam{list-style:none;padding:0;columns:2;font-size:.95rem}.small{font-size:.85rem;color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}figcaption{font-size:.85rem;color:var(--muted)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
