.village-instagram { display: none; background: #fcf9f3; padding: 64px 24px 88px; }
.village-instagram.is-ready { display: block; }
.village-instagram-inner { max-width: 1400px; margin: 0 auto; }
.village-instagram-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.village-instagram-kicker { display: block; color: #794116; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 10px; }
.village-instagram h2 { font-family: Georgia, serif; font-size: clamp(30px, 4vw, 48px); font-weight: 400; line-height: 1.12; margin: 0; color: #2c251e; }
.village-instagram-follow { color: #794116; font-size: 13px; letter-spacing: .08em; text-decoration: underline; text-underline-offset: 5px; white-space: nowrap; }
.village-instagram-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.village-instagram-post { display: block; aspect-ratio: 1; overflow: hidden; background: #e5ddd2; position: relative; }
.village-instagram-post img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.village-instagram-post:hover img, .village-instagram-post:focus-visible img { transform: scale(1.05); }
.village-instagram-post:focus-visible, .village-instagram-follow:focus-visible { outline: 3px solid #794116; outline-offset: 3px; }
.village-instagram-video { position: absolute; right: 12px; top: 12px; background: rgba(0,0,0,.6); color: white; padding: 5px 8px; border-radius: 2px; font-size: 12px; }
.village-instagram-empty { display: block; padding: 30px 0; color: #5a4b3d; }
@media (max-width: 800px) { .village-instagram-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 500px) { .village-instagram { padding: 48px 16px 64px; } .village-instagram-heading { align-items: start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .village-instagram-post img { transition: none; } }
