/* Last update 2026-02-19 21:13:12 +00:00 by scssphp */
@charset "UTF-8";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:1rem;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}html{-webkit-text-size-adjust:100%}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}*,*::before,*::after{box-sizing:border-box}@font-face{font-family:"Name Sans";src:url(../fonts/AT-NameSansVariable-Upright.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:"Name Sans";src:url(../fonts/AT-NameSansVariable-Italic.woff2)format("woff2");font-style:italic;font-weight:100 900;font-display:swap}h1,h2,h3,h4,h5,h6{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;color:#1a1a1a}body{color:#333333;font-family:-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,Ubuntu,Roboto,Noto,Arial,sans-serif;font-weight:400;line-height:1.6;background-color:#fbfbfb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:#d25630;color:white}html.theme-switching,html.theme-switching *,html.theme-switching *::before,html.theme-switching *::after{transition-duration:0s !important}h1{font-size:2.441rem;font-weight:600;font-variation-settings:"opsz" 72;line-height:1.2;text-align:left;margin-bottom:1.5rem}@media(min-width:640px){h1{font-size:3.815rem}}h2{font-size:1.25rem;font-weight:500;line-height:1.2;text-transform:uppercase}h3{font-size:1.563rem;font-weight:500;margin-bottom:1rem}h4{font-weight:400;color:#555555}.liga{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1;color:#d25630}h5{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-weight:400;font-size:.8rem;color:#777777;text-transform:uppercase;letter-spacing:.05em;line-height:1}h6{font-size:.8rem;text-transform:uppercase;color:#777777}mark{background:rgba(246,198,0,.4);border-radius:4px;padding:2px 1px;box-shadow:2px 0 0 rgba(246,198,0,.4),-2px 0 0 rgba(246,198,0,.4)}em{font-style:italic}strong{font-weight:bold}sup{vertical-align:super}a:link,a:visited{text-decoration:none}h1 a{color:#1a1a1a}.post p a,.aboutme a,.page p a,.experience a{color:#d25630}.post p a:hover,.aboutme a:hover,.page p a:hover,.experience a:hover,.sitenav a:hover{border-bottom:1px dashed #777777;color:#d25630}#container{display:grid;margin:0 auto;width:100%;max-width:88rem;position:relative;z-index:1;contain:style}footer{padding:2rem;background-color:#f7f7f7;color:#555555}@media(max-width:639px){footer{padding-bottom:5rem}}.footer-inner{max-width:64rem;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem}.footer-nav h4,.footer-social h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#999999;margin-bottom:.75rem}.footer-nav ul,.footer-social ul{list-style:none;padding:0;margin:0}.footer-nav li,.footer-social li{margin-bottom:.25rem}.footer-nav a,.footer-social a{color:#777777;text-decoration:none}.footer-nav a:hover,.footer-social a:hover{color:#1a1a1a}.footer-copy{color:#999999;margin:0;font-size:.8rem;margin-left:auto;align-self:flex-end}@media(max-width:639px){.footer-inner{flex-direction:column;gap:1.5rem}}body[data-template=home],body[data-template=photos],body[data-template=projects]{overflow-x:hidden}body[data-template=home] #container,body[data-template=photos] #container,body[data-template=projects] #container{max-width:none}.page,.post{max-width:64rem;margin:4rem auto 0;padding:0 1rem}.page-wide{max-width:88rem;padding:0}.page-wide > h1{text-align:center;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}.page-wide > h1.scroll-hidden{opacity:0;transform:translateY(-1rem);pointer-events:none}.page-wide > h2{font-size:1.25rem;font-weight:500;text-transform:uppercase;text-align:center;color:#999999;margin-bottom:1.5rem}.page-full{max-width:none}.action-link{display:inline-flex;align-items:center;gap:.25rem;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-feature-settings:"ss02";color:#999999;text-decoration:none}.action-link:hover{color:#1a1a1a}.action-link svg{flex-shrink:0}.action-link-center{display:flex;justify-content:center;margin-bottom:2rem}.sub-nav{display:flex;justify-content:center;gap:.75rem;margin-bottom:4rem}.sub-nav .action-link{padding:.25rem .75rem;border-radius:999px;transition:color .25s ease,background .25s ease}.sub-nav .action-link.active{color:#1a1a1a;background:rgba(0,0,0,.06)}.coming-soon-placeholder{margin:0 2rem;padding:5rem 2rem;text-align:center;color:#999999;border:2px dashed #d4d4d4;border-radius:1rem}.coming-soon-placeholder h2{font-size:1.25rem;font-weight:500;text-transform:uppercase;text-align:center;color:#999999;margin:0}@keyframes stories-fill{from{width:0}to{width:100%}}.stories-viewer{position:fixed;inset:0;z-index:200;background:black;display:flex;align-items:center;justify-content:center}.stories-viewer.paused .stories-img{filter:brightness(.7)}.stories-viewer.paused .stories-progress-fill{animation-play-state:paused}.stories-progress{position:absolute;top:1rem;left:1rem;right:calc(1rem + 44px + .5rem);display:flex;gap:3px;z-index:10}.stories-progress-bar{flex:1;height:3px;background:rgba(255,255,255,.25);border-radius:2px;overflow:hidden}.stories-progress-bar .stories-progress-fill{height:100%;background:white;width:0;border-radius:2px}.stories-progress-bar.done .stories-progress-fill{width:100%}.stories-progress-bar.active .stories-progress-fill{animation:stories-fill linear forwards}.stories-stage{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.stories-slide{display:none}.stories-img{width:100%;height:100%;object-fit:contain;transition:filter .25s ease;user-select:none;-webkit-user-select:none}.stories-meta{position:absolute;bottom:3rem;left:1.5rem;right:1.5rem;text-align:center;font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:rgba(255,255,255,.65);letter-spacing:.05em;font-variant-numeric:tabular-nums;pointer-events:auto}.stories-meta a{color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:2px}.stories-meta a:hover{color:white}.stories-tap{position:absolute;top:0;bottom:0;z-index:5;cursor:pointer}.stories-tap-prev{left:0;width:33.333%}.stories-tap-next{right:0;width:66.666%}.stories-close{position:absolute;top:1rem;right:1rem;z-index:15;width:44px;height:44px;border-radius:100px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.15);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:none;line-height:1;transition:opacity .25s ease}.stories-close:hover{opacity:.8}.stories-close:active{transform:scale(.92)}.stories-lightroom-cta{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:15;font-size:.75rem;color:rgba(255,255,255,.5);text-decoration:none;letter-spacing:.05em;transition:color .25s ease}.stories-lightroom-cta:hover{color:white}body[data-template=home] #pill-bar:not(.nav-mode){display:none}body.stories-active{overflow:hidden}body.stories-active .top-bar,body.stories-active #pill-bar,body.stories-active .action-link-center{display:none}.photo-map{width:100vw;margin-left:calc(-50vw + 50%);height:calc(100vh - 10rem);min-height:400px;border-radius:0}.map-marker-icon{background:none !important;border:none !important}.map-marker-img{width:48px;height:48px;border-radius:50%;border:2px solid white;object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .25s ease}@media(hover:hover){.map-marker-img:hover{transform:scale(1.15)}}.map-cluster-icon{background:none !important;border:none !important}.map-cluster{width:36px;height:36px;border-radius:50%;background:#d25630;color:white;font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.3)}.project{max-width:68rem}hr{border:0;border-bottom:1px dashed #d4d4d4;max-width:80%;margin:2rem auto}.center{text-align:center}.text .codeblock{display:grid;line-height:1.5}.grid{--columns:12;--gutter:3rem;display:grid;gap:var(--gutter);grid-template-columns:1fr;justify-items:center;align-items:start}.grid > .column{margin-bottom:var(--gutter)}.autogrid{--gutter:3rem;--min:10rem;display:grid;gap:var(--gutter);grid-template-columns:repeat(auto-fit,minmax(var(--min),1fr));grid-auto-flow:dense}.disco-toggle{background:none;border:none;padding:0;cursor:pointer;line-height:0;transition:opacity .4s ease}.top-bar{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem calc(1.5rem + .25rem)0;z-index:400;max-width:88rem;width:100%;position:fixed;top:0;left:50%;transform:translateX(-50%);opacity:0;pointer-events:none;transition:opacity .15s ease}@media(min-width:640px){.top-bar{padding-top:1rem}}body.scroll-up .top-bar{opacity:1;pointer-events:auto}.disco-fixed{display:block;margin:1.5rem auto 0;z-index:401}.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:.5rem}.top-bar-right{flex-direction:column;align-items:flex-end;gap:.25rem}@media(min-width:640px){.top-bar-right{flex-direction:row;gap:.5rem}}.top-bar-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:100px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.75);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);box-shadow:0 4px 24px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06);font-size:1.25rem;color:#999999;text-decoration:none;cursor:pointer;line-height:1;transition:transform .25s cubic-bezier(.16,1,.3,1),filter .25s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.top-bar-btn:hover{transform:scale(1.08);filter:brightness(1.2)}}.top-bar-btn svg{width:26px;height:26px}.top-bar-avatar{display:none;padding:4px}@media(min-width:640px){.top-bar-avatar{display:flex}}.top-bar-avatar img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:block}.top-bar-search svg{width:22px;height:22px;display:block}.pin::before{content:"📍"}img{width:100%}.device img{padding:0 1rem}.error{display:block;width:100%;margin:3rem auto;max-width:700px}figure{position:relative;text-align:center}.figcaption{position:absolute;bottom:-1rem;color:#777777;left:0;max-width:64rem}figcaption a{color:#fbfbfb !important}.post img{max-width:64rem;margin:0 auto}iframe{display:block;margin:1rem auto;width:100%;height:240px}audio{display:block;padding:0 0 3rem}blockquote{background-color:#f7f7f7;line-height:1.5;font-size:1.563rem;padding:1rem 0;font-style:italic;display:block;width:100%}.articletop{margin:2rem 0 1.5rem;text-align:center}.articletop h1{text-align:center}.articletop .subheadline{color:#555555;margin-bottom:.5rem}.articletop h4{font-size:.8rem}.word-swap{display:inline;white-space:nowrap}.splitflap-char{display:inline-block;position:relative;white-space:pre}.splitflap-char.flipping::after{content:"";position:absolute;left:-1px;right:-1px;top:50%;height:1px;background:#d4d4d4;z-index:1}@media screen and (prefers-color-scheme:dark){.splitflap-char.flipping::after{background:#555555}}@media(prefers-reduced-motion:reduce){.splitflap-char{animation:none !important;transition:none !important}}.gridholder{margin:2rem 0}.link{color:#d25630;float:right;font-size:1rem;letter-spacing:0}.albumgrid,.projectsgrid,.rolesgrid{display:grid;grid-template-columns:1fr;gap:3rem;max-width:100%;position:relative}.projectsgrid{overflow:visible}.albumgrid{overflow:hidden}.projectsgrid > .child,.rolesgrid > .child{color:#555555}.projectsgrid > .child .projectmeta,.rolesgrid > .child .projectmeta{padding:0;line-height:1.4}.projectsgrid > .child .projectmeta p,.rolesgrid > .child .projectmeta p{line-height:1.6}.projectsgrid > .child .projectheader,.rolesgrid > .child .projectheader{display:flex;justify-content:space-between;align-items:baseline}.projectsgrid > .child h4,.rolesgrid > .child h4{margin:0;color:#777777}.projectsgrid > .child h5,.rolesgrid > .child h5{margin:0;text-align:left}.projectsgrid > .child ul,.rolesgrid > .child ul{margin-top:1rem;margin-bottom:0}.projectsgrid > .child li,.rolesgrid > .child li{line-height:1.5;list-style:circle;list-style-position:inside}.projectsgrid > .child a,.rolesgrid > .child a{color:#333333}.projectcover{border-radius:2px;overflow:hidden;margin-bottom:1rem}.projectcover img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}.project-card{--card-color:rgba(255,255,255,.75);position:relative;background:var(--card-color);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);border-radius:4px;padding:0 0 2rem;border:1px solid var(--card-shadow,rgba(0,0,0,.08));box-shadow:0 2px 8px var(--card-shadow,rgba(0,0,0,.06));height:100%;display:flex;flex-direction:column}.project-card .project-card-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:.25rem;padding:1rem .5rem 0}.project-card h4{margin-bottom:0;white-space:nowrap}.project-card h6{margin-bottom:0;white-space:nowrap}.project-card .projectcover{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:16/9;margin-bottom:0}.project-card .projectcover img{width:100%;height:100%;object-fit:cover;display:block}.project-card .factory-tag{position:absolute;top:.5rem;left:.5rem;background:#f6c600;color:#1a1a1a;font-size:.75rem;font-weight:700;line-height:1;padding:5px 8px 3px;border-radius:10px;letter-spacing:.05em;font-feature-settings:"ordn","tnum";margin:0;display:flex;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4);animation:badge-glow 3s ease-in-out infinite}.project-card .project-card-desc{margin:0;padding:0 .5rem;font-size:.8rem}@keyframes badge-glow{0%{box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4),3px -2px 12px rgba(246,198,0,.7)}25%{box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4),2px 3px 12px rgba(246,198,0,.7)}50%{box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4),-3px 2px 12px rgba(246,198,0,.7)}75%{box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4),-2px -3px 12px rgba(246,198,0,.7)}100%{box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4),3px -2px 12px rgba(246,198,0,.7)}}.projectsgrid .child > a,.projects-organic .child > a{display:flex;height:100%}.projectsgrid .project-card .project-card-title,.projects-organic .project-card .project-card-title{color:var(--card-title)}.projectsgrid .project-card h6,.projects-organic .project-card h6{color:var(--card-body)}.projectsgrid .project-card .project-card-desc,.projects-organic .project-card .project-card-desc{color:var(--card-body)}.albumgrid > .child{position:relative;text-align:center;overflow:hidden;border-radius:2px}.albumgrid > .child figure{margin:0;aspect-ratio:4/3;position:relative}.albumgrid > .child figure::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 16px 3px rgba(255,255,255,.12),inset 0 0 5px 1px rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);pointer-events:none;z-index:5}.albumgrid img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;filter:blur(8px);opacity:0;transition:filter .4s ease,opacity .4s ease}.albumgrid img.loaded{filter:blur(0);opacity:1}.albumgrid-square > .child figure,.albumgrid-square img{aspect-ratio:1/1}.mixtape-cover img{width:100%;border-radius:4px;aspect-ratio:1/1;object-fit:cover}.mixtape-sides{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.albumgrid > .child h3{text-shadow:0 0 .3em rgba(0,0,0,.6);position:absolute;margin:0 auto;max-width:90%;left:1rem;bottom:1rem;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;color:#f7f7f7}.gridimg:hover::after{opacity:1}.albumgrid .child.photo-stack{overflow:visible}.albumgrid .child.photo-stack figure{position:relative;z-index:4;border-radius:2px;overflow:hidden}.stack-layer{position:absolute;inset:0;border-radius:2px;overflow:hidden;border:1px solid rgba(0,0,0,.05);transition:transform .4s ease}.stack-layer img{width:100%;height:100%;object-fit:cover}.stack-layer.layer-1{z-index:2;box-shadow:0 1px 1px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.08),0 4px 10px rgba(0,0,0,.06)}.stack-layer.layer-2{z-index:1;box-shadow:0 1px 1px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.06),0 6px 14px rgba(0,0,0,.05)}.albumgrid .child.photo-stack:nth-child(9n+1)> .layer-1{transform:rotate(2.8deg)translate(5px,5px)}.albumgrid .child.photo-stack:nth-child(9n+1)> .layer-2{transform:rotate(-3.5deg)translate(-4px,9px)}.albumgrid .child.photo-stack:nth-child(9n+2)> .layer-1{transform:rotate(-2deg)translate(-3px,6px)}.albumgrid .child.photo-stack:nth-child(9n+2)> .layer-2{transform:rotate(4deg)translate(5px,11px)}.albumgrid .child.photo-stack:nth-child(9n+3)> .layer-1{transform:rotate(3.5deg)translate(4px,4px)}.albumgrid .child.photo-stack:nth-child(9n+3)> .layer-2{transform:rotate(-2.5deg)translate(-6px,8px)}.albumgrid .child.photo-stack:nth-child(9n+4)> .layer-1{transform:rotate(-1.5deg)translate(-5px,7px)}.albumgrid .child.photo-stack:nth-child(9n+4)> .layer-2{transform:rotate(3deg)translate(3px,10px)}.albumgrid .child.photo-stack:nth-child(9n+5)> .layer-1{transform:rotate(4deg)translate(3px,5px)}.albumgrid .child.photo-stack:nth-child(9n+5)> .layer-2{transform:rotate(-4deg)translate(-5px,12px)}.albumgrid .child.photo-stack:nth-child(9n+6)> .layer-1{transform:rotate(-3deg)translate(-4px,6px)}.albumgrid .child.photo-stack:nth-child(9n+6)> .layer-2{transform:rotate(2deg)translate(6px,8px)}.albumgrid .child.photo-stack:nth-child(9n+7)> .layer-1{transform:rotate(1.8deg)translate(3px,7px)}.albumgrid .child.photo-stack:nth-child(9n+7)> .layer-2{transform:rotate(-4.2deg)translate(-5px,10px)}.albumgrid .child.photo-stack:nth-child(9n+8)> .layer-1{transform:rotate(-3.5deg)translate(-6px,4px)}.albumgrid .child.photo-stack:nth-child(9n+8)> .layer-2{transform:rotate(2.5deg)translate(4px,9px)}.albumgrid .child.photo-stack:nth-child(9n)> .layer-1{transform:rotate(4.2deg)translate(5px,6px)}.albumgrid .child.photo-stack:nth-child(9n)> .layer-2{transform:rotate(-1.8deg)translate(-3px,11px)}.albumgrid .child.photo-stack:hover > .layer-1{transform:rotate(.5deg)translate(2px,3px)}.albumgrid .child.photo-stack:hover > .layer-2{transform:rotate(-.8deg)translate(-2px,5px)}.album-text{max-width:40rem;margin:0 auto 2rem;color:#555555}.album-gallery{display:grid;grid-template-columns:1fr;gap:1rem}.album-gallery a{display:block}.album-gallery figure{margin:0}.album-gallery img{border-radius:8px;object-fit:cover;width:100%}.album-gallery h2{margin-top:1rem;font-size:2.441rem;font-weight:600}.album-gallery hr{border:none;border-top:1px solid #d4d4d4;margin:1rem 0 0}.home .gridholder{position:relative;margin:4rem 0}.home h2{margin:0 auto 1.5rem;font-size:1.25rem;color:#555555}.home .albumgrid{grid-template-columns:1fr}.home .projectsgrid{overflow:visible}.side{background:#f2f2f2;padding:1.5rem;border-radius:2px;align-self:center;display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;align-items:baseline}.side h6{grid-column:1/-1;margin:0 0 .5rem}.side .stat{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.side .stat + .stat{margin-top:.25rem}.side h5{margin:0;grid-column:1}.side h3{font-size:1rem;font-weight:400;margin:0;line-height:1.3;text-align:right;grid-column:2}.side p{font-size:1rem;font-weight:400;margin:0;line-height:1.3;grid-column:2;text-align:right}.side ul{grid-column:1/-1;padding:.5rem 0 0;list-style:circle;margin-bottom:0}.side ul li{list-style-position:inside}.experience p{margin:1rem 0}.experience p a{color:#d25630}.pill-bar{position:fixed;z-index:400;display:flex;justify-content:space-between;align-items:center;bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;right:1rem;opacity:0;pointer-events:none;transition:opacity .15s ease}body.scroll-up .pill-bar{opacity:1;pointer-events:auto}.pill-bar.hidden{opacity:0;pointer-events:none}.pill{border-radius:100px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.75);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);color:#1a1a1a;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);contain:layout style;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06);white-space:nowrap;line-height:1;user-select:none;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;text-decoration:none}@media(hover:hover){.pill:hover{transform:scale(1.08);filter:brightness(1.2)}}.pill:active{transform:scale(.92)}.pill .liga{color:inherit}.pill-prev,.pill-next{width:48px;height:48px;text-decoration:none;flex-shrink:0;font-size:1rem}.pill-prev.hidden,.pill-next.hidden{visibility:hidden;pointer-events:none}@media(min-width:640px){.pill-prev,.pill-next{width:44px;height:44px;font-size:1.125rem}}.pill-bar.nav-mode{opacity:1;pointer-events:auto}@media(max-width:639px){body[data-template=home] .home-section{overflow:hidden}}.home-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 2rem 2rem;position:relative;min-height:48vh;overflow:hidden}.home-hero h1{margin-top:2rem;margin-bottom:0;text-align:center;font-size:clamp(2rem,8vw,3.815rem);color:#1a1a1a;font-weight:700}@media(min-width:640px){.home-hero h1{font-size:4.768rem}}.home-hero .word-swap-line{margin:0;text-align:center;font-size:clamp(2rem,8vw,3.815rem);font-weight:700;color:#999999;line-height:1.1}@media(min-width:640px){.home-hero .word-swap-line{font-size:4.768rem}}.disco-ball-hero{width:240px;height:240px;border-radius:50%;border:none;background:none;cursor:pointer;padding:0;margin-top:1rem;transition:transform .4s cubic-bezier(.16,1,.3,1)}@media(min-width:640px){.disco-ball-hero{margin-top:0}}@media(hover:hover){.disco-ball-hero:hover{transform:scale(1.05)}}.disco-ball-hero:active{transform:scale(.95)}.disco-ball-hero .disco-ball{width:240px !important;height:240px !important}.home-section{max-width:88rem;margin:0 auto;padding:3rem 2rem}@media(max-width:639px){.home-section{padding:2rem .75rem}}.home-section.full-width{max-width:none;padding:3rem 0}.home-section.full-width h2{padding:0 2rem}@media(max-width:639px){.home-section.full-width h2{padding:0 .75rem}}.home-section h2{font-size:1.25rem;font-weight:500;text-transform:uppercase;text-align:center;color:#999999;max-width:none;margin:0 0 3rem}.home-section h2 a{color:inherit;text-decoration:none}.home-section .section-subline{font-size:.8rem;color:#999999;margin:-2rem 0 3rem}.home-section.full-width .section-subline{padding:0 2rem}@media(max-width:639px){.home-section.full-width .section-subline{padding:0 .75rem}}.projects-organic{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,20rem));justify-content:center;gap:3rem;position:relative}@media(max-width:639px){.projects-organic{grid-template-columns:1fr;gap:2rem;padding:0 .75rem}}.projects-organic > .child{transition:transform .4s cubic-bezier(.16,1,.3,1);border-radius:4px}@media(min-width:640px){.projects-organic > .child{transform:translate(var(--tx,0),var(--ty,0))}}.projects-organic > .child.dragging{transform:scale(1.02)}.mini-lightroom-surface{position:relative;width:100%;height:600px;overflow:visible}@media(max-width:639px){.mini-lightroom-surface{margin-top:-3rem;margin-bottom:-2rem}}.mini-lightroom-surface.lightroom-full{height:auto;min-height:80vh;overflow:visible;width:100vw;margin-left:calc(-50vw + 50%);padding:2rem 0}.mini-lightroom-surface.lightroom-full .mini-print{opacity:0;transform:translate(-50%,-50%)rotate(var(--rotation,0deg))scale(.85);transition:opacity .4s ease,transform .5s cubic-bezier(.16,1,.3,1)}.mini-lightroom-surface.lightroom-full .mini-print.visible{opacity:1;transform:translate(-50%,-50%)rotate(var(--rotation,0deg))scale(1)}.mini-lightroom-surface.lightroom-full .mini-print img{width:180px}@media(min-width:40rem){.mini-lightroom-surface.lightroom-full .mini-print img{width:200px}}@media(min-width:64rem){.mini-lightroom-surface.lightroom-full .mini-print img{width:220px}}.mini-lightroom-surface.lightroom-masonry{columns:2;column-gap:.5rem;padding:.75rem;height:auto !important}.mini-lightroom-surface.lightroom-masonry .mini-print{position:relative;transform:rotate(var(--rotation,0deg))scale(.85);display:inline-block;width:100%;margin-bottom:.5rem;break-inside:avoid;cursor:pointer}.mini-lightroom-surface.lightroom-masonry .mini-print.visible{transform:rotate(var(--rotation,0deg))scale(1)}.mini-lightroom-surface.lightroom-masonry .mini-print img{width:100%}.mini-print{position:absolute;transform:translate(-50%,-50%)rotate(var(--rotation,0deg));cursor:grab;transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s ease;contain:layout style paint;border-radius:2px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);user-select:none;-webkit-user-select:none;touch-action:pan-y}.mini-print::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 16px 3px rgba(255,255,255,.12),inset 0 0 5px 1px rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);pointer-events:none;z-index:5}@media(hover:hover){.mini-print:hover{z-index:50 !important;transform:translate(-50%,-50%)rotate(var(--rotation,0deg))scale(1.04)translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.12),0 4px 6px rgba(0,0,0,.08)}}.mini-print.dragging{cursor:grabbing;box-shadow:0 8px 24px rgba(0,0,0,.15);transition:box-shadow .25s ease}.mini-print img{display:block;width:240px;height:auto;border-radius:2px;pointer-events:none;user-select:none}.albums-subsection{padding:3rem 2rem}.albums-subsection h2,.albums-subsection h3{font-size:1.25rem;font-weight:500;text-transform:uppercase;text-align:center;color:#999999;margin-bottom:1.5rem}.albums-subsection h2 a,.albums-subsection h3 a{color:inherit;text-decoration:none}.page-wide .home-section{padding-top:0}.photos-browse{padding:0 2rem 3rem}@media(max-width:639px){.photos-browse{padding:0 .75rem 3rem}}.photos-browse-collections,.photos-browse-year{margin-bottom:4rem}.photos-browse-collections h2,.photos-browse-year h2{font-size:1.25rem;font-weight:500;text-transform:uppercase;text-align:center;color:#999999;margin-bottom:1.5rem}.album-stack-link{position:relative;display:block;text-decoration:none;color:inherit;transform:rotate(var(--rotation,0deg));transition:transform .4s cubic-bezier(.16,1,.3,1)}.album-stack-link:hover{transform:rotate(0deg)scale(1.02)}.albums-organic{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,24rem));justify-content:center;gap:3rem;padding:0 2rem}@media(max-width:639px){.albums-organic{grid-template-columns:1fr;gap:2rem;padding:0 .75rem}}.album-stack{position:relative;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;transition:transform .4s cubic-bezier(.16,1,.3,1)}@media(max-width:639px){.album-stack{touch-action:auto;cursor:pointer}}@media(min-width:640px){.album-stack{transform:translate(var(--tx,0),var(--ty,0))}}.album-stack.dragging{cursor:grabbing;transform:scale(1.02)}.album-stack h3{position:absolute;bottom:.5rem;right:.5rem;font-size:.8rem;font-weight:500;color:white;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.5)}.album-stack-layer{position:absolute;top:0;left:0;width:100%;border-radius:2px;overflow:hidden}.album-stack-layer:nth-child(1){transform:rotate(-3deg)translate(-4px,4px);opacity:.5;filter:blur(1px)}.album-stack-layer:nth-child(2){transform:rotate(2deg)translate(3px,-2px);opacity:.7}.album-stack-layer img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:2px}.album-stack-cover{position:relative;z-index:2;border-radius:2px;overflow:hidden;box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025)}.album-stack-cover::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 16px 3px rgba(255,255,255,.12),inset 0 0 5px 1px rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);pointer-events:none;z-index:5}.album-stack-cover img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:2px}.album-stack-cover h4{position:absolute;bottom:0;left:0;right:0;margin:0;padding:1.5rem .75rem .5rem;color:#fff !important;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.5))}.mixtapes-placeholder{text-align:center;padding:3rem;color:#b3b3b3;font-size:.8rem;border:1px dashed #d4d4d4;border-radius:4px}.overlay-cover{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:16/9;margin-bottom:1rem}.overlay-cover img{width:100%;height:100%;object-fit:cover;display:block}.overlay-tag{position:absolute;top:.5rem;left:.5rem;display:inline-flex;align-items:center;background:#f6c600;color:#1a1a1a;font-size:.75rem;font-weight:700;line-height:1;padding:5px 8px 3px;border-radius:10px;letter-spacing:.05em;font-feature-settings:"ordn","tnum";margin:0;box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4);animation:badge-glow 3s ease-in-out infinite}.overlay-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:.5rem;margin-bottom:.75rem}.overlay-header h3{color:var(--card-title,#1a1a1a);margin-bottom:0}.overlay-header h6{color:var(--card-body,#999999);margin:0;font-size:.8rem}.overlay-desc{color:var(--card-body,#555555);margin-bottom:1.25rem;font-size:1rem;line-height:1.6}.overlay-text{color:var(--card-body,#555555);font-size:1rem;line-height:1.6;margin-bottom:.5rem}.overlay-text p{margin:0 0 .75rem}.overlay-text p:last-child{margin-bottom:0}.overlay-text ul,.overlay-text ol{margin:0 0 .75rem;padding-left:1.25rem}.overlay-text a{color:var(--card-title,#1a1a1a);text-decoration:underline;text-underline-offset:2px}.overlay-text strong{color:var(--card-title,#1a1a1a)}.info-panel{position:fixed;top:50%;left:50%;translate:-50% -50%;width:min(640px,100vw - 2rem);max-height:calc(100vh - 4rem);overflow-y:auto;border-radius:16px;z-index:500;padding:2rem;background:rgba(255,255,255,.75);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);opacity:0;scale:.96;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1),scale .4s cubic-bezier(.16,1,.3,1);box-shadow:0 16px 48px rgba(0,0,0,.12);display:grid;grid-template-columns:auto 1fr;gap:0 1rem;text-align:left}.info-panel.open{opacity:1;scale:1;pointer-events:auto}.info-panel .info-header{grid-column:1/-1;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.info-panel .info-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;display:block}.info-panel h2{font-size:1.25rem;font-weight:600;margin:0}.info-panel .info-bio,.info-panel .info-stats,.info-panel .info-social,.info-panel .info-view-about,.info-panel nav{grid-column:1/-1}.info-panel p,.info-panel .info-bio p{font-size:1rem;line-height:1.6;color:#555555;margin-bottom:.5rem;text-align:left}.info-panel .info-bio a{color:#d25630;text-decoration:none}.info-panel .info-bio a:hover{text-decoration:underline}.info-panel .info-stats{background:#d4d4d4;border-radius:10px;padding:.75rem 1rem;margin-bottom:.5rem}.info-panel .stat-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed rgba(0,0,0,.1);font-size:1rem;font-variant-numeric:tabular-nums}.info-panel .stat-row:last-child{border-bottom:none}.info-panel .stat-row .label{color:#999999}.info-panel .stat-row .value{font-weight:600}.info-panel nav{margin-top:1.5rem}.info-panel nav h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#b3b3b3;margin-bottom:.5rem}.info-panel nav a{display:inline;margin-right:1rem;font-size:1rem;color:#555555;text-decoration:none}.info-panel nav a:hover{color:#d25630}.info-panel .info-social{margin-top:1rem}.info-panel .info-view-about{display:block;text-align:center;padding:1rem 0 0;color:#d25630;text-decoration:none;font-size:1rem;font-weight:500}@media(max-width:639px){.info-panel{top:auto;bottom:0;left:0;translate:0 100%;width:100%;height:auto;max-height:calc(100dvh - 2rem);border-radius:16px 16px 0 0;padding:1.5rem 1.5rem 2rem;transition:opacity .4s cubic-bezier(.16,1,.3,1),translate .4s cubic-bezier(.16,1,.3,1)}.info-panel.open{translate:0 0}}.pill-reset{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;font-size:1.125rem;z-index:410}.pill-reset.hidden{display:none}@media(max-width:639px){.pill-reset{top:.75rem;right:.75rem;bottom:auto;width:36px;height:36px;font-size:1rem}}.info-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:500;opacity:0;pointer-events:none;transition:opacity .6s ease}.info-overlay.open{opacity:1;pointer-events:auto}.spotlight-trigger{background:none;border:none;cursor:pointer;color:#777777;padding:8px;display:flex;align-items:center;justify-content:center;transition:color .25s ease}.spotlight-trigger:hover{color:#1a1a1a}.spotlight-backdrop{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s ease}.spotlight-backdrop.active{opacity:1;pointer-events:auto}.spotlight-panel{position:fixed;z-index:3001;top:min(20vh,160px);left:50%;translate:-50% 0;width:min(560px,100vw - 2rem);border-radius:12px;background:rgba(255,255,255,.75);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);border:1px solid rgba(0,0,0,.08);box-shadow:0 16px 48px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.06);overflow:hidden;opacity:0;scale:.98;pointer-events:none;transition:opacity .2s cubic-bezier(.16,1,.3,1),scale .2s cubic-bezier(.16,1,.3,1)}.spotlight-panel.active{opacity:1;scale:1;pointer-events:auto}@media(max-width:639px){.spotlight-panel{top:1.5rem;width:calc(100vw - 2rem)}}.spotlight-input-row{display:flex;align-items:center;padding:0 1rem;border-bottom:1px solid #f2f2f2}.spotlight-icon{flex-shrink:0;color:#b3b3b3}.spotlight-input{flex:1;border:none;outline:none;background:none;font-size:1.125rem;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;color:#1a1a1a;padding:14px .75rem;width:100%}.spotlight-input::placeholder{color:#b3b3b3}.spotlight-kbd{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:#b3b3b3;background:#f7f7f7;border:1px solid #f2f2f2;border-radius:4px;padding:2px 6px;line-height:1;flex-shrink:0}.spotlight-results{max-height:min(60vh,480px);overflow-y:auto;padding:4px}.spotlight-result{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;text-decoration:none;color:#555555;border-radius:8px;transition:background .25s ease;cursor:pointer}.spotlight-result.active{background:#f7f7f7;color:#1a1a1a}.spotlight-result-title{font-size:1rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.spotlight-result-parent{color:#999999}.spotlight-result-type{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:#999999;text-transform:uppercase;letter-spacing:.05em;margin-left:1rem;flex-shrink:0}.spotlight-empty{padding:1.5rem 1rem;text-align:center;color:#999999;font-size:1rem}.spotlight-section-header{padding:8px 12px 4px;font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:#999999;text-transform:uppercase;letter-spacing:.05em;user-select:none}.close-pill{position:absolute;width:36px;height:36px;border-radius:100px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.75);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);font-size:1rem;color:#999999;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .25s ease;z-index:10}.close-pill:hover{color:#1a1a1a}.info-close-pill{position:fixed;z-index:500;width:44px;height:44px;font-size:1.25rem;opacity:0;pointer-events:none;transition:opacity .25s ease}.info-close-pill.active{opacity:1;pointer-events:auto}@media(max-width:639px){.info-close-pill{top:.75rem;right:.75rem}}.post p,.post ul,.post ol,audio{max-width:40rem;margin:1rem auto;padding:0 1rem}.about-profile{display:none}@media(min-width:640px){.about-profile{display:block}}.about-profile img{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin-bottom:1rem}.about-body{display:grid;grid-template-columns:2fr 1fr;gap:3rem;max-width:64rem;margin:2rem auto 0;padding:0 .75rem}@media(max-width:639px){.about-body{grid-template-columns:1fr;gap:1.5rem}}.about-left h1{font-size:3.052rem;font-weight:700;margin:0 0 .5rem}.about-left .about-sub{font-size:1.25rem;color:#999999;margin:0 0 1.5rem}.about-left .about-intro{font-size:1rem;line-height:1.6;color:#555555}.about-stats{background:#f7f7f7;border-radius:10px;padding:.75rem 1rem;align-self:end}.about-stats > h6{margin:0 0 .5rem}.about-stats .stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dashed rgba(0,0,0,.1);font-variant-numeric:tabular-nums}.about-stats .stat-row:last-child{border-bottom:none}.about-stats .stat-row h6{margin:0;color:#999999}.about-stats .stat-row h5{margin:0;font-weight:600}.about-section-heading{text-align:center;max-width:64rem;margin:4rem auto 1rem;padding:0 .75rem}.tl-filters{display:flex;gap:2px;padding:3px;border-radius:100px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.75);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);box-shadow:0 4px 24px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06);margin:0 auto 1.5rem;width:fit-content;max-width:calc(100vw - 2rem);overflow-x:auto}.tl-filter{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:100px;border:none;background:none;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;font-size:.8rem;font-weight:500;color:#999999;cursor:pointer;transition:all .2s ease;white-space:nowrap;line-height:1}.tl-filter:hover{color:#333333}.tl-filter.active{color:#1a1a1a;background:rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.08)}.tl-filter-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.tl-filtered{display:none !important}.timeline-feed{position:relative;max-width:64rem;margin:4rem auto 0;padding:0}.home-section .timeline-feed{margin-top:0}.tl-line{position:absolute;left:50%;top:0;bottom:0;width:1.5px;background:#d4d4d4;transform:translateX(-50%)}.tl-year-marker{position:static;display:flex;align-items:center;height:0;padding:3rem 0 6rem;z-index:2}.tl-year-marker:first-child{padding-top:1rem}.tl-year-marker.tl-year-empty{padding:1rem 0 1.5rem;opacity:.35}.tl-year-dot{position:absolute;left:50%;transform:translateX(-50%);z-index:1;width:16px;height:16px;border-radius:2px;background:#f7f7f7;border:1.5px solid #b3b3b3;box-shadow:none;z-index:2}.tl-year-label{position:absolute;left:calc(50% + 16px + 8px);z-index:2;margin:0;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;font-weight:600;color:#999999;letter-spacing:.01em;white-space:nowrap;text-transform:none}.tl-entry{position:relative;width:calc(50% - 32px);cursor:pointer;user-select:none;margin:.75rem 0}.tl-entry.tl-left{margin-left:0;text-align:right}.tl-entry.tl-left .tl-entry-dot{position:absolute;right:-32px;top:14px;transform:translate(50%,-50%);z-index:2}.tl-entry.tl-left .tl-entry-row{flex-direction:row-reverse}.tl-entry.tl-left .tl-entry-content{align-items:flex-start}.tl-entry.tl-left .tl-entry-details{margin-left:0}.tl-entry.tl-right{margin-left:calc(50% + 32px)}.tl-entry.tl-right .tl-entry-dot{position:absolute;left:-32px;top:14px;transform:translate(-50%,-50%);z-index:2}.tl-dot{width:8px;height:8px;border-radius:50%;background:#d4d4d4;transition:all .2s;flex-shrink:0}.tl-type-work{background:#d25630}.tl-type-project{background:#d25630}.tl-type-trip{background:#1b2e67}.tl-type-milestone{background:#f6c600}.tl-type-life{background:#2f6d24}.tl-type-fun{background:#f6c600}.tl-entry-row{padding:6px 10px;border-radius:6px;transition:background .15s;display:inline-flex;align-items:baseline;gap:.5rem;min-height:32px}.tl-entry:hover .tl-entry-row{background:#f7f7f7}.tl-entry-content{display:flex;flex-direction:column}.tl-entry-title{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;font-size:.8rem;text-transform:uppercase;color:#1a1a1a;line-height:1.4;font-weight:500}.tl-entry-sub{font-size:.8rem;color:#999999;margin-top:1px}.tl-entry-ago{margin:0;color:#999999;font-size:.625rem;flex-shrink:0;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.tl-entry.open .tl-entry-row{display:none}.tl-entry-expand{max-height:0;overflow:hidden;opacity:0;transform:translateY(8px)scale(.98);transition:max-height .6s ease,opacity .5s ease,transform .5s cubic-bezier(.23,1,.32,1),margin .4s ease;margin:0}.tl-entry.open .tl-entry-expand{max-height:2000px;overflow:visible;opacity:1;transform:translateY(0)scale(1);margin:2px 0 .5rem 0}.tl-entry-details{padding:0 1rem 1rem;background:rgba(255,255,255,.75);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.06);text-align:left;overflow:hidden}.tl-details-header{padding-top:1rem;margin-bottom:.25rem}.tl-details-title-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.tl-details-title{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-size:1rem;font-weight:600;color:#1a1a1a;line-height:1.2}.tl-details-subtitle{font-size:.75rem;color:#999999;font-weight:400;display:block;margin-top:1px}.tl-details-image{width:calc(100% + 2rem);margin-left:-1rem;margin-bottom:.25rem;max-height:60vh;object-fit:cover;display:block}.tl-details-desc{font-size:1rem;color:#555555;line-height:1.6;margin-bottom:.5rem}.tl-details-ago{margin:0;color:#999999;flex-shrink:0;white-space:nowrap;text-transform:none}.tl-details-link{margin-top:.25rem}.tl-entry.no-details{cursor:default;pointer-events:none}.tl-entry:hover .tl-dot{background:#999999}.tl-entry.open .tl-dot{background:#d25630}.tl-entry.tl-left.open .tl-entry-dot{top:.5rem;transform:translateX(50%)}.tl-entry.tl-right.open .tl-entry-dot{top:.5rem;transform:translateX(-50%)}@media(min-width:640px){.cursor-thumb{position:fixed;pointer-events:none;z-index:9999;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.15),0 1px 4px rgba(0,0,0,.1);overflow:hidden;opacity:0;will-change:opacity,left,top}.cursor-thumb.visible{opacity:1}.cursor-thumb img,.cursor-thumb video{display:block;width:160px;height:auto}.cursor-thumb video{background:#1a1a1a}}@media(max-width:639px){.tl-line{left:16px}.tl-year-marker{padding:1.5rem 0 2rem}.tl-year-marker.tl-year-empty{padding:.5rem 0 1rem}.tl-year-dot{left:16px;transform:translateX(-50%)}.tl-year-label{left:40px}.tl-entry,.tl-entry.tl-left,.tl-entry.tl-right{width:auto;margin-left:36px;margin-right:.75rem;margin-top:1rem;margin-bottom:1rem;text-align:left}.tl-entry .tl-entry-dot,.tl-entry.tl-left .tl-entry-dot,.tl-entry.tl-right .tl-entry-dot{position:absolute;left:-20px;right:auto;top:14px;transform:translate(-50%,-50%)}.tl-entry.open .tl-entry-dot,.tl-entry.tl-left.open .tl-entry-dot,.tl-entry.tl-right.open .tl-entry-dot{top:.5rem;transform:translateX(-50%)}.tl-entry .tl-entry-row,.tl-entry.tl-left .tl-entry-row,.tl-entry.tl-right .tl-entry-row{flex-direction:row}.tl-entry .tl-entry-content,.tl-entry.tl-left .tl-entry-content,.tl-entry.tl-right .tl-entry-content{align-items:flex-start}}.tl-fade{position:relative;height:12rem;margin-top:-10rem;pointer-events:none;z-index:3;background:linear-gradient(to bottom,transparent,#fbfbfb)}.tl-cta{text-align:center;margin:1.5rem 0 4rem;position:relative;z-index:4}.post blockquote p{padding:2rem;text-align:center;max-width:45rem}.post ul{margin:1rem auto 3rem}.post ul li{list-style:circle;margin-bottom:1rem;padding-left:1em;text-indent:-1em}ol li{margin-bottom:1rem}article{max-width:100%}article > ul{list-style:circle;margin-bottom:1rem;padding-left:1em;padding-top:1rem}article > ul li{color:#555555}.work .twogrid{padding-bottom:2rem;border-bottom:1px #d4d4d4 solid}.work h2,.work .twogrid{margin-top:2rem}.work section p{max-width:40rem;margin:1rem 0;line-height:1.5}.work h5{text-align:left;margin:0}.work .side p:last-child{margin-bottom:0}.work figure{margin:1.5rem 0}.work figure img{max-width:100%;border-radius:2px;outline:1px solid rgba(0,0,0,.05);box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025)}.work figure.no-shadow img{box-shadow:none;outline:none}.project figure{margin:4rem auto}.comparison{position:relative;overflow:hidden;border-radius:2px;box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025);outline:1px solid rgba(0,0,0,.05);cursor:col-resize}.comparison img{display:block;width:100%;height:auto;pointer-events:none}.comparison img:last-of-type{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos))0 0)}.comparison input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:col-resize;z-index:2}.comparison::after{content:"";position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:white;box-shadow:0 0 4px rgba(0,0,0,.4);pointer-events:none;z-index:1;transform:translateX(-1px)}.minigrid{display:grid;grid-auto-flow:column;grid-auto-columns:88%;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding:.5rem;scrollbar-width:none}.minigrid figure,.minigrid a{scroll-snap-align:start}.minigrid > img{margin:0}.minigrid::-webkit-scrollbar{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.songs-hero{position:relative;height:200vh;background:#f2f2f2}.songs-hero-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.songs-hero-content{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.songs-hero-content h1{font-size:3.052rem;font-weight:900;margin:0;line-height:1;letter-spacing:-.02em}.songs-hero-content h4{margin:.5rem 0 0}.songs-hero-mosaic{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(8,1fr);gap:3px}.songs-hero-tile{object-fit:cover;width:100%;height:100%;opacity:0;will-change:transform,opacity}.songs-hero-tile--1{grid-area:1/1/4/6}.songs-hero-tile--2{grid-area:1/6/4/10}.songs-hero-tile--3{grid-area:1/10/3/13}.songs-hero-tile--4{grid-area:4/1/7/5}.songs-hero-tile--5{grid-area:3/5/5/8}.songs-hero-tile--6{grid-area:5/5/7/8}.songs-hero-tile--7{grid-area:4/8/7/11}.songs-hero-tile--8{grid-area:7/1/9/5}.songs-hero-tile--9{grid-area:7/5/9/9}.songs-hero-tile--10{grid-area:3/11/5/13}.songs-hero-tile--11{grid-area:5/11/7/13}.songs-hero-tile--12{grid-area:7/9/9/13}@media(max-width:639px){.songs-hero-mosaic{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr)}.songs-hero-tile--1{grid-area:1/1/3/4}.songs-hero-tile--2{grid-area:1/4/3/7}.songs-hero-tile--3{grid-area:4/1/7/3}.songs-hero-tile--4{grid-area:4/3/7/7}.songs-hero-tile--5,.songs-hero-tile--6,.songs-hero-tile--7,.songs-hero-tile--8,.songs-hero-tile--9,.songs-hero-tile--10,.songs-hero-tile--11,.songs-hero-tile--12{display:none}}.songs-page{max-width:84rem;margin:1rem auto;padding:0 1rem}.rankings-list{display:grid;grid-template-columns:1fr;gap:1.25rem}.song-card{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}.song-card:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.15)}.song-card:hover .song-card-play{opacity:1}.song-card:nth-child(1){transition-delay:.04s}.song-card:nth-child(2){transition-delay:.08s}.song-card:nth-child(3){transition-delay:.12s}.song-card:nth-child(4){transition-delay:.16s}.song-card:nth-child(5){transition-delay:.2s}.song-card:nth-child(6){transition-delay:.24s}.song-card:nth-child(7){transition-delay:.28s}.song-card:nth-child(8){transition-delay:.32s}.song-card:nth-child(9){transition-delay:.36s}.song-card:nth-child(10){transition-delay:.4s}.song-card:nth-child(11){transition-delay:.44s}.song-card:nth-child(12){transition-delay:.48s}.song-card:nth-child(13){transition-delay:.52s}.song-card:nth-child(14){transition-delay:.56s}.song-card:nth-child(15){transition-delay:.6s}.song-card:nth-child(16){transition-delay:.64s}.song-card:nth-child(17){transition-delay:.68s}.song-card:nth-child(18){transition-delay:.72s}.song-card:nth-child(19){transition-delay:.76s}.song-card:nth-child(20){transition-delay:.8s}.song-card-art{position:relative}.song-card-art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.song-card-rank{position:absolute;top:.75rem;left:.75rem;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;padding:.25rem .5rem;font-family:"Name Sans";font-weight:800;font-size:1.25rem;line-height:1.2;font-variant-numeric:tabular-nums;color:#f7f7f7;z-index:2}.rank-tier-gold .song-card-rank span{color:#c8a415}.rank-tier-silver .song-card-rank span{color:#8a8d90}.rank-tier-bronze .song-card-rank span{color:#a0673a}.song-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:3rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.75));z-index:1}.song-card-overlay h3{color:#f7f7f7;font-size:1rem;font-weight:600;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.song-card-overlay h4{color:rgba(255,255,255,.8);font-size:.8rem;margin:.15rem 0 0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.song-card-play{position:absolute;bottom:.75rem;right:.75rem;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:rgba(255,255,255,.9);cursor:pointer;z-index:3;opacity:0;transition:opacity .25s ease,transform .25s ease;display:flex;align-items:center;justify-content:center}.song-card-play:hover{transform:scale(1.1)}.song-card-play:active{transform:scale(.95)}.song-card-play.playing{opacity:1;background:#f7f7f7}.play-icon{display:block;width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #333333;margin-left:2px}.playing .play-icon{border:none;width:10px;height:12px;border-left:3px solid #333333;border-right:3px solid #333333;margin-left:0}.song-detail .rank-hero{text-align:center;margin-bottom:.5rem;animation:rank-enter .6s cubic-bezier(.16,1,.3,1)forwards}.song-detail .rank-number{font-family:"Name Sans";font-weight:900;font-size:3.815rem;line-height:1;font-variant-numeric:tabular-nums;color:#777777}.song-detail .rank-tier-gold .rank-number{color:#c8a415}.song-detail .rank-tier-silver .rank-number{color:#8a8d90}.song-detail .rank-tier-bronze .rank-number{color:#a0673a}.song-detail .song-artist{text-align:center;font-size:1.563rem;margin-bottom:1rem}.song-detail h1{text-align:center}@keyframes rank-enter{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.song-album-art{max-width:20rem;margin:2rem auto}.song-album-art img{border-radius:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025)}.song-data{max-width:40rem;margin:2rem auto;padding:1.5rem;background:#f7f7f7;border-radius:12px;border:1px solid #d4d4d4}.song-data-grid{display:grid;grid-template-columns:1fr;gap:0}.song-data-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(212,212,212,.5);font-size:.8rem}.song-data-row:last-child{border-bottom:none}.song-data-row dt{color:#777777;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;font-weight:500}.song-data-row dd{color:#333333;text-align:right}.song-data-row .mono{font-variant-numeric:tabular-nums;font-family:"SF Mono","Menlo","Monaco","Courier New",monospace;font-size:.8rem}.song-data-firstlisten dd{font-style:italic;color:#555555}.song-side-note{max-width:40rem;margin:2rem auto;padding:1.5rem 2rem;background:rgba(246,198,0,.06);border-left:3px solid #f6c600;border-radius:0 8px 8px 0}.song-side-note h2{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:#555555;margin-bottom:.75rem}.song-side-note p{max-width:100% !important;padding:0 !important;line-height:1.7;color:#333333;margin:.75rem 0 !important}.song-pull-quote{max-width:40rem;margin:2rem auto;background:none;border-left:none}.song-pull-quote p{font-family:"Name Sans";font-weight:500;font-size:1.953rem;line-height:1.4;text-align:center;font-style:italic;color:#1a1a1a;padding:1rem !important}.song-fun-fact{max-width:40rem;margin:1rem auto;padding:1rem 1.5rem;background:rgba(27,46,103,.04);border-radius:8px;font-size:.8rem;color:#555555;line-height:1.5}.song-fun-fact strong{color:#333333}.song-links{display:flex;justify-content:center;gap:1rem;margin:2rem auto;max-width:40rem}.song-link{display:inline-block;padding:.6rem 1.5rem;border-radius:100px;font-size:.8rem;font-weight:500;color:#f7f7f7;text-align:center;transition:transform .25s ease-in-out,opacity .25s ease}.song-link:hover{transform:translateY(-2px);opacity:.9}.song-link.spotify{background:#1db954}.song-link.apple{background:#fc3c44}.song-link.youtube{background:#ff0000}.song-nav{max-width:40rem;margin:0 auto}.song-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:40rem;margin:1.5rem auto}.song-tag{display:inline-block;background-color:#f7f7f7;color:#555555;padding:.25rem .75rem;border-radius:100px;font-size:.8rem;border:1px solid #d4d4d4;transition:background-color .25s ease,color .25s ease}.song-tag:hover{background-color:#1a1a1a;color:#f7f7f7;border-color:#1a1a1a}.song-fav-lyric{max-width:40rem;margin:2rem auto;padding:1.5rem 2rem;text-align:center}.song-fav-lyric .song-fav-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#777777;margin-bottom:.75rem;font-weight:500}.song-fav-lyric .song-fav-lyric-text{font-family:"Name Sans";font-weight:500;font-size:1.953rem;line-height:1.5;font-style:italic;color:#1a1a1a;background:none;padding:0;margin:0}.song-fav-lyric .song-fav-timestamp{display:inline-block;margin-top:.75rem;font-size:.75rem;font-variant-numeric:tabular-nums;font-family:"SF Mono","Menlo","Monaco","Courier New",monospace;color:#777777;background:rgba(212,212,212,.5);padding:.15rem .5rem;border-radius:4px}.song-fav-part{max-width:40rem;margin:1.5rem auto;padding:1rem 1.5rem;background:rgba(210,86,48,.04);border-left:3px solid #d25630;border-radius:0 8px 8px 0}.song-fav-part .song-fav-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#777777;margin-bottom:.5rem;font-weight:500}.song-fav-part .song-fav-part-desc{max-width:100% !important;padding:0 !important;margin:0 !important;font-weight:500;color:#333333}.song-fav-part .song-fav-timestamp{display:inline-block;margin-top:.5rem;font-size:.75rem;font-variant-numeric:tabular-nums;font-family:"SF Mono","Menlo","Monaco","Courier New",monospace;color:#777777}.song-fav-part .song-fav-play{display:inline-block;margin-top:.5rem;margin-left:.5rem;font-size:.8rem;color:#d25630;font-weight:500;transition:opacity .25s ease}.song-fav-part .song-fav-play:hover{opacity:.7}.song-categories-section{max-width:40rem;margin:2rem auto;display:flex;flex-direction:column;gap:1rem}.song-category-card{padding:1.25rem 1.5rem;background:rgba(47,109,36,.04);border-left:3px solid rgba(47,109,36,.4);border-radius:0 8px 8px 0}.song-category-name{font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#555555;margin-bottom:.75rem;font-weight:600}.song-category-desc{font-size:.8rem;color:#777777;margin-bottom:.5rem}.song-category-list{list-style:none;padding:0;margin:0}.song-category-list li{padding:.35rem 0;font-size:.8rem;line-height:1.4;display:flex;align-items:baseline;gap:.5rem;border-bottom:1px solid rgba(212,212,212,.3);margin:0}.song-category-list li:last-child{border-bottom:none}.song-category-list li a{display:flex;align-items:baseline;gap:.5rem;color:#333333;transition:color .25s ease}.song-category-list li a:hover{color:#d25630}.song-category-list .song-category-current{font-weight:700;background:rgba(47,109,36,.06);margin:0 -.75rem;padding-left:.75rem;padding-right:.75rem;border-radius:4px;border-bottom-color:transparent}.song-category-list .song-category-rank{font-variant-numeric:tabular-nums;color:#777777;min-width:1.25rem;font-weight:500}.song-category-current .song-category-list .song-category-rank{color:#333333}.song-category-list .song-category-title{font-weight:inherit}.song-category-list .song-category-artist{color:#777777}.song-category-list .song-category-artist::before{content:"— "}.song-essay{max-width:40rem;margin:2rem auto}.song-essay p{max-width:100% !important;padding:0 !important;line-height:1.7;margin:1rem 0 !important}.song-essay h2,.song-essay h3{margin:2rem 0 .75rem}.song-essay blockquote{border-left:3px solid #d4d4d4;padding-left:1rem;font-style:italic;color:#555555}.song-essay img{border-radius:8px;margin:1.5rem auto}.song-fav-audio{display:block;width:100%;margin-top:.75rem;border-radius:8px}.song-takeover{display:none;position:fixed;inset:0;z-index:10}.song-takeover.active{display:block}.song-takeover-backdrop{position:absolute;inset:0;background:rgba(13,13,13,0);transition:background .4s cubic-bezier(.16,1,.3,1)}.song-takeover.visible .song-takeover-backdrop{background:rgba(13,13,13,.5)}.song-takeover-panel{position:absolute;bottom:0;left:0;right:0;max-height:92vh;background:#f7f7f7;border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 -4px 40px rgba(13,13,13,.15)}.song-takeover.visible .song-takeover-panel{transform:translateY(0)}.song-takeover-close{position:sticky;top:0;z-index:2;float:right;margin:1rem 1.25rem 0 0;background:rgba(212,212,212,.6);border:none;border-radius:50%;width:2rem;height:2rem;font-size:1.563rem;line-height:1;color:#555555;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s ease;backdrop-filter:blur(8px)}.song-takeover-close:hover{background:rgba(119,119,119,.4)}.song-takeover-scroll{overflow-y:auto;max-height:92vh;padding:0 1rem 3rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.song-takeover-scroll .song-detail{max-width:56rem;margin:0 auto;padding-top:1rem}.song-takeover-scroll .rank-hero{animation:rank-enter .6s cubic-bezier(.16,1,.3,1).25s forwards;opacity:0}.song-takeover-scroll .song-album-art{max-width:20rem;margin:1.5rem auto}.song-takeover-scroll .song-data,.song-takeover-scroll .song-essay,.song-takeover-scroll .song-fav-lyric,.song-takeover-scroll .song-fav-part,.song-takeover-scroll .song-fun-fact,.song-takeover-scroll .song-category-card,.song-takeover-scroll .song-pull-quote,.song-takeover-scroll .song-links,.song-takeover-scroll .song-tags{max-width:100%}@media screen and (prefers-color-scheme:dark){.songs-hero{background:#0d0d0d}.songs-hero-content h1{color:#f7f7f7}.songs-hero-content h4{color:rgba(255,255,255,.7)}.song-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.4)}.song-card-play{background:rgba(119,119,119,.3)}.song-card-play .play-icon{border-color:transparent transparent transparent #f2f2f2}.song-card-play.playing .play-icon{border-color:transparent;border-left-color:#f2f2f2;border-right-color:#f2f2f2}.song-data{background:#1a1a1a;border-color:rgba(119,119,119,.2)}.song-data-row{border-bottom-color:rgba(119,119,119,.15)}.song-data-row dd{color:#f2f2f2}.song-data-row .mono{color:#f2f2f2}.song-side-note{background:rgba(246,198,0,.04)}.song-side-note p{color:#f2f2f2 !important}.song-pull-quote p{color:#f2f2f2}.song-fun-fact{background:rgba(27,46,103,.08);color:rgba(119,119,119,.8)}.song-fun-fact strong{color:#f2f2f2}.song-detail .rank-number{color:rgba(119,119,119,.6)}.song-detail .rank-tier-gold .rank-number{color:#c8a415}.song-detail .rank-tier-silver .rank-number{color:#8a8d90}.song-detail .rank-tier-bronze .rank-number{color:#a0673a}.song-tag{background:#1a1a1a;border-color:rgba(119,119,119,.3);color:rgba(119,119,119,.8)}.song-tag:hover{background:#f2f2f2;color:#1a1a1a;border-color:#f2f2f2}.song-fav-lyric .song-fav-lyric-text{color:#f2f2f2}.song-fav-part{background:rgba(210,86,48,.06)}.song-fav-part .song-fav-part-desc{color:#f2f2f2}.song-category-card{background:rgba(47,109,36,.06)}.song-category-list li a{color:#f2f2f2}.song-category-list .song-category-current{background:rgba(47,109,36,.1)}.song-essay p{color:#f2f2f2 !important}.song-essay blockquote{border-left-color:rgba(119,119,119,.3)}.song-fav-audio{filter:invert(1)}.song-takeover-panel{background:#0d0d0d}.song-takeover-close{background:rgba(119,119,119,.2);color:#f2f2f2}.song-takeover-close:hover{background:rgba(119,119,119,.35)}}html.dark .songs-hero{background:#0d0d0d}html.dark .songs-hero-content h1{color:#f7f7f7}html.dark .songs-hero-content h4{color:rgba(255,255,255,.7)}html.dark .song-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.4)}html.dark .song-card-play{background:rgba(119,119,119,.3)}html.dark .song-card-play .play-icon{border-color:transparent transparent transparent #f2f2f2}html.dark .song-card-play.playing .play-icon{border-color:transparent;border-left-color:#f2f2f2;border-right-color:#f2f2f2}html.dark .song-data{background:#1a1a1a;border-color:rgba(119,119,119,.2)}html.dark .song-data-row{border-bottom-color:rgba(119,119,119,.15)}html.dark .song-data-row dd{color:#f2f2f2}html.dark .song-data-row .mono{color:#f2f2f2}html.dark .song-side-note{background:rgba(246,198,0,.04)}html.dark .song-side-note p{color:#f2f2f2 !important}html.dark .song-pull-quote p{color:#f2f2f2}html.dark .song-fun-fact{background:rgba(27,46,103,.08);color:rgba(119,119,119,.8)}html.dark .song-fun-fact strong{color:#f2f2f2}html.dark .song-detail .rank-number{color:rgba(119,119,119,.6)}html.dark .song-detail .rank-tier-gold .rank-number{color:#c8a415}html.dark .song-detail .rank-tier-silver .rank-number{color:#8a8d90}html.dark .song-detail .rank-tier-bronze .rank-number{color:#a0673a}html.dark .song-tag{background:#1a1a1a;border-color:rgba(119,119,119,.3);color:rgba(119,119,119,.8)}html.dark .song-tag:hover{background:#f2f2f2;color:#1a1a1a;border-color:#f2f2f2}html.dark .song-fav-lyric .song-fav-lyric-text{color:#f2f2f2}html.dark .song-fav-part{background:rgba(210,86,48,.06)}html.dark .song-fav-part .song-fav-part-desc{color:#f2f2f2}html.dark .song-category-card{background:rgba(47,109,36,.06)}html.dark .song-category-list li a{color:#f2f2f2}html.dark .song-category-list .song-category-current{background:rgba(47,109,36,.1)}html.dark .song-essay p{color:#f2f2f2 !important}html.dark .song-essay blockquote{border-left-color:rgba(119,119,119,.3)}html.dark .song-fav-audio{filter:invert(1)}html.dark .song-takeover-panel{background:#0d0d0d}html.dark .song-takeover-close{background:rgba(119,119,119,.2);color:#f2f2f2}html.dark .song-takeover-close:hover{background:rgba(119,119,119,.35)}@media(min-width:40rem){.songs-hero-content h1{font-size:3.815rem}.rankings-list{grid-template-columns:repeat(2,1fr)}.song-card-play{opacity:.7}.song-detail .rank-number{font-size:4.768rem}.song-album-art{max-width:24rem}}@media(min-width:64rem){.songs-hero-content h1{font-size:4.768rem}.rankings-list{grid-template-columns:repeat(3,1fr)}}.left a,.right a{transition:transform .25s ease-in-out}.hover-arrow{opacity:0;transition:opacity .25s ease-in-out}.projectsgrid .child{border-radius:4px;transition:transform .4s ease}.projectsgrid .child:hover .project-card{background:var(--card-color)}.projectsgrid .child:hover .hover-arrow{opacity:1}.rolesgrid .child{padding-bottom:3rem;border-bottom:1px solid #f2f2f2}.rolesgrid .child:last-child{border-bottom:none;padding-bottom:0}.albumgrid .child{transition:transform .25s ease-in-out}.albumgrid .child:hover{transform:translateY(-2px)}.left a:hover{transform:translateX(-.2rem)}.right a:hover{transform:translateX(.2rem)}.logo:hover{height:6.5rem;transform:translateY(-.5rem)}.elevator{position:sticky;padding:2rem;background-color:#333333;display:block;text-align:center;width:30px;bottom:1rem;right:1rem;transition:bottom .25s ease-in-out}.elevator:hover{bottom:2.25rem}.elevator a:hover{text-decoration:none}.elevator-button{cursor:pointer}.tags{text-align:center;display:block;font-size:.8rem}.type-tag{background-color:#f7f7f7;color:#777777;padding:.25rem .5rem;margin:.25rem;border-radius:3px;display:inline-block;font-size:.8rem;text-transform:uppercase}.pagination{display:flex;justify-content:center;gap:2rem;margin:2rem 0}.pagination a,.pagination span{font-size:1.563rem}.pagination span:not(a span){opacity:.3}.style-guide p{max-width:40rem;margin:.75rem 0;line-height:1.6}.style-guide a{color:#d25630}.style-guide a:hover{border-bottom:1px dashed #777777}.style-two-col{display:grid;grid-template-columns:1fr 280px;gap:3rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid #d4d4d4}.style-sidebar{position:sticky;top:5rem;align-self:start;max-height:calc(100vh - 6rem);overflow-y:auto;contain:layout style paint}.style-specimen{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid #f2f2f2}.style-ligas{font-size:2.441rem;display:flex;flex-wrap:wrap;gap:2rem}.style-font-chars{display:flex;flex-wrap:wrap;gap:2rem}.style-font-chars > div{display:flex;flex-direction:column;align-items:center;gap:.25rem}.style-font-chars .style-char-off{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"ss02" 0;font-size:3.052rem;color:#b3b3b3;line-height:1.2}.style-font-chars .style-char-on{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"ss02" 1;font-size:3.052rem;color:#1a1a1a;line-height:1.2}.style-font-chars .style-char-label{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:#999999}.style-font-special{display:flex;flex-wrap:wrap;gap:1.5rem}.style-font-special > div{display:flex;flex-direction:column;align-items:center;gap:.25rem}.style-font-special span:first-child{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1;font-size:2.441rem;color:#1a1a1a;line-height:1.2}.style-font-special .style-char-label{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:#999999}.style-lists{display:flex;gap:3rem}.style-lists ol{list-style:decimal;padding-left:1.25rem;line-height:1.8}.style-lists ul{list-style:disc;padding-left:1.25rem;line-height:1.8}.style-swatches{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.style-swatch{display:flex;align-items:center;gap:.75rem;font-size:.75rem;line-height:1.4;color:#555555}.style-swatch small{color:#999999}.style-swatch-color{width:32px;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.08);flex-shrink:0}.style-scale-rows{margin-top:1.5rem}.style-scale-row{display:flex;align-items:baseline;gap:1.5rem;padding:.25rem 0;border-bottom:1px solid #f2f2f2}.style-scale-label{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:#999999;min-width:6rem;text-align:right}.style-scale-sample{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1;color:#1a1a1a;line-height:1.2}.style-image-thirds{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.style-image-thirds img{width:100%;border-radius:2px;aspect-ratio:4/3;object-fit:cover}.style-image-halves{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.style-image-halves img{width:100%;border-radius:2px;aspect-ratio:3/2;object-fit:cover}.style-image-post{max-width:40rem}.style-image-post img{width:100%;border-radius:2px}.style-image-cover img{width:100%;border-radius:2px}.style-component-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.style-component{margin-bottom:1rem}.style-component-body{margin-top:.75rem}@media(max-width:639px){.style-two-col{grid-template-columns:1fr}.style-component-grid{grid-template-columns:1fr}}@media(min-width:40rem){hr{max-width:40%}.articletop{margin:2rem 0}.page,.post,.home{width:100%;margin:2rem 0;justify-self:center}.home + article{margin-bottom:4rem}.grid{grid-template-columns:repeat(12,1fr)}.grid > .column{grid-column:span var(--columns)}.twogrid{display:grid;grid-template-columns:2fr 1fr;max-width:74rem}.twogrid .experience p{margin-right:4rem}.role-excerpt{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.role-excerpt .projectmeta{order:-1;line-height:1.4}.role-excerpt .projectmeta h3{margin-bottom:.25rem}.role-excerpt .projectmeta h4{margin-bottom:.25rem}.albumgrid li{border-radius:2px}.page .albumgrid,.post .albumgrid{grid-template-columns:repeat(3,1fr)}.home .albumgrid{grid-template-columns:repeat(3,36%);scroll-margin:0 0 0 50px;overflow-x:auto}.projectsgrid{grid-template-columns:repeat(3,1fr);gap:3rem}.home .projectsgrid .child{padding:.5rem;margin:-.5rem}.minigrid{grid-auto-columns:calc(33.333% - .33rem);overflow:hidden}.minigrid.two{grid-auto-columns:calc(50% - .25rem)}.minigrid figure{margin:0}.mixtape-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.mixtape-cover{position:sticky;top:5rem}.post p,.post ul,.post ol,audio,.aboutme p,.albumgrid ul,.projectsgrid ul,.rolesgrid ul{padding:0}.post img{margin:2rem auto 0;border-radius:2px}figure.half{max-width:64rem;display:block;margin:1rem auto 0;border-radius:0}.half:nth-of-type(odd)img{width:calc(50% - .5rem);float:right;margin-top:0}.half:nth-of-type(even)img{width:calc(50% - .5rem);margin-top:0;float:left}.third img{width:33.3334%;float:left}.full img,figure.full{max-width:100%;max-height:100vh;padding:0;margin-bottom:3rem}figure.third{margin:0 auto;padding:0}figure.third img{padding:1rem .5rem;background-color:transparent}.medium img{max-width:40rem;margin:2rem auto;display:block}.project img{display:block;margin:0 auto}.browser img{box-shadow:rgba(0,0,0,.078)0px 5px 10px 1px,rgba(0,0,0,0)0px 0px 0px 0px,rgb(246,248,249)0px 0px 2px 0px inset}.device img{box-shadow:none;padding:1rem !important}.projectcover img{vertical-align:top;margin:0 auto;position:relative}.small img{max-width:25rem;margin:auto}figure.device.third{max-width:64rem}footer{padding:3rem}.elevator{bottom:2rem}.gridbox{margin:2rem}iframe{height:480px;padding:0}.bottom{float:right;text-align:right;margin-right:4rem}div.guggenheim.gallery.zoom{margin:0 auto}}@media(min-width:64rem){iframe{width:850px;height:480px}.safari{border:1px #f2f2f2 solid;border-top:24px #f2f2f2 solid;border-radius:8px 8px 0 0}.safari::before{content:"";height:8px;width:8px;background-color:#f6c600;position:absolute;border-radius:50%;left:8px;top:-16px}.safari::after{content:"";height:8px;width:8px;background-color:#2f6d24;position:absolute;border-radius:50%;left:24px;top:-16px}.iphone img{border:10px #f2f2f2 solid !important;border-top:30px #f2f2f2 solid !important;border-bottom:30px #f2f2f2 solid !important;padding:0 !important;width:calc(33.3334% - 40px)!important;border-radius:8px;margin:2rem 10px}}@media screen and (prefers-color-scheme:dark){body{background-color:#0d0d0d}body,h1,h2,h3,h4,p,li,mark,.experience p,.projectsgrid a,.projects-organic a,h1 a,article ul li,.home-hero h1{color:#f2f2f2}.home-hero .word-swap-line{color:#999999}.projectsgrid .child{background:transparent;border:0}.projectsgrid .child ul{list-style:circle}.rolesgrid .child{background:transparent;border-bottom-color:#333333}.rolesgrid .child ul{list-style:circle}.project-card{background:var(--card-color-dark,rgba(255,255,255,.06));box-shadow:0 2px 8px var(--card-shadow-dark,rgba(0,0,0,.2))}.projectsgrid .project-card .project-card-title,.projects-organic .project-card .project-card-title{color:var(--card-title-dark,#f2f2f2)}.projectsgrid .project-card h6,.projects-organic .project-card h6{color:var(--card-body-dark,#b3b3b3)}.projectsgrid .project-card .project-card-desc,.projects-organic .project-card .project-card-desc{color:var(--card-body-dark,#b3b3b3)}.overlay-card{background:var(--card-tint-dark,rgba(255,255,255,.06))}.overlay-header h3{color:var(--card-title-dark,#f2f2f2)}.overlay-header h6{color:var(--card-body-dark,#b3b3b3)}.overlay-desc{color:var(--card-body-dark,#b3b3b3)}.overlay-text{color:var(--card-body-dark,#b3b3b3)}.overlay-text a{color:var(--card-title-dark,#f2f2f2)}.overlay-text strong{color:var(--card-title-dark,#f2f2f2)}.side-sheet{background:#1a1a1a}.side-trigger{background:#333333;color:#b3b3b3}.disco-ball-core{background:radial-gradient(circle at 35% 35%,#444,#111 70%)}.disco-ball{box-shadow:0 0 22px 6px rgba(255,255,255,.06)}.disco-toggle:hover .disco-ball,.disco-toggle:focus-visible .disco-ball{box-shadow:0 0 0 3px transparent,0 0 0 4px rgba(255,255,255,.18),0 0 18px 6px rgba(255,255,255,.1),0 0 34px 12px rgba(255,255,255,.04)}.safari{border:1px #333333 solid !important;border-top:24px #333333 solid !important}.albumgrid::after{background:linear-gradient(90deg,rgba(0,0,0,0),rgba(13,13,13,.6))!important}#container{background-color:transparent}footer{background-color:#0d0d0d;color:#b3b3b3}.footer-nav a,.footer-social a{color:#b3b3b3}.footer-nav a:hover,.footer-social a:hover{color:#f2f2f2}.footer-copy{color:#777777}blockquote{background-color:#333333}.type-tag{background-color:#333333;color:rgba(119,119,119,.8)}.iphone img{border-color:#333333 !important}.side{background:#333333;border:0}.side ul{list-style:circle}.projectcover{outline:none}.stack-layer{border-color:rgba(255,255,255,.05)}.stack-layer.layer-1{box-shadow:0 1px 1px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2),0 4px 10px rgba(0,0,0,.15)}.stack-layer.layer-2{box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.15),0 6px 14px rgba(0,0,0,.12)}a{color:#f2f2f2}.link,.experience p a,.post p a,.aboutme a,.page p a{color:#e0896f}.pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);color:#f7f7f7;box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2)}.pill:hover{opacity:.7}.top-bar-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2);color:#f2f2f2}.overlay-cta{background:var(--card-title-dark,#f2f2f2);color:#1a1a1a}.overlay-cta:hover{color:#1a1a1a}.mini-print{box-shadow:0 2px 8px rgba(0,0,0,.2)}.mini-print:hover{box-shadow:0 8px 16px rgba(0,0,0,.35),0 4px 6px rgba(0,0,0,.25)}.mini-print.dragging{box-shadow:0 8px 24px rgba(0,0,0,.4)}.photo-overlay img{box-shadow:0 1px 2px rgba(0,0,0,.2),0 4px 8px rgba(0,0,0,.15),0 12px 24px rgba(0,0,0,.25)}.photo-overlay.stack-mode::before,.photo-overlay.stack-mode::after{background:rgba(40,40,40,.6);box-shadow:0 1px 4px rgba(0,0,0,.3)}.action-link{color:#b3b3b3}.action-link:hover{color:#f2f2f2}.sub-nav .action-link.active{color:#f2f2f2;background:rgba(255,255,255,.1)}.home-section h2,.albums-subsection h2,.albums-subsection h3,.photos-browse-collections h2,.photos-browse-year h2,.page-wide > h2{color:#b3b3b3}.map-marker-img{border-color:#333333}.info-panel{background:rgba(255,255,255,.06);box-shadow:0 16px 48px rgba(0,0,0,.4)}.info-panel h2{color:#f7f7f7}.info-panel p,.info-panel .info-bio p{color:#b3b3b3}.info-panel .info-bio a{color:#d25630}.info-panel .info-bio a:hover{text-decoration:underline}.info-panel .info-stats{background:#1a1a1a}.info-panel .stat-row{border-color:#555555}.info-panel .stat-row .label{color:#b3b3b3}.info-panel .stat-row .value{color:#f2f2f2}.info-panel nav h4{color:#999999}.info-panel nav a{color:#b3b3b3}.info-panel nav a:hover{color:#d25630}.info-panel .info-social a{color:#b3b3b3}.info-panel .info-social a:hover{color:#d25630}.info-panel .info-view-about{color:#d25630}.close-pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}.close-pill:hover{color:#f2f2f2}.overlay-nav{color:#b3b3b3}.overlay-nav:hover{color:#f2f2f2}.about-stats{background:#1a1a1a}.about-stats > h6{color:#b3b3b3}.about-stats .stat-row{border-color:#555555}.about-stats .stat-row h6{color:#b3b3b3}.about-stats .stat-row h5{color:#f2f2f2}.tl-filters{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2)}.tl-filter{color:#999999}.tl-filter:hover{color:#d4d4d4}.tl-filter.active{color:#f7f7f7;background:rgba(255,255,255,.1);box-shadow:0 1px 3px rgba(0,0,0,.3)}.tl-line{background:#555555}.tl-year-dot{background:#333333;border-color:#777777}.tl-year-label{color:#999999}.tl-entry:hover .tl-entry-row{background:rgba(255,255,255,.04)}.tl-entry-title{color:#f2f2f2}.tl-entry-details{background:rgba(255,255,255,.06)}.tl-details-title{color:#f2f2f2}.tl-details-desc{color:#b3b3b3}.tl-dot{background:#777777}.tl-entry:hover .tl-dot{background:#b3b3b3}.tl-fade{background:linear-gradient(to bottom,transparent,#0d0d0d)}.cursor-thumb{box-shadow:0 4px 20px rgba(0,0,0,.4),0 1px 4px rgba(0,0,0,.3)}.spotlight-trigger{color:#f2f2f2}.spotlight-trigger:hover{color:#fff}.spotlight-panel{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:0 16px 48px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06)}.spotlight-input-row{border-bottom-color:#333333}.spotlight-input{color:#f2f2f2}.spotlight-input::placeholder{color:#777777}.spotlight-icon{color:#777777}.spotlight-kbd{color:#999999;background:#333333;border-color:#555555}.spotlight-result{color:#d4d4d4}.spotlight-result.active{background:#333333;color:#f7f7f7}.spotlight-result-parent{color:#999999}.spotlight-result-type{color:#b3b3b3}.spotlight-section-header{color:#b3b3b3}.spotlight-empty{color:#b3b3b3}}html.dark body{background-color:#0d0d0d}html.dark body,html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark p,html.dark li,html.dark mark,html.dark .experience p,html.dark .projectsgrid a,html.dark .projects-organic a,html.dark h1 a,html.dark article ul li,html.dark .home-hero h1{color:#f2f2f2}html.dark .home-hero .word-swap-line{color:#999999}html.dark .projectsgrid .child{background:transparent;border:0}html.dark .projectsgrid .child ul{list-style:circle}html.dark .rolesgrid .child{background:transparent;border-bottom-color:#333333}html.dark .rolesgrid .child ul{list-style:circle}html.dark .project-card{background:var(--card-color-dark,rgba(255,255,255,.06));box-shadow:0 2px 8px var(--card-shadow-dark,rgba(0,0,0,.2))}html.dark .projectsgrid .project-card .project-card-title,html.dark .projects-organic .project-card .project-card-title{color:var(--card-title-dark,#f2f2f2)}html.dark .projectsgrid .project-card h6,html.dark .projects-organic .project-card h6{color:var(--card-body-dark,#b3b3b3)}html.dark .projectsgrid .project-card .project-card-desc,html.dark .projects-organic .project-card .project-card-desc{color:var(--card-body-dark,#b3b3b3)}html.dark .overlay-card{background:var(--card-tint-dark,rgba(255,255,255,.06))}html.dark .overlay-header h3{color:var(--card-title-dark,#f2f2f2)}html.dark .overlay-header h6{color:var(--card-body-dark,#b3b3b3)}html.dark .overlay-desc{color:var(--card-body-dark,#b3b3b3)}html.dark .overlay-text{color:var(--card-body-dark,#b3b3b3)}html.dark .overlay-text a{color:var(--card-title-dark,#f2f2f2)}html.dark .overlay-text strong{color:var(--card-title-dark,#f2f2f2)}html.dark .side-sheet{background:#1a1a1a}html.dark .side-trigger{background:#333333;color:#b3b3b3}html.dark .disco-ball-core{background:radial-gradient(circle at 35% 35%,#444,#111 70%)}html.dark .disco-ball{box-shadow:0 0 22px 6px rgba(255,255,255,.06)}html.dark .disco-toggle:hover .disco-ball,html.dark .disco-toggle:focus-visible .disco-ball{box-shadow:0 0 0 3px transparent,0 0 0 4px rgba(255,255,255,.18),0 0 18px 6px rgba(255,255,255,.1),0 0 34px 12px rgba(255,255,255,.04)}html.dark .safari{border:1px #333333 solid !important;border-top:24px #333333 solid !important}html.dark .albumgrid::after{background:linear-gradient(90deg,rgba(0,0,0,0),rgba(13,13,13,.6))!important}html.dark #container{background-color:transparent}html.dark footer{background-color:#0d0d0d;color:#b3b3b3}html.dark .footer-nav a,html.dark .footer-social a{color:#b3b3b3}html.dark .footer-nav a:hover,html.dark .footer-social a:hover{color:#f2f2f2}html.dark .footer-copy{color:#777777}html.dark blockquote{background-color:#333333}html.dark .type-tag{background-color:#333333;color:rgba(119,119,119,.8)}html.dark .iphone img{border-color:#333333 !important}html.dark .side{background:#333333;border:0}html.dark .side ul{list-style:circle}html.dark .projectcover{outline:none}html.dark .stack-layer{border-color:rgba(255,255,255,.05)}html.dark .stack-layer.layer-1{box-shadow:0 1px 1px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2),0 4px 10px rgba(0,0,0,.15)}html.dark .stack-layer.layer-2{box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.15),0 6px 14px rgba(0,0,0,.12)}html.dark a{color:#f2f2f2}html.dark .link,html.dark .experience p a,html.dark .post p a,html.dark .aboutme a,html.dark .page p a{color:#e0896f}html.dark .pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);color:#f7f7f7;box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2)}html.dark .pill:hover{opacity:.7}html.dark .top-bar-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2);color:#f2f2f2}html.dark .overlay-cta{background:var(--card-title-dark,#f2f2f2);color:#1a1a1a}html.dark .overlay-cta:hover{color:#1a1a1a}html.dark .mini-print{box-shadow:0 2px 8px rgba(0,0,0,.2)}html.dark .mini-print:hover{box-shadow:0 8px 16px rgba(0,0,0,.35),0 4px 6px rgba(0,0,0,.25)}html.dark .mini-print.dragging{box-shadow:0 8px 24px rgba(0,0,0,.4)}html.dark .photo-overlay img{box-shadow:0 1px 2px rgba(0,0,0,.2),0 4px 8px rgba(0,0,0,.15),0 12px 24px rgba(0,0,0,.25)}html.dark .photo-overlay.stack-mode::before,html.dark .photo-overlay.stack-mode::after{background:rgba(40,40,40,.6);box-shadow:0 1px 4px rgba(0,0,0,.3)}html.dark .action-link{color:#b3b3b3}html.dark .action-link:hover{color:#f2f2f2}html.dark .sub-nav .action-link.active{color:#f2f2f2;background:rgba(255,255,255,.1)}html.dark .home-section h2,html.dark .albums-subsection h2,html.dark .albums-subsection h3,html.dark .photos-browse-collections h2,html.dark .photos-browse-year h2,html.dark .page-wide > h2{color:#b3b3b3}html.dark .map-marker-img{border-color:#333333}html.dark .info-panel{background:rgba(255,255,255,.06);box-shadow:0 16px 48px rgba(0,0,0,.4)}html.dark .info-panel h2{color:#f7f7f7}html.dark .info-panel p,html.dark .info-panel .info-bio p{color:#b3b3b3}html.dark .info-panel .info-bio a{color:#d25630}html.dark .info-panel .info-bio a:hover{text-decoration:underline}html.dark .info-panel .info-stats{background:#1a1a1a}html.dark .info-panel .stat-row{border-color:#555555}html.dark .info-panel .stat-row .label{color:#b3b3b3}html.dark .info-panel .stat-row .value{color:#f2f2f2}html.dark .info-panel nav h4{color:#999999}html.dark .info-panel nav a{color:#b3b3b3}html.dark .info-panel nav a:hover{color:#d25630}html.dark .info-panel .info-social a{color:#b3b3b3}html.dark .info-panel .info-social a:hover{color:#d25630}html.dark .info-panel .info-view-about{color:#d25630}html.dark .close-pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}html.dark .close-pill:hover{color:#f2f2f2}html.dark .overlay-nav{color:#b3b3b3}html.dark .overlay-nav:hover{color:#f2f2f2}html.dark .about-stats{background:#1a1a1a}html.dark .about-stats > h6{color:#b3b3b3}html.dark .about-stats .stat-row{border-color:#555555}html.dark .about-stats .stat-row h6{color:#b3b3b3}html.dark .about-stats .stat-row h5{color:#f2f2f2}html.dark .tl-filters{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2)}html.dark .tl-filter{color:#999999}html.dark .tl-filter:hover{color:#d4d4d4}html.dark .tl-filter.active{color:#f7f7f7;background:rgba(255,255,255,.1);box-shadow:0 1px 3px rgba(0,0,0,.3)}html.dark .tl-line{background:#555555}html.dark .tl-year-dot{background:#333333;border-color:#777777}html.dark .tl-year-label{color:#999999}html.dark .tl-entry:hover .tl-entry-row{background:rgba(255,255,255,.04)}html.dark .tl-entry-title{color:#f2f2f2}html.dark .tl-entry-details{background:rgba(255,255,255,.06)}html.dark .tl-details-title{color:#f2f2f2}html.dark .tl-details-desc{color:#b3b3b3}html.dark .tl-dot{background:#777777}html.dark .tl-entry:hover .tl-dot{background:#b3b3b3}html.dark .tl-fade{background:linear-gradient(to bottom,transparent,#0d0d0d)}html.dark .cursor-thumb{box-shadow:0 4px 20px rgba(0,0,0,.4),0 1px 4px rgba(0,0,0,.3)}html.dark .spotlight-trigger{color:#f2f2f2}html.dark .spotlight-trigger:hover{color:#fff}html.dark .spotlight-panel{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:0 16px 48px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06)}html.dark .spotlight-input-row{border-bottom-color:#333333}html.dark .spotlight-input{color:#f2f2f2}html.dark .spotlight-input::placeholder{color:#777777}html.dark .spotlight-icon{color:#777777}html.dark .spotlight-kbd{color:#999999;background:#333333;border-color:#555555}html.dark .spotlight-result{color:#d4d4d4}html.dark .spotlight-result.active{background:#333333;color:#f7f7f7}html.dark .spotlight-result-parent{color:#999999}html.dark .spotlight-result-type{color:#b3b3b3}html.dark .spotlight-section-header{color:#b3b3b3}html.dark .spotlight-empty{color:#b3b3b3}@media screen and (prefers-color-scheme:dark){html.light body{background-color:#fbfbfb}html.light body,html.light h1,html.light h2,html.light h3,html.light h4,html.light p,html.light li,html.light mark,html.light .experience p,html.light .projectsgrid a,html.light .projects-organic a,html.light h1 a,html.light article ul li,html.light .home-hero h1{color:#1a1a1a}html.light .home-hero .word-swap-line{color:#999999}html.light #container{background-color:transparent}html.light footer{background-color:#f7f7f7;color:#555555}html.light .footer-nav a,html.light .footer-social a{color:#777777}html.light .footer-nav a:hover,html.light .footer-social a:hover{color:#1a1a1a}html.light .footer-copy{color:#999999}html.light a{color:#1a1a1a}html.light .link,html.light .experience p a,html.light .post p a,html.light .aboutme a,html.light .page p a{color:#d25630}html.light .projectcover{outline:none}html.light .stack-layer{border-color:rgba(0,0,0,.05)}html.light .projectsgrid .child{background:transparent;border:0}html.light .rolesgrid .child{background:transparent;border-bottom-color:#f2f2f2}html.light .project-card{background:var(--card-color,rgba(255,255,255,.75));box-shadow:0 2px 8px var(--card-shadow,rgba(0,0,0,.06))}html.light .projectsgrid .project-card .project-card-title,html.light .projects-organic .project-card .project-card-title{color:var(--card-title)}html.light .projectsgrid .project-card h6,html.light .projects-organic .project-card h6{color:var(--card-body)}html.light .projectsgrid .project-card .project-card-desc,html.light .projects-organic .project-card .project-card-desc{color:var(--card-body)}html.light .side{background:#f2f2f2;border:0}html.light .side ul{list-style:disc}html.light blockquote{background-color:#f7f7f7}html.light .type-tag{background-color:#f7f7f7;color:#777777}html.light .splitflap-char.flipping::after{background:#d4d4d4}html.light .overlay-card{background:var(--card-tint,rgba(255,255,255,.75))}html.light .overlay-header h3{color:var(--card-title)}html.light .overlay-header h6{color:var(--card-body)}html.light .overlay-desc{color:var(--card-body)}html.light .overlay-text{color:var(--card-body)}html.light .overlay-text a{color:var(--card-title)}html.light .overlay-text strong{color:var(--card-title)}html.light .overlay-nav{color:#fff}html.light .side-sheet{background:#f7f7f7}html.light .side-trigger{background:#f2f2f2;color:#555555}html.light .close-pill{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.08)}html.light .close-pill:hover{color:#1a1a1a}html.light .pill{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.08);color:#1a1a1a;box-shadow:0 4px 24px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06)}html.light .pill:hover{opacity:.7}html.light .top-bar-btn{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.08);box-shadow:0 4px 24px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06);color:#999999}html.light .overlay-cta{background:var(--card-title,#1a1a1a);color:#fff}html.light .overlay-cta:hover{color:#fff}html.light .mini-print{box-shadow:0 2px 8px rgba(0,0,0,.06)}html.light .mini-print:hover{box-shadow:0 4px 2px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04)}html.light .mini-print.dragging{box-shadow:0 8px 24px rgba(0,0,0,.15)}html.light .photo-overlay img{box-shadow:0 1px 2px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.06),0 12px 24px rgba(0,0,0,.1)}html.light .photo-overlay.stack-mode::before,html.light .photo-overlay.stack-mode::after{background:rgba(255,255,255,.4);box-shadow:0 1px 4px rgba(0,0,0,.1)}html.light .info-panel{background:rgba(255,255,255,.75);box-shadow:0 16px 48px rgba(0,0,0,.12)}html.light .info-panel h2{color:#1a1a1a}html.light .info-panel p,html.light .info-panel .info-bio p{color:#555555}html.light .info-panel .info-bio a{color:#d25630}html.light .info-panel .info-bio a:hover{text-decoration:underline}html.light .info-panel .info-stats{background:#d4d4d4}html.light .info-panel .stat-row{border-color:rgba(0,0,0,.1)}html.light .info-panel .stat-row .label{color:#999999}html.light .info-panel .stat-row .value{color:#1a1a1a}html.light .info-panel nav h4{color:#b3b3b3}html.light .info-panel nav a{color:#555555}html.light .info-panel nav a:hover{color:#d25630}html.light .info-panel .info-social a{color:#555555}html.light .info-panel .info-social a:hover{color:#d25630}html.light .info-panel .info-view-about{color:#d25630}html.light .about-stats{background:#f7f7f7}html.light .about-stats > h6{color:#777777}html.light .about-stats .stat-row{border-color:rgba(0,0,0,.1)}html.light .about-stats .stat-row h6{color:#999999}html.light .about-stats .stat-row h5{color:#1a1a1a}html.light .tl-filters{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.08);box-shadow:0 4px 24px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06)}html.light .tl-filter{color:#999999}html.light .tl-filter:hover{color:#333333}html.light .tl-filter.active{color:#1a1a1a;background:rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.08)}html.light .tl-line{background:#d4d4d4}html.light .tl-year-dot{background:#f7f7f7;border-color:#b3b3b3}html.light .tl-year-label{color:#999999}html.light .tl-entry:hover .tl-entry-row{background:#f7f7f7}html.light .tl-entry-title{color:#1a1a1a}html.light .tl-entry-details{background:rgba(255,255,255,.75)}html.light .tl-details-title{color:#1a1a1a}html.light .tl-details-desc{color:#555555}html.light .tl-dot{background:#d4d4d4}html.light .tl-entry:hover .tl-dot{background:#999999}html.light .tl-fade{background:linear-gradient(to bottom,transparent,#fbfbfb)}html.light .cursor-thumb{box-shadow:0 4px 20px rgba(0,0,0,.15),0 1px 4px rgba(0,0,0,.1)}html.light .spotlight-trigger{color:#777777}html.light .spotlight-trigger:hover{color:#1a1a1a}html.light .spotlight-panel{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.08);box-shadow:0 16px 48px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.06)}html.light .spotlight-input-row{border-bottom-color:#f2f2f2}html.light .spotlight-input{color:#1a1a1a}html.light .spotlight-input::placeholder{color:#b3b3b3}html.light .spotlight-icon{color:#b3b3b3}html.light .spotlight-kbd{color:#b3b3b3;background:#f7f7f7;border-color:#f2f2f2}html.light .spotlight-result{color:#555555}html.light .spotlight-result.active{background:#f7f7f7;color:#1a1a1a}html.light .spotlight-result-parent{color:#999999}html.light .spotlight-result-type{color:#999999}html.light .spotlight-section-header{color:#999999}html.light .spotlight-empty{color:#999999}html.light .action-link{color:#999999}html.light .action-link:hover{color:#1a1a1a}html.light .sub-nav .action-link.active{color:#1a1a1a;background:rgba(0,0,0,.06)}html.light .home-section h2,html.light .albums-subsection h2,html.light .albums-subsection h3,html.light .photos-browse-collections h2,html.light .photos-browse-year h2,html.light .page-wide > h2{color:#999999}html.light .map-marker-img{border-color:white}}@keyframes disco-rotate{0%{transform:rotateX(90deg)rotateZ(0deg)}100%{transform:rotateX(90deg)rotateZ(360deg)}}@keyframes disco-reflect{0%{opacity:1}50%{opacity:.3}100%{opacity:1}}.disco-ball{position:relative;display:inline-block;border-radius:50%;box-shadow:0 0 20px 6px rgba(0,0,0,.04);transition:box-shadow .4s ease}.disco-toggle:hover .disco-ball,.disco-toggle:focus-visible .disco-ball{box-shadow:0 0 0 3px transparent,0 0 0 4px rgba(0,0,0,.1),0 0 16px 6px rgba(0,0,0,.07),0 0 30px 10px rgba(0,0,0,.03)}.disco-ball-core{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ccc,#999 70%)}.disco-ball-sphere{transform-style:preserve-3d;width:100%;height:100%;position:relative;animation:disco-rotate 40s linear infinite}.disco-tile{position:absolute;top:50%;left:50%;transform-origin:0 0 0;backface-visibility:hidden;animation:disco-reflect 1s linear infinite}.disco-paused .disco-ball-sphere,.disco-paused .disco-tile{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.disco-ball-sphere,.disco-tile{animation:none !important}}.menu-right{position:fixed;top:calc(1rem + 12px);right:1rem;z-index:10;display:flex;align-items:center}@media(min-width:40rem){.menu-right{position:static;z-index:auto;justify-self:end}}.emergency-btn-wrapper{display:flex;align-items:center;position:relative;width:0;overflow:hidden;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.emergency-btn-wrapper.visible{width:140px;overflow:visible}@media(min-width:40rem){.emergency-btn-wrapper.visible{width:180px}}.emergency-btn{width:40px;height:40px;border-radius:50%;border:none;background:none;cursor:pointer;position:relative;transition:transform .25s,filter .4s;-webkit-tap-highlight-color:transparent;flex-shrink:0;padding:0}@media(min-width:40rem){.emergency-btn{width:56px;height:56px}}.emergency-btn img{width:100%;height:100%;display:block;border-radius:50%;transition:box-shadow .25s ease;box-shadow:0 4px 6px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.2),0 14px 28px rgba(0,0,0,.15)}.emergency-btn:hover{filter:brightness(1.1);transform:scale(1.05)translateY(-1px)}.emergency-btn:hover img{box-shadow:0 6px 8px rgba(0,0,0,.25),0 10px 20px rgba(0,0,0,.2),0 18px 34px rgba(0,0,0,.15)}.emergency-btn::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2.5px solid transparent;transition:border-color .25s}.emergency-btn.charging{transform:scale(.92)translateY(2px)}.emergency-btn.charging::after{border-color:#d25630;animation:charge-ring .4s linear forwards}.emergency-btn.charging img{box-shadow:0 1px 2px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.15)}.emergency-btn.active{filter:brightness(.85)saturate(1.2);animation:none}.emergency-btn.active::after{border-color:#d25630;animation:none;clip-path:none}.emergency-label{white-space:nowrap;font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#d25630;margin-right:8px;opacity:0;pointer-events:none}@media(min-width:40rem){.emergency-label{font-size:.625rem;margin-right:10px}}.emergency-btn-wrapper.visible .emergency-label{animation:label-fade-in .4s .6s ease forwards}.emergency-btn-wrapper.visible .emergency-btn:not(.charging):not(.active){animation:btn-wiggle 2s ease-in-out infinite}.emergency-btn-wrapper:has(.emergency-btn.active).emergency-label{animation:none}@keyframes label-fade-in{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}@keyframes charge-ring{0%{clip-path:polygon(50% 50%,50% 0%,50% 0%)}12.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%)}25%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%)}37.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%)}50%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,50% 100%)}62.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%)}75%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 50%)}87.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 0%)}100%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 0%,50% 0%)}}@keyframes btn-wiggle{0%,100%{transform:scale(1)rotate(0deg)}15%{transform:scale(1.12)rotate(-6deg)}30%{transform:scale(1.08)rotate(4deg)}45%{transform:scale(1.1)rotate(-3deg)}60%{transform:scale(1.06)rotate(2deg)}75%{transform:scale(1)rotate(0deg)}}.disco-ball-stage{overflow:hidden;max-height:0;margin-bottom:0;opacity:0;transition:max-height .8s cubic-bezier(.22,1,.36,1),margin .8s cubic-bezier(.22,1,.36,1),opacity .6s ease;display:flex;justify-content:center}.disco-ball-stage.visible{max-height:180px;margin-top:2rem;margin-bottom:2rem;opacity:1}.disco-ball-stage.retracting{max-height:0;margin:0;opacity:0;transition:max-height .6s cubic-bezier(.55,0,1,.45),margin .6s cubic-bezier(.55,0,1,.45),opacity .4s ease}.disco-ball-big{width:108px;height:108px;position:relative;flex-shrink:0}.page-content-body{transition:opacity .8s ease}body.party-mode .page-content-body{opacity:.6}.disco-reflections{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .8s ease}.disco-reflections.visible{opacity:1}.disco-ref{position:absolute;border-radius:50%;animation:ref-drift linear infinite,ref-flicker ease-in-out infinite}@keyframes ref-drift{0%{transform:translate(0,0)}25%{transform:translate(var(--dx1),var(--dy1))}50%{transform:translate(var(--dx2),var(--dy2))}75%{transform:translate(var(--dx3),var(--dy3))}100%{transform:translate(0,0)}}@keyframes ref-flicker{0%,100%{opacity:var(--ref-max)}50%{opacity:var(--ref-min)}}body.party-mode{background-color:#1a0a06 !important;transition:background-color .6s ease}body.party-mode #container{background-color:transparent !important}body.party-mode,body.party-mode h1,body.party-mode h2,body.party-mode h3,body.party-mode h4{color:#fef2ee !important}body.party-mode p,body.party-mode li,body.party-mode article ul li,body.party-mode .experience p{color:#f09878 !important}body.party-mode mark{color:#fef2ee !important;background:rgba(210,86,48,.3)!important}body.party-mode a{color:#d25630 !important}body.party-mode .side{background:rgba(210,86,48,.08)!important;border-color:rgba(210,86,48,.2)!important}body.party-mode .side h3{color:#fce0d8 !important}body.party-mode .projectsgrid .child,body.party-mode .rolesgrid .child{background:rgba(210,86,48,.08)!important;border-color:rgba(210,86,48,.15)!important}body.party-mode .projectsgrid a{color:#f8bfad !important}body.party-mode .disco-toggle{opacity:0;pointer-events:none}body.party-mode .emergency-label{display:none}@view-transition{navigation:auto}::view-transition-group(root){animation-duration:.25s}body.overlay-open{overflow:hidden}body.overlay-open .pill-bar .pill{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.2);color:#fff}@media(hover:hover){body.overlay-open .pill-bar .pill:hover{transform:scale(1.08);filter:brightness(1.2)}}body.overlay-open .pill-bar .nav-sep{background:rgba(255,255,255,.3)}.overlay-backdrop{position:fixed;inset:0;z-index:100;background:var(--backdrop-color,rgba(0,0,0,.4));opacity:0;pointer-events:none;transition:opacity .6s ease;will-change:opacity}.overlay-backdrop.active{opacity:1;pointer-events:auto}.overlay-card{position:fixed;z-index:200;top:50%;left:50%;transform:translate(-50%,-50%);width:min(640px,100vw - 2rem);max-height:85vh;border-radius:8px;overflow:hidden;background:var(--card-tint,rgba(255,255,255,.75));backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);opacity:0;pointer-events:none;transition:opacity .4s ease}.overlay-card.active{opacity:1;pointer-events:auto}.photo-overlay{position:fixed;z-index:200;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity .4s ease}.photo-overlay.active{opacity:1;pointer-events:auto}.photo-overlay.loading img{filter:blur(4px);transition:filter .4s ease}.photo-overlay img{display:block;width:auto;height:auto;max-width:min(80vw,1200px);max-height:75vh;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.06),0 12px 24px rgba(0,0,0,.1);user-select:none;pointer-events:none}.photo-overlay.portrait img{max-height:min(80vh,900px);max-width:calc(100vw - 8rem)}@media(max-width:639px){.photo-overlay img,.photo-overlay.portrait img{max-width:calc(100vw - 20px);max-height:80vh}}.photo-overlay .photo-meta{margin-top:.5rem;text-align:center;font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.75rem;color:#b3b3b3;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto;user-select:text}.photo-overlay.stack-mode::before,.photo-overlay.stack-mode::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background:rgba(255,255,255,.4);box-shadow:0 1px 4px rgba(0,0,0,.1)}.photo-overlay.stack-mode::before{transform:rotate(-3deg)translate(-4px,4px);opacity:.5;filter:blur(1px)}.photo-overlay.stack-mode::after{transform:rotate(2deg)translate(3px,-2px);opacity:.7}.photo-overlay.stack-mode img{position:relative;z-index:2}.overlay-card-inner{padding:1.5rem;overflow-y:auto;max-height:85vh}.overlay-cta{display:block;text-align:center;padding:12px 1.5rem;margin-top:1rem;border-radius:100px;background:var(--card-title,#1a1a1a);color:#fff;text-decoration:none;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;line-height:1;transition:opacity .4s cubic-bezier(.16,1,.3,1)}.overlay-cta:hover{opacity:.85;color:#fff}.overlay-nav{position:fixed;z-index:300;width:44px;height:44px;border-radius:100px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.15);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);color:#fff;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.06);opacity:0;pointer-events:none;transition:opacity .6s ease;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;line-height:1}.overlay-nav.active{opacity:1;pointer-events:auto}.overlay-nav:hover{color:#fff;opacity:.8}.overlay-nav:active{transform:scale(.92)}.overlay-nav-close{font-size:1.25rem}.overlay-photo-cta{position:fixed;z-index:300;border-radius:100px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.15);backdrop-filter:blur(30px)saturate(180%);-webkit-backdrop-filter:blur(30px)saturate(180%);color:#fff;text-decoration:none;font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-feature-settings:"liga" 1,"ss02" 1,"zero" 1;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;line-height:1;padding:10px 1.5rem;transform:translateX(-50%);opacity:0;pointer-events:none;transition:opacity .6s ease}.overlay-photo-cta.active{opacity:1;pointer-events:auto}.overlay-photo-cta:hover{color:#fff;opacity:.8}.overlay-photo-cta:active{transform:translateX(-50%)scale(.96)}@media(max-width:639px){.overlay-nav{display:none}.overlay-photo-cta{top:auto !important;left:50% !important;bottom:max(1.5rem,env(safe-area-inset-bottom))}}@media(max-width:639px){.page.work .twogrid > .side,.work.post .twogrid > .side{display:none}.side-trigger{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;margin-top:1rem;background:#f2f2f2;border:none;border-radius:2px;font-size:.8rem;font-weight:500;color:#555555;cursor:pointer}}.side-sheet{position:fixed;bottom:0;left:0;right:0;z-index:10;max-height:85vh;border-radius:12px 12px 0 0;overflow:hidden;background:#f7f7f7;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);visibility:hidden}.side-sheet.active{transform:translateY(0);visibility:visible}.side-sheet .side{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;align-items:baseline;padding:0;background:none;border-radius:0}.side-sheet .side h6{grid-column:1/-1;margin:0 0 .5rem}.side-sheet .side .stat{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.side-sheet .side .stat + .stat{margin-top:.25rem}.side-sheet .side h5{margin:0;grid-column:1}.side-sheet .side h3{font-size:1rem;font-weight:400;margin:0;line-height:1.3;text-align:right;grid-column:2}.side-sheet .side p{font-size:1rem;font-weight:400;margin:0;line-height:1.3;grid-column:2;text-align:right}.side-sheet-inner{padding:1.5rem 1.5rem 2rem;overflow-y:auto;max-height:85vh}.side-sheet-handle{width:36px;height:4px;border-radius:2px;background:rgba(0,0,0,.12);margin:0 auto 1rem;padding:8px 0;background-clip:content-box;cursor:pointer}.side-sheet-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:#999999}.side-sheet-close:hover{color:#1a1a1a}@media(prefers-reduced-motion:reduce){.overlay-card,.overlay-backdrop,.photo-overlay,.side-sheet,.top-bar,.pill-bar{transition-duration:.001s !important}}.print-header{display:none}.print-btn{background:none;border:1px solid #d4d4d4;border-radius:4px;padding:.5rem 1rem;font-size:.8rem;color:#777777;cursor:pointer;margin-bottom:2rem;font-family:inherit;transition:border-color .25s ease,color .25s ease}.print-btn:hover{border-color:#777777;color:#333333}@media print{footer,.top-bar,.print-btn,.menu-right,.menu-left,.disco-ball-stage,.disco-reflections,.emergency-btn-wrapper,.elevator,.overlay-backdrop,.side-trigger{display:none !important}.print-header{display:flex !important;justify-content:space-between;align-items:baseline;border-bottom:2px solid #333;padding-bottom:.4rem;margin-bottom:1rem}.print-header-name{font-family:"Name Sans",-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,sans-serif;font-weight:600;font-size:1.563rem;color:black}.print-header-contact{font-size:.75rem;color:#555}body{background:white !important;color:black !important;font-size:11pt !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}#container{background:white !important}.page,.post{margin:0 !important;max-width:100% !important;padding:0 !important}.page > h1,.post > h1{display:none}.projectcover{display:none !important}.role-excerpt{display:block !important}.rolesgrid{gap:0 !important}.rolesgrid > .child{break-inside:avoid;padding:.6rem 0 !important;border-bottom:1px solid #ddd !important}.rolesgrid > .child:last-child{border-bottom:none !important;padding-bottom:0 !important}.role-excerpt-title,.role-excerpt h3{color:black !important;font-size:11pt !important;font-weight:600 !important;margin-bottom:0 !important}.role-excerpt h4,.rolesgrid h4{color:#555 !important;font-size:9pt !important;margin-bottom:.3rem !important}.projectmeta p{color:#333 !important;font-size:9.5pt !important;line-height:1.4 !important;margin:0 !important}.projectmeta ul,.projectmeta li{color:#333 !important;font-size:9.5pt !important;line-height:1.4 !important}.projectmeta br{display:none}.side{display:none !important}a{color:inherit !important;text-decoration:none !important}@page{margin:1.2cm 1.5cm}}