.elk-visual-chaos,.elk-visual-chaos *{box-sizing:border-box}.elk-visual-chaos{position:relative;width:100vw;max-width:none;margin-inline:calc(50% - 50vw);overflow:hidden;background:var(--elk-chaos-light,#f5f1e8);color:var(--elk-chaos-dark,#111);border-top:4px solid var(--elk-chaos-accent,#f0522d);isolation:isolate}.elk-visual-chaos__header{position:relative;z-index:20;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;width:min(calc(100% - 40px),1180px);margin:0 auto;padding:clamp(44px,6vw,82px) 0 20px}.elk-visual-chaos__header p{margin:0 0 12px;font:800 9px/1 var(--elk-font-heading,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}.elk-visual-chaos__header h2{margin:0;font-family:"Forma DJR Display",Arial,sans-serif;font-size:clamp(40px,5.2vw,76px);font-weight:400;line-height:.86;letter-spacing:-.05em}.elk-visual-chaos__controls{display:flex;gap:8px;flex:0 0 auto}.elk-visual-chaos__controls button{appearance:none;margin:0;padding:12px 16px;border:1px solid var(--elk-chaos-dark);border-radius:0;background:transparent;color:var(--elk-chaos-dark);font:800 9px/1 var(--elk-font-heading,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .18s,color .18s,transform .18s}.elk-visual-chaos__controls button:hover,.elk-visual-chaos__controls button:focus-visible,.elk-visual-chaos__controls button[aria-pressed="true"]{background:var(--elk-chaos-dark);color:var(--elk-chaos-light);transform:translateY(-2px)}.elk-visual-chaos__controls button:focus-visible{outline:2px solid var(--elk-chaos-accent);outline-offset:3px}.elk-visual-chaos__field{position:relative;height:clamp(560px,62vw,790px);overflow:hidden;isolation:isolate;touch-action:none;border-bottom:1px solid color-mix(in srgb,var(--elk-chaos-dark) 22%,transparent)}.elk-visual-chaos__field:after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:0;height:1px;background:var(--elk-chaos-accent);opacity:.72}.elk-visual-sticker{position:absolute;z-index:2;left:0;top:0;width:clamp(122px,12vw,184px);margin:0;padding:7px;background:#fff;border:1px solid var(--elk-chaos-accent);box-shadow:0 12px 24px rgba(0,0,0,.15);color:var(--elk-chaos-dark);cursor:grab;will-change:transform;user-select:none;-webkit-user-select:none;touch-action:none;transform-origin:center}.elk-visual-sticker:nth-child(3n+2){width:clamp(112px,11vw,170px)}.elk-visual-sticker:nth-child(4n){width:clamp(132px,13vw,198px)}.elk-visual-sticker.is-dragging{z-index:100;cursor:grabbing;box-shadow:0 18px 34px rgba(0,0,0,.24)}.elk-visual-sticker__image{display:grid;place-items:center;width:100%;aspect-ratio:4/5;overflow:hidden;background:#fff}.elk-visual-sticker__image img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.elk-visual-sticker__caption{display:grid;gap:3px;padding:8px 3px 3px}.elk-visual-sticker__caption small{font:800 7px/1 var(--elk-font-heading,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--elk-chaos-accent)}.elk-visual-sticker__caption strong{font:700 12px/1.05 "Forma DJR Display",Arial,sans-serif;letter-spacing:-.015em}.elk-visual-chaos__hint{position:absolute;right:max(20px,calc((100vw - 1180px)/2));bottom:15px;z-index:10;margin:0;color:var(--elk-chaos-dark);font:800 8px/1 var(--elk-font-heading,Arial,sans-serif);letter-spacing:.11em;text-transform:uppercase;opacity:.55;pointer-events:none}.elk-visual-chaos.is-organised .elk-visual-sticker{box-shadow:0 7px 14px rgba(0,0,0,.12)}

.elk-visual-chaos.is-static .elk-visual-chaos__field{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;height:auto;min-height:0;padding:24px max(20px,calc((100vw - 1180px)/2)) 48px;touch-action:auto}.elk-visual-chaos.is-static .elk-visual-sticker{position:relative;left:auto;top:auto;width:100%;max-width:190px!important;justify-self:center;transform:none!important;will-change:auto;cursor:default}.elk-visual-chaos.is-static .elk-visual-chaos__hint{display:none}

@media(max-width:700px){.elk-visual-chaos__header{display:grid;align-items:start;padding:38px 0 18px}.elk-visual-chaos__header h2{font-size:clamp(38px,13vw,60px)}.elk-visual-chaos__controls{width:100%}.elk-visual-chaos__controls button{flex:1;padding:11px 12px}.elk-visual-chaos__field{display:grid;grid-auto-flow:column;grid-auto-columns:min(42vw,170px);gap:14px;height:auto;min-height:0;padding:18px 20px 42px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;touch-action:pan-x;-webkit-overflow-scrolling:touch}.elk-visual-sticker,.elk-visual-sticker:nth-child(n){position:relative;left:auto;top:auto;width:100%;max-width:none;transform:none!important;scroll-snap-align:start;will-change:auto;cursor:default}.elk-visual-chaos__hint{display:none}}

@media(prefers-reduced-motion:reduce){.elk-visual-sticker{will-change:auto;transition:none}.elk-visual-chaos__controls button{transition:none}}

/* The collage is intentionally a desktop experience. Touch users get the
   programme and editorial content without loading or navigating the physics UI. */
@media(max-width:700px){.elk-visual-chaos{display:none!important}}

/* Wait for card images and fonts before revealing the physics canvas. */
.elk-visual-chaos.is-preparing .elk-visual-sticker{opacity:0}
.elk-visual-chaos.is-ready .elk-visual-sticker{opacity:1;transition:opacity .22s ease}
