:root{--muted:color-mix(in srgb, var(--fg) 62%, var(--bg));--thread-text:color-mix(in srgb, var(--thread) 75%, var(--fg));--line:color-mix(in srgb, var(--fg) 22%, var(--bg));--measure:50ch}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);font:400 1.0625rem/1.55 var(--f-body);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);position:fixed;inset:0 0 auto}a{color:inherit}img{max-width:100%;height:auto}h1,h2,h3,p,dl,dd,blockquote{margin:0}h1,h2,h3{text-wrap:balance}a:focus-visible,button:focus-visible{outline:3px solid var(--ring,var(--accent));outline-offset:3px}.brand-name,.h2,.entry-meta h3,.cover-title,.proj-title,.prose h2,.next-text strong,.tile b{font-family:var(--f-display);font-stretch:var(--stretch);font-weight:var(--w-heavy)}.entry-meta h3,.prose h2{font-stretch:var(--stretch-sub);font-weight:var(--w-sub);letter-spacing:-.01em}.wrap{max-width:1360px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin-inline:auto}.mono{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.muted{color:var(--muted)}.stitch{border:0;border-top:3px dashed var(--thread);margin:0}.stitch.thin{border-top-width:1px;border-color:var(--thread)}.bar{top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px dashed var(--line);position:sticky}.bar .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:.85rem;display:flex}.brand{align-items:center;text-decoration:none;display:flex}.brand:hover{color:var(--accent)}.brand-name{text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;max-width:12em;margin-left:.55rem;font-size:1.25rem;line-height:1;transition:max-width .45s,margin .45s,opacity .3s;overflow:hidden}.bar.show-logo .brand-name{opacity:0;max-width:0;margin-left:0}.brand-mark{width:2.5rem;height:2.5rem;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat;background:currentColor;flex:none;display:block}.bar.no-anim .brand-name{transition:none}@media (prefers-reduced-motion:reduce){.brand-name{transition:none}}.nav{flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;display:flex}.nav a{font:500 .9375rem var(--f-body);padding:.25rem 0;text-decoration:none}.nav a:hover{color:var(--accent)}@media (width<=640px){.bar .nav{justify-content:center;width:100%}}.nav .play{font:500 .8125rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--bg);cursor:pointer;border:0;align-items:center;gap:.55rem;padding:.5rem .95rem .5rem .8rem;display:inline-flex}.nav .play:before{content:"";border-top:.38em solid #0000;border-bottom:.38em solid #0000;border-left:.6em solid}.nav .play:hover{background:var(--fg)}.greet{--greet-size:calc(clamp(2.5rem, 6.6vw, 5.94rem) * .667);grid-template-rows:auto minmax(7rem,1fr) auto;justify-items:center;row-gap:clamp(1rem,3vw,2rem);min-height:calc(100svh - 4.6rem);padding:clamp(2.5rem,8vh,6rem) 0 clamp(1.25rem,3vw,2rem);display:grid;position:relative;overflow:clip visible}.greet-foot{z-index:1;width:100%;position:relative}.squig-band{width:100%;min-height:0;position:relative}.squig{pointer-events:none;will-change:transform, opacity;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.squig-phone{display:none}.squig-screen{grid-area:2/1/3/-1;overflow:visible}.squig-screen .squig-line{stroke-width:52px}.squig-line{fill:none;stroke:var(--thread);stroke-width:22px;stroke-linecap:round;stroke-linejoin:round}.greet-text{z-index:1;text-align:center;align-self:end;justify-items:center;gap:1.1rem;padding-inline:16px;display:grid;position:relative}.greet-text h1{max-width:22ch;margin:0;&:has(.greet-br){text-wrap:initial;max-width:none}font-family:var(--f-greet);font-weight:600;font-size:var(--greet-size);letter-spacing:-.04em;line-height:1}.hi{color:var(--accent)}@media (width<=640px){.greet-br{display:none}}.greet-name{text-decoration:underline;text-decoration-color:var(--thread);text-underline-offset:.12em;text-decoration-skip-ink:none;text-decoration-thickness:.08em}.greet-facts{will-change:transform, opacity;position:relative}.greet.is-near{cursor:grab}.greet.is-grabbing{cursor:grabbing;user-select:none}@media (width<=640px){.greet{grid-template-rows:auto minmax(7rem,9.5rem) auto;align-content:space-evenly}.squig-wide{display:none}.squig-phone{display:block}.squig-line{stroke-width:30px}}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 2rem;padding-block:1.25rem 0;display:grid}.facts div{flex-direction:column;gap:.35rem;min-width:0;display:flex}.facts dd{font-size:.98rem}.facts dt{color:var(--thread-text)}.sec{--sec-pad:clamp(3rem, 7vw, 6rem);padding-block:var(--sec-pad) 0;scroll-margin-top:calc(var(--bar-h,4rem) + 1.25rem - var(--sec-pad))}.sec:has(>.wrap>.stitch:first-child){scroll-margin-top:calc(var(--bar-h,4rem) + 1.25rem - var(--sec-pad) - 2rem - 2px)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;padding-bottom:1.5rem;display:flex}.h2{color:var(--accent);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(2.5rem,7vw,5.5rem);line-height:.9}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{font:500 .8125rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);border:1px solid var(--line);cursor:pointer;background:0 0;padding:.45rem .8rem}.chip:hover{border-color:var(--thread)}.chip[aria-pressed=true]{background:var(--thread-text);color:var(--bg);border-color:var(--thread-text)}.feed{border-bottom:1px dashed var(--line);flex-direction:column;display:flex}.order-bar{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.9rem;display:flex}.order-bar+.entry{border-top:0;padding-top:.9rem}.order-bar .mono{color:var(--muted);margin-right:auto}.order-bar button{font:500 .6875rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);color:var(--fg);border:1px solid var(--line);cursor:pointer;padding:.4rem .6rem}.order-bar button:hover:not(:disabled){border-color:var(--fg)}.order-bar button:disabled{opacity:.35;cursor:default}.entry{border-top:1px dashed var(--line);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:clamp(1rem,3vw,3rem);padding-block:clamp(1.5rem,3vw,2.5rem);text-decoration:none;display:grid}.entry.flip{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.entry.flip .entry-meta{order:2}.entry-meta{flex-direction:column;gap:.9rem;min-width:0;display:flex;position:sticky;top:5.5rem}.entry.flip .cover{order:1}.entry-meta h3{font-size:clamp(1.6rem,2.6vw,2.35rem);line-height:1.05}.entry-meta p{color:var(--muted);max-width:40ch}.entry-meta>.mono{color:var(--thread-text)}.go{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.78rem}.go:after,.arr:after{content:" →";color:var(--thread)}.entry:hover .go{text-decoration:underline;text-decoration-color:var(--thread);text-underline-offset:4px}.entry:hover h3{color:var(--accent)}.cover{aspect-ratio:16/10;background:var(--p-bg);max-width:100%;color:var(--p-fg);flex-direction:column;justify-content:space-between;padding:clamp(1rem,2.4vw,2rem);display:flex;position:relative;overflow:hidden}.cover:after{content:"";opacity:.35;pointer-events:none;border:2px dashed;position:absolute;inset:10px}.cover-title{text-transform:uppercase;letter-spacing:-.02em;color:var(--p-ac);overflow-wrap:anywhere;font-size:clamp(2.6rem,8vw,7.5rem);line-height:.84}.cover-tag{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.cover-media{object-fit:cover;width:100%;height:100%;transform:scale(var(--zoom,1));transform-origin:var(--focus,50% 50%);display:block;position:absolute;inset:0}.cover.has-media .cover-tag,.cover.has-media .cover-title,.cover.has-media:after{display:none}@media (prefers-reduced-motion:no-preference){.cover.has-media{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.cover.has-media .cover-media{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.entry:hover .cover.has-media{transform:translateY(-6px)rotate(-1.2deg)}.entry.flip:hover .cover.has-media{transform:translateY(-6px)rotate(1.2deg)}.entry:hover .cover.has-media .cover-media{transform:scale(calc(var(--zoom,1) * 1.04))}}.see-all{font:500 .8125rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);padding:.45rem 0;text-decoration:none}.see-all:hover{text-decoration:underline;text-decoration-color:var(--thread);text-underline-offset:4px}.see-all-end{margin-top:1.5rem;display:inline-block}.index-page{padding-block:clamp(1.75rem,5vw,4rem) clamp(3rem,7vw,6rem)}.index-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.index-side{flex-direction:column;gap:1rem;display:flex;position:sticky;top:5.5rem}.index-preview{aspect-ratio:16/10;margin-top:.5rem;position:relative}.index-fig{background:var(--p-bg);opacity:0;align-items:flex-end;margin:0;padding:1rem;transition:opacity .25s;display:flex;position:absolute;inset:0;overflow:hidden}.index-fig.active{opacity:1}.index-fig-title{font-family:var(--f-display);font-stretch:var(--stretch);font-weight:var(--w-heavy);text-transform:uppercase;letter-spacing:-.02em;color:var(--p-ac);font-size:clamp(1.8rem,3vw,2.6rem);line-height:.88}.index-list{border-bottom:1px dashed var(--line);margin:0;padding:0;list-style:none}.index-row{border-top:1px dashed var(--line);grid-template-columns:4.5rem minmax(0,1fr) minmax(0,auto);align-items:baseline;gap:1rem;padding:1rem .75rem;text-decoration:none;transition:background-color .2s;display:grid}.index-year{color:var(--muted)}.index-title{font-family:var(--f-display);font-stretch:var(--stretch-sub);font-weight:var(--w-sub);letter-spacing:-.01em;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.1}.index-kind{color:var(--muted);text-align:right;font-size:.6875rem}.index-row:hover,.index-row:focus-visible{background:var(--p-bg);color:var(--p-fg)}.index-row:hover .index-title,.index-row:focus-visible .index-title{color:var(--p-ac)}.index-row:hover :is(.index-year,.index-kind),.index-row:focus-visible :is(.index-year,.index-kind){color:color-mix(in srgb, var(--p-fg) 68%, transparent)}@media (prefers-reduced-motion:reduce){.index-fig,.index-row{transition:none}}.index-drop{background:var(--p-bg);color:var(--p-fg);--ring:var(--p-ac);grid-column:1/-1;gap:.9rem;padding:0 .5rem 1.25rem;display:grid}.index-drop[hidden]{display:none}.index-drop-fig{aspect-ratio:16/10;background:var(--p-bg);align-items:flex-end;padding:1rem;display:flex;position:relative;overflow:hidden}.index-drop-fig .cover-media{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.index-drop p{max-width:40ch}.index-drop-actions{flex-wrap:wrap;gap:.5rem;display:flex}.index-drop-go,.index-drop-close{font:500 .8125rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:.6rem 1rem;text-decoration:none}.index-drop-go{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.index-drop-go:after{content:" →";color:var(--thread)}.index-drop-close{color:var(--p-fg);background:0 0;border:1px solid}.index-row[aria-expanded=true]{background:var(--p-bg);color:var(--p-fg)}.index-row[aria-expanded=true] .index-title{color:var(--p-ac)}.index-list li:has(.feature-toggle){border-top:1px dashed var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.index-list li:has(.feature-toggle) .index-row{border-top:0}.feature-toggle{font:500 .6875rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);color:var(--fg);border:1px solid var(--line);cursor:pointer;min-width:6.5rem;margin-left:.75rem;padding:.4rem .6rem}.feature-toggle:hover{border-color:var(--fg)}.feature-toggle[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.feature-toggle[aria-pressed=true]:before{content:"★ "}.feature-note{color:var(--muted);text-transform:none;letter-spacing:.02em;line-height:1.5}.about{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,4rem);display:grid}.about-side{flex-direction:column;gap:clamp(1.25rem,3vw,2rem);display:flex}.polaroid{border:6px solid var(--thread);background:radial-gradient(120% 90% at 20% 8%, var(--bg) 0%, transparent 60%), linear-gradient(160deg, var(--bg) 0%, color-mix(in srgb, var(--fg) 1.4%, var(--bg)) 55%, color-mix(in srgb, var(--fg) 3.5%, var(--bg)) 100%);width:min(100%,20rem);box-shadow:inset 0 0 14px color-mix(in srgb, var(--fg) 3.5%, transparent), 0 1px 2px color-mix(in srgb, var(--fg) 18%, transparent), 2px 8px 14px -4px color-mix(in srgb, var(--fg) 22%, transparent), 6px 22px 30px -12px color-mix(in srgb, var(--fg) 36%, transparent);margin:.75rem 0 0;padding:.8rem .8rem 3.6rem;position:relative;transform:rotate(-2.5deg)}.polaroid:after{content:"";pointer-events:none;box-shadow:inset 0 1px 3px color-mix(in srgb, var(--fg) 40%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--fg) 12%, transparent);position:absolute;inset:.8rem .8rem 3.6rem}.about-photo{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}.magnet-defs{position:absolute}.magnet{z-index:1;width:4.2rem;height:4.2rem;filter:drop-shadow(0 4px 3px color-mix(in srgb, var(--fg) 32%, transparent));position:absolute;overflow:visible}.magnet-tr{top:-1.6rem;right:-1.4rem;transform:rotate(16deg)}.magnet-bl{width:3.7rem;height:3.7rem;bottom:-1.3rem;left:-1.4rem;transform:rotate(-22deg)}.magnet-fridge{width:2.7rem;height:2.7rem;top:1.8rem;right:-5.4rem;transform:rotate(38deg)}@media (width<=640px){.polaroid{width:min(74%,17rem)}.magnet-fridge{right:-4.4rem}}.magnet-body{fill:url(#chrome);stroke:url(#chrome);stroke-width:12px;stroke-linejoin:round}.magnet-shine{fill:url(#shine);stroke:url(#shine);stroke-width:12px;stroke-linejoin:round;mix-blend-mode:screen}.magnet-defs .c1{stop-color:var(--bg)}.magnet-defs .c2{stop-color:color-mix(in srgb, var(--accent) 10%, color-mix(in srgb, var(--fg) 22%, var(--bg)))}.magnet-defs .c3{stop-color:color-mix(in srgb, var(--accent) 25%, color-mix(in srgb, var(--fg) 70%, var(--bg)))}.magnet-defs .c4{stop-color:color-mix(in srgb, var(--accent) 18%, color-mix(in srgb, var(--fg) 89%, var(--bg)))}.magnet-defs .c5{stop-color:var(--bg)}.magnet-defs .c6{stop-color:color-mix(in srgb, var(--accent) 12%, color-mix(in srgb, var(--fg) 35%, var(--bg)))}.magnet-defs .c7{stop-color:color-mix(in srgb, var(--accent) 20%, color-mix(in srgb, var(--fg) 75%, var(--bg)))}.magnet-defs .puff-light{lighting-color:var(--bg)}.magnet-defs .s1{stop-color:var(--bg);stop-opacity:.95}.magnet-defs .s2{stop-color:var(--bg);stop-opacity:0}.about p{max-width:var(--measure)}.about p+p{margin-top:1rem}.about p.big{margin-bottom:1.5rem;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.3}.cv{flex-direction:column;margin-top:2.5rem;display:flex}.cv div{border-top:1px dashed var(--line);grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:1rem;padding-block:.85rem;display:grid}.cv dt{color:var(--thread-text)}.cv dd strong{font-weight:700}.cv-head{color:var(--muted);margin:2.5rem 0 0;font-weight:400}.cv-langs{margin-top:.75rem}.contact{padding-bottom:clamp(3rem,7vw,6rem)}.contact .h2{max-width:12ch}.mail{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:2rem;display:flex}.mail span.addr{font-family:var(--f-body);overflow-wrap:anywhere;user-select:all;font-size:clamp(1.1rem,2.4vw,1.6rem);font-weight:700}.mail button{font:500 .8125rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--bg);cursor:pointer;border:0;padding:.6rem 1rem}.foot{border-top:1px dashed var(--thread)}.foot a{color:var(--accent)}.foot .wrap{flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.25rem;display:flex}.proj-band{--ring:var(--p-ac);background:var(--p-bg);color:var(--p-fg);min-height:80vh}.proj-band .wrap{padding-block:clamp(1.25rem,3vw,2.5rem) clamp(2.5rem,6vw,5rem)}.pm{color:color-mix(in srgb, var(--p-fg) 68%, transparent)}.back{margin-bottom:clamp(1.25rem,3vw,2.5rem);text-decoration:none;display:inline-block}.back:before{content:"← "}.back:hover{color:var(--p-ac)}.proj-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.layout-stack .proj-grid{grid-template-columns:minmax(0,1fr)}.proj-head{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.layout-split .proj-head{position:sticky;top:5.5rem}.proj-title{text-transform:uppercase;letter-spacing:-.025em;color:var(--p-ac);overflow-wrap:break-word;font-size:clamp(2rem,3.75vw,3.6rem);line-height:.9}.layout-stack .proj-title{font-size:clamp(3.5rem,15vw,15rem)}.layout-stack .proj-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:1.25rem clamp(1.5rem,4vw,4rem);display:grid}.layout-stack .proj-head .kicker,.layout-stack .proj-title{grid-column:1/-1}.proj-sub{flex-direction:column;gap:1.25rem;display:flex}.proj-intro{max-width:38ch;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.4}.meta{flex-direction:column;display:flex}.meta div{border-top:1px dashed color-mix(in srgb, var(--p-fg) 35%, transparent);grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding-block:.7rem;display:grid}.prose{--gap:clamp(1.75rem, 3vw, 2.75rem);grid-template-columns:minmax(0, 1fr) minmax(0, var(--measure));align-items:start;column-gap:clamp(1.25rem,2.5vw,2.5rem);min-width:0;display:grid}.prose>*{margin:var(--gap) 0 0;grid-column:1/-1}.prose>:first-child{margin-top:0}.prose>h2{grid-column:1;padding-top:.15em;font-size:1.4rem;line-height:1.1}.prose>p:not(.b-images),.prose>blockquote,.prose>table{grid-column:2}.prose>p:not(.b-images)+p:not(.b-images){margin-top:1rem}.prose>h2:first-child+p:not(.b-images){margin-top:0;font-size:1.2rem;line-height:1.5}.prose blockquote{border-left:3px dashed var(--p-ac);color:var(--p-ac);padding-left:1.25rem;font-size:clamp(1.2rem,1.7vw,1.45rem);font-weight:500;line-height:1.4}.prose blockquote p{margin:0}.prose blockquote p+p{font:500 .75rem/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--p-fg) 68%, transparent);margin-top:.75rem}@media (width<=1100px){.prose{grid-template-columns:minmax(0,1fr)}.prose>h2,.prose>p:not(.b-images),.prose>blockquote,.prose>table,.prose>ul,.prose>ol{max-width:var(--measure);grid-column:1}.prose>h2+p:not(.b-images){margin-top:.6rem}}.b-images img{object-fit:contain;object-position:left top;width:100%;height:auto;max-height:85vh;display:block}.b-video{background:var(--fg);width:100%}.b-video iframe{border:0;width:100%;height:100%;display:block}.b-video-file{background:0 0}.b-video-file video{background:var(--fg);width:100%;height:auto;max-height:85vh;display:block}.b-video-file video.is-portrait{background:0 0;width:auto;max-width:100%;height:min(85vh,760px);margin-inline:auto}.b-video-file{width:fit-content;max-width:100%;margin-inline:auto;position:relative}.b-video-file video[data-autoplay]{cursor:pointer}.b-video-file:has(video[data-loop]){width:100%}.b-video-file video[data-loop]{background:0 0;width:100%}.sound-toggle{font:500 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--p-ac);color:var(--p-bg);cursor:pointer;border:0;padding:.5rem .8rem;position:absolute;bottom:.75rem;left:.75rem}.sound-toggle:before{content:"";vertical-align:.05em;border:1.5px solid;border-radius:50%;width:.55em;height:.55em;margin-right:.5em;display:inline-block}.sound-toggle[aria-pressed=true]:before{background:currentColor}.sound-toggle:hover{background:var(--p-fg)}.b-images.b-loops{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.5rem,1.5vw,1rem)}.b-loops video{aspect-ratio:9/16;object-fit:cover;background:color-mix(in srgb, var(--p-fg) 8%, var(--p-bg));width:100%;display:block}.b-images.b-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.5rem,1.5vw,1rem)}.b-images.b-gallery img{max-height:none}.b-images.b-gallery:not(.b-masonry) img{aspect-ratio:3/4;object-fit:cover;object-position:center}.b-config{flex-direction:column;gap:1rem;display:flex}.config-stage{background:#f4f4f4}.config-stage img{width:100%;height:auto;display:block}.config-controls{flex-direction:column;gap:.6rem;display:flex}.config-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.config-row>.mono{flex:none;width:4.5rem}.config-model,.config-colour{font:500 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--p-fg);border:1px solid color-mix(in srgb, var(--p-fg) 35%, transparent);cursor:pointer;background:0 0;align-items:center;gap:.45rem;padding:.45rem .7rem;display:inline-flex}.config-model:hover,.config-colour:hover{border-color:var(--p-fg)}.config-model[aria-pressed=true],.config-colour[aria-pressed=true]{background:var(--p-fg);color:var(--p-bg);border-color:var(--p-fg)}.config-colour i{border:1px solid color-mix(in srgb, var(--p-fg) 30%, transparent);border-radius:50%;width:.85rem;height:.85rem}.config-now{color:color-mix(in srgb, var(--p-fg) 68%, transparent);font-size:.6875rem}@media (width<=640px){.config-row>.mono{width:100%}}.b-images.b-gallery.b-masonry{columns:3;column-gap:clamp(.5rem,1.5vw,1rem);display:block}.b-images.b-gallery.b-masonry img{object-fit:contain;break-inside:avoid;margin-bottom:clamp(.5rem,1.5vw,1rem)}.b-images.b-gallery.b-row{align-items:flex-start;display:flex}.b-images.b-gallery.b-row>.row-shot{flex:var(--r) 1 0%}.b-images.b-gallery.b-row img{aspect-ratio:var(--r);object-fit:cover;max-height:none}.prose>p.b-caption{grid-column:1/-1;max-width:none;margin-top:.6rem;font-size:.6875rem}.b-shots{flex-direction:column;gap:1rem;margin-left:0;margin-right:0;display:flex}.shot-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.shot-stats div{border-top:1px dashed color-mix(in srgb, var(--p-fg) 35%, transparent);flex-direction:column;gap:.3rem;padding-top:.6rem;display:flex}.shot-stats dd{font-family:var(--f-display);font-stretch:var(--stretch-sub);font-weight:var(--w-sub);color:var(--p-ac);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1}.shot-track{border-bottom:3px dashed var(--p-ac);align-items:flex-end;gap:2px;height:clamp(90px,12vw,150px);display:flex}.shot{flex-basis:0;min-width:2px;display:block}.shot.is-handheld,.shot-key .is-handheld{background:var(--p-ac)}.shot.is-still,.shot-key .is-still{background:color-mix(in srgb, var(--p-fg) 45%, var(--p-bg))}.shot-axis{justify-content:space-between;margin-top:-.5rem;font-size:.6875rem;display:flex}.shot-key{flex-wrap:wrap;align-items:flex-end;gap:.5rem 1.25rem;font-size:.6875rem;display:flex}.shot-key-move,.shot-key-size{align-items:flex-end;gap:.4rem;display:inline-flex}.shot-key-move i{width:14px;height:14px;display:block}.shot-key-size i{background:var(--p-fg);opacity:.55;width:6px;display:block}.shot-key-note{flex-basis:100%}.shot-list summary{cursor:pointer;border-top:1px dashed color-mix(in srgb, var(--p-fg) 35%, transparent);padding:.6rem 0;font-size:.75rem}.shot-list summary:hover{color:var(--p-ac)}.shot-list table{margin-top:.5rem}@media (width<=640px){.shot-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.prose>:is(ul,ol){grid-column:2;padding-left:1.1em}.prose>:is(ul,ol) li+li{margin-top:.5rem}.prose>p:not(.b-images)+:is(ul,ol),.prose>:is(ul,ol)+p:not(.b-images){margin-top:1rem}@media (width<=1100px){.prose>:is(ul,ol){max-width:var(--measure);grid-column:1}}.b-fig{flex-direction:column;gap:.55rem;min-width:0;margin:0;display:flex}.b-fig figcaption{font-size:.6875rem;line-height:1.45}.slide-dots{display:none}.b-panel{background:var(--panel);border-radius:14px;align-items:center;padding:clamp(1rem,3vw,2.25rem)}.b-panel img{max-height:75vh}.b-images:not(.b-pair) img{object-position:center top}.b-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(.75rem,2vw,1.5rem);display:grid}.b-pair:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.prose table{border-collapse:collapse;width:100%}.prose :is(th,td){text-align:left;border-top:1px dashed color-mix(in srgb, var(--p-fg) 35%, transparent);vertical-align:top;padding:.7rem 1rem .7rem 0;font-weight:400}.prose tr>:first-child{width:7rem;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--p-fg) 68%, transparent);font-size:.75rem}.ph{background-color:color-mix(in srgb, var(--p-fg) 7%, var(--p-bg));background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--p-fg) 9%, transparent) 0 10px, transparent 10px 20px);border:2px dashed color-mix(in srgb, var(--p-fg) 40%, transparent);flex-direction:column;justify-content:flex-end;gap:.2rem;width:100%;max-width:100%;padding:1rem;display:flex;position:relative;overflow:hidden}.ph-label{font-weight:700}.ph-hint{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--p-fg) 68%, transparent);font-size:.7rem}.sw{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.sw div{flex-direction:column;gap:.5rem;display:flex}.sw i{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--p-fg) 40%, transparent);display:block}.sw.sw-custom{grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr))}.next-band{--ring:var(--p-ac);background:var(--p-bg);width:calc(33.3333% - clamp(1.5rem,4vw,4rem)/3);color:var(--p-fg);border-top:3px dashed var(--p-ac);margin:clamp(2.5rem,6vw,5rem) 0 0 auto;text-decoration:none;display:block}.next-inner{justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.next-text{flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.next-label{background:var(--p-ac);color:var(--p-bg);padding:.35rem .6rem;font-size:.75rem;font-weight:500}.next-text strong{text-transform:uppercase;letter-spacing:-.02em;color:var(--p-ac);overflow-wrap:break-word;font-size:clamp(1.35rem,1.9vw,1.9rem);line-height:.9}.next-text .pm{font-size:.6875rem}.next-band:hover .next-text strong{text-underline-offset:5px;text-decoration:underline 2px}.next-cover{aspect-ratio:16/10;background:color-mix(in srgb, var(--p-fg) 8%, var(--p-bg));flex:none;width:42%;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.next-cover{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.next-cover .cover-media{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.next-band:hover .next-cover{transform:translateY(-6px)rotate(1.2deg)}.next-band:hover .next-cover .cover-media{transform:scale(calc(var(--zoom,1) * 1.04))}}.play-ui{z-index:40;background:var(--thread);touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.play-stage{position:absolute;inset:0;overflow:hidden}.play-floor{border-top:3px dashed var(--bg);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.play-ui .muted{color:var(--fg)}.play-bar{z-index:5;padding-top:calc(env(safe-area-inset-top,0px) + .85rem);padding-bottom:.85rem;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex;position:absolute;top:0;left:0;right:0}.play-bar>*{pointer-events:auto}.play-title{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;min-width:0;display:flex}.play-actions{flex-wrap:wrap;gap:.5rem;display:flex}.play-actions button{font:500 .8125rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);color:var(--fg);border:1px solid var(--fg);cursor:pointer;padding:.5rem .9rem}.play-actions button:hover{background:var(--fg);color:var(--bg)}.play-actions #pg-close{background:var(--accent);border-color:var(--accent);color:var(--bg)}.tile{background:var(--p-bg);color:var(--p-fg);cursor:grab;will-change:transform;--ring:var(--p-ac);flex-direction:column;justify-content:space-between;padding:.7em;display:flex;position:absolute;top:0;left:0;overflow:hidden}.tile:after{content:"";opacity:.35;pointer-events:none;border:2px dashed;position:absolute;inset:5px}.tile small{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;font-size:max(10px,.72em)}.tile .cover-media{pointer-events:none}.tile.has-media small,.tile.has-media b,.tile.has-media:after{display:none}.tile b{text-transform:uppercase;letter-spacing:-.02em;color:var(--p-ac);overflow-wrap:anywhere;font-size:2.2em;line-height:.88}.edit-open{z-index:30;right:max(16px, env(safe-area-inset-right,0px));bottom:max(16px, env(safe-area-inset-bottom,0px));font:500 .8125rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--fg);color:var(--bg);cursor:pointer;border:0;padding:.65rem 1rem;position:fixed}.edit-open:hover{background:var(--accent)}.edit-panel{z-index:35;background:var(--bg);width:min(680px,100vw);color:var(--fg);border-left:1px dashed var(--line);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.edit-bar{padding:calc(env(safe-area-inset-top,0px) + .85rem) 16px .85rem;border-bottom:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.edit-title{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;min-width:0;display:flex}.edit-actions{gap:.5rem;display:flex}.edit-actions button{font:500 .8125rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);color:var(--fg);border:1px solid var(--fg);cursor:pointer;padding:.5rem .9rem}.edit-actions button:hover{background:var(--fg);color:var(--bg)}.edit-actions .primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.edit-panel textarea{resize:none;background:var(--bg);width:100%;color:var(--fg);font:400 .875rem/1.65 var(--f-mono);border:0;flex:1;padding:1rem 16px}.edit-panel textarea:focus{outline:none}.edit-status{border-top:1px dashed var(--line);text-transform:none;letter-spacing:.02em;color:var(--muted);margin:0;padding:.75rem 16px}.edit-status.bad{color:var(--thread)}.crop-open{z-index:2;font:500 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--fg);color:var(--bg);cursor:pointer;opacity:0;border:0;padding:.4rem .65rem;transition:opacity .2s;position:absolute;top:.6rem;right:.6rem}.entry:hover .crop-open,.crop-open:focus-visible{opacity:1}.cover.cropping{cursor:grab;outline:3px dashed var(--accent);outline-offset:4px;touch-action:none;transform:none!important}.cover.cropping:active{cursor:grabbing}.cover.cropping .cover-media{transform:scale(var(--zoom,1))!important;transition:none!important}.cover.cropping .crop-open{display:none}.crop-bar{z-index:3;background:var(--bg);color:var(--fg);cursor:default;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.45rem;display:flex;position:absolute;bottom:.6rem;left:.6rem;right:.6rem}.crop-hint{min-width:8rem;font:500 .75rem var(--f-mono);letter-spacing:.04em;flex:1;padding-left:.3rem}.crop-bar button{font:500 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);color:var(--fg);border:1px solid var(--fg);cursor:pointer;padding:.4rem .7rem}.crop-bar .primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.crop-zoom{font:500 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.4rem;display:inline-flex}.crop-zoom input{width:7rem;accent-color:var(--accent)}@media (width<=860px){.facts,.entry,.entry.flip,.about,.proj-grid,.layout-stack .proj-head{grid-template-columns:minmax(0,1fr)}.entry.flip .entry-meta{order:0}.cover,.entry.flip .cover{order:-1}.entry-meta,.layout-split .proj-head{position:static}.next-band{width:100%}.index-grid{grid-template-columns:minmax(0,1fr)}.index-side{position:static}.index-preview{display:none}.index-row{padding-right:2.25rem;position:relative}.index-row:after{content:"+";font:500 1.25rem/1 var(--f-mono);color:var(--thread);position:absolute;top:.9rem;right:.6rem}.index-row[aria-expanded=true]:after{content:"−"}.next-cover{width:clamp(110px,32vw,220px)}}@media (width<=640px){.cv div{grid-template-columns:minmax(0,1fr);gap:.15rem}.b-pair,.b-pair:has(>:nth-child(3):last-child){grid-template-columns:minmax(0,1fr)}.b-pair.b-slide{scroll-snap-type:x mandatory;scrollbar-width:none;gap:.75rem;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.b-pair.b-slide::-webkit-scrollbar{display:none}.b-pair.b-slide>*{scroll-snap-align:start;object-position:center top;flex:0 0 86%;width:86%}.b-pair.b-loops>*{flex-basis:62%;width:62%}.b-images.b-gallery.b-masonry.b-slide{columns:auto;display:flex}.b-images.b-gallery.b-masonry img{align-self:center;margin-bottom:0}.b-images.b-gallery.b-row.b-slide>.row-shot{height:62vh;width:calc(62vh * var(--r));flex:none;max-width:86%}.b-images.b-gallery.b-row .row-shot img{width:100%;height:100%}.slide-dots{justify-content:center;gap:.5rem;margin-top:-.75rem;display:flex}.slide-dots button{border:1.5px solid var(--p-ac);cursor:pointer;background:0 0;border-radius:50%;width:9px;height:9px;padding:0}.slide-dots button[aria-current=true]{background:var(--p-ac)}.index-row{grid-template-columns:3.25rem minmax(0,1fr);padding-inline:.5rem}.index-kind{text-align:left;grid-column:2}.meta div{grid-template-columns:6rem minmax(0,1fr)}.prose tr>:first-child{width:6rem}}html.has-cursor,html.has-cursor *{cursor:none!important}html.has-cursor :is(input,textarea,[contenteditable=true]){cursor:text!important}.cursor{z-index:9999;pointer-events:none;opacity:0;width:0;height:0;transition:opacity .2s;position:fixed;top:0;left:0}.cursor.is-on{opacity:1}.cursor.is-text{opacity:0}.cursor-ring,.cursor-flower{transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .2s;position:absolute;top:0;left:0}.cursor-ring{border:2px solid var(--fg);width:16px;height:16px;box-shadow:0 0 0 1.5px color-mix(in srgb, var(--bg) 70%, transparent);border-radius:50%;margin:-8px 0 0 -8px}.cursor-flower{width:40px;height:40px;fill:var(--thread);opacity:0;margin:-20px 0 0 -20px;transform:scale(.2)rotate(-72deg)}.cursor-heart{fill:var(--accent)}.cursor.is-link .cursor-ring{opacity:0;transform:scale(.3)}.cursor.is-link .cursor-flower{opacity:1;transform:scale(1)rotate(0)}.cursor.is-link.is-down .cursor-flower{transform:scale(.82)rotate(18deg)}.cursor.is-down .cursor-ring{transform:scale(.75)}@media (prefers-reduced-motion:reduce){.cursor-ring,.cursor-flower{transition:opacity .1s}.cursor.is-link .cursor-flower,.cursor-flower{transform:none}}.not-found{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,5rem);min-height:70vh;padding-bottom:clamp(3rem,7vw,6rem);display:grid}.nf-sign{width:15rem;height:auto;transform:rotate(-4deg)}.nf-text{flex-direction:column;gap:1rem;display:flex}.nf-text .big{max-width:30ch}.nf-links{flex-wrap:wrap;gap:.75rem 1.75rem;margin-top:.5rem;display:flex}@media (width<=640px){.not-found{grid-template-columns:minmax(0,1fr);align-content:start}.nf-sign{width:11rem}}
