:root{--page: #fafaf8;--ink: #141414;--muted: #6b6b68}html,body{background:var(--page);height:100%;margin:0}body{color:var(--ink);font:15px/1.4 DM Sans,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.page{box-sizing:border-box;height:100%;padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:6px;display:flex}.title{letter-spacing:-.025em;margin:0;font:600 clamp(28px,4.2vh,40px) / 1.1 "DM Sans",sans-serif}.pond-frame{flex:auto;width:100%;min-height:240px;position:relative}#pond{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}.controls{align-items:center;gap:8px;display:flex}.sound{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#1414140d;border:1px solid #14141414;border-radius:999px;place-items:center;padding:0;transition:color .25s,background-color .2s;display:grid}.sound[hidden]{display:none}.sound[aria-pressed=false]{color:var(--muted)}.sound:hover{background:#14141414}.sound:focus-visible{outline-offset:1px;outline:2px solid #3b6e5c}.sound svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .45s cubic-bezier(.34,1.56,.64,1);transform:rotate(-4deg)}.sound:hover svg{transform:rotate(4deg) scale(1.08)}.sound:active svg{transition-duration:.1s;transform:rotate(-4deg) scale(.88)}.sound.pop svg{animation:.55s cubic-bezier(.34,1.56,.64,1) pop}.note{min-height:1.2em;color:var(--muted);margin:0;font-size:12px}.dock{flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;bottom:12px;left:12px}.notices{gap:8px;display:grid}.notices:empty{display:none}.notice{color:#eef6f7;background:#081e28b8;border-radius:10px;margin:0;padding:8px 12px}.fps{color:#d8f3e4;background:#00000073;border-radius:6px;padding:3px 7px;font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:8px;left:8px}.debug-overlay{width:100%;height:100%;position:absolute;inset:0}@media(prefers-reduced-motion:reduce){.sound svg,.sound.pop svg{transition:none;animation:none}}@font-face{font-family:DM Sans;src:url("./media/dm-sans-latin-YM277SJO.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}:root{color-scheme:dark;--pond-inset: 0px;--pond-edge-to-edge: 1;--pond-controls-inset: max(var(--pond-inset), env(safe-area-inset-bottom));background-color:#0e241b}html,body{background-color:#0e241b;margin:0;overscroll-behavior:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.quiet-button.feed-button[aria-pressed=true]{color:#655035;background:#eae4d8;box-shadow:inset 0 0 0 1px #9e845525}.feeding #pond{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='10' fill='none' stroke='%23fff' stroke-opacity='.8'/%3E%3Ccircle cx='12' cy='11' r='2' fill='%23d4b577'/%3E%3Ccircle cx='17' cy='15' r='2' fill='%23b98f53'/%3E%3Ccircle cx='11' cy='18' r='1.6' fill='%23c69e66'/%3E%3C/svg%3E") 14 14,crosshair}*{box-sizing:border-box}.page{position:relative;height:100vh;height:100dvh;padding:var(--pond-inset);gap:0;background-color:#0e241b}.pond-frame{min-height:100px;isolation:isolate;background-color:#0e241b}#pond{opacity:0;transition:opacity 1.1s ease;outline:none}[data-pond-ready=true] #pond{opacity:1}#pond:focus-visible{outline:1px dashed #638374;outline-offset:-24px;border-radius:52px}.controls{position:absolute;z-index:2;left:50%;translate:-50% 0;bottom:calc(var(--pond-controls-inset) + 46px);padding:4px;border-radius:999px;background:linear-gradient(160deg,#ffffff26,#ffffff08),#173e321a;border:1px solid #ffffff40;-webkit-backdrop-filter:blur(5px) saturate(1.12);backdrop-filter:blur(5px) saturate(1.12);box-shadow:inset 0 1px #ffffff26,0 4px 18px #082d2520;flex-shrink:0;gap:6px}.feed-tooltip{position:absolute;top:calc(100% + 8px);left:50%;translate:-50% 6px;display:flex;align-items:center;justify-content:center;background:#000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:none;border-radius:999px;padding:9px 18px;color:#fff;font-size:14px;font-weight:450;letter-spacing:.015em;white-space:nowrap;box-shadow:0 8px 24px #00000059;cursor:default;user-select:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s cubic-bezier(.16,1,.3,1),translate .45s cubic-bezier(.16,1,.3,1),visibility .45s;z-index:10}.feed-tooltip.is-visible{opacity:1;visibility:visible;pointer-events:none;translate:-50% 0}.feed-tooltip-arrow{position:absolute;bottom:100%;left:calc(50% + var(--feed-offset, 0px));translate:-50% 0;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #000000}.feed-tooltip-text{display:inline-block}.sound{width:44px;height:44px}.quiet-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:100%;color:#71756d;background:transparent;padding:0;cursor:pointer;flex-shrink:0;transition:background .2s,color .2s,opacity .2s}.quiet-button:hover{background:#14141408;color:#233e32}.quiet-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.34,1.56,.64,1);transform:rotate(-4deg)}.quiet-button:hover:not(:disabled) svg{transform:rotate(4deg) scale(1.08)}.quiet-button:active:not(:disabled) svg{transition-duration:.1s;transform:rotate(-4deg) scale(.88)}.quiet-button.pop svg{animation:.55s cubic-bezier(.34,1.56,.64,1) pop}.quiet-button:focus-visible{outline:2px solid #648573;outline-offset:1px}.quiet-button:disabled{opacity:.35;cursor:default}.quiet-button[aria-pressed=true]{color:#263d31;background:#14141408}.control-divider{width:1px;height:17px;margin:0 3px;background:#edf4e838}.controls .quiet-button,.controls .sound{color:#f0f3e9;background:transparent;border-color:transparent}.controls svg{filter:drop-shadow(0 1px 2px #123b32b3)}.controls .quiet-button:hover,.controls .sound:hover{background:#ffffff1c}.controls .quiet-button[aria-pressed=true],.controls .sound[aria-pressed=true]{background:#ffffff20;box-shadow:inset 0 0 0 1px #ffffff20}.controls .feed-button[aria-pressed=true]{color:#fff0cb;background:#e8cf8e33;box-shadow:inset 0 0 0 1px #f3dfab52}.controls button:focus-visible{outline-color:#f0f3e9}.note:empty{display:none}.note{position:absolute;left:20px;right:20px;bottom:calc(var(--pond-controls-inset) + 110px);pointer-events:none;font-size:11px;line-height:1.4;min-height:16px;color:#e8eddb;text-shadow:0 1px 5px #163c30;text-align:center;flex-shrink:0}.error-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(340px,85vw);text-align:center;padding:25px;background:#fafaf8;border:1px solid #e2e6dd;border-radius:24px;box-shadow:0 10px 40px #233e320a}.error-title{font:600 24px/1.2 DM Sans,sans-serif;letter-spacing:-.02em}.error-card p{color:#6b7568;font-size:13px;line-height:1.6}.error-card button{background:#e9ede4;border:0;border-radius:20px;padding:10px 18px;font:inherit;font-size:13px;color:#304b35;cursor:pointer}.noscript{position:fixed;inset:40% 10% auto;text-align:center;background:#fafaf8;padding:30px}@media(max-width:600px){.note{font-size:11px}}@media(max-width:380px){.controls{gap:3px}.quiet-button,.sound{width:38px;height:38px}}@media(max-height:430px)and (orientation:landscape){.note{display:none}}@keyframes pop{0%{transform:scale(.8)}45%{transform:scale(1.12)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){#pond,.quiet-button,.quiet-button svg,.quiet-button.pop svg,.feed-tooltip{transition:none;animation:none}}.page{width:100%}.work-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:72px 24px 28px;box-sizing:border-box;overflow:hidden;opacity:var(--scene-content, 1);transition:opacity .35s ease;pointer-events:none;width:100%}[data-pond-ready=true] .work-overlay{opacity:var(--scene-content, 1)}.work-header{text-align:center;margin-bottom:22px;flex-shrink:0;pointer-events:auto;width:100%}.work-heading{font:500 clamp(24px,3.2vw,38px)/1.15 "DM Sans",sans-serif;letter-spacing:-.025em;color:#fff;margin:0 0 6px;text-shadow:0 2px 20px rgba(10,40,30,.7)}.work-subheading{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#dcebd7d1;margin:0;text-shadow:0 1px 8px rgba(10,40,30,.5)}.work-tab-switcher{display:inline-flex;align-items:center;position:relative;margin:16px auto 0;padding:4px;background:#ffffff21;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.28);border-radius:9999px;box-shadow:0 4px 20px #0a261c29,inset 0 1px #ffffff40;pointer-events:auto;user-select:none}.work-tab{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border-radius:9999px;border:none;background:transparent;color:#e6f2e8c2;font:500 13px/1.2 DM Sans,sans-serif;letter-spacing:-.01em;cursor:pointer;transition:color .24s cubic-bezier(.16,1,.3,1),transform .18s ease;outline:none;-webkit-tap-highlight-color:transparent}.work-tab:hover{color:#fff}.work-tab:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}.work-tab.is-active{color:#142a1f;font-weight:600}.work-tab.is-disabled{cursor:default;opacity:.55;pointer-events:none}.tab-coming-soon{display:inline-flex;align-items:center;margin-left:6px;padding:2px 8px;border-radius:100px;font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:#ffffff2e;color:#ffffffd9;line-height:1.4;pointer-events:none}.work-tab.is-active .tab-coming-soon{background:#142a1f21;color:#142a1f}.tab-label{display:inline-block;pointer-events:none}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:100px;font-size:11px;font-weight:600;line-height:1;background:#ffffff2e;color:#ffffffd9;transition:background .24s ease,color .24s ease;pointer-events:none}.work-tab.is-active .tab-badge{background:#142a1f21;color:#142a1f}.work-tab-pill{position:absolute;top:4px;bottom:4px;left:0;z-index:1;background:linear-gradient(145deg,#fffffff5,#f6faf2eb);border-radius:9999px;box-shadow:0 2px 10px #0a261c33,0 1px 3px #0a261c14;pointer-events:none;transition:transform .3s cubic-bezier(.34,1.25,.64,1),width .3s cubic-bezier(.34,1.25,.64,1)}.carousel-shell{position:relative;width:100%;max-width:1280px;margin:0 auto;padding:0 48px;box-sizing:border-box;flex-shrink:0;pointer-events:auto;display:flex;align-items:center}.carousel-navigation{display:contents}.work-carousel{display:flex;gap:22px;width:100%;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 0 16px;cursor:grab}.work-carousel:active{cursor:grabbing}.work-carousel::-webkit-scrollbar{display:none}.work-carousel[hidden]{display:none!important}.work-carousel.is-entering{animation:workCarouselFadeIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes workCarouselFadeIn{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.project-card{flex:0 0 calc((100% - 2 * 22px) / 3);min-width:250px;box-sizing:border-box;scroll-snap-align:start;background:linear-gradient(145deg,#fffffce0,#f4f8f0d1);-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);border:1px solid rgba(255,255,255,.65);border-radius:26px;box-shadow:0 8px 30px #0a261c33,0 2px 6px #0a261c14,inset 0 1px #fffc;overflow:hidden;display:flex;flex-direction:column;user-select:none;transition:transform .25s ease,box-shadow .25s ease}.card-image-wrap{width:100%;overflow:hidden;border-radius:26px 26px 0 0;aspect-ratio:16 / 9;background:#c2cdb7;flex-shrink:0;position:relative}.card-image{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}.card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}.card-tag{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#3e6252;background:#3e62521a;border:1px solid rgba(62,98,82,.2);border-radius:100px;padding:3px 10px;line-height:1.5}.card-title{font:500 clamp(19px,1.4vw,22px)/1.2 "DM Sans",sans-serif;letter-spacing:-.025em;color:#172a20;margin:0}.card-desc{font-size:13px;line-height:1.6;color:#435649;margin:0 0 8px;min-height:42px}.card-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}.card-link{display:inline-flex;align-items:center;font-size:15px;font-weight:500;letter-spacing:.02em;padding:12px 24px;border-radius:100px;text-decoration:none;transition:all .18s ease;line-height:1}.card-link--view{background:#233c2e;color:#f1f7ec;box-shadow:0 2px 8px #122d2038;border:1px solid transparent}.card-link--view:hover{background:#182c21;color:#fff;box-shadow:0 4px 14px #122d2052;transform:translateY(-1px)}.card-link--download{background:#ffffffd9;color:#142a1f;border:1px solid rgba(28,53,39,.3);box-shadow:0 1px 4px #0a261c14}.card-link--download:hover{background:#fff;border-color:#1c352773;color:#0b1a13;transform:translateY(-1px)}.card-link:focus-visible{outline:2px solid #3e6252;outline-offset:2px}.carousel-arrow{position:absolute;top:50%;translate:0 -50%;z-index:10;width:40px;height:40px;border-radius:100%;border:1px solid rgba(255,255,255,.45);background:#ffffff38;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,opacity .2s ease,transform .2s ease;box-shadow:0 4px 16px #0a261c38;padding:0}.carousel-arrow:hover:not([disabled]){background:#ffffff5c}.carousel-arrow:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}.carousel-arrow[disabled]{opacity:.25;cursor:default;pointer-events:none}.carousel-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.34,1.56,.64,1);transform:rotate(-4deg)}.carousel-arrow:hover:not([disabled]) svg{transform:rotate(4deg) scale(1.08)}.carousel-arrow:active:not([disabled]) svg{transition-duration:.1s;transform:rotate(-4deg) scale(.88)}.carousel-arrow.pop svg{animation:.55s cubic-bezier(.34,1.56,.64,1) pop}.carousel-arrow--prev{left:2px}.carousel-arrow--next{right:2px}.carousel-dots{position:absolute;top:100%;left:0;display:flex;justify-content:center;gap:0;margin-top:0;pointer-events:auto;width:100%}.carousel-dot{width:36px;height:44px;display:grid;place-items:center;background:transparent;border:none;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease}.carousel-dot:before{content:"";width:5px;height:5px;border-radius:999px;background:#fff6;transition:width .25s ease,background .25s ease}.carousel-dot[aria-current=true]:before{width:16px;background:#f1f4e7}.carousel-dot:focus-visible{outline:1px solid #f1f4e7;outline-offset:-4px;border-radius:50%}@media(prefers-reduced-motion:reduce){.work-carousel{scroll-behavior:auto}.card-link,.carousel-arrow,.carousel-arrow svg,.carousel-arrow.pop svg,.carousel-dot,.project-card{transition:none;animation:none}}@media(max-width:1040px){.carousel-shell{max-width:860px;padding:0 44px}.project-card{flex:0 0 calc((100% - 20px)/2)}.work-carousel{gap:20px}}@media(max-width:620px),(max-width:960px)and (max-height:500px){.work-overlay{top:calc(80px + env(safe-area-inset-top));padding:12px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;pointer-events:auto}.work-overlay::-webkit-scrollbar{display:none}.work-header{margin-top:auto;margin-bottom:18px}.work-heading{font-size:28px;font-weight:400;margin-bottom:8px}.work-subheading{text-transform:none;letter-spacing:.025em;font-size:12px}.work-tab-switcher{margin-top:10px;padding:3px}.work-tab{padding:6px 16px;font-size:12px}.tab-badge{min-width:16px;height:16px;font-size:10px;padding:0 5px}.tab-coming-soon{font-size:8px;padding:1px 6px;margin-left:4px}.work-tab-pill{top:3px;bottom:3px}.carousel-shell{padding:0;max-width:380px;flex-direction:column;margin-bottom:auto}.work-carousel{gap:14px;padding:6px 0 12px;overscroll-behavior-x:contain}.project-card{flex:0 0 100%;min-width:0;border-radius:22px;box-shadow:inset 0 1px #fff9}.card-image-wrap{border-radius:22px 22px 0 0;aspect-ratio:900 / 474}.card-body{padding:18px 20px 20px;gap:8px}.card-title{font-size:23px}.card-desc{font-size:14px;line-height:1.55;min-height:0;margin-bottom:4px}.card-meta{gap:8px;margin:0 0 2px}.card-tag{padding:0;background:none;border:0;font-size:9px;letter-spacing:.09em}.card-tag+.card-tag:before{content:"\b7";margin-right:8px}.card-link{min-height:44px;padding:0 18px;font-size:13px}.carousel-navigation{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:4px;flex-shrink:0}.carousel-dots{position:static;width:auto;margin:0}.carousel-dot{width:44px}.carousel-arrow{position:static;translate:none;width:44px;height:44px;background:#ffffff12;box-shadow:none}}@media(max-width:960px)and (max-height:500px){.work-overlay{top:calc(62px + env(safe-area-inset-top))}.carousel-shell{max-width:620px}.project-card{flex-direction:row}.card-image-wrap{width:42%;aspect-ratio:auto;border-radius:0}.card-image{object-fit:contain}.card-body{min-width:0;padding:16px}.work-header{margin-bottom:12px}.work-heading{font-size:25px}}@media(prefers-reduced-motion:reduce){.carousel-dot:before{transition:none}}.card-link[aria-disabled=true]{opacity:.48;pointer-events:none;cursor:default;box-shadow:none}html[data-tod=night]{--theme-tod-ambient: #07131e}html[data-tod=night],html[data-tod=night] body,html[data-tod=night] .page,html[data-tod=night] .pond-frame{background-color:#07131e}html[data-tod=night] .project-card{background:linear-gradient(145deg,#10202cdb,#0a1620e0);border-color:#b4d7f038;box-shadow:0 12px 36px #030a128c,inset 0 1px #ffffff1a}html[data-tod=night] .card-title{color:#f0f7fb}html[data-tod=night] .card-desc{color:#d7ebf5d9}html[data-tod=night] .card-link--view{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.42);box-shadow:0 2px 8px #030a1280}html[data-tod=night] .card-link--view:hover{background:#ffffff47;border-color:#ffffffb3;box-shadow:0 4px 14px #030a12a6;transform:translateY(-1px)}html[data-tod=night] .card-link--download{background:#ffffff14;color:#e2f2fc;border:1px solid rgba(180,215,240,.32);box-shadow:0 1px 6px #030a1266}html[data-tod=night] .card-link--download:hover{background:#ffffff2e;border-color:#d2eeffa6;color:#fff;box-shadow:0 4px 14px #030a128c;transform:translateY(-1px)}html[data-tod=night] .work-heading{text-shadow:0 2px 24px rgba(4,15,25,.95)}html[data-tod=night] .work-subheading{color:#c8e1f0d9;text-shadow:0 1px 8px rgba(4,15,25,.8)}html[data-tod=night] .work-tab-switcher{background:#0e1c26ad;border-color:#b4d7f038;box-shadow:0 4px 20px #030a128c,inset 0 1px #ffffff1a}html[data-tod=night] .work-tab{color:#c8e1f0b8}html[data-tod=night] .work-tab:hover,html[data-tod=night] .work-tab.is-active{color:#fff}html[data-tod=night] .tab-badge,html[data-tod=night] .tab-coming-soon{background:#ffffff1f;color:#c8e1f0d9}html[data-tod=night] .work-tab.is-active .tab-badge{background:#ffffff3d;color:#fff}html[data-tod=night] .work-tab-pill{background:linear-gradient(145deg,#ffffff38,#ffffff24);border:1px solid rgba(255,255,255,.38);box-shadow:0 2px 12px #030a1273}html[data-tod=night] .work-atmosphere{background:radial-gradient(ellipse at 50% 40%,rgba(7,19,30,.92) 0%,rgba(7,19,30,.72) 35%,rgba(7,19,30,.35) 62%,transparent 82%)}html[data-tod=night] .contact-details{text-shadow:0 1px 12px rgba(4,15,25,.95)}html[data-tod=night] .contact-label{color:#b0cddb}html[data-tod=night] .contact-social-link{background:#ffffff0f;border-color:#b4d7f040;box-shadow:0 2px 10px #040f1980}:root{--scene-content: 1}.pond-frame{overflow:hidden}.controls{opacity:var(--scene-content)}.scene-navigation{position:absolute;z-index:4;top:32px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:32px;color:#eff2df;white-space:nowrap}.scene-navigation a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500;letter-spacing:.06em;color:#f5f8eeeb;text-decoration:none;text-shadow:0 1px 12px rgba(10,34,24,.85),0 2px 4px rgba(10,34,24,.9);transition:color .2s ease,text-shadow .2s ease}.scene-navigation a[aria-current]{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:8px;text-decoration-color:#dcebd7d9}.scene-navigation a:hover{color:#fff;text-shadow:0 1px 16px rgba(10,34,24,.95),0 0 14px rgba(255,255,255,.35)}.scene-navigation a:focus-visible{outline:1px solid #eef2d5;outline-offset:6px}.work-atmosphere{position:absolute;inset:34px;border-radius:40px;filter:blur(24px);pointer-events:none;z-index:1;opacity:0;background:radial-gradient(ellipse at 50% 40%,#183a2fe8 0%,#183a2fb8 35%,#183a2f55 62%,transparent 82%)}[data-scene=work] .work-atmosphere{opacity:0}[data-scene]:not([data-scene=home]) .controls{display:none}[data-journey=true] #pond{pointer-events:none}.about-scene{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--scene-content);color:#f0f1de;transition:opacity .35s ease}@media(max-width:600px){.scene-navigation{top:23px;gap:22px}}@media(max-height:500px)and (orientation:landscape){.scene-navigation{top:10px}}@media(max-width:600px),(max-width:960px)and (max-height:500px){.scene-navigation{top:calc(18px + env(safe-area-inset-top))}}@media(max-width:960px)and (max-height:500px){.scene-navigation{top:calc(10px + env(safe-area-inset-top))}}.contact-scene{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--scene-content);display:grid;place-items:center;transition:opacity .35s ease}.contact-details{text-align:center;width:min(520px,calc(100% - 48px));color:#edf1dc;text-shadow:0 1px 12px #173e32}.contact-label{display:block;font-size:13px;font-weight:500;letter-spacing:.12em;margin-bottom:8px;color:#dfe8d2}.contact-address{display:inline-block;padding:8px 0;font:400 clamp(23px,3.6vw,36px)/1.35 "DM Sans",sans-serif;letter-spacing:-.025em;overflow-wrap:anywhere}.contact-details a{color:inherit;text-decoration:none;pointer-events:auto}.contact-details a:hover{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.contact-details a:focus-visible{outline:1px solid #edf1dc;outline-offset:7px;border-radius:2px}[data-journey=true] .contact-details a{pointer-events:none}.contact-socials{margin-top:0;display:flex;justify-content:center;align-items:center;gap:14px}.contact-social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#edf1dc;background:#ffffff14;border:1px solid rgba(237,241,220,.25);box-shadow:0 2px 10px #173e3259;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;pointer-events:auto}.contact-social-link svg{width:20px;height:20px;fill:currentColor}.contact-details .contact-social-link:hover{color:#fff;background:#fff3;border-color:#fff9;transform:translateY(-2px) scale(1.08);text-decoration:none;box-shadow:0 4px 16px #173e3280}.contact-details .contact-social-link:active{transform:translateY(0) scale(.94)}.contact-details .contact-social-link:focus-visible{outline:2px solid #edf1dc;outline-offset:4px;border-radius:50%;text-decoration:none}@media(prefers-reduced-motion:reduce){.contact-social-link{transition:none}.contact-details .contact-social-link:hover{transform:none}}[data-submerged=true]{opacity:0}html[data-pond-bleed=true]{--pond-bleed: max(120px, calc(100lvh - 100svh) , env(safe-area-inset-top), env(safe-area-inset-bottom));height:auto;overflow:visible;scrollbar-width:none}[data-pond-bleed=true] body{height:auto;overflow:visible;padding-block:var(--pond-bleed)}[data-pond-bleed=true] .pond-frame{overflow:visible}[data-pond-bleed=true] #pond{top:calc(-1 * var(--pond-bleed));bottom:auto;height:calc(100% + 2 * var(--pond-bleed))}.development-ribbon{position:absolute;z-index:5;top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);padding:8px 18px 8px 24px;font:500 13px/1.25 DM Sans,sans-serif;letter-spacing:.045em;white-space:nowrap;color:#eceddb;background:#19352bc2;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8px 50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;user-select:none}@media(max-width:600px){.development-ribbon{padding:6px 14px 6px 18px;font-size:11px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,6px 50%)}}.contact-channel{display:flex;flex-direction:column;align-items:center;justify-content:center}.contact-email-wrapper{display:inline-flex;align-items:center;justify-content:center;gap:10px;position:relative}.contact-copy-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:transparent;border:none;box-shadow:none;color:#edf1dcb8;cursor:pointer;padding:0;pointer-events:auto;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s ease,color .2s ease}.contact-copy-button:hover{background:#ffffff1f;color:#fff;transform:scale(1.1)}.contact-copy-button:active{transform:scale(.92)}.contact-copy-button:focus-visible{outline:1px solid rgba(237,241,220,.6);outline-offset:3px}.contact-copy-button .check-icon{display:none;width:17px;height:17px;stroke:#c8ebd5}.contact-copy-button .copy-icon{width:17px;height:17px}.contact-copy-button.is-copied{color:#c8ebd5;background:#64b48233}.contact-copy-button.is-copied .copy-icon{display:none}.contact-copy-button.is-copied .check-icon{display:block}.contact-copy-toast{margin-top:10px;display:inline-flex;align-items:center;gap:7px;padding:7px 18px;border-radius:999px;background:#0e241be6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(200,235,215,.35);color:#eaf5eb;font-size:13px;font-weight:450;letter-spacing:.025em;box-shadow:0 8px 24px #040f1973;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),visibility .35s;pointer-events:none}.contact-copy-toast svg{flex-shrink:0;stroke:#a2ddb9}.contact-copy-toast.is-visible{opacity:1;visibility:visible;transform:translateY(0)}html[data-tod=night] .contact-copy-button{background:transparent;border:none;box-shadow:none;color:#dcf0ffbf}html[data-tod=night] .contact-copy-button:hover{background:#ffffff1f;color:#fff}html[data-tod=night] .contact-copy-toast{background:#07131ef0;border-color:#b4d7f059;color:#e2f0fb;box-shadow:0 8px 24px #02080e99}html[data-tod=night] .contact-copy-toast svg{stroke:#9ed4f0}.contact-divider{display:block;width:160px;max-width:75%;height:1px;margin:22px auto 20px;background:linear-gradient(90deg,transparent 0%,rgba(237,241,220,.28) 50%,transparent 100%);border:0;pointer-events:none}html[data-tod=night] .contact-divider{background:linear-gradient(90deg,transparent 0%,rgba(180,215,240,.25) 50%,transparent 100%)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 18px;color:#122e22;background:#fffdf5;border-radius:8px}.skip-link:focus{top:12px}.home-links{display:none}html:not([data-enhanced=true]),html:not([data-enhanced=true]) body{height:auto;min-height:100%;overflow:auto;background:#0e241b;color:#f5f5e9}html:not([data-enhanced=true]) .page{height:auto;min-height:100vh;display:block;padding:28px 24px 90px}html:not([data-enhanced=true]) .pond-frame{max-width:1080px;margin:auto;overflow:visible}html:not([data-enhanced=true]) :is(#pond,.work-atmosphere,.controls,#loading,.carousel-navigation,.work-tab-switcher,#copy-email,.contact-copy-toast,#note){display:none!important}html:not([data-enhanced=true]) .scene-navigation{position:static;transform:none;flex-wrap:wrap;gap:24px;margin:0 0 44px;white-space:normal}html:not([data-enhanced=true]) :is(#pond-introduction,.about-bio,#about-title,#contact-title){position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal}html:not([data-enhanced=true]) :is(#pond-introduction,.about-bio){max-width:660px;margin:60px auto 0;font-size:19px;line-height:1.7}html:not([data-enhanced=true]) :is(h1,.work-heading){color:#fffdf5;font-size:clamp(30px,6vw,48px);line-height:1.15;letter-spacing:-.035em}html:not([data-enhanced=true]) :is(.about-scene,.contact-scene,.work-overlay){position:static;display:block;padding:0;pointer-events:auto;opacity:1;overflow:visible}html:not([data-enhanced=true]) .about-tool{display:none}html:not([data-enhanced=true]) .home-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:32px}html:not([data-enhanced=true]) .home-links a{color:#fffdf5;text-underline-offset:5px}html:not([data-enhanced=true]) .experience-timeline{margin-top:40px}html:not([data-enhanced=true]) .experience-timeline ol{padding-left:24px}html:not([data-enhanced=true]) .experience-timeline li{margin-bottom:28px}html:not([data-enhanced=true]) .experience-timeline h3{margin:4px 0}html:not([data-enhanced=true]) .experience-timeline p{margin:0}html:not([data-enhanced=true]) .contact-scene{max-width:680px;margin:60px auto 0;text-align:center}html:not([data-enhanced=true]) .contact-details{width:100%;margin-top:40px}html:not([data-enhanced=true]) .carousel-shell{display:block;width:100%;max-width:none;padding:0}html:not([data-enhanced=true]) .work-carousel:not([hidden]){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px;overflow:visible;cursor:auto}html:not([data-enhanced=true]) .project-card{min-width:0;user-select:text}html:not([data-enhanced=true]) [data-submerged]{visibility:visible;opacity:1}html:not([data-enhanced=true]) .error-card{position:static;transform:none;width:auto;margin:32px auto}.noscript{position:static;max-width:660px;margin:0 auto 80px;padding:0 24px;color:#f5f5e9}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
