@font-face{font-family:Montserrat;src:url("/assets/fonts/montserrat.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{--navy:#1b2e3c;--gold:#d9ac4e;--paper:#fff;--surround:#cdd9d5;--ink:#253743;--line:#d5ded9;--sage:#edf2ee}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--surround);color:var(--ink);font:400 16px/1.75 Montserrat,Arial,sans-serif;padding-bottom:76px}a{color:#15577f;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}.skip-link{position:absolute;top:-100px;left:12px;z-index:10;background:white;padding:12px}.skip-link:focus{top:12px}
.site-header,main,.site-footer{width:min(100%,1120px);margin-inline:auto}.site-header{background:var(--navy);color:#fff;padding:28px 36px 18px}.header-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-weight:800;font-size:32px;text-decoration:none;text-transform:uppercase;color:var(--gold);line-height:1.2}.nav,.social-links{display:flex;flex-wrap:wrap;gap:4px 22px}.nav{margin-top:14px}.nav a,.social-links a{padding:8px 0;text-decoration:none;color:#fff}.nav a[aria-current]{color:var(--gold);text-decoration:underline}.social-links{font-size:13px;gap:2px 18px}.social-links a{min-height:36px;display:inline-flex;align-items:center}.menu-toggle{display:none;background:none;color:white;border:1px solid #b4c1c4;padding:8px 14px;min-height:44px}
main{background:white;min-height:60vh}.hero{position:relative;min-height:330px;display:flex;align-items:center;padding:30px 36px;isolation:isolate}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.hero-signup{width:min(100%,560px);padding:20px 24px;background:#1b2e3ce8;border:4px solid white;color:white}.hero h1{font-size:30px;line-height:1.2;text-transform:uppercase;margin:0 0 18px}.hero label{color:white}.signup{max-width:600px}.signup label{display:block;font-weight:600;font-size:14px}.signup-fields{display:flex;gap:10px;margin-top:8px}.signup input{width:100%;min-width:0;padding:10px 12px;border:1px solid #788a90;background:white;color:var(--ink);min-height:48px}.signup button{padding:10px 22px;min-height:48px;border:1px solid var(--gold);background:var(--gold);color:var(--navy);font-weight:750;white-space:nowrap}.signup button:disabled{opacity:.6}.form-status:empty{display:none}.form-status{margin:12px 0 0}.form-status.error{color:#b02525;background:white;padding:8px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.start-here{background:var(--sage);padding:28px 36px;border-bottom:1px solid var(--line)}.start-here h2{font-size:18px;margin:0 0 8px}.start-here p{margin:0}.actions{display:flex;gap:24px;margin-top:10px}.actions a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}.home-intro,.page-content{padding:40px 36px}.home-intro p:first-child{margin-top:0}.page-content h1{font-size:32px;line-height:1.25;margin:0 0 28px}.page-content h2{font-size:25px;line-height:1.3;margin:28px 0 16px}.page-content h3{font-size:20px;line-height:1.4}.page-content img{max-width:100%;height:auto;display:block;margin:28px auto;width:min(100%,700px)}.page-content p{margin:16px 0}.page-content li{margin:12px 0}.page-content a{overflow-wrap:anywhere}
.releases{padding:28px 36px 36px}.release{margin-bottom:36px}.release h3{font-size:24px;line-height:1.35}.release p{font-size:18px;margin-top:0}.spotify{width:100%;height:600px;border:0;display:block;background:#f1f3f0;border-radius:8px}.join-band{padding:32px 36px;background:var(--sage);border-top:1px solid var(--line)}.page-content .join-band{margin:36px -36px -40px}.join-band h2{font-size:23px;margin:0 0 12px}.join-band p{max-width:760px}.page-content details,.song{border-top:1px solid var(--line)}summary{cursor:pointer;min-height:56px;padding:15px 10px;font-weight:650;line-height:1.5}details[open]>summary{color:#114d3c;background:var(--sage)}details>div{padding:0 16px 16px}.lyric-text{white-space:pre-wrap;overflow-wrap:break-word;line-height:1.85;padding:20px 16px}.lyric-album{padding-top:20px}#lyric-search{width:100%;min-height:48px;padding:10px 12px;border:1px solid #788a90;margin:8px 0}#lyric-results{font-size:14px}.lyric-album:has(.song:not([hidden])){display:block}.lyric-album[hidden],.song[hidden]{display:none}
.site-footer{background:var(--navy);padding:32px 36px;color:#fff;display:flex;flex-wrap:wrap;gap:10px 28px}.site-footer>a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);overflow-wrap:anywhere}.site-footer .social-links{width:100%}.persistent-actions{position:fixed;z-index:4;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1120px);display:flex;justify-content:center;gap:24px;background:var(--navy);padding:8px 18px;border-top:1px solid #8e9d9a}.persistent-actions a{color:var(--gold);font-weight:700;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px}
@media(max-width:700px){.site-header{padding:20px}.brand{font-size:23px}.menu-toggle{display:block}.nav{display:none;padding:14px 0}.nav.open{display:flex;flex-direction:column;gap:0}.nav a{display:block;min-height:48px;padding:10px 4px}.social-links{gap:0 16px;margin-top:12px;font-size:12px}.social-links a{min-height:40px}.hero{min-height:300px;padding:20px}.hero h1{font-size:24px;line-height:1.2;margin-bottom:14px}.hero-signup{padding:16px;border-width:3px}.signup-fields{flex-direction:column}.signup button{width:100%}.home-intro,.page-content{padding:28px 20px}.start-here{padding:24px 20px}.releases{padding:22px 20px 28px}.spotify{height:520px}.release h3{font-size:21px}.page-content h1{font-size:28px}.page-content h2{font-size:23px}.join-band{padding:28px 20px}.page-content .join-band{margin:28px -20px -28px}.site-footer{padding:28px 20px;gap:8px 20px}.persistent-actions{gap:10px;padding-inline:8px}.persistent-actions a{font-size:14px;padding-inline:10px}body{font-size:15px}.lyric-text{padding:16px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.contact-band{padding-top:32px}.contact-form{max-width:600px;display:grid;gap:8px}.contact-form label{font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:10px 12px;min-height:48px;border:1px solid #788a90;color:var(--ink);background:white}.contact-form button{justify-self:start;margin-top:8px;padding:10px 22px;min-height:48px;border:1px solid var(--gold);background:var(--gold);color:var(--navy);font-weight:700}
