@font-face{font-family:Unbounded;src:url(/fonts/unbounded-400.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Unbounded;src:url(/fonts/unbounded-500.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Unbounded;src:url(/fonts/unbounded-600.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-400.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-500.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}:root{--ink: #050506;--cold-white: #f4f2ed;--acid: #c8ff3d;--holo: #ff79cf;--line: rgba(244, 242, 237, .34);--line-soft: rgba(244, 242, 237, .14);--surface: rgba(5, 5, 6, .74);--surface-solid: rgba(5, 5, 6, .94);--font-display: "Unbounded", sans-serif;--font-mono: "DM Mono", monospace}.archive-interface{--acid: #00FFF0;position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s cubic-bezier(.16,1,.3,1),visibility .18s cubic-bezier(.16,1,.3,1)}.archive-interface.is-active.is-visible{opacity:1;visibility:visible}.archive-interface.is-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:none!important}.archive-interface.is-exiting{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .18s cubic-bezier(.16,1,.3,1),visibility .18s cubic-bezier(.16,1,.3,1)}.archive-identity{position:fixed;top:92px;left:24px;display:grid;gap:4px;color:#f4f2ed94;font:8px/1.25 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;transition:opacity .18s ease,transform .18s ease}.archive-identity strong{color:var(--cold-white);font:500 clamp(11px,1.1vw,15px)/1.1 var(--font-display);letter-spacing:.045em}.archive-identity small{font-size:8px;letter-spacing:.11em}.archive-carousel-project{position:fixed;z-index:1;top:50%;left:max(24px,calc((100vw - 1120px)/2));width:min(390px,31vw);display:grid;gap:12px;transform:translateY(-50%);color:var(--cold-white);text-transform:uppercase;pointer-events:auto;transition:opacity .18s ease,transform .18s ease}.archive-carousel-index{color:var(--acid);font:9px/1 var(--font-mono);letter-spacing:.13em}.archive-carousel-project h2{max-width:7ch;font:500 clamp(26px,3.05vw,46px)/.98 var(--font-display);letter-spacing:-.025em}.archive-carousel-capabilities{max-width:31ch;color:#f4f2edb8;font:10px/1.45 var(--font-mono);letter-spacing:.06em}.archive-carousel-type{color:var(--acid);font:8px/1.2 var(--font-mono);letter-spacing:.14em}.archive-carousel-summary{max-width:34ch;color:#f4f2edba;font:9px/1.5 var(--font-mono);letter-spacing:.025em}.archive-carousel-summary span{display:inline-block;margin-right:5px;color:#f4f2ed73;font-size:7px;letter-spacing:.13em}.archive-carousel-summary b{color:var(--acid);font-weight:400}.archive-carousel-tags{color:#f4f2ed7a;font:8px/1.2 var(--font-mono);letter-spacing:.1em}.archive-carousel-view{justify-self:start;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--cold-white);font:9px/1 var(--font-mono);letter-spacing:.11em;text-decoration:none;text-transform:uppercase;cursor:pointer;pointer-events:auto;transition:color .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}.archive-carousel-view:hover{border-color:var(--acid);background:var(--acid);color:var(--ink)}.archive-carousel-view span{margin-left:6px;font-size:13px}.archive-carousel-status{min-height:1.2em;color:var(--acid);font:8px/1.2 var(--font-mono);letter-spacing:.11em;opacity:0;transition:opacity .16s ease}.archive-carousel-project.is-activating .archive-carousel-status{opacity:1}.archive-carousel-side{display:none}.archive-progress-ruler{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:auto;-webkit-user-select:none;user-select:none;transition:opacity .18s ease,transform .18s ease}.archive-interface.is-exiting .archive-progress-ruler{opacity:0;transform:translateY(calc(-50% + 12px));pointer-events:none}.archive-ruler-header{display:flex;align-items:baseline;gap:6px;font:8px/1 var(--font-mono);letter-spacing:.14em;color:#f4f2ed73;text-transform:uppercase}.archive-ruler-tag{color:var(--acid);font-weight:700}.archive-ruler-counter{color:var(--cold-white);font-feature-settings:"tnum"}.archive-ruler-track{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:8px 0}.archive-ruler-line{position:absolute;top:0;bottom:0;right:0;width:1px;background:#ffffff1f;pointer-events:none}.archive-ruler-ticks{display:flex;flex-direction:column;align-items:flex-end;gap:6px;position:relative;z-index:1}.archive-ruler-tick{display:flex;align-items:center;gap:8px;padding:2px 0;margin:0;background:transparent;border:none;cursor:pointer;outline:none;transition:transform .14s ease}.archive-ruler-mark{display:block;width:10px;height:1px;background:#ffffff40;transition:width .16s cubic-bezier(.16,1,.3,1),background-color .16s ease,box-shadow .16s ease}.archive-ruler-num{font:8px/1 var(--font-mono);letter-spacing:.1em;color:#f4f2ed59;transition:color .16s ease}.archive-ruler-tick:hover .archive-ruler-mark{width:16px;background:var(--cold-white)}.archive-ruler-tick:hover .archive-ruler-num{color:var(--cold-white)}.archive-ruler-tick.is-active .archive-ruler-mark{width:22px;height:2px;background:var(--acid);box-shadow:0 0 8px #c8ff3d8c}.archive-ruler-tick.is-active .archive-ruler-num{color:var(--acid);font-weight:700}@media (max-width: 640px){.archive-progress-ruler{right:14px;top:calc(50% - 30px);gap:8px}.archive-ruler-ticks{gap:5px}.archive-ruler-mark{width:6px}.archive-ruler-tick.is-active .archive-ruler-mark{width:14px}.archive-ruler-num{font-size:7px}}.system-action-zone,.archive-bottom-actions{position:fixed;right:24px;bottom:24px;z-index:12;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto;transition:opacity .18s ease,transform .18s ease}.archive-carousel-hint{margin:0;padding:0;color:#f4f2ed94;font:8px/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;text-align:center;pointer-events:none;transition:opacity .32s ease,transform .32s ease}.archive-carousel-ui.has-interacted .archive-carousel-hint{opacity:0;transform:translateY(4px);pointer-events:none}.archive-bottom-controls-row{display:flex;align-items:center;gap:16px}.archive-carousel-controls{display:flex;align-items:center;gap:8px}.archive-carousel-controls[hidden],.archive-carousel-hint[hidden]{display:none!important}.archive-carousel-control{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--cold-white);font:20px/1 var(--font-mono);cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.archive-carousel-control:hover{border-color:var(--acid);background:var(--acid);color:var(--ink)}.archive-exit-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--cold-white);font:9px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;pointer-events:auto;white-space:nowrap;transition:color .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}.archive-exit-button:hover{border-color:var(--acid);background:var(--acid);color:var(--ink)}.archive-exit-button:disabled{cursor:default;opacity:0;pointer-events:none}.archive-interface.is-exiting .archive-carousel-project{opacity:0;transform:translate(-14px,-50%);pointer-events:none}.archive-interface.is-exiting .archive-identity{opacity:0;transform:translateY(-8px);pointer-events:none}.archive-interface.is-exiting .archive-carousel-side--previous{opacity:0;transform:translateY(calc(16vh + 10px));pointer-events:none}.archive-interface.is-exiting .archive-carousel-side--next{opacity:0;transform:translateY(calc(-16vh - 10px));pointer-events:none}.archive-interface.is-exiting .archive-bottom-actions{opacity:0;transform:translateY(8px);pointer-events:none}body.shiro-archive-active .utility-actions,body.shiro-archive-active .zoom-controls{opacity:0;visibility:hidden;pointer-events:none}.project-detail{--acid: #00FFF0;position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;overflow:auto;padding:clamp(20px,2.2vw,36px) clamp(20px,3vw,56px) clamp(28px,3vw,52px);background:var(--surface-solid);color:var(--cold-white);opacity:0;pointer-events:none;transition:opacity .28s ease}.project-detail.is-open{opacity:1;pointer-events:auto}.project-detail__header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1680px;margin:0 auto;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}.project-detail__back{min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--line);padding:10px 13px;color:var(--cold-white);font:9px/1 var(--font-mono);letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.project-detail__back:hover{border-color:var(--acid);color:var(--acid)}.project-detail__archive-return{position:fixed;z-index:5;right:max(clamp(18px,2.2vw,34px),env(safe-area-inset-right,0px));bottom:max(clamp(18px,2.2vw,34px),env(safe-area-inset-bottom,0px));min-width:116px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 15px;border:1px solid rgba(244,242,237,.4);background:#050506eb;color:var(--cold-white);font:500 9px/1 var(--font-mono);letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:border-color .16s ease,color .16s ease,background-color .16s ease,transform .16s ease}.project-detail__archive-return:hover,.project-detail__archive-return:focus-visible{border-color:var(--acid);background:#050506fa;color:var(--acid)}.project-detail__archive-return:focus-visible{outline:1px solid var(--acid);outline-offset:3px}.project-detail__archive-return:active{transform:translateY(1px)}.project-detail__index{margin-left:auto;color:#f4f2ed85;font:8px/1.2 var(--font-mono);letter-spacing:.13em;text-align:right;text-transform:uppercase}.project-detail__hero{width:min(1680px,100%);min-height:calc(100svh - 126px);margin:24px auto 0;display:grid;grid-template-columns:minmax(0,34fr) minmax(0,62fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"label media" "title media" "description media" "metadata media";column-gap:4%;row-gap:clamp(12px,1.6vw,22px);align-items:start;align-content:center}.project-detail__hero>*{min-width:0}.project-detail__label{grid-area:label;align-self:end;color:var(--acid);font:9px/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.project-detail__hero h1{grid-area:title;width:100%;max-width:100%;font:500 clamp(38px,4vw,72px)/.95 var(--font-display);letter-spacing:-.035em;overflow-wrap:normal;text-transform:uppercase;text-wrap:balance;white-space:normal;word-break:normal}.project-detail__intro{grid-area:description;display:grid;gap:clamp(14px,1.5vw,22px);align-content:start}.project-detail__description{max-width:35ch;color:#f4f2edb8;font:10px/1.55 var(--font-mono);letter-spacing:.025em}.project-detail__statement{max-width:34ch;color:var(--cold-white);font:500 9px/1.45 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.project-detail__metadata{grid-area:metadata;align-self:end;padding-top:16px;border-top:1px solid var(--line-soft);color:#f4f2ed8f;font:8px/1.45 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.project-detail__media{grid-area:media;align-self:center;position:relative;width:100%;padding:1px;border:1px solid var(--line);background:var(--ink)}.project-detail__media:before{content:"";position:absolute;top:-5px;left:-5px;width:18px;height:18px;border-top:1px solid var(--acid);border-left:1px solid var(--acid);pointer-events:none}.project-detail__emblem{position:absolute;z-index:2;top:clamp(10px,1.6vw,20px);right:clamp(10px,1.6vw,20px);width:clamp(82px,9vw,142px);aspect-ratio:160 / 116;padding:clamp(6px,.75vw,10px);border:1px solid color-mix(in srgb,var(--acid) 72%,transparent);background:#050506b8;color:var(--acid);pointer-events:none}.project-detail__emblem svg{display:block;width:100%;height:100%}.project-detail__sound-toggle{position:absolute;z-index:3;right:clamp(.55rem,1.1vw,1rem);bottom:clamp(.55rem,1.1vw,1rem);min-width:7.4rem;min-height:44px;padding:.7rem .85rem;border:1px solid var(--line);border-radius:0;background:#050506db;color:var(--cold-white);font:500 8px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.project-detail__sound-toggle:hover,.project-detail__sound-toggle:focus-visible,.project-detail__sound-toggle[aria-pressed=true]{border-color:var(--acid);color:var(--acid);background:#050506f0}.project-detail__sound-toggle:focus-visible{outline:1px solid var(--acid);outline-offset:3px}.project-detail__video{display:block;width:100%;height:auto;max-height:calc(100svh - 150px);aspect-ratio:1762 / 1174;object-fit:contain;background:var(--ink)}.project-detail[data-project=yolo-cat] .project-detail__video{aspect-ratio:1920 / 634}.project-detail-sections{width:min(1680px,100%);margin:clamp(110px,8vw,150px) auto 0;padding-bottom:clamp(80px,8vw,144px);display:grid;gap:clamp(100px,7vw,140px)}.project-detail-section{display:grid;grid-template-columns:minmax(0,28fr) minmax(0,67fr);grid-template-areas:"copy media";column-gap:5%;align-items:center;padding-top:20px;border-top:1px solid var(--line-soft)}.project-detail-section--media-first{grid-template-columns:minmax(0,67fr) minmax(0,28fr);grid-template-areas:"media copy"}.project-detail-section--feature{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "media";row-gap:clamp(40px,4vw,68px)}.project-detail-section__copy{grid-area:copy;min-width:0;max-width:34rem;display:grid;gap:clamp(12px,1.25vw,20px)}.project-detail-section--feature .project-detail-section__copy{max-width:48rem}.project-detail-section__index{color:var(--acid);font:9px/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.project-detail-section h2{max-width:10ch;font:500 clamp(32px,3.2vw,52px)/.98 var(--font-display);letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}.project-detail-section:not(.project-detail-section--feature) h2{font-size:clamp(28px,2.5vw,42px)}.project-detail-section__body{max-width:39ch;display:grid;gap:clamp(11px,1vw,16px);color:#f4f2edb8;font:clamp(10px,.72vw,12px)/1.6 var(--font-mono);letter-spacing:.025em;text-wrap:pretty}.project-detail-section__statement{max-width:43ch;padding-left:13px;border-left:1px solid var(--acid);color:var(--cold-white);font:500 clamp(10px,.78vw,12px)/1.55 var(--font-mono);letter-spacing:.045em;text-transform:uppercase}.project-detail-section__metadata{max-width:34ch;margin-top:clamp(4px,.5vw,8px);padding-top:14px;border-top:1px solid var(--line-soft);color:#f4f2ed7a;font:8px/1.45 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.project-detail-section__credit{max-width:34ch;margin:2px 0 0;color:#f4f2eda8;font:9px/1.5 var(--font-mono);letter-spacing:.025em}.project-detail-section__media{grid-area:media;min-width:0;position:relative;width:100%;padding:1px;border:1px solid var(--line);background:var(--ink)}.project-detail-section--feature .project-detail-section__media{width:var(--project-section-media-width,90%);justify-self:center}.project-detail-section__media:before{content:"";position:absolute;top:-5px;left:-5px;width:18px;height:18px;border-top:1px solid var(--acid);border-left:1px solid var(--acid);pointer-events:none}.project-detail-section__asset{display:block;width:100%;height:auto}.project-detail-section__asset--contain{max-height:min(74svh,55rem);object-fit:contain;background:color-mix(in srgb,var(--ink) 88%,var(--cold-white))}.project-detail--interactive-album .project-detail__hero{min-height:auto;grid-template-columns:minmax(0,42fr) minmax(0,54fr);grid-template-rows:auto auto auto auto;grid-template-areas:"label label" "title description" "media media" "metadata metadata";align-content:start;row-gap:clamp(18px,2vw,30px)}.project-detail--interactive-album .project-detail__media{width:min(1200px,100%);justify-self:center}.project-detail--interactive-album .project-detail__video{aspect-ratio:auto;object-fit:contain}.project-detail--interactive-album .project-detail-section--concept{grid-template-columns:minmax(0,70fr) minmax(0,25fr);column-gap:5%}.project-detail--interactive-album .project-detail-section--concept .project-detail-section__asset--contain{max-height:none;background:var(--ink)}.project-detail--interactive-album .project-detail-section--studies,.project-detail--interactive-album .project-detail-section--process{row-gap:clamp(28px,2.8vw,46px)}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__copy,.project-detail--interactive-album .project-detail-section--process .project-detail-section__copy{width:100%;max-width:none;grid-template-columns:minmax(18rem,36fr) minmax(24rem,59fr);grid-template-areas:"index index" "title body" "title statement" "title metadata";column-gap:5%;align-items:start}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__index,.project-detail--interactive-album .project-detail-section--process .project-detail-section__index{grid-area:index}.project-detail--interactive-album .project-detail-section--studies h2,.project-detail--interactive-album .project-detail-section--process h2{grid-area:title;max-width:9ch}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__body,.project-detail--interactive-album .project-detail-section--process .project-detail-section__body{grid-area:body;max-width:64ch}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__statement,.project-detail--interactive-album .project-detail-section--process .project-detail-section__statement{grid-area:statement}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__metadata,.project-detail--interactive-album .project-detail-section--process .project-detail-section__metadata{grid-area:metadata}.project-detail--interactive-album .project-detail-section--process .project-detail-section__body{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,52px)}.project-detail--interactive-album .project-detail-section--process .project-detail-section__body p:first-child{grid-column:1 / -1;max-width:60ch;color:var(--cold-white);font-size:clamp(11px,.82vw,13px)}.project-detail--interactive-album .project-detail-section--process .project-detail-section__statement{max-width:76ch;margin-top:clamp(8px,1vw,16px)}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__media,.project-detail--interactive-album .project-detail-section--process .project-detail-section__media{width:100%}.project-detail__content{width:min(760px,100%);margin:clamp(48px,10vw,132px) auto;display:grid;gap:18px;text-transform:uppercase}.project-detail__content h1{max-width:11ch;font:500 clamp(34px,6vw,80px)/.98 var(--font-display);letter-spacing:-.035em}.project-detail__content--not-found{min-height:60vh;align-content:center}@media (max-width: 640px){.archive-identity{top:max(70px,calc(env(safe-area-inset-top,0px) + 62px));left:max(14px,env(safe-area-inset-left,0px))}.archive-carousel-project{top:auto;bottom:max(78px,calc(env(safe-area-inset-bottom,0px) + 64px));left:max(14px,env(safe-area-inset-left,0px));width:min(270px,calc(100vw - 134px - env(safe-area-inset-right,0px)));gap:9px;transform:none}.archive-carousel-project h2{max-width:9ch;font-size:clamp(24px,8.4vw,34px)}.archive-carousel-capabilities{font-size:9px}.archive-carousel-summary{max-width:30ch;font-size:8px}.archive-carousel-side{display:none}.archive-bottom-actions{right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px));gap:8px}.archive-bottom-controls-row{gap:8px}.archive-carousel-controls{gap:6px}.archive-carousel-control{width:44px;height:44px}.archive-exit-button{min-height:44px;padding:10px 14px;font-size:9px}.archive-carousel-hint{font-size:7px;letter-spacing:.12em}.project-detail{padding:max(14px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}.project-detail__header{align-items:center;padding-bottom:10px}.project-detail__back{min-height:44px}.project-detail__archive-return{right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px));min-width:108px;min-height:48px;padding-inline:13px;background:#050506f5}.project-detail__hero{min-height:auto;margin-top:24px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"label" "title" "description" "media" "metadata";gap:12px;align-content:start}.project-detail__hero h1{max-width:9ch;font-size:clamp(30px,9.5vw,46px);line-height:.97}.project-detail__description{max-width:37ch;font-size:9px}.project-detail__intro{gap:12px}.project-detail__statement{max-width:31ch;font-size:8px}.project-detail__media{margin-top:4px}.project-detail__emblem{top:8px;right:8px;width:74px;padding:5px}.project-detail__video{max-height:none}.project-detail__metadata{padding-top:12px}.project-detail-sections{margin-top:72px;padding-bottom:72px;gap:72px}.project-detail-section{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "media";gap:28px;padding-top:14px}.project-detail-section--media-first{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "media"}.project-detail-section--feature{row-gap:28px}.project-detail-section__copy{gap:12px}.project-detail-section--feature .project-detail-section__copy{max-width:100%}.project-detail-section h2{max-width:11ch;font-size:clamp(28px,9vw,38px)}.project-detail-section__body{max-width:37ch;font-size:10px}.project-detail-section__statement{max-width:36ch;font-size:9px}.project-detail-section__metadata{margin-top:2px;padding-top:10px;font-size:7px}.project-detail-section--feature .project-detail-section__media{width:100%}.project-detail--interactive-album .project-detail__hero,.project-detail--interactive-album .project-detail-section--concept{grid-template-columns:minmax(0,1fr)}.project-detail--interactive-album .project-detail__hero{grid-template-rows:auto;grid-template-areas:"label" "title" "description" "media" "metadata"}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__copy,.project-detail--interactive-album .project-detail-section--process .project-detail-section__copy{grid-template-columns:minmax(0,1fr);grid-template-areas:"index" "title" "body" "statement" "metadata"}.project-detail--interactive-album .project-detail-section--studies h2,.project-detail--interactive-album .project-detail-section--process h2{max-width:10ch}.project-detail--interactive-album .project-detail-section--process .project-detail-section__body{grid-template-columns:minmax(0,1fr)}.project-detail--interactive-album .project-detail-section--process .project-detail-section__body p:first-child{grid-column:1}.project-detail--interactive-album .project-detail-section--process .project-detail-section__index,.project-detail--interactive-album .project-detail-section--process h2,.project-detail--interactive-album .project-detail-section--process .project-detail-section__body,.project-detail--interactive-album .project-detail-section--process .project-detail-section__statement,.project-detail--interactive-album .project-detail-section--process .project-detail-section__metadata{grid-column:1;grid-row:auto}.project-detail__content{margin:64px auto;gap:15px}.project-detail__content h1{font-size:clamp(30px,11vw,48px)}}@media (min-width: 641px) and (max-width: 1100px){.project-detail__hero{min-height:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "title" "description" "media" "metadata";gap:14px;align-content:start}.project-detail__hero h1{max-width:12ch;font-size:clamp(40px,8vw,62px)}.project-detail__media{margin-top:8px}.project-detail__video{max-height:none}.project-detail-sections{margin-top:clamp(72px,9vw,96px);padding-bottom:96px;gap:clamp(72px,9vw,96px)}.project-detail-section,.project-detail-section--media-first{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "media";gap:clamp(24px,3.2vw,32px);padding-top:16px}.project-detail-section--feature{row-gap:clamp(24px,3.2vw,32px)}.project-detail-section__copy{max-width:34rem}.project-detail-section--feature .project-detail-section__copy{max-width:40rem}.project-detail-section h2{font-size:clamp(32px,6vw,50px)}.project-detail-section--feature .project-detail-section__media{width:100%}.project-detail--interactive-album .project-detail__hero,.project-detail--interactive-album .project-detail-section--concept{grid-template-columns:minmax(0,1fr)}.project-detail--interactive-album .project-detail__hero{grid-template-rows:auto;grid-template-areas:"label" "title" "description" "media" "metadata"}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__copy,.project-detail--interactive-album .project-detail-section--process .project-detail-section__copy{max-width:100%;grid-template-columns:minmax(0,1fr);grid-template-areas:"index" "title" "body" "statement" "metadata"}.project-detail--interactive-album .project-detail-section--process .project-detail-section__body{max-width:56rem}.project-detail--interactive-album .project-detail-section--process .project-detail-section__index,.project-detail--interactive-album .project-detail-section--process h2,.project-detail--interactive-album .project-detail-section--process .project-detail-section__body,.project-detail--interactive-album .project-detail-section--process .project-detail-section__statement,.project-detail--interactive-album .project-detail-section--process .project-detail-section__metadata{grid-column:1;grid-row:auto}}@media (min-width: 1800px){.project-detail{--project-shell-width: min(1680px, calc(100vw - 112px) );--project-wide-gap: clamp(52px, 3.2vw, 72px);--project-wide-section-gap: clamp(108px, 6vw, 136px)}.project-detail__header,.project-detail__hero,.project-detail-sections{width:var(--project-shell-width)}.project-detail__hero{grid-template-columns:minmax(340px,34fr) minmax(0,62fr);column-gap:var(--project-wide-gap);row-gap:clamp(18px,1.4vw,24px)}.project-detail__media{max-width:100%}.project-detail__video{max-height:min(72svh,840px)}.project-detail-sections{gap:var(--project-wide-section-gap)}.project-detail-section,.project-detail-section--media-first{grid-template-columns:minmax(340px,28fr) minmax(0,67fr);column-gap:var(--project-wide-gap)}.project-detail-section--media-first{grid-template-columns:minmax(0,67fr) minmax(340px,28fr)}.project-detail-section--feature{grid-template-columns:minmax(0,1fr);row-gap:clamp(44px,3vw,64px)}.project-detail--interactive-album .project-detail__hero{grid-template-columns:minmax(340px,42fr) minmax(0,54fr);column-gap:var(--project-wide-gap);row-gap:clamp(24px,1.8vw,30px)}.project-detail--interactive-album .project-detail-section--concept{grid-template-columns:minmax(0,70fr) minmax(340px,25fr);column-gap:var(--project-wide-gap)}.project-detail--interactive-album .project-detail-section--studies .project-detail-section__copy,.project-detail--interactive-album .project-detail-section--process .project-detail-section__copy{grid-template-columns:minmax(340px,36fr) minmax(0,59fr);column-gap:var(--project-wide-gap)}}@media (prefers-reduced-motion: reduce){.archive-interface,.archive-carousel-hint{transition-duration:.01ms}.archive-interface.is-exiting{transition-duration:.56s}}*{box-sizing:border-box;margin:0;padding:0;letter-spacing:0}html,body{width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--cold-white);font-family:var(--font-mono)}button{color:inherit}button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}#canvas-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100vw;height:100vh}#glitch-background{display:none}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:grid;place-items:center;background:var(--ink);transition:opacity .52s ease,visibility .52s ease}.loading-screen.fade-out{opacity:0;visibility:hidden}.loading-screen.is-settling .loader-part{animation-play-state:paused;opacity:1;transform:translate(0) scale(1)}.webgl-fallback{--fallback-line: rgba(244,242,237,.22);position:relative;z-index:1300;min-height:100svh;padding:clamp(20px,3vw,48px);background:radial-gradient(circle at 78% 12%,rgba(200,255,61,.13),transparent 30rem),var(--ink);color:var(--cold-white)}.webgl-fallback[hidden]{display:none}.webgl-fallback__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--fallback-line);font:500 9px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.webgl-fallback__bar a{color:inherit;text-decoration:none}.webgl-fallback__bar>a:not(.webgl-fallback__brand){color:var(--acid)}.webgl-fallback__brand{display:inline-flex;align-items:baseline;gap:8px;font:500 clamp(16px,1.6vw,23px)/1 var(--font-display);letter-spacing:-.045em}.webgl-fallback__brand span{color:#f4f2ed8a;font:8px/1 var(--font-mono);letter-spacing:.14em}.webgl-fallback__intro{width:min(100%,1120px);min-height:min(72svh,680px);display:grid;align-content:center;gap:clamp(18px,2.4vw,32px);padding-block:clamp(76px,12vh,160px) clamp(64px,8vh,112px)}.webgl-fallback__eyebrow{margin:0;color:var(--acid);font:500 9px/1.2 var(--font-mono);letter-spacing:.15em;text-transform:uppercase}.webgl-fallback__intro h1,.webgl-fallback__work h2{margin:0;font:500 clamp(34px,6.8vw,104px)/.88 var(--font-display);letter-spacing:-.064em;text-transform:uppercase;text-wrap:balance}.webgl-fallback__intro>p:not(.webgl-fallback__eyebrow){max-width:44ch;margin:0;color:#f4f2edb3;font:11px/1.65 var(--font-mono);letter-spacing:.025em}.webgl-fallback__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}.webgl-fallback__actions a,.webgl-fallback__actions button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 15px;border:1px solid var(--fallback-line);background:transparent;color:var(--cold-white);font:500 9px/1 var(--font-mono);letter-spacing:.12em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.webgl-fallback__actions a:first-child{border-color:var(--acid);background:var(--acid);color:var(--ink)}.webgl-fallback__actions a:hover,.webgl-fallback__actions a:focus-visible,.webgl-fallback__actions button:hover,.webgl-fallback__actions button:focus-visible{border-color:var(--acid);color:var(--acid)}.webgl-fallback__actions a:first-child:hover,.webgl-fallback__actions a:first-child:focus-visible{background:transparent}.webgl-fallback__work{width:min(100%,1400px);padding-top:clamp(34px,6vw,80px);border-top:1px solid var(--fallback-line)}.webgl-fallback__work h2{margin-top:16px;font-size:clamp(28px,4.3vw,66px)}.webgl-fallback__work ol{margin:clamp(34px,5vw,64px) 0 0;padding:0;list-style:none;border-top:1px solid var(--fallback-line)}.webgl-fallback__work li{border-bottom:1px solid var(--fallback-line)}.webgl-fallback__work li a{min-height:clamp(86px,9vw,132px);display:grid;grid-template-columns:minmax(30px,.35fr) minmax(160px,2.5fr) minmax(170px,1.5fr) auto;align-items:center;gap:clamp(12px,2vw,30px);color:inherit;text-decoration:none;transition:color .16s ease,background-color .16s ease,padding .16s ease}.webgl-fallback__work li a:hover,.webgl-fallback__work li a:focus-visible{padding-inline:14px;background:#c8ff3d14;color:var(--acid)}.webgl-fallback__work li span,.webgl-fallback__work li small{color:#f4f2ed8a;font:9px/1.35 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.webgl-fallback__work li strong{font:500 clamp(16px,2.4vw,34px)/1 var(--font-display);letter-spacing:-.04em}.webgl-fallback__work li b{font:400 22px/1 var(--font-mono)}body.webgl-fallback-active #canvas-container,body.webgl-fallback-active #glitch-background,body.webgl-fallback-active .navbar,body.webgl-fallback-active .snail-contact-label,body.webgl-fallback-active .contact-modal,body.webgl-fallback-active .control-panel,body.webgl-fallback-active .utility-actions,body.webgl-fallback-active .zoom-controls{display:none!important}@media (max-width: 640px){.webgl-fallback{padding:max(18px,env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) max(28px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}.webgl-fallback__intro{min-height:68svh;padding-top:78px}.webgl-fallback__intro h1{font-size:clamp(34px,10.3vw,54px);line-height:.91}.webgl-fallback__actions{display:grid;grid-template-columns:1fr}.webgl-fallback__work li a{grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding-block:15px}.webgl-fallback__work li small{grid-column:2 / -1}.webgl-fallback__work li b{grid-column:3;grid-row:1}}.loader-stack{display:grid;justify-items:center;gap:18px}.loader-logo{width:92px;height:auto;overflow:visible;color:var(--cold-white)}.loader-progress{width:92px;height:1px;overflow:hidden;background:#f4f2ed33}.loader-progress-fill{width:0;height:100%;background:var(--cold-white);transition:width 80ms linear}.loader-failure{max-width:min(320px,78vw);margin:2px 0 0;color:var(--cold-white);font:500 10px/1.45 var(--font-mono);letter-spacing:.12em;text-align:center}.loader-part{fill:currentColor;opacity:0;transform-box:fill-box;transform-origin:center;will-change:transform,opacity;animation:shiro-logo-part 1.5s infinite linear}.loader-part-frame{--loader-x: 0px;--loader-y: 14px;animation-delay:0ms}.loader-part-top-left{--loader-x: -18px;--loader-y: 0px;animation-delay:90ms}.loader-part-top-center{--loader-x: 0px;--loader-y: -18px;animation-delay:.18s}.loader-part-top-right{--loader-x: 18px;--loader-y: 0px;animation-delay:.27s}.loader-part-center{--loader-x: 0px;--loader-y: 14px;animation-delay:.36s}.loader-part-bottom-left{--loader-x: -18px;--loader-y: 0px;animation-delay:.45s}.loader-part-bottom-right{--loader-x: 18px;--loader-y: 0px;animation-delay:.54s}@keyframes shiro-logo-part{0%,8%{opacity:0;transform:translate(var(--loader-x),var(--loader-y)) scale(.92)}28%,72%{opacity:1;transform:translate(0) scale(1)}95%,to{opacity:0;transform:translate(var(--loader-x),var(--loader-y)) scale(1.04)}}.navbar{position:fixed;top:24px;right:24px;left:24px;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.logo,.utility-actions{pointer-events:auto}.logo{display:flex;align-items:center;gap:14px;min-width:158px;color:inherit;text-decoration:none}.logo:focus-visible{outline:2px solid var(--acid);outline-offset:4px}.logo-mark{width:48px;height:52px;flex:0 0 auto;filter:invert(1)}.logo-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding-top:1px}.logo-text strong{display:block;font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1;letter-spacing:.075em;margin-right:-.075em;white-space:nowrap}.logo-text small{display:flex;justify-content:space-between;align-items:center;width:100%;color:#f4f2edb8;font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:1;letter-spacing:0;white-space:nowrap}.utility-actions{position:fixed;right:24px;bottom:24px;z-index:12;display:flex;align-items:center;gap:8px}.floppy-eject-widget{position:static;transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1),visibility .28s ease}.floppy-eject-widget.hidden{opacity:0;visibility:hidden;transform:translateY(14px);pointer-events:none}.eject-btn{display:flex;align-items:center;gap:10px;padding:10px 22px;border:1px solid rgba(200,255,61,.7);background:#050506e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--cold-white);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;cursor:pointer;box-shadow:0 0 24px #c8ff3d38;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.snail-contact-label{--snail-x: -200px;--snail-y: -200px;position:fixed;top:var(--snail-y);left:var(--snail-x);z-index:11;display:none;min-width:236px;min-height:102px;align-content:center;padding:15px 20px 16px;border:2px solid rgba(34,223,242,.82);border-radius:8px;background:repeating-linear-gradient(to bottom,transparent 0 5px,rgba(244,242,237,.035) 6px),#040508f0;box-shadow:inset 0 0 0 1px #f4f2ed14,0 0 24px #22dff229,0 18px 44px #00000061;opacity:0;pointer-events:none;transform:translate(12px,-50%) scaleX(.18);transform-origin:left center;transition:opacity .17s ease,transform .32s cubic-bezier(.16,1,.3,1)}.snail-contact-label:before{content:"";position:absolute;top:50%;right:100%;width:22px;height:2px;background:#22dff2;box-shadow:0 0 10px #22dff2a6}.snail-contact-label span{color:var(--acid);font-family:var(--font-mono);font-size:10px;line-height:1}.snail-contact-label strong{margin-top:5px;color:var(--cold-white);font-family:var(--font-display);font-size:31px;font-weight:600;line-height:1;text-shadow:2px 0 rgba(34,223,242,.38),-2px 0 rgba(255,121,207,.34)}.snail-contact-label.is-visible{opacity:1;transform:translate(12px,-50%) scaleX(1)}.snail-contact-label.is-left{transform:translate(calc(-100% + 20px),-50%) scaleX(.18);transform-origin:right center}.snail-contact-label.is-left:before{right:auto;left:100%}.snail-contact-label.is-left.is-visible{transform:translate(calc(-100% + 20px),-50%) scaleX(1)}.eject-btn:hover{background:var(--acid);color:var(--ink);border-color:var(--acid);box-shadow:0 0 32px #c8ff3d8c;transform:scale(1.04)}.eject-icon{font-size:14px;transform:translateY(-1px)}.zoom-controls{position:fixed;bottom:24px;left:24px;z-index:12;display:flex;align-items:flex-end;gap:8px}.icon-btn,.close-btn{display:grid;place-items:center;border:1px solid var(--line);border-radius:0;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.icon-btn{width:44px;height:44px;color:inherit;font-family:var(--font-mono);font-size:20px;text-decoration:none}.instagram-btn,.threads-btn{line-height:0}.zoom-btn{font-size:24px;line-height:1}.orbit-disclosure{position:relative;display:grid}.orbit-toggle{font-size:22px;line-height:1}.orbit-panel{position:absolute;bottom:0;left:52px;display:flex;align-items:center;gap:8px;width:0;height:148px;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-6px);transition:width .18s ease,opacity .16s ease,transform .18s ease,visibility .18s ease}.zoom-controls.is-orbit-open .orbit-panel{width:200px;opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.zoom-controls.is-orbit-open .orbit-toggle{border-color:var(--acid);color:var(--acid)}.zoom-stack{display:grid;gap:8px}.orbit-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:8px;width:148px;flex:0 0 auto}.orbit-btn{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:0;background:var(--surface);color:inherit;font-family:var(--font-mono);font-size:17px;line-height:1;cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.pan-handle{grid-column:2;grid-row:2;border-radius:50%;touch-action:none;cursor:grab}.pan-handle span{width:10px;height:10px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 8px #f4f2ed6b}.pan-handle.is-dragging{border-color:var(--acid);background:var(--acid);color:var(--ink);cursor:grabbing}.orbit-btn:hover{border-color:var(--acid);background:var(--acid);color:var(--ink)}.orbit-btn[data-orbit=up]{grid-column:2;grid-row:1}.orbit-btn[data-orbit=left]{grid-column:1;grid-row:2}.orbit-btn[data-orbit=right]{grid-column:3;grid-row:2}.orbit-btn[data-orbit=down]{grid-column:2;grid-row:3}.instagram-btn svg,.threads-btn svg{width:18px;height:18px}.icon-btn:hover,.close-btn:hover{border-color:var(--acid);background:var(--acid);color:var(--ink)}.control-panel{position:fixed;top:24px;right:24px;bottom:auto;left:auto;z-index:10;display:flex;align-items:flex-start;justify-content:flex-end;gap:16px;pointer-events:none}.nav-links{display:grid;grid-template-columns:repeat(3,minmax(112px,auto));border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.nav-toggle{display:none}.nav-btn{min-height:52px;padding:9px 16px;border:0;border-right:1px solid var(--line-soft);border-radius:0;background:transparent;font-family:var(--font-display);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:color .18s ease,background-color .18s ease}.nav-btn:last-child{border-right:0}.nav-btn span{display:block;margin-bottom:2px;color:#f4f2ed7a;font-family:var(--font-mono);font-size:9px;font-weight:400}.nav-btn:hover{background:#f4f2ed1a}.nav-btn.active{background:var(--acid);color:var(--ink)}.nav-btn.active span{color:#0505069e}.info-drawer{position:fixed;top:96px;right:24px;bottom:96px;z-index:15;width:min(360px,calc(100vw - 48px));padding:28px;overflow-y:auto;border:1px solid var(--line);border-radius:0;background:var(--surface-solid);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(0);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s ease}.info-drawer:before{content:"OBJECT / DATA";display:block;margin-bottom:38px;color:var(--acid);font-family:var(--font-mono);font-size:9px}.info-drawer.hidden{transform:translate(16px);opacity:0;visibility:hidden;pointer-events:none}.close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;font-size:18px}.drawer-body h2{margin-bottom:8px;color:var(--cold-white);font-family:var(--font-display);font-size:26px;font-weight:500;line-height:1.08;text-wrap:pretty}.drawer-body h3{margin:24px 0 8px;color:var(--holo);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}.drawer-body p{color:#f4f2edad;font-family:var(--font-mono);font-size:13px;line-height:1.7;text-wrap:pretty}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.tag{padding:5px 7px;border:1px solid var(--line);border-radius:0;color:var(--acid);font-family:var(--font-mono);font-size:9px}@media (min-width: 721px) and (max-width: 1024px){.logo-text strong{font-size:20px}.logo-text small{font-size:9.5px;letter-spacing:0}.nav-btn{min-height:50px;font-size:13px}.drawer-body h2{font-size:24px}}@media (max-width: 720px){.eject-btn{min-height:44px;padding:11px 16px;font-size:12px}.snail-contact-label{min-width:164px;padding:10px 13px 11px}.snail-contact-label strong{font-size:22px}.navbar{top:10px;right:10px;left:10px}.logo{gap:10px;min-width:0}.logo-mark{width:44px;height:48px}.logo-text strong{font-size:21px;letter-spacing:.065em}.logo-text small{font-size:9.5px;letter-spacing:0}.icon-btn{width:44px;height:44px}.utility-actions{right:10px;bottom:10px}.zoom-controls{bottom:10px;left:10px}.control-panel{top:10px;right:10px;bottom:auto;left:auto;flex-direction:column;align-items:flex-end;gap:8px}.nav-toggle{position:relative;display:grid;width:44px;height:44px;place-content:center;gap:5px;border:1px solid var(--line);border-radius:0;color:var(--paper);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;cursor:pointer}.nav-toggle span{width:16px;height:1px;background:currentColor;transform-origin:center;transition:transform .18s ease,opacity .18s ease}.control-panel.is-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.control-panel.is-open .nav-toggle span:nth-child(2){opacity:0}.control-panel.is-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-links{position:absolute;top:50px;right:0;width:min(204px,calc(100vw - 20px));grid-template-columns:1fr;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;pointer-events:none}.control-panel.is-open .nav-links{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.nav-btn{min-width:0;min-height:60px;padding:9px 8px;font-size:13px;border-right:0;border-bottom:1px solid var(--line-soft);white-space:normal}.nav-btn:last-child{border-bottom:0}.nav-btn span{font-size:9px}.info-drawer{top:auto;right:10px;bottom:64px;left:10px;width:auto;max-height:38vh;padding:22px}.info-drawer:before{margin-bottom:24px}.drawer-body h2{font-size:24px}.drawer-body p{font-size:13px}}@media (max-width: 430px){.logo-text small{display:flex;font-size:8.5px;letter-spacing:0}.nav-btn{font-size:12px}}@media (prefers-reduced-motion: reduce){.loading-screen,.info-drawer,.nav-btn,.nav-toggle span,.icon-btn,.orbit-btn,.orbit-panel{transition-duration:.01ms}.loader-part{animation-duration:.01ms}}@media (pointer: coarse){.form-group input,.form-group textarea{font-size:16px}}@media (max-width: 960px){body.contact-keyboard-active .contact-modal.is-auto-layout,body.contact-visual-keyboard .contact-modal.is-auto-layout,body.contact-keyboard-active .contact-modal.is-auto-layout.is-left,body.contact-visual-keyboard .contact-modal.is-auto-layout.is-left{max-width:none}body.contact-keyboard-active .contact-modal.is-auto-layout .contact-card,body.contact-visual-keyboard .contact-modal.is-auto-layout .contact-card{height:auto;max-height:85vh;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 16px}body.contact-keyboard-active .contact-header,body.contact-visual-keyboard .contact-header{margin:4px 36px 8px 0}body.contact-keyboard-active .contact-tag,body.contact-visual-keyboard .contact-tag{font-size:10px}body.contact-keyboard-active .contact-title,body.contact-visual-keyboard .contact-title{font-size:20px;line-height:1.1}body.contact-keyboard-active .contact-form,body.contact-visual-keyboard .contact-form{gap:8px}body.contact-keyboard-active .form-group,body.contact-visual-keyboard .form-group{gap:3px}body.contact-keyboard-active .form-group label,body.contact-visual-keyboard .form-group label{font-size:10px}body.contact-keyboard-active .form-group input,body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group input,body.contact-visual-keyboard .form-group textarea{min-height:38px;padding:6px 10px;font-size:16px;line-height:1.3}body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group textarea{min-height:64px;max-height:120px}body.contact-keyboard-active .contact-submit-btn,body.contact-visual-keyboard .contact-submit-btn{min-height:34px;padding:6px 10px;font-size:11px}body.contact-keyboard-active .close-contact-btn,body.contact-visual-keyboard .close-contact-btn{top:7px;right:7px;width:36px;height:36px}}@media (max-width: 960px) and (orientation: landscape) and (max-height: 520px){.contact-modal.is-auto-layout,.contact-modal.is-auto-layout.is-left{width:min(420px,47vw);max-width:calc(100vw - 24px)}.contact-modal.is-auto-layout .contact-card{box-sizing:border-box;height:auto;min-height:0;max-height:calc(100dvh - 16px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 11px 10px}.contact-modal.is-auto-layout .contact-header{margin:4px 40px 3px 0}.contact-modal.is-auto-layout .contact-tag{font-size:9px;margin-bottom:2px}.contact-modal.is-auto-layout .contact-title{font-size:19px;line-height:1}.contact-modal.is-auto-layout .contact-form{gap:3px}.contact-modal.is-auto-layout .form-group{gap:1px}.contact-modal.is-auto-layout .form-group label{font-size:8px}.contact-modal.is-auto-layout .form-group input,.contact-modal.is-auto-layout .form-group textarea{min-height:31px;padding:4px 8px;font-size:16px}.contact-modal.is-auto-layout .form-group textarea{min-height:38px;max-height:38px}.contact-modal.is-auto-layout .contact-submit-btn{min-height:34px;padding:6px 9px;font-size:11px}.contact-modal.is-auto-layout .contact-footer,.contact-modal.is-auto-layout .contact-status:empty{display:none}}@media (max-width: 960px){body.contact-keyboard-active .contact-modal.is-auto-layout,body.contact-visual-keyboard .contact-modal.is-auto-layout,body.contact-keyboard-active .contact-modal.is-auto-layout.is-left,body.contact-visual-keyboard .contact-modal.is-auto-layout.is-left{max-height:85vh}body.contact-keyboard-active .contact-modal.is-auto-layout .contact-card,body.contact-visual-keyboard .contact-modal.is-auto-layout .contact-card{box-sizing:border-box;height:auto!important;min-height:0;max-height:85vh!important;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 14px}body.contact-keyboard-active .form-group input,body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group input,body.contact-visual-keyboard .form-group textarea{color:#f4f2ed;background-color:#090c10f0;scroll-margin-block:18px}}@media (max-width: 960px) and (orientation: landscape) and (min-width: 700px){body.contact-keyboard-active .contact-modal.is-auto-layout,body.contact-visual-keyboard .contact-modal.is-auto-layout,body.contact-keyboard-active .contact-modal.is-auto-layout.is-left,body.contact-visual-keyboard .contact-modal.is-auto-layout.is-left{left:calc(var(--contact-visual-left, 0px) + clamp(14px,4vw,48px))!important;width:min(420px,calc(var(--contact-visual-width, 100vw) * .46))!important;max-width:calc(var(--contact-visual-width, 100vw) * .46)!important}}body.contact-mode-active .navbar,body.contact-mode-active .control-panel,body.contact-mode-active .utility-actions,body.contact-mode-active .zoom-controls,body.contact-mode-active .floppy-eject-widget,body.contact-mode-active .snail-contact-label{opacity:0;pointer-events:none;transition:opacity .32s ease}.contact-modal{--contact-anchor-x: 42vw;--contact-anchor-y: 48vh;--contact-gap: 104px;--contact-stack-offset: 108px;--contact-card-max-height: 540px;position:fixed;top:var(--contact-anchor-y);left:var(--contact-anchor-x);z-index:30;width:clamp(380px,34vw,480px);opacity:1;pointer-events:auto;transform:translate(var(--contact-gap),-50%) scaleX(1);transform-origin:left center;transition:opacity .42s ease,transform .72s cubic-bezier(.16,1,.3,1),filter .42s ease}.contact-modal.is-left{transform:translate(calc(-100% - var(--contact-gap)),-50%) scaleX(1);transform-origin:right center}.contact-modal.hidden{opacity:0;pointer-events:none;transform:translate(3px,-50%) scaleX(.08);filter:blur(5px)}.contact-modal.is-left.hidden{transform:translate(-3px,-50%) scaleX(.08)}.contact-modal.is-departing,.contact-modal.is-left.is-departing{opacity:0;pointer-events:none;transform:translate(74px,-64%) scale(.72);filter:blur(8px)}.contact-card{position:relative;overflow:hidden;padding:24px 24px 20px;border:1px solid rgba(34,223,242,.72);border-radius:8px;background:linear-gradient(112deg,rgba(34,223,242,.075),transparent 34%),linear-gradient(292deg,rgba(255,121,207,.08),transparent 30%),#040508e6;box-shadow:0 0 0 1px #f4f2ed14 inset,0 0 32px #22dff21c,0 22px 64px #00000085;color:var(--cold-white)}.contact-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.38;background:repeating-linear-gradient(to bottom,transparent 0,transparent 5px,rgba(244,242,237,.035) 6px)}.contact-card:after{content:"";position:absolute;top:14px;left:18px;width:54px;height:2px;background:var(--acid);box-shadow:66px 0 #22dff2b8,126px 0 #ff79cf94}.close-contact-btn{position:absolute;top:14px;right:14px;z-index:2;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(244,242,237,.24);border-radius:4px;background:#050506b8;color:var(--cold-white);font:500 16px/1 var(--font-mono);cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.close-contact-btn:hover{border-color:var(--acid);background:#c8ff3d14;color:var(--acid)}.contact-header{position:relative;z-index:1;margin:18px 56px 22px 0}.contact-tag{display:block;margin-bottom:9px;color:var(--acid);font:500 12px/1.2 var(--font-mono);text-transform:uppercase}.contact-title{margin:0;color:var(--cold-white);font:500 clamp(25px,2.2vw,34px)/1.06 var(--font-display);text-shadow:2px 0 rgba(34,223,242,.32),-2px 0 rgba(255,121,207,.28);text-wrap:pretty}.contact-form{position:relative;z-index:1;display:grid;gap:13px}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}.form-group{display:grid;gap:6px}.form-group label{color:#f4f2edad;font:500 12px/1.2 var(--font-mono)}.form-group input,.form-group textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(244,242,237,.2);border-radius:3px;outline:none;background:#f4f2ed0b;color:var(--cold-white);font:400 15px/1.45 var(--font-mono);caret-color:var(--acid);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:#f4f2ed5c}.form-group input:focus,.form-group textarea:focus{border-color:var(--acid);background:#c8ff3d0e;box-shadow:0 0 0 1px #c8ff3d29,0 0 18px #22dff214}.form-group textarea{min-height:88px;resize:vertical}.contact-submit-btn{width:100%;min-height:48px;margin-top:3px;padding:12px 16px;border:1px solid var(--acid);border-radius:3px;background:var(--acid);color:var(--ink);font:600 13px/1 var(--font-display);cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.contact-submit-btn:hover{background:var(--cold-white);box-shadow:0 0 24px #c8ff3d42;transform:translateY(-1px)}.contact-submit-btn:disabled{cursor:wait;opacity:.72;transform:none}.submit-spinner.hidden,.submit-text.hidden{display:none!important}.contact-status{min-height:19px;color:#f4f2edad;font:500 12px/1.4 var(--font-mono);text-align:left}.field-error{display:block;min-height:16px;margin-top:4px;color:var(--holo);font:500 10px/1.35 var(--font-mono)}.contact-status strong,.contact-status small{display:block;font:inherit}.contact-status small{margin-top:3px;color:#f4f2ed94;font-size:10px}.contact-status.success{color:var(--acid)}.contact-status.error{color:var(--holo)}.contact-footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(244,242,237,.12);color:#f4f2ed80;font:400 12px/1.4 var(--font-mono)}.direct-email-link{color:#22dff2;text-decoration:none}.direct-email-link:hover{color:var(--cold-white);text-decoration:underline}@media (min-width: 1101px){.contact-modal,.contact-modal.is-left{width:clamp(560px,30vw,720px)}.contact-card{padding:29px 30px 25px;border-width:2px;background:linear-gradient(112deg,rgba(34,223,242,.1),transparent 36%),linear-gradient(292deg,rgba(255,121,207,.1),transparent 31%),#040508ed}.contact-header{margin:22px 64px 25px 0}.contact-tag{font-size:13px}.contact-title{font-size:clamp(34px,2vw,43px)}.contact-form{gap:15px}.form-group input,.form-group textarea{min-height:50px;padding:12px 14px;font-size:16px}.form-group textarea{min-height:104px}}@media (max-width: 960px){.contact-modal,.contact-modal.is-left{top:var(--contact-anchor-y);left:var(--contact-anchor-x);width:min(420px,calc(100vw - 28px));transform:translate(-50%,var(--contact-stack-offset)) scale(1);transform-origin:top center}.contact-modal.hidden,.contact-modal.is-left.hidden{transform:translate(-50%,10px) scale(.78)}.contact-modal.is-departing,.contact-modal.is-left.is-departing{transform:translate(-50%,42px) scale(.72)}.contact-card{max-height:min(var(--contact-card-max-height),540px);overflow-y:auto;padding:21px 18px 18px}.contact-header{margin:17px 50px 16px 0}.contact-title{font-size:clamp(23px,7vw,30px)}.contact-form{gap:10px}.form-group textarea{min-height:70px}.contact-footer{font-size:11px}}@media (min-width: 641px) and (max-width: 1100px){.contact-modal,.contact-modal.is-left{top:var(--contact-anchor-y);left:var(--contact-anchor-x);width:min(360px,39vw)}.contact-modal{transform:translate(var(--contact-gap),-50%) scaleX(1);transform-origin:left center}.contact-modal.is-left{transform:translate(calc(-100% - var(--contact-gap)),-50%) scaleX(1);transform-origin:right center}.contact-modal.hidden{transform:translate(3px,-50%) scaleX(.08)}.contact-modal.is-left.hidden{transform:translate(-3px,-50%) scaleX(.08)}.contact-modal.is-departing,.contact-modal.is-left.is-departing{transform:translate(52px,-58%) scale(.74)}.contact-card{max-height:none;overflow:hidden}}@media (max-width: 720px){.contact-card{max-height:min(var(--contact-card-max-height),540px)}}@media (max-width: 640px){.contact-modal,.contact-modal.is-left{top:auto;left:50%;bottom:12px;transform:translate(-50%) scale(1)}.contact-modal.hidden,.contact-modal.is-left.hidden{transform:translate(-50%,18px) scale(.86)}.contact-modal.is-departing,.contact-modal.is-left.is-departing{transform:translate(-50%,24px) scale(.76)}.contact-card{max-height:none;overflow:hidden;padding:12px 14px 11px}.contact-header{margin:11px 42px 8px 0}.contact-tag{margin-bottom:3px;font-size:10px}.contact-title{font-size:23px;line-height:1}.contact-form{gap:5px}.form-group{gap:3px}.form-group label{font-size:10px}.form-group input,.form-group textarea{min-height:34px;padding:6px 9px;font-size:13px}.form-group textarea{min-height:48px;max-height:48px;resize:none}.contact-submit-btn{min-height:38px;margin-top:0;padding:8px 12px;font-size:12px}.contact-status:empty,.contact-footer{display:none}.close-contact-btn{top:10px;right:10px;width:44px;height:44px}}.contact-modal.is-auto-layout,.contact-modal.is-auto-layout.is-left{top:var(--contact-layout-y);left:var(--contact-layout-x);bottom:auto;height:auto;transform:none;transform-origin:center}.contact-modal.is-auto-layout .contact-card{height:auto;max-height:calc(var(--contact-visual-height, 100dvh) - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.contact-modal.is-auto-layout.hidden,.contact-modal.is-auto-layout.is-left.hidden{transform:translateY(10px) scale(.94)}.contact-modal.is-auto-layout.is-departing,.contact-modal.is-auto-layout.is-left.is-departing{transform:translateY(-24px) scale(.76)}@media (max-width: 960px){body.contact-keyboard-active .contact-modal,body.contact-visual-keyboard .contact-modal{width:min(420px,calc(100vw - 18px))}body.contact-keyboard-active .contact-card,body.contact-visual-keyboard .contact-card{padding:10px 12px}body.contact-keyboard-active .contact-header,body.contact-visual-keyboard .contact-header{margin:8px 48px 6px 0}body.contact-keyboard-active .contact-tag,body.contact-visual-keyboard .contact-tag{margin-bottom:2px;font-size:9px}body.contact-keyboard-active .contact-title,body.contact-visual-keyboard .contact-title{font-size:20px}body.contact-keyboard-active .contact-form,body.contact-visual-keyboard .contact-form{gap:4px}body.contact-keyboard-active .form-group,body.contact-visual-keyboard .form-group{gap:2px}body.contact-keyboard-active .form-group label,body.contact-visual-keyboard .form-group label{font-size:9px}body.contact-keyboard-active .form-group input,body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group input,body.contact-visual-keyboard .form-group textarea{min-height:32px;padding:5px 8px;font-size:13px}body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group textarea{min-height:42px;max-height:42px}body.contact-keyboard-active .contact-submit-btn,body.contact-visual-keyboard .contact-submit-btn{min-height:36px;padding:7px 10px}body.contact-keyboard-active .contact-status:empty,body.contact-keyboard-active .contact-footer,body.contact-visual-keyboard .contact-status:empty,body.contact-visual-keyboard .contact-footer{display:none}}@media (prefers-reduced-motion: reduce){.contact-modal,.contact-submit-btn,.contact-modal.is-departing{transition-duration:.01ms}}@media (pointer: coarse){.archive-carousel-control,.archive-exit-button,.project-detail__back,.project-detail__archive-return,.icon-btn,.nav-toggle{min-width:44px;min-height:44px}.contact-form input,.contact-form textarea{font-size:16px}}@media (max-width: 960px){body.contact-keyboard-active .contact-modal.is-auto-layout,body.contact-visual-keyboard .contact-modal.is-auto-layout{max-width:420px;max-height:85vh!important}body.contact-keyboard-active .contact-modal.is-auto-layout .contact-card,body.contact-visual-keyboard .contact-modal.is-auto-layout .contact-card{box-sizing:border-box;height:auto!important;max-height:85vh!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding:14px 16px}body.contact-keyboard-active .form-group input,body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group input,body.contact-visual-keyboard .form-group textarea{min-height:38px;padding:8px 12px;font-size:16px!important}body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group textarea{min-height:72px;max-height:160px!important}}body.contact-keyboard-active .contact-modal.is-auto-layout,body.contact-visual-keyboard .contact-modal.is-auto-layout,body.contact-keyboard-active .contact-modal.is-auto-layout.is-left,body.contact-visual-keyboard .contact-modal.is-auto-layout.is-left{position:fixed!important;top:calc(var(--contact-visual-top, 0px) + 8px)!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%)!important;width:min(440px,calc(var(--contact-visual-width, 100vw) - 16px))!important;max-width:calc(var(--contact-visual-width, 100vw) - 16px)!important;max-height:calc(var(--contact-visual-height, 100dvh) - 16px)!important;z-index:1200}body.contact-keyboard-active .contact-modal.is-auto-layout .contact-card,body.contact-visual-keyboard .contact-modal.is-auto-layout .contact-card{box-sizing:border-box;width:100%;height:auto!important;max-height:calc(var(--contact-visual-height, 100dvh) - 16px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 14px!important;scroll-padding-block:12px}body.contact-keyboard-active .contact-form,body.contact-visual-keyboard .contact-form{gap:10px!important}body.contact-keyboard-active .form-group,body.contact-visual-keyboard .form-group{gap:4px!important}body.contact-keyboard-active .form-group label,body.contact-visual-keyboard .form-group label{font-size:11px!important}body.contact-keyboard-active .form-group input,body.contact-visual-keyboard .form-group input{min-height:40px!important;padding:8px 12px!important;font-size:16px!important}body.contact-keyboard-active .form-group textarea,body.contact-visual-keyboard .form-group textarea{min-height:72px!important;max-height:160px!important;padding:8px 12px!important;font-size:16px!important}body.contact-keyboard-active .contact-submit-btn,body.contact-visual-keyboard .contact-submit-btn{min-height:42px!important;padding:10px 14px!important;font-size:13px!important}
