@import url('https://fonts.googleapis.com/css2?family=Rye&family=Quicksand:wght@400;700&family=Montserrat:wght@500;700&family=Playfair+Display:ital@0;1&display=swap');
*{box-sizing:border-box}
body{margin:0;background:#f2f2f2;color:#000;font-family:Quicksand,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:#b3261e}a:hover{color:#2a2a2a}
.hdr{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:22px 40px;color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,0))}
.hdr.solid{position:static;background:#000}
.title{font-family:Rye,serif;font-size:26px;color:#fff;text-decoration:none;line-height:1.1}.title span{color:#ff0505}
.nav a{display:inline-block;padding:12px 20px;border:1px solid transparent;color:#fff;text-decoration:none;font-family:Quicksand;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.nav a:hover{opacity:.6;color:#fff}.nav a.active{border-color:#fff}
.banner{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:#000 url('photos/02-jonesbeach-33copy.jpg') center/cover;padding:120px 40px 80px}
.banner:before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.55)}
.banner>*{position:relative}
.banner h1{font-family:Rye,serif;font-weight:400;font-size:clamp(40px,7vw,80px);line-height:1.15;margin:15px auto}
.banner p{font-family:Montserrat;font-weight:700;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin:15px auto}
.credit{position:absolute!important;right:16px;bottom:10px;font-size:11px;color:#ccc;font-family:Quicksand}
.pagehead{background:#000;color:#fff;text-align:center;padding:50px 40px 60px}
.pagehead h1{font-family:Rye,serif;font-weight:400;font-size:48px;margin:0;letter-spacing:.04em}
.container{max-width:1200px;margin:0 auto;padding:70px 40px}
.wide{background:#fff}
h2{color:#2a2a2a;font-family:Montserrat,sans-serif;font-size:24px;font-weight:700;line-height:1.25;margin:0 auto 30px;text-align:center}
.lead{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;text-align:center;max-width:820px;margin:0 auto 24px;color:#2a2a2a}
.center{text-align:center;max-width:820px;margin:0 auto}
.btn{display:inline-block;padding:14px 30px;border:1px solid #000;color:#000;text-decoration:none;font-family:Montserrat;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:16px;background:transparent}
.btn:hover{background:rgba(0,0,0,.05);color:#000}
.banner .btn{border-color:#fff;color:#fff}.banner .btn:hover{background:rgba(255,255,255,.15);color:#fff}
.events{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}
.events span{border:1px solid #2a2a2a;padding:6px 16px;font-family:Montserrat;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.two{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center}
.two img,.gallery img{width:100%;display:block}
.cap{font-size:12px;color:#666;font-style:italic;margin-top:6px}
.member{text-align:center;margin:0 0 34px}
.member h3{font-family:Montserrat;font-size:20px;font-weight:700;color:#2a2a2a;margin:0}
.member p{margin:2px 0 0;color:#555}
.year{font-family:Montserrat;font-size:20px;font-weight:700;color:#2a2a2a;border-bottom:1px solid #ccc;padding-bottom:6px;margin:30px 0 14px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.vid{display:block;border:1px solid #000;background:#fff;padding:28px 20px;text-align:center;text-decoration:none;color:#000}
.vid:hover{background:rgba(0,0,0,.05);color:#000}.vid b{display:block;font-size:30px;color:#b3261e}
.vid h3{font-family:Montserrat;font-size:15px;margin:6px 0 2px;text-transform:uppercase;letter-spacing:.05em}.vid p{margin:0;font-size:13px;color:#555}
.lines p{font-family:Montserrat;font-size:15px;letter-spacing:.05em;margin:8px 0}.lines strong{font-weight:700}
form{max-width:600px;margin:30px auto 0;text-align:left}label{display:block;font-family:Montserrat;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin:16px 0 6px}
input,textarea{width:100%;padding:12px;border:1px solid #bbb;background:#fff;font:inherit}textarea{min-height:140px}
.req{font-size:12px;color:#666}
footer{background:#000;color:#aaa;text-align:center;padding:40px;font-size:14px}footer a{color:#fff}
@media(max-width:800px){.two{grid-template-columns:1fr}.hdr{flex-direction:column;gap:10px}.nav a{padding:8px 10px}}
