/*
 * KILL THE FALL — STYLES
 * This file carries the current black-and-white site design.
 * Main colors: --bg (black), --paper (off-white), --muted (gray).
 * Sections near the end override earlier rules from the original site revisions.
 * For basic changes, edit only these variables; use a backup before major layout edits.
 */
:root{--bg:#100f0f;--paper:#e8e5d9;--red:#ed4a32;--muted:#bbb5a8;color:var(--paper);background:var(--bg);font:16px/1.45 Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit}
a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
[hidden]{display:none!important}
.mast{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px clamp(20px,5vw,80px);border-bottom:1px solid #ffffff60}
.mast a{text-decoration:none}
.mini-logo{font-size:2rem;font-weight:1000;letter-spacing:-.14em;line-height:1}
.mini-logo span{color:var(--red);padding-left:5px}
.mast nav{display:flex;gap:clamp(12px,3vw,48px);text-transform:uppercase;font-weight:900;letter-spacing:.12em;font-size:.82rem}
.mast nav a:hover,footer a:hover{color:var(--red)}
.hero{min-height:790px;height:min(900px,100svh);position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.photo,.photo img,.photo-shade{position:absolute;inset:0;width:100%;height:100%}
.photo img{object-fit:cover;object-position:center 48%;filter:grayscale(1) contrast(1.23)}
.photo-shade{background:linear-gradient(180deg,#100f0f99 0%,transparent 26%,#100f0f33 43%,#100f0ff2 100%),linear-gradient(90deg,#100f0f80,transparent 70%)}
.hero-content{position:relative;z-index:1;padding:0 clamp(20px,5vw,80px) 92px}
.location,.index,.kicker{font-weight:900;letter-spacing:.2em;font-size:.78rem}
.location{background:var(--red);display:inline-block;padding:9px 12px;color:var(--bg);margin:0 0 26px}
.hero h1,.section-top h2,.connect-section h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:900;letter-spacing:-.055em;line-height:.82;text-transform:uppercase}
.hero h1{font-size:clamp(6.5rem,16vw,17.5rem);margin:0 0 34px;max-width:1250px}
.hero-tail{display:flex;align-items:end;justify-content:space-between;gap:24px}
.hero-tail p{font-size:clamp(1.1rem,1.7vw,1.5rem);font-weight:700;max-width:420px;margin:0}
.hero-cta,.primary-link{display:flex;align-items:center;justify-content:space-between;gap:60px;background:var(--red);color:var(--bg);padding:19px 24px;text-decoration:none;font-weight:900;letter-spacing:.1em;white-space:nowrap}
.hero-cta:hover,.primary-link:hover{background:var(--paper)}
.credit{position:absolute;bottom:15px;right:clamp(20px,5vw,80px);z-index:1;font-size:.72rem;text-decoration:none;color:#d1ccc0}
.credit:hover{text-decoration:underline}
.ticker{display:flex;justify-content:space-around;gap:25px;overflow:hidden;white-space:nowrap;background:var(--red);color:var(--bg);padding:15px 0;font-weight:900;letter-spacing:.13em;font-size:.83rem}
.ticker span{flex:none}
section:not(.hero){padding:100px clamp(20px,5vw,80px)}
.section-top{display:flex;align-items:start;justify-content:space-between;gap:30px;border-top:1px solid #73706b;padding-top:23px;margin-bottom:65px}
.index{color:var(--red);white-space:nowrap}
.section-top h2{font-size:clamp(4.5rem,9vw,10rem);margin:0;text-align:right}
.release{display:grid;grid-template-columns:minmax(260px,1fr) 1fr;max-width:1000px;gap:clamp(35px,8vw,130px);align-items:center;margin:auto}
.release-art{aspect-ratio:1;background:var(--red);color:var(--bg);display:flex;align-items:center;padding:8%;transform:rotate(-2deg);box-shadow:18px 18px 0 #272422}
.release-art>span{font-family:Impact,'Arial Narrow',Arial,sans-serif;line-height:.79;letter-spacing:-.055em;font-size:clamp(4rem,10vw,10rem)}
.art-dot{color:var(--paper)}
.release-copy h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(4.2rem,8vw,9rem);line-height:.9;letter-spacing:-.04em;margin:12px 0 35px;overflow-wrap:anywhere}
.release-copy .kicker{color:var(--muted)}
.primary-link{display:inline-flex;min-width:230px}
.link-line{display:flex;flex-wrap:wrap;gap:14px;margin:95px auto 0;max-width:1000px}
.link-line a,.connect-links a{border:1px solid #77716c;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.1em;padding:16px 20px}
.link-line a:hover,.connect-links a:hover{background:var(--paper);color:var(--bg)}
.shows-section{background:var(--paper);color:var(--bg)}
.shows-section .section-top{border-color:#87847d}
.shows-section .index{color:#a9281a}
.show{display:grid;grid-template-columns:1fr 2fr 1.4fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid #9a978f;text-decoration:none;text-transform:uppercase;font-weight:900}
.show:hover{color:#a9281a}
.no-shows{font:clamp(1.3rem,2.5vw,2.3rem)/1.25 Georgia,serif;max-width:650px;margin:0}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.about-section .section-top{display:block;margin:0}
.about-section .section-top h2{text-align:left;margin-top:25px}
.about-section>p{font-size:clamp(1.45rem,2.5vw,2.7rem);line-height:1.25;margin:30px 0 0;max-width:710px;font-weight:700}
.connect-section{background:var(--red);color:var(--bg)}
.connect-section .index{color:var(--bg)}
.connect-section h2{font-size:clamp(5rem,12vw,14rem);margin:50px 0 70px}
.connect-section h2 span{color:var(--paper)}
.connect-links{display:flex;flex-wrap:wrap;gap:12px}
.connect-links a{border-color:var(--bg)}
.connect-links a:hover{background:var(--bg);color:var(--paper)}
.booking{display:inline-block;margin-top:35px;font-weight:900;text-underline-offset:5px}
footer{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;padding:35px clamp(20px,5vw,80px);font-size:.77rem;letter-spacing:.12em;font-weight:900}
footer a{text-decoration:none}
@media(max-width:760px){.mast{padding:18px 20px}
.mast nav{gap:12px;font-size:.7rem}
.hero{min-height:650px;height:88svh}
.hero-content{padding-bottom:90px}
.hero h1{font-size:clamp(5.5rem,19vw,9rem)}
.hero-tail{align-items:start;flex-direction:column}
.hero-cta{width:100%}
.credit{left:20px;right:20px}
.ticker{justify-content:start}
section:not(.hero){padding:75px 20px}
.section-top{display:block;margin-bottom:45px}
.section-top h2{text-align:left;margin-top:20px}
.release{grid-template-columns:1fr}
.release-art{max-width:470px;width:90%;margin:0 auto}
.release-art>span{font-size:clamp(5rem,20vw,9rem)}
.release-copy h3{font-size:clamp(5rem,14vw,8rem)}
.link-line{margin-top:60px}
.about-section{display:block}
.about-section>p{margin-top:50px}
.show{grid-template-columns:1fr 1fr}
.connect-section h2{font-size:17vw}
}
@media(max-width:420px){.mast nav a:nth-child(3){display:none}
.hero h1{font-size:18vw}
}


/* Header uses the band's supplied image, including its own wordmark. */
.mast{position:relative;background:var(--bg);border-bottom:0}

.hero{height:auto;min-height:0;display:block;overflow:visible}

.photo{position:relative;aspect-ratio:1922 / 1026;height:auto}

.photo img{object-fit:contain;object-position:center;filter:none}

.photo-shade{display:none}

.hero-content{padding:30px clamp(20px,5vw,80px) 55px;display:flex;justify-content:space-between;align-items:center;gap:30px}

.hero h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;border:0;margin:-1px}

.hero .location{margin:0;flex:none}

.hero-tail{display:flex;align-items:center;justify-content:space-between;gap:30px;flex:1}

.hero-tail p{font-size:clamp(1rem,1.4vw,1.35rem)}

.hero-cta{flex:none}

@media(max-width:850px){.hero-content{align-items:flex-start;flex-direction:column}
.hero-tail{align-items:flex-start;flex-direction:column;width:100%}
.hero-cta{width:100%}
}


.logo-window{display:block;position:relative;width:160px;height:58px;overflow:hidden;flex:none}

.logo-window img{display:block;width:160px;height:160px;max-width:none;position:absolute;left:0;top:-51px}

.about-body p{font-size:clamp(1.45rem,2.5vw,2.7rem);line-height:1.25;margin:30px 0 50px;max-width:710px;font-weight:700}

.about-body img{display:block;width:min(100%,520px);height:auto;filter:grayscale(1);border:1px solid #555}

@media(max-width:760px){.about-body p{margin-top:50px}
.about-body img{width:100%}
}


/* Identity: ink black, photocopy white, and the band's handwritten mark. */
:root{--bg:#0a0a0a;--paper:#efeee9;--red:#efeee9;--muted:#aaa8a2}

.mast{border-bottom:1px solid #444;padding-top:16px;padding-bottom:16px}

.mast nav a:hover,footer a:hover{color:#a9a7a1;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

.hero .location{background:transparent;color:var(--paper);border:1px solid #777;padding:9px 12px}

.hero-cta,.primary-link{background:var(--paper);color:var(--bg);border:1px solid var(--paper)}

.hero-cta:hover,.primary-link:hover{background:var(--bg);color:var(--paper)}

.ticker{background:var(--paper);color:var(--bg);border-top:2px solid var(--paper);border-bottom:2px solid var(--paper)}

.section-top .index{color:var(--paper)}

.section-top h2{letter-spacing:-.035em}

.release-art{background:#050505;box-shadow:15px 15px 0 #333;border:1px solid #555;transform:rotate(-1deg);padding:0;overflow:hidden}

.release-art img{width:100%;height:100%;object-fit:cover;display:block}

.shows-section .index{color:#111}

.show:hover{color:#555}

.about-body img{filter:none;border:0;max-width:600px}

.connect-section{background:var(--paper);color:var(--bg)}

.connect-section .index{color:var(--bg)}

.connect-section h2 span{color:var(--bg)}

.connect-links a{border-color:#111}

.connect-links a:hover{background:var(--bg);color:var(--paper)}

/* Release artwork and discography */
.covers-section{background:#181818}
.cover-stage{display:flex;align-items:center;justify-content:center;gap:clamp(12px,4vw,60px)}
.cover-link{position:relative;display:block;width:min(100%,560px);aspect-ratio:1;overflow:hidden;border:1px solid #666}
.cover-link img{display:block;width:100%;height:100%;object-fit:cover}
.cover-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#08080808 10%,#050505e8 100%);display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:clamp(20px,5vw,46px);opacity:0;transition:opacity .25s;color:white}
.cover-link:hover .cover-overlay,.cover-link:focus-visible .cover-overlay{opacity:1}
.cover-overlay strong{font:clamp(2rem,5vw,4rem)/.95 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-.02em}
.cover-overlay span{font-size:1.15rem;font-weight:900}
.cover-overlay em{font-size:.85rem;font-style:normal;font-weight:900;letter-spacing:.12em;margin-top:15px}
.cover-arrow{background:transparent;color:var(--paper);border:1px solid #777;font-size:1.8rem;width:60px;height:60px;cursor:pointer;flex:none}
.cover-arrow:hover,.cover-arrow:focus-visible{background:var(--paper);color:var(--bg)}
.cover-bottom{max-width:730px;margin:25px auto 0;display:flex;justify-content:space-between;gap:20px;font-weight:900;letter-spacing:.12em}
.cover-bottom a{text-underline-offset:5px}
.discography-intro{padding:90px clamp(20px,5vw,80px) 60px;border-bottom:1px solid #555}
.discography-intro h1{font:clamp(5rem,12vw,13rem)/.85 Impact,'Arial Narrow',sans-serif;letter-spacing:-.035em;margin:25px 0;overflow-wrap:anywhere}
.discography-intro p{font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.release-list{padding:0 clamp(20px,5vw,80px)}
.album-entry{scroll-margin-top:20px;display:grid;grid-template-columns:minmax(210px,380px) minmax(0,1fr);gap:clamp(24px,6vw,95px);padding:80px 0;border-bottom:1px solid #555;align-items:start}
.album-entry:target{background:#202020;outline:20px solid #202020}
.album-cover{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.album-meta{font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#b6b3ab;margin:0 0 13px;font-size:.82rem}
.album-details h2{font:clamp(3rem,6vw,7rem)/.94 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:0 0 38px;overflow-wrap:anywhere}
.album-details h3{font-size:.78rem;letter-spacing:.2em;margin:0 0 12px}
.album-details ol{padding:0;list-style:none;counter-reset:track;max-width:620px;margin:0 0 30px}
.album-details li{counter-increment:track;padding:9px 0;border-bottom:1px solid #444;font-weight:700;display:flex;gap:25px}
.album-details li:before{content:counter(track,decimal-leading-zero);color:#a3a09a;font-size:.8rem;font-weight:900;min-width:25px}
.album-credit{color:#bbb9b3;font-size:.9rem}
.album-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.album-links a{border:1px solid #aaa;padding:13px 16px;text-decoration:none;font-size:.8rem;font-weight:900;letter-spacing:.06em}
.album-links a:hover{background:var(--paper);color:var(--bg)}
@media(max-width:760px){.cover-arrow{width:40px;height:48px;font-size:1.3rem}
.cover-stage{gap:8px}
.cover-overlay{opacity:1;background:linear-gradient(180deg,transparent 40%,#050505df)}
.cover-overlay strong{font-size:clamp(1.45rem,5vw,2.5rem)}
.cover-overlay em{margin-top:4px}
.album-entry{grid-template-columns:1fr;padding:55px 0}
.album-cover{max-width:440px}
.discography-intro{padding-top:60px}
.discography-intro h1{font-size:clamp(4.4rem,17vw,7rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.cover-overlay{transition:none}
}


.catalog-links{display:flex;flex-wrap:wrap;gap:12px;padding:26px clamp(20px,5vw,80px);border-bottom:1px solid #555}
.catalog-links a{border:1px solid #888;padding:12px 15px;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.06em;font-size:.8rem}
.catalog-links a:hover{background:var(--paper);color:var(--bg)}

.mast nav [aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.video-list{padding:70px clamp(20px,5vw,80px) 100px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 30px}
.video-card{min-width:0}
.video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:1px solid #666;background:#181818}
.video-card h2{font:clamp(1.6rem,3vw,2.6rem)/1 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.01em;margin:18px 0 0}
.videos-page .discography-intro a{text-underline-offset:6px}
@media(max-width:760px){.mast{flex-wrap:wrap;gap:12px}
.mast nav{width:100%;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}
.video-list{grid-template-columns:1fr;padding:40px 20px 75px;gap:48px}
}
@media(max-width:420px){.mast nav a:nth-child(3){display:inline}
}


/* Keep the featured title and its other appearances intact at narrow widths. */
#latest-title{white-space:nowrap;overflow-wrap:normal;font-size:clamp(2.4rem,5vw,6rem)}

#forgiveness .album-details h2{white-space:nowrap;overflow-wrap:normal;font-size:clamp(2.4rem,5vw,5.5rem)}

#cover-title{white-space:nowrap;overflow-wrap:normal;font-size:clamp(1.15rem,4vw,3rem)}


.contact-block{border-top:1px solid #777;margin-top:70px;padding-top:32px;max-width:720px}
.contact-block h3{font:clamp(2.6rem,6vw,5rem)/.9 Impact,'Arial Narrow',sans-serif;letter-spacing:-.02em;margin:0 0 32px}
.contact-block form{display:flex;flex-direction:column;gap:12px}
.contact-block label{font-weight:900;letter-spacing:.12em;font-size:.8rem;margin-top:10px}
.contact-block input,.contact-block textarea{width:100%;border:1px solid #777;border-radius:0;background:#f9f9f5;color:#111;font:1rem/1.4 Arial,Helvetica,sans-serif;padding:14px;resize:vertical}
.contact-block input:focus-visible,.contact-block textarea:focus-visible{outline:3px solid #555;outline-offset:2px}
.contact-block button{align-self:flex-start;margin-top:18px;background:#111;color:#fff;border:1px solid #111;padding:16px 24px;font-weight:900;letter-spacing:.09em;cursor:pointer}
.contact-block button:hover:not(:disabled){background:#fff;color:#111}
.contact-block button:disabled{opacity:.55;cursor:not-allowed}
.contact-status{font-size:.9rem;margin:0}


/* News entries are driven by posts.js; no layout edits are needed to publish one. */
.news-list{max-width:900px;padding:55px clamp(20px,5vw,80px) 100px}
.news-post{padding:30px 0 60px;border-bottom:1px solid #555}
.news-post time{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#aaa}
.news-post h2{font:clamp(2.6rem,6vw,5rem)/.95 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;margin:12px 0 24px}
.news-post p{font-size:1.12rem;line-height:1.6}
.news-post img{max-width:100%;height:auto;display:block;margin:22px 0}


/* Dedicated Shows page and a clear link from the homepage. */
.shows-cta{display:inline-block;margin-top:28px;padding:15px 22px;border:2px solid currentColor;text-decoration:none;font-weight:900;letter-spacing:.1em}
.shows-cta:hover{background:#111;color:#fff}
.shows-list{padding:55px clamp(20px,5vw,80px) 110px;max-width:1100px}
.show-entry{border-bottom:1px solid #666;padding:35px 0 45px}
.show-entry h2{font:clamp(2.5rem,6vw,5.5rem)/.95 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;margin:10px 0;overflow-wrap:anywhere}
.show-entry p{margin:8px 0;font-weight:700}
.show-entry .show-date{letter-spacing:.16em;text-transform:uppercase;color:#bbb}
.show-entry .sample-label{font-size:.75rem;letter-spacing:.12em;color:#aaa;border:1px solid #777;padding:8px 12px;display:inline-block}
.show-entry a{display:inline-block;margin-top:20px;padding:12px 16px;border:1px solid #888;text-decoration:none;font-weight:900}
.show-entry a:hover{background:var(--paper);color:var(--bg)}
