:root{--sheet-w: clamp(250px, 30vw, 330px);--pile: 26px}.desk{position:relative}.desk-flow{position:relative;columns:calc(var(--sheet-w) + var(--pile)) 3;column-gap:2.25rem}.desk.spread .desk-flow{columns:auto;column-count:1;display:block}.desk.spread .desk-flow>*{margin:0;width:auto}.desk-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.desk-hint{font-size:.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.55}.desk-btn{flex:0 0 auto;cursor:pointer;font-size:.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);background:var(--sage);border:2px solid var(--accent);padding:.4rem .8rem}.desk-btn:hover{color:var(--sage);background:var(--accent)}.desk-actions{display:flex;gap:.5rem}.desk-btn[hidden]{display:none}.desk-flow>*{break-inside:avoid;margin:0 0 2.25rem;width:100%}.desk-item{position:relative;background:var(--sage);border:2px solid var(--accent);box-shadow:4px 4px #0000001f}.desk,.desk-item{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.desk-item img,.desk-item canvas{-webkit-user-drag:none;user-drag:none}.desk.spread .desk-item{position:absolute;margin:0}.desk.spread .desk-item{touch-action:none;cursor:grab}.desk.spread .desk-item.dragging{cursor:grabbing;box-shadow:10px 10px #0000002e}.paper{flex:0 0 auto;width:var(--sheet-w);height:calc(var(--sheet-w) * 1.414);padding:1.5rem 1.6rem 2.2rem 2.9rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:3px 3px #0000001a,7px 7px #0000000f}.paper:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to right,transparent 2.1rem,color-mix(in srgb,var(--accent) 45%,transparent) 2.1rem calc(2.1rem + 1px),transparent calc(2.1rem + 1px)),url(/brand/jackal-texture.png) repeat top left;background-size:auto,300px 300px;opacity:.5}.paper>*{position:relative;z-index:1}.paper-punch{position:absolute;left:.72rem;top:22%;bottom:22%;z-index:1;display:flex;flex-direction:column;justify-content:space-between}.paper-punch i{display:block;width:.62rem;height:.62rem;border-radius:50%;border:2px solid var(--accent);opacity:.35}.paper-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-bottom:.5rem;margin-bottom:.9rem;border-bottom:2px solid var(--accent)}.paper-mark{font-size:.6rem;font-weight:700;letter-spacing:3px;text-transform:uppercase}.paper-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;letter-spacing:1px;opacity:.5}.paper-body{flex:1 1 auto;overflow:hidden}.paper-body p{font-size:.8rem;line-height:1.7;text-align:left}.paper-body p+p{margin-top:.85rem;text-indent:1.1rem}.paper-body strong{font-weight:600}.paper-body em{font-style:italic}.paper-no{position:absolute;right:1rem;bottom:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;font-weight:700;letter-spacing:1px;color:var(--accent);border:2px solid var(--accent);padding:.1rem .35rem;opacity:.55;transform:rotate(-4deg)}.paper-no i{font-style:normal;opacity:.6}.desk-stack{position:relative;height:calc(var(--sheet-w) * 1.414 + var(--pile))}.desk-stack .paper{position:absolute;top:0;left:0;width:var(--sheet-w);--rot: 0deg;z-index:calc(40 - var(--i));transform:translate(calc(min(var(--i),6)*3px),calc(min(var(--i),6)*3px)) rotate(var(--rot));pointer-events:none}.desk-stack .paper:nth-child(3n){--rot: -.7deg}.desk-stack .paper:nth-child(3n+2){--rot: .6deg}.desk-stack .paper{box-shadow:none}.desk-stack .paper:first-child{box-shadow:3px 3px #0000001a,8px 8px 18px #0000001a}.desk-stack .paper:first-child{pointer-events:auto}.desk.spread .desk-stack{position:static;width:auto;height:auto}.desk.spread .desk-stack .paper{position:absolute;pointer-events:auto;transform:none}.desk-stack-count{position:absolute;right:0;bottom:0;z-index:50;display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:700;color:var(--sage);background:var(--accent);border:2px solid var(--sage)}.desk.spread .desk-stack-count{display:none}.note{aspect-ratio:1 / 1;padding:1.1rem 1rem;border:0;display:flex;align-items:center;color:#2b2b28;box-shadow:3px 5px 10px #00000038;background:var(--note, #EFDE72);background-image:linear-gradient(#00000012,#0000 14%)}.note p{font-size:.82rem;line-height:1.5;font-weight:500}.note--yellow{--note: #EFDE72}.note--pink{--note: #F2AEB6}.note--blue{--note: #A9C9E4}.note--green{--note: #B6DCA8}.desk-flow .note:nth-of-type(2n){transform:rotate(2.2deg)}.desk-flow .note:nth-of-type(odd){transform:rotate(-1.8deg)}.sticker{border:0;background:none;box-shadow:none}.sticker img{display:block;width:100%;height:auto;filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(2.1px 2.1px 0 #fff) drop-shadow(-2.1px 2.1px 0 #fff) drop-shadow(2.1px -2.1px 0 #fff) drop-shadow(-2.1px -2.1px 0 #fff) drop-shadow(3px 5px 4px rgba(0,0,0,.35))}.desk-flow .sticker:nth-of-type(2n){transform:rotate(-5deg)}.desk-flow .sticker:nth-of-type(odd){transform:rotate(4deg)}.card{padding:1.4rem 1.5rem}.card dl{display:grid;gap:.75rem}.card dt{font-size:.58rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.55}.card dd{font-size:.88rem;font-weight:600;line-height:1.35;margin-top:.15rem}.card-title{font-size:.95rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding-bottom:.6rem;margin-bottom:.9rem;border-bottom:2px solid var(--accent)}.photo{border:0;background:none;box-shadow:none;padding:0;perspective:1400px;cursor:pointer}.photo-inner{position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.photo.flipped .photo-inner{transform:rotateY(180deg)}.photo-face{border:2px solid var(--accent);background:var(--sage);box-shadow:4px 4px #0000001f;backface-visibility:hidden;-webkit-backface-visibility:hidden}.photo-face{width:100%;aspect-ratio:3 / 2}.photo-front canvas{display:block;width:100%;height:100%}.photo-back{position:absolute;inset:0;transform:rotateY(180deg);overflow:hidden;background:#000}.photo-back img{width:100%;height:100%;object-fit:cover;display:block}.photo-tools{position:absolute;right:.5rem;top:.5rem;z-index:4;display:flex;gap:.35rem}.desk-tool{display:grid;place-items:center;width:2.1rem;height:2.1rem;padding:0;color:var(--accent);background:var(--sage);border:2px solid var(--accent);cursor:pointer}.desk-tool svg{width:1.05rem;height:1.05rem}.desk-tool:hover{color:var(--sage);background:var(--accent)}.desk-tool .ic-out,.magnified .desk-tool .ic-in{display:none}.magnified .desk-tool .ic-out{display:block}.desk-scrim{position:fixed;inset:0;z-index:9998;background:#080808e0;backdrop-filter:blur(3px);cursor:zoom-out}.desk-scrim[hidden]{display:none}.desk-close{position:fixed;top:1rem;right:1rem;z-index:10000;width:3rem;height:3rem;display:grid;place-items:center;font-size:1.8rem;font-weight:700;line-height:1;color:var(--accent);background:var(--sage);border:2px solid var(--accent);cursor:pointer}.desk-close[hidden]{display:none}.desk-item.photo.magnified{position:fixed!important;z-index:9999!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:auto!important;height:auto!important;max-width:92vw;max-height:90vh;margin:0!important;padding:0;border:0;background:none;box-shadow:none;cursor:zoom-out}.photo.magnified .photo-inner{transform:none!important;max-height:90vh}.photo.magnified .photo-face{position:static;inset:auto;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;overflow:visible;box-shadow:none;border:2px solid var(--sage)}.photo.magnified .photo-back{display:block;background:#000}.photo.magnified.flipped .photo-front{display:none}.photo.magnified:not(.flipped) .photo-back{display:none}.photo.magnified .photo-front{width:min(92vw,calc(90vh * var(--ar, 1.5)));aspect-ratio:var(--ar, 1.5)}.photo.magnified .photo-front canvas{width:100%;height:100%}.photo.magnified .photo-back{width:auto;height:auto;aspect-ratio:auto}.photo.magnified .photo-back img{width:auto;height:auto;max-width:92vw;max-height:90vh;object-fit:contain}.photo.magnified .photo-cap{display:none}.paper-tools{position:absolute;right:.6rem;top:.6rem;z-index:4}.paper.magnified{width:var(--sheet-w);position:fixed!important;z-index:9999!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) scale(var(--k, 1))!important;margin:0!important;user-select:text;-webkit-user-select:text;cursor:auto;box-shadow:0 24px 60px #00000080}.paper.magnified .paper-body{user-select:text;-webkit-user-select:text}.paper.magnified .desk-tool{transform:scale(calc(1 / var(--k, 1)));transform-origin:top right}.desk-pager{position:fixed;inset:auto 0 0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem}.desk-pager[hidden]{display:none}.desk-pager button{display:grid;place-items:center;width:3rem;height:3rem;font-size:1.6rem;font-weight:700;line-height:1;color:var(--accent);background:var(--sage);border:2px solid var(--accent);cursor:pointer}.desk-pager button:hover{color:var(--sage);background:var(--accent)}.desk-pager span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:700;letter-spacing:1px;color:var(--sage);min-width:4.5rem;text-align:center}html.desk-zoom,html.desk-zoom body{overflow:hidden}.photo-cap{font-size:.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sage);background:var(--accent);padding:.35rem .6rem}.desk-item:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion: reduce){.photo-inner{transition:none}}@media (max-width: 640px){:root{--sheet-w: 100%}.desk-flow{columns:auto;column-count:1}.desk-flow>*{margin-bottom:1.5rem;width:100%}.desk-bar{display:none}.desk-stack{height:auto}.desk-stack .paper{position:static;width:100%;height:auto;transform:none;pointer-events:auto;box-shadow:3px 3px #0000001a}.desk-stack-count{display:none}.paper{padding:1.6rem 1.4rem 2rem}.paper-punch,.paper-tools{display:none}.paper-body{overflow:visible}.paper-body p{font-size:.95rem!important;line-height:1.65}.paper-body p+p{text-indent:0;margin-top:1rem}.paper-no{display:none}.note{aspect-ratio:auto;min-height:8rem}}.project[data-astro-cid-ovxcmftc]{padding-top:2rem;padding-bottom:4rem}.p-head[data-astro-cid-ovxcmftc]{padding-bottom:.85rem;border-bottom:2px solid var(--accent)}.p-kicker[data-astro-cid-ovxcmftc]{display:inline-flex;gap:.5rem;font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.6}.p-title-row[data-astro-cid-ovxcmftc]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.4rem}.p-title[data-astro-cid-ovxcmftc]{font-size:clamp(1.6rem,4.5vw,2.4rem);font-weight:700;letter-spacing:1px;text-transform:uppercase;line-height:1}.p-back[data-astro-cid-ovxcmftc]{flex:0 0 auto;font-size:.75rem;font-weight:600;letter-spacing:1px;color:var(--accent);text-decoration:none;opacity:.7}.p-back[data-astro-cid-ovxcmftc]:hover{opacity:1}.p-loop[data-astro-cid-ovxcmftc]{border:2px solid var(--accent);background:var(--sage);line-height:0}.p-loop-video[data-astro-cid-ovxcmftc]{display:block;width:100%;height:auto}.p-funders[data-astro-cid-ovxcmftc]{background:#fff;border:2px solid var(--accent);padding:1.1rem 1.25rem}.p-funders-label[data-astro-cid-ovxcmftc]{display:block;margin-bottom:.75rem;font-size:.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#333}.p-funders-row[data-astro-cid-ovxcmftc]{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}.p-funders-row[data-astro-cid-ovxcmftc] img[data-astro-cid-ovxcmftc]{display:block;width:100%;max-width:430px;height:auto}.p-hero[data-astro-cid-ovxcmftc]{border:2px solid var(--accent);background:var(--sage)}.p-hero[data-astro-cid-ovxcmftc] canvas{display:block;width:100%;aspect-ratio:16 / 8}
