/* AOI::lab — carved ink, paper and spectral misregistration. Scoped library styles. */
.aoi-lab{--lab-ink:#1a1023;--lab-paper:#fff5d9;--lab-flow:linear-gradient(115deg,#50d6df 0%,#ac6dcc 28%,#e914ac 49%,#ff6474 73%,#ffe153 100%);position:relative;isolation:isolate;display:block;box-sizing:border-box;margin:0;max-width:100%;color:var(--lab-ink);font-family:Arial,Helvetica,sans-serif}
.aoi-lab *{box-sizing:border-box}.aoi-lab .aoi-lab-link{position:relative;isolation:isolate;display:grid;overflow:hidden;width:100%;height:100%;color:var(--lab-ink);text-decoration:none!important;background:var(--lab-paper);border:3px solid var(--lab-ink);box-shadow:5px 5px 0 var(--lab-ink);border-radius:0;transition:box-shadow .2s,transform .2s}
.aoi-lab-link:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.33;background:repeating-linear-gradient(94deg,transparent 0 5px,#633f3520 5px 6px),repeating-linear-gradient(2deg,transparent 0 18px,#633f3515 18px 19px)}
.aoi-lab-link:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #7721ac}.aoi-lab-link:focus-visible{outline:4px solid #7828b0;outline-offset:7px}
.aoi-lab .lab-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 10px/1.2 'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--lab-ink);padding:10px 14px;background:var(--lab-flow)}
.aoi-lab .lab-copy{position:relative;z-index:2;padding:18px 22px}.aoi-lab .lab-name{display:block;font-size:clamp(32px,5vw,64px);font-weight:950;line-height:.92;letter-spacing:-.065em;margin:0 0 14px}.aoi-lab .lab-name em{font-style:normal;color:#7920a4}
.aoi-lab .lab-deck{display:block;max-width:32ch;font:13px/1.45 'Courier New',monospace;margin:12px 0 20px}.aoi-lab .lab-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:var(--lab-ink);color:var(--lab-paper);padding:11px 15px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:3px 3px 0 #d825b5}.aoi-lab .lab-cta b{font-size:20px;line-height:1}
.aoi-lab .lab-art{position:relative;overflow:hidden;display:grid;place-items:center;background:var(--lab-flow);border:2px solid var(--lab-ink);transform:rotate(2deg);color:var(--lab-ink)}
.aoi-lab .lab-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-24deg,transparent 0 7px,#fff5d94f 7px 9px);pointer-events:none}.aoi-lab .lab-art svg{position:relative;display:block;width:90%;height:90%;max-height:300px;filter:drop-shadow(3px 2px 0 #fff5d9);overflow:visible}
.aoi-lab .lab-foot{font:700 9px/1.3 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;padding:9px 40px 9px 14px;border-top:2px solid var(--lab-ink)}
.aoi-lab .lab-noise{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:linear-gradient(90deg,#58d8df 0 12%,transparent 12% 64%,#ec17ad 64% 81%,transparent 81%) 0 27%/100% 7% no-repeat,linear-gradient(90deg,transparent 0 23%,#ffe153 23% 51%,transparent 51% 87%,#64d8dc 87%) 0 72%/100% 5% no-repeat;mix-blend-mode:multiply}
.aoi-lab .lab-motion{display:none;position:absolute;z-index:5;bottom:3px;right:3px;width:32px;height:29px;align-items:center;justify-content:center;border:1px solid var(--lab-ink);border-radius:0;background:var(--lab-paper);color:var(--lab-ink);font:700 13px/1 monospace;cursor:pointer;padding:0}.aoi-lab[data-lab-ready] .lab-motion{display:flex}.aoi-lab .lab-motion:focus-visible{outline:3px solid #7721ac;outline-offset:3px}
.aoi-lab--square{width:280px;aspect-ratio:1}.aoi-lab--square .aoi-lab-link{grid-template-rows:auto 1fr auto}.aoi-lab--square .lab-copy{padding:14px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.aoi-lab--square .lab-name{font-size:clamp(25px,6vw,44px);z-index:2}.aoi-lab--square .lab-art{position:absolute;width:45%;height:65%;right:13px;bottom:14px;z-index:-1}.aoi-lab--square .lab-deck{max-width:13ch;font-size:11px;margin:0 0 12px}.aoi-lab--square .lab-cta{padding:8px 10px;font-size:10px}
.aoi-lab--icon{width:104px;aspect-ratio:1}.aoi-lab--icon .aoi-lab-link{padding:7px;background:var(--lab-flow)}.aoi-lab--icon .lab-art{transform:none;border:2px solid var(--lab-ink);background:var(--lab-paper)}.aoi-lab--icon .lab-motion{width:24px;height:22px;font-size:11px}.aoi-lab--icon .lab-art svg{width:100%;height:100%}
.aoi-lab--wide{width:660px}.aoi-lab--wide .aoi-lab-link{grid-template-columns:1fr 150px;grid-template-rows:auto 1fr auto}.aoi-lab--wide .lab-head,.aoi-lab--wide .lab-foot{grid-column:1/-1}.aoi-lab--wide .lab-copy{padding:20px}.aoi-lab--wide .lab-name{font-size:clamp(34px,6vw,54px)}.aoi-lab--wide .lab-deck{margin:8px 0 14px}.aoi-lab--wide .lab-art{margin:16px 16px 16px 0;min-height:150px}
.aoi-lab--banner{width:1120px}.aoi-lab--banner .aoi-lab-link{grid-template-columns:1.2fr 1fr;grid-template-rows:auto 1fr auto}.aoi-lab--banner .lab-head,.aoi-lab--banner .lab-foot{grid-column:1/-1}.aoi-lab--banner .lab-copy{padding:32px}.aoi-lab--banner .lab-name{font-size:clamp(38px,8vw,86px)}.aoi-lab--banner .lab-deck{font-size:15px;max-width:34ch}.aoi-lab--banner .lab-art{margin:22px 28px 22px 0;min-height:240px}.aoi-lab--banner .lab-art:after{content:"✦  CARVE / PRINT / REPEAT";position:absolute;bottom:7px;font:700 9px/1.3 monospace;letter-spacing:.06em}
@keyframes aoi-lab-slice{0%,100%{opacity:0;transform:none}25%,65%{opacity:.7;transform:translateX(3px)}45%{opacity:.25;transform:translateX(-4px)}}
@keyframes aoi-lab-register{0%,100%{filter:drop-shadow(3px 2px 0 #fff5d9);transform:none}30%,70%{filter:drop-shadow(-5px 0 0 #55d8df) drop-shadow(5px 0 0 #ed21a7);transform:translate(2px,-1px)}}
@keyframes aoi-lab-cut{0%,100%{clip-path:inset(0);transform:none}40%{clip-path:polygon(0 0,100% 0,100% 43%,82% 43%,82% 48%,100% 48%,100% 100%,0 100%,0 70%,12% 70%,12% 65%,0 65%);transform:translateX(-2px)}}
.aoi-lab[data-glitch] .lab-noise{animation:aoi-lab-slice .7s steps(1,end) both}.aoi-lab[data-glitch=register] .lab-art svg{animation:aoi-lab-register .7s steps(1,end) both}.aoi-lab[data-glitch=cut] .lab-art{animation:aoi-lab-cut .7s steps(1,end) both}
@media(max-width:520px){.aoi-lab--wide .aoi-lab-link{grid-template-columns:minmax(0,1fr) 92px}.aoi-lab--wide .lab-copy{padding:16px}.aoi-lab--wide .lab-art{margin:16px 12px 16px 0}.aoi-lab--wide .lab-deck{font-size:11px}.aoi-lab--banner .aoi-lab-link{grid-template-columns:1fr}.aoi-lab--banner .lab-copy{padding:24px}.aoi-lab--banner .lab-art{grid-row:3;margin:0 24px 22px;min-height:190px;max-height:220px}.aoi-lab--banner .lab-foot{grid-row:4}.aoi-lab--banner .lab-deck{font-size:13px}.aoi-lab .lab-head{font-size:9px;letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){.aoi-lab *, .aoi-lab *:before,.aoi-lab *:after{animation:none!important;transition:none!important}.aoi-lab .aoi-lab-link:hover{transform:none}.aoi-lab .lab-noise{opacity:0!important}}
