:root{
  --black:#070707;
  --maroon:#38090d;
  --maroon-2:#2a0609;
  --cream:#f5efe6;
  --gold:#c9a45c;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--cream);font-family:'Crimson Text',Georgia,serif;font-size:19px;line-height:1.6}
h1,h2,h3,.brand{font-family:'Cinzel',serif;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
a{color:var(--cream)}
header.site-header{background:var(--black);text-align:center;padding:28px 16px 18px;border-bottom:1px solid #2a2a2a;position:sticky;top:0;z-index:10}
.brand{font-size:clamp(22px,4vw,34px)}
nav.main-nav{margin-top:10px;display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
nav.main-nav a{text-decoration:none;font-family:'Cinzel',serif;font-size:14px;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
nav.main-nav a:hover,nav.main-nav a.active{opacity:1;color:var(--gold)}
.hero{background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.58)),url('images/hero-bg.jpg') center/cover no-repeat;text-align:center;padding:110px 20px 90px;min-height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero h1{font-size:clamp(28px,5.5vw,52px);margin:0 0 12px;text-transform:none;letter-spacing:.05em;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.hero p.tagline{text-shadow:0 1px 10px rgba(0,0,0,.85)}
.hero p.tagline{font-size:clamp(18px,2.6vw,24px);font-style:italic;opacity:.92}
.btn{display:inline-block;margin-top:28px;padding:13px 34px;border:1px solid var(--cream);color:var(--cream);text-decoration:none;font-family:'Cinzel',serif;letter-spacing:.2em;text-transform:uppercase;font-size:14px;background:transparent;cursor:pointer}
.btn:hover{background:var(--cream);color:var(--black)}
.hero .btn{background:rgba(0,0,0,.4)}
.hero .btn:hover{background:var(--cream);color:var(--black)}
.hero .email{margin-top:26px;font-size:17px;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero .email a{text-decoration:none;border-bottom:1px dotted #888}
section.band{background:linear-gradient(180deg,var(--maroon) 0%,var(--maroon-2) 100%);padding:70px 20px;text-align:center}
section.band.alt{background:var(--black)}
section.band h2{font-size:clamp(24px,4vw,38px);margin-bottom:18px}
section.band h3.sub{font-size:clamp(18px,3vw,24px);margin-bottom:14px;color:var(--gold)}
section.band p{max-width:760px;margin:0 auto}
img.about-logo{width:min(300px,70vw);height:auto;margin:10px auto 26px;display:block}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;max-width:1080px;margin:34px auto 0}
.gallery figure{background:#000;border:1px solid #00000055}
.gallery img{width:100%;height:320px;object-fit:cover;display:block;cursor:zoom-in}
form.contact{max-width:560px;margin:30px auto 0;text-align:left;display:grid;gap:14px}
form.contact label{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.15em;text-transform:uppercase}
form.contact input,form.contact textarea{width:100%;padding:12px;background:#12060a;border:1px solid #6b3540;color:var(--cream);font-family:inherit;font-size:17px}
form.contact input[type=file]{padding:9px}
form.contact .btn{justify-self:center;margin-top:6px}
.note{font-size:15px;opacity:.75;margin-top:14px}
footer{background:var(--black);text-align:center;padding:46px 20px 40px;border-top:1px solid #2a2a2a}
footer .fname{font-family:'Cinzel',serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
footer a{text-decoration:none}
footer .social{margin:16px 0}
footer .social a{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;border:1px solid #444;padding:8px 18px;display:inline-block}
footer .social a:hover{border-color:var(--gold);color:var(--gold)}
footer small{display:block;margin-top:18px;opacity:.7;font-size:14px}
.listings{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;max-width:1080px;margin:34px auto 0}
.listing-card{background:#000;border:1px solid #00000055;text-align:left}
.listing-card img{width:100%;height:230px;object-fit:cover;display:block}
.listing-card .pad{padding:14px 16px 18px}
.listing-card h4{font-family:'Cinzel',serif;font-size:15px;letter-spacing:.06em;margin-bottom:10px}
.listing-card a{color:var(--gold);text-decoration:none;font-size:15px}
dialog#lightbox{background:#000;border:1px solid #444;padding:10px;max-width:92vw}
dialog#lightbox img{max-width:86vw;max-height:82vh;display:block}
dialog#lightbox::backdrop{background:rgba(0,0,0,.85)}
.center{text-align:center}
