.instagram-section { border-top:1px solid var(--line); overflow:hidden; }
.instagram-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:36px; }
.instagram-heading h2 { margin-top:22px; font-size:clamp(52px,6vw,88px); line-height:1.06; }
.instagram-intro { max-width:345px; padding-bottom:8px; color:var(--muted); font-size:13px; }
.instagram-profile { display:flex; align-items:center; gap:20px; margin-top:24px; }
.instagram-profile > span { font-size:11px; overflow-wrap:anywhere; }
.instagram-profile .social-icon { width:44px; height:44px; flex-shrink:0; }
.instagram-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:28px 0 22px; border-bottom:1px solid var(--line); margin:25px 0 26px; min-height:76px; }
.instagram-collection-label { display:flex; align-items:center; gap:13px; font-size:8px; letter-spacing:1.5px; color:var(--muted); }
.instagram-collection-label i { font-size:22px; color:var(--gold); font-style:normal; }
.instagram-shuffle { display:inline-flex; align-items:center; justify-content:center; gap:11px; border:1px solid var(--line); background:var(--surface); color:var(--ink); min-height:44px; padding:10px 18px; font-size:11px; flex-shrink:0; transition:background .2s,border-color .2s; }
.instagram-shuffle:hover { border-color:var(--accent); background:var(--surface-2); }
.instagram-shuffle .icon { width:18px; height:18px; }
.instagram-collage { display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-template-rows:repeat(2,260px); gap:16px; position:relative; }
.instagram-card { display:block; position:relative; min-width:0; overflow:hidden; background:var(--surface-2); border:1px solid var(--line); isolation:isolate; }
.instagram-card:first-child { grid-row:span 2; }
.instagram-card:before { content:''; position:absolute; inset:-25px; background:var(--instagram-image) center/cover; filter:blur(20px); opacity:.45; z-index:-1; }
.instagram-card img { width:100%; height:100%; object-fit:contain; object-position:center; transition:transform .7s cubic-bezier(.2,.7,.3,1); }
.instagram-card:after { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,#13091015 45%,#130910d9); pointer-events:none; }
.instagram-card:focus-visible { outline-offset:3px; outline:2px solid var(--accent); }
.instagram-kind { position:absolute; top:14px; left:14px; font-size:9px; letter-spacing:.5px; background:#210e18d9; border:1px solid #f4e7df4d; color:#fff3ed; padding:4px 9px; z-index:1; border-radius:3px; }
.instagram-open { position:absolute; right:14px; top:14px; width:31px; height:31px; display:grid; place-items:center; border:1px solid #f4e7df66; background:#210e18c9; color:#fff3ed; font-size:19px; z-index:1; border-radius:50%; transition:transform .3s; }
.instagram-card-caption { position:absolute; z-index:1; left:19px; right:19px; bottom:17px; color:#fff3ed; display:grid; gap:5px; }
.instagram-card-caption > span:first-child { font-size:7px; letter-spacing:1.5px; }
.instagram-card-caption > span:last-child { font-size:11px; }
.instagram-card-caption i { font-style:normal; padding:0 5px; }
.instagram-card:first-child .instagram-card-caption { left:24px; bottom:25px; }
.instagram-card:first-child .instagram-card-caption > span:last-child { font-size:13px; }
.instagram-image-unavailable:before { content:'See this moment on Instagram'; position:absolute; inset:25%; text-align:center; display:grid; place-items:center; font-family:var(--serif); font-size:27px; line-height:1.2; color:var(--ink); background:none; filter:none; opacity:1; z-index:0; }
.instagram-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:26px; }
.instagram-bottom > p { color:var(--muted); font-size:10px; line-height:1.9; }
.instagram-bottom > p > span { font-size:9px; }
.instagram-bottom .text-link { min-height:44px; display:inline-flex; align-items:center; gap:22px; font-size:11px; }
.instagram-swipe-controls { display:none; }
.instagram-empty { grid-column:1/-1; grid-row:1/-1; display:grid; place-items:center; border:1px solid var(--line); font-family:var(--serif); font-size:clamp(25px,4vw,45px); min-height:240px; text-align:center; padding:30px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(hover:hover) and (pointer:fine) { .instagram-card:hover img { transform:scale(1.035); } .instagram-card:hover .instagram-open { transform:rotate(45deg); } }
@media(max-width:1024px) { .instagram-collage { grid-template-rows:repeat(2,220px); gap:12px; } .instagram-card-caption { left:13px; right:13px; bottom:13px; } .instagram-card-caption > span:first-child { font-size:6px; letter-spacing:1px; } .instagram-card-caption > span:last-child { font-size:10px; } }
@media(max-width:700px) {
  .instagram-heading { display:block; }
  .instagram-heading h2 { font-size:55px; margin-top:18px; }
  .instagram-intro { max-width:none; margin-top:24px; padding:0; font-size:12px; }
  .instagram-profile { margin-top:17px; gap:16px; }
  .instagram-profile > span { font-size:10px; }
  .instagram-toolbar { margin-top:17px; padding:20px 0; gap:12px; }
  .instagram-collection-label { font-size:6px; letter-spacing:1px; line-height:1.9; gap:9px; max-width:140px; }
  .instagram-collection-label i { font-size:24px; }
  .instagram-shuffle { font-size:10px; padding:10px 12px; gap:8px; }
  .instagram-collage { display:flex; gap:14px; grid-template-rows:none; margin-right:-6.5vw; padding:3px 6.5vw 16px 3px; margin-left:-3px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-left:3px; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:var(--accent) transparent; }
  .instagram-card,.instagram-card:first-child { flex:0 0 87%; height:auto; aspect-ratio:3/4; scroll-snap-align:start; grid-row:auto; }
  .instagram-card-caption,.instagram-card:first-child .instagram-card-caption { left:20px; bottom:20px; }
  .instagram-card-caption > span:first-child { font-size:7px; letter-spacing:1.5px; }
  .instagram-card-caption > span:last-child,.instagram-card:first-child .instagram-card-caption > span:last-child { font-size:12px; }
  .instagram-kind { font-size:9px; }
  .instagram-bottom { display:grid; grid-template-columns:1fr auto; gap:18px 12px; margin-top:15px; }
  .instagram-bottom > p { font-size:10px; }
  .instagram-bottom .text-link { grid-column:1/-1; justify-self:start; font-size:11px; }
  .instagram-swipe-controls { display:flex; align-items:center; gap:10px; }
  .instagram-swipe-controls > span { min-width:30px; text-align:center; font-size:9px; color:var(--muted); }
  .instagram-arrow { min-width:44px; height:44px; display:grid; place-items:center; background:transparent; border:1px solid var(--line); border-radius:50%; color:var(--ink); font-size:18px; }
  .instagram-arrow:disabled { opacity:.35; }
  .instagram-empty { flex:0 0 100%; min-height:260px; }
}
@media(max-width:370px) { .instagram-heading h2 { font-size:48px; } .instagram-bottom { grid-template-columns:1fr; } .instagram-swipe-controls { grid-row:1; justify-content:space-between; max-width:180px; } .instagram-card { flex-basis:92%; } }
html[data-motion=off] .instagram-card img,html[data-motion=off] .instagram-open { transition:none; }
@media(prefers-reduced-motion:reduce) { .instagram-card img,.instagram-open { transition:none; } }
