@font-face{font-family:F\.;src:url(/fonts/781bc78d102a85d51a4e41734c2fe072.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Architekt;src:url(/fonts/781bc78d102a85d51a4e41734c2fe072.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neco;src:url(/fonts/Neco-Variable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--color-bg:#f4ecde;--color-text:#372e28;--color-text-muted:#6a6056;--color-accent:#9b5033;--navbar-height:52px;--color-border:#c9beb2;--color-focus:#c98a34;--font-body:"Architekt","F.",Georgia,serif;--font-title:"Neco",Georgia,serif;--size-title:28px;--size-body:17px;--line-height-body:1.7;--line-height-title:1.2;--max-width:1120px;--drawer-width:calc(var(--max-width) / 2);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-padding-top:80px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body,html{overscroll-behavior:none}body{font-family:var(--font-body);font-size:var(--size-body);line-height:var(--line-height-body);background-color:var(--color-bg);background-image:linear-gradient(180deg,rgba(201,138,52,.05),rgba(163,91,60,.025)),linear-gradient(45deg,rgba(26,26,26,.042) 25%,transparent 0,transparent 75%,rgba(26,26,26,.042) 0),linear-gradient(45deg,rgba(26,26,26,.042) 25%,transparent 0,transparent 75%,rgba(26,26,26,.042) 0);background-size:100% 100%,4px 4px,4px 4px;background-position:0 0,0 0,2px 2px;width:100%;max-width:100vw;overflow-x:hidden;overflow-x:clip;height:100%}a,body{color:var(--color-text)}a{text-decoration-thickness:1px;text-underline-offset:3px;transition:opacity .2s ease}a:hover{opacity:.6}html{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:999px;border:2px solid var(--color-bg)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-accent)}::-webkit-scrollbar-corner{background:var(--color-bg)}body.night-mode{scrollbar-color:hsla(0,0%,78%,.35) #1a1a1a}body.night-mode::-webkit-scrollbar-track{background:#1a1a1a}body.night-mode::-webkit-scrollbar-thumb{background-color:hsla(0,0%,78%,.35);border-color:#1a1a1a}body.night-mode::-webkit-scrollbar-thumb:hover{background-color:#f0a860}::selection{background:var(--color-accent);color:var(--color-bg)}.skip-link{position:fixed;top:-100%;left:1rem;z-index:9999;background:var(--color-text);color:var(--color-bg);padding:.75rem 1.25rem;font-family:var(--font-body);font-size:13px;text-decoration:none;opacity:1;transition:top .2s ease}.skip-link:focus{top:.75rem;opacity:1;outline:2px solid var(--color-focus);outline-offset:2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.navbar{position:fixed;top:0;left:0;width:100%;z-index:500;display:flex;flex-direction:column;transition:transform .35s var(--ease-out-expo);transform:none}.landing-announcement-shell{position:fixed;top:calc(var(--navbar-height) + .35rem);left:0;width:100%;z-index:4;pointer-events:none;opacity:1;transform:translateY(0);transition:opacity .45s ease,transform .45s ease}.landing-announcement-shell.landing-announcement-hidden{opacity:0;transform:translateY(-10px)}.site-banner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.65rem;overflow:hidden;background:hsla(38,50%,91%,.96);border-bottom:1px dashed hsla(34,16%,64%,.68);pointer-events:auto}.site-banner-inner{max-width:var(--max-width);flex:1;margin:0 auto;min-height:34px;padding:.55rem 1.5rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center}.site-banner-copy{font-family:var(--font-body);font-size:11px;line-height:1.45;letter-spacing:.04em}.site-banner-link{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;overflow-wrap:anywhere;font-weight:600}.site-banner-link:focus-visible,.site-banner-link:hover{opacity:1}.site-banner-close{flex-shrink:0;width:34px;height:34px;margin-right:1rem;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-body);font-size:18px;line-height:1;cursor:pointer;transition:color .2s ease,opacity .2s ease}.site-banner-close:focus-visible,.site-banner-close:hover{color:var(--color-accent);opacity:1}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-banner{background:hsla(38,50%,91%,.96)}}.navbar.navbar-hidden{transform:translateY(-100%)}.navbar-bar{position:relative;z-index:2;isolation:isolate;overflow:hidden;background:hsla(38,50%,91%,.24);border-bottom:1px solid hsla(34,16%,64%,.55);box-shadow:inset 0 1px 0 rgba(255,252,246,.72),0 6px 18px rgba(65,44,30,.07)}.navbar-bar:before{background:linear-gradient(180deg,rgba(201,138,52,.08),rgba(155,80,51,.04)),hsla(38,50%,91%,.72);backdrop-filter:blur(42px) saturate(180%) brightness(1.04);-webkit-backdrop-filter:blur(42px) saturate(180%) brightness(1.04);z-index:0}.navbar-bar:after,.navbar-bar:before{content:"";position:absolute;inset:0;pointer-events:none}.navbar-bar:after{background-image:radial-gradient(circle at 1px 1px,rgba(82,62,44,.15) .95px,transparent 1px);background-size:4px 4px;mix-blend-mode:multiply;opacity:.34;z-index:1}.navbar-feather{height:0;overflow:visible;position:relative;z-index:1;transform:translateZ(0)}.navbar-feather-inner{height:28px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(180deg,#000 0,transparent);mask-image:linear-gradient(180deg,#000 0,transparent);transform:translateZ(0);pointer-events:none}.scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:rgba(64,45,32,.12);overflow:hidden}.scroll-progress-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#9b5033,#c98a34);transition:transform .15s ease;will-change:transform}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.navbar-bar{background:hsla(38,50%,91%,.97)}.navbar-bar:before{display:none}}.navbar-inner{max-width:var(--max-width);margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.navbar-name{font-family:var(--font-title);font-size:18px;font-weight:500;color:var(--color-text);text-decoration:none;letter-spacing:-.02em}.navbar-name:hover{opacity:.6}.navbar-links{display:flex;gap:.35rem;align-items:center}.navbar-link{font-family:var(--font-body);font-size:12px;color:var(--color-text);text-decoration:none;padding:0 16px;border:1.5px dashed var(--color-border);transition:all .2s ease;background:rgba(163,91,60,.05);cursor:pointer;min-width:90px;text-align:center;line-height:1;display:inline-flex;align-items:center;justify-content:center;height:32px;position:relative}.navbar-link:focus-visible,.navbar-link:hover{border-style:solid;border-color:var(--color-accent);background:rgba(201,138,52,.16);opacity:1}.navbar-link.active{border-style:solid;border-color:var(--color-accent);background:rgba(201,138,52,.12)}.hamburger{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;flex-direction:column;justify-content:space-between}.hamburger-line{display:block;width:100%;height:2px;background:var(--color-text);transition:all .3s ease}.hamburger.open .hamburger-line:first-child{transform:rotate(45deg) translate(6px,6px)}.hamburger.open .hamburger-line:nth-child(2){opacity:0}.hamburger.open .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-menu{display:none;position:fixed;top:52px;left:0;width:100%;background:linear-gradient(180deg,rgba(201,138,52,.09),rgba(155,80,51,.04)),hsla(38,50%,91%,.8);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);-webkit-transform:translateZ(0);transform:translateZ(0);border-bottom:1px solid hsla(34,16%,64%,.52);box-shadow:0 6px 28px rgba(65,44,30,.08);padding:1rem 1.5rem;z-index:499;animation:fadeIn .2s ease}.mobile-menu.open{display:block}@supports not (backdrop-filter:blur(20px)){.mobile-menu{background:hsla(38,50%,91%,.96)}}.mobile-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.mobile-menu-link{font-family:var(--font-body);font-size:13px;color:var(--color-text);text-decoration:none;padding:14px 0;background:transparent;cursor:pointer;text-align:center;transition:all .2s ease;border:1.5px dashed var(--color-border);outline-offset:-1.5px;min-height:32px;display:flex;align-items:center;justify-content:center}.mobile-menu-link:hover{border-color:var(--color-text);border-style:solid;opacity:1}.section-divider{border:none;border-top:1.5px dashed var(--color-border);margin:3rem 0}.section-title{font-family:var(--font-title);font-weight:600;line-height:1.1;letter-spacing:-.03em;color:var(--color-text);margin-bottom:1.5rem}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.scroll-runway{position:relative;width:100%;padding:7.1rem 0;background:transparent;overflow:hidden;overflow:clip}.scroll-runway.runway-footer{padding:11rem 0 0;margin-bottom:0}.sticky-panel{width:100%}.section-inner{max-width:var(--max-width);margin:0 auto;width:100%;padding:0 1.5rem}.about-container,.experience-grid,.footer-inner,.human-grid,.project-grid,.project-grid-wrap{width:100%;max-width:100%}.section-content{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease;pointer-events:none}.section-content.revealed{opacity:1;transform:translateY(0);pointer-events:auto}.section-hero{min-height:100vh;min-height:100dvh;padding:0;display:flex;position:relative;overflow:hidden;overflow:clip}.section-hero .sticky-panel{color:var(--color-text);animation:pageLoadFade .45s ease both;position:relative}.section-hero .section-inner{position:relative;max-width:var(--max-width)}.section-hero{align-items:center}.section-hero .section-inner{padding-top:0;padding-bottom:4rem}.section-about .section-title,.section-about .sticky-panel,.section-experience .section-title,.section-experience .sticky-panel,.section-footer,.section-human .section-title,.section-human .sticky-panel,.section-projects .section-title,.section-projects .sticky-panel{color:var(--color-text)}.section-about .body-text,.section-experience .experience-date,.section-experience .experience-org,.section-footer .footer-link,.section-footer .footer-spotify,.section-footer .footer-text,.section-projects .project-tag,.section-projects .project-tech{color:var(--color-text-muted)}.section-about .about-keyword{color:var(--color-text);text-decoration-color:var(--color-border)}.section-about .about-keyword-active,.section-about .about-keyword:hover{text-decoration-color:var(--color-text)}.section-experience{margin-top:4.2rem}.experience-section-wrap{position:relative}.experience-lily{position:absolute;top:-3.1rem;right:0;width:clamp(172px,22vw,308px);opacity:0;pointer-events:none;z-index:0;transform:translateY(14px) rotate(-2deg) scale(.94)}.experience-lily-canvas{width:100%;height:auto;display:block;image-rendering:pixelated;mix-blend-mode:multiply}.experience-lily.revealed{animation:lilyReveal .85s var(--ease-out-expo) .28s forwards}@keyframes lilyReveal{0%{opacity:0;transform:translateY(14px) rotate(-2deg) scale(.94)}to{opacity:.38;transform:translateY(0) rotate(0deg) scale(1)}}.experience-section-wrap .section-content,.experience-section-wrap .section-title{position:relative;z-index:1}.section-footer .section-inner{max-width:100%}.section-footer .spotify-track{color:var(--color-text)}.section-divider{display:none}@keyframes pageLoad{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pageLoadFade{0%{opacity:0}to{opacity:1}}.fade-section{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.fade-section.visible{opacity:1;transform:translateY(0)}.site-cursor-plus{position:fixed;top:0;left:0;width:34px;height:34px;pointer-events:none;z-index:9998;opacity:0;transform:translate3d(-240px,-240px,0);transition:opacity .16s ease;will-change:transform,opacity}.site-cursor-plus:after,.site-cursor-plus:before{content:"";position:absolute;left:50%;top:50%;background:rgba(55,46,40,.92);transform:translate(-50%,-50%)}.site-cursor-plus:before{width:24px;height:1.5px}.site-cursor-plus:after{width:1.5px;height:24px}body.custom-cursor-on.custom-cursor-visible .site-cursor-plus{opacity:1}body.custom-cursor-on,body.custom-cursor-on *{cursor:none!important}.cursor-label{position:fixed;pointer-events:none;z-index:9999;font-family:var(--font-body);font-size:11px;color:var(--color-bg);background:var(--color-text);padding:4px 10px;opacity:0;transition:opacity .15s ease;white-space:nowrap;top:0;left:0;transform:translate3d(-240px,-240px,0);will-change:transform,opacity}.cursor-label.visible{opacity:1}.sound-toggle{position:fixed;left:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));z-index:520;font-family:var(--font-body);font-size:12px;color:var(--color-text);border:1.5px dashed var(--color-border);background:hsla(33,31%,93%,.92);padding:0 16px;height:32px;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s ease,background .2s ease,color .2s ease}.sound-toggle:focus-visible,.sound-toggle:hover{border-style:solid;border-color:var(--color-accent);background:rgba(201,138,52,.14)}.sound-toggle.active{border-style:solid;border-color:var(--color-accent);background:rgba(201,138,52,.18);color:var(--color-text)}.back-to-top{position:fixed;right:1.5rem;bottom:1.5rem;z-index:520;font-family:var(--font-body);font-size:12px;color:var(--color-text);border:1.5px dashed var(--color-border);background:hsla(33,31%,93%,.92);padding:0 16px;height:32px;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,border-color .2s ease,background .2s ease}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:focus-visible,.back-to-top:hover{border-style:solid;border-color:var(--color-accent);background:rgba(201,138,52,.14)}.symbol-banner{position:absolute;top:-.4rem;left:0;width:100%;max-width:none;height:calc(100% + .8rem);margin-bottom:0;overflow:visible;pointer-events:none;z-index:0}.hero{margin-bottom:0;padding-top:0;padding-bottom:.75rem}.hero,.hero-copy,.hero-layout{position:relative;z-index:1}.hero-copy{min-width:0;width:100%;max-width:min(100%,1120px);padding-right:clamp(1.5rem,7vw,8rem)}.hero-seagull{position:absolute;top:0;right:0;width:clamp(116px,13vw,186px);min-width:116px;opacity:.42;pointer-events:none;z-index:0;transform:translate(20px,-112px)}.hero-seagull-canvas{width:100%;height:auto;display:block;image-rendering:pixelated;mix-blend-mode:multiply;opacity:0;transform:translateY(10px) scale(.96);will-change:opacity,transform}.hero-seagull-canvas.dither-ready{animation:heroSeagullFadeIn .9s var(--ease-out-expo) .12s forwards}@keyframes heroSeagullFadeIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-line{overflow:hidden}.hero-copy .hero-line{position:relative;z-index:1}.hero-line>*{animation:heroLineUp 1.1s var(--ease-out-expo) both}.hero-line-1>*{animation-delay:.3s}.hero-line-2>*{animation-delay:1.65s}.hero-line-1>.greeting{animation:none}@keyframes heroLineUp{0%{transform:translateY(105%);opacity:0}to{transform:translateY(0);opacity:1}}.scroll-hint{position:absolute;left:50%;bottom:-2.7rem;transform:translateX(-50%);display:inline-flex;pointer-events:none;opacity:.72;animation:scrollHintFade .8s ease 1.4s both}.scroll-hint-arrow{width:14px;height:14px;border-right:1.5px dashed var(--color-text-muted);border-bottom:1.5px dashed var(--color-text-muted);transform:rotate(45deg);opacity:.7;animation:scrollArrowDrift 1.8s ease-in-out 1.8s infinite}@keyframes scrollHintFade{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes scrollHintPulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes scrollArrowDrift{0%,to{transform:rotate(45deg) translate(0);opacity:.55}50%{transform:rotate(45deg) translate(2px,2px);opacity:.95}}.about-text-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.section-content.revealed .about-text-reveal{opacity:1;transform:translateY(0)}.polaroid-drop-reveal{opacity:0;transform:translateY(-60px) rotate(-3deg) scale(.9);transition:opacity .5s ease .6s,transform .5s var(--ease-spring) .6s}.section-content.revealed .polaroid-drop-reveal{opacity:1;transform:translateY(0) rotate(0deg) scale(1)}.greeting{font-family:var(--font-title);font-size:56px;font-weight:300;line-height:1.1;color:var(--color-text);letter-spacing:-.03em;min-height:1.1em}.greeting-placeholder{display:inline-block;width:100%;min-height:1em}.hero-name{font-family:var(--font-title);font-size:56px;font-weight:300;line-height:1.1;letter-spacing:-.03em;color:var(--color-text);margin-top:.2rem}.gradient-name{background:linear-gradient(135deg,#a95b3d,#c57a48,#d9a052,#dfb66b,#c47a4a,#a95b3d);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:background-position .15s ease;cursor:default}.body-text{font-family:var(--font-body);font-size:var(--size-body);line-height:var(--line-height-body);color:var(--color-text-muted)}.floating-bird-img{width:clamp(130px,22vw,250px);height:clamp(130px,22vw,250px)}@media (max-width:700px){.floating-bird-img{width:clamp(96px,26vw,150px);height:clamp(96px,26vw,150px)}}.about-container{display:flex;gap:2.5rem;align-items:flex-start}.about-text{flex:1}.about-keyword{color:var(--color-text);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--color-border);cursor:pointer;transition:text-decoration-color .2s ease}.about-keyword:focus-visible,.about-keyword:hover{text-decoration-style:solid;text-decoration-color:var(--color-accent)}.about-keyword-active{text-decoration-style:solid;text-decoration-color:var(--color-accent)}.about-monthly-quote{margin-top:.95rem;font-family:var(--font-body);font-size:13px;color:var(--color-text-muted)}.about-monthly-quote-label{letter-spacing:.01em}.about-monthly-quote-link{color:var(--color-text);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--color-border);cursor:pointer;transition:text-decoration-color .2s ease}.about-monthly-quote-link-active,.about-monthly-quote-link:focus-visible,.about-monthly-quote-link:hover{text-decoration-style:solid;text-decoration-color:var(--color-text)}.polaroid-stack{position:relative;width:230px;height:280px;flex-shrink:0}.polaroid-stacked{position:absolute;top:0;left:0;transition:transform .3s ease}.polaroid-develop{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;pointer-events:none;animation:overlayFade 1s cubic-bezier(.4,0,.2,1) .24s both}.polaroid-develop.polaroid-develop-initial{animation:overlayFade 2.2s cubic-bezier(.4,0,.2,1) 4.7s both}@keyframes polaroidDrop{0%{opacity:0;transform:scale(.8) rotate(0deg) translateY(-30px)}to{opacity:1}}.polaroid-entering{animation:polaroidDrop .4s var(--ease-spring) both}.polaroid-wrapper{flex-shrink:0;margin-top:-2.5rem}.polaroid{background:#fff;padding:10px 10px 36px;box-shadow:0 4px 20px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);transform:rotate(2.5deg);transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease;width:230px}.polaroid:hover{transform:rotate(0deg)}.polaroid-image-wrapper{position:relative;overflow:hidden;isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0);backface-visibility:hidden;box-shadow:inset 0 0 0 1px rgba(78,59,42,.16),inset 0 12px 16px rgba(255,247,235,.25),inset 0 -12px 22px rgba(98,70,42,.13)}.polaroid-image-wrapper:after,.polaroid-image-wrapper:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1}.polaroid-image-wrapper:before{background:linear-gradient(180deg,rgba(255,252,245,.4),rgba(255,250,240,.12) 26%,rgba(131,96,60,.08)),radial-gradient(circle at 18% 8%,hsla(0,0%,100%,.26) 0,hsla(0,0%,100%,0) 34%),radial-gradient(circle at 82% 14%,rgba(255,247,232,.12) 0,rgba(255,247,232,0) 32%);mix-blend-mode:soft-light}.polaroid-image-wrapper:after{background:radial-gradient(circle at 50% 122%,rgba(62,40,22,.24) 0,rgba(62,40,22,.06) 55%,transparent 75%),linear-gradient(180deg,transparent 56%,rgba(74,50,28,.16)),repeating-linear-gradient(0deg,rgba(84,58,34,.04) 0 1px,hsla(0,0%,100%,.02) 1px 2px);mix-blend-mode:multiply;opacity:.72}.polaroid-image{width:100%;aspect-ratio:1;object-fit:cover;display:block;position:relative;z-index:0;filter:saturate(.92) contrast(1.02) brightness(1.03) sepia(.06)}.polaroid-develop{z-index:2}.polaroid-caption{font-family:var(--font-body);font-size:11px;color:var(--color-text-muted);text-align:center;margin-top:10px}.polaroid[class*=polaroid-look-]{background:#fff}.polaroid.polaroid-look-amber .polaroid-image-wrapper:before{background:linear-gradient(180deg,rgba(255,250,242,.48),rgba(255,237,208,.14) 28%,rgba(126,88,49,.08)),radial-gradient(circle at 14% 8%,rgba(255,243,217,.24) 0,rgba(255,243,217,0) 34%),repeating-linear-gradient(0deg,rgba(140,95,54,.02) 0 1px,hsla(0,0%,100%,.015) 1px 2px);mix-blend-mode:soft-light}.polaroid.polaroid-look-amber .polaroid-image-wrapper:after{background:radial-gradient(circle at 50% 121%,rgba(63,42,26,.24) 0,rgba(63,42,26,.07) 54%,transparent 74%),linear-gradient(180deg,transparent 57%,rgba(83,56,34,.16));opacity:.68}.polaroid.polaroid-look-amber .polaroid-image{filter:saturate(.96) contrast(1.04) brightness(1.03) sepia(.08)}.polaroid.polaroid-look-saffron .polaroid-image-wrapper:before{background:linear-gradient(180deg,rgba(255,244,226,.58),rgba(255,223,182,.2) 34%,rgba(146,84,42,.09)),radial-gradient(circle at 90% 8%,rgba(255,190,110,.28) 0,rgba(255,190,110,0) 36%);mix-blend-mode:color-dodge}.polaroid.polaroid-look-saffron .polaroid-image-wrapper:after{background:radial-gradient(circle at 50% 116%,rgba(81,46,24,.3) 0,rgba(81,46,24,.1) 54%,transparent 76%),linear-gradient(180deg,transparent 54%,rgba(92,54,28,.18)),repeating-linear-gradient(0deg,rgba(121,68,35,.05) 0 1px,hsla(0,0%,100%,.015) 1px 2px);opacity:.78}.polaroid.polaroid-look-saffron .polaroid-image{filter:saturate(1.08) contrast(1.08) brightness(1.01) sepia(.14) hue-rotate(-8deg)}.polaroid.polaroid-look-cyan .polaroid-image-wrapper{box-shadow:inset 0 0 0 1px rgba(42,68,88,.16),inset 0 14px 16px rgba(238,248,255,.34),inset 0 -14px 20px rgba(43,79,103,.12)}.polaroid.polaroid-look-cyan .polaroid-image-wrapper:before{background:linear-gradient(180deg,rgba(242,252,255,.5),rgba(220,244,255,.12) 28%,rgba(40,87,112,.07)),radial-gradient(circle at 10% 10%,rgba(188,232,255,.26) 0,rgba(188,232,255,0) 34%);mix-blend-mode:soft-light}.polaroid.polaroid-look-cyan .polaroid-image-wrapper:after{background:radial-gradient(circle at 52% 120%,rgba(24,61,88,.25) 0,rgba(24,61,88,.08) 52%,transparent 74%),linear-gradient(180deg,transparent 58%,rgba(28,67,97,.16));opacity:.68}.polaroid.polaroid-look-cyan .polaroid-image{filter:saturate(.84) contrast(1.05) brightness(1.05) hue-rotate(8deg)}.polaroid.polaroid-look-sunset .polaroid-image-wrapper:before{background:linear-gradient(180deg,rgba(255,236,221,.52),rgba(255,214,189,.14) 28%,rgba(146,78,62,.08)),radial-gradient(circle at 84% 12%,rgba(255,154,112,.26) 0,rgba(255,154,112,0) 38%),radial-gradient(circle at 18% 86%,rgba(255,199,145,.18) 0,rgba(255,199,145,0) 44%);mix-blend-mode:screen}.polaroid.polaroid-look-sunset .polaroid-image-wrapper:after{background:radial-gradient(circle at 48% 124%,rgba(77,37,24,.3) 0,rgba(77,37,24,.1) 52%,transparent 74%),linear-gradient(180deg,transparent 54%,rgba(89,42,28,.18));opacity:.76}.polaroid.polaroid-look-sunset .polaroid-image{filter:saturate(1.14) contrast(1.1) brightness(1.01) sepia(.15) hue-rotate(-15deg)}.polaroid.polaroid-look-sage .polaroid-image-wrapper:before{background:linear-gradient(180deg,hsla(90,70%,96%,.52),hsla(96,50%,92%,.16) 26%,rgba(70,101,63,.07)),radial-gradient(circle at 14% 10%,hsla(95,62%,88%,.24) 0,hsla(95,62%,88%,0) 36%);mix-blend-mode:soft-light}.polaroid.polaroid-look-sage .polaroid-image-wrapper:after{background:radial-gradient(circle at 50% 118%,rgba(44,66,37,.24) 0,rgba(44,66,37,.08) 54%,transparent 74%),linear-gradient(180deg,transparent 56%,rgba(52,78,45,.14));opacity:.67}.polaroid.polaroid-look-sage .polaroid-image{filter:saturate(.9) contrast(1.02) brightness(1.04) hue-rotate(16deg)}.polaroid.polaroid-look-petal .polaroid-image-wrapper:before{background:linear-gradient(180deg,rgba(255,247,248,.56),rgba(253,230,234,.18) 30%,rgba(125,78,87,.06)),radial-gradient(circle at 84% 10%,rgba(255,226,233,.24) 0,rgba(255,226,233,0) 36%);mix-blend-mode:screen}.polaroid.polaroid-look-petal .polaroid-image-wrapper:after{background:radial-gradient(circle at 50% 120%,rgba(77,45,51,.22) 0,rgba(77,45,51,.07) 54%,transparent 74%),linear-gradient(180deg,transparent 58%,rgba(89,54,62,.13));opacity:.64}.polaroid.polaroid-look-petal .polaroid-image{filter:saturate(.9) contrast(.99) brightness(1.07) sepia(.04)}.polaroid.polaroid-look-punch .polaroid-image-wrapper:before{background:linear-gradient(180deg,rgba(255,235,228,.58),rgba(255,206,194,.2) 30%,rgba(144,46,44,.08)),radial-gradient(circle at 86% 9%,rgba(255,112,90,.3) 0,rgba(255,112,90,0) 34%),radial-gradient(circle at 14% 85%,rgba(255,183,128,.2) 0,rgba(255,183,128,0) 40%);mix-blend-mode:color-dodge}.polaroid.polaroid-look-punch .polaroid-image-wrapper:after{background:radial-gradient(circle at 48% 122%,rgba(89,27,22,.35) 0,rgba(89,27,22,.11) 52%,transparent 72%),linear-gradient(180deg,transparent 54%,rgba(94,35,27,.2)),repeating-linear-gradient(0deg,rgba(129,45,37,.05) 0 1px,hsla(0,0%,100%,.018) 1px 2px);opacity:.82}.polaroid.polaroid-look-punch .polaroid-image{filter:saturate(1.2) contrast(1.15) brightness(1.02) sepia(.08) hue-rotate(-18deg)}@keyframes overlayFade{0%{opacity:1}to{opacity:0}}@keyframes captionFadeIn{to{opacity:1}}.experience-grid{display:flex;flex-direction:column;border:1.5px dashed var(--color-border)}.experience-card{position:relative;overflow:hidden;cursor:pointer;background:hsla(0,0%,100%,.4);border-bottom:1.5px dashed var(--color-border);padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.25rem;min-height:90px;transition:background .25s ease,border-color .25s ease;contain:paint}.experience-card:focus-visible,.experience-card:hover{background:hsla(0,0%,100%,.65);border-bottom-style:solid}.experience-card:last-child{border-bottom:none}.experience-card-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease;pointer-events:none;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}.experience-card:focus-visible .experience-card-bg,.experience-card:hover .experience-card-bg{opacity:.18}.experience-card-content{position:relative;z-index:1;flex:1;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem}.experience-left{display:flex;flex-direction:column;gap:.1rem}.experience-role{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-text);display:block}.experience-prev{font-weight:400;color:var(--color-text-muted);font-size:12px}.experience-org{display:block;font-size:13px}.experience-date,.experience-org{font-family:var(--font-body);color:var(--color-text-muted)}.experience-date{font-size:12px;white-space:nowrap}.section-content.revealed .experience-card{animation:cardReveal .55s var(--ease-out-expo) both}.project-grid-wrap{position:relative}.projects-dino{position:absolute;right:.25rem;left:auto;bottom:-9rem;top:auto;width:clamp(280px,28vw,440px);opacity:0;pointer-events:none;z-index:0;transform:translateY(8px) rotate(-2deg) scale(.96)}.projects-dino-canvas{width:100%;height:auto;display:block;image-rendering:auto;mix-blend-mode:multiply;filter:contrast(1.1) brightness(.94)}.projects-dino.revealed{animation:dinoReveal .85s var(--ease-out-expo) .18s forwards}@keyframes dinoReveal{0%{opacity:0;transform:translateY(8px) rotate(-2deg) scale(.96)}to{opacity:.2;transform:translateY(0) rotate(0deg) scale(1)}}.project-route-lines{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity .7s ease}.project-route-lines.revealed{opacity:.45}.project-route{position:absolute;height:1px;border-top:1px dashed rgba(163,91,60,.34)}.project-route:after{content:"";position:absolute;right:-1px;top:-2px;width:4px;height:4px;border-radius:50%;background:rgba(163,91,60,.45)}.route-a{width:32%;left:8%;top:46%;transform:rotate(-12deg)}.route-b{width:28%;right:9%;top:58%;transform:rotate(14deg)}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px dashed var(--color-border)}.project-card{aspect-ratio:1;position:relative;overflow:hidden;cursor:pointer;background:hsla(0,0%,100%,.4);border-right:1.5px dashed var(--color-border);border-bottom:1.5px dashed var(--color-border);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;transition:background .25s ease,border-color .25s ease;contain:paint}.project-card:focus-visible,.project-card:hover{background:hsla(0,0%,100%,.65)}.project-card:nth-child(4n){border-right:none}.project-card:nth-child(n+5){border-bottom:none}.project-card-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease;pointer-events:none;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}.project-card:focus-visible .project-card-bg,.project-card:hover .project-card-bg{opacity:.2}.project-card-content{position:relative;z-index:1}.project-name{font-family:var(--font-title);font-size:18px;font-weight:500;color:var(--color-text);margin-bottom:.15rem}.project-tag{font-size:10px;background:rgba(0,0,0,.04);padding:2px 6px;display:inline-block;margin-bottom:.4rem;width:fit-content}.project-tag,.project-tech{font-family:var(--font-body);color:var(--color-text-muted)}.project-tech{font-size:11px}.section-content.revealed .project-card{animation:cardReveal .55s var(--ease-out-expo) both}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.greeting-phrase{display:inline-flex;flex-wrap:wrap;column-gap:.22em;row-gap:.06em}.greeting-word{opacity:0;filter:blur(8px);transform:translateX(-14px);animation:greetingWordIn 1.35s cubic-bezier(.19,1,.22,1) forwards;animation-delay:calc(var(--word-index) * 80ms + 70ms);will-change:transform,filter,opacity}@keyframes greetingWordIn{0%{opacity:0;transform:translateX(-14px);filter:blur(8px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}.human-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px dashed var(--color-border)}.human-card{aspect-ratio:1;position:relative;overflow:hidden;padding:1rem;background:hsla(0,0%,100%,.4);border-right:1.5px dashed var(--color-border);cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;transition:background .25s ease;contain:paint}.human-card:focus-visible,.human-card:hover{background:hsla(0,0%,100%,.65)}.human-card:last-child{border-right:none}.human-card-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease;pointer-events:none;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}.human-card:focus-visible .human-card-bg,.human-card:hover .human-card-bg{opacity:.18}.human-card-content{position:relative;z-index:1}.human-note{display:inline-block;font-family:var(--font-body);font-size:9px;letter-spacing:.08em;text-transform:lowercase;color:var(--color-text-muted);border-bottom:1px dashed var(--color-border);margin-bottom:.35rem}.human-emoji{font-size:24px;display:block;margin-bottom:.5rem}.human-label{font-family:var(--font-title);font-size:16px;font-weight:500;margin-bottom:.25rem;color:var(--color-text)}.human-card .body-text{font-size:12px;line-height:1.5}.section-content.revealed .human-card{animation:cardReveal .55s var(--ease-out-expo) both}.drawer-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:1000;cursor:pointer;opacity:0;transition:opacity .28s cubic-bezier(.22,1,.36,1);pointer-events:none;will-change:opacity;transform:translateZ(0);backface-visibility:hidden;contain:paint}.drawer-backdrop.drawer-open{opacity:.3;pointer-events:auto}.drawer{position:fixed;top:0;right:0;height:100%;width:min(480px,92vw);background:var(--color-bg);background-image:linear-gradient(180deg,rgba(201,138,52,.04),rgba(163,91,60,.02)),linear-gradient(45deg,rgba(26,26,26,.04) 25%,transparent 0,transparent 75%,rgba(26,26,26,.04) 0),linear-gradient(45deg,rgba(26,26,26,.04) 25%,transparent 0,transparent 75%,rgba(26,26,26,.04) 0);background-size:100% 100%,4px 4px,4px 4px;background-position:0 0,0 0,2px 2px;border-left:1.5px dashed var(--color-border);z-index:1001;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .42s cubic-bezier(.32,.72,0,1);box-shadow:-16px 0 60px rgba(0,0,0,.08);cursor:default;overflow:hidden;overscroll-behavior-x:none}.drawer.drawer-open{transform:translateX(0)}.drawer-frame{position:absolute;top:8px;left:8px;bottom:8px;right:0;border-top:1px dotted var(--color-border);border-left:1px dotted var(--color-border);pointer-events:none;z-index:0;opacity:.45}.drawer-header{position:relative;z-index:2;height:var(--navbar-height);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid hsla(38,9%,75%,.55)}.drawer-tab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.55;user-select:none}.drawer-tab,.modal-close{font-family:var(--font-body);color:var(--color-text-muted)}.modal-close{background:transparent;border:1px dashed var(--color-border);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;transition:all .2s ease;z-index:2;flex-shrink:0;line-height:1}.modal-close:focus-visible,.modal-close:hover{color:var(--color-text);border-style:solid;border-color:var(--color-text)}.drawer-body{position:relative;z-index:1;overflow-y:auto;flex:1;overflow-x:hidden;padding:0 1.5rem 3rem;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.drawer-body::-webkit-scrollbar{width:3px}.drawer-body::-webkit-scrollbar-track{background:transparent}.drawer-body::-webkit-scrollbar-thumb{background:var(--color-border)}.modal-image{width:calc(100% + 3rem);margin-left:-1.5rem;object-fit:cover;object-position:center 30%;display:block;margin-bottom:1.25rem;border-bottom:1px dashed var(--color-border)}.modal-image,.modal-image.modal-image-cooking{aspect-ratio:16/9}.modal-image.pending{opacity:0}.modal-image.ready{opacity:1}.modal-image{transition:opacity .24s ease;will-change:opacity}.modal-title{font-family:var(--font-title);font-size:26px;font-weight:500;color:var(--color-text);margin-bottom:.25rem;line-height:1.15}.modal-subtitle{font-size:11px;letter-spacing:.03em;padding-bottom:1.25rem;border-bottom:1px dashed var(--color-border)}.modal-body,.modal-subtitle{font-family:var(--font-body);color:var(--color-text-muted);margin-bottom:1.25rem}.modal-body{font-size:14.5px;line-height:var(--line-height-body)}.modal-split{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.modal-split-text{flex:1}.modal-split-image{width:100%;object-fit:cover;max-height:200px;border-bottom:1px dashed var(--color-border)}.modal-split.reverse{flex-direction:column}.modal-section-title{font-family:var(--font-title);font-size:18px;font-weight:500;color:var(--color-text);margin-bottom:.4rem}.modal-inline-link{color:var(--color-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.modal-inline-link:hover{opacity:.6}.modal-links{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:1rem;border-top:1px dashed var(--color-border);margin-bottom:1.5rem}.modal-link{font-family:var(--font-body);font-size:11px;padding:7px 16px;border:1px dashed var(--color-border);text-decoration:none;color:var(--color-text);transition:all .2s ease;display:inline-flex;align-items:center;gap:.3rem;min-height:32px}.drawer-body>:not(.modal-image){max-width:100%}.modal-body,.modal-subtitle,.modal-title{overflow-wrap:anywhere;word-break:break-word}.modal-link:focus-visible,.modal-link:hover{background:var(--color-accent);color:var(--color-bg);border-style:solid;border-color:var(--color-accent);opacity:1}.drawer-body-placeholder{min-height:180px;border:1px dashed var(--color-border);background:hsla(0,0%,100%,.36);margin-bottom:1rem}.film-list{display:flex;flex-direction:column;gap:1.25rem}.film-item{display:flex;gap:.9rem;align-items:flex-start}.film-rank{font-family:var(--font-title);font-size:24px;font-weight:500;color:var(--color-border);line-height:1;flex-shrink:0;width:22px;text-align:center}.film-poster{width:72px;height:104px;object-fit:cover;flex-shrink:0;border:1px solid var(--color-border)}.film-info{flex:1}.film-title-text{font-family:var(--font-title);font-size:16px;font-weight:500;color:var(--color-text);margin-bottom:.1rem}.film-year{font-size:11px;margin-bottom:.4rem}.film-desc,.film-year{font-family:var(--font-body);color:var(--color-text-muted)}.film-desc{font-size:13px;line-height:1.6}.dotted-arrow{position:relative;display:inline-block;width:1em;height:1em;color:currentColor;flex-shrink:0;line-height:1}.dotted-arrow:after,.dotted-arrow:before{content:"";position:absolute;box-sizing:border-box}.dotted-arrow-right:before{content:"→";inset:0;font-size:.95em;font-family:var(--font-body)}.dotted-arrow-left:before{content:"←";inset:0;font-size:.95em;font-family:var(--font-body)}.dotted-arrow-up-right:before{content:"↗";inset:0;font-size:.92em;font-family:var(--font-body)}.dotted-arrow:after{display:none}.footer{padding:0;margin-top:1rem;overflow:visible;width:100%}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta links" "spotify webring";align-items:center;column-gap:1.5rem;row-gap:.9rem}.footer-text{grid-area:meta;display:block}.footer-spotify,.footer-text{font-family:var(--font-body);font-size:13px;color:var(--color-text-muted)}.footer-spotify{grid-area:spotify;display:flex;align-items:center;gap:.5rem;white-space:nowrap;min-width:0}.spotify-dot{width:8px;height:8px;background:#c98a34;display:inline-block;animation:pulse 2s ease infinite}.spotify-dot.offline{background:var(--color-border);animation:none}.spotify-track{color:var(--color-text);text-decoration:none;font-weight:600;transition:opacity .2s ease;display:inline-block;max-width:min(32vw,360px);overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.spotify-track:hover{opacity:.6}.footer-links{grid-area:links;display:flex;gap:1.25rem;align-items:center;justify-content:flex-end;justify-self:end;width:100%}.footer-link{font-family:var(--font-body);font-size:13px;color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--color-accent);opacity:1}.footer-link-button{appearance:none;border:0;background:transparent;padding:0;cursor:pointer}.footer-link-button.active{color:var(--color-accent);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.build-note-modal-backdrop{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .24s cubic-bezier(.22,1,.36,1);z-index:1020}.build-note-modal-backdrop.open{opacity:.34;pointer-events:auto}.build-note-modal{position:fixed;inset:0;z-index:1021;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .24s cubic-bezier(.22,1,.36,1);padding:1rem}.build-note-modal.open{opacity:1;pointer-events:auto}.build-note{position:relative;width:min(360px,calc(100vw - 3rem));background:#f8f2bf;border:1.5px dashed var(--color-border);box-shadow:4px 4px 0 rgba(163,91,60,.15);padding:.8rem .9rem .88rem;text-align:left;color:var(--color-text)}.build-note-modal-card{width:min(420px,calc(100vw - 2rem));aspect-ratio:1/1;max-height:min(420px,calc(100vh - 2rem));max-height:min(420px,calc(100svh - 2rem));overflow-y:auto;transform:scale(.96);transition:transform .24s cubic-bezier(.22,1,.36,1);padding:.95rem 1rem}.build-note-modal.open .build-note-modal-card{transform:scale(1)}.build-note-close{position:absolute;top:.52rem;right:.52rem;width:28px;height:28px;border:1px dashed var(--color-border);background:transparent;color:var(--color-text-muted);font-family:"Architekt",var(--font-body);font-size:12px;line-height:1;cursor:pointer}.build-note-close:focus-visible,.build-note-close:hover{color:var(--color-text);border-style:solid;border-color:var(--color-text)}.build-note:before{content:"";position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:76px;height:14px;background:hsla(0,0%,100%,.44);border:1px dashed rgba(163,91,60,.32)}.build-note-title{font-family:"Neco",var(--font-title);font-size:14px;letter-spacing:.01em;margin-bottom:.45rem;padding-right:2rem;color:var(--color-text)}.build-note-line{font-family:"Architekt",var(--font-body);font-size:12px;line-height:1.48;color:#443a33}.build-note-line+.build-note-line{margin-top:.22rem}.footer-webring{grid-area:webring;display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:.35rem;width:100%}.webring-arrow-link{font-family:var(--font-body);font-size:12px;color:var(--color-text-muted);text-decoration:none;border:1.5px dashed var(--color-border);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;background:rgba(163,91,60,.05)}.webring-arrow-link:focus-visible,.webring-arrow-link:hover{border-style:solid;border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg);opacity:1}.webring-arrow-link:active{border-style:solid;border-color:#8d4d32;background:#8d4d32;color:var(--color-bg)}.webring-logo-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px dashed var(--color-border);transition:all .2s ease;background:rgba(163,91,60,.05)}.webring-logo-link:focus-visible,.webring-logo-link:hover{border-style:solid;border-color:var(--color-accent);background:var(--color-accent);opacity:1}.webring-logo-link:active{border-style:solid;border-color:#8d4d32;background:#8d4d32}.webring-logo{width:16px;height:auto;opacity:.62;display:block;transition:opacity .2s ease,filter .2s ease}.webring-logo-link:focus-visible .webring-logo,.webring-logo-link:hover .webring-logo{opacity:.92;filter:invert(.96)}.skyline-full-bleed{margin-top:2rem;margin-bottom:0;padding-bottom:0;pointer-events:none;user-select:none;line-height:0;font-size:0}.city-skyline-wrapper,.skyline-full-bleed{width:100%;overflow:hidden}.city-skyline{width:100%;max-height:600px;height:auto;display:block;filter:grayscale(1) contrast(1.8) brightness(1.1);opacity:.4;mix-blend-mode:multiply;image-rendering:pixelated;margin:0;padding:0}.night-mode-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}body.night-mode{background-color:#1a1a1a;background-image:linear-gradient(45deg,hsla(36,24%,96%,.018) 25%,transparent 0,transparent 75%,hsla(36,24%,96%,.018) 0),linear-gradient(45deg,hsla(36,24%,96%,.018) 25%,transparent 0,transparent 75%,hsla(36,24%,96%,.018) 0);background-size:4px 4px;background-position:0 0,2px 2px;color:#f7f5f2;transition:background-color .6s ease,color .6s ease}body.night-mode .site-banner{background:rgba(26,26,26,.92);border-color:hsla(0,0%,78%,.16)}body.night-mode .site-banner-copy{color:hsla(36,24%,96%,.84)}body.night-mode .site-banner-link{color:#f0a860}body.night-mode .site-banner-close{color:hsla(36,24%,96%,.72)}body.night-mode .site-banner-close:focus-visible,body.night-mode .site-banner-close:hover{color:#f0a860}body.night-mode .navbar-bar{background:rgba(26,26,26,.2);border-bottom:1px solid hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 4px 16px rgba(0,0,0,.2)}body.night-mode .navbar-bar:before{background:rgba(26,26,26,.68);backdrop-filter:blur(42px) saturate(180%);-webkit-backdrop-filter:blur(42px) saturate(180%)}body.night-mode .navbar-bar:after{background-image:radial-gradient(circle at 1px 1px,hsla(36,24%,96%,.18) .95px,transparent 1px);mix-blend-mode:screen;opacity:.28}body.night-mode .scroll-progress{background:hsla(36,24%,96%,.12)}body.night-mode .scroll-progress-fill{background:linear-gradient(90deg,#c98a34,#e0a14b)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.night-mode .navbar-bar{background:rgba(26,26,26,.97)}body.night-mode .navbar-bar:before{display:none}}body.night-mode .mobile-menu-link,body.night-mode .navbar-link,body.night-mode .navbar-name{color:#f7f5f2}body.night-mode .navbar-link{border-color:hsla(0,0%,78%,.3);background:hsla(0,0%,100%,.08)}body.night-mode .navbar-link.active,body.night-mode .navbar-link:hover{border-color:#f7f5f2;background:hsla(0,0%,100%,.16)}body.night-mode .mobile-menu{background:rgba(26,26,26,.45);backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);-webkit-transform:translateZ(0);transform:translateZ(0);box-shadow:0 4px 30px rgba(0,0,0,.2)}@supports not (backdrop-filter:blur(20px)){body.night-mode .mobile-menu{background:rgba(26,26,26,.95)}}body.night-mode .mobile-menu-grid,body.night-mode .mobile-menu-link{border-color:hsla(0,0%,78%,.3)}body.night-mode .section-divider{border-top-color:hsla(0,0%,78%,.2)}body.night-mode .experience-role,body.night-mode .human-label,body.night-mode .project-name,body.night-mode .section-title{color:#f7f5f2}body.night-mode .body-text,body.night-mode .experience-date,body.night-mode .experience-org,body.night-mode .experience-prev,body.night-mode .footer-link,body.night-mode .footer-spotify,body.night-mode .footer-text,body.night-mode .footer-webring a,body.night-mode .polaroid-caption,body.night-mode .project-tag,body.night-mode .project-tech{color:hsla(36,24%,96%,.6)}body.night-mode .webring-arrow-link,body.night-mode .webring-logo-link{border-color:hsla(0,0%,78%,.3);background:hsla(0,0%,100%,.08)}body.night-mode .webring-arrow-link:focus-visible,body.night-mode .webring-arrow-link:hover,body.night-mode .webring-logo-link:focus-visible,body.night-mode .webring-logo-link:hover{border-color:#f7f5f2;background:#f7f5f2;color:#1a1a1a}body.night-mode .webring-arrow-link:active,body.night-mode .webring-logo-link:active{border-color:#f7f5f2;background:hsla(36,24%,96%,.8);color:#1a1a1a}body.night-mode .webring-logo{filter:invert(1)}body.night-mode .webring-logo-link:active .webring-logo,body.night-mode .webring-logo-link:focus-visible .webring-logo,body.night-mode .webring-logo-link:hover .webring-logo{filter:none;opacity:.88}body.night-mode .polaroid-image-wrapper:before{opacity:.8}body.night-mode .polaroid-image-wrapper:after{opacity:.62}body.night-mode .greeting,body.night-mode .hero-name{color:#f7f5f2}body.night-mode .experience-grid,body.night-mode .human-grid,body.night-mode .project-grid{border-color:hsla(0,0%,78%,.2)}body.night-mode .experience-card,body.night-mode .human-card,body.night-mode .project-card{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,78%,.2)}body.night-mode .experience-card:focus-visible,body.night-mode .experience-card:hover,body.night-mode .human-card:focus-visible,body.night-mode .human-card:hover,body.night-mode .project-card:focus-visible,body.night-mode .project-card:hover{background:hsla(0,0%,100%,.08)}body.night-mode .polaroid{background:#2a2a2a;box-shadow:0 4px 20px rgba(0,0,0,.4)}body.night-mode .drawer-backdrop.drawer-open{background:rgba(0,0,0,.5)}body.night-mode .drawer{background-color:#1e1c1a;background-image:linear-gradient(45deg,hsla(36,24%,96%,.018) 25%,transparent 0,transparent 75%,hsla(36,24%,96%,.018) 0),linear-gradient(45deg,hsla(36,24%,96%,.018) 25%,transparent 0,transparent 75%,hsla(36,24%,96%,.018) 0);border-left-color:hsla(0,0%,78%,.2);box-shadow:-16px 0 60px rgba(0,0,0,.4)}body.night-mode .drawer-frame{border-color:hsla(0,0%,78%,.2)}body.night-mode .drawer-header{border-bottom-color:hsla(0,0%,100%,.1)}body.night-mode .modal-overlay{background:rgba(0,0,0,.7)}body.night-mode .modal-content{background:#222;border-color:hsla(0,0%,78%,.2)}body.night-mode .modal-frame{border-color:hsla(0,0%,78%,.2)}body.night-mode .modal-title{color:#f7f5f2}body.night-mode .modal-body,body.night-mode .modal-subtitle{color:hsla(36,24%,96%,.6)}body.night-mode .modal-close{border-color:hsla(0,0%,78%,.3);color:hsla(36,24%,96%,.6)}body.night-mode .modal-close:focus-visible,body.night-mode .modal-close:hover{color:#f7f5f2;border-color:#f7f5f2}body.night-mode .modal-link{border-color:hsla(0,0%,78%,.3);color:#f7f5f2}body.night-mode .modal-link:hover{background:#f7f5f2;color:#1a1a1a;border-color:#f7f5f2}body.night-mode .modal-section-title{color:#f7f5f2}body.night-mode .drawer-header,body.night-mode .modal-image,body.night-mode .modal-links,body.night-mode .modal-subtitle{border-color:hsla(0,0%,78%,.2)}body.night-mode .drawer-tab{color:hsla(36,24%,96%,.4)}body.night-mode .cursor-label{background:#f7f5f2;color:#1a1a1a}body.night-mode .site-cursor-plus:after,body.night-mode .site-cursor-plus:before{background:hsla(36,24%,96%,.9)}body.night-mode .sound-toggle{color:#f7f5f2;border-color:hsla(0,0%,78%,.3);background:rgba(26,26,26,.88)}body.night-mode .sound-toggle:focus-visible,body.night-mode .sound-toggle:hover{border-color:#f7f5f2;background:hsla(0,0%,100%,.12)}body.night-mode .sound-toggle.active{border-color:#f0a860;background:rgba(240,168,96,.18)}body.night-mode .spotify-track{color:#f7f5f2}body.night-mode .about-keyword{color:#f7f5f2;text-decoration-color:hsla(0,0%,78%,.3)}body.night-mode .about-keyword:hover{text-decoration-color:#f7f5f2}body.night-mode .hamburger-line{background:#f7f5f2}body.night-mode .back-to-top{color:#f7f5f2;border-color:hsla(0,0%,78%,.3);background:rgba(26,26,26,.88)}body.night-mode .back-to-top:focus-visible,body.night-mode .back-to-top:hover{border-color:#f7f5f2;background:hsla(0,0%,100%,.12)}body.night-mode .footer-link-button.active{color:#f0a860}body.night-mode .build-note-modal-backdrop.open{opacity:.54}body.night-mode .build-note{background:#332a20;border-color:hsla(0,0%,78%,.32);color:#f7f5f2;box-shadow:4px 4px 0 rgba(0,0,0,.25)}body.night-mode .build-note-close{border-color:hsla(0,0%,78%,.35);color:hsla(36,24%,96%,.72)}body.night-mode .build-note-close:focus-visible,body.night-mode .build-note-close:hover{border-color:#f7f5f2;color:#f7f5f2}body.night-mode .build-note:before{background:hsla(36,24%,96%,.2);border-color:hsla(36,24%,96%,.3)}body.night-mode .build-note-line,body.night-mode .build-note-title,body.night-mode .section-about .about-keyword,body.night-mode .section-about .body-text,body.night-mode .section-about .section-title,body.night-mode .section-about .sticky-panel,body.night-mode .section-experience .section-title,body.night-mode .section-experience .sticky-panel,body.night-mode .section-footer .sticky-panel,body.night-mode .section-hero .sticky-panel,body.night-mode .section-human .section-title,body.night-mode .section-human .sticky-panel,body.night-mode .section-projects .section-title,body.night-mode .section-projects .sticky-panel{color:#f7f5f2}body.night-mode .project-route{border-top-color:rgba(240,168,96,.36)}body.night-mode .project-route:after{background:rgba(240,168,96,.5)}body.night-mode .projects-dino.revealed{opacity:.32}body.night-mode .human-note{color:hsla(36,24%,96%,.7);border-bottom-color:hsla(0,0%,78%,.35)}body.night-mode .experience-lily.revealed{opacity:.3}body.night-mode .section-footer .footer-link,body.night-mode .section-footer .footer-spotify,body.night-mode .section-footer .footer-text{color:#f7f5f2}body.night-mode .city-skyline{filter:none;opacity:.5;mix-blend-mode:normal}body.night-mode .skip-link{background:#f7f5f2;color:#1a1a1a}body.night-mode :focus-visible{outline-color:#f0a860}@supports (-webkit-touch-callout:none){.polaroid.polaroid-look-punch .polaroid-image-wrapper:before,.polaroid.polaroid-look-saffron .polaroid-image-wrapper:before{mix-blend-mode:screen}.polaroid.polaroid-look-punch .polaroid-image-wrapper:after,.polaroid.polaroid-look-saffron .polaroid-image-wrapper:after{opacity:.74}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}.section-content{transition:none}.section-content,.section-content.revealed{opacity:1;transform:none}.about-text-reveal,.polaroid-drop-reveal{opacity:1;transform:none;transition:none}.back-to-top,.navbar,.scroll-progress-fill{transition:none}.hero-seagull-canvas{opacity:1;transform:none;animation:none}}@media (max-width:940px){.hero-copy{padding-right:clamp(1rem,5vw,4.5rem)}.hero-seagull{width:clamp(102px,17vw,148px);min-width:102px;transform:translate(14px,-86px)}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card:nth-child(4n){border-right:1.5px dashed var(--color-border)}.project-card:nth-child(3n){border-right:none}.project-card:nth-child(n+5){border-bottom:1.5px dashed var(--color-border)}.project-card:nth-last-child(-n+2){border-bottom:none}.human-grid{grid-template-columns:repeat(2,1fr)}.human-card{border-bottom:1.5px dashed var(--color-border)}.human-card:nth-child(2n){border-right:none}.human-card:nth-child(n+3){border-bottom:none}.modal-split,.modal-split.reverse{flex-direction:column}.modal-split-image{flex:unset;width:100%;max-height:260px}}@media (max-width:700px){:root{--size-body:14.5px;--line-height-body:1.62}.section-title{font-size:clamp(46px,14vw,64px)!important}.landing-announcement-shell{top:calc(var(--navbar-height) + .3rem)}.site-banner{align-items:flex-start;gap:.35rem}.site-banner-inner{padding:.5rem 1rem}.site-banner-copy{font-size:10px}.site-banner-close{width:30px;height:30px;margin:.35rem .6rem 0 0}.navbar-links{display:none}.hamburger{display:flex}.greeting,.hero-name{font-size:38px}.hero-copy{padding-right:0}.hero-seagull{display:block;width:clamp(108px,28vw,136px);min-width:108px;opacity:.36;transform:translate(16px,-88px)}.symbol-banner{height:52vh;height:52svh}.scroll-runway{padding:4.9rem 0}.section-inner{padding:0 1.25rem}.section-hero{min-height:100vh;min-height:100svh;padding:0}.section-hero .section-inner{padding-top:42vh}.scroll-hint{bottom:-3rem}.runway-footer{padding:8rem 0 0}.section-title{max-width:100%}.about-container{flex-direction:column-reverse;gap:1.5rem;align-items:center}.polaroid-wrapper{display:none}.experience-card{flex-direction:column;align-items:flex-start;gap:.5rem}.experience-card-content{flex-direction:column;gap:.15rem}.section-experience{margin-top:2.8rem}.experience-lily{width:clamp(140px,36vw,220px);top:-2.1rem;right:.15rem}.project-grid{grid-template-columns:repeat(2,1fr)}.projects-dino{left:.1rem;right:auto;bottom:-5.5rem;top:auto;width:clamp(190px,48vw,260px)}.project-route-lines{opacity:.32}.route-a{width:40%;left:6%;top:38%;transform:rotate(-10deg)}.route-b{width:34%;right:8%;top:64%;transform:rotate(11deg)}.project-card:nth-child(3n){border-right:1.5px dashed var(--color-border)}.project-card:nth-child(2n){border-right:none}.project-card:nth-last-child(-n+3){border-bottom:1.5px dashed var(--color-border)}.project-card:nth-last-child(-n+2){border-bottom:none}.human-grid{grid-template-columns:repeat(2,1fr)}.cursor-label,.site-cursor-plus{display:none}body.custom-cursor-on,body.custom-cursor-on *{cursor:auto!important}.sound-toggle{left:1rem;bottom:calc(1rem + env(safe-area-inset-bottom, 0px))}.back-to-top{right:1rem;bottom:1rem}.footer-inner{padding:0 1.25rem;grid-template-columns:1fr;grid-template-areas:"meta" "links" "spotify" "webring";justify-items:center;text-align:center;row-gap:.7rem}.footer-spotify{justify-content:center;text-align:center;white-space:normal}.spotify-track{max-width:none}.footer-links{justify-content:center;justify-self:center}.build-note{text-align:left}.footer-webring{justify-content:center;justify-self:center}}@supports (-webkit-touch-callout:none){@media (max-width:700px){.project-card:nth-child(odd){border-right-color:transparent;z-index:1}.project-card:nth-child(odd):after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;width:2px;pointer-events:none;z-index:2;opacity:.95;background-image:repeating-linear-gradient(180deg,rgba(106,96,86,.28) 0 6px,transparent 6px 10px);background-repeat:repeat-y;background-size:2px 10px;transform:translateZ(0)}body.night-mode .project-card:nth-child(odd):after{background-image:repeating-linear-gradient(180deg,hsla(0,0%,84%,.28) 0 6px,transparent 6px 10px)}}}.projects-heading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.all-work-link{font-family:var(--font-body);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);text-decoration:none;border:1px dashed var(--color-border);padding:8px 16px;display:inline-flex;align-items:center;gap:.4rem;transition:background .2s ease;flex-shrink:0;background:transparent;opacity:0}.all-work-link.revealed{animation:cardReveal .55s var(--ease-out-expo) .15s both}.all-work-link:focus-visible,.all-work-link:hover{background:hsla(38,9%,75%,.25)}.all-work-link-arrow{transition:transform .2s ease;display:inline-block}.all-work-link:hover .all-work-link-arrow{transform:translateX(3px)}.featured-project-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px dashed var(--color-border);border-right:none}.featured-project-card{display:flex;flex-direction:column;cursor:pointer;color:var(--color-text);border-right:1px dashed var(--color-border);background:transparent;transition:background .2s ease;outline:none}.section-content.revealed .featured-project-card,.section-content.revealed .work-card{animation:cardReveal .55s var(--ease-out-expo) both}.featured-project-card:focus-visible,.featured-project-card:hover{background:hsla(0,0%,100%,.4)}.featured-project-image-wrap{width:100%;aspect-ratio:4/3;overflow:hidden;border-bottom:1px dashed var(--color-border)}.featured-project-image{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.14) saturate(.72) contrast(1.02);transition:transform .6s var(--ease-out-expo)}.featured-project-card:focus-visible .featured-project-image,.featured-project-card:hover .featured-project-image{transform:scale(1.04)}.featured-project-content{padding:1rem 1.25rem 1.15rem}.featured-project-name{font-family:var(--font-title);font-size:21px;font-weight:500;line-height:1.15;color:var(--color-text);margin:.3rem 0 .6rem}.featured-project-cta{font-family:var(--font-body);font-size:11px;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);display:inline-flex;align-items:center;gap:.3rem}.featured-project-cta-arrow{transition:transform .2s ease;display:inline-block}.featured-project-card:hover .featured-project-cta-arrow{transform:translateX(3px)}body.night-mode .all-work-link{color:#f7f5f2;border-color:hsla(0,0%,78%,.3)}body.night-mode .all-work-link:hover{background:hsla(0,0%,100%,.08)}body.night-mode .featured-project-grid{border-color:hsla(0,0%,78%,.2)}body.night-mode .featured-project-card{border-right-color:hsla(0,0%,78%,.2)}body.night-mode .featured-project-card:hover{background:hsla(0,0%,100%,.05)}body.night-mode .featured-project-image-wrap{border-bottom-color:hsla(0,0%,78%,.2)}body.night-mode .featured-project-name{color:#f7f5f2}body.night-mode .featured-project-summary{color:hsla(36,24%,96%,.6)}body.night-mode .featured-project-cta{color:#f0a860}@media (max-width:1024px){.featured-project-grid{grid-template-columns:repeat(2,1fr)}.featured-project-card:nth-child(2){border-right:none}}@media (max-width:640px){.featured-project-grid{grid-template-columns:1fr}.featured-project-card{border-right:none;border-bottom:1px dashed var(--color-border)}.featured-project-card:last-child{border-bottom:none}}.subpage-shell{min-height:100vh;width:100%;max-width:100vw;position:relative;overflow:hidden}.subpage-decor-tiger{position:absolute;top:10rem;right:8rem;bottom:auto;width:clamp(340px,32vw,560px);height:auto;z-index:0;pointer-events:none;opacity:.3;filter:grayscale(.85) sepia(.3) contrast(1.05) brightness(.92);mix-blend-mode:multiply}body.night-mode .subpage-decor-tiger{opacity:.18;filter:grayscale(1) contrast(1.1) brightness(1.4);mix-blend-mode:screen}@media (max-width:1200px){.subpage-decor-tiger{width:clamp(260px,38vw,400px);top:11rem;right:-.5rem}}@media (max-width:860px){.subpage-decor-tiger{top:13rem;bottom:auto;right:-2rem;width:clamp(300px,88vw,420px);opacity:.2}}.subpage-header{position:sticky;top:0;z-index:20}.subpage-header .navbar-inner{padding:.75rem 1.5rem}.subpage-main{max-width:var(--max-width);margin:0 auto;padding:3.5rem 1.5rem 6rem;position:relative;z-index:1}.subpage-eyebrow{font-family:var(--font-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.6rem}.subpage-title{font-family:var(--font-title);font-size:clamp(42px,7vw,76px);font-weight:500;line-height:1.05;color:var(--color-text);margin-bottom:1rem}.subpage-lede{font-size:15px;line-height:var(--line-height-body);max-width:46ch;margin-bottom:2.25rem}.subpage-empty,.subpage-lede{font-family:var(--font-body);color:var(--color-text-muted)}.subpage-empty{font-size:14px;padding:3rem 0;text-align:center}.filter-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.filter-chip{font-family:var(--font-body);font-size:12px;letter-spacing:.02em;color:var(--color-text-muted);background:transparent;border:1px dashed var(--color-border);border-radius:999px;padding:7px 16px;cursor:pointer;transition:all .2s ease}.filter-chip:focus-visible,.filter-chip:hover{color:var(--color-text);border-color:var(--color-accent);border-style:solid}.filter-chip.active{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent);border-style:solid}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px dashed var(--color-border);border-right:none;border-bottom:none}.work-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:1.6rem 1.5rem;border-right:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border);text-decoration:none;color:var(--color-text);overflow:hidden;isolation:isolate;background:hsla(0,0%,100%,.4);transition:background .25s ease}.work-card:focus-visible,.work-card:hover{background:hsla(0,0%,100%,.65)}.work-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;opacity:0;transition:opacity .22s ease;pointer-events:none;z-index:-1}.work-card-scrim{display:none}.work-card:focus-visible .work-card-image,.work-card:hover .work-card-image{opacity:.18}.work-card-tag{font-family:var(--font-body);font-size:10px;letter-spacing:.02em;color:var(--color-text-muted);background:rgba(0,0,0,.04);padding:2px 6px;display:inline-block;width:fit-content;margin-bottom:.6rem}.work-card-title{font-family:var(--font-title);font-size:21px;font-weight:500;line-height:1.18;color:var(--color-text);margin:0 0 .7rem}.work-card-cta{font-family:var(--font-body);font-size:11px;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);display:inline-flex;align-items:center;gap:.3rem}.work-card-cta-arrow{transition:transform .2s ease;display:inline-block}.work-card:hover .work-card-cta-arrow{transform:translateX(3px)}body.night-mode .work-card,body.night-mode .work-grid{border-color:hsla(0,0%,78%,.2)}body.night-mode .work-card{background:hsla(0,0%,100%,.04);color:#f7f5f2}body.night-mode .work-card:focus-visible,body.night-mode .work-card:hover{background:hsla(0,0%,100%,.08)}body.night-mode .work-card-title{color:#f7f5f2}body.night-mode .work-card-tag{background:hsla(0,0%,100%,.06);color:hsla(36,24%,96%,.6)}body.night-mode .work-card-cta{color:#f0a860}@media (max-width:1024px){.work-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.work-grid{grid-template-columns:1fr}.work-card{min-height:190px}}body.night-mode .subpage-title{color:#f7f5f2}body.night-mode .subpage-eyebrow,body.night-mode .subpage-lede{color:hsla(36,24%,96%,.6)}body.night-mode .filter-chip{color:hsla(36,24%,96%,.6);border-color:hsla(0,0%,78%,.3)}body.night-mode .filter-chip.active{background:#f0a860;border-color:#f0a860;color:#1a1a1a}.project-detail-index{font-family:var(--font-body);font-size:12px;color:var(--color-text-muted);margin-bottom:.75rem;letter-spacing:.08em}.project-detail-title{font-family:var(--font-title);font-size:clamp(38px,6vw,64px);font-weight:500;line-height:1.08;color:var(--color-text);margin-bottom:1.1rem}.project-detail-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2rem}.project-tag-accent{color:var(--color-accent);background:rgba(155,80,51,.1);border:1px solid rgba(155,80,51,.35)}.project-detail-hero{width:100%;overflow:hidden;border:1.5px dashed var(--color-border);margin-bottom:2.5rem;background:#1c1812}.project-detail-hero-chrome{display:flex;align-items:center;gap:7px;padding:11px 15px;border-bottom:1px dashed hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.02)}.project-detail-hero-dot{width:9px;height:9px;border-radius:50%;background:hsla(0,0%,100%,.16)}.project-detail-hero-frame{display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2.5rem);min-height:220px}.project-detail-hero-frame img{max-width:100%;max-height:min(560px,62vh);width:auto;height:auto;object-fit:contain;display:block;border-radius:5px;box-shadow:0 20px 44px -20px rgba(0,0,0,.5)}body.night-mode .project-detail-hero{background:#141210}@media (max-width:600px){.project-detail-hero-frame{padding:.75rem;min-height:160px}.project-detail-hero-frame img{max-height:46vh}}.project-detail-body{display:grid;grid-template-columns:1fr 260px;gap:3rem}.project-detail-description .modal-section-title{margin-bottom:.75rem}.project-detail-description .body-text{color:var(--color-text-muted);margin:0 0 1.15em}.project-detail-description .body-text:last-child{margin-bottom:0}.project-detail-description .body-text a{color:var(--color-text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.project-detail-aside{border-left:1px dashed var(--color-border);padding-left:1.75rem;display:flex;flex-direction:column;gap:1.75rem;height:fit-content}.project-detail-aside-label{font-family:var(--font-body);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.65rem}.project-detail-stack-list{list-style:none;font-family:var(--font-body);font-size:13.5px;color:var(--color-text);display:flex;flex-direction:column;gap:.4rem}.project-detail-stack-list li{padding-left:.9rem;position:relative}.project-detail-stack-list li:before{content:"·";position:absolute;left:0;color:var(--color-accent)}.project-detail-cta{justify-content:center;width:100%}.project-detail-footer-nav{margin-top:3.5rem;padding-top:1.5rem;border-top:1px dashed var(--color-border)}body.night-mode .project-detail-title{color:#f7f5f2}body.night-mode .project-detail-index{color:hsla(36,24%,96%,.5)}body.night-mode .project-tag-accent{color:#f0a860;background:rgba(240,168,96,.12);border-color:rgba(240,168,96,.4)}body.night-mode .project-detail-hero{border-color:hsla(0,0%,78%,.2)}body.night-mode .project-detail-aside{border-left-color:hsla(0,0%,78%,.2)}body.night-mode .project-detail-aside-label{color:hsla(36,24%,96%,.5)}body.night-mode .project-detail-stack-list{color:#f7f5f2}body.night-mode .project-detail-footer-nav{border-top-color:hsla(0,0%,78%,.2)}@media (max-width:768px){.project-detail-body{grid-template-columns:1fr}.project-detail-aside{border-left:none;padding-left:0;border-top:1px dashed var(--color-border);padding-top:1.5rem}.subpage-main{padding:2.5rem 1.25rem 4rem}}@media (max-width:600px){.subpage-header .navbar-inner{padding:.6rem 1rem;gap:.5rem}.subpage-header .navbar-link{font-size:11px;padding:0 10px;min-width:0;height:30px;white-space:nowrap}.subpage-header .navbar-name{font-size:15px;white-space:nowrap}.subpage-main{padding:2rem 1rem 3rem}.subpage-eyebrow{font-size:10px}.subpage-lede{font-size:13.5px}.subpage-empty{padding:2rem 0}.filter-chip-row{gap:.4rem;margin-bottom:1.75rem}.filter-chip{font-size:11px;padding:6px 12px}.work-grid{border-left:none;border-right:none}.work-card{min-height:160px;padding:1.1rem 1.1rem 1rem}.work-card-title{font-size:18px}.work-card-tag{font-size:9px;padding:2px 5px}.work-card-cta{font-size:10px}.project-detail-title{font-size:clamp(30px,9vw,40px);margin-bottom:.85rem}.project-detail-index{font-size:11px;margin-bottom:.5rem}.project-detail-tags{gap:.3rem;margin-bottom:1.5rem}.project-detail-hero{margin-bottom:1.75rem}.project-detail-body{gap:2rem}.project-detail-aside{padding-top:1.25rem;gap:1.25rem}.project-detail-aside-label{font-size:10px}.project-detail-stack-list{font-size:13px}.project-detail-footer-nav{margin-top:2.5rem;padding-top:1.25rem}.featured-project-name{font-size:19px}.featured-project-summary{font-size:12.5px}.all-work-link{font-size:11px;padding:7px 12px}.projects-heading-row{gap:.5rem}}@media (max-width:360px){.subpage-header .navbar-inner{flex-wrap:wrap;row-gap:.4rem}.subpage-header .navbar-link{font-size:10px;padding:0 8px;height:28px}.subpage-header .navbar-name{font-size:14px}.work-card{min-height:145px}}