@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/dm-sans-300.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-sans-400.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/dm-sans-500.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/dm-sans-600.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/manrope-300.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/manrope-400.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/manrope-500.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/manrope-600.ttf) format("truetype")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/source-serif-4.woff2) format("woff2")}:root{color-scheme:dark;font-family:DM Sans,Arial,sans-serif;color:#f2eee7;background:#151512;font-synthesis:none;font-weight:400;--muted:#b6b1a7;--line:#ffffff25;--warm:#ead7ad}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;min-height:40px}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:1px solid var(--warm);outline-offset:6px}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.35}button:hover{color:#fff}[hidden]{display:none!important}#app{width:100%;height:100%;height:100dvh;position:relative;isolation:isolate}#scene{position:absolute;inset:0;z-index:-3;background:#181816}#scene canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene canvas:active{cursor:grabbing}.shade{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#090a0860,transparent 22%,transparent 52%,#080a0860 86%,#080a0890),linear-gradient(90deg,#080a0835,transparent 42%)}.site-header{position:absolute;left:3.6%;right:3.6%;top:4.3%;display:flex;align-items:flex-start;justify-content:space-between;gap:32px}.wordmark{font-family:Manrope,Arial,sans-serif;font-size:22px;letter-spacing:5px;font-weight:500;line-height:1}.wordmark>span{font-weight:300;margin-left:5px;color:#d2cbc0}.wordmark small{display:block;font-family:DM Sans,Arial,sans-serif;font-size:8px;letter-spacing:3px;margin-top:14px;color:#cac4b8;font-weight:400}.top-nav{display:flex;gap:29px;margin-top:-10px}.top-nav button{position:relative;font-size:12px;padding:9px 2px;color:#d7d1c7}.top-nav button.active{color:#fff}.nav-dot{width:3px;height:3px;border-radius:50%;background:var(--warm);display:block;position:absolute;bottom:0;left:50%}.intro{position:absolute;left:3.6%;bottom:17%;pointer-events:none;transition:opacity .6s,transform .6s}.overline{font-size:9px;letter-spacing:2px;font-weight:500;color:var(--muted);line-height:1.6}.intro .overline{display:flex;align-items:center;gap:12px;font-size:8px}.little-line{width:25px;height:1px;background:#cfbea280}.intro h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(34px,4.1vw,68px);font-weight:300;letter-spacing:-2.7px;line-height:1.16;margin:20px 0 14px;text-shadow:0 2px 30px #0003}.intro h1 em{font-weight:300;font-style:normal;color:#e4dfd4}.intro p{font-size:12px;letter-spacing:.2px;color:#bcb5a9;margin:0}.project-summary{position:absolute;right:3.6%;bottom:18%;text-align:right;transition:opacity .5s}.project-summary h2{font-family:Manrope,Arial,sans-serif;font-size:24px;letter-spacing:-.6px;font-weight:300;margin:9px 0 1px}.text-button{padding:0;font-size:11px;color:#d1c9bc;letter-spacing:.3px}.text-button span{margin-left:13px}.screen-play{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:9px;padding:8px;filter:drop-shadow(0 2px 8px #0007);transition:opacity .3s}.play-circle{width:43px;height:43px;border:1px solid #ffffffe0;border-radius:100%;display:grid;place-items:center;background:#12191915;transition:background .2s,transform .2s}.play-circle svg{display:block;width:19px;height:19px;stroke:none}.screen-play:hover .play-circle{background:#ffffff25;transform:scale(1.08)}.play-caption{font-size:7px;letter-spacing:2px}.screen-caption{position:absolute;display:flex;gap:15px;pointer-events:none;transform:translateY(-50%);white-space:nowrap;text-shadow:0 1px 8px #0008}.caption-index{font-size:8px;color:#c1b8a9;letter-spacing:1px;border-right:1px solid #d2c6ad65;padding-right:14px;padding-top:1px}.screen-caption div>span{display:block;font-size:10px;letter-spacing:2px}.screen-caption small{font-size:10px;color:#ccc4b6;display:block;margin-top:5px;letter-spacing:.2px}.bottom-bar{position:absolute;left:3.6%;right:3.6%;bottom:3.4%;display:grid;grid-template-columns:1fr minmax(320px,43%) 1fr;align-items:end;gap:35px}.room-tools{display:flex;gap:15px;align-items:center}.room-tools button{font-size:10px;color:#c9c3b9;padding:3px 0}.room-tools button>span{margin-left:10px}.room-tools button svg{width:16px;height:16px}.tool-divider{height:12px;width:1px;background:#ffffff30}.career-nav{display:grid;grid-template-columns:2fr 3fr 3fr;position:relative;padding-bottom:9px}.career-nav:after{content:"";height:1px;background:#d2c6ae45;position:absolute;bottom:0;left:0;right:0}.career-nav button{position:relative;display:flex;flex-direction:column;gap:7px;align-items:center;padding:5px 5px 14px;color:#b2ad9f;font-size:11px}.career-nav .years{font-size:7px;letter-spacing:1px;color:#8f8c82;transition:color .3s}.career-nav button[aria-pressed=true]{color:#fff}.career-nav button[aria-pressed=true] .years{color:#d3c8b4}.career-nav i{width:4px;height:4px;position:absolute;bottom:-11px;background:#8f897a;border-radius:50%;z-index:1}.career-nav button[aria-pressed=true] i{width:7px;height:7px;bottom:-12px;background:#ffe2a8;box-shadow:0 0 13px #ffd38460}.interaction-note{text-align:right;color:#aaa394;white-space:nowrap;padding-bottom:3px}.interaction-note>span{font-size:7px;letter-spacing:1.2px}.interaction-note small{display:block;font-size:8px;margin-top:8px;color:#817e75}.media-controls{position:absolute;left:50%;bottom:14%;transform:translate(-50%);width:min(710px,85%);display:flex;align-items:center;gap:16px;padding:13px 20px;background:#171915f0;border:1px solid #ffffff22;border-radius:4px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:5}.media-controls button{font-size:11px;white-space:nowrap;min-height:32px}.media-controls #media-time{font-size:10px;white-space:nowrap;color:#b9b4a9;font-variant-numeric:tabular-nums}.media-controls input{flex:1;min-width:35px;accent-color:var(--warm);height:2px}.media-divider{height:15px;width:1px;background:var(--line)}.media-controls small{position:absolute;top:100%;left:0;right:0;text-align:center;font-size:9px;color:#bbb2a2;padding-top:12px}.playing .intro,.playing .project-summary,.focused .intro{opacity:0;transform:translateY(8px);pointer-events:none}.playing .screen-caption{opacity:0}.loader{position:absolute;inset:0;z-index:20;background:#181917;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px;transition:opacity .6s}.loader.ready{opacity:0;pointer-events:none}.loader-mark{font-family:Manrope,Arial,sans-serif;letter-spacing:6px;font-size:22px}.loader-rule{width:170px;height:1px;background:#ffffff20;overflow:hidden}.loader-rule i{display:block;height:100%;background:#d3b680;width:30%;animation:loading 1.8s ease-in-out infinite}.loader #load-message{font-size:10px;color:#a9a293;letter-spacing:1px}@keyframes loading{0%{transform:translate(-120%)}to{transform:translate(450%)}}.scene-error{position:absolute;inset:0;z-index:21;background:#181917;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}.scene-error h2{font-weight:300;font-size:30px}.scene-error p{max-width:450px;font-size:13px;line-height:1.7;color:#bdb5a5}.scene-error button{border:1px solid var(--line);padding:8px 18px;margin:5px;font-size:12px}dialog{color:#eee8dc;background:#20211edb;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid #b0a58d40;max-width:560px;width:calc(100% - 48px);padding:30px 35px;box-shadow:0 30px 90px #0007;border-radius:2px;max-height:85dvh;overflow-y:auto}dialog::backdrop{background:#080b096a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:13px}.dialog-head button{font-size:26px;font-weight:300;width:40px;line-height:1}.dialog-content-label{font-size:10px;letter-spacing:1px;color:#b9a888;margin:25px 0 10px}dialog h2{font-family:Manrope,Arial,sans-serif;font-weight:300;letter-spacing:-1px;font-size:38px;margin:23px 0 8px}dialog p,dialog li{font-size:13px;line-height:1.8;color:#c5beb1}dialog ul{padding-left:17px}dialog .dialog-subtitle{font-size:11px;color:#a89d8a}dialog .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}dialog .tags span{border:1px solid #aa987440;padding:6px 10px;font-size:9px;color:#cec1ac}dialog .demo-note{font-size:10px;color:#968f80;border-top:1px solid var(--line);padding-top:16px;margin-top:26px}dialog .dialog-action{margin-top:20px;border:1px solid #bca57f70;padding:10px 16px;font-size:12px}.orientation-gate{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.noscript{position:fixed;inset:0;background:#181917;padding:30%;color:#eee}@media(max-height:600px)and (orientation:landscape){.site-header{top:5%;left:4%;right:4%}.wordmark{font-size:16px;letter-spacing:3px}.wordmark small{font-size:6px;letter-spacing:1.5px;margin-top:9px}.top-nav{gap:20px;margin-top:-9px}.top-nav button{font-size:10px}.intro{bottom:22%;left:4%}.intro .overline{font-size:6px}.intro h1{font-size:30px;letter-spacing:-1.3px;margin:10px 0 8px}.intro p{font-size:9px}.project-summary{bottom:23%;right:4%}.project-summary h2{font-size:20px}.project-summary .overline{font-size:7px}.text-button{font-size:9px;min-height:32px}.bottom-bar{bottom:5%;left:4%;right:4%;gap:20px;grid-template-columns:1fr minmax(270px,48%) 1fr}.career-nav button{font-size:9px;gap:4px;padding-bottom:10px}.career-nav .years{font-size:6px}.room-tools{gap:12px}.room-tools button{font-size:9px}.interaction-note>span{font-size:6px;letter-spacing:.5px}.interaction-note small{font-size:7px}.screen-caption small{font-size:8px}.screen-caption div>span{font-size:8px;letter-spacing:1px}.caption-index{font-size:6px;letter-spacing:0;padding-right:8px}.screen-caption{gap:8px}.play-circle{width:32px;height:32px}.play-circle svg{width:14px;height:14px}.play-caption{font-size:6px;letter-spacing:1px}.screen-play{gap:5px}.media-controls{bottom:22%;padding:5px 12px;gap:12px}.media-controls small{font-size:7px;padding-top:7px}dialog{padding:17px 25px;max-width:650px;max-height:82dvh}dialog h2{font-size:27px;margin-top:15px}dialog p,dialog li{font-size:11px}.dialog-head{padding-bottom:3px}}@media(max-width:950px)and (orientation:landscape){.interaction-note>span{display:none}.interaction-note small{max-width:90px;white-space:normal;line-height:1.5}.intro h1{font-size:clamp(28px,3.8vw,40px)}}@media(max-height:600px)and (orientation:landscape){.intro{bottom:20%}.intro h1{font-size:28px;margin:0}.intro .overline,.intro p,.project-summary .overline{display:none}.project-summary{bottom:20%}.screen-caption small{font-size:9px}.screen-caption{background:#18191690;padding:5px 7px}.screen-caption .caption-index{display:none}}.site-header,.bottom-bar{left:max(3.6%,calc(env(safe-area-inset-left) + 12px));right:max(3.6%,calc(env(safe-area-inset-right) + 12px))}.intro{left:max(3.6%,calc(env(safe-area-inset-left) + 12px))}.project-summary{right:max(3.6%,calc(env(safe-area-inset-right) + 12px))}.bottom-bar{bottom:max(3.4%,calc(env(safe-area-inset-bottom) + 10px))}@media(pointer:coarse){button,.media-controls button{min-height:44px}}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation:none!important;transition:none!important}@media(min-height:601px){.intro h1{font-size:clamp(34px,3.2vw,54px);letter-spacing:-1.9px}.intro .overline{display:none}.intro{bottom:18%}.intro p{font-size:11px;color:#aaa69c}.screen-caption div>span{font-size:11px}.screen-caption small{font-size:11px}.caption-index{padding-top:2px}.project-summary .overline{font-size:8px;letter-spacing:1.5px}}.browsing .intro{opacity:0;transform:translateY(8px);pointer-events:none}:root{--warm:#ffe3b7}.shade{background:linear-gradient(180deg,#090a0818,transparent 24%,transparent 52%,#080a0826 86%,#080a0855),linear-gradient(90deg,#080a081a,transparent 42%)}.career-nav{isolation:isolate}.career-nav:after{background:linear-gradient(90deg,#e6d0aa20,#f7deb273 30%,#f7deb28c 65%,#e6d0aa20);box-shadow:0 0 7px #f6cf7d1c}.career-nav button{color:#dad3c7;font-size:12px;text-shadow:0 1px 5px #0008}.career-nav button[aria-pressed=true]{color:#fff3de;text-shadow:0 0 9px #ffe2af40}.career-nav button[aria-pressed=true] .years{color:#ded0b8}.career-nav button[aria-pressed=true] i{width:10px;height:10px;bottom:-13px;background:#ffedca;box-shadow:0 0 3px #fff5dc,0 0 12px 3px #ffd99170,0 0 32px 10px #f4c16c24}.career-nav button[aria-pressed=true] i:before{content:"";position:absolute;left:50%;top:50%;width:110px;height:50px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffe1ad16,transparent 70%);pointer-events:none}.screen-caption{color:#f2e6d0;text-shadow:0 0 9px #edc3881c,0 1px 6px #0007}.screen-caption small{color:#d5c7af}@media(max-height:600px)and (orientation:landscape){.career-nav button{font-size:10px}.career-nav button[aria-pressed=true] i{width:8px;height:8px;bottom:-12px}}dialog .page-links{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:10px}dialog .page-links a{display:block;border:1px solid #aa987440;padding:8px 12px;font-size:11px;color:#ded3c0}dialog .page-links a:hover{color:#fff}#info-dialog{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:0;background:linear-gradient(125deg,#25241ffb,#151815fc);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow-y:auto;overscroll-behavior:contain;opacity:0;transition:opacity .42s ease;box-shadow:none}#info-dialog.visible{opacity:1}#info-dialog::backdrop{background:#080b09;opacity:0;transition:opacity .42s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#info-dialog.visible::backdrop{opacity:.6}.page-shell{width:min(1200px,90%);margin:auto;padding:36px 0 65px;transform:translateY(14px);transition:transform .55s ease}.visible .page-shell{transform:translateY(0)}:root{--font-display:"Source Serif 4",Georgia,serif;--font-text:"Source Serif 4",Georgia,serif}#info-dialog{font-family:var(--font-text);--read-text:#e6dfd3;--read-muted:#bcb09b;--read-accent:#d6be93;--read-rule:#ffffff1c}#info-dialog .dialog-head{padding-bottom:23px;align-items:center}#info-dialog .dialog-head button{width:auto;font-size:14px;display:flex;align-items:center;gap:20px;color:#e9dcc6}#info-dialog .dialog-head button span{font-size:25px;font-weight:300}#info-dialog .overline{font-size:12px;letter-spacing:.1em;font-weight:500;color:var(--read-accent)}.case-hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:65px;padding:60px 0 48px}#info-dialog h2{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,4.4vw,64px);letter-spacing:-.02em;line-height:1.08;margin:14px 0 22px}#info-dialog .case-intro{font-size:19px;line-height:1.55;max-width:30em;color:var(--read-text);margin-bottom:26px}.case-art{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid #d6c3a52b;border-radius:3px}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:0;padding:26px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-facts dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--read-muted);margin-bottom:8px}.case-facts dd{font-size:16px;color:#eee4d3;margin:0;line-height:1.5}.case-contributions{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr);gap:60px;padding:52px 0 25px}#info-dialog .case-contributions ol{list-style:none;margin:0;padding:0}.case-contributions li{display:flex;gap:24px;border-bottom:1px solid var(--read-rule);padding:18px 0}.case-contributions li:first-child{padding-top:0}.case-contributions li>span{color:var(--read-accent);font-size:13px;padding-top:4px;font-variant-numeric:tabular-nums}#info-dialog .case-contributions li p{margin:0;font-size:17px;line-height:1.6;max-width:36em;color:var(--read-text)}#info-dialog .tags{gap:8px;margin-top:16px}#info-dialog .tags span{font-size:12px;padding:5px 10px;color:#d6cab6}#info-dialog .dialog-action,#info-dialog .page-links a{font-size:14px;padding:10px 16px}#info-dialog .text-page{max-width:720px;padding:80px 0 50px}#info-dialog[data-page=resume] .text-page{max-width:900px}#info-dialog .text-page>p{font-size:19px;line-height:1.6;max-width:34em;margin:0 0 1.1em;color:var(--read-text)}#info-dialog .demo-note{max-width:44em;font-size:13px;line-height:1.5;color:var(--read-muted)}.resume-section{padding-top:32px;margin-top:32px;border-top:1px solid var(--line)}.resume-section h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--read-accent);margin:0 0 26px}.resume-entry{display:grid;grid-template-columns:210px minmax(0,1fr);align-content:start;gap:0 40px;margin-bottom:30px}.resume-entry h4{grid-column:1;font-family:var(--font-display);font-size:19px;font-weight:500;line-height:1.3;margin:0 0 6px}#info-dialog .resume-subtitle{grid-column:1;color:var(--read-muted);font-size:14px;line-height:1.45;margin:0}#info-dialog .resume-entry ul{grid-column:2;grid-row:1/span 3;padding-left:18px;margin:0}#info-dialog .resume-entry li{font-size:16px;line-height:1.55;margin-bottom:8px;max-width:36em;color:var(--read-text)}@media(max-height:600px)and (orientation:landscape){.top-nav{gap:14px}.resume-entry h4{font-size:19px}#info-dialog .resume-entry li{font-size:12px}}.career-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(105px,1fr);min-width:0;overflow-x:auto;overflow-y:hidden;padding:10px 4px 8px;scrollbar-width:thin;scrollbar-color:#e6d0aa35 transparent;overscroll-behavior-x:contain}.career-nav:after{display:none}.career-nav button{display:grid;grid-template-rows:18px 18px 14px;gap:0;padding:0 5px 4px;justify-items:center;align-items:center;color:#c7c1b6}.career-nav .timeline-label{grid-row:1}.career-nav .years{grid-row:3;font-size:9px;letter-spacing:.6px;font-variant-numeric:tabular-nums;color:#a59e91;white-space:nowrap}.career-nav i{left:50%;top:26px;bottom:auto;transform:translate(-50%,-50%);width:3px;height:3px;background:#c6b69740}.career-nav button:before{content:"";position:absolute;left:0;right:0;top:26px;height:1px;background:#e6d0aa0a;pointer-events:none}.career-nav button:after{content:"";position:absolute;left:50%;top:26px;transform:translate(-50%);width:90%;height:1px;background:linear-gradient(90deg,transparent,#ffe4b7b0 40%,#ffe4b7b0 60%,transparent);box-shadow:0 0 8px #f6cf7d38;opacity:0;transition:opacity .45s ease;pointer-events:none}.career-nav button[aria-pressed=true]:after{opacity:1}.career-nav button[aria-pressed=true] i{top:26px;bottom:auto;width:7px;height:7px;box-shadow:0 0 3px #fff5dc,0 0 12px 3px #ffd99160,0 0 28px 8px #f4c16c1c}.career-nav button[aria-pressed=true] .years{color:#ebdcc0}@media(max-height:600px)and (orientation:landscape){.career-nav button{font-size:10px}.career-nav .years{font-size:8px}.career-nav button[aria-pressed=true] i{width:6px;height:6px}}.contributions-cta{position:absolute;left:50%;bottom:5.8%;transform:translate(-50%);z-index:6;border:1px solid #e8ca9180;border-radius:3px;padding:11px 24px;background:#24241df2;color:#ffedcd;font-size:12px;letter-spacing:.4px;box-shadow:0 0 25px #efd08d13;animation:contribution-glow 4s ease-in-out infinite}.contributions-cta span{margin-left:25px}.contributions-cta:hover{background:#383326;border-color:#ffe0a9}.playing .bottom-bar{opacity:0;pointer-events:none}.bottom-bar{transition:opacity .4s ease}#media-note{top:auto;bottom:100%;padding:0 0 9px}@keyframes contribution-glow{0%,to{box-shadow:0 0 20px #efd08d10;border-color:#e8ca9165}50%{box-shadow:0 0 30px #efd08d28;border-color:#ffe0a9a0}}@media(max-height:600px)and (orientation:landscape){.page-shell{padding-top:15px;width:90%}.case-hero{padding:25px 0;gap:25px}#info-dialog h2{font-size:40px;margin:12px 0 15px}#info-dialog .case-intro{font-size:12px}.case-facts{padding:17px 0;gap:15px}.case-facts dd{font-size:11px}.case-contributions{padding-top:28px;gap:28px}.case-contributions h3{font-size:22px}#info-dialog .case-contributions li p{font-size:12px}.contributions-cta{bottom:4%;padding:5px 18px;min-height:34px;font-size:10px}.media-controls{bottom:17%}#info-dialog .text-page{padding-top:25px}#info-dialog .text-page>p{font-size:14px}}@media(max-width:600px){.case-hero,.case-contributions{grid-template-columns:1fr;gap:25px}.case-facts{grid-template-columns:1fr 1fr}#info-dialog h2{font-size:44px}.page-shell{width:88%;padding-top:22px}.case-hero{padding:35px 0}#info-dialog .text-page{padding-top:40px}}.profile-photo{display:block;object-fit:cover;border-radius:50%;border:1px solid #e4d2ae45;box-shadow:0 2px 12px #0003;flex:none}.wordmark{display:flex;align-items:center;gap:14px}.wordmark>.wordmark-copy{margin:0;font-weight:500;color:inherit}.wordmark-copy>span{font-weight:300;margin-left:5px;color:#d2cbc0}.header-photo{width:42px;height:42px}.loader-photo{width:76px;height:76px;margin-bottom:2px}@media(max-height:600px)and (orientation:landscape){.wordmark{gap:10px}.header-photo{width:32px;height:32px}.loader-photo{width:60px;height:60px}}.phone-only{display:none}#trailer{position:absolute;left:0;top:0;width:320px;max-width:100%;height:180px;z-index:-4;opacity:.01;pointer-events:none;object-fit:cover}.autoplay-blocked #scene{pointer-events:none}.autoplay-blocked #yt-layer{pointer-events:auto!important}#yt-layer.yt-phone-projection>div>div{transform:none!important;transform-style:flat!important}#yt-layer.yt-phone-projection>div>div>div{transform:var(--yt-phone-transform)!important;transform-origin:0 0!important}@media(max-width:600px)and (orientation:portrait){#app{--phone-scene-height:60%;background:#151613}#scene{height:var(--phone-scene-height);bottom:auto}.shade{background:linear-gradient(180deg,#090a0845,transparent 18%,transparent 43%,#151613 61%);pointer-events:none}.phone-only{display:block}.site-header{left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));top:max(20px,calc(env(safe-area-inset-top) + 12px));align-items:center;gap:12px;z-index:8}.wordmark{gap:10px;font-size:18px;letter-spacing:3px}.header-photo{width:36px;height:36px}.wordmark small{font-size:6px;letter-spacing:1px;margin-top:9px;max-width:215px}#phone-menu-button{font-size:13px;min-width:52px;min-height:44px;padding:0 0 0 8px;color:#eee4d3}.top-nav{position:absolute;right:0;top:58px;display:none;flex-direction:column;gap:0;margin:0;min-width:170px;padding:8px 16px;background:#1c1e19f5;border:1px solid #d4bc8a35;border-radius:6px;box-shadow:0 12px 30px #0004;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.phone-menu-open .top-nav{display:flex}.top-nav button{min-height:44px;text-align:left;font-size:14px;padding:10px 4px}.top-nav .nav-dot{display:none}.intro,.project-summary,.screen-caption,.screen-play{display:none!important}.phone-project{position:absolute;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));top:var(--phone-scene-height);bottom:calc(110px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:8px 0 12px}#phone-company{font-size:11px;color:#d5c6ac;letter-spacing:1.3px;text-transform:uppercase;line-height:1.5}.phone-project h2{font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:300;letter-spacing:-1px;line-height:1.2;margin:7px 0 8px;overflow-wrap:anywhere}.phone-project p{font-size:14px;line-height:1.5;margin:0;color:#eee5d6}.phone-project #phone-years{font-size:12px;color:#bfb4a1;margin-top:3px;font-variant-numeric:tabular-nums}.phone-actions{display:flex;gap:10px;margin-top:17px;flex-wrap:wrap}.phone-actions button{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:1;min-width:130px;min-height:46px;padding:11px 12px;border:1px solid #d7bc8540;border-radius:4px;background:#d2b37308;font-size:12px;white-space:nowrap}#phone-details{border-color:#e6c68775;color:#ffedcd;background:#d2b37312}.phone-actions button:hover{border-color:#eed7ad}.bottom-bar{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;gap:7px}.room-tools,.interaction-note{display:none}.career-nav{grid-auto-columns:126px;padding:10px 2px 8px;scrollbar-width:none;touch-action:pan-x}.career-nav button{font-size:11px;min-height:54px;grid-template-rows:18px 18px 14px}.career-nav .years{font-size:9px}.phone-hint{text-align:center;font-size:10px;line-height:1.5;color:#9d9382;letter-spacing:.1px}.playing .phone-project,.playing .bottom-bar{display:none}.media-controls{left:24px;right:24px;top:calc(var(--phone-scene-height) + 10px);bottom:auto;transform:none;width:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 14px;border-radius:6px;background:#1a1c17f5}.media-controls .media-divider{display:none}.media-controls #media-time{grid-row:1;grid-column:1 / -1;font-size:12px;color:#d4c9b6}.media-controls #media-seek{grid-row:2;grid-column:1 / -1;width:100%;height:32px;margin:0;min-height:32px}.media-controls button{grid-row:3;min-height:44px;font-size:13px;padding:0}#media-note{position:static;grid-row:4;grid-column:1 / -1;font-size:10px;text-align:left;line-height:1.5;padding:0;color:#afa38d}.contributions-cta{left:24px;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));transform:none;font-size:13px;min-height:48px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}#info-dialog .page-shell{width:auto;margin:0;padding:calc(16px + env(safe-area-inset-top)) 24px calc(36px + env(safe-area-inset-bottom))}#info-dialog .dialog-head{position:sticky;top:0;background:#20221df7;z-index:1;margin:-16px -24px 0;padding:12px 24px;border-bottom:1px solid #ffffff18}#info-dialog .dialog-head button{font-size:14px;gap:12px;min-height:44px}#info-dialog h2{font-size:36px;letter-spacing:-1.4px;overflow-wrap:anywhere}#info-dialog .case-hero{padding:30px 0;gap:24px;grid-template-columns:1fr}#info-dialog .case-intro,#info-dialog .text-page>p,#info-dialog .case-contributions li p{font-size:16px;line-height:1.55}#info-dialog .case-facts{grid-template-columns:1fr 1fr;gap:24px 18px;padding:24px 0}#info-dialog .case-facts dd{font-size:15px}#info-dialog .case-contributions{grid-template-columns:1fr;gap:20px;padding-top:30px}#info-dialog .case-contributions li{gap:16px}#info-dialog .text-page{padding:32px 0 0}#info-dialog .resume-entry h4{font-size:22px}#info-dialog .resume-entry li{font-size:15px}}@media(max-width:600px)and (orientation:portrait)and (max-height:740px){#app{--phone-scene-height:55%}.phone-project h2{font-size:26px;margin:5px 0}.phone-actions{margin-top:10px}.phone-project{padding-top:3px;bottom:calc(102px + env(safe-area-inset-bottom))}.bottom-bar{gap:3px;bottom:calc(8px + env(safe-area-inset-bottom))}}@media(max-width:600px)and (orientation:portrait)and (max-height:650px){.phone-project{padding:0}#phone-company{font-size:10px;letter-spacing:1px}.phone-project h2{font-size:24px;margin:4px 0}.phone-project p{font-size:13px;line-height:1.4}.phone-project #phone-years{font-size:11px;margin-top:2px}.phone-actions{margin-top:8px}.phone-actions button{min-width:120px;min-height:44px;font-size:11px;padding:10px}.media-controls{padding:10px 12px;gap:4px}.contributions-cta{bottom:calc(16px + env(safe-area-inset-bottom))}}.case-hero-text{grid-template-columns:1fr;max-width:720px}.case-highlights{list-style:none;margin:0;padding:30px 0 33px;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:28px;border-bottom:1px solid var(--line)}.case-highlights strong{display:block;font-family:var(--font-display);font-weight:400;font-size:28px;letter-spacing:-.01em;color:#f2ead9}.case-highlights span{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--read-muted);margin-top:8px}@media(max-height:600px)and (orientation:landscape){.case-highlights{padding:16px 0 18px;gap:16px}.case-highlights strong{font-size:17px}}@media(max-width:700px){.case-highlights{grid-template-columns:1fr 1fr;gap:18px}.case-highlights strong{font-size:19px}}@media(max-width:600px){#info-dialog h2{font-size:38px;letter-spacing:-.015em}#info-dialog .case-intro,#info-dialog .text-page>p{font-size:17px}#info-dialog .case-contributions li p,#info-dialog .resume-entry li{font-size:16px}.case-facts dd{font-size:15px}.case-contributions{grid-template-columns:1fr;gap:22px}.resume-entry{grid-template-columns:1fr}#info-dialog .resume-entry ul{grid-column:1;grid-row:auto;margin-top:12px}}@media(max-height:600px)and (orientation:landscape){#info-dialog h2{font-size:34px}#info-dialog .case-intro,#info-dialog .text-page>p{font-size:15px;line-height:1.55}#info-dialog .case-contributions li p,#info-dialog .resume-entry li{font-size:15px}.case-facts dd{font-size:14px}#info-dialog .overline,.case-facts dt,.resume-section h3,.case-highlights span{font-size:11px}}#info-dialog p,#info-dialog li{text-wrap:pretty}#info-dialog h2,#info-dialog h4{text-wrap:balance}#info-dialog .text-page>p.lead{font-size:21px;line-height:1.5;color:#f1eadd}#info-dialog .page-highlights{margin:4px 0 34px;padding-top:26px;border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}@media(max-width:600px){#info-dialog .text-page>p.lead{font-size:18px}}.screen-play.centered{padding:0;filter:none}.screen-play.centered .play-circle{width:116px;height:116px;border:2px solid #fffffff2;background:#0a0c0bad;transition:background .2s,border-color .2s}.screen-play.centered .play-circle svg{width:46px;height:46px}.screen-play.centered .play-caption{position:absolute;top:100%;left:50%;translate:-50% 0;margin-top:16px;white-space:nowrap;font-size:14px;font-weight:600;letter-spacing:.18em;color:#fff;background:#0a0c0bd6;padding:9px 18px;border-radius:999px}@media(max-height:600px)and (orientation:landscape){.screen-play.centered .play-circle{width:72px;height:72px}.screen-play.centered .play-circle svg{width:28px;height:28px}.screen-play.centered .play-caption{font-size:11px;margin-top:10px;padding:6px 12px}}.screen-play.centered .play-circle{animation:play-in .55s cubic-bezier(.2,.8,.2,1) .35s both}.screen-play.centered .play-caption{animation:caption-in .45s ease-out .55s both}@keyframes play-in{0%{opacity:0;scale:.8}to{opacity:1;scale:1}}@keyframes caption-in{0%{opacity:0;translate:-50% 6px}to{opacity:1;translate:-50% 0}}html[data-motion=reduce] .screen-play.centered .play-circle,html[data-motion=reduce] .screen-play.centered .play-caption{animation:none}.screen-info{position:absolute;left:0;top:0;padding:0;min-height:0}.info-label{display:block;white-space:nowrap;font-size:14px;font-weight:600;letter-spacing:.18em;color:#fff;background:#0a0c0bd6;border:1px solid #ffffff4d;padding:13px 24px;border-radius:999px;transition:background .2s,border-color .2s;animation:info-in .5s ease-out .35s both}.info-label>span{margin-left:8px}.screen-info:hover .info-label,.screen-info:focus-visible .info-label{background:#0a0c0bf2;border-color:#fff}@keyframes info-in{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}html[data-motion=reduce] .info-label{animation:none}@media(max-height:600px)and (orientation:landscape){.info-label{font-size:11px;padding:8px 14px}}.media-controls #media-volume{flex:0 0 84px;min-width:0}@media(pointer:coarse){.media-controls #media-volume{display:none}}#info-dialog .page-highlights strong{font-size:26px}#info-dialog .page-highlights span{text-transform:none;letter-spacing:0;font-size:14px;line-height:1.45;color:var(--read-text);margin-top:8px}@media(max-width:700px){#info-dialog .page-highlights strong{font-size:22px}}
