:root{--green:#6b9a2f;--green-dark:#4d7320;--green-light:#eef5e0;--ink:#2b3320;--bg:#fbfdf6;--radius:12px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 "Trebuchet MS",Verdana,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto}
a{color:var(--green-dark)}
a:hover{color:var(--ink)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}

/* header */
.site-header{background:#fff;border-bottom:4px solid var(--green)}
.brand{display:flex;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:12px 20px}
.brand .logo{width:110px;height:auto;flex:none}
.brand .wordmark{width:100%;max-width:520px;height:auto}
.nav-toggle{display:none;margin-left:auto;background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer}
.site-nav{background:var(--green)}
.site-nav ul{list-style:none;margin:0 auto;padding:0 20px;max-width:1100px;display:flex;flex-wrap:wrap}
.site-nav li{position:relative}
.site-nav a{display:block;padding:14px 18px;color:#fff;text-decoration:none;font-weight:bold}
.site-nav a:hover,.site-nav a[aria-current]{background:var(--green-dark);color:#fff}
.site-nav li ul{display:none;position:absolute;left:0;top:100%;background:var(--green-dark);min-width:280px;padding:0;z-index:20;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.site-nav li:hover>ul,.site-nav li:focus-within>ul{display:block}
.site-nav li ul a{font-weight:normal;padding:11px 18px}
.site-nav li ul a:hover{background:var(--ink)}

/* slider */
.slider{position:relative;max-width:1100px;margin:20px auto 0;aspect-ratio:722/265;overflow:hidden;border-radius:var(--radius)}
.slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}
.slider img.on{opacity:1}

/* layout */
.main{max-width:1100px;margin:24px auto;padding:0 20px;display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
.sidebar{display:grid;gap:14px}
.btn{display:block;text-align:center;padding:14px 16px;border-radius:var(--radius);background:var(--green);color:#fff;text-decoration:none;font-weight:bold;border:0;font:inherit;font-weight:bold;cursor:pointer}
.btn:hover{background:var(--green-dark);color:#fff}
.btn.alt{background:#fff;color:var(--green-dark);border:2px solid var(--green)}
.btn.alt:hover{background:var(--green-light)}
.panel{background:var(--green-light);border-radius:var(--radius);padding:16px}
.panel h2{margin:0 0 8px;font-size:1.1rem;color:var(--green-dark)}
label{font-weight:bold;font-size:.95rem}
input[type=text],input[type=password],input[type=email],select,textarea{width:100%;padding:10px 12px;border:1px solid #b9c9a0;border-radius:8px;font:inherit;background:#fff;margin:4px 0 12px}
input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid #f0a020;outline-offset:2px}
.content{background:#fff;border-radius:var(--radius);padding:28px 32px;box-shadow:0 1px 6px rgba(60,80,30,.12);min-width:0}
h1{margin-top:0;color:var(--green-dark);font-size:2rem}
h2{color:var(--green-dark);border-bottom:2px solid var(--green-light);padding-bottom:4px;margin-top:2em}
h3{color:var(--green-dark)}
.pagePhoto{float:right;margin:0 0 12px 20px;border-radius:var(--radius);max-width:40%}
.content ul li{margin-bottom:.4em}
.content a{overflow-wrap:anywhere}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.radios label{font-weight:normal;margin-right:16px}
.date-row{display:grid;grid-template-columns:90px 1fr 110px;gap:8px}
.map{width:100%;height:260px;border:0;border-radius:var(--radius)}
.gallery{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.gallery li{margin:0}
.gallery button{border:0;padding:0;background:none;cursor:zoom-in;width:100%}
.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.gallery button:hover img{filter:brightness(1.1);outline:3px solid var(--green)}
dialog{border:0;border-radius:var(--radius);padding:12px;max-width:94vw}
dialog::backdrop{background:rgba(0,0,0,.75)}
dialog img{max-width:88vw;max-height:78vh;display:block;margin:auto}
dialog .bar{display:flex;gap:8px;justify-content:center;margin-top:10px}
dialog .bar button{padding:8px 16px;border:0;border-radius:8px;background:var(--green);color:#fff;font:inherit;cursor:pointer}

/* footer */
.site-footer{background:var(--ink);color:#e8efd8;margin-top:40px}
.footer-grid{max-width:1100px;margin:0 auto;padding:28px 20px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.site-footer h3{color:#c5e08a;margin-top:0}
.site-footer a{color:#c5e08a}
.site-footer ul{list-style:none;padding:0;margin:0}
.copyright{border-top:1px solid #46523a;text-align:center;padding:14px 20px;font-size:.9rem}

@media(max-width:860px){
 .main{grid-template-columns:1fr;gap:20px}
 .sidebar{order:2}
 .content{padding:20px}
 .brand .logo{width:80px}
 .nav-toggle{display:block}
 .site-nav{display:none}
 .site-nav.open{display:block}
 .site-nav ul{flex-direction:column;padding:0}
 .site-nav li ul{display:block;position:static;box-shadow:none;background:#5a8426}
 .site-nav li ul a{padding-left:36px}
 .pagePhoto{float:none;display:block;margin:0 auto 16px;max-width:100%}
 .footer-grid,.row2{grid-template-columns:1fr}
 body{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.slider img{transition:none}html{scroll-behavior:auto}}
