:root{
  --ink:#2f3a35; --muted:#5c6a63; --accent:#3e7d5b; --accent-dark:#2e5f45;
  --cream:#faf7f1; --sand:#f1eadd; --line:#e2ddd2; --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--white);line-height:1.65}
h1,h2,h3,.btn,.nav,figcaption{font-family:'Helvetica Neue',Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-dark)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.site{position:sticky;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);z-index:10}
.header-in{display:flex;align-items:center;gap:16px;padding:10px 20px;max-width:1200px;margin:0 auto}
.header-in .logo{width:52px;height:52px;object-fit:contain}
.site-name{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:700;letter-spacing:.08em;font-size:15px;margin-right:auto}
.socials{display:flex;gap:14px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px}
.socials a{text-decoration:none}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:13px 26px;border-radius:999px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;border:0;cursor:pointer;text-align:center}
.btn:hover{background:var(--accent-dark)}
.btn.alt{background:transparent;color:var(--accent-dark);border:2px solid var(--accent)}
.btn.small{padding:9px 18px;font-size:12px}
.hero{background:var(--cream);text-align:center;padding:36px 0 56px}
.hero img.hero-img{width:100%;max-height:520px;object-fit:cover}
.hero h1{font-size:clamp(32px,6vw,58px);letter-spacing:.04em;margin:34px 0 6px}
.hero .tagline{font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(13px,2vw,17px);color:var(--accent-dark);margin:0 0 4px}
.hero .region{font-style:italic;color:var(--muted);margin:0 0 24px}
.hero-photo{max-width:860px;margin:0 auto 28px;border-radius:10px;overflow:hidden}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:22px 0}
section{padding:52px 0}
section.tint{background:var(--cream)}
h2{font-size:clamp(24px,4vw,34px);letter-spacing:.05em;text-transform:uppercase;text-align:center;margin:0 0 22px}
h3{font-size:19px;margin:0 0 6px}
.card h3{text-transform:uppercase;letter-spacing:.04em}
p{max-width:760px;margin:0 auto 16px}
.center{text-align:center}
figure{margin:26px auto;max-width:860px}
figure img{border-radius:10px;width:100%}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-width:1000px;margin:26px auto}
.gallery img{border-radius:10px;width:100%;height:100%;object-fit:cover}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;max-width:1000px;margin:0 auto}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;text-align:center}
.tint .card{background:#fff}
.card p{margin:0}
blockquote{max-width:760px;margin:30px auto;font-size:20px;font-style:italic;text-align:center}
blockquote footer{font-style:normal;font-size:15px;color:var(--muted);margin-top:8px;font-family:'Helvetica Neue',Arial,sans-serif}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;max-width:1080px;margin:0 auto}
.member h3{text-transform:uppercase;letter-spacing:.04em}
.member img{border-radius:10px;margin-bottom:14px;width:100%;height:320px;object-fit:cover}
.member p{margin:0 0 12px}
.role{font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--accent-dark)}
.board{max-width:760px;margin:0 auto;text-align:center}
.board .person{margin-bottom:20px}
.board img.portrait{width:180px;height:220px;object-fit:cover;border-radius:10px;margin:0 auto 12px}
.sponsors{list-style:none;padding:0;max-width:820px;margin:0 auto;text-align:center}
.sponsors li{padding:9px 0;border-bottom:1px solid var(--line);font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:.04em}
.follow{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
form.contact{max-width:560px;margin:0 auto;text-align:left}
form.contact label{display:block;font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;letter-spacing:.05em;text-transform:uppercase;margin:16px 0 6px}
form.contact input,form.contact textarea{width:100%;padding:12px;border:1px solid #c9c2b2;border-radius:6px;font:inherit;background:#fff}
form.contact button{margin-top:20px;width:100%}
footer.site{background:var(--ink);color:#eee;text-align:center;padding:36px 20px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px}
footer.site a{color:#cfe3d6}
@media (max-width:640px){.socials{display:none}.member img{height:auto}}
