/* Second contact: the subject takes the stage; the programme stays offstage. */
.header-note,.site-footer .work-label,#home-button,#home-footer{display:none!important}
.site-footer{justify-content:flex-end;pointer-events:none}.site-footer #scene-nav{pointer-events:auto}.next-button{font-size:11px}.next-button .keycap{display:none}.site-header{padding:22px 30px}.wordmark{font-size:23px}.site-header nav{gap:25px}.collection-heading{margin-bottom:50px}.collection-heading h1{font-size:clamp(60px,8vw,112px)}
.contact-work{touch-action:none}.contact-work canvas{display:block}.contact-work .object-action{position:absolute;bottom:104px;left:50%;translate:-50% 0;background:transparent;border:0;border-bottom:1px solid currentColor;min-height:44px;padding:10px 16px;font-size:11px;font-weight:600;letter-spacing:.04em;z-index:8;white-space:nowrap}.contact-work .object-action:hover{background:color-mix(in srgb,currentColor 9%,transparent)}.contact-work .object-action:disabled{opacity:.5}.contact-work .object-action:active{translate:-50% 1px}.contact-reveal{position:absolute;left:50%;bottom:21%;translate:-50% 0;z-index:5;font:500 italic clamp(30px,4vw,58px)/1.05 var(--serif);text-align:center;pointer-events:none;margin:0;opacity:0;transition:opacity .6s}.contact-work.revealed .contact-reveal{opacity:1}.local-note{position:absolute;left:50%;bottom:80px;translate:-50% 0;font-size:11px;line-height:1.5;z-index:8;white-space:nowrap}.contact-canvas-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* A specimen is a portrait, never a camera permission trap. */
.specimen video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.specimen .camera-corner{position:absolute;width:38px;height:38px;border-style:solid;border-color:#c8ff75;border-width:1px 0 0 1px;top:17%;left:12%;pointer-events:none}.specimen .camera-corner:nth-of-type(2){left:auto;right:12%;rotate:90deg}.specimen .camera-corner:nth-of-type(3){top:auto;bottom:22%;rotate:-90deg}.specimen .camera-corner:nth-of-type(4){top:auto;bottom:22%;left:auto;right:12%;rotate:180deg}.specimen.live .local-note:before{content:'';display:inline-block;width:5px;height:5px;background:#c8ff75;border-radius:50%;margin-right:8px}.specimen .camera-alternative{position:absolute;top:100px;right:30px;background:transparent;border:0;padding:10px 0;font-size:11px;border-bottom:1px solid currentColor;z-index:8}.specimen .camera-state{position:absolute;left:50%;top:17%;translate:-50% 0;font:11px var(--mono);white-space:nowrap}.specimen .object-action{bottom:108px}
/* Zip teeth are the action, paper folds are the transition. */
.reality-zip .zip-handle{position:absolute;top:22%;left:50%;translate:-50% -50%;width:50px;height:90px;z-index:6;border:3px solid #777b7c;background:linear-gradient(110deg,#f9faf6,#b5b7b4 53%,#f1f2ed);border-radius:18px 18px 24px 24px;box-shadow:3px 9px 17px #0003;cursor:ns-resize;touch-action:none;display:grid;place-items:center}.zip-handle:before{content:'';width:15px;height:35px;border:3px solid #707575;border-radius:9px}.zip-handle:hover{filter:brightness(1.1)}.zip-label{position:absolute;top:13%;left:50%;translate:-50% 0;font:12px var(--mono);z-index:4;white-space:nowrap}.reality-zip.open .zip-label{opacity:0}.zip-reveal{font-size:clamp(70px,12vw,170px);bottom:auto;top:38%;color:#e7faaf;font-style:normal}
/* A fictional intrusion with an affectionate payload. */
.hugware{transition:background .7s,color .7s}.hugware-core{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:3;text-align:center;padding:90px 24px 140px;pointer-events:none}.hugware-title{margin:0;font:700 clamp(80px,13vw,190px)/.8 var(--condensed);letter-spacing:-.025em}.hugware-title span{display:block}.hugware-progress{height:1px;background:currentColor;width:45vw;transform:scaleX(0);transform-origin:left center;margin-top:35px;transition:transform .2s linear}.hugware-status{font:11px var(--mono);margin:24px 0 0}.hugware.hugged{background:#efacc0;color:#5a2334}.hugware.hugged .hugware-title{font-family:var(--serif);font-weight:500;font-size:clamp(70px,10vw,145px);line-height:.95;letter-spacing:-.035em}.hugware-arm{position:absolute;top:16%;width:24%;height:69%;background:#c96d89;border-radius:50%;opacity:0;transition:transform 1.3s var(--ease),opacity .5s;z-index:1}.hugware-arm.left{left:0;transform:translateX(-100%) rotate(22deg)}.hugware-arm.right{right:0;transform:translateX(100%) rotate(-22deg)}.hugware.hugged .hugware-arm{opacity:.55}.hugware.hugged .hugware-arm.left{transform:translateX(-75%) rotate(22deg)}.hugware.hugged .hugware-arm.right{transform:translateX(75%) rotate(-22deg)}
/* The cube is geometry and a working camera, not a picture of an object. */
.no-outside{perspective:1100px}.cube-space{position:absolute;left:50%;top:47%;width:0;height:0;perspective:1000px;perspective-origin:center;transform-style:preserve-3d}.black-cube{--side:230px;--half:115px;width:var(--side);height:var(--side);position:absolute;left:calc(var(--half)*-1);top:calc(var(--half)*-1);transform-style:preserve-3d;transform:rotateX(-18deg) rotateY(-30deg);transition:transform .12s linear}.cube-face{position:absolute;inset:0;backface-visibility:hidden;border:1px solid #ffffff12;transform-style:preserve-3d}.cube-front{background:#1c1c1e;transform:translateZ(var(--half));transform-origin:left center;transition:transform .8s var(--ease),opacity .7s}.cube-back{background:#131316;transform:rotateY(180deg) translateZ(var(--half))}.cube-right{background:#111114;transform:rotateY(90deg) translateZ(var(--half))}.cube-left{background:#343435;transform:rotateY(-90deg) translateZ(var(--half))}.cube-top{background:#424243;transform:rotateX(90deg) translateZ(var(--half))}.cube-bottom{background:#08080b;transform:rotateX(-90deg) translateZ(var(--half))}.cube-core{position:absolute;inset:19%;background:#ffeabf;transform:translateZ(0);box-shadow:0 16px 38px #0004}.no-outside.opening .cube-front{transform:translateZ(var(--half)) rotateY(-115deg);opacity:.1}.no-outside.diving .cube-space{animation:cube-dive 1.1s cubic-bezier(.7,0,.3,1) forwards}.cube-floor{position:absolute;top:72%;left:50%;width:290px;height:50px;translate:-50% 0;background:#411d232e;border-radius:50%;filter:blur(16px)}.cube-depth{position:absolute;right:30px;top:100px;font:11px var(--mono);opacity:.7}.no-outside .contact-reveal{bottom:24%;font-style:normal;font-size:15px;max-width:75%;white-space:nowrap}@keyframes cube-dive{to{transform:scale(7) translateY(25px);opacity:0}}
/* One nerve needs no caption to become a material. */
.nerve .object-action{border-bottom:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:30px;padding:10px 25px}.bubbles .object-action{border-bottom:0;font-family:var(--serif);font-size:25px;font-style:italic;font-weight:500}.signal .signal-copy{position:absolute;top:50%;left:50%;translate:-50% -50%;font:500 clamp(40px,5vw,78px)/1.02 var(--serif);text-align:center;width:70%;max-width:500px;pointer-events:none;margin:0;opacity:0;transition:opacity .8s}.signal.revealed .signal-copy{opacity:1}.signal .signal-copy em{font-weight:500}.signal .object-action{bottom:96px}.scene-render-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:25px;font:500 30px var(--serif)}
@media(max-width:700px){.site-header{padding:18px 20px}.wordmark{font-size:23px}.site-header nav{gap:18px}.contact-work .object-action{bottom:99px}.contact-reveal{bottom:24%;font-size:37px}.contact-work .local-note{bottom:77px;font-size:11px}.specimen .camera-corner{left:7%;width:28px;height:28px}.specimen .camera-corner:nth-of-type(2),.specimen .camera-corner:nth-of-type(4){right:7%}.specimen .camera-alternative{right:20px;top:89px}.specimen .camera-state{top:20%;font-size:11px}.specimen .object-action{bottom:107px}.zip-label{top:15%}.reality-zip .zip-handle{width:43px;height:76px}.zip-reveal{top:41%;font-size:85px}.hugware-title{font-size:22vw}.hugware.hugged .hugware-title{font-size:18vw}.hugware-core{padding-bottom:160px}.hugware-status{font-size:11px}.black-cube{--side:180px;--half:90px}.cube-depth{top:100px;right:20px;font-size:11px}.cube-floor{width:220px;top:67%}.no-outside .contact-reveal{font-size:13px;bottom:25%}.signal .signal-copy{font-size:40px;width:75%}.nerve .object-action{font-size:27px}.bubbles .object-action{font-size:24px}.collection-heading h1{font-size:60px}}
@media(prefers-reduced-motion:reduce){.no-outside.diving .cube-space{animation:none;opacity:1}.black-cube{transition:none}}

body[data-world=zip] .site-footer{color:#222326}

/* Subject and action occupy different bands; no explanatory footer. */
.contact-work .object-action,.signal .object-action{bottom:54px}.specimen .object-action{bottom:69px}.contact-work .local-note{bottom:42px}.black-cube{cursor:grab}.black-cube:active{cursor:grabbing}
@media(max-width:700px){.contact-work .object-action,.signal .object-action{bottom:54px}.specimen .object-action{bottom:69px}.contact-work .local-note{bottom:42px}}
