@property --bg-angle{syntax:"<angle>";inherits:true;initial-value:45deg}@property --bg-strength{syntax:"<number>";inherits:true;initial-value:0}.border-glow{isolation:isolate;border-radius:var(--bg-radius);background:var(--bg-surface);border:1px solid #ffffff26;min-width:0;position:relative}.border-glow-content{z-index:1;border-radius:inherit;min-width:0;position:relative}.border-glow-mesh,.border-glow-halo{pointer-events:none;border-radius:inherit;opacity:clamp(0, calc(var(--bg-strength) * var(--bg-intensity)), 1);-webkit-mask-image:conic-gradient(from var(--bg-angle), #000 0%, transparent var(--bg-cone), transparent calc(100% - var(--bg-cone)), #000 100%);mask-image:conic-gradient(from var(--bg-angle), #000 0%, transparent var(--bg-cone), transparent calc(100% - var(--bg-cone)), #000 100%);-webkit-mask-image:conic-gradient(from var(--bg-angle), #000 0%, transparent var(--bg-cone), transparent calc(100% - var(--bg-cone)), #000 100%);position:absolute}.border-glow-mesh{background:linear-gradient(var(--bg-surface) 0 100%) padding-box, radial-gradient(at 80% 15%, var(--bg-color-a), transparent 60%) border-box, radial-gradient(at 15% 85%, var(--bg-color-b), transparent 60%) border-box, linear-gradient(135deg, var(--bg-color-c), var(--bg-color-a)) border-box;border:1px solid #0000;inset:-1px}.border-glow-halo{inset:calc(-1 * var(--bg-glow-radius))}.border-glow-halo:before{content:"";inset:var(--bg-glow-radius);border-radius:var(--bg-radius);border:1px solid hsl(var(--bg-light) / .9);box-shadow:0 0 5px hsl(var(--bg-light) / .7), 0 0 calc(var(--bg-glow-radius) * .35) hsl(var(--bg-light) / .4), 0 0 calc(var(--bg-glow-radius) * .7) hsl(var(--bg-light) / .2), inset 0 0 8px hsl(var(--bg-light) / .18);position:absolute}.border-glow:has(:focus-visible)>.border-glow-mesh{opacity:.85;-webkit-mask-image:none;mask-image:none}.border-glow-intro{animation:3.8s ease-in-out both border-glow-arrival}@keyframes border-glow-arrival{0%{--bg-angle:110deg;--bg-strength:0}20%{--bg-strength:.9}65%{--bg-strength:.9}to{--bg-angle:470deg;--bg-strength:0}}.availability-v3-frame>.border-glow-content>.availability-v3-panel{border-radius:inherit;background:0 0;border:0}@media (prefers-reduced-motion:reduce){.border-glow-intro{animation:none}}.color-bends{pointer-events:none;background:radial-gradient(ellipse at 25% 70%, var(--bends-a), transparent 58%), radial-gradient(ellipse at 70% 30%, var(--bends-b), transparent 60%), radial-gradient(ellipse at 90% 85%, var(--bends-c), transparent 55%);position:absolute;inset:0;overflow:hidden}.color-bends[data-ready=true]{background:0 0}.color-bends>canvas{width:100%;height:100%;display:block}.hero-media--color-bends{pointer-events:none;background:#070809}.hero-media--color-bends .hero-vignette{background:linear-gradient(#07080973,#07080914 40%,#070809a6),linear-gradient(90deg,#0708094d,#0000 75%)}.ascii-ripple{z-index:1;pointer-events:auto;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}.hero>.site-header,.hero>.hero-copy,.hero>.hero-status{z-index:1;position:relative}.card-nav{z-index:5;width:100%;color:var(--card-nav-base);position:relative}.card-nav-bar{border-bottom:1px solid #f2f4f72e;justify-content:space-between;align-items:center;min-height:92px;display:flex}.card-nav-brand{min-width:0;color:inherit;align-items:center;gap:12px;display:flex}.card-nav-wordmark{width:42px;height:42px;font-family:var(--font-geist-mono),monospace;letter-spacing:-.08em;border:1px solid;border-radius:50%;place-items:center;font-size:11px;display:grid}.card-nav-brand-copy{align-items:baseline;gap:12px;display:flex}.card-nav-brand-copy b{letter-spacing:-.06em;font-size:18px;font-weight:650}.card-nav-brand-copy small{color:#f2f4f7a3;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.card-nav-toggle{background:var(--card-nav-button-bg);min-height:44px;color:var(--card-nav-button-text);cursor:pointer;border:1px solid #f2f4f75c;border-radius:999px;align-items:center;gap:9px;padding:0 17px;font-size:14px;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.card-nav-toggle:hover{border-color:var(--card-nav-base);transform:translateY(-2px)}.card-nav-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.card-nav-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:10px;display:grid;overflow:hidden}.card-nav-item{background:linear-gradient(135deg, color-mix(in srgb, var(--card-nav-item-bg) 42%, transparent), #ffffff0d);-webkit-backdrop-filter:blur(16px)saturate(125%);border:1px solid #ffffff38;border-radius:16px;min-height:142px;padding:18px 20px 20px;box-shadow:inset 0 1px #ffffff1f,0 18px 36px #0000002e}.card-nav-item-heading{font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:12px;font-size:11px;display:flex}.card-nav-item-heading span{opacity:.6}.card-nav-item-heading strong{font-family:var(--font-geist-sans),sans-serif;letter-spacing:-.04em;text-transform:none;font-size:18px;font-weight:500}.card-nav-links{gap:8px;margin-top:30px;display:grid}.card-nav-links a{border-bottom:1px solid #ffffff3d;justify-content:space-between;align-items:center;gap:10px;padding-bottom:6px;font-size:13px;transition:opacity .18s,padding .18s;display:flex}.card-nav-links a:hover{opacity:.7;padding-left:5px}@media (max-width:700px){.card-nav-bar{min-height:76px}.card-nav-brand-copy{display:none}.card-nav-panel{grid-template-columns:1fr;gap:8px}.card-nav-item{min-height:110px}.card-nav-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.card-nav-links a{background:#ffffff14;border-bottom:0;padding:9px 10px}.card-nav-links a:hover{padding-left:10px}}.card-nav-logo{object-fit:contain;flex-shrink:0;width:42px;height:42px;display:block}.specular-button{border:var(--specular-thickness) solid color-mix(in srgb, var(--specular-line), transparent 46%);border-radius:var(--specular-radius);background:linear-gradient(145deg, color-mix(in srgb, var(--specular-base), white 8%), var(--specular-base));min-width:132px;color:var(--specular-text);-webkit-backdrop-filter:blur(var(--specular-blur)) saturate(125%);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:550;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff29,inset 0 -1px #00000047,0 12px 30px #0000003d}.specular-button:before{content:"";background:var(--specular-tint);opacity:var(--specular-tint-opacity);pointer-events:none;position:absolute;inset:0}.specular-button-sheen{top:calc(var(--specular-y) - var(--specular-shine-size));left:calc(var(--specular-x) - var(--specular-shine-size));width:calc(var(--specular-shine-size) * 2);height:calc(var(--specular-shine-size) * 2);background:radial-gradient(circle, #ffffffb8, #ffffff38 var(--specular-shine-fade), transparent 72%);opacity:calc(var(--specular-opacity) * var(--specular-intensity));filter:blur(1px);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.specular-button-label{z-index:1;align-items:center;gap:8px;display:inline-flex;position:relative}.specular-button:hover{border-color:var(--specular-line);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,0 16px 34px #0000004d}.specular-button:active{transform:translateY(0)}.specular-button:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.specular-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.specular-button--sm{min-height:38px;padding:0 14px}.specular-button--md{min-height:44px;padding:0 18px}.specular-button--lg{min-height:52px;padding:0 22px}@media (prefers-reduced-motion:reduce){.specular-button{transition:none}}.pixel-swap{width:100%;height:100%;min-height:0;color:var(--paper);cursor:pointer;grid-template-rows:minmax(0,1fr) auto;display:grid}.pixel-swap:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.pixel-swap-stage{isolation:isolate;background:#0b0e15;border:1px solid #e0e8ff2e;min-height:0;position:relative;overflow:hidden;box-shadow:0 28px 80px #00000052}.pixel-swap-layer{opacity:0;position:absolute;inset:0}.pixel-swap-layer.is-active{opacity:1}.pixel-swap-layer>img,.pixel-swap-cell-content>img,.pixel-swap-layer>picture,.pixel-swap-cell-content>picture,.pixel-swap-layer picture img,.pixel-swap-cell-content picture img{object-fit:cover;width:100%;height:100%;display:block}.pixel-swap-grid{z-index:3;grid-template-columns:repeat(var(--pixel-cols),minmax(0,1fr));grid-template-rows:repeat(var(--pixel-rows),minmax(0,1fr));gap:var(--pixel-gap);pointer-events:none;display:grid;position:absolute;inset:0}.pixel-swap-cell{border-radius:var(--pixel-radius);opacity:0;min-width:0;min-height:0;transform:scale(var(--pixel-scale)) rotate(0deg);transform-origin:50%;display:block;position:relative;overflow:hidden}.pixel-swap.is-transitioning .pixel-swap-cell{animation:pixel-content-reveal var(--pixel-cell-duration) cubic-bezier(.22,.61,.36,1) var(--pixel-delay) both}.pixel-swap-cell-content{width:calc(var(--pixel-cols) * 100%);height:calc(var(--pixel-rows) * 100%);left:calc(var(--pixel-col) * -100%);top:calc(var(--pixel-row) * -100%);position:absolute}.pixel-swap-caption{text-align:center;min-height:132px;padding:20px 20px 8px;position:relative;overflow:hidden}.pixel-caption-layer{text-shadow:0 1px 2px #000000f2,0 2px 6px #000000d9,0 4px 16px #000000bf;align-content:start;justify-items:center;gap:6px;display:grid;position:absolute;inset:20px 20px 8px}.pixel-caption-layer span{color:var(--muted);font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;font-size:10px}.pixel-caption-layer strong{letter-spacing:-.05em;font-size:clamp(20px,2.2vw,34px);font-weight:500}.pixel-caption-layer small{color:var(--silver);font-size:13px}.pixel-caption-layer--current{opacity:1;transform:translateY(0)}.pixel-caption-layer--next{opacity:0;filter:blur(8px);transform:translateY(25px)scale(.97)}.pixel-caption-layer--current.is-exiting{animation:pixel-caption-out var(--pixel-swap-duration) cubic-bezier(.22,.61,.36,1) both}.pixel-caption-layer--next.is-entering{animation:pixel-caption-in var(--pixel-swap-duration) cubic-bezier(.16,1,.3,1) both;animation-delay:90ms}@keyframes pixel-content-reveal{0%{opacity:0;transform:scale(var(--pixel-scale)) rotate(0deg)}to{opacity:var(--pixel-fade);transform:scale(1) rotate(var(--pixel-rotation))}}@keyframes pixel-caption-out{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}58%{opacity:.42;filter:blur(2px);transform:translateY(-10px)scale(.985)}to{opacity:0;filter:blur(8px);transform:translateY(-24px)scale(.97)}}@keyframes pixel-caption-in{0%{opacity:0;filter:blur(8px);transform:translateY(25px)scale(.97)}45%{opacity:.62;filter:blur(2px);transform:translateY(8px)scale(.99)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@media (max-width:700px){.pixel-swap-caption{min-height:106px;padding-top:14px}.pixel-caption-layer{inset:14px 16px 6px}}@media (prefers-reduced-motion:reduce){.pixel-swap.is-transitioning .pixel-swap-cell,.pixel-caption-layer--current.is-exiting,.pixel-caption-layer--next.is-entering{animation-duration:.01ms;animation-delay:0s}}.tilted-card{--tilt-x:0deg;--tilt-y:0deg;--tilt-scale:1;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(var(--tilt-scale));transform-style:preserve-3d;will-change:transform;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s;box-shadow:0 22px 55px #00000038}.tilted-card:hover{box-shadow:0 30px 72px #00000057}.tilted-card>img,.tilted-card>.portrait-placeholder{transform:translateZ(10px)}@media (prefers-reduced-motion:reduce){.tilted-card{transition:none;transform:none!important}}.intro-card-details{display:contents}.intro-card-open,.intro-card-close{display:none}@media (max-width:700px){.intro-section .intro-card{isolation:isolate;min-height:clamp(360px, calc((100vw - 2 * var(--mobile-gutter,24px)) * 1.25), 620px);background:var(--surface);border-radius:24px;gap:0;display:grid;position:relative;overflow:hidden}.intro-card .portrait-frame{aspect-ratio:auto;will-change:auto;opacity:1;visibility:visible;width:100%;max-width:none;height:100%;margin:0;transition:opacity .42s,visibility .42s;position:absolute;inset:0;transform:none}.intro-card.is-expanded .portrait-frame{opacity:0;visibility:hidden}.intro-card-open,.intro-card-close{z-index:2;border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.intro-card.is-expanded .intro-card-open,.intro-card-close{visibility:hidden;pointer-events:none}.intro-card.is-expanded .intro-card-close{visibility:visible;pointer-events:auto}:is(.intro-card-open:focus-visible,.intro-card-close:focus-visible){outline-offset:-5px}.intro-card-details{opacity:0;visibility:hidden;grid-template-rows:0fr;align-self:center;transition:grid-template-rows .42s,opacity .42s,visibility .42s;display:grid}.intro-card.is-expanded .intro-card-details{opacity:1;visibility:visible;grid-template-rows:1fr}.intro-card .intro-copy{order:initial;min-height:0;padding-inline:24px;position:relative;overflow:hidden}.intro-card .intro-copy h2{margin-top:0;font-size:clamp(30px,8.8vw,44px);line-height:1.15}.intro-card .intro-copy>p{font-size:15px;line-height:1.8}.intro-card .profile-facts{margin:24px 0}.intro-card .profile-facts div{gap:14px}.intro-card .profile-facts dt{flex:none;max-width:45%}.intro-card .profile-facts dd{min-width:0}}@media (prefers-reduced-motion:reduce){.intro-card .portrait-frame,.intro-card-details{transition:none}}.mobile-carousel{width:100%;min-width:0}.mobile-carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;align-items:flex-start;gap:16px;display:flex;position:relative;overflow:auto hidden}.mobile-carousel--stable-height .mobile-carousel-track{overflow-anchor:none;align-items:stretch}.mobile-carousel-track::-webkit-scrollbar{display:none}.mobile-carousel-slide{scroll-snap-align:start;scroll-snap-stop:always;overflow-wrap:anywhere;flex:0 0 100%;min-width:0}.mobile-carousel--peek .mobile-carousel-slide{flex-basis:calc(100% - 28px)}.mobile-carousel--peek .mobile-carousel-track:after{content:"";flex:0 0 12px}.mobile-carousel-controls{align-items:center;gap:12px;min-height:66px;padding-top:22px;display:flex}.mobile-carousel-count{color:var(--paper);font-variant-numeric:tabular-nums;letter-spacing:.08em;flex-shrink:0;font-size:12px}.mobile-carousel-count>span{color:var(--muted)}.mobile-carousel-dots{justify-content:center;margin-left:auto;display:flex}.mobile-carousel-dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:44px;padding:0;display:grid}.mobile-carousel-dots span{background:var(--muted);border-radius:99px;width:5px;height:5px;transition:width .2s,background .2s}.mobile-carousel-dots button[aria-current] span{background:var(--paper);width:18px}.mobile-carousel-arrows{gap:10px;margin-left:auto;display:flex}.mobile-carousel-arrows button{width:44px;height:44px;color:var(--paper);cursor:pointer;touch-action:manipulation;background:#262a32;border:1px solid #ffffff14;border-radius:50%;place-items:center;padding:0;display:grid}.mobile-carousel-arrows button:disabled{opacity:.28;cursor:default}.mobile-carousel button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.mobile-carousel-track:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.mobile-carousel-arrows button:active:not(:disabled){background:#454b58}@media (prefers-reduced-motion:reduce){.mobile-carousel-dots span{transition:none}}@media (max-width:360px){.mobile-carousel-dots{display:none}}.accordion-gallery{gap:10px;width:100%;min-height:clamp(420px,58svh,680px);display:flex}.accordion-gallery-item{isolation:isolate;background:#202532;border:1px solid #e0e8ff38;border-radius:18px;flex:1 1 0;min-width:0;transition:flex-grow .65s cubic-bezier(.22,.61,.36,1),border-color .35s,box-shadow .35s;display:block;position:relative;overflow:hidden;box-shadow:0 18px 42px #00000042}.accordion-gallery-item.is-active{flex-grow:var(--accordion-expand);border-color:#f0f5ff6b;box-shadow:0 28px 68px #0000005c}.accordion-gallery-item img{object-fit:cover;filter:grayscale(.25)saturate(.55)brightness(.66);width:100%;height:100%;transition:filter .65s,transform .8s cubic-bezier(.22,.61,.36,1);position:absolute;inset:0;transform:scale(1.04)}.accordion-gallery-item.is-active img{filter:grayscale(.08)saturate(.78)brightness(.84);object-position:center;transform:scale(1)}.accordion-gallery-overlay{z-index:1;pointer-events:none;background:linear-gradient(#07090e24,#0000 36%,#07090ee0);position:absolute;inset:0}.accordion-gallery-copy{z-index:2;color:var(--paper);gap:8px;display:grid;position:absolute;bottom:24px;left:24px;right:24px}.accordion-gallery-copy span{color:#f2f4f7b3;font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;font-size:10px}.accordion-gallery-copy strong{letter-spacing:-.055em;white-space:nowrap;font-size:clamp(20px,2.2vw,34px);font-weight:500}.accordion-gallery-copy p{color:#f2f4f7bd;opacity:0;max-width:360px;margin:0;font-size:14px;line-height:1.55;transition:opacity .35s .16s,transform .35s .16s;transform:translateY(10px)}.accordion-gallery-item.is-active .accordion-gallery-copy p{opacity:1;transform:none}.accordion-gallery-item:focus-visible{outline:2px solid var(--focus);outline-offset:4px}@media (max-width:700px){.accordion-gallery{gap:12px;min-height:0;display:grid}.accordion-gallery-item,.accordion-gallery-item.is-active{flex:none;min-height:260px}.accordion-gallery-copy p{opacity:1;transform:none}.accordion-gallery-copy{bottom:18px;left:18px;right:18px}}@media (prefers-reduced-motion:reduce){.accordion-gallery-item,.accordion-gallery-item img,.accordion-gallery-copy p{transition:none}}.text-type{width:100%;display:block}.text-type-layout{flex-direction:column;display:flex}.text-type-line{white-space:pre;align-self:flex-start;position:relative}.text-type-line.hero-line-indent{align-self:flex-end}.text-type-reserve{visibility:hidden}.text-type-written{position:absolute;top:0;left:0}.text-type-cursor{color:var(--paper);-webkit-text-stroke:0;margin-left:.045em;font-weight:250;animation:1s steps(2,jump-none) infinite text-type-blink;display:inline-block;position:absolute}.text-type[data-running=false] .text-type-cursor{animation-play-state:paused}@keyframes text-type-blink{to{opacity:0}}@media (prefers-reduced-motion:reduce){.text-type-cursor{opacity:1;animation:none}}@media (max-width:700px){.text-type-line.hero-line-indent{align-self:flex-start}}.works-carousel{--work-image-height:clamp(300px,110vw,520px);--work-caption-height:108px;width:100%;min-width:0}.works-carousel-viewport{width:calc(100% + var(--mobile-gutter,24px) * 2);margin-inline:calc(var(--mobile-gutter,24px) * -1);touch-action:pan-y pinch-zoom;position:relative;overflow:hidden}.works-carousel-viewport:after{content:"";z-index:1;height:var(--work-image-height);pointer-events:none;background:linear-gradient(90deg,var(--ink,#070809) 0%,transparent 10%,transparent 90%,var(--ink,#070809) 100%);position:absolute;inset:0 0 auto}.works-carousel-track{align-items:stretch;display:flex}.works-carousel-slide{flex:0 0 100%;min-width:0}.works-carousel .mobile-work-card{height:calc(var(--work-image-height) + var(--work-caption-height));margin:0}.works-carousel .mobile-work-card>button{width:100%;height:var(--work-image-height);aspect-ratio:auto;cursor:zoom-in;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.works-carousel .mobile-work-card img{object-fit:contain;flex:none;width:auto;max-width:none;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000)}.works-carousel .mobile-work-card figcaption{box-sizing:border-box;height:var(--work-caption-height);padding:18px var(--mobile-gutter,24px) 0;overflow:hidden}.works-carousel .mobile-work-card figcaption strong{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:20px;font-weight:550;line-height:1.4;display:-webkit-box;overflow:hidden}.works-carousel .mobile-work-card figcaption p{-webkit-line-clamp:2;color:var(--silver);white-space:pre-wrap;-webkit-box-orient:vertical;margin:8px 0 0;font-size:15px;line-height:1.7;display:-webkit-box;overflow:hidden}.works-carousel-controls{box-sizing:border-box;height:78px;min-height:78px;padding-top:18px}.works-carousel button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.works-carousel-viewport:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.works-autoplay-toggle{min-height:44px;color:var(--silver);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:13px}.works-autoplay-toggle:hover{color:var(--paper)}
