:root{--walnut:#1c120c;--walnut2:#2a1b12;--amber:#d89a3c;--brass:#b8935a;--cream:#f1e6d2;--muted:#b9a68a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--walnut);color:var(--cream);font:18px/1.65 Georgia,"Libre Baskerville",serif}
h1,h2,h3,.brand{font-family:"Playfair Display",Georgia,serif;font-weight:700;letter-spacing:.01em}
a{color:var(--amber)}a:hover{color:#f0b85a}
.nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:.7rem 1.1rem;background:rgba(20,12,8,.92);border-bottom:1px solid #4a3322}
.brand{color:var(--brass);text-decoration:none;font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase}
.nav nav a{color:var(--cream);text-decoration:none;margin-left:1rem;font-size:.9rem}
.hero{position:relative;min-height:88vh;display:flex;align-items:center;background:#000;overflow:hidden}
.hero .bg{position:absolute;inset:0;background:70% center/cover no-repeat}.hero .bg-closed{background-image:url(../img/closed.jpg)}.hero .bg-open{background-image:url(../img/chain-smoke.jpg);opacity:1}
.hero.intro .bg-open{opacity:0}.hero.intro .hero-copy{opacity:0;transform:translateY(12px)}.hero .hero-copy{transition:opacity .9s ease,transform .9s ease}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,7,4,.92) 0%,rgba(12,7,4,.6) 45%,rgba(12,7,4,.1) 75%),linear-gradient(0deg,var(--walnut) 0%,transparent 25%)}
#smoke{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;filter:blur(1.6px)}
.hero-copy{position:relative;z-index:2;max-width:34rem;padding:2rem 1.3rem}
.eyebrow{color:var(--brass);text-transform:uppercase;letter-spacing:.25em;font-size:.75rem}
.hero h1{font-size:clamp(2.4rem,9vw,4.2rem);line-height:1.05;margin:.4rem 0 1rem;color:#f6ead4}
.hero p{color:var(--muted)}
.btn{display:inline-block;margin-top:1rem;padding:.75rem 1.4rem;border:1px solid var(--brass);color:var(--cream);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;background:rgba(184,147,90,.12)}
.btn:hover{background:var(--brass);color:var(--walnut)}
section{padding:3.5rem 1.2rem;max-width:68rem;margin:0 auto}
.rule{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--brass),transparent);margin:0}
.longpour{position:relative;max-width:none;padding:0;min-height:22rem;display:flex;align-items:flex-end;background:url(../img/horse.jpg) center/cover}
.longpour::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,7,4,.95),rgba(12,7,4,.2))}
.longpour div{position:relative;padding:2rem 1.3rem;max-width:40rem}
.longpour h2{font-size:2rem;margin:.2rem 0}
.cards{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
.card{display:block;padding:1.4rem;background:var(--walnut2);border:1px solid #4a3322;text-decoration:none;color:var(--cream);transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--brass);transform:translateY(-2px)}
.card .meta{color:var(--brass);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}
.card h3{margin:.4rem 0;font-size:1.35rem}.card p{color:var(--muted);margin:0;font-size:.95rem}
.schedule{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.schedule div{border-top:2px solid var(--brass);padding-top:.6rem}
.schedule b{color:var(--amber);font-family:Georgia,serif}
form{display:grid;gap:.8rem;max-width:34rem}
input,textarea{font:inherit;padding:.7rem;background:#120b07;border:1px solid #4a3322;color:var(--cream)}
textarea{min-height:8rem}
.note{font-size:.85rem;color:var(--muted)}
article{max-width:40rem;margin:0 auto;padding:2.5rem 1.2rem}
article h1{font-size:clamp(2rem,7vw,3rem);line-height:1.1}
article h2{color:var(--amber);font-size:1.4rem;margin-top:2rem}
article li{margin:.4rem 0}.signoff{font-style:italic;color:var(--brass)}
.sources{font-size:.85rem;border-top:1px solid #4a3322;margin-top:2rem;padding-top:1rem}
footer{text-align:center;padding:2rem 1rem;color:var(--muted);font-size:.8rem;border-top:1px solid #4a3322}
@media(prefers-reduced-motion:reduce){#smoke{display:none}}
@media(max-width:600px){.brand{font-size:.85rem;letter-spacing:.06em}.nav{padding:.6rem .8rem}.hero{min-height:64vh}.hero .bg{background-position:58% center}.nav nav a{margin-left:.7rem;font-size:.8rem}}
@media(max-width:600px){.hero::after{background:linear-gradient(180deg,rgba(12,7,4,.15) 0%,rgba(12,7,4,.78) 30%,rgba(12,7,4,.78) 62%,rgba(12,7,4,.2) 85%),linear-gradient(0deg,var(--walnut) 0%,transparent 25%)}.hero.intro::after{opacity:.35}.hero::after{transition:opacity .9s ease}}
