:root{--ink:#222;--green:#8BB69C;--green-dark:#008000;--sage:#CDD6C9;--muted:#555;--wrap:1300px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:300 18px/27px "Open Sans",system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
strong,b{font-weight:400}
p{margin:0}
hr.sp{border:0;margin:0;height:27px}
.u{text-decoration:underline}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px;z-index:20}

/* header */
.site-header{position:relative}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:170px;padding-top:12px;padding-bottom:7px}
.logo img{width:167px;height:auto}
.nav{display:flex;align-items:center;gap:40px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav ul a{display:block;padding:0 20px;font:400 15px/32px "Open Sans",sans-serif;text-transform:uppercase;color:var(--ink)}
.nav ul a:hover,.nav ul a[aria-current=page]{color:var(--green);text-decoration:none}
.social{display:flex;gap:16px;margin-left:16px}
.social a{color:var(--ink);display:flex}.social a:hover{color:var(--green)}
.social svg{width:24px;height:24px;fill:currentColor}
.menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--ink)}
.menu-toggle svg{width:22px;height:22px;fill:currentColor}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin:0 0 30px}
.gallery a{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#eef2ec}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gallery a::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .8s}
.gallery a:hover img,.gallery a:focus img{transform:scale(1.1)}
.gallery a:hover::after,.gallery a:focus::after{opacity:1}

main{padding:0 0 50px}
main ul{margin:0 0 18px;padding-left:44px}
h1{font:400 55px/55px "Josefin Sans",sans-serif;margin:45px 0 30px;color:var(--ink)}
.text{margin-bottom:30px}
.text .green{color:var(--green-dark)}
.text .forest{color:#003300}
.spacer{height:20px}
.links-list a{color:var(--green)}
.map{margin:40px 0 0}
.map img{width:100%}

/* footer */
.site-footer{background:var(--sage);text-align:center;padding:50px 16px 55px;font-size:18px;line-height:27px}
.site-footer .flogo{display:inline-block;margin-bottom:28px}
.site-footer .flogo img{width:220px}
.site-footer p{margin:0;color:var(--ink)}
.site-footer address{font-style:normal;max-width:520px;margin:0 auto}
.bottom{background:#000;color:#fff;text-align:center;padding:10px;font:400 13px/20px "Noto Sans",sans-serif}
.bottom a{color:#fff}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:50}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;width:auto;height:auto}
.lb button{position:absolute;background:none;border:0;color:#fff;font:300 40px/1 "Open Sans",sans-serif;cursor:pointer;padding:16px}
.lb .x{top:8px;right:12px}.lb .prev{left:8px;top:50%;transform:translateY(-50%)}.lb .next{right:8px;top:50%;transform:translateY(-50%)}

@media (max-width:1024px){
  .gallery{grid-template-columns:repeat(3,1fr);gap:10px}
  .nav a{padding:0 10px}
}
@media (max-width:767px){
  .site-header .wrap{min-height:84px}
  .logo img{width:84px}
  .menu-toggle{display:block}
  .menu-toggle svg{width:16px;height:16px}
  .site-header .wrap{padding-top:8px;padding-bottom:28px}
  .wrap{padding:0 22px}
  .nav{gap:0}
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--green);flex-direction:column;gap:0;border-top:1px solid var(--green);z-index:10}
  .nav.open ul{display:flex}
  .nav li:not(:last-child){border-bottom:1px solid var(--green)}
  .nav ul a{padding:10px 22px}
  .social{display:none}
  .gallery{grid-template-columns:1fr}
  h1{font-size:40px;line-height:44px}
  .site-footer .flogo img{width:180px}
  body{font-size:17px;line-height:26px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.site-footer a[href^="tel:"]{color:inherit}
