.ig-section{max-width:1320px;margin:auto;padding:clamp(3.5rem,7vw,7rem) 5vw;background:var(--oi-paper);color:var(--oi-ink)}
.ig-heading{text-align:center;margin-bottom:3rem}
.ig-heading .oi-eyebrow{margin-left:auto;margin-right:auto}
.ig-heading h2{max-width:22ch;margin-inline:auto;font-size:clamp(2rem,4vw,3.6rem);color:var(--oi-ink)}
.ig-handle{display:inline-block;margin-top:1.5rem;color:var(--oi-bronze);padding:.3rem 0;border-bottom:1px solid currentColor}
.ig-handle:hover{color:var(--oi-ink)}
.ig-profile{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 auto 2rem;max-width:1440px}
.ig-identity{display:flex;align-items:center;gap:1rem}
.ig-identity img{border-radius:50%;object-fit:cover}
.ig-identity span span{display:block;font-size:.85rem;margin-top:.25rem}
.ig-follow{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--oi-ink);border-radius:2px;color:var(--oi-ink);padding:.9rem 1.4rem;font-size:.9rem;white-space:nowrap;transition:background .2s}
.ig-follow:hover{background:var(--oi-rose)}
.ig-carousel{max-width:1440px;margin:auto}
.ig-feed{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * 20px)/5);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--oi-gold) var(--oi-paper);padding-bottom:12px}
.ig-card{position:relative;display:block;aspect-ratio:1;scroll-snap-align:start;overflow:hidden;background:var(--oi-white)}
.ig-card>img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.ig-kind{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.65);color:white;font-size:.72rem;padding:.2rem .5rem}
.ig-overlay{position:absolute;inset:0;background:rgba(14,25,20,.62);color:white;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;opacity:0;transition:opacity .25s;font-size:.85rem}
.ig-card:hover .ig-overlay,.ig-card:focus-visible .ig-overlay{opacity:1}
.ig-card:hover>img{transform:scale(1.035)}
.ig-controls{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.5rem}
.ig-controls button{border:1px solid var(--oi-gold);background:transparent;color:var(--oi-ink);border-radius:50%;width:44px;height:44px}
.ig-controls button:disabled{opacity:.3;cursor:default}
.ig-note{max-width:none;text-align:center;font-size:.8rem;color:#58635c;margin-top:1.5rem}
.ig-note a{text-decoration:underline;text-underline-offset:3px}
.ig-dialog{width:min(900px,calc(100% - 24px));max-height:90svh;padding:0;border:0;background:var(--oi-paper);color:var(--oi-ink);overflow:auto}
.ig-dialog[open]{display:grid;grid-template-columns:1.25fr 1fr}
.ig-dialog::backdrop{background:rgba(5,15,10,.78)}
.ig-dialog-image{width:100%;height:100%;max-height:80svh;object-fit:contain;background:#17231d}
.ig-dialog-copy{padding:4rem 1.6rem 2rem;align-self:center}
.ig-dialog-copy h2{font-size:2rem}
.ig-dialog-copy p{margin:1rem 0 2rem}
.ig-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:1px solid var(--oi-ink);color:var(--oi-ink);background:var(--oi-paper);font-size:1.5rem;border-radius:50%}
.oi-footer{position:relative;z-index:1;background:var(--oi-paper)}
@media(max-width:900px){.ig-feed{grid-auto-columns:calc((100% - 40px)/3)}}
@media(max-width:600px){.ig-section{padding-top:3.5rem;padding-bottom:3rem}.ig-profile{align-items:start;flex-direction:column;gap:1rem}.ig-feed{grid-auto-columns:72%;gap:12px}.ig-dialog[open]{grid-template-columns:1fr}.ig-dialog-image{height:auto;max-height:52svh}.ig-dialog-copy{padding:1.5rem}.ig-heading{margin-bottom:2rem}}
@media(prefers-reduced-motion:reduce){.ig-card>img,.ig-overlay{transition:none}.ig-card:hover>img{transform:none}}
