:root{
  --red:#890101;
  --red-dark:#5e0000;
  --red-deep:#430000;
  --orange:#f27a1a;
  --orange-dark:#c9580d;
  --brown:#563a2b;
  --cream:#fbf5e9;
  --paper:#fffefb;
  --ink:#24201d;
  --muted:#6c625b;
  --line:#e5d8ca;
  --shadow:0 16px 42px rgba(40,0,0,.28);
  --max:1000px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Tahoma,Arial,Helvetica,sans-serif;
  line-height:1.6;
  background:#890101 url('../img/page-texture.png') center top/400px 400px repeat fixed;
}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.container{width:min(calc(100% - 48px),920px);margin-inline:auto}
.section{padding:76px 0}
.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;background:#fff;padding:10px 14px;border-radius:6px}.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.page-shell{
  width:min(100%,var(--max));
  margin:0 auto 70px;
  background:var(--paper);
  box-shadow:var(--shadow);
  min-height:100vh;
}

.site-header{position:relative;background:#fff}
.heritage-hero{position:relative;overflow:hidden;aspect-ratio:5/2;background:#29140e}
.heritage-hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.nav-wrap{
  position:relative;
  z-index:30;
  min-height:46px;
  padding:0 14px;
  display:flex;
  align-items:flex-end;
  background:linear-gradient(#fff 0,#fff 9px,#6a3e29 9px,#4a2b20 100%);
  border-bottom:4px solid var(--orange);
}
.mainnav{display:flex;align-items:flex-end;gap:8px;min-height:46px}
.mainnav a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:37px;
  padding:0 20px;
  border-radius:10px 10px 0 0;
  background:rgba(137,1,1,.9);
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:.025em;
  transition:background .2s ease,transform .2s ease;
}
.mainnav a:hover,.mainnav a.active{background:var(--orange);color:#1f130e;transform:translateY(-2px)}
.mobile-brand{display:none}
.nav-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.nav-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:#fff;margin:5px;border-radius:4px}

.kicker,.section-title>span{
  display:block;
  margin:0 0 8px;
  color:var(--orange-dark);
  font-family:"Trebuchet MS",Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.15em;
}
h1,h2,h3{font-family:"Cooper Black",Georgia,"Times New Roman",serif;color:var(--red);line-height:1.08}
h1{font-size:clamp(38px,5vw,58px);margin:0 0 22px}
h2{font-size:clamp(33px,4vw,48px);margin:0 0 24px}
h3{margin:0}
.lead{font-size:18px;color:#4f4741;max-width:650px;margin:0}

.welcome{display:grid;grid-template-columns:1.5fr .65fr;gap:58px;align-items:center;padding-top:64px;padding-bottom:70px}
.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 20px;border-radius:5px;text-decoration:none;font-weight:700;font-family:"Trebuchet MS",Arial,sans-serif}
.button.primary{color:#fff;background:linear-gradient(#f49455,#ea6817);box-shadow:inset 0 1px rgba(255,255,255,.3)}
.button.primary:hover{background:linear-gradient(#fb9e61,#df5c0c)}
.button.secondary{color:var(--red);background:#fff;border:1px solid #d9b8a0}
.button.secondary:hover{border-color:var(--orange);color:var(--orange-dark)}
.quick-card{padding:25px 24px;border:1px solid #d7b5a7;border-radius:5px;background:#fffaf4;box-shadow:0 8px 24px rgba(91,42,20,.08)}
.quick-card strong{display:block;color:var(--red);font:700 23px "Cooper Black",Georgia,serif}
.quick-card span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.quick-card div{height:1px;background:var(--line);margin:16px 0}

.band-section{background:linear-gradient(180deg,#faf6ef,#f3e7dc);border-top:1px solid #ead7ca;border-bottom:1px solid #ead7ca}
.section-title{margin-bottom:34px}
.section-title h2{margin-bottom:0}
.member-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.member-card{background:#fff;border:1px solid #dec7b8;border-radius:7px;overflow:hidden;box-shadow:0 5px 14px rgba(69,35,20,.08);transition:transform .22s ease,box-shadow .22s ease}
.member-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(69,35,20,.13)}
.member-photo{height:235px;overflow:hidden;background:linear-gradient(#8f6a53,#513726)}
.member-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 7px rgba(0,0,0,.25))}
.member-copy{padding:16px 14px 18px;border-top:5px solid var(--red)}
.member-card h3{font-size:19px;margin-bottom:8px}
.member-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}

.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}
.story-image{border:7px solid #fff;outline:1px solid #d3b49f;box-shadow:0 9px 25px rgba(63,36,20,.16);transform:rotate(-1deg)}
.story-image img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 35%}
.story-copy>p:not(.kicker){font-size:15px;color:#514944;margin:0 0 15px;text-align:justify}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:28px}
.timeline span{padding:12px 8px;background:#fbf1e6;border-top:4px solid var(--orange);font-size:10px;text-transform:uppercase;text-align:center;color:#71645c}
.timeline b{display:block;color:var(--red);font:700 21px "Cooper Black",Georgia,serif;margin-bottom:3px}

.music-section{background:linear-gradient(180deg,var(--red-dark),var(--red-deep));color:#fff;border-top:6px solid var(--orange)}
.section-title.light>span{color:#ffb56f}
.section-title.light h2{color:#fff;text-shadow:0 2px rgba(0,0,0,.12)}
.music-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:start}
.album{display:grid;gap:22px}
.album-art{background:#fff;padding:8px;border-radius:4px;box-shadow:0 10px 28px rgba(0,0,0,.25);transform:rotate(-1deg)}
.album-art img{width:100%;aspect-ratio:1;object-fit:cover}
.album-copy h3{color:#ffb060;font-size:27px;margin-bottom:8px}
.album-copy p{margin:0;color:#f0ddd7;font-size:14px}
.tracklist{list-style:none;margin:0;padding:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:5px;overflow:hidden}
.tracklist li+li{border-top:1px solid rgba(255,255,255,.13)}
.tracklist button{width:100%;border:0;background:transparent;color:#fff;padding:13px 14px;display:grid;grid-template-columns:35px 1fr 28px;gap:6px;align-items:center;text-align:left;cursor:pointer}
.tracklist button:hover,.tracklist button.playing{background:rgba(242,122,26,.22)}
.tracklist button span{font-size:11px;color:#e9bbb0}
.tracklist button strong{font-size:13px}
.tracklist button em{font-style:normal;color:#ffae62;text-align:center}

.events-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:48px;align-items:start}
.section-title p{color:var(--muted);font-size:14px;margin:12px 0 0;max-width:380px}
.event-list{display:grid;gap:10px}
.event{display:grid;grid-template-columns:82px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid #ddc7b7;border-left:5px solid var(--red);padding:14px 16px;box-shadow:0 4px 13px rgba(65,35,22,.06)}
.event-date{display:grid;text-align:center;border-right:1px solid var(--line);padding-right:12px}
.event-date b{font:700 27px "Cooper Black",Georgia,serif;color:var(--red)}
.event-date span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#685c55}
.event h3{font-family:Tahoma,Arial,sans-serif;color:#2e2824;font-size:16px;margin:0 0 2px}
.event p{margin:0;color:var(--muted);font-size:13px}
.event a{color:var(--orange-dark);font-weight:700;font-size:12px;text-decoration:none}
.event-empty{padding:28px;border:1px solid #ddc7b7;border-left:5px solid var(--red);background:#fffaf4}
.event-empty strong{display:block;color:var(--red);font:700 25px "Cooper Black",Georgia,serif;margin-bottom:5px}
.event-empty p{margin:0;color:var(--muted);font-size:14px}

.booking{padding-top:20px;padding-bottom:72px}
.booking-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;background:#f9efe4;border:1px solid #d9bca8;border-top:6px solid var(--orange);padding:34px;border-radius:6px;box-shadow:0 8px 24px rgba(72,34,14,.09)}
.booking-copy h2{font-size:38px;margin-bottom:14px}
.booking-copy>p:not(.kicker){color:#554b44;margin:0}
.contact-card{background:#fff;border:1px solid #decabb;border-radius:5px;padding:2px 18px}
.contact-card a,.contact-card p{display:block;text-decoration:none;padding:14px 0;margin:0;border-bottom:1px solid var(--line)}
.contact-card p:last-child{border-bottom:0}
.contact-card span{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:#9a6a49;margin-bottom:2px}
.contact-card strong{font-size:14px;color:#3d342e}
.contact-card a:hover strong{color:var(--red)}

.site-footer{background:rgba(56,25,5,.94);color:#fff;padding:28px 0}
.footer-grid{display:flex;align-items:end;justify-content:space-between;gap:30px}
.footer-grid strong{font:700 20px "Cooper Black",Georgia,serif;color:#fff}
.footer-grid p{margin:5px 0 0;color:#e9d7cb;font-size:12px}
.footer-grid>div:last-child{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.footer-grid a{font-size:12px;color:#fff;text-decoration:none}
.footer-grid a:hover{color:#ff9b4d}

.reveal{opacity:1;transform:none}.reveal.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.reveal-ready.visible{opacity:1;transform:none}
.legal{padding:64px 0 80px;min-height:65vh}.legal article{max-width:760px}.legal h1{font-size:48px}.legal h2{font-size:27px;margin:35px 0 12px}.legal p,.legal li{color:#514944}.legal a{color:var(--red)}.legal .back{display:inline-block;margin-top:28px;font-weight:700;color:var(--orange-dark)}

@media(max-width:860px){
  .member-grid{grid-template-columns:repeat(3,1fr)}
  .welcome{grid-template-columns:1.35fr .65fr;gap:34px}
  .story-grid,.music-grid,.events-grid{gap:34px}
}

@media(max-width:680px){
  body{background:#7c0000}
  .page-shell{margin:0;width:100%;box-shadow:none}
  .container{width:min(calc(100% - 30px),920px)}
  .section{padding:58px 0}
  .heritage-hero{aspect-ratio:auto;height:300px}
  .heritage-hero img{object-position:center center}
  .nav-wrap{min-height:54px;align-items:center;justify-content:space-between;background:#4d2b20;border-bottom:4px solid var(--orange);padding:0 15px}
  .mobile-brand{display:block;color:#fff;text-decoration:none;font:700 17px "Cooper Black",Georgia,serif}
  .nav-toggle{display:block;position:relative;z-index:32}
  .mainnav{position:absolute;left:0;right:0;top:54px;display:grid;gap:1px;background:#4a2b20;padding:8px 15px 14px;transform:scaleY(0);transform-origin:top;opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease;box-shadow:0 12px 22px rgba(0,0,0,.22)}
  .mainnav.open{transform:scaleY(1);opacity:1;pointer-events:auto}
  .mainnav a{min-height:42px;border-radius:4px;padding:0 14px;justify-content:flex-start;background:rgba(137,1,1,.8);transform:none}
  .mainnav a:hover,.mainnav a.active{transform:none;background:var(--orange)}
  .welcome,.story-grid,.music-grid,.events-grid,.booking-panel{grid-template-columns:1fr}
  .welcome{gap:30px;padding-top:48px}
  .quick-card{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}
  .quick-card div{grid-column:1/-1;width:100%}
  .member-grid{grid-template-columns:1fr 1fr}
  .member-photo{height:245px}
  .story-image{order:2;transform:none}
  .timeline{grid-template-columns:1fr 1fr}
  .album{grid-template-columns:150px 1fr;align-items:center}
  .album-copy h3{font-size:24px}
  .booking-panel{padding:27px 22px}
  .footer-grid{align-items:flex-start;flex-direction:column}
  .footer-grid>div:last-child{justify-content:flex-start}
}

@media(max-width:430px){
  .heritage-hero{height:245px}
  .member-grid{grid-template-columns:1fr}
  .member-card{display:grid;grid-template-columns:42% 58%;min-height:205px}
  .member-photo{height:205px}
  .member-copy{border-top:0;border-left:5px solid var(--red);display:flex;flex-direction:column;justify-content:center}
  .album{grid-template-columns:1fr}.album-art{max-width:270px}
  .welcome-actions{flex-direction:column}.button{width:100%}
  .event{grid-template-columns:66px 1fr}.event>a{grid-column:2}
  .booking-copy h2{font-size:34px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.reveal-ready{opacity:1;transform:none;transition:none}.member-card{transition:none}}
