/* gallery.css - styles scoped to #page-gallery */

#page-gallery { --green:#235c45; --green-dark:#173f30; --green-soft:#edf5f0; --yellow:#f4c928; --cream:#fbfcfa; --text:#1d2923; --muted:#68746e; --border:#e4ebe6; --shadow:0 14px 40px rgba(27,65,48,.08); font-family:"DM Sans",sans-serif; color:var(--text); line-height:1.6 }
#page-gallery img { display:block; width:100% }
#page-gallery .hero { background:var(--green-soft); padding:82px 0 78px }
#page-gallery .eyebrow { display:inline-flex; gap:9px; align-items:center; color:var(--green); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase }
#page-gallery .btn { display:inline-flex; align-items:center; justify-content:center; padding:13px 20px; border-radius:999px; font-weight:700 }
#page-gallery .gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px }
#page-gallery .gallery-item { height:260px; border-radius:20px; overflow:hidden; position:relative; background:var(--green-soft) }
#page-gallery .gallery-item img { height:100%; object-fit:cover; transition:.35s }
#page-gallery .gallery-item:hover img { transform:scale(1.04) }
#page-gallery .cta { padding:0 0 80px }
#page-gallery .hero-inner { max-width:820px }
#page-gallery .eyebrow:before { content:""; width:26px; height:2px; background:var(--yellow) }
#page-gallery h1 { font-size:clamp(42px,6vw,70px); letter-spacing:-.04em }
#page-gallery h2 { font-size:clamp(31px,4vw,47px); letter-spacing:-.035em }
#page-gallery .section-head { text-align:center; max-width:760px; margin:0 auto 38px }
#page-gallery .section-head p { color:var(--muted); margin-top:12px }
#page-gallery .cta-box { background:var(--green); border-radius:28px; padding:58px 60px; display:flex; justify-content:space-between; align-items:center; gap:30px; color:white }
#page-gallery .cta-box p { color:#dce8e1; margin-top:9px }
#page-gallery .cta-box .btn { background:var(--yellow); color:#213127 }
#page-gallery h1, #page-gallery h2, #page-gallery h3, #page-gallery h4 { font-family:"Manrope",sans-serif; line-height:1.12 }
#page-gallery .section { padding:82px 0 }
#page-gallery .hero p { max-width:680px; color:var(--muted); font-size:18px; margin:20px 0 28px }
#page-gallery .gallery-item.large { grid-column:span 2; grid-row:span 2; height:536px }
#page-gallery .gallery-overlay { position:absolute; bottom:0; left:0; right:0; padding:35px 18px 17px; background:linear-gradient(transparent,rgba(15,38,28,.72)); color:white; font-weight:700 }

@media (max-width:900px) {
  #page-gallery .gallery-grid { grid-template-columns:repeat(2,1fr) }
  #page-gallery .gallery-item.large { grid-column:span 2; height:400px }
}

@media (max-width:620px) {
  #page-gallery .container { width:calc(100% - 28px) }
  #page-gallery .hero { padding:58px 0 55px }
  #page-gallery .cta-box .btn { margin-top:23px }
  #page-gallery .section { padding:60px 0 }
  #page-gallery .gallery-grid { grid-template-columns:1fr }
  #page-gallery .gallery-item, #page-gallery .gallery-item.large { grid-column:auto; grid-row:auto; height:300px }
}
