:root{--honey:#f2a516;--amber:#c97a06;--dark:#2b1d0e;--ink:#33291f;--cream:#fffaf0;--line:#ecdcbc;--radius:14px;--cream-soft:rgba(255,250,240,.20);--cream-mid:rgba(255,248,234,.26)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background-color:var(--cream);line-height:1.65;font-size:1.0625rem;min-height:100vh;position:relative}
/* Bee-cluster photo under a light cream wash — readable text, visible texture */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--cream);background-image:linear-gradient(180deg,var(--cream-soft),var(--cream-mid)),url("bg-bold.jpg?v=4");background-size:cover;background-position:center center;background-repeat:no-repeat}
@supports (-webkit-touch-callout:none){body::before{position:absolute;min-height:100%}}
@media (max-width:700px){body::before{position:absolute;min-height:100%;background-attachment:scroll}}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--dark);line-height:1.2}
a{color:#8a4f00}a:hover{color:var(--dark)}a:focus-visible,button:focus-visible{outline:3px solid var(--honey);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:4px solid var(--honey);position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:.6rem;padding-bottom:.6rem}
.brand{display:flex;gap:.6rem;align-items:center;text-decoration:none;color:var(--dark)}
.brand span{display:flex;flex-direction:column;line-height:1.1}.brand small{color:var(--amber)}
.nav-toggle{background:var(--dark);color:#fff;border:0;border-radius:8px;padding:.5rem .9rem;font:inherit;cursor:pointer}
nav{width:100%;display:none}nav.open{display:block}
nav ul{list-style:none;margin:.5rem 0 0;padding:0}
nav a{display:block;padding:.6rem .4rem;text-decoration:none;color:var(--ink);border-radius:8px;font-weight:500}
nav a:hover,nav a[aria-current]{background:#fdf0d2;color:var(--dark)}nav a[aria-current]{box-shadow:inset 0 -3px var(--honey)}
@media(min-width:900px){.nav-toggle{display:none}nav{display:block;width:auto}nav ul{display:flex;gap:.15rem;margin:0}nav a{padding:.45rem .6rem;font-size:.95rem}}
.page-hero{background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.28),transparent 40%),linear-gradient(135deg,rgba(242,165,22,.92),rgba(201,122,6,.90));padding:2.5rem 0;color:var(--dark);
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64v34' fill='none' stroke='%23fff' stroke-opacity='.18' stroke-width='2'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(242,165,22,.93),rgba(201,122,6,.90))}
.page-hero h1{margin:0;font-size:clamp(1.9rem,5vw,3rem)}.lead{font-size:1.15rem;max-width:42rem;margin:.5rem 0 0}
.content{padding:2rem 1.25rem 3rem}
.grid2,.grid3{display:grid;gap:1.25rem;margin-bottom:2rem}
@media(min-width:700px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}}
.card{background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:0 2px 10px rgba(80,50,0,.06)}
.card h3{margin-top:.2rem}.meeting{border-top:6px solid var(--honey)}
.callout{background:rgba(253,243,220,.98);margin-bottom:2rem}.empty{text-align:center;padding:3rem 1.5rem}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--amber);margin:0}
.note,.muted{color:#6d5f50;font-size:.95rem}
.btn{display:inline-block;background:var(--dark);color:#fff;text-decoration:none;padding:.65rem 1.1rem;border-radius:999px;font-weight:600}
.btn:hover{background:#000;color:var(--honey)}.btn-alt{background:var(--amber)}
.center{text-align:center}
.prose{max-width:48rem;margin:0 auto;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem clamp(1rem,4vw,2.5rem)}
.prose a{word-break:break-word}
.doclist{list-style:none;padding:0;display:grid;gap:.5rem}
@media(min-width:700px){.doclist{grid-template-columns:1fr 1fr}}
.doclist a{display:flex;gap:.75rem;align-items:center;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;text-decoration:none;color:var(--ink)}
.doclist a:hover{border-color:var(--honey)}
.doclist a::before{content:"PDF";font-size:.7rem;font-weight:700;background:var(--honey);color:var(--dark);border-radius:4px;padding:.1rem .35rem}
.date{font-weight:700;color:var(--dark);min-width:7.5rem}
.officers{list-style:none;padding:0;display:grid;gap:.6rem}@media(min-width:700px){.officers{grid-template-columns:1fr 1fr}}
.officers li{background:rgba(255,255,255,.98);border-left:5px solid var(--honey);border-radius:8px;padding:.7rem 1rem;display:flex;flex-direction:column}
.officers span{color:#6d5f50;font-size:.95rem}
.site-footer{background:var(--dark);color:#f3e6cf;padding:2rem 0 1rem}.site-footer a{color:var(--honey)}
.site-footer ul{list-style:none;padding:0;margin:.5rem 0}.cols{display:grid;gap:1.5rem}@media(min-width:700px){.cols{grid-template-columns:repeat(3,1fr)}}
.copy{font-size:.85rem;opacity:.75;margin-top:1.5rem}

.officers-board{display:grid;gap:1.5rem;align-items:start;margin:1.5rem 0 2rem}
@media(min-width:800px){.officers-board{grid-template-columns:1.15fr .85fr;gap:1.75rem}}
.officers-copy h2{margin-bottom:.15rem}.officers-sub{margin:1.4rem 0 .55rem;font-size:1.15rem;color:var(--dark)}
.officers-support li{border-left-color:var(--amber)}
.officers-photo{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 2px 10px rgba(80,50,0,.06);background:#fff}
.officers-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center}
@media(max-width:799px){.officers-photo{max-width:22rem;margin-inline:auto}}

.card + .feature-class{margin-top:2rem}
.feature-class{display:grid;gap:1.25rem;margin:0 0 2rem;background:linear-gradient(135deg,rgba(253,243,220,.96),rgba(255,255,255,.97));border:1px solid var(--line);border-top:6px solid var(--honey);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 18px rgba(80,50,0,.08)}
@media(min-width:800px){.feature-class{grid-template-columns:1.05fr 1.2fr;align-items:stretch}}
.feature-class-media{margin:0;min-height:12rem;background:#f3e6cf}
.feature-class-media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
@media(min-width:800px){.feature-class-media img{aspect-ratio:auto;min-height:100%}}
.feature-class-body{padding:1.25rem 1.35rem 1.5rem}
.feature-class-body h2{margin:.15rem 0 .6rem;font-size:clamp(1.45rem,3.5vw,1.9rem)}
.feature-class-body > p{margin:.4rem 0 0.85rem}
.feature-facts{list-style:none;padding:0;margin:0 0 1.1rem;display:grid;gap:.45rem}
.feature-facts li{background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:10px;padding:.55rem .8rem;font-size:.98rem}
.feature-facts strong{color:var(--dark)}
.feature-actions{margin:0}
.btn-feature{background:var(--honey);color:var(--dark);font-size:1.05rem;padding:.8rem 1.35rem;box-shadow:0 2px 0 rgba(80,50,0,.15)}
.btn-feature:hover{background:#ffb52e;color:var(--dark)}
/* readability for text sitting directly on the bold background */
h2:not(.card h2):not(.hero h2),.muted:not(.card .muted),.note:not(.card .note){text-shadow:0 0 6px rgba(255,250,240,.95),0 0 14px rgba(255,250,240,.9)}
.muted:not(.card .muted),.note:not(.card .note){color:#3f3326;font-weight:500}

/* stacked upcoming meeting cards on the meetings page */
.card.meeting + .card.meeting{margin-top:1.25rem}
.card.meeting + h2{margin-top:2rem}

/* gallery photos */
.card.photo{padding:0;overflow:hidden;margin:0}
.card.photo img{display:block;width:100%;height:auto}
.card.photo figcaption{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}
.card.photo figcaption strong{font-size:1.1rem}

/* event-organized gallery */
.gallery-jump{margin:0 0 1.75rem;font-weight:600;text-align:center}
.gallery-jump a{display:inline;text-decoration:none;padding:0;background:none;box-shadow:none;color:#8a4f00}
.gallery-jump a:hover{color:var(--dark);background:none}
.gallery-event{margin:0 0 2.75rem}
.gallery-event h2{margin:0 0 .2rem}
.gallery-event .gallery-when{margin:0 0 .85rem}
.gallery-event > p{margin:.15rem 0 1.1rem;max-width:42rem}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
@media(min-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}
@media(max-width:379px){.gallery-grid{grid-template-columns:1fr}}
.gallery-grid a{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:#fff;box-shadow:0 2px 10px rgba(80,50,0,.06)}
.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}
.gallery-grid a:hover img,.gallery-grid a:focus-visible img{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.gallery-grid img{transition:none}.gallery-grid a:hover img,.gallery-grid a:focus-visible img{transform:none}}
.gallery-note{margin-top:.5rem;text-align:center}

/* photo lightbox */
.lightbox[hidden]{display:none!important}
.lightbox{position:fixed;inset:0;z-index:20;background:rgba(43,29,14,.9);display:flex;align-items:center;justify-content:center;padding:4rem 3.75rem 2.5rem}
.lightbox-figure{margin:0;max-width:100%}
.lightbox-figure img{display:block;max-width:min(96vw,1100px);max-height:82vh;width:auto;height:auto;margin:0 auto;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.45);background:#111}
.lightbox-cap{color:#f3e6cf;text-align:center;margin:.75rem 0 0;max-width:40rem;margin-inline:auto;text-shadow:none}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:var(--cream);color:var(--dark);border:0;border-radius:999px;width:2.6rem;height:2.6rem;font:inherit;font-size:1.7rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.lightbox-close{top:1rem;right:1rem;font-size:1.5rem}
.lightbox-prev{left:.75rem;top:50%;transform:translateY(-50%)}
.lightbox-next{right:.75rem;top:50%;transform:translateY(-50%)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#fff}
@media(max-width:700px){.lightbox{padding:4rem 1rem 1.5rem}.lightbox-prev,.lightbox-next{width:2.25rem;height:2.25rem;font-size:1.45rem}}
.gallery-event > p:not(.gallery-when){color:#3f3326;font-weight:500;text-shadow:0 0 6px rgba(255,250,240,.95),0 0 14px rgba(255,250,240,.9)}
