.lab-cube-wrap{--ink:#020202;--paper:#f7ece1;--edge:1px;flex-direction:column;align-items:center;gap:1.75rem;width:100%;display:flex}.lab-cube-stage{--size:clamp(150px, 46vw, 280px);--half:calc(var(--size) / 2);width:calc(var(--size) * 1.75);height:calc(var(--size) * 1.75);max-width:100%;perspective:calc(var(--size) * 4);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline:none;place-items:center;display:grid}@supports (width:round(1px, 2px)){.lab-cube-stage{--size:round(clamp(150px, 46vw, 280px), 2px)}}.lab-cube-stage:focus-visible{outline:1px dashed var(--ink);outline-offset:-1px}.lab-cube-cube{width:var(--size);height:var(--size);transform-style:preserve-3d;position:relative}.lab-cube-face{transform-style:preserve-3d;position:absolute;inset:0}.lab-cube-fill{box-sizing:border-box;border:var(--edge) solid var(--ink);background:var(--face-bg);position:absolute;inset:0}.lab-cube-stage[data-fill=ghost] .lab-cube-fill{background:color-mix(in srgb, color-mix(in srgb, var(--face-bg) 30%, var(--paper)) 92%, transparent)}.lab-cube-stage[data-fill=wire] .lab-cube-fill{background:0 0}.lab-cube-label{text-align:left;color:var(--face-ink);font-family:var(--font-dm-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;backface-visibility:hidden;pointer-events:none;transform:rotate(var(--label-rot,0deg));flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.5em;padding:8%;transition:transform .35s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;inset:0}.lab-cube-stage:not([data-fill=color]) .lab-cube-label{color:var(--ink)}.lab-cube-name{font-size:calc(var(--size) * .102);letter-spacing:-.02em;font-weight:500;line-height:1.15}.lab-cube-hint{font-weight:300;font-size:calc(var(--size) * .068);line-height:1.3}.lab-cube-hintPart{white-space:nowrap;display:block}.lab-cube-menu{max-width:100%;color:var(--ink);font-family:var(--font-dm-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;grid-template-columns:auto minmax(0,1fr);align-self:center;align-items:baseline;gap:.25rem 1.5rem;padding:0 16px;font-size:.8125rem;display:grid}.lab-cube-menuLabel{text-align:left;letter-spacing:.08em;text-transform:uppercase;justify-self:start;font-weight:500}.lab-cube-menuBio{grid-area:1/1}.lab-cube-menuProjects{grid-area:2/1}.lab-cube-menuFaces{flex-wrap:wrap;grid-area:2/2;gap:.25rem .875rem;font-size:.6875rem;display:flex}@media (min-width:961px){.lab-cube-menuFaces{white-space:nowrap;flex-wrap:nowrap}}.lab-cube-faceName{transform-origin:0 100%;text-underline-offset:.3em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;transition:transform .2s cubic-bezier(.23,1,.32,1);display:inline-block}.lab-cube-menuFaces>button:hover .lab-cube-faceName,.lab-cube-menuFaces>button[aria-pressed=true] .lab-cube-faceName{text-decoration-color:currentColor}.lab-cube-menuFaces>button:hover .lab-cube-faceName,.lab-cube-menuFaces>button:focus-visible .lab-cube-faceName{transform:translateY(-6px)}@media (prefers-reduced-motion:reduce){.lab-cube-faceName{transition:none}.lab-cube-menuFaces>button:hover .lab-cube-faceName,.lab-cube-menuFaces>button:focus-visible .lab-cube-faceName{transform:none}}.lab-cube-menuProjects[aria-expanded=true]{text-decoration-color:currentColor}.lab-cube-menuFaces>button{text-transform:uppercase;letter-spacing:.06em;opacity:0;visibility:hidden;transition:opacity .26s ease-out,transform .26s cubic-bezier(.23,1,.32,1),visibility 0s linear .26s;transform:translate(-.75rem)}.lab-cube-menuFaces[data-open=true]>button{opacity:1;visibility:visible;transition:opacity .26s ease-out calc(var(--i) * 45ms), transform .36s cubic-bezier(.23, 1, .32, 1) calc(var(--i) * 45ms), visibility 0s;transform:none}@media (prefers-reduced-motion:reduce){.lab-cube-menuFaces>button,.lab-cube-menuFaces[data-open=true]>button{transition:none}}.lab-cube-menuContact{grid-area:3/1}.lab-cube-buttons,.lab-cube-lab{max-width:34rem;color:var(--ink);flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;padding:0 16px;font-size:.8125rem;display:flex}.lab-cube-lab{align-items:baseline;gap:.25rem .75rem;font-size:.75rem}.lab-cube-button{color:inherit;font:inherit;cursor:pointer;text-underline-offset:.3em;background:0 0;border:0;padding:.25rem 0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.lab-cube-button:hover,.lab-cube-button[aria-pressed=true]{text-decoration-color:currentColor}.lab-cube-button:focus-visible{outline:1px dashed var(--ink);outline-offset:2px}.lab-cube-srOnly{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lab-cube-layout{--ink:#020202;--paper:#f7ece1;box-sizing:border-box;grid-template-columns:minmax(0,1fr);justify-items:center;gap:2rem;width:100%;max-width:72rem;margin:0 auto;padding:0 16px;display:grid}@media (min-width:641px){.lab-cube-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(1.5rem,4vw,4rem);padding-top:clamp(1.5rem,9vh,7rem)}.lab-cube-cubeCol{align-self:start}.lab-cube-panel{place-self:center start}.lab-cube-stage{--size:clamp(112px, 18.75vw, 210px)}@supports (width:round(1px, 2px)){.lab-cube-stage{--size:round(clamp(112px, 18.75vw, 210px), 2px)}}}.lab-cube-panel,.lab-cube-intro,.lab-cube-contact{grid-area:2/1}@media (min-width:641px){.lab-cube-panel,.lab-cube-intro,.lab-cube-contact{grid-area:1/2}.lab-cube-intro,.lab-cube-contact{place-self:center start}}.lab-cube-intro{width:100%;max-width:26rem;color:var(--ink);transition:opacity .6s ease-out,visibility}.lab-cube-intro[data-open=false]{opacity:0;visibility:hidden;transition:opacity .6s ease-out,visibility 0s linear .6s}@media (prefers-reduced-motion:reduce){.lab-cube-intro,.lab-cube-intro[data-open=false]{transition:none}}.lab-cube-contact{width:100%;max-width:26rem;color:var(--ink);font-family:var(--font-sans);transition:opacity .2s ease-out,visibility}.lab-cube-contact[data-open=false]{opacity:0;visibility:hidden;transition:opacity .6s ease-out,visibility 0s linear .6s}.lab-cube-contactList{margin:0;padding:0;list-style:none}.lab-cube-contactRow{opacity:0;flex-direction:column;gap:.125rem;padding:.75rem 0;transition:opacity .26s ease-out,transform .26s cubic-bezier(.23,1,.32,1);display:flex;transform:translateY(-.75rem)}.lab-cube-contact[data-open=true] .lab-cube-contactRow{opacity:1;transition:opacity .26s ease-out calc(.12s + var(--i) * 70ms), transform .42s cubic-bezier(.23, 1, .32, 1) calc(.12s + var(--i) * 70ms);transform:none}.lab-cube-contactRow .lab-cube-links{margin:.25rem 0 0}.lab-cube-contactRow+.lab-cube-contactRow{border-top:1px solid var(--ink)}.lab-cube-contactLabel{font-family:var(--font-dm-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem}.lab-cube-contactRow a{overflow-wrap:anywhere;width:fit-content;max-width:100%;color:inherit;text-underline-offset:.3em;font-size:.9375rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.lab-cube-contactRow a:hover,.lab-cube-contactRow a:focus-visible{text-decoration-color:currentColor}.lab-cube-contactRow a:focus-visible{outline:1px dashed var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){.lab-cube-contact,.lab-cube-contact[data-open=false],.lab-cube-contactRow,.lab-cube-contact[data-open=true] .lab-cube-contactRow{transition:none}}.lab-cube-introName{font-family:var(--font-league-spartan), var(--font-sans);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:400;line-height:.95}.lab-cube-introBio{font-family:var(--font-dm-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;margin:0;font-size:.9375rem;line-height:1.55}@media (max-width:640px){.lab-cube-introBio{font-size:.8125rem}}@media (max-width:375px){.lab-cube-introBio{font-size:.75rem}}.lab-cube-introHandle{color:var(--accent-text);font-style:italic;font-weight:500}.lab-cube-introAccent{color:var(--accent-text);font-weight:500}.lab-cube-panel{width:100%;max-width:26rem;color:var(--ink);font-family:var(--font-sans);transition:opacity .6s ease-out,visibility}.lab-cube-panel[data-open=false]{opacity:0;visibility:hidden;transition:opacity .6s ease-out,visibility 0s linear .6s}.lab-cube-panelCard{animation:.6s cubic-bezier(.23,1,.32,1) both lab-cube-panel-in}@keyframes lab-cube-panel-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.lab-cube-label,.lab-cube-panel,.lab-cube-panel[data-open=false]{transition:none}.lab-cube-panelCard{animation:none}}.lab-cube-panelHead{border-bottom:1px solid var(--ink);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0;padding-bottom:.625rem;font-size:.75rem;font-weight:500;display:flex}.lab-cube-swatch{box-sizing:border-box;border:1px solid var(--ink);background:var(--accent);flex:none;width:.75rem;height:.75rem}.lab-cube-entry{padding:1rem 0}.lab-cube-entry+.lab-cube-entry{border-top:1px solid var(--ink)}.lab-cube-entryName{letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:500;line-height:1.25}.lab-cube-entryName a{color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none}.lab-cube-entryName a:hover,.lab-cube-entryName a:focus-visible{color:var(--link-hover);text-decoration:none}.lab-cube-entryName a:focus-visible{outline:1px dashed var(--ink);outline-offset:3px}.lab-cube-entryLine{margin:.375rem 0 .75rem;font-size:.875rem;line-height:1.5}.lab-cube-highlights{margin:0 0 .75rem;padding:0;font-size:.8125rem;line-height:1.45;list-style:none}.lab-cube-highlights li{padding-left:1rem;position:relative}.lab-cube-highlights li+li{margin-top:.25rem}.lab-cube-highlights li:before{content:"–";position:absolute;left:0}.lab-cube-chips{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.lab-cube-chip{border:1px solid var(--ink);white-space:nowrap;padding:.125rem .5rem;font-size:.6875rem;line-height:1.4}.lab-cube-footnote{font-family:var(--font-dm-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;opacity:.6;margin:.5rem 0 0;font-size:.6875rem;line-height:1.4}.lab-cube-thumb{box-sizing:border-box;border:1px solid var(--ink);object-fit:cover;width:100%;max-height:9rem;margin:0 0 .75rem;display:block}.lab-cube-links{flex-wrap:wrap;gap:1rem;margin:.875rem 0 0;display:flex}.lab-cube-links a{color:var(--ink);opacity:.85;place-items:center;padding:.125rem;font-size:1.375rem;line-height:1;text-decoration:none;display:inline-grid}.lab-cube-layout{--link-hover:#b56576;--accent:#b56576;--accent-text:#3d6f99}.lab-cube-links a:hover,.lab-cube-links a:focus-visible{opacity:1;color:var(--link-hover)}.lab-cube-links a:focus-visible{outline:1px dashed var(--ink);outline-offset:3px}@media (max-width:640px){.lab-cube-page{box-sizing:border-box;height:100dvh;min-height:0;padding:max(.75rem, env(safe-area-inset-top)) 0 0;flex-direction:column;display:flex}.lab-cube-footer{padding:.5rem 1.5rem calc(.5rem + env(safe-area-inset-bottom));flex:none;margin:0;line-height:1.5}.lab-cube-layout{flex:auto;grid-template-rows:auto minmax(0,1fr) auto;row-gap:.5rem;min-height:0}.lab-cube-cubeCol{display:contents}.lab-cube-stage{--size:clamp(96px, min(42vw, 16svh), 280px);height:calc(var(--size) * 1.55);grid-area:1/1}@supports (width:round(1px, 2px)){.lab-cube-stage{--size:round(clamp(96px, min(42vw, 16svh), 280px), 2px)}}.lab-cube-layout[data-mode=bio]{--bio-h:9.5rem;--rest:6.5rem;grid-template-rows:minmax(0,1fr) auto auto;position:relative}.lab-cube-layout[data-mode=bio] .lab-cube-stage{--size:clamp(96px, min(58vw, calc((100svh - var(--rest) - var(--bio-h) - 4rem) / 1.55)), 280px);align-self:center}@supports (width:round(1px, 2px)){.lab-cube-layout[data-mode=bio] .lab-cube-stage{--size:round(clamp(96px, min(58vw, calc((100svh - var(--rest) - var(--bio-h) - 4rem) / 1.55)), 280px), 2px)}}.lab-cube-intro,.lab-cube-panel,.lab-cube-contact{overscroll-behavior:contain;scrollbar-width:none;min-height:0;padding-bottom:1.25rem;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 1.25rem),#0000);mask-image:linear-gradient(#000 calc(100% - 1.25rem),#0000)}.lab-cube-intro{flex-direction:column;justify-content:safe end;display:flex}.lab-cube-layout[data-mode=bio] .lab-cube-panel,.lab-cube-layout[data-mode=bio] .lab-cube-contact{max-height:100%;position:absolute;inset:0 0 auto}.lab-cube-layout[data-mode=bio] .lab-cube-intro{grid-area:2/1;align-self:end;padding-bottom:.75rem}.lab-cube-intro::-webkit-scrollbar{display:none}.lab-cube-panel::-webkit-scrollbar{display:none}.lab-cube-contact::-webkit-scrollbar{display:none}.lab-cube-menu{text-align:center;grid-area:3/1;grid-template-columns:repeat(3,minmax(0,1fr));align-self:end;align-items:stretch;gap:0;width:100%;padding:0}.lab-cube-menuBio,.lab-cube-menuProjects,.lab-cube-menuContact{border-top:1px solid var(--ink);text-align:center;grid-row:2;justify-content:center;justify-self:stretch;align-items:center;min-height:44px;padding:0;display:flex}.lab-cube-menuBio{grid-column:1}.lab-cube-menuProjects{grid-column:2}.lab-cube-menuContact{grid-column:3}.lab-cube-menuFaces{grid-area:1/1/auto/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-height:0;font-size:.75rem;transition:max-height .3s cubic-bezier(.23,1,.32,1);display:grid;overflow:hidden}.lab-cube-menuFaces[data-open=true]{max-height:6rem}.lab-cube-menuFaces>button{justify-content:center;align-items:center;min-height:44px;padding:0;display:flex;transform:translateY(.75rem)}.lab-cube-menuFaces[data-open=true]>button,.lab-cube-menuFaces>button:hover .lab-cube-faceName,.lab-cube-menuFaces>button:focus-visible .lab-cube-faceName{transform:none}}@media (max-width:640px) and (prefers-reduced-motion:reduce){.lab-cube-stage,.lab-cube-menuFaces,.lab-cube-menuFaces>button,.lab-cube-menuFaces[data-open=true]>button{transition:none}}
