/* Sector page · what is shifting — sticky market photograph beside a numbered ledger: shift → demand → signal. */
.ind-sx-shifts__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--bdh-gap-l);align-items:start}
.ind-sx-shifts__grid.is-flat{grid-template-columns:minmax(0,1fr)}
.ind-sx-shifts__fig{position:sticky;top:var(--bdh-sticky);margin:0}
.ind-sx-shifts__img img{object-position:var(--ind-focus,50% 50%)}
.ind-sx-shifts__cap{margin-top:14px;padding-left:12px;border-left:2px solid var(--blue);font-size:var(--t-xs);line-height:1.55;color:var(--muted);max-width:44ch}

.ind-sx-shifts__list{border-top:1px solid var(--ink)}
.ind-sx-shift{display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 18px;padding:clamp(24px,2.8vw,36px) 0;border-bottom:1px solid var(--line-3)}
.ind-sx-shift__n{padding-top:7px;font-family:var(--f);font-size:var(--t-sm);font-weight:500;color:var(--blue);font-variant-numeric:tabular-nums}
.ind-sx-shift__body{min-width:0}
.ind-sx-shift__t{font-family:var(--f-h);font-size:clamp(1.2rem,1.75vw,1.55rem);font-weight:500;line-height:1.26;letter-spacing:-.014em;color:var(--ink);max-width:30ch}
.ind-sx-shift__k{display:inline-flex;align-items:center;gap:10px;flex:none;font-family:var(--f);font-size:var(--t-lbl);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ind-sx-shift__d{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;font-size:var(--t-body);line-height:1.6;color:var(--txt);max-width:60ch}
.ind-sx-shift__d .ind-sx-shift__k{color:var(--ink)}
.ind-sx-shift__arrow{position:relative;display:inline-block;width:30px;height:1px;background:var(--ink);transform-origin:left center}
.ind-sx-shift__arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--ink);border-right:1px solid var(--ink);transform:rotate(45deg)}
.ind-sx-shift__s{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px;padding:11px 14px;border:1px dashed var(--line-3);border-radius:var(--r-sm);background:var(--paper);
  font-size:var(--t-xs);line-height:1.55;color:var(--txt);max-width:62ch}
.ind-sx-shift__s .ind-sx-shift__k{color:var(--blue-d)}

/* motion: rows lift in and each arrow draws (JS adds .is-anim, then .is-in on entry) */
.ind-sx-shifts__list.is-anim .ind-sx-shift{opacity:0;transform:translateY(16px);transition:opacity .7s var(--e) calc(var(--i) * 90ms),transform .7s var(--e) calc(var(--i) * 90ms)}
.ind-sx-shifts__list.is-anim .ind-sx-shift__arrow{transform:scaleX(0);transition:transform .7s var(--e) calc(var(--i) * 90ms + 300ms)}
.ind-sx-shifts__list.is-anim.is-in .ind-sx-shift{opacity:1;transform:none}
.ind-sx-shifts__list.is-anim.is-in .ind-sx-shift__arrow{transform:none}

@media (max-width:1023px){.ind-sx-shifts__fig{position:static}}
@media (max-width:860px){
  .ind-sx-shifts__grid{grid-template-columns:minmax(0,1fr)}
  .ind-sx-shifts__fig .bdh-img{aspect-ratio:16/10}
}
@media (max-width:600px){
  .ind-sx-shift{grid-template-columns:minmax(0,1fr);gap:8px}
  .ind-sx-shift__n{padding-top:0}
}
@media (prefers-reduced-motion:reduce){
  .ind-sx-shifts__list.is-anim .ind-sx-shift,.ind-sx-shifts__list.is-anim .ind-sx-shift__arrow{opacity:1;transform:none;transition:none}
}
/* the photograph (about 660px tall with its caption) sticks only where the window can hold it below the nav */
@media (max-height:800px){.ind-sx-shifts__fig{position:static}}
