@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#151517;--ink:#f4f1ea;--muted:#929095;--quiet:#929095;--line:#f4f1ea21;--yellow:#edc844;--paper:#f4f1ea;--paper-ink:#171716;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0}html{scroll-behavior:smooth}body{background:radial-gradient(at 50% 44%,#1b1b1e 0%,#151517 62%,#131315 100%);min-width:0;overflow:hidden}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}::selection{color:#111;background:var(--yellow)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app{width:100%;height:100dvh;min-height:0;padding:max(0px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));isolation:isolate;position:relative}.experience-view{--dock-gap:16px;--dock-reserve:72px;isolation:isolate;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;min-height:0;display:grid;position:relative}.scene-column{z-index:0;inset:0 0 var(--dock-reserve);overscroll-behavior-y:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#6b6860 transparent;min-width:0;min-height:0;position:absolute;overflow:auto}.scene-frame{background:0 0;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.scene-canvas{position:absolute;inset:0}.scene-canvas canvas{touch-action:pinch-zoom;display:block;width:100%!important;height:100%!important}.scene-canvas--scrollable,.scene-canvas--scrollable canvas{touch-action:pan-x pan-y pinch-zoom}:is(.scene-frame:has(.scene-fallback),.scene-frame:has(.canvas-fallback-description)){overflow:visible}.canvas-fallback-description{pointer-events:auto;flex-direction:column;align-items:center;min-height:100%;display:flex;position:relative}.canvas-fallback-description:before,.canvas-fallback-description:after{content:"";flex:1 0 0}.canvas-fallback-description>*{flex-shrink:0}.experience-view--read .scene-column,.experience-view--project .scene-column{visibility:hidden;pointer-events:none}.project-hotspot{color:#0000;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:28px;max-width:none;padding:0;transition:border-color .14s,background .14s;display:block;position:relative;overflow:visible}.project-hotspot:hover{background:#ef442d06;border-color:#ef442d7a}.project-hotspot:focus-visible{outline-offset:3px;background:#ef442d0a;border-color:#111110;outline:3px solid #ef442d}.project-hotspot__tooltip{z-index:5;color:#171716;opacity:0;pointer-events:none;text-align:left;visibility:hidden;background:#f3f0e8;border:1px solid #17171621;border-radius:7px;gap:3px;width:max-content;max-width:min(220px,62vw);padding:8px 10px;transition:opacity .12s,transform .12s,visibility .12s;display:grid;position:absolute;transform:translateY(3px);box-shadow:0 4px 12px #1111102b}.project-hotspot--upper-left .project-hotspot__tooltip{top:calc(100% + 7px);left:0}.project-hotspot--upper-right .project-hotspot__tooltip{top:calc(100% + 7px);right:0}.project-hotspot--lower-left .project-hotspot__tooltip{top:0;left:calc(100% + 8px)}.project-hotspot--lower-right .project-hotspot__tooltip{top:0;right:calc(100% + 8px)}.project-hotspot__tooltip strong{font-size:12px;font-weight:700;line-height:1.2}.project-hotspot__tooltip small{color:#56534d;font-size:10px;line-height:1.2}.project-hotspot:hover .project-hotspot__tooltip,.project-hotspot:focus-visible .project-hotspot__tooltip{opacity:1;visibility:visible;transform:translateY(0)}.diagram-label{color:#f4f1ea;cursor:pointer;text-align:left;white-space:nowrap;background:#151517e0;border:1px solid #0000;border-radius:3px;align-content:center;gap:3px;width:max-content;min-width:44px;max-width:116px;min-height:44px;padding:5px 7px;transition:color .12s,border-color .12s,background .12s;display:grid;transform:translateY(-50%);box-shadow:0 2px 8px #0003}.diagram-label--left{text-align:right;align-items:end;transform:translate(-100%,-50%)}.diagram-label__company{text-overflow:ellipsis;min-width:0;max-width:100%;font-size:clamp(12px,.9vw,14px);font-weight:630;line-height:1.15;overflow:hidden}.diagram-label__years{color:#b5b1a8;font-family:var(--mono);font-size:9.5px;line-height:1.15}.diagram-label:hover{color:#fffdf7;background:#202023;border-color:#f4f1ea47}.diagram-label.is-selected{color:#f3d45c}.diagram-label:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.diagram-label.diagram-label--compact{text-align:center;white-space:normal;align-content:end;justify-items:center;gap:2px;width:128px;min-width:44px;max-width:128px;min-height:44px;padding:3px 7px}.diagram-label--right.diagram-label--compact{transform:translateY(-50%)}.diagram-label--left.diagram-label--compact{transform:translate(-100%,-50%)}.diagram-label--compact .diagram-label__company{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-size:12px;line-height:1.12;display:block;overflow:hidden}.career-company-overlay{z-index:2!important}.career-role-overlay{pointer-events:none;z-index:3!important}.role-annotation-anchor{pointer-events:none;width:0;height:0;position:relative;overflow:visible}.role-annotation{color:#d4cdbb;pointer-events:none;align-items:center;gap:4px;display:flex;position:absolute;top:0;overflow:visible}.role-annotation--compact.role-annotation--right{left:0;transform:translateY(-50%)}.role-annotation--compact.role-annotation--left{left:0;transform:translate(-100%,-50%)}.role-annotation--desktop{gap:6px}.role-annotation--desktop.role-annotation--right{left:0;transform:translate(-100%,-50%)}.role-annotation--desktop.role-annotation--left{left:0;transform:translateY(-50%)}.role-annotation__copy{color:#d4cdbb;letter-spacing:.005em;pointer-events:none;white-space:normal;min-width:0;font-weight:520;display:block}.role-annotation__copy--compact{text-wrap:balance;text-align:center;flex:auto;width:auto;font-size:11.5px;line-height:1.22}.role-annotation__copy--single{align-self:flex-start;margin-top:3px}.role-annotation__copy--shared{align-self:center}.role-annotation--compact .role-annotation__copy--shared{transform:translateY(6px)}.role-annotation__copy--desktop{flex:0 0 160px;width:160px;font-size:12px;line-height:1.3}.role-annotation--right .role-annotation__copy--desktop{text-align:right}.role-annotation--left .role-annotation__copy--desktop{text-align:left}.pencil-brace{flex:none;display:block;overflow:visible}.role-annotation__leaders{pointer-events:none;position:absolute;overflow:visible}.role-annotation__leaders path{fill:none;stroke:#d4cdbba3;stroke-width:1px}.role-annotation__leaders circle{fill:#d4cdbb}.scene-loading{place-items:center;display:grid;position:absolute;inset:0}.scene-loading span{border:1px solid #edc84430;border-top-color:var(--yellow);border-radius:50%;width:18px;height:18px;animation:.9s linear infinite orbit}@keyframes orbit{to{transform:rotate(360deg)}}.scene-fallback{z-index:10;text-align:center;touch-action:pan-x pan-y pinch-zoom;background:#151517f5;flex-direction:column;align-items:center;gap:15px;min-height:100%;padding:22px;display:flex;position:absolute;inset:0;overflow-y:auto}.scene-fallback:before,.scene-fallback:after{content:"";flex:1 0 0}.scene-fallback>*{flex-shrink:0}.scene-fallback p{max-width:34ch;color:var(--muted);margin:0;font-size:12px;line-height:1.6}.scene-fallback__pass{aspect-ratio:.711;color:#171716;text-align:left;background:linear-gradient(90deg,#f3f0e8 89%,#ef442d 89%);border:1px solid #17171629;border-radius:13px;align-content:start;gap:14px;width:min(230px,70%);padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 50px #0000004d}.scene-fallback__top{font-family:var(--mono);letter-spacing:.07em;font-size:9px}.scene-fallback__pass strong{letter-spacing:-.035em;margin-top:auto;font-size:33px;font-weight:900}.scene-fallback__pass span:nth-of-type(2){color:#555;font-size:10px}.scene-fallback__pass i{background:#ef442d;width:48%;height:4px;margin-top:8px}.scene-fallback__archive{text-align:left;gap:8px;width:min(420px,100%);display:grid}.scene-fallback__archive h2{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:10px 0 0;font-size:10px;font-weight:500}.scene-fallback__archive ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.scene-fallback__archive button{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#ffffff08;border-radius:10px;gap:3px;padding:10px 14px;display:grid}.scene-fallback__archive button:hover{background:#ffffff0f;border-color:#f4f1ea47}.scene-fallback__archive strong{font-size:13px;font-weight:650}.scene-fallback__archive span{color:var(--muted);font-size:11px;line-height:1.45}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 16px;font-size:12px;font-weight:550;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button--quiet{border-color:var(--line);color:#d1cfca;background:#12121452}.button--quiet:hover{background:#ffffff0d;border-color:#f4f1ea47}.control-dock{z-index:3;grid-row:2;justify-content:center;align-items:center;gap:8px;width:100%;min-width:0;min-height:56px;padding:5px 0 2px;display:flex;position:relative}.dock-button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0 13px;font-size:12px;font-weight:550;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.dock-button:hover{transform:translateY(-1px)}.dock-button--quiet{color:#d1cfca;background:#ffffff06;border-color:#f4f1ea24}.dock-button--quiet:hover{background:#ffffff0f;border-color:#f4f1ea47}.dock-button--pass-control{color:#c6c2ba;background:0 0;border-color:#0000}.dock-button--pass-control:hover{color:#f4f1ea;background:#ffffff0b;border-color:#0000}.dock-button--accent{color:#171615;background:var(--yellow);border-color:#edc844c2}.dock-button--accent:hover{background:#f1d566;border-color:#f1d566}.dock-button--icon{width:44px;padding:0}.dock-button--pass{padding-inline:11px}.dock-button svg{width:16px;height:16px}.dock-key{color:#aaa79f;box-shadow:none;font-family:var(--mono);background:0 0;border:0;padding:0;font-size:9px;font-weight:500;line-height:1}.arrow-icon--left{transform:rotate(180deg)}.selection-indicator{text-align:center;flex:0 auto;justify-items:center;gap:2px;min-width:76px;max-width:142px;display:grid;overflow:hidden}.selection-indicator span{color:var(--quiet);font-family:var(--mono);letter-spacing:.03em;font-size:9px}.selection-indicator strong{color:#e4e1db;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:520;overflow:hidden}.reader-overlay{z-index:2;inset:8px 0 var(--dock-reserve);pointer-events:none;place-items:center;min-height:0;display:grid;position:absolute}.details{width:min(100%,500px);height:min(100%,760px);min-height:0;color:var(--paper-ink);background:var(--paper);pointer-events:auto;border-radius:15px;grid-template-rows:auto minmax(0,1fr) auto;animation:.18s cubic-bezier(.2,.75,.25,1) both reader-enter;display:grid;overflow:hidden;box-shadow:0 24px 90px #00000061,0 3px 12px #0003}@keyframes reader-enter{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.details__chrome{border-bottom:1px solid #17171621;justify-content:space-between;align-items:center;gap:12px;min-height:51px;padding:0 20px;display:flex;position:relative}.details__chrome:before{content:"";background:#171716;border-radius:4px;width:40px;height:6px;position:absolute;top:15px;left:50%;transform:translate(-50%)}.details__topline{color:#686761;min-width:0;font-family:var(--mono);letter-spacing:.035em;align-items:center;gap:13px;font-size:9px;display:flex}.details__topline span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.details__close{color:#55544f;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 4px;font-size:10px;display:inline-flex}.details__close:hover{color:var(--paper-ink)}.details__close svg{width:16px;height:16px}.details__scroll{overscroll-behavior:contain;scrollbar-color:#1717163d transparent;scrollbar-width:thin;min-height:0;padding:clamp(24px,5vh,45px) clamp(22px,5vw,48px) 30px;overflow:auto}.details__scroll:focus-visible{outline-offset:-4px;outline:2px solid #b59120}.details__head{gap:10px;display:grid}.details__title{align-items:center;gap:12px;min-width:0;display:flex}.details__title h2{overflow-wrap:anywhere;color:var(--paper-ink);letter-spacing:-.035em;margin:0;font-size:clamp(34px,7vw,54px);font-weight:590;line-height:1.02}.details__title h2:focus{outline:none}.details__title h2:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #8a6b0c}.details__logo{object-fit:contain;background:#fff;border-radius:3px;flex:none;width:45px;height:35px;padding:5px}.details__role{color:#625f58;margin:0;font-size:15px;line-height:1.5}.details__body{margin-top:28px}.details__summary{color:#33322f;max-width:48ch;margin:0;font-size:15px;line-height:1.75}.details__highlights{color:#56544e;gap:11px;margin:22px 0 0;padding:0;font-size:14px;line-height:1.6;list-style:none;display:grid}.details__highlights li{padding-left:15px;position:relative}.details__highlights li:before{content:"";background:#b59120;border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.details__gallery{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:22px;display:grid}.details__gallery figure{margin:0}.details__gallery img{border-radius:4px;width:100%;height:auto;display:block}.details__gallery figcaption{color:#625f58;margin-top:6px;font-size:10px}.project-details__scroll .details__head{gap:20px}.project-details__stack{color:#8a6b0c;letter-spacing:.04em;text-transform:uppercase;margin:14px 0 0;font-size:12px;font-weight:560}.project-details__art{aspect-ratio:1;object-fit:contain;border-radius:0;width:min(100%,clamp(140px,32vh,290px));height:auto;margin-inline:auto;display:block}.project-details__scroll .details__head h2{overflow-wrap:anywhere;color:var(--paper-ink);letter-spacing:-.035em;margin:0;font-size:clamp(30px,6vw,48px);font-weight:590;line-height:1.02}.project-details__scroll .details__head h2:focus{outline:none}.project-details__scroll .details__head h2:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #8a6b0c}.details__footer{color:#77756e;border-top:1px solid #17171621;justify-content:space-between;align-items:center;gap:12px;min-height:51px;padding:0 20px;font-size:10px;display:flex}.details__footer a{color:#34332f;text-underline-offset:3px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding-inline:8px;font-size:11px;font-weight:600;-webkit-text-decoration:underline #1717164d;text-decoration:underline #1717164d;display:inline-flex}.details__footer>span{overflow-wrap:anywhere;min-width:0;line-height:1.4}.details__footer a:hover{color:#8a6b0c}@media (width<=420px){.experience-view{--dock-gap:13px}.control-dock{gap:6px}.dock-button--pass{gap:4px;padding-inline:8px}.selection-indicator{min-width:64px;max-width:92px}.details__chrome{min-height:47px;padding-inline:14px}.details__topline{gap:8px;font-size:8px}.details__scroll{padding:24px 20px 26px}.details__footer{min-height:47px;padding-inline:14px}}@media (width<=520px){.diagram-label:not(.diagram-label--compact){max-width:82px;padding-inline:2px}.diagram-label.diagram-label--compact{width:128px;max-width:128px;padding-inline:7px}.diagram-label:not(.diagram-label--compact) .diagram-label__company{font-size:10.5px}}@media (width<=350px){.app{padding-right:max(8px, env(safe-area-inset-right));padding-left:max(8px, env(safe-area-inset-left))}.control-dock{gap:4px}.dock-button--pass{width:44px;min-width:44px;padding:0}.dock-button--pass span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.dock-button--pass .dock-key{display:none}.dock-button--icon{width:44px;min-width:44px}.selection-indicator{min-width:61px}.dock-button--read{min-width:44px;padding-inline:9px}}@media (height<=520px){.experience-view{--dock-gap:12px}.control-dock{min-height:50px;padding-block:2px 0}.details{border-radius:10px}.details__chrome{min-height:43px}.details__scroll{padding-top:18px;padding-bottom:18px}.details__body{margin-top:18px}.details__footer{min-height:43px}}@media (width>=600px) and (height<=520px){.project-details__scroll .details__head{grid-template-columns:clamp(72px,22vh,112px) minmax(0,1fr);align-items:center;gap:18px}.project-details__art{width:100%}.project-details__scroll .details__head h2{font-size:clamp(25px,3.5vw,32px);line-height:1.06}.details__title h2{font-size:clamp(28px,4vw,38px)}.details__scroll{padding:14px 24px 18px}}@media (width<=600px){.scene-column{scrollbar-width:none}.scene-column::-webkit-scrollbar{display:none}}@media (pointer:coarse){.dock-key{display:none}.details__scroll{-webkit-overflow-scrolling:touch}}@media (width<=299px){.control-dock:not(.control-dock--pass){grid-template-columns:repeat(4,44px);justify-content:center;gap:4px 8px;display:grid}.control-dock:not(.control-dock--pass) .selection-indicator{grid-area:1/1/auto/-1;max-width:100%}.control-dock--project .dock-button:last-child{grid-column:4}.control-dock--project .dock-button--pass{grid-column:1/3;width:auto}.control-dock--project .dock-button--icon:nth-of-type(2){grid-column:3}.details__scroll{padding-inline:16px}.details__title h2,.project-details__scroll .details__head h2{font-size:28px}}@media (height<=360px){.reader-overlay{overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#777267 transparent;border-radius:10px;display:block;overflow-y:auto}.details{grid-template-rows:auto auto auto;height:auto;min-height:100%;margin-inline:auto;overflow:visible}.details__chrome{z-index:2;background:var(--paper);border-radius:10px 10px 0 0;min-height:44px;position:sticky;top:0}.details__scroll{overflow:visible}.details__footer{border-radius:0 0 10px 10px}.project-details__scroll .details__head{grid-template-columns:minmax(0,1fr) clamp(56px,18vh,84px);align-items:center;gap:14px}.project-details__art{grid-area:1/2;width:100%}.project-details__scroll .details__head h2{grid-area:1/1}.details__title h2,.project-details__scroll .details__head h2{font-size:28px}}@media (width<=299px){.control-dock--read{grid-template-columns:repeat(3,44px)!important}}@media (width<=219px){.dock-key{display:none}.control-dock:not(.control-dock--pass){grid-template-columns:repeat(2,44px)}.control-dock--read{grid-template-columns:repeat(2,44px)!important}.control-dock--project .dock-button--pass,.control-dock--project .dock-button--icon:nth-of-type(2),.control-dock--project .dock-button:last-child{grid-column:auto;width:44px}.details__chrome,.details__footer{padding-inline:10px}.details__close span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.details__topline{gap:4px}.details__footer{flex-direction:column;align-items:stretch;gap:0;padding-block:6px 0}.details__footer>span{text-align:center}.details__scroll{padding-inline:12px}.details__title{gap:8px}.details__logo{width:30px;height:30px}.details__title h2,.project-details__scroll .details__head h2{font-size:24px}}@supports not selector(:has(*)){.scene-frame{overflow:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
