@font-face{font-family:Zalando Sans Expanded;src:url(/assets/fonts/zalando-sans-expanded-latin.woff2) format("woff2");font-style:normal;font-weight:200 900;font-display:swap}#root{width:100%;height:100%}@font-face{font-family:Zalando Sans;src:url(/assets/fonts/zalando-sans-latin.woff2) format("woff2");font-style:normal;font-weight:200 900;font-display:swap}:root{--system-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--favour-display-font: "Zalando Sans Expanded", "Helvetica Neue", Helvetica, Arial, sans-serif;--favour-text-font: "Zalando Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--surface: #080808;--surface-outside: #050505;--text-primary: #f5f5f5;--text-white: #fff;--text-muted: rgba(255, 255, 255, .75);--text-quiet: rgba(255, 255, 255, .5);--border-subtle: rgba(255, 255, 255, .1);--desktop-radius: clamp(28px, 2.54vw, 52px);--window-border: rgba(21, 24, 28, .12);--window-shadow: 0 22px 55px rgba(0, 0, 0, .19), 0 2px 8px rgba(0, 0, 0, .08);--notes-yellow: #ffe28b;--focus-ring: rgba(255, 255, 255, .9);--mono-font: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{display:grid;place-items:center;padding:0;color:#111;background:var(--surface-outside);font-family:var(--system-font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.boot-preloader{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;overflow:hidden;color:#ffffff94;background:#050505;opacity:1;visibility:visible;transition:opacity .46s cubic-bezier(.16,1,.3,1),visibility 0s linear .46s}.boot-preloader.is-exiting{opacity:0;visibility:hidden;pointer-events:none}.boot-preloader__status{display:flex;width:min(345px,calc(100vw - 40px));min-height:96px;align-items:center;gap:18px;padding:15px 26px 15px 18px;border:1px solid rgba(255,255,255,.055);border-radius:999px;background:#121212;box-shadow:inset 0 1px #ffffff05,0 14px 42px #0000002e;transform:translateZ(0) scale(1);transition:transform .46s cubic-bezier(.16,1,.3,1)}.boot-preloader.is-exiting .boot-preloader__status{transform:translate3d(0,-3px,0) scale(.985)}.boot-preloader__orb{display:block;flex:0 0 64px;width:64px;height:64px}.boot-preloader__label{min-width:0;color:#ffffff8c;font-family:var(--system-font);font-size:clamp(16px,1.25vw,20px);font-weight:400;line-height:1;letter-spacing:-.025em;white-space:nowrap}.boot-preloader__ellipsis{display:inline-flex;width:1.2em}.boot-preloader__ellipsis span{opacity:.28;animation:boot-ellipsis 1.2s ease-in-out infinite}.boot-preloader__ellipsis span:nth-child(2){animation-delay:.16s}.boot-preloader__ellipsis span:nth-child(3){animation-delay:.32s}.desktop.is-booting{pointer-events:none}@keyframes boot-ellipsis{0%,68%,to{opacity:.28}24%{opacity:.9}}button,a,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}::selection{color:#f8f8f6;background:#6855e794}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.desktop{--pointer-x: 50%;--pointer-y: 50%;--ambient-opacity: 0;--utility-rail-y: clamp(50px, 5.6vh, 72px);position:relative;width:100vw;max-width:none;height:100vh;height:100dvh;margin:0;overflow:hidden;isolation:isolate;border:0;border-radius:0;background:var(--surface)}.desktop:before{position:absolute;z-index:1;inset:0;content:"";opacity:var(--ambient-opacity);background:radial-gradient(circle clamp(420px,40vw,760px) at var(--pointer-x) var(--pointer-y),rgba(222,229,237,.045) 0%,rgba(205,216,230,.018) 37%,transparent 72%);pointer-events:none;transition:opacity .36s ease}.desktop:after{position:absolute;z-index:4;inset:0;content:"";border:1px solid var(--border-subtle);pointer-events:none}.favour-background{position:absolute;z-index:3;inset:0;overflow:hidden;color:var(--text-primary);font-family:var(--favour-text-font);pointer-events:none}.favour-brand{z-index:1;font-family:var(--favour-display-font);font-weight:400;text-transform:uppercase}.favour-brand{position:absolute;top:var(--utility-rail-y);left:7.7%;color:var(--text-white);font-size:clamp(11px,1.094vw,18px);line-height:1;letter-spacing:-.05em;opacity:1;transform:translate3d(0,-50%,0);transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.availability-status{position:absolute;z-index:5;top:var(--utility-rail-y);right:7.7%;display:flex;height:clamp(26px,1.95vw,40px);align-items:center;gap:clamp(7px,.54vw,11px);margin:0;padding:0 clamp(11px,.88vw,18px);color:#fffffff0;font-family:var(--favour-text-font);font-size:clamp(11px,.78vw,16px);font-weight:400;line-height:1;letter-spacing:-.025em;white-space:nowrap;border:1px solid rgba(255,255,255,.035);border-radius:999px;background:#131313f5;box-shadow:inset 0 1px #ffffff05;pointer-events:none;opacity:1;transform:translate3d(0,-50%,0);transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.availability-dot{position:relative;display:block;flex:0 0 clamp(6px,.49vw,10px);width:clamp(6px,.49vw,10px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 32%,#a8ffb7,#39ee55 38%,#14bd2f);box-shadow:0 0 3px #2fef52db,0 0 9px #20d83a57;animation:availability-beep 1s cubic-bezier(.16,1,.3,1) infinite}.availability-dot:after{content:"";position:absolute;inset:-82%;border-radius:inherit;opacity:0;background:radial-gradient(circle,rgba(64,255,96,.5) 0%,rgba(32,216,58,.2) 42%,transparent 72%);box-shadow:0 0 13px #20d83a9e;transform:scale(.5);animation:availability-halo 1s cubic-bezier(.16,1,.3,1) infinite}.desktop.is-entry-pending .favour-brand,.desktop.is-entry-pending .availability-status{opacity:0;transform:translate3d(0,calc(-50% + 4px),0)}.desktop.is-entry-ready .favour-brand{transition-delay:.12s}.desktop.is-entry-ready .availability-status{transition-delay:.19s}.reset-shortcut-layout{position:absolute;z-index:20;left:7.7%;bottom:4.2%;margin:0;padding:5px 0;cursor:pointer;color:#ffffffa3;font-family:var(--favour-text-font);font-size:clamp(9px,.68vw,12px);font-weight:400;line-height:1;letter-spacing:-.015em;border:0;border-bottom:1px solid rgba(255,255,255,.2);border-radius:0;background:transparent;opacity:.78;transition:color .14s ease,border-color .14s ease,opacity .18s ease,visibility .18s ease}.reset-shortcut-layout:hover,.reset-shortcut-layout:focus-visible{color:#ffffffe6;border-bottom-color:#ffffff85}.reset-shortcut-layout:disabled{cursor:default;visibility:hidden;opacity:0;pointer-events:none}.interaction-hint{position:absolute;z-index:32;left:7.7%;bottom:8.7%;display:flex;align-items:center;gap:.5em;margin:0;padding:0;color:#fff9;font-family:var(--favour-text-font);font-size:clamp(9px,.72vw,12px);font-weight:400;line-height:1;white-space:nowrap;border:0;opacity:0;background:transparent;box-shadow:none;transform:translate3d(0,4px,0);transition:opacity .22s ease,transform .26s cubic-bezier(.16,1,.3,1);pointer-events:none}.interaction-hint.is-visible{opacity:.62;transform:translateZ(0)}@keyframes availability-halo{0%{opacity:.46;transform:scale(.48)}68%{opacity:0;transform:scale(1.42)}to{opacity:0;transform:scale(1.42)}}@keyframes availability-beep{0%{filter:brightness(1.28) saturate(1.08);transform:scale(1.08);box-shadow:0 0 4px #2fef52f0,0 0 12px #20d83a80}48%{filter:brightness(1) saturate(1);transform:scale(1);box-shadow:0 0 3px #2fef52c2,0 0 8px #20d83a47}to{filter:brightness(1) saturate(1);transform:scale(1);box-shadow:0 0 3px #2fef52c2,0 0 8px #20d83a47}}.desktop-shortcuts,.window-layer{position:absolute;inset:0}.desktop-shortcuts{z-index:10;pointer-events:none}.shortcut{--thumb-ratio: 1;--label-top: 72%;--thumb-offset: 0%;--parallax-x: 0px;--parallax-y: 0px;--hover-y: 0px;--tilt-x: 0deg;--tilt-y: 0deg;--icon-scale: 1;--lamp-influence: 0;--lamp-direct: 0;--lamp-ambient: 0;--lamp-brightness: 1;--lamp-contrast: 1;--lamp-reflection: 0;--lamp-highlight-opacity: 0;--lamp-highlight-x: 50%;--lamp-highlight-y: 18%;--lamp-edge: 0;--lamp-shadow-x: 0px;--lamp-shadow-y: 0px;--lamp-shadow-blur: 0px;--lamp-shadow-alpha: 0;position:absolute;display:block;margin:0;padding:0;cursor:default;color:#fff;border:0;border-radius:10px;background:transparent;pointer-events:none;touch-action:none;perspective:620px;opacity:1;transform:translateZ(0) scale(1);transform-origin:50% 45%}.desktop.is-entry-pending .shortcut{opacity:0;transform:translate3d(0,9px,0) scale(.96)}.desktop.is-entry-ready .shortcut{opacity:1;transform:translateZ(0) scale(1);transition:opacity .3s ease var(--entry-delay, .28s),transform .34s cubic-bezier(.16,1,.3,1) var(--entry-delay, .28s)}.shortcut:nth-child(1){--entry-delay: .28s}.shortcut:nth-child(2){--entry-delay: 334ms}.shortcut:nth-child(3){--entry-delay: 396ms}.shortcut:nth-child(4){--entry-delay: 447ms}.shortcut:nth-child(5){--entry-delay: 511ms}.shortcut:nth-child(6){--entry-delay: .56s}.shortcut.is-dragging{z-index:30;cursor:grabbing}.shortcut.is-resetting{transition:left .44s cubic-bezier(.16,1,.3,1) var(--reset-delay, 0ms),top .44s cubic-bezier(.16,1,.3,1) var(--reset-delay, 0ms)}.shortcut:focus-visible{outline:none}.shortcut:focus-visible .shortcut-thumbnail{box-shadow:0 1px 4px #0003,0 0 0 2px #ffffffdb}.shortcut-visual{position:absolute;top:0;bottom:0;left:50%;display:flex;width:66%;flex-direction:column;align-items:center;cursor:grab;pointer-events:auto;transform:translate3d(calc(-50% + var(--parallax-x)),calc(var(--parallax-y) + var(--hover-y)),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(var(--icon-scale));transform-origin:50% 42%;transform-style:preserve-3d;transition:transform 175ms cubic-bezier(.16,1,.3,1);will-change:transform}.shortcut-visual:before{position:absolute;z-index:0;top:-6%;left:50%;width:78%;max-width:184px;aspect-ratio:1;content:"";border-radius:50%;opacity:var(--lamp-reflection);background:radial-gradient(circle at 50% 38%,rgba(245,242,224,.22) 0%,rgba(218,224,224,.085) 38%,transparent 74%);filter:blur(clamp(14px,1.25vw,24px));transform:translate(calc(-50% + var(--lamp-shadow-x) * -.34)) translateZ(-1px);transition:opacity .4s cubic-bezier(.22,1,.36,1);pointer-events:none}.shortcut-visual:after{position:absolute;z-index:2;top:var(--thumb-offset);left:50%;width:65.15%;max-width:110px;aspect-ratio:var(--thumb-ratio);content:"";border-radius:clamp(12px,1.04vw,20px);opacity:var(--lamp-highlight-opacity);background:radial-gradient(circle at var(--lamp-highlight-x) var(--lamp-highlight-y),rgba(255,253,236,.48) 0%,rgba(244,245,238,.2) 24%,rgba(230,238,244,.055) 47%,transparent 72%),linear-gradient(160deg,rgba(255,255,255,.06),transparent 42%);mix-blend-mode:screen;transform:translate(-50%);transition:opacity .36s cubic-bezier(.22,1,.36,1);pointer-events:none}.shortcut.is-launching .shortcut-visual{transform:translate3d(-50%,1px,0) scale(.93);transition-duration:85ms;transition-timing-function:cubic-bezier(.4,0,.7,.2)}.shortcut-thumbnail{position:relative;z-index:1;display:block;width:65.15%;max-width:110px;margin-top:var(--thumb-offset);aspect-ratio:var(--thumb-ratio);border-radius:clamp(12px,1.04vw,20px);object-fit:cover;filter:brightness(var(--lamp-brightness)) contrast(var(--lamp-contrast));box-shadow:0 1px 4px #0003,var(--lamp-shadow-x) var(--lamp-shadow-y) var(--lamp-shadow-blur) rgba(0,0,0,var(--lamp-shadow-alpha)),0 -1px rgba(255,252,236,var(--lamp-edge));pointer-events:none;-webkit-user-drag:none;transition:box-shadow 175ms ease,filter .4s cubic-bezier(.22,1,.36,1)}.shortcut-label{position:absolute;z-index:3;top:var(--label-top);left:50%;display:block;width:max-content;max-width:120%;margin:0;overflow:hidden;color:#ffffffe6;font-family:var(--system-font);font-size:clamp(8px,.78vw,14px);font-weight:400;line-height:1.05;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.55);white-space:nowrap;transform:translate(-50%);transition:color .16s ease,opacity 90ms ease}@media(hover:hover)and (pointer:fine){.shortcut:hover:not(.is-dragging):not(.suppress-hover){--hover-y: -3px;--icon-scale: 1.065}.shortcut:hover:not(.is-dragging):not(.suppress-hover) .shortcut-thumbnail{filter:brightness(calc(var(--lamp-brightness) + .035)) contrast(calc(var(--lamp-contrast) + .015));box-shadow:0 9px 23px #0006,calc(var(--lamp-shadow-x) * 1.1) calc(var(--lamp-shadow-y) + 2px) calc(var(--lamp-shadow-blur) + 6px) rgba(0,0,0,var(--lamp-shadow-alpha)),0 -1px rgba(255,252,236,var(--lamp-edge))}}.shortcut.is-dragging .shortcut-visual{cursor:grabbing;transform:translate3d(-50%,-4px,0) scale(1.08);transition-duration:115ms}.shortcut.is-dragging .shortcut-thumbnail{box-shadow:0 14px 32px #00000075,calc(var(--lamp-shadow-x) * 1.2) calc(var(--lamp-shadow-y) + 2px) calc(var(--lamp-shadow-blur) + 8px) rgba(0,0,0,var(--lamp-shadow-alpha)),0 -1px rgba(255,252,236,var(--lamp-edge))}.shortcut--champ{left:17.5%;top:27%;width:12%;height:13.5%}.shortcut--silences{left:43.5%;top:27%;width:12%;height:13.5%}.shortcut--revolte{left:70%;top:30%;width:12%;height:13.5%}.shortcut--lisiere{left:20.5%;top:61%;width:12%;height:13.5%}.shortcut--elan{left:69%;top:61.5%;width:12%;height:13.5%}.shortcut--eau{left:44%;top:68%;width:12%;height:13.5%}.project-hover-info{position:absolute;z-index:8;top:49.5%;left:50%;width:min(31vw,470px);min-width:250px;color:#fffffff0;font-family:var(--favour-text-font);text-align:center;opacity:0;transform:translate3d(-50%,4px,0);transition:opacity .19s ease,transform .21s cubic-bezier(.16,1,.3,1);pointer-events:none}.project-hover-info.is-visible{opacity:1;transform:translate3d(-50%,0,0)}.project-hover-info p{margin:0}.project-hover-name{font-family:var(--favour-display-font);font-size:clamp(16px,1.25vw,23px);font-weight:460;line-height:1;letter-spacing:-.035em;text-transform:uppercase}.project-hover-description{margin-top:8px!important;color:#ffffff9e;font-size:clamp(11px,.82vw,15px);line-height:1.2}.project-hover-stack{margin-top:6px!important;color:#ffffff61;font-size:clamp(9px,.68vw,12px);line-height:1.2}@keyframes shortcut-nudge{0%,to{transform:translate3d(calc(-50% + var(--parallax-x)),var(--parallax-y),0) scale(1)}52%{transform:translate3d(calc(-50% + var(--parallax-x) + 10px),var(--parallax-y),0) scale(1.015)}}.shortcut.is-tutorial-nudge .shortcut-visual{animation:shortcut-nudge .44s cubic-bezier(.22,.78,.28,1)}.window-layer{z-index:100;pointer-events:none}.window{position:absolute;display:flex;flex-direction:column;min-width:260px;min-height:220px;overflow:hidden;pointer-events:auto;background:#fff;border:1px solid var(--window-border);border-radius:clamp(13px,1.15vw,23px);box-shadow:var(--window-shadow);transform:none;transform-origin:50% 50%;opacity:1;transition:box-shadow .16s ease;will-change:transform,opacity,border-radius}.window:focus{outline:none}.window.is-closing{pointer-events:none}.react-window-enter{animation:window-enter 245ms cubic-bezier(.16,1,.3,1) both}.react-window-enter.is-closing{animation:window-exit .18s cubic-bezier(.4,0,1,1) both}@keyframes window-enter{0%{opacity:0;transform:scale(.82) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes window-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.88) translateY(5px)}}.window:not(.is-active){box-shadow:0 15px 38px #00000024,0 1px 4px #00000014}.window:not(.is-active) .titlebar{color:#9a9a9a}.window.is-expanded{left:clamp(12px,1.35%,26px)!important;top:clamp(12px,1.35%,22px)!important;right:clamp(12px,1.35%,26px)!important;bottom:var(--dock-safe-area, clamp(150px, 15.5%, 220px))!important;width:auto!important;height:auto!important;border-radius:clamp(13px,1vw,20px)}.window.is-expanded .titlebar{cursor:default}.window--project,.window--about{left:8%;top:14.8%;width:70.4%;bottom:var(--dock-safe-area, clamp(132px, 13.6%, 196px));height:auto}.window--notes{left:37.9%;top:17.7%;width:45.1%;height:59.3%}.titlebar{position:relative;z-index:2;display:flex;flex:0 0 clamp(30px,3vw,43px);align-items:center;gap:12px;padding:0 clamp(12px,1.2vw,20px);cursor:grab;color:#858585;font-size:clamp(10px,.85vw,15px);line-height:1;border-bottom:1px solid #e2e2e2;background:#fffffff7;touch-action:none}.titlebar:active{cursor:grabbing}.traffic-lights{display:flex;flex:none;gap:clamp(5px,.48vw,8px)}.traffic-light{position:relative;display:block;width:clamp(9px,.86vw,14px);aspect-ratio:1;padding:0;cursor:default;border:0;border-radius:50%;box-shadow:inset 0 0 0 .5px #00000014}.traffic-light:before{position:absolute;inset:50% auto auto 50%;color:#1d1d1dc2;font-family:Arial,sans-serif;font-size:clamp(8px,.65vw,11px);font-weight:700;line-height:1;opacity:0;transform:translate(-50%,-50%);transition:opacity 80ms ease;pointer-events:none}.traffic-light:hover:before,.traffic-light:focus-visible:before{opacity:1}.traffic-light--close:before{content:"×"}.traffic-light--minimize:before{content:"−"}.traffic-light--zoom:before{content:"↗";font-size:clamp(7px,.57vw,9px);transform:translate(-52%,-51%)}.window.is-expanded .traffic-light--zoom:before{content:"↙"}.traffic-light--close{background:#ff5f57;cursor:pointer}.traffic-light--minimize{background:#febc2e}.traffic-light--zoom{background:#28c840;cursor:pointer}.traffic-light--close:focus-visible,.traffic-light--zoom:focus-visible{outline:2px solid rgba(0,102,204,.52);outline-offset:2px}.window-title{display:inline-flex;min-width:0;align-items:center;gap:clamp(6px,.55vw,9px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-title-icon{display:block;flex:none;width:clamp(16px,1.35vw,23px);aspect-ratio:1;border-radius:22%;box-shadow:0 1px 3px #0000002e}.window--project .titlebar{background:color-mix(in srgb,var(--project-accent) 4%,rgba(255,255,255,.98))}.window-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(80,80,80,.55) transparent;-webkit-user-select:text;user-select:text}.window-body::-webkit-scrollbar,.note-reader::-webkit-scrollbar{width:8px}.window-body::-webkit-scrollbar-thumb,.note-reader::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:20px;background:#ffffff3d;background-clip:padding-box}.window--project .window-body,.window--about .window-body{overflow:hidden;padding:0;background:#363739;scrollbar-width:none}.window--project .window-body::-webkit-scrollbar,.window--about .window-body::-webkit-scrollbar{display:none}.project-workspace{position:relative;display:grid;width:100%;height:100%;min-height:0;padding:clamp(22px,3vw,52px);place-items:center;overflow:hidden;background:linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px) 0 0 / clamp(44px,4.5vw,74px) clamp(44px,4.5vw,74px),linear-gradient(90deg,rgba(255,255,255,.023) 1px,transparent 1px) 0 0 / clamp(44px,4.5vw,74px) clamp(44px,4.5vw,74px),radial-gradient(circle at 50% 40%,#3c3d3f,#363739 58%,#303133);isolation:isolate}.project-workspace:before{position:absolute;z-index:0;inset:0;content:"";background:linear-gradient(90deg,rgba(0,0,0,.11),transparent 18%,transparent 82%,rgba(0,0,0,.13)),linear-gradient(180deg,rgba(255,255,255,.016),transparent 24%,transparent 76%,rgba(0,0,0,.1));pointer-events:none}.project-scroll-panel{position:relative;z-index:1;width:min(88%,1220px);height:90%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(165,165,165,.04);border-radius:clamp(18px,1.55vw,27px);background:radial-gradient(circle at 70% 15%,rgba(255,255,255,.025),transparent 36%),linear-gradient(145deg,#171718,#101011 48%,#09090a);box-shadow:0 0 0 1px #a5a5a50a,-9px 9px 9px -.5px #0000000a,-18px 18px 18px -1.5px #00000014,-37px 37px 37px -3px #00000029,-75px 75px 75px -6px #0000003d,-150px 150px 150px -12px #0000007a;scrollbar-color:rgba(255,255,255,.22) transparent;scrollbar-width:thin}.about-scroll-panel{width:min(84%,1080px)}.project-scroll-panel::-webkit-scrollbar{width:7px}.project-scroll-panel::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#ffffff38;background-clip:padding-box}.project-scroll-content{display:block;width:100%;min-height:100%;padding:clamp(30px,3.3vw,58px) clamp(32px,4.2vw,76px) clamp(42px,4.8vw,86px)}.project-scroll-content:empty{min-height:calc(100% + 1px)}.project-case-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:start;gap:clamp(30px,3.7vw,66px);width:100%}.project-featured-column{position:sticky;top:clamp(22px,2.4vw,42px);min-width:0}.project-featured-media{margin:0}.project-featured-media img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain;border:1px solid rgba(255,255,255,.075);border-radius:clamp(12px,1.15vw,16px);background:radial-gradient(circle at 50% 12%,rgba(255,255,255,.035),transparent 44%),#080809;box-shadow:inset 0 1px #ffffff09,0 18px 42px #00000052;filter:brightness(1.08) contrast(1.03)}.project-featured-empty{display:grid;aspect-ratio:16 / 9;place-items:center;align-content:center;gap:10px;padding:28px;color:#a9aaac;text-align:center;border:1px solid rgba(255,255,255,.08);border-radius:clamp(12px,1.15vw,16px);background:#0a0a0b}.project-featured-empty img{width:clamp(46px,5vw,74px);margin-bottom:8px;border-radius:22%;opacity:.82}.project-featured-empty strong,.project-featured-empty span{display:block}.project-featured-empty strong{color:#dedede;font-size:clamp(11px,.86vw,14px)}.project-featured-empty span{color:#77787b;font-size:clamp(9px,.68vw,12px)}.project-window-story{min-width:0;color:#dedede;font-family:var(--mono-font)}.project-window-story h2{margin:0 0 clamp(22px,2.35vw,38px);color:var(--project-title-accent, #050505);font:inherit;font-size:clamp(24px,2.25vw,40px);font-weight:600;line-height:1.04;letter-spacing:-.03em}.project-window-story-section{padding-top:clamp(16px,1.55vw,26px);border-top:1px solid rgba(255,255,255,.09)}.project-window-story-section+.project-window-story-section{margin-top:clamp(28px,2.7vw,44px)}.project-window-story-section h3{margin:0 0 clamp(12px,1.1vw,18px);color:#e8e8e6;font:inherit;font-size:clamp(13px,1.05vw,18px);font-weight:600;line-height:1.2;letter-spacing:-.025em}.project-window-story-section--how-works h3{color:var(--project-title-accent, #e8e8e6)}.project-window-story-section p{max-width:68ch;margin:0;color:#a9aaac;font:inherit;font-size:clamp(11px,.85vw,15px);font-weight:400;line-height:1.78;letter-spacing:-.018em;white-space:pre-line}.project-window-story-section p+p{margin-top:.65rem}.project-window-stack ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.project-window-stack li{padding:7px 9px;color:#b8b9bb;font-size:clamp(9px,.7vw,12px);line-height:1;border:1px solid rgba(255,255,255,.11);border-radius:6px;background:#ffffff09}.project-window-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(34px,3.2vw,54px);padding-top:clamp(20px,2vw,34px);border-top:1px solid rgba(255,255,255,.09)}.project-window-link{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:9px;padding:0 15px;color:#d8d8d6;font-size:clamp(10px,.76vw,13px);font-weight:600;line-height:1;text-decoration:none;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#ffffff0a;transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .15s cubic-bezier(.16,1,.3,1)}.project-window-link svg{width:17px;height:17px;fill:currentColor}.project-window-link--live{color:#111;border-color:#ececea;background:#ececea}.project-window-link--github{color:#fff;border-color:var(--project-github-accent, var(--project-accent, #111));background:var(--project-github-accent, var(--project-accent, #111))}.project-window-link--github svg{fill:#fff}.project-window-link--live svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.project-window-link--github:hover,.project-window-link--github:focus-visible{color:#fff;border-color:var(--project-github-accent, var(--project-accent, #111));background:var(--project-github-accent, var(--project-accent, #111))}.project-window-link:hover,.project-window-link:focus-visible{color:#fff;border-color:#ffffff47;background:#ffffff1a;transform:translateY(-1px)}.project-window-links .project-window-link--github:hover,.project-window-links .project-window-link--github:focus-visible{border-color:var(--project-github-accent, var(--project-accent, #111));background:var(--project-github-accent, var(--project-accent, #111))}.project-window-link--live:hover,.project-window-link--live:focus-visible{color:#080809;border-color:#fff;background:#fff}.project-window-link:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:3px}.project-window-link:active{transform:translateY(0) scale(.98)}.about-content{min-height:100%;padding:clamp(30px,3.3vw,58px) clamp(32px,4.2vw,76px) clamp(42px,4.8vw,86px);color:#dedede;font-family:var(--mono-font)}.about-content h2{margin:0 0 clamp(22px,2.35vw,38px);color:#f1f1f0;font-family:var(--system-font);font-size:clamp(25px,2.4vw,42px);font-weight:700;line-height:1.04;letter-spacing:-.045em}.identity{display:grid;grid-template-columns:clamp(56px,5vw,80px) minmax(0,1fr);gap:clamp(12px,1.4vw,22px);align-items:center;margin-bottom:clamp(28px,2.7vw,44px);padding-top:clamp(16px,1.55vw,26px);border-top:1px solid rgba(255,255,255,.09)}.identity-avatar{display:grid;width:100%;aspect-ratio:1;place-items:center;overflow:hidden;font-size:clamp(26px,2.4vw,38px);line-height:1;border:1px solid rgba(255,255,255,.09);border-radius:31%;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.12),transparent 56%),linear-gradient(145deg,#1c1c1d,#0d0d0e);box-shadow:inset 0 1px #ffffff14,0 16px 34px #0000004d}.identity-data{display:grid;align-content:end;margin:0}.identity-data div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(10px,1.2vw,18px);padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09)}.identity-data dt{font:inherit;color:#e8e8e6;font-size:clamp(9px,.72vw,12px);font-weight:700}.identity-data dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#a9aaac;font-size:clamp(10px,.78vw,13px)}.identity-data a{color:#d8d8d5;text-decoration:none}.identity-data a:hover,.identity-data a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:.22em}.bio-card{max-width:75ch;margin:0 0 clamp(28px,2.7vw,44px);padding:clamp(16px,1.55vw,26px) 0 0;color:#a9aaac;font:inherit;font-size:clamp(11px,.85vw,15px);line-height:1.78;letter-spacing:-.018em;border-top:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent}.bio-card p{margin:0 0 1.3em}.bio-card p:last-child{margin-bottom:0}.location-block{padding:clamp(16px,1.55vw,26px) 0 4px;border-top:1px solid rgba(255,255,255,.09)}.location-block h3{margin:0 0 clamp(14px,1.3vw,22px);color:#e8e8e6;font:inherit;font-size:clamp(13px,1.05vw,18px);font-weight:600;line-height:1.2;letter-spacing:-.025em}.map-card{position:relative;height:clamp(270px,26vw,420px);overflow:hidden;isolation:isolate;border:1px solid rgba(152,168,160,.22);border-radius:clamp(8px,.8vw,13px);background:#010403;box-shadow:inset 0 0 0 1px #ffffff06}.window--about.is-expanded .map-card{height:clamp(620px,65vh,840px)}.map-card:after{position:absolute;z-index:2;inset:0;content:"";background:radial-gradient(circle at 50% 48%,transparent 48%,rgba(0,2,2,.18) 100%);pointer-events:none}.location-map{position:absolute;inset:0;width:100%;height:100%;cursor:default;opacity:0;transition:opacity .32s ease}.map-card.is-map-ready .location-map{opacity:1}.map-card.is-globe-hovered .location-map{cursor:grab}.map-card.is-globe-hovered .location-map:active{cursor:grabbing}.location-map-status{position:absolute;z-index:3;top:50%;left:50%;width:min(80%,280px);margin:0;color:#e5eee9b8;font-size:clamp(9px,.72vw,12px);line-height:1.4;text-align:center;transform:translate(-50%,-50%)}.map-card.has-map-error .location-map-status{color:#f0d4d4}.location-map-instructions{position:absolute;z-index:3;left:10px;bottom:9px;margin:0;padding:5px 8px;color:#e7efeab8;font-size:clamp(8px,.6vw,10px);letter-spacing:.015em;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#040d0bad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.location-marker{width:1px;height:1px;pointer-events:none}.location-marker-content{position:absolute;bottom:0;left:50%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);transition:opacity .22s ease,transform .26s cubic-bezier(.16,1,.3,1),visibility .22s}.location-marker--destination .location-marker-content{visibility:hidden;opacity:0;transform:translate(-50%) translateY(3px) scale(.84)}.location-marker--destination.is-network-visible .location-marker-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(0) scale(1)}.location-marker-label{width:max-content;max-width:88px;padding:3px 6px;overflow:hidden;color:#dce8e0;font-size:9px;font-weight:600;line-height:1;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(117,185,139,.3);border-radius:4px;background:#04100cf0;box-shadow:0 2px 7px #0000003d}.location-marker--hub .location-marker-label{color:#f2fff5;font-size:10px;border-color:#0aff3e7a;background:#03140af5}.location-marker-stem{width:1px;height:5px;background:color-mix(in srgb,var(--map-accent-muted) 66%,transparent)}.location-marker-core{width:7px;aspect-ratio:1;border:1.5px solid rgba(239,255,244,.9);border-radius:50%;background:var(--map-accent);box-shadow:0 0 0 3px #0aff3e1c,0 0 9px 2px var(--map-accent-glow)}.location-marker--hub .location-marker-core{width:11px;border-width:2px;box-shadow:0 0 0 4px #0aff3e21,0 0 14px 3px var(--map-accent-glow)}.map-card.is-map-close .location-marker-label{padding:2px 5px;font-size:8px}.map-card .maplibregl-canvas{outline:none}.map-card .maplibregl-ctrl-attrib{color:#dae5dd99;font-size:8px;background:#030c0aa3}.map-card .maplibregl-ctrl-attrib a{color:inherit}.map-card .maplibregl-ctrl-attrib-button{opacity:.68}.notes-shell{display:grid;grid-template-columns:33% 1fr;height:100%;min-height:0;color:#f6f6f2eb;background:radial-gradient(circle at 70% 0%,rgba(255,255,255,.045),transparent 34%),linear-gradient(145deg,#181819,#101011 52%,#080809)}.notes-list{padding:clamp(12px,1.2vw,21px);border-right:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 34%),#111112f0}.note-list-button{width:100%;margin:0 0 8px;padding:clamp(10px,1vw,17px);cursor:pointer;color:#f6f6f2db;text-align:left;border:1px solid transparent;border-radius:clamp(9px,.85vw,14px);background:transparent;transition:border-color .16s ease,color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.note-list-button:hover{color:#fbfbf7;border-color:#ffffff0f;background:#ffffff0e}.note-list-button:active{transform:scale(.992)}.note-list-button:focus-visible{outline:2px solid rgba(255,226,141,.44);outline-offset:2px}.note-list-button.is-selected{color:#fff9e7;border-color:#ffe28d38;background:radial-gradient(circle at 15% 0%,rgba(255,244,185,.16),transparent 48%),linear-gradient(180deg,#79602380,#4937129e);box-shadow:inset 0 1px #ffffff14,0 12px 28px #0000002e}.note-list-button.is-selected:hover{background:radial-gradient(circle at 15% 0%,rgba(255,244,185,.18),transparent 48%),linear-gradient(180deg,#7960238a,#493712a8)}.note-list-title{display:block;margin-bottom:8px;font-size:clamp(11px,.95vw,16px);font-weight:650}.note-list-preview{display:block;overflow:hidden;color:#ddddd885;font-size:clamp(9px,.8vw,14px);text-overflow:ellipsis;white-space:nowrap}.note-list-preview time{color:#f6f6f2d1}.note-list-button.is-selected .note-list-title{color:#fff8df}.note-list-button.is-selected .note-list-preview{color:#fff8df9e}.note-list-button.is-selected .note-list-preview time{color:#fff8dfeb}.note-reader{min-height:0;padding:clamp(15px,1.3vw,23px);overflow:auto;overscroll-behavior:contain;-webkit-user-select:text;user-select:text;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.24) transparent;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.035),transparent 36%),#08080952}.note-date{margin:0 0 clamp(13px,1.15vw,20px);color:#f6f6f26b;font-size:clamp(9px,.82vw,14px);text-align:center}.note-reader h2{margin:0 0 12px;font-size:clamp(23px,2vw,34px);font-weight:650;line-height:1;letter-spacing:-.025em;color:#fffffaf5}.note-copy{max-width:68ch;color:#efefeadb;font-size:clamp(10px,.93vw,16px);line-height:1.42}.note-copy p{margin:0 0 1.35em}.note-copy h3{margin:1.2em 0 .15em;font-size:1em}.note-copy .role-place,.note-copy .role-date{margin:0;color:#f6f6f285}.note-copy ul{margin:.65em 0 1.35em;padding-left:1.2em}.note-copy li{margin-bottom:.42em;color:#efefead1}.dock-hit-area{position:absolute;z-index:300;left:50%;bottom:5.93%;display:flex;width:max-content;height:max-content;align-items:flex-end;gap:clamp(8px,.9vw,18px);padding:clamp(7px,.64vw,13px);overflow:visible;border-radius:clamp(13px,1.35vw,25px);border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#565656bd,#2b2b2bb3);box-shadow:inset 0 1px #ffffff1c,0 8px 21px #00000038;transform:translate(-50%);backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08);opacity:1;transition:opacity .28s ease,filter .18s ease,transform .34s cubic-bezier(.16,1,.3,1)}.desktop.is-entry-pending .dock-hit-area{opacity:0;transform:translate3d(-50%,13px,0) scale(.97)}.desktop.is-entry-ready .dock-hit-area{opacity:1;transform:translate3d(-50%,0,0) scale(1);transition-delay:.69s,0ms,.69s}.desktop.has-focused-project .dock-hit-area{z-index:90;opacity:.64;filter:saturate(.86) brightness(.9)}.desktop.has-focused-project .dock-hit-area:hover,.desktop.has-focused-project .dock-hit-area.is-magnifying,.desktop.has-focused-project .dock-hit-area:focus-within{z-index:300;opacity:.96;filter:none}.dock-hit{position:relative;display:block;flex:0 0 clamp(40px,3.05vw,62px);width:clamp(40px,3.05vw,62px);aspect-ratio:1;padding:0;cursor:pointer;border:0;border-radius:22%;background:transparent;transform:translateZ(0);transform-origin:center bottom;will-change:transform}.dock-hit:focus-visible{z-index:2;outline:2px solid rgba(255,255,255,.78);outline-offset:4px}.dock-visual{position:absolute;inset:0;display:block;transform:scale(1);transform-origin:50% 100%;will-change:transform}.dock-artwork{position:absolute;inset:0;display:block;transform:scale(var(--dock-artwork-scale, 1));transform-origin:center bottom}.dock-hit--avatar{--dock-artwork-scale: .98}.dock-hit--notes{--dock-artwork-scale: .99}.dock-hit--github,.dock-hit--x,.dock-hit--linkedin{--dock-artwork-scale: .98}.dock-icon,.dock-icon svg{display:block;width:100%;height:100%}.dock-icon{overflow:hidden;border-radius:22%;box-shadow:0 1px 3px #00000047}.dock-icon--avatar{display:grid;place-items:center;padding-top:5%;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:clamp(26px,2.08vw,43px);line-height:1;background:#fff}.dock-icon--notes{position:relative;background:repeating-linear-gradient(to bottom,transparent 0 16%,rgba(173,173,173,.62) 16% 17.5%,transparent 17.5% 30%),#fff}.dock-icon--notes:before{content:"";position:absolute;inset:0 0 72%;background:linear-gradient(#ffd84e,#f5c52c)}.dock-icon--notes:after{content:"";position:absolute;inset:27% 0 auto;height:1px;background:#bda34a80}.dock-divider{flex:0 0 1px;width:1px;height:clamp(34px,2.5vw,51px);background:#ffffffad;box-shadow:1px 0 #00000042;align-self:center;will-change:transform}.dock-badge{position:absolute;z-index:4;top:-14%;right:-14%;display:grid;min-width:clamp(18px,1.28vw,26px);height:clamp(18px,1.28vw,26px);place-items:center;padding:0 .28em;color:#fff;font-size:clamp(10px,.68vw,14px);font-weight:600;line-height:1;border:2px solid rgba(52,52,52,.96);border-radius:999px;background:#ff3b30;box-shadow:0 1px 3px #00000059;pointer-events:none;transform:scale(1);transform-origin:50% 50%;transition:opacity .16s ease,transform .18s cubic-bezier(.2,.8,.2,1)}.dock-badge.is-dismissed{opacity:0;transform:scale(.55)}.dock-tooltip{position:absolute;left:50%;bottom:calc(100% + 12px + var(--dock-tooltip-lift, 0px));padding:5px 9px 6px;color:#161616;font-size:clamp(9px,.72vw,12px);font-weight:500;line-height:1;white-space:nowrap;border-radius:999px;opacity:0;background:#fff;box-shadow:0 2px 8px #00000029;transform:translate(-50%,4px);transition:opacity 90ms ease,transform .12s ease;pointer-events:none}.dock-tooltip:after{content:"";position:absolute;top:100%;left:50%;width:7px;height:7px;background:#fff;transform:translate(-50%,-4px) rotate(45deg)}.dock-hit.is-tooltip-active .dock-tooltip{opacity:1;transform:translate(-50%)}.mobile-arrangement-bar{display:none}@media(max-width:767px){:root{--mobile-edge: max(14px, env(safe-area-inset-left))}html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto}body{display:block;height:auto;min-height:calc(100dvh + 1px);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto}.desktop{--utility-rail-y: max(44px, calc(env(safe-area-inset-top) + 32px) );position:sticky;top:0;width:100%;height:100vh;height:100dvh;border:0;border-radius:0}.desktop:before{display:none}.favour-brand{top:var(--utility-rail-y);left:max(20px,calc(env(safe-area-inset-left) + 16px));font-size:15px;letter-spacing:-.045em}.availability-status{top:var(--utility-rail-y);right:max(14px,calc(env(safe-area-inset-right) + 12px));height:36px;gap:8px;padding:0 12px;font-size:12px;border-color:#ffffff12;background:#141414e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.availability-dot{flex-basis:7px;width:7px}.reset-shortcut-layout{display:none}.interaction-hint{right:0;left:0;bottom:calc(14.5% + env(safe-area-inset-bottom));justify-content:center;font-size:10px}.desktop-shortcuts{transition:opacity .18s ease,visibility .18s ease}.desktop.has-open-window .desktop-shortcuts{visibility:hidden;opacity:0;pointer-events:none}.shortcut{--label-top: 67%;width:28%;height:16%;min-height:104px;cursor:pointer;perspective:none}.shortcut-visual{width:100%}.shortcut--champ{left:4%;top:27%}.shortcut--silences{left:36%;top:27%}.shortcut--revolte{left:68%;top:27%}.shortcut--lisiere{left:4%;top:54%}.shortcut--eau{left:36%;top:54%}.shortcut--elan{left:68%;top:54%}.shortcut-thumbnail{width:62%;max-width:66px;border-radius:15px}.shortcut-label{max-width:96%;font-size:12px}.shortcut.is-dragging{cursor:grabbing}.desktop.is-arranging .shortcut:not(.is-dragging) .shortcut-thumbnail{box-shadow:0 7px 20px #00000061,0 0 0 1px #ffffff1a}.project-hover-info{display:none}.mobile-arrangement-bar{position:absolute;z-index:360;right:12px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));left:12px;display:flex;min-height:52px;align-items:center;gap:8px;padding:8px 9px 8px 14px;color:#ffffffb8;font-size:11px;line-height:1.2;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:#2a2a2ae0;box-shadow:0 12px 28px #00000057;backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1)}.mobile-arrangement-bar>span{margin-right:auto}.mobile-arrangement-bar button{min-width:54px;min-height:36px;padding:0 12px;color:#fff;font:inherit;font-weight:600;border:0;border-radius:11px;background:#ffffff1c}.mobile-arrangement-bar button:last-child{color:#111;background:#fff}.mobile-arrangement-bar button:disabled{opacity:.35}.window-layer{z-index:400}.window,.window.is-expanded,.window--project,.window--about,.window--notes{inset:0!important;width:auto!important;height:auto!important;min-width:0;min-height:0;border:0;border-radius:0;box-shadow:none}.react-window-enter{animation-name:mobile-window-enter;animation-duration:.26s}.react-window-enter.is-closing{animation-name:mobile-window-exit;animation-duration:.19s}@keyframes mobile-window-enter{0%{opacity:0;transform:translate3d(0,18px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes mobile-window-exit{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,12px,0) scale(.99)}}.titlebar{flex-basis:calc(52px + env(safe-area-inset-top));gap:10px;padding:env(safe-area-inset-top) 14px 0;cursor:default;font-size:14px;touch-action:auto}.titlebar:active{cursor:default}.traffic-lights{display:contents}.traffic-light--minimize,.traffic-light--zoom{display:none}.traffic-light--close{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;background:#12121212;box-shadow:none}.traffic-light--close:before{color:#333;font-size:20px;font-weight:400;opacity:.72}.window-title{gap:8px;color:#55585d;font-size:14px;font-weight:600}.window-title-icon{width:24px}.window-body{padding-bottom:env(safe-area-inset-bottom);scroll-padding-bottom:24px}.window--project .window-body,.window--about .window-body{padding:0;scroll-padding-bottom:0}.project-workspace{padding:16px 14px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px) 0 0 / 42px 42px,linear-gradient(90deg,rgba(255,255,255,.023) 1px,transparent 1px) 0 0 / 42px 42px,radial-gradient(circle at 50% 38%,#3c3d3f,#363739 60%,#303133)}.project-scroll-panel{width:100%;height:100%;border-radius:22px;box-shadow:0 0 0 1px #a5a5a50a,-7px 8px 10px #00000014,-18px 20px 30px #00000029,-42px 48px 68px #0000003d}.project-scroll-content{min-height:100%;padding:30px 20px 38px}.project-case-layout{display:flex;flex-direction:column;gap:0}.project-featured-column{position:static;order:2;width:100%;margin-bottom:38px}.project-window-story{display:contents}.project-window-story h2{order:1;margin-bottom:26px;font-size:clamp(30px,9.5vw,40px)}.project-window-story-section{order:3}.project-window-story-section{padding-top:20px}.project-window-story-section+.project-window-story-section{margin-top:34px}.project-window-story-section h3{margin-bottom:13px;font-size:14px}.project-window-story-section p{font-size:13px;line-height:1.72}.project-featured-media img,.project-featured-empty{aspect-ratio:16 / 9}.project-window-stack li{font-size:10px}.project-window-links{order:4;width:100%}.project-window-link{flex:1 1 132px}.about-content{padding:24px 18px 44px}.about-content h2{margin-bottom:24px;font-size:34px}.identity{grid-template-columns:58px minmax(0,1fr);gap:14px;margin-bottom:20px}.identity-avatar{font-size:32px}.identity-data div{gap:8px;padding:8px 0}.identity-data dt{font-size:9px}.identity-data dd{font-size:12px}.bio-card{margin-bottom:28px;padding:20px 0 0;font-size:14px;line-height:1.55;border-radius:0}.location-block h3{margin-bottom:12px;font-size:21px}.map-card,.window--about.is-expanded .map-card{height:clamp(390px,58dvh,540px);border-radius:15px}.location-map-instructions{left:8px;bottom:8px;font-size:9px}.notes-shell{display:flex;flex-direction:column}.notes-list{display:grid;flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#111112f0}.note-list-button{margin:0;padding:12px;color:#f6f6f2db;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:#ffffff09}.note-list-title{margin-bottom:5px;font-size:14px}.note-list-preview{font-size:11px}.note-reader{flex:1 1 auto;padding:22px 18px 42px}.note-date{margin-bottom:18px;font-size:12px}.note-reader h2{font-size:34px}.note-copy{font-size:15px;line-height:1.55}.dock-hit-area,.desktop.is-entry-ready .dock-hit-area{bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));gap:8px;padding:8px;border-radius:18px;transform:translate(-50%);transition:opacity .18s ease,transform .23s cubic-bezier(.16,1,.3,1),visibility .18s ease}.dock-hit{flex-basis:48px;width:48px}.dock-divider{height:38px}.dock-icon--avatar{font-size:31px}.dock-tooltip{display:none}.desktop.has-open-window .dock-hit-area,.desktop.is-arranging .dock-hit-area{visibility:hidden;opacity:0;transform:translate3d(-50%,22px,0) scale(.96);pointer-events:none}.desktop.has-focused-project .dock-hit-area,.desktop.has-focused-project .dock-hit-area:hover,.desktop.has-focused-project .dock-hit-area:focus-within{z-index:300;filter:none}}@media(min-width:768px)and (max-width:850px),(min-width:768px)and (max-height:580px){.window{min-width:200px;min-height:150px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}.availability-dot{animation:none!important;transform:none!important;filter:none!important;box-shadow:0 0 3px #2fef52d1,0 0 8px #20d83a4d}.availability-dot:after{animation:none!important;opacity:0!important}.desktop:before{opacity:0!important}.shortcut{--parallax-x: 0px !important;--parallax-y: 0px !important;--tilt-x: 0deg !important;--tilt-y: 0deg !important}.shortcut.is-tutorial-nudge .shortcut-visual{animation:none!important}.shortcut:hover:not(.is-dragging){--hover-y: -1px !important;--icon-scale: 1.02 !important}.dock-hit,.dock-visual{will-change:auto}}.pendant-lamp{--lamp-size: clamp(150px, 11.2vw, 250px);--lamp-bulb-y: clamp(153px, 11.39vw, 254px);--lamp-source-y: clamp(116px, 8.9vw, 190px);--lamp-top: calc(var(--lamp-source-y) - var(--lamp-bulb-y));--lamp-bulb-size: clamp(24px, 1.79vw, 40px);--lamp-bulb-radius: clamp(12px, .895vw, 20px);--lamp-hit-top: clamp(74px, 5.49vw, 123px);--lamp-hit-width: clamp(156px, 11.65vw, 260px);--lamp-hit-height: clamp(93px, 6.94vw, 155px);--lamp-ease: cubic-bezier(.22, 1, .36, 1);--lamp-transition: .43s var(--lamp-ease);--lamp-outer-opacity: .18;--lamp-inner-opacity: .44;position:absolute;inset:0;pointer-events:none}.pendant-lamp__beam,.pendant-lamp__fixture,.pendant-lamp__source-anchor,.pendant-lamp__control{position:absolute;left:50%}.pendant-lamp__beam,.pendant-lamp__fixture,.pendant-lamp__source-anchor{pointer-events:none}.pendant-lamp__beam{z-index:2;top:calc(var(--lamp-source-y) + calc(var(--lamp-bulb-size) * .44));transform:translate(-50%);transform-origin:50% 0;mix-blend-mode:screen;transition-property:opacity,filter;transition-timing-function:var(--lamp-ease)}.pendant-lamp__beam--outer{width:min(38vw,760px);height:min(68vh,840px);background:conic-gradient(from 0deg at 50% 0%,transparent 0deg 156deg,rgba(184,196,210,.008) 163deg,rgba(211,220,229,.038) 173deg,rgba(246,246,236,.085) 180deg,rgba(211,220,229,.038) 187deg,rgba(184,196,210,.008) 197deg,transparent 204deg 360deg);-webkit-mask-image:radial-gradient(ellipse at 50% 2%,#000 0%,rgba(0,0,0,.92) 24%,rgba(0,0,0,.52) 58%,transparent 91%),linear-gradient(180deg,#000 0%,rgba(0,0,0,.8) 44%,rgba(0,0,0,.18) 78%,transparent 98%);mask-image:radial-gradient(ellipse at 50% 2%,#000 0%,rgba(0,0,0,.92) 24%,rgba(0,0,0,.52) 58%,transparent 91%),linear-gradient(180deg,#000 0%,rgba(0,0,0,.8) 44%,rgba(0,0,0,.18) 78%,transparent 98%);filter:blur(clamp(82px,6.4vw,146px));opacity:var(--lamp-outer-opacity);transition-duration:.44s,.44s}.pendant-lamp__beam--inner{width:min(13.5vw,270px);height:min(46vh,570px);background:conic-gradient(from 0deg at 50% 0%,transparent 0deg 167deg,rgba(213,222,230,.012) 171deg,rgba(240,244,242,.085) 176deg,rgba(255,252,236,.22) 180deg,rgba(240,244,242,.085) 184deg,rgba(213,222,230,.012) 189deg,transparent 193deg 360deg);-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.94) 31%,rgba(0,0,0,.34) 67%,transparent 96%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.94) 31%,rgba(0,0,0,.34) 67%,transparent 96%);filter:blur(clamp(31px,2.55vw,60px));opacity:var(--lamp-inner-opacity);transition-duration:.32s,.32s}.pendant-lamp__fixture{z-index:6;top:var(--lamp-top);display:block;width:var(--lamp-size);height:auto;object-fit:contain;-webkit-user-drag:none;transform:translate3d(-50%,0,0);transform-origin:50% 0;opacity:0;transition:opacity .2s var(--lamp-ease),transform .44s cubic-bezier(.16,1,.3,1),filter var(--lamp-transition)}.pendant-lamp__fixture--on{z-index:7}.pendant-lamp.is-on .pendant-lamp__fixture--on,.pendant-lamp.is-off .pendant-lamp__fixture--off{opacity:1}.pendant-lamp__control{z-index:9;top:calc(var(--lamp-top) + var(--lamp-hit-top));width:var(--lamp-hit-width);height:var(--lamp-hit-height);margin:0;padding:0;cursor:pointer;border:0;border-radius:50% 50% 38% 38%;outline:0;background:transparent;transform:translate(-50%);pointer-events:auto;-webkit-tap-highlight-color:transparent}.pendant-lamp__control:focus-visible{outline:none;box-shadow:none}.pendant-lamp__control:focus-visible~.pendant-lamp__fixture{filter:brightness(1.08) drop-shadow(0 0 8px rgba(255,253,236,.16))}.pendant-lamp__source-anchor{z-index:0;top:var(--lamp-source-y);width:1px;height:1px;opacity:0;transform:translate(-50%)}.pendant-lamp.is-off{--lamp-outer-opacity: 0;--lamp-inner-opacity: 0}.pendant-lamp.is-on .pendant-lamp__beam--inner{transition-delay:34ms}.pendant-lamp.is-on .pendant-lamp__beam--outer{transition-delay:88ms}.pendant-lamp.is-off .pendant-lamp__beam--inner{transition-duration:.24s,.24s;transition-delay:0ms}.pendant-lamp.is-off .pendant-lamp__beam--outer{transition-duration:.29s,.29s;transition-delay:0ms}.pendant-lamp.is-subdued:not(.is-off) .pendant-lamp__beam--inner{opacity:.075}.pendant-lamp.is-subdued:not(.is-off) .pendant-lamp__beam--outer{opacity:.04}.pendant-lamp.is-subdued .pendant-lamp__fixture{filter:brightness(.56)}.pendant-lamp.is-subdued.is-on .pendant-lamp__fixture--on,.pendant-lamp.is-subdued.is-off .pendant-lamp__fixture--off{opacity:.64}.pendant-lamp.is-subdued.is-off .pendant-lamp__beam{opacity:0}.pendant-lamp.is-subdued.is-off .pendant-lamp__fixture{filter:brightness(.58) saturate(.86) contrast(1.02)}.desktop.is-entry-pending .pendant-lamp__fixture,.desktop.is-entry-pending .pendant-lamp__source-anchor{opacity:0;transform:translate3d(-50%,-12px,0)}.desktop.is-entry-pending .pendant-lamp__beam{opacity:0}@media(max-width:767px){.pendant-lamp{--lamp-size: clamp(112px, 30vw, 124px);--lamp-bulb-y: clamp(114px, 30.5vw, 126px);--lamp-source-y: clamp(92px, 24vw, 98px);--lamp-top: calc(var(--lamp-source-y) - var(--lamp-bulb-y));--lamp-bulb-size: clamp(18px, 4.8vw, 20px);--lamp-bulb-radius: clamp(9px, 2.4vw, 10px);--lamp-hit-top: clamp(55px, 14.7vw, 61px);--lamp-hit-width: clamp(116px, 31.2vw, 129px);--lamp-hit-height: clamp(69px, 18.6vw, 77px);--lamp-outer-opacity: .14;--lamp-inner-opacity: .36}.pendant-lamp__beam--outer{width:100vw;height:62vh;filter:blur(38px)}.pendant-lamp__beam--inner{width:46vw;height:43vh;filter:blur(19px)}}@media(max-height:620px)and (min-width:768px){.pendant-lamp{--lamp-size: clamp(140px, 10.4vw, 205px);--lamp-bulb-y: clamp(142px, 10.58vw, 208px);--lamp-source-y: clamp(104px, 7.8vw, 144px);--lamp-top: calc(var(--lamp-source-y) - var(--lamp-bulb-y));--lamp-bulb-size: clamp(22px, 1.66vw, 33px);--lamp-bulb-radius: clamp(11px, .83vw, 16.5px);--lamp-hit-top: clamp(69px, 5.1vw, 101px);--lamp-hit-width: clamp(146px, 10.82vw, 213px);--lamp-hit-height: clamp(87px, 6.45vw, 127px)}}@media(prefers-reduced-motion:reduce){.pendant-lamp__beam,.pendant-lamp__fixture,.pendant-lamp__source-anchor{transition-duration:80ms;transition-delay:0ms}}
