@font-face{font-family:Basteleur;src:url(/fonts/Basteleur-Bold.woff2) format("woff2"),url(/fonts/Basteleur-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Basteleur;src:url(/fonts/Basteleur-Moonlight.woff2) format("woff2"),url(/fonts/Basteleur-Moonlight.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.woff2) format("woff2"),url(/fonts/DepartureMono-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--paper: #0E1430;--paper-deep: #060A1E;--paper-line: #1A2350;--ink-cream: #F1E8D4;--ink-pink: #FF3D8B;--ink-yellow: #F4DD45;--ink-plum: #6B1F47;--ink-mute: #8A8FB5;--display: "Basteleur", "Times New Roman", serif;--mono: "Departure Mono", ui-monospace, "Menlo", monospace;--gutter: clamp(1.25rem, 3vw, 3rem);--max: 1280px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink-cream);font-family:var(--mono);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.4 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;background:radial-gradient(1100px 700px at 12% -10%,rgba(255,61,139,.18),transparent 60%),radial-gradient(900px 600px at 110% 110%,rgba(244,221,69,.12),transparent 55%);mix-blend-mode:screen}::selection{background:var(--ink-yellow);color:var(--paper-deep)}a{color:inherit;text-decoration:none}button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}.mono{font-family:var(--mono);letter-spacing:.01em}.overline{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-yellow);display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.2rem}.overline:before{content:"";width:22px;height:2px;background:var(--ink-yellow)}.link-rule{position:relative;color:var(--ink-cream);border-bottom:1px dashed currentColor;padding-bottom:1px;transition:color .2s,border-color .2s}.link-rule:hover{color:var(--ink-pink);border-bottom-style:solid}.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.1rem var(--gutter);mix-blend-mode:difference}.site-nav__mark{display:inline-flex;align-items:center;gap:.55rem}.site-nav__glyph{font-family:var(--display);font-weight:700;font-size:28px;line-height:1;color:var(--ink-cream);transform:translateY(-2px)}.site-nav__rule{display:inline-block;width:36px;height:6px;background:var(--ink-pink);transform:skew(-22deg)}.site-nav__links{display:flex;gap:1.4rem;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.site-nav__link{position:relative;padding:.35rem .1rem;color:var(--ink-cream)}.site-nav__link:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--ink-yellow);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.site-nav__link:hover:after,.site-nav__link.is-active:after{transform:scaleX(1)}.site-main{position:relative;z-index:2;min-height:100vh}.page--home{position:relative}.hero{position:relative;min-height:100vh;padding:7rem var(--gutter) 4rem;overflow:hidden}.hero__stage{position:relative;width:100%;min-height:calc(100vh - 11rem);-webkit-user-select:none;user-select:none}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px);background-size:64px 64px;opacity:.32;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.55}}.np-card{position:absolute;top:0;right:0;width:clamp(280px,26vw,360px);display:flex;align-items:stretch;background:var(--ink-cream);color:var(--paper-deep);border:2px solid var(--paper-deep);text-decoration:none;cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;box-shadow:-6px 7px 0 var(--ink-pink),6px -6px 0 var(--ink-yellow);transition:box-shadow .25s}.np-card:hover{box-shadow:-10px 11px 0 var(--ink-pink),10px -10px 0 var(--ink-yellow)}.np-card:active{cursor:grabbing}.np-card__art{position:relative;flex:0 0 auto;width:clamp(96px,9vw,128px);aspect-ratio:1 / 1;background:var(--paper-deep);border-right:2px solid var(--paper-deep);overflow:hidden}.np-card__art img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.05)}.np-card__art-img{animation:np-art-in 1s cubic-bezier(.2,.8,.2,1) both}.np-card__swap{animation:np-text-in .75s cubic-bezier(.2,.8,.2,1) both}.np-card__title.np-card__swap{animation-delay:.08s}.np-card__artist.np-card__swap{animation-delay:.22s}.np-card__art-sweep{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(115deg,transparent 0%,transparent 38%,var(--ink-pink) 47%,var(--ink-yellow) 53%,transparent 62%,transparent 100%);background-size:260% 100%;mix-blend-mode:screen;opacity:0;animation:np-art-sweep .95s cubic-bezier(.7,0,.2,1) both}@keyframes np-art-in{0%{opacity:0;transform:scale(1.25) rotate(-3deg);filter:contrast(1.05) saturate(0) blur(14px) brightness(.7)}35%{opacity:1;filter:contrast(1.15) saturate(1.4) blur(4px) brightness(1.1) hue-rotate(-12deg)}70%{transform:scale(1.02) rotate(.4deg);filter:contrast(1.08) saturate(1.15) blur(0) brightness(1.02)}to{opacity:1;transform:scale(1) rotate(0);filter:contrast(1.05) saturate(1.05)}}@keyframes np-art-sweep{0%{opacity:0;background-position:140% 0}15%{opacity:1;background-position:120% 0}60%{opacity:.9;background-position:-40% 0}to{opacity:0;background-position:-80% 0}}@keyframes np-text-in{0%{opacity:0;transform:translate(-14px) skew(-6deg);clip-path:inset(0 100% 0 0);letter-spacing:.06em;color:var(--ink-pink)}45%{opacity:1;clip-path:inset(0 0 0 0);color:var(--ink-pink)}75%{transform:translate(2px) skew(0);letter-spacing:.02em}to{opacity:1;transform:translate(0) skew(0);clip-path:inset(0 0 0 0);letter-spacing:normal}}.np-card__artist.np-card__swap{animation-name:np-text-in-alt}@keyframes np-text-in-alt{0%{opacity:0;transform:translate(-10px);clip-path:inset(0 100% 0 0);color:var(--ink-pink)}60%{opacity:1;clip-path:inset(0 0 0 0)}to{opacity:1;transform:translate(0);clip-path:inset(0 0 0 0);color:var(--ink-plum)}}.np-card__art-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--display);font-size:3rem;color:var(--ink-cream);opacity:.35}.np-card__art:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.55) 1px,transparent 1.5px);background-size:4px 4px;mix-blend-mode:multiply;opacity:.35;pointer-events:none}.np-card__needle{position:absolute;top:0;right:0;width:22px;height:22px;background:var(--ink-pink);clip-path:polygon(100% 0,100% 100%,0 0)}.np-card__body{flex:1;min-width:0;padding:.85rem 1rem .95rem;display:flex;flex-direction:column;gap:.25rem;justify-content:center}.np-card__status{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-deep);display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.np-card__dot{width:9px;height:9px;border-radius:50%;background:var(--ink-mute);box-shadow:0 0 0 3px #0000000a}.np-card.is-live .np-card__dot{background:var(--ink-pink);box-shadow:0 0 0 3px #ff3d8b40;animation:pulse 1.4s ease-in-out infinite}.np-card__title{font-family:var(--display);font-weight:700;font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1.05;color:var(--paper-deep);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.np-card__artist{font-family:var(--mono);font-size:12px;color:var(--ink-plum);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero__name{position:absolute;top:8vh;left:0;right:0;margin:0;font-family:var(--display);font-weight:700;font-size:clamp(5rem,16vw,16rem);line-height:.86;letter-spacing:-.02em;color:var(--ink-cream);display:flex;flex-wrap:wrap;gap:0;pointer-events:none}.hero__letter{display:inline-block;position:relative;pointer-events:auto;cursor:grab;will-change:transform;text-shadow:-3px 4px 0 var(--ink-pink),3px -3px 0 var(--ink-yellow);transition:text-shadow .25s}.hero__letter:hover{text-shadow:-7px 8px 0 var(--ink-pink),7px -7px 0 var(--ink-yellow)}.hero__letter.is-space{width:.4em;cursor:default;text-shadow:none}.hero__letter.is-dragging,.hero__letter:active{cursor:grabbing}.hero__tagline{position:absolute;bottom:14vh;right:0;max-width:28rem;margin:0;font-family:var(--mono);font-size:13px;line-height:1.55;letter-spacing:.04em;color:var(--ink-cream);text-align:right;padding:.9rem 1rem;border:1px solid var(--ink-cream);background:var(--paper-deep);will-change:transform}.hero__tagline:before{content:"//";color:var(--ink-yellow);margin-right:.5rem}.hero__pills{position:absolute;bottom:4vh;left:0;display:flex;flex-wrap:wrap;gap:.9rem;margin:0;padding:0;list-style:none}.hero__pill{display:inline-block;font-family:var(--display);font-weight:700;font-size:1.4rem;line-height:1;padding:.85rem 1.35rem;background:var(--ink-cream);color:var(--paper-deep);border:2px solid var(--paper-deep);cursor:grab;-webkit-user-select:none;user-select:none;position:relative;will-change:transform;box-shadow:-4px 5px 0 var(--ink-pink),4px -4px 0 var(--ink-yellow);transition:box-shadow .25s,transform .12s}.hero__pill:after{content:"↗";display:inline-block;margin-left:.5rem;font-family:var(--mono);font-size:.85em;color:var(--ink-pink)}.hero__pill:hover{box-shadow:-8px 9px 0 var(--ink-pink),8px -8px 0 var(--ink-yellow)}.hero__pill:active{cursor:grabbing}.hero__socials{position:absolute;bottom:4vh;right:0;display:flex;flex-wrap:wrap;gap:.9rem;margin:0;padding:0;list-style:none}.hero__socials>li{display:block}.social-stamp{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:5.4rem;padding:.6rem .5rem .55rem;background:var(--ink-cream);color:var(--paper-deep);border:2px dashed var(--paper-deep);outline:2px solid var(--ink-cream);outline-offset:0;cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;box-shadow:-3px 4px 0 var(--ink-pink),3px -3px 0 var(--ink-yellow);transition:box-shadow .22s,color .22s}.social-stamp:active{cursor:grabbing}.social-stamp:hover{box-shadow:-6px 7px 0 var(--ink-pink),6px -6px 0 var(--ink-yellow)}.social-stamp:before{content:"";position:absolute;inset:18% -12% auto auto;width:140%;height:36%;border:1.5px solid var(--paper-deep);border-radius:50%;border-right-color:transparent;border-bottom-color:transparent;opacity:.18;transform:rotate(-14deg);pointer-events:none}.social-stamp__glyph{font-family:var(--display);font-weight:700;font-size:1.8rem;line-height:1;color:var(--paper-deep);display:inline-flex;align-items:center;justify-content:center;height:1.8rem}.social-stamp__icon{width:1.5rem;height:1.5rem;display:block;pointer-events:none;background-color:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.social-stamp__label{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-plum)}.social-stamp__copied{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--ink-yellow);color:var(--paper-deep);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .18s}.social-stamp[data-copied="1"] .social-stamp__copied{opacity:1}.social-stamp--email .social-stamp__glyph{color:var(--ink-pink)}.social-stamp--discord .social-stamp__glyph{color:var(--ink-plum)}.social-stamp--lastfm .social-stamp__glyph{color:var(--ink-pink)}.social-stamp:focus-visible{outline:2px solid var(--ink-yellow);outline-offset:3px}.hero__chrome{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.hero__settle{border:1px solid var(--ink-cream);padding:.45rem .8rem;color:var(--ink-cream);transition:background .2s,color .2s}.hero__settle:hover{background:var(--ink-yellow);color:var(--paper-deep)}.hero__hint{margin:0;color:var(--ink-mute)}.page__foot{display:flex;justify-content:space-between;align-items:center;padding:1.5rem var(--gutter);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);border-top:1px dashed var(--paper-line)}.page--projects-index{padding:8rem var(--gutter) 4rem;max-width:var(--max);margin:0 auto}.page__head{margin-bottom:3rem}.display-1{font-family:var(--display);font-weight:700;font-size:clamp(3rem,9vw,7.5rem);line-height:.95;letter-spacing:-.02em;margin:0}.display-1.wonk em,.display-1 em{font-style:normal;color:var(--ink-pink);position:relative}.proj-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--paper-line)}.proj-list__row{display:grid;grid-template-columns:100px minmax(180px,1fr) 2fr auto;align-items:baseline;gap:1.5rem;padding:1.6rem .5rem;border-bottom:1px solid var(--paper-line);position:relative;transition:background .25s,padding-left .25s}.proj-list__row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ink-pink);transition:width .3s cubic-bezier(.2,.8,.2,1)}.proj-list__row:hover{padding-left:1.5rem;background:#ff3d8b0a}.proj-list__row:hover:before{width:6px}.proj-list__row:hover .proj-list__name{color:var(--ink-pink)}.proj-list__row:hover .proj-list__arrow{transform:translate(8px);color:var(--ink-yellow)}.proj-list__year{font-size:12px;color:var(--ink-mute);letter-spacing:.12em}.proj-list__name{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1;color:var(--ink-cream);transition:color .25s}.proj-list__blurb{font-family:var(--mono);font-size:13px;color:var(--ink-cream);line-height:1.5}.proj-list__arrow{font-family:var(--display);font-size:1.6rem;color:var(--ink-cream);transition:transform .3s,color .3s}@media(max-width:720px){.proj-list__row{grid-template-columns:1fr auto;gap:.4rem 1rem}.proj-list__year{grid-column:1 / -1;order:-1}.proj-list__blurb{grid-column:1 / -1}}.page--project{padding-top:7rem;--accent: var(--ink-pink)}.proj-hero{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) 2rem}.proj-hero__index{display:flex;justify-content:space-between;width:100%}.display-0{font-family:var(--display);font-weight:700;font-size:clamp(4rem,18vw,18rem);line-height:.82;letter-spacing:-.04em;margin:.4rem 0 1.5rem;color:var(--ink-cream);display:flex;flex-wrap:wrap;overflow:hidden;padding-bottom:.2em}.proj-title{display:block;text-shadow:-4px 5px 0 var(--accent),4px -4px 0 var(--ink-yellow)}.display-3{font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,2.8vw,2.2rem);line-height:1.25;margin:0;color:var(--ink-cream)}.proj-blurb{font-family:var(--mono);max-width:38rem;font-size:14px;line-height:1.65;color:var(--ink-cream);margin:0 0 2.4rem}.proj-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem;border-top:1px dashed var(--paper-line);border-bottom:1px dashed var(--paper-line);padding:1.2rem 0;font-size:12px}.proj-meta dt{color:var(--ink-yellow);letter-spacing:.16em;text-transform:uppercase;font-size:10px;margin-bottom:.3rem}.proj-meta dd{margin:0;color:var(--ink-cream)}.proj-marquee{margin:4rem 0;overflow:hidden;border-block:2px solid var(--ink-cream);background:var(--accent);color:var(--paper-deep)}.proj-marquee__track{display:flex;gap:2rem;width:max-content;font-family:var(--display);font-weight:700;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1;padding:.6rem 1rem;white-space:nowrap}.proj-marquee__track>span:nth-child(2n){color:var(--ink-yellow)}.proj-body{max-width:64rem;margin:0 auto;padding:2rem var(--gutter) 4rem;display:grid;gap:4rem}.proj-section{display:grid;grid-template-columns:minmax(160px,200px) 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px dashed var(--paper-line)}.proj-section .overline{margin:0}.proj-section p{font-family:var(--display);font-weight:400;font-size:1.4rem;line-height:1.4;margin:0;color:var(--ink-cream)}.proj-section ul.proj-bullets{list-style:none;padding:0;margin:0;display:grid;gap:.8rem;font-family:var(--mono);font-size:14px;color:var(--ink-cream)}.proj-bullets li{position:relative;padding-left:1.4rem}.proj-bullets li:before{content:"▸";position:absolute;left:0;top:0;color:var(--accent)}.proj-foot{max-width:var(--max);margin:0 auto;padding:2rem var(--gutter) 4rem;border-top:1px dashed var(--paper-line);font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}@media(max-width:720px){.proj-section{grid-template-columns:1fr;gap:.8rem}}.not-found{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 var(--gutter);gap:1rem;max-width:var(--max);margin:0 auto}::view-transition-group(*){animation-duration:.52s;animation-timing-function:cubic-bezier(.65,0,.25,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:.38s;animation-timing-function:cubic-bezier(.65,0,.25,1)}::view-transition-old(root){animation-name:zine-out}::view-transition-new(root){animation-name:zine-in}@keyframes zine-out{to{opacity:0;transform:translateY(-12px) scale(.985);filter:blur(2px)}}@keyframes zine-in{0%{opacity:0;transform:translateY(14px) scale(.985);filter:blur(2px)}}::view-transition-old(root){animation:page-wipe-out .55s cubic-bezier(.76,0,.24,1) both;transform-origin:left center;z-index:1}::view-transition-new(root){animation:page-wipe-in .55s cubic-bezier(.76,0,.24,1) both;transform-origin:right center;z-index:2}@keyframes page-wipe-out{0%{clip-path:inset(0 0 0 0);filter:none}60%{clip-path:inset(0 35% 0 0);filter:saturate(1.4) hue-rotate(-8deg)}to{clip-path:inset(0 100% 0 0);filter:saturate(1.4) hue-rotate(-8deg)}}@keyframes page-wipe-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}::view-transition-group(*){animation-duration:.7s;animation-timing-function:cubic-bezier(.65,0,.35,1)}::view-transition-image-pair(*){isolation:auto}::view-transition-old([class*="proj-"]),::view-transition-new([class*="proj-"]){animation-duration:.7s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.hero__name,.hero__tagline,.hero__overline,.hero__pills{position:static}.hero__pills{margin-top:2rem}::view-transition-old(*),::view-transition-new(*){animation:none!important}}@keyframes em-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes em-card-in{0%{opacity:0;transform:translateY(16px) rotate(-.4deg) scale(.98)}to{opacity:1;transform:translateY(0) rotate(-.4deg) scale(1)}}.email-modal{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:var(--gutter);background:radial-gradient(800px 500px at 20% 10%,rgba(255,61,139,.18),transparent 60%),radial-gradient(700px 500px at 90% 95%,rgba(244,221,69,.12),transparent 60%),#060a1eb8;backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1);animation:em-backdrop-in .22s ease-out both}.email-modal__card{position:relative;width:min(28rem,100%);background:var(--ink-cream);color:var(--paper-deep);border:2px solid var(--paper-deep);padding:1.4rem 1.5rem 1.35rem;box-shadow:-10px 12px 0 var(--ink-pink),10px -10px 0 var(--ink-yellow);animation:em-card-in .32s cubic-bezier(.2,.8,.2,1) both;transform:rotate(-.4deg)}.email-modal__card:before{content:"";position:absolute;inset:8px;border:1.5px dashed var(--paper-deep);opacity:.35;pointer-events:none}.email-modal__card:after{content:"";position:absolute;top:0;right:0;width:88px;height:88px;background-image:radial-gradient(rgba(6,10,30,.75) 1px,transparent 1.5px);background-size:5px 5px;mask-image:radial-gradient(circle at 100% 0,black 0,transparent 75%);-webkit-mask-image:radial-gradient(circle at 100% 0,black 0,transparent 75%);opacity:.35;pointer-events:none}.email-modal__kicker{margin:0 0 .75rem;color:var(--ink-plum)}.email-modal__kicker:before{background:var(--ink-pink)}.email-modal__title{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:.95;letter-spacing:-.015em;margin:0 0 .75rem;color:var(--paper-deep);word-break:break-word}.email-modal__at,.email-modal__dot{color:var(--ink-pink)}.email-modal__note{font-family:var(--mono);font-size:12.5px;line-height:1.55;color:var(--ink-plum);margin:0 0 1.1rem;max-width:22rem}.email-modal__addr{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.6rem .8rem;margin:0 0 1.2rem;padding:.65rem .8rem;border:1px dashed var(--paper-deep);background:#060a1e0a}.email-modal__addr dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-plum)}.email-modal__addr dd{margin:0;font-size:14px;color:var(--paper-deep);word-break:break-all}.email-modal__actions{display:flex;flex-wrap:wrap;gap:.6rem}.email-modal__btn{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:.7rem 1rem;border:2px solid var(--paper-deep);background:var(--ink-cream);color:var(--paper-deep);cursor:pointer;transition:transform .12s,box-shadow .22s,background .2s,color .2s}.email-modal__btn-face{display:inline-block}.email-modal__btn:focus-visible{outline:2px solid var(--ink-yellow);outline-offset:3px}.email-modal__btn--primary{background:var(--ink-pink);color:var(--ink-cream);box-shadow:4px 4px 0 var(--paper-deep)}.email-modal__btn--primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--paper-deep)}.email-modal__btn--primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--paper-deep)}.email-modal__btn--primary[data-copied="1"]{background:var(--ink-yellow);color:var(--paper-deep)}.email-modal__btn--ghost{background:var(--ink-cream);box-shadow:4px 4px 0 var(--ink-pink)}.email-modal__btn--ghost:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink-pink);color:var(--ink-pink)}.email-modal__btn--ghost:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink-pink)}.email-modal__btn--quiet{background:transparent;border-color:transparent;color:var(--ink-plum);padding:.7rem .6rem;letter-spacing:.22em}.email-modal__btn--quiet:hover{color:var(--paper-deep);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--ink-pink)}.email-modal__x{position:absolute;top:.35rem;right:.5rem;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.4rem;line-height:1;color:var(--paper-deep);cursor:pointer;border-radius:50%;transition:background .2s,color .2s}.email-modal__x:hover{background:var(--ink-pink);color:var(--ink-cream)}.email-modal__x:focus-visible{outline:2px solid var(--ink-yellow);outline-offset:2px}@media(prefers-reduced-motion:reduce){.email-modal,.email-modal__card{animation:none!important}}.hero--mobile{min-height:auto;overflow:visible}.hero--mobile:before{display:none}.hero--mobile .hero__stage{min-height:0;display:flex;flex-direction:column;gap:1.6rem}.hero--mobile .np-card,.hero--mobile .hero__name,.hero--mobile .hero__tagline,.hero--mobile .hero__pills,.hero--mobile .hero__socials,.hero--mobile .hero__chrome{position:static;transform:none!important;inset:auto;margin:0}.hero--mobile [data-phys]{transform:none!important}.hero--mobile .np-card{width:100%;cursor:pointer}.hero--mobile .hero__name{pointer-events:none}.hero--mobile .hero__letter{cursor:default}.hero--mobile .hero__tagline{text-align:left;max-width:none;align-self:stretch}.hero--mobile .hero__pills{display:flex;flex-wrap:wrap;gap:.85rem}.hero--mobile .hero__pill{cursor:pointer}.hero--mobile .hero__socials{display:flex;flex-wrap:wrap;gap:.85rem}.hero--mobile .social-stamp{cursor:pointer}@media(max-width:720px){:root{--gutter: 1.1rem}body{font-size:14px}.site-nav{padding:.85rem var(--gutter)}.site-nav__glyph{font-size:24px}.site-nav__rule{width:28px;height:5px}.site-nav__links{gap:1rem;font-size:11px;letter-spacing:.14em}.hero--mobile{padding:5.5rem var(--gutter) 2.5rem}.hero--mobile .hero__name{font-size:clamp(2.2rem,13.5vw,4.6rem);line-height:.95;pointer-events:none;order:2;flex-wrap:nowrap;white-space:nowrap}.hero--mobile .hero__letter{cursor:default;text-shadow:-2px 3px 0 var(--ink-pink),2px -2px 0 var(--ink-yellow)}.hero--mobile .hero__letter:hover{text-shadow:-2px 3px 0 var(--ink-pink),2px -2px 0 var(--ink-yellow)}.hero--mobile .np-card{order:1;width:100%;cursor:pointer;box-shadow:-4px 5px 0 var(--ink-pink),4px -4px 0 var(--ink-yellow)}.hero--mobile .np-card__art{width:88px}.hero--mobile .hero__tagline{order:3;text-align:left;max-width:none;align-self:stretch;font-size:12.5px}.hero--mobile .hero__pills{order:4;display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.hero--mobile .hero__pill{cursor:pointer;font-size:1.05rem;padding:.7rem .9rem;text-align:center;box-shadow:-3px 4px 0 var(--ink-pink),3px -3px 0 var(--ink-yellow)}.hero--mobile .hero__pill:hover{box-shadow:-3px 4px 0 var(--ink-pink),3px -3px 0 var(--ink-yellow)}.hero--mobile .hero__socials{order:5;display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.hero--mobile .social-stamp{width:auto;cursor:pointer;padding:.55rem .4rem .5rem}.hero--mobile .social-stamp:hover{box-shadow:-3px 4px 0 var(--ink-pink),3px -3px 0 var(--ink-yellow)}.hero--mobile .hero__chrome{order:6;justify-content:flex-start}.page__foot{padding:1.1rem var(--gutter);font-size:10px;letter-spacing:.14em;flex-wrap:wrap;gap:.4rem}.page--projects-index{padding:6rem var(--gutter) 3rem}.page__head{margin-bottom:2rem}.page--project{padding-top:5.5rem}.proj-hero{padding:0 var(--gutter) 1.5rem}.display-0{font-size:clamp(3.2rem,17vw,6rem);margin:.2rem 0 1rem}.proj-title{text-shadow:-2px 3px 0 var(--accent),2px -2px 0 var(--ink-yellow)}.proj-blurb{font-size:13px;margin-bottom:1.6rem}.proj-meta{gap:.8rem;padding:1rem 0}.proj-marquee{margin:2.5rem 0}.proj-body{padding:1.5rem var(--gutter) 2.5rem;gap:2.5rem}.proj-foot{padding:1.5rem var(--gutter) 2.5rem;font-size:11px}}@media(min-width:721px)and (max-width:1024px){:root{--gutter: 2rem}body{font-size:15px}.site-nav{padding:1rem var(--gutter)}.site-nav__glyph{font-size:26px}.site-nav__links{gap:1.3rem;font-size:12px}.hero--mobile{padding:7rem var(--gutter) 4rem;min-height:100vh}.hero--mobile .hero__stage{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"name    np" "tagline tagline" "pills   socials" "chrome  chrome";gap:2rem 2rem;align-items:start}.hero--mobile .hero__name{grid-area:name;font-size:clamp(4rem,11vw,8rem);line-height:.88;white-space:normal;flex-wrap:wrap}.hero--mobile .hero__letter{text-shadow:-3px 4px 0 var(--ink-pink),3px -3px 0 var(--ink-yellow)}.hero--mobile .np-card{grid-area:np;justify-self:end;width:clamp(280px,38vw,360px);box-shadow:-6px 7px 0 var(--ink-pink),6px -6px 0 var(--ink-yellow)}.hero--mobile .np-card__art{width:clamp(96px,12vw,128px)}.hero--mobile .hero__tagline{grid-area:tagline;text-align:left;max-width:36rem;font-size:13px}.hero--mobile .hero__pills{grid-area:pills;display:flex;flex-wrap:wrap;gap:.85rem}.hero--mobile .hero__pill{font-size:1.25rem;padding:.8rem 1.15rem}.hero--mobile .hero__socials{grid-area:socials;display:flex;flex-wrap:wrap;gap:.85rem;justify-content:flex-end}.hero--mobile .social-stamp{width:5rem}.hero--mobile .hero__chrome{grid-area:chrome}.page--projects-index{padding:8rem var(--gutter) 4rem}.page--project{padding-top:7rem}.proj-body{padding:2rem var(--gutter) 4rem}}@media(min-width:721px)and (max-width:1024px)and (max-height:620px){:root{--gutter: 1.4rem}.site-nav{padding:.7rem var(--gutter)}.site-nav__glyph{font-size:22px}.site-nav__rule{width:26px;height:5px}.site-nav__links{gap:1rem;font-size:11px}.hero--mobile{padding:4.2rem var(--gutter) 1.5rem}.hero--mobile .hero__stage{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);grid-template-areas:"name    np" "tagline socials" "pills   chrome";gap:1rem 1.6rem;align-items:start}.hero--mobile .hero__name{grid-area:name;font-size:clamp(2.6rem,8vw,5rem);line-height:.9;white-space:nowrap;flex-wrap:nowrap}.hero--mobile .hero__letter{text-shadow:-2px 3px 0 var(--ink-pink),2px -2px 0 var(--ink-yellow)}.hero--mobile .np-card{grid-area:np;justify-self:end;width:clamp(260px,36vw,340px)}.hero--mobile .np-card__art{width:88px}.hero--mobile .hero__tagline{grid-area:tagline;align-self:end;max-width:28rem;font-size:12.5px}.hero--mobile .hero__pills{grid-area:pills;gap:.6rem}.hero--mobile .hero__pill{font-size:1rem;padding:.6rem .9rem}.hero--mobile .hero__socials{grid-area:socials;justify-content:flex-end;gap:.6rem}.hero--mobile .social-stamp{width:4.2rem;padding:.45rem .35rem .4rem}.hero--mobile .social-stamp__glyph{font-size:1.4rem;height:1.4rem}.hero--mobile .social-stamp__icon{width:1.2rem;height:1.2rem}.hero--mobile .hero__chrome{grid-area:chrome;justify-self:end;align-self:end}}@media(min-width:1025px)and (max-height:620px){.hero--mobile{min-height:auto;padding:5rem var(--gutter) 2.5rem}.hero--mobile .hero__stage{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);grid-template-areas:"name    np" "tagline socials" "pills   chrome";gap:1.4rem 2rem;align-items:start}.hero--mobile .hero__name{grid-area:name;font-size:clamp(3.2rem,9vw,7rem);line-height:.88;white-space:normal;flex-wrap:wrap}.hero--mobile .hero__letter{text-shadow:-3px 4px 0 var(--ink-pink),3px -3px 0 var(--ink-yellow)}.hero--mobile .np-card{grid-area:np;justify-self:end;width:clamp(280px,28vw,360px)}.hero--mobile .hero__tagline{grid-area:tagline;text-align:left;align-self:end;max-width:32rem}.hero--mobile .hero__pills{grid-area:pills;display:flex;flex-wrap:wrap;gap:.7rem}.hero--mobile .hero__pill{font-size:1.15rem;padding:.7rem 1rem}.hero--mobile .hero__socials{grid-area:socials;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end}.hero--mobile .social-stamp{width:4.6rem}.hero--mobile .hero__chrome{grid-area:chrome;justify-self:end;align-self:end}}@media(max-width:380px){.hero--mobile .hero__socials{grid-template-columns:repeat(3,1fr);gap:.5rem}.hero--mobile .social-stamp__label{font-size:8px;letter-spacing:.14em}.hero--mobile .hero__pills{grid-template-columns:1fr}}
