/* Fireplace Gallery · Instagram 7.8. Premium, fast, accessible image grid. */
.fg78-feed{background:#f4f0e8;color:#252b27;padding:clamp(54px,7vw,108px) 0;overflow:hidden;}
.fg78-feed *{box-sizing:border-box}
.fg78-feed-inner{width:min(100% - 48px,1400px);max-width:1400px;margin:0 auto}
.fg78-feed-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.fg78-feed-heading{max-width:760px}
.fg78-eyebrow{display:block;text-transform:uppercase;letter-spacing:.17em;color:#a37a46;font-size:12px;font-weight:700;margin-bottom:12px}
.fg78-feed h2{font-family:inherit;font-weight:500;letter-spacing:-.035em;line-height:1.12;font-size:clamp(26px,3.4vw,43px);color:#232923;margin:0 0 14px}
.fg78-feed-description{font-size:16px;line-height:1.65;color:#606760}
.fg78-feed-description p{margin:0}
.fg78-follow{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:49px;flex-shrink:0;padding:12px 20px;border:1px solid #b9a786;border-radius:3px;text-decoration:none!important;text-align:center;color:#282f29!important;font-size:13px;line-height:1.3;font-weight:700;transition:background .2s,border-color .2s,transform .2s}
.fg78-follow svg{width:19px;height:19px}
.fg78-follow:hover,.fg78-follow:focus-visible{background:#e7d9c1;border-color:#a17d50;transform:translateY(-2px)}
.fg78-photo-grid{display:grid;grid-template-columns:repeat(var(--fg78-desktop,4),minmax(0,1fr));gap:clamp(8px,1.2vw,17px)}
.fg78-photo{min-width:0;color:inherit!important;text-decoration:none!important;display:block;position:relative}
.fg78-photo-frame{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#dfd6ca;position:relative;border-radius:5px;isolation:isolate}
.fg78-photo-frame img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none!important;transform:scale(1);transition:transform .48s cubic-bezier(.2,.75,.2,1),filter .35s}
.fg78-photo:hover img,.fg78-photo:focus-visible img{transform:scale(1.055);filter:brightness(.84)}
.fg78-photo-overlay{position:absolute;z-index:2;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;background:rgba(25,31,26,.82);color:#fff;font-size:12px;min-height:43px;opacity:0;transform:translateY(10px);transition:opacity .22s,transform .22s}
.fg78-photo:hover .fg78-photo-overlay,.fg78-photo:focus-visible .fg78-photo-overlay{opacity:1;transform:none}
.fg78-reel,.fg78-album{position:absolute;z-index:3;top:12px;right:12px;border-radius:3px;color:#fff;background:rgba(23,29,25,.55);padding:4px 8px;font-size:13px}
.fg78-caption{font-size:12px;color:#5c625d;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:10px}
.fg78-feed-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #d5cbbd;margin-top:26px;padding-top:20px;font-size:12px;font-weight:600;letter-spacing:.05em;color:#8b7965}
.fg78-feed-bottom a{color:#32392f!important;text-decoration:none!important;font-weight:700}
.fg78-feed-bottom a:hover{text-decoration:underline!important}
.fg78-empty-admin{padding:25px;color:#343d33;background:#f5e8d5;margin:30px auto;border-left:4px solid #b9925b}
.fg78-consent-prompt{border:1px solid #d4c7b4;background:#faf8f3;display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;margin:15px 0 0;padding:22px;text-align:center;color:#4e544c;font-size:14px}
.fg78-consent-prompt[hidden]{display:none!important}
.fg78-consent-prompt button{appearance:none;cursor:pointer;border:0;background:#273329;color:#fff;border-radius:3px;padding:12px 19px;font-size:13px;font-weight:700}
.fg78-feed.fg78-media-pending .fg78-photo-frame img,.fg78-feed.fg78-media-blocked .fg78-photo-frame img{visibility:hidden}
.fg78-feed.fg78-media-blocked .fg78-photo-overlay{display:none}
.fg78-feed.fg78-media-blocked .fg78-photo-frame{background:#dcd4c8}
@media(max-width:1100px){.fg78-photo-grid{grid-template-columns:repeat(var(--fg78-tablet,3),minmax(0,1fr))}}
@media(max-width:767px){.fg78-feed{padding:48px 0 54px}.fg78-feed-inner{width:min(100% - 32px,1400px)}.fg78-feed-head{align-items:start;flex-direction:column;gap:18px;margin-bottom:24px}.fg78-follow{width:100%}.fg78-photo-grid{grid-template-columns:repeat(var(--fg78-mobile,2),minmax(0,1fr));gap:9px}.fg78-reel,.fg78-album{top:6px;right:6px}.fg78-feed-bottom{font-size:10px;flex-wrap:wrap}.fg78-photo-overlay{display:none}}
@media(prefers-reduced-motion:reduce){.fg78-photo-frame img,.fg78-follow,.fg78-photo-overlay{transition:none!important;transform:none!important}}
