/* Instagram timeline inside the "Follow Saelem" section (layout after vanmorrison.com/music), with a grid view */
#connect .connect{flex:0 0 auto}
#connect .connect-in{padding-bottom:clamp(40px,6vw,72px)}
.ig{position:relative;background:var(--studio);color:var(--bone);display:flex;flex-direction:column;padding-top:0;border-top:1px solid rgba(242,235,227,.16)}
.ig-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 clamp(16px,4vw,40px)}
.ig-title{display:flex;flex-direction:column;gap:10px;min-width:0}
.ig-h{font-family:var(--display);font-stretch:125%;font-weight:800;letter-spacing:-.02em;font-size:clamp(26px,3.4vw,52px);line-height:.95;margin:0;text-transform:uppercase;white-space:nowrap}
.ig-follow{flex:none}

/* timeline */
.ig-viewport{--card:clamp(200px,min(50vh,28vw),440px);padding:clamp(24px,5vh,56px) 0 clamp(28px,5vh,56px);display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;outline:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.ig-viewport::-webkit-scrollbar{display:none}
.ig-viewport.dragging{cursor:grabbing}
.ig-viewport.dragging .ig-card{pointer-events:none}
.ig-track{display:flex;gap:clamp(20px,3vw,48px);padding:0 max(clamp(16px,4vw,40px),calc(50vw - var(--card) * 1.6));align-items:flex-start}
.ig-card{position:relative;flex:none;width:var(--card);display:block;text-decoration:none;color:var(--bone);-webkit-user-drag:none}
.ig-media{position:relative;aspect-ratio:1;overflow:hidden;background:rgba(0,0,0,.25);box-shadow:0 26px 60px rgba(0,0,0,.45);transition:transform .6s var(--ease)}
.ig-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease),filter .5s ease;-webkit-user-drag:none;user-select:none}
.ig-kind{position:absolute;top:12px;right:12px;width:22px;height:22px;fill:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.ig-meta{position:absolute;left:0;right:0;top:calc(100% + 18px);text-align:center;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .5s var(--ease)}
.ig-cap{margin:0;font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(15px,1.35vw,21px);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ig-date{display:block;margin-top:8px;font-family:var(--display);font-stretch:125%;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,235,227,.75)}
.ig-card:hover .ig-media,.ig-card:focus-visible .ig-media{transform:scale(1.035)}
.ig-card:hover .ig-media img{transform:scale(1.06)}
.ig-card:hover .ig-meta,.ig-card:focus-visible .ig-meta,.ig-card.is-center .ig-meta{opacity:1;transform:none}
.ig-card.ig-end .ig-media{display:grid;place-items:center;background:transparent;border:1px solid rgba(242,235,227,.35);box-shadow:none;text-align:center;padding:24px}
.ig-card.ig-end b{display:block;font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:calc(var(--card) * .075);line-height:1.05;overflow-wrap:anywhere}
.ig-card.ig-end span{display:block;margin-top:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bone-dim)}
.ig-card.ig-end:hover .ig-media{background:var(--ground);border-color:var(--ground)}

/* bottom bar: date + progress (left), layout toggle (centre) */
.ig-ui{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:62px;padding:0 clamp(16px,4vw,40px) clamp(16px,3vh,28px)}
.ig-when{position:absolute;left:clamp(16px,4vw,40px);bottom:clamp(16px,3vh,28px);display:flex;flex-direction:column;gap:10px;width:min(260px,26vw)}
.ig-year{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(18px,2vw,28px);letter-spacing:-.01em;text-transform:uppercase;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig-bar{position:relative;display:block;height:2px;background:rgba(242,235,227,.22);overflow:hidden}
.ig-bar i{position:absolute;inset:0;background:var(--bone);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.ig-toggle{display:flex;gap:4px;padding:6px;border:1px solid rgba(242,235,227,.25);border-radius:999px;background:rgba(0,0,0,.18)}
.ig-toggle button{display:flex;align-items:center;gap:8px;background:none;border:0;border-radius:999px;color:rgba(242,235,227,.6);cursor:pointer;padding:9px 16px;font:600 12px/1 var(--display);font-stretch:125%;letter-spacing:.14em;text-transform:uppercase}
.ig-toggle button[aria-pressed="true"]{color:var(--bone)}
.ig-toggle button:hover{color:var(--bone)}
.ig-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4}
.ig-note{position:absolute;right:clamp(16px,4vw,40px);bottom:clamp(16px,3vh,28px);max-width:min(300px,30vw);margin:0;font-size:12px;line-height:1.5;color:rgba(242,235,227,.8);text-align:right}
.ig-note button{background:none;border:0;padding:0;color:var(--bone);text-decoration:underline;cursor:pointer;font:inherit}

/* grid view: the section scrolls vertically */
.ig[data-mode="grid"] .ig-viewport{display:block;overflow:visible;min-height:0;cursor:auto;padding:clamp(24px,4vh,48px) clamp(16px,4vw,40px) 40px}
.ig[data-mode="grid"] .ig-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,28px) clamp(16px,2vw,28px);padding:0 0 60px}
.ig[data-mode="grid"] .ig-card{width:auto}
.ig[data-mode="grid"] .ig-card.has-meta{margin-bottom:64px}
.ig[data-mode="grid"] .ig-card.ig-end b{font-size:clamp(16px,1.6vw,24px)}
.ig[data-mode="grid"] .ig-meta{opacity:1;transform:none;top:calc(100% + 12px)}
.ig[data-mode="grid"] .ig-when{visibility:hidden}
.ig[data-mode="grid"] .ig-ui{position:sticky;bottom:0;z-index:3;padding-top:28px;background:linear-gradient(rgba(142,15,18,0),var(--studio) 55%)}

@media (max-width:1024px){.ig[data-mode="grid"] .ig-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.ig[data-mode="grid"] .ig-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ig-card:not(.ig-end){cursor:zoom-in}
.ig-viewport.dragging .ig-card{cursor:grabbing}

/* pop-up slideshow */
.lb{position:fixed;inset:0;z-index:96;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:center;gap:clamp(8px,2vw,24px);padding:clamp(56px,8vh,80px) clamp(12px,3vw,36px);background:rgba(10,3,3,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .35s ease}
.lb.open{opacity:1}
.lb[hidden]{display:none}
.lb-stage{margin:0;height:100%;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6);user-select:none;-webkit-user-drag:none}
.lb-img.in-r{animation:lb-in-r .45s var(--ease) both}
.lb-img.in-l{animation:lb-in-l .45s var(--ease) both}
@keyframes lb-in-r{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes lb-in-l{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.lb-nav{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(242,235,227,.35);background:rgba(0,0,0,.25);color:var(--bone);cursor:pointer;transition:background .2s,border-color .2s}
.lb-nav:hover{background:var(--studio);border-color:var(--studio)}
.lb-nav svg,.lb-x svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
.lb-x{position:absolute;top:clamp(12px,2vh,20px);right:clamp(12px,3vw,36px);display:flex;align-items:center;gap:10px;background:none;border:1px solid rgba(242,235,227,.4);color:var(--bone);cursor:pointer;padding:10px 14px;font:600 12px/1 var(--display);font-stretch:125%;letter-spacing:.14em;text-transform:uppercase}
.lb-x:hover{background:var(--bone);color:var(--ground)}
.lb-x svg{width:14px;height:14px}
.lb-count{position:absolute;left:50%;bottom:clamp(14px,3vh,28px);transform:translateX(-50%);font:800 14px/1 var(--display);font-stretch:125%;letter-spacing:.2em;color:var(--bone)}
@media (max-width:640px){
.lb{grid-template-columns:minmax(0,1fr);padding:64px 12px 72px}
.lb-nav{position:absolute;bottom:14px;width:46px;height:46px;z-index:2}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-count{bottom:30px}
}
@media (prefers-reduced-motion:reduce){.lb{transition:none}.lb-img.in-r,.lb-img.in-l{animation:none}}

/* touch screens: captions always shown */
@media (hover:none){.ig-meta{opacity:1;transform:none}.ig-viewport{cursor:auto}}
@media (max-width:760px){
.ig-head{flex-direction:column;align-items:flex-start}
.ig-follow{padding:11px 18px;font-size:11px}
.ig-viewport{--card:min(70vw,48vh)}
.ig-track{padding:0 16px}
.ig-when{position:static;width:auto;flex:1}
.ig-ui{justify-content:space-between;gap:16px;align-items:center}
.ig-note{position:static;max-width:none;text-align:left}
.ig-ui{flex-wrap:wrap}
}
@media (max-height:520px) and (orientation:landscape){
.ig-head .eyebrow{display:none}
.ig-h{font-size:min(6vw,11vh)}
.ig-viewport{--card:min(52vh,30vw)}
}
@media (prefers-reduced-motion:reduce){.ig-media,.ig-media img,.ig-meta{transition:none}.ig-card:hover .ig-media,.ig-card:hover .ig-media img{transform:none}}
