/* Instagram-inspired community gallery. All styles stay inside this section. */
.insta-hub.social{display:block;position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#962fa8;background-image:radial-gradient(ellipse at 0% 110%,#ffce58 0,transparent 45%),radial-gradient(ellipse at 95% 105%,#ff7446 0,transparent 55%),linear-gradient(125deg,#4831a9 0%,#9d27b0 30%,#d62976 62%,#ee4248 100%);border-top:12px solid var(--paper);border-bottom:12px solid var(--paper)}
.insta-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:4rem;align-items:end;margin-bottom:3rem}
.insta-kicker{display:flex;align-items:center;gap:.7rem;font-size:.875rem;font-weight:700;letter-spacing:.12em}
.insta-kicker svg{width:28px;height:28px;flex-shrink:0}
.insta-hub h2{font-size:clamp(2.4rem,5.2vw,6rem);line-height:.96;letter-spacing:-.065em;margin:1.5rem 0 0;color:#fff}
.insta-hub .insta-intro p{color:#fff;font-size:1.0625rem;line-height:1.7;max-width:430px}
.insta-intro>a{display:inline-flex;align-items:center;gap:1.5rem;font-size:1rem;font-weight:700;margin-top:1.4rem;padding-bottom:.35rem;border-bottom:1px solid #ffffffa1}
.insta-intro>a>span{font-size:1.6rem;line-height:1}
.insta-profile{max-width:1440px;margin:auto;background:#fff;color:#161616;border:1px solid #ffffffb8;border-radius:24px;box-shadow:0 24px 64px #35102f40;overflow:hidden}
.insta-profile-header{display:flex;align-items:center;gap:1.5rem;padding:2rem clamp(1.25rem,3vw,3rem)}
.insta-avatar{display:block;flex:none;width:116px;height:116px;padding:5px;border-radius:50%;background:linear-gradient(35deg,#ffd55e,#ff5144 33%,#da2678 60%,#7c36c1 85%)}
.insta-avatar img{display:block;width:100%;height:100%;border:5px solid #fff;border-radius:50%;object-fit:contain;background:#fff}
.insta-profile-name{min-width:0;flex:1}
.insta-profile-name h3{font-size:clamp(1.3rem,2.2vw,2.2rem);letter-spacing:-.05em;line-height:1.2;overflow-wrap:anywhere}
.insta-hub .insta-profile-name p{font-size:1rem;color:#222;font-weight:700;margin-top:.45rem;line-height:1.5}
.insta-profile-name>span{font-size:.875rem;color:#666}
.insta-profile-button{display:flex;align-items:center;justify-content:center;gap:1.8rem;flex-shrink:0;border-radius:10px;background:#242424;color:#fff;padding:.75rem 1.2rem;font-size:.9375rem;font-weight:700;min-height:46px}
.insta-profile-button:hover{background:#8b267c}
.insta-gallery-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.25rem,3vw,3rem);border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}
.insta-gallery-label{display:flex;align-items:center;gap:.55rem;font-size:.75rem;font-weight:700;letter-spacing:.11em}
.insta-gallery-label svg{width:19px;height:19px;flex-shrink:0}
.insta-filters{display:flex;gap:.4rem}
.insta-filters button{font-size:.875rem;background:#fff;color:#555;border:1px solid transparent;border-radius:8px;padding:.55rem .95rem;min-height:44px}
.insta-filters button[aria-pressed="true"]{background:#f7e8f1;color:#872065;border-color:#edd3e3;font-weight:700}
.insta-filters button:hover{background:#f5f5f5;color:#111}
.insta-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem 1.2rem;padding:1.4rem clamp(1.25rem,3vw,3rem) 1.75rem}
.insta-post{display:block;min-width:0;border-radius:10px}
.insta-post-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:#131016;border-radius:9px}
.insta-post-image>img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.insta-format{position:absolute;top:.65rem;right:.65rem;padding:.2rem .55rem;border:1px solid #ffffff45;border-radius:5px;background:#171119df;color:#fff;font-size:.75rem;font-weight:600}
.insta-post-hover{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:1rem;text-align:center;background:#1e11275c;color:#fff;font-size:1rem;font-weight:700;opacity:0;transition:opacity .2s ease}
.insta-post:hover .insta-post-hover,.insta-post:focus-visible .insta-post-hover{opacity:1}
.insta-post:hover .insta-post-image>img{transform:scale(1.025)}
.insta-post-caption{padding:.9rem .15rem 0}
.insta-post-caption>strong{display:block;font-size:1rem;line-height:1.45;letter-spacing:-.02em}
.insta-post-caption>span{display:flex;justify-content:space-between;gap:.5rem;color:#666;font-size:.75rem;margin-top:.4rem;line-height:1.5}
.insta-post-caption>span>span{color:#a91e68;font-size:1.15rem;line-height:1}
.insta-profile-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid #e8e8e8;padding:1.2rem clamp(1.25rem,3vw,3rem);font-size:.875rem}
.insta-profile-footer>span{color:#666}
.insta-profile-footer>a{display:flex;align-items:center;gap:1rem;color:#8d235c;font-weight:700;min-height:44px}
.insta-profile-footer>a:hover{text-decoration:underline;text-underline-offset:4px}
.insta-hub a:focus-visible,.insta-hub button:focus-visible{outline:3px solid #fff;outline-offset:5px}
.insta-profile a:focus-visible,.insta-profile button:focus-visible{outline-color:#8c267f}
.insta-hub [hidden]{display:none!important}
@media(max-width:1000px){.insta-heading{gap:2rem}.insta-gallery{gap:1.5rem .8rem}.insta-profile-header{gap:1rem}.insta-avatar{width:92px;height:92px}}
@media(max-width:750px){.insta-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.insta-hub h2{font-size:clamp(2.3rem,8.5vw,4.5rem)}.insta-hub .insta-intro p{max-width:100%;font-size:1rem}.insta-profile{border-radius:18px}.insta-gallery{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;gap:1.5rem .8rem}.insta-profile-header{padding:1.5rem 1rem;flex-wrap:wrap}.insta-profile-button{margin-left:auto}.insta-avatar{width:80px;height:80px;padding:4px}.insta-avatar img{border-width:3px}.insta-profile-name>span{font-size:.8125rem}.insta-profile-footer{padding:.85rem 1rem;align-items:flex-start;gap:.3rem;flex-direction:column}.insta-gallery-bar{padding:.7rem 1rem;flex-wrap:wrap}.insta-post-caption>strong{font-size:.9375rem}.insta-format{font-size:.75rem;top:.4rem;right:.4rem}.insta-kicker{font-size:.8125rem;letter-spacing:.1em}}
@media(max-width:430px){.insta-gallery{grid-template-columns:minmax(0,1fr);gap:1.75rem}.insta-profile-name h3{font-size:1.25rem}.insta-avatar{width:68px;height:68px}.insta-profile-name p{font-size:.875rem}.insta-profile-header{gap:.75rem}.insta-profile-button{width:100%;margin-top:.35rem}.insta-gallery-label{font-size:.75rem}.insta-filters{width:100%;justify-content:center}.insta-filters button{flex:1}.insta-post-caption>strong{font-size:1rem}}
