@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;600&family=Plus+Jakarta+Sans:wght@400;500;600&display=swap";
:root{--plastic:#e2dfda;--screen:#283530;--ink:#1a1815;--ink-body:#4a4843;--ink-muted:#5a5853;--phosphor:#d4e0d4;--phosphor-dim:#a8c4a8;--shade-6:#0000000f;--shade-10:#0000001a;--shade-15:#00000026;--shade-30:#0000004d;--light-50:#ffffff80;--light-70:#ffffffb3;--scanline:#0003;--glow:#a0c8a066;--glow-soft:#a0c8a026;--burn:#50785033;--font-body:"Plus Jakarta Sans",system-ui,sans-serif;--font-chrome:"Geist Mono",ui-monospace,Menlo,monospace;--type-title:2rem;--type-heading:1.5rem;--type-subhead:1.2rem;--type-body:1.05rem;--type-body-sm:.9rem;--type-chrome:.85rem;--type-chrome-sm:.75rem;--type-screen-display:4.5rem;--type-screen-quote:1.5rem;--type-screen-number:4rem;--space-1:.5rem;--space-2:1rem;--space-3:2rem;--space-4:4rem;--container:960px;--container-wide:1200px;--measure:640px;--radius-bubble:1rem;--letterpress:0 1px 0 var(--light-50);--glow-text:0 0 4px var(--glow),0 0 12px var(--glow-soft);--emboss:inset 0 1px 0 var(--light-50);--press:inset 0 1px 0 var(--light-70),inset 0 -1px 0 var(--shade-15);--recess:inset 0 2px 4px var(--shade-30),inset 0 0 12px var(--shade-15);--card:0 2px 8px var(--shade-6);--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.70' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");--nav-height:48px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);font-size:var(--type-body);color:var(--ink-body);background-color:var(--plastic);background-image:var(--noise);font-variant-numeric:tabular-nums;background-size:200px 200px;margin:0;line-height:1.5}h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}h1,h2,h3,h4{font-weight:600}ul,ol{padding-left:1.25em}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:var(--ink);color:var(--plastic);text-shadow:none}.about-hero ::selection,.crt-pullquote::selection,.crt-pullquote ::selection,.site-nav--crt ::selection{background:var(--phosphor);color:var(--screen);text-shadow:none}@keyframes crt-scanline-drift{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes crt-glow-pulse{0%,to{opacity:.9;filter:hue-rotate()brightness(1.1)}25%{opacity:.73;filter:hue-rotate(76deg)brightness(1.25)}50%{opacity:.55;filter:hue-rotate(153deg)brightness(1.1)}75%{opacity:.73;filter:hue-rotate(230deg)brightness(1.25)}}.portfolio-container,.portfolio-container-wide{max-width:var(--container);padding:0 var(--space-2);margin:0 auto}.portfolio-container-wide{max-width:var(--container-wide)}.about-hero,.crt-pullquote,.site-nav--crt{position:relative;overflow:hidden}.about-hero:before,.crt-pullquote:before{content:"";pointer-events:none;background:radial-gradient(ellipse at 40% 50%,var(--burn)0%,transparent 60%);animation:6s ease-in-out infinite crt-glow-pulse;position:absolute;inset:0}.about-hero:before{background:radial-gradient(ellipse at 30% 40%,var(--burn)0%,transparent 50%),radial-gradient(ellipse at 70% 60%,var(--burn)0%,transparent 45%),radial-gradient(ellipse at center,transparent 40%,var(--shade-30)100%)}.about-hero:after,.crt-pullquote:after,.site-nav--crt:after{content:"";z-index:2;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,var(--scanline)3px,var(--scanline)4px);animation:3s linear infinite crt-scanline-drift;position:absolute;inset:-4px 0}.site-nav--crt:after{transition:opacity .4s;animation:none;inset:0}.body-text{max-width:var(--measure);font-size:var(--type-body);letter-spacing:-.01em;color:var(--ink-body);text-shadow:var(--letterpress);line-height:1.65}.body-text p{margin-bottom:var(--space-2)}.body-text p:last-child{margin-bottom:0}.body-text ul,.body-text ol{margin-bottom:var(--space-2)}.body-text li{margin-bottom:.25rem}.body-text h1{font-size:var(--type-title);letter-spacing:-.03em;margin-bottom:var(--space-2);color:var(--ink);line-height:1.2}.body-text h2{font-size:var(--type-heading);letter-spacing:-.02em;margin:var(--space-3)0 .75rem;line-height:1.3}.body-text h3{font-size:var(--type-subhead);letter-spacing:-.02em;margin:1.5rem 0 var(--space-1);line-height:1.4}.body-text a,.writing-entry-title a{color:var(--ink);border-bottom:1px solid var(--shade-30);box-shadow:0 1px 0 var(--light-50);transition:background .15s,border-color .15s,box-shadow .15s}.body-text a:hover,.writing-entry-title a:hover{background:var(--shade-6);box-shadow:none;border-bottom-color:#0000;margin:0 -.15em;padding:0 .15em}.chrome-text,.about-section-title,.about-hero-intro,.site-nav,.site-footer-links a,.site-footer-copyright,.writing-filter-btn,.writing-featured-label,.writing-featured-link,.writing-entry-date,.writing-note-date,.writing-piece-meta,.writing-piece-original,.writing-piece-back,.writing-trilogy-prev,.writing-trilogy-next,.chat-speaker,.chat-narration,.art-card-meta,.case-study-meta,.case-study-section-label,.case-study-summary-col h3,.case-study-nav a,.case-study-hero-image figcaption,.case-study-image-placeholder,.project-card-company{font-family:var(--font-chrome);font-size:var(--type-chrome)}.chrome-text,.about-section-title,.case-study-meta,.case-study-section-label,.project-card-company{text-transform:uppercase;letter-spacing:.05em;text-shadow:var(--letterpress)}.site-footer-links a,.writing-piece-back,.writing-trilogy-prev,.writing-trilogy-next,.writing-note-link,.case-study-nav a{transition:background .15s}.site-footer-links a:hover,.writing-piece-back:hover,.writing-trilogy-prev:hover,.writing-trilogy-next:hover,.writing-note-link:hover,.case-study-nav a:hover{background:var(--shade-6)}.site-nav{z-index:100;min-height:var(--nav-height);padding:0 var(--space-2);background-color:var(--plastic);background-image:var(--noise);border-bottom:1px solid var(--shade-15);box-shadow:0 1px 0 var(--light-50);background-size:200px 200px;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.site-nav a{color:var(--ink-body);text-shadow:var(--letterpress);padding:.75rem;transition:background .15s,color .15s}.site-nav-logo{margin-left:-.75rem}.site-nav-links{display:flex}.site-nav a:hover,.site-nav-link[data-active=true]{background:var(--shade-6)}.site-nav--crt{background-color:color-mix(in srgb,var(--screen)82%,transparent);-webkit-backdrop-filter:blur(6px);box-shadow:none;background-image:none;border-bottom-color:#0000;transition:background-color .4s,box-shadow .4s}.site-nav--crt a{color:var(--phosphor-dim);text-shadow:var(--glow-text);transition:color .4s,text-shadow .4s,background .4s}.site-nav--crt .site-nav-logo,.site-nav--crt .site-nav-link[data-active=true]{color:var(--phosphor)}.site-nav--crt a:hover{background:var(--glow-soft);color:var(--phosphor)}.site-nav--plastic{background-color:var(--plastic);background-image:var(--noise);-webkit-backdrop-filter:none;border-bottom-color:var(--shade-15);box-shadow:0 1px 0 var(--light-50)}.site-nav--plastic .site-nav-logo,.site-nav--plastic .site-nav-link{color:var(--ink-body);text-shadow:var(--letterpress)}.site-nav--plastic a:hover,.site-nav--plastic .site-nav-link[data-active=true]{background:var(--shade-6);color:var(--ink-body)}.site-nav--plastic:after{opacity:0}.about-hero{padding:calc(var(--space-4)*2 + var(--nav-height))0 var(--space-4);margin-top:calc(-1*var(--nav-height));background-color:var(--screen);color:var(--phosphor);border-bottom:1px solid var(--shade-30);box-shadow:0 1px 0 var(--light-50)}.about-hero .portfolio-container{z-index:1;position:relative}.about-display-heading{font-family:var(--font-chrome);font-size:var(--type-screen-display);letter-spacing:-.035em;white-space:pre-line;text-shadow:var(--glow-text);font-weight:600;line-height:1.05}.about-hero-intro{margin-top:var(--space-3);letter-spacing:.05em;text-transform:uppercase;color:var(--phosphor-dim);text-shadow:var(--glow-text);line-height:1.6}.about-section{padding:var(--space-4)0}.about-section+.about-section,.site-footer{border-top:1px solid var(--shade-15);box-shadow:var(--emboss)}.about-section:has(.about-section-header) .portfolio-container{grid-template-columns:6rem 1fr;align-items:start;column-gap:1.5rem;display:grid}.about-section-header{display:contents}.about-section-number{font-size:var(--type-screen-number);letter-spacing:-.03em;text-align:right;color:var(--shade-10);text-shadow:0 -1px 0 var(--shade-6),0 1px 0 var(--light-50);grid-area:2/1;font-weight:600;line-height:1}.about-section-title{margin-bottom:var(--space-3);color:var(--ink-muted);grid-area:1/2}.about-body{grid-area:2/2}.crt-pullquote{padding:var(--space-3)3rem;font-family:var(--font-chrome);font-size:var(--type-screen-quote);letter-spacing:-.01em;white-space:pre-line;background-color:var(--screen);color:var(--phosphor);clip-path:polygon(0% 8.5px,1px 6px,6px 1px,8.5px 0%,calc(100% - 8.5px) 0%,calc(100% - 6px) 1px,calc(100% - 1px) 6px,100% 8.5px,100% calc(100% - 8.5px),calc(100% - 1px) calc(100% - 6px),calc(100% - 6px) calc(100% - 1px),calc(100% - 8.5px) 100%,8.5px 100%,6px calc(100% - 1px),1px calc(100% - 6px),0% calc(100% - 8.5px));box-shadow:var(--recess);text-shadow:var(--glow-text);margin:0;font-weight:600;line-height:1.35}.site-footer{margin-top:var(--space-4);padding:3rem 0}.site-footer-content{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.site-footer-links{gap:var(--space-2);display:flex}.site-footer-links a,.site-footer-copyright{text-shadow:var(--letterpress);color:var(--ink-muted)}.writing-page-header{padding:var(--space-4)0 1.5rem}.writing-page-featured{padding-bottom:var(--space-3)}.writing-page-index{padding:var(--space-1)0 var(--space-4)}.writing-featured-label{font-size:var(--type-chrome-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--phosphor-dim);margin-bottom:.75rem}.writing-featured-title{font-size:var(--type-subhead);margin-bottom:var(--space-1);font-weight:600;line-height:1.3}.writing-featured-desc{font-size:var(--type-body-sm);color:var(--phosphor-dim);margin-bottom:var(--space-2);font-weight:400;line-height:1.5}.writing-featured-link{color:var(--phosphor-dim);transition:background .15s,color .15s}.writing-featured-link:hover{background:var(--glow-soft);color:var(--phosphor)}.writing-filter-bar{margin-bottom:var(--space-2);flex-wrap:wrap;gap:.25rem;display:flex}.writing-filter-btn{border:1px solid var(--shade-15);color:var(--ink-muted);letter-spacing:.02em;cursor:pointer;background:0 0;padding:.35rem .75rem;transition:background .15s,box-shadow .15s}.writing-filter-btn:hover{background:var(--shade-6);box-shadow:var(--press)}.writing-filter-btn.active{background:var(--shade-6);box-shadow:inset 0 1px 0 var(--shade-15)}.writing-section-count{font-weight:400}.writing-feed{max-width:var(--measure)}.writing-entry{border-bottom:1px solid var(--shade-6);padding:1.5rem 0}.writing-entry:last-child{border-bottom:none}.writing-entry--note,.writing-entry--dialogue{padding:var(--space-2)0}.writing-entry-date,.writing-note-date{color:var(--ink-muted);margin-bottom:.35rem}.writing-note-date{font-size:var(--type-chrome-sm)}.writing-entry-title{font-size:var(--type-subhead);margin-bottom:.25rem;font-weight:600;line-height:1.3}.writing-entry-excerpt,.writing-note-body,.writing-dialogue-preview{font-size:var(--type-body-sm);line-height:1.5}.writing-entry-excerpt{color:var(--ink-muted);margin-top:.3rem}.writing-note-body{color:var(--ink-body);text-shadow:var(--letterpress)}.writing-note-link{color:var(--ink-muted)}.writing-dialogue-preview{color:var(--ink-muted);white-space:pre-line;margin-top:.35rem}.writing-piece-hero{padding:var(--space-4)0 var(--space-1)}.writing-piece-header,.writing-piece-body,.writing-piece-image-grid,.writing-trilogy-links,.writing-piece-footer{max-width:var(--measure)}.writing-piece-meta{color:var(--ink-muted);margin-bottom:var(--space-2);flex-wrap:wrap;gap:.75rem;display:flex}.writing-piece-meta span{white-space:nowrap}.writing-piece-meta span:not(:last-child):after{content:"·";margin-left:.75rem}.writing-piece-series{font-style:italic}.writing-piece-title{font-size:var(--type-title);letter-spacing:-.03em;color:var(--ink);margin-bottom:.75rem;line-height:1.2}.writing-piece-desc{color:var(--ink-muted);line-height:1.5}.writing-piece-images{padding-bottom:var(--space-2)}.writing-piece-image-grid{gap:var(--space-2);flex-direction:column;display:flex}.writing-piece-image{width:100%;height:auto}.writing-piece-body-section{padding:var(--space-3)0 3rem}.writing-piece-body p{margin-bottom:1.25em;line-height:1.7}.writing-piece-body blockquote{border-left:3px solid var(--shade-15);margin:1.5em 0;padding:.75em 1.25em;font-style:italic}.writing-piece-body--dialogue{max-width:540px}.chat-row{margin-bottom:.75rem;display:flex}.chat-row--left{justify-content:flex-start}.chat-row--right{justify-content:flex-end}.chat-bubble{border-radius:var(--radius-bubble);max-width:80%;font-size:var(--type-body-sm);padding:.6rem .9rem;line-height:1.5}.chat-bubble--left{background:var(--shade-6);border-bottom-left-radius:.25rem}.chat-bubble--right{background:var(--burn);border-bottom-right-radius:.25rem}.chat-speaker{font-size:var(--type-chrome-sm);letter-spacing:.03em;text-transform:uppercase;margin-bottom:.15rem;font-weight:600;display:block}.chat-speaker--left{color:var(--ink-muted)}.chat-speaker--right{color:var(--screen);text-align:right}.chat-text{display:block}.chat-narration{text-align:center;color:var(--ink-muted);margin:var(--space-2)0}.writing-piece-trilogy-nav{padding-bottom:var(--space-3)}.writing-trilogy-links{justify-content:space-between;gap:var(--space-2);border-top:1px solid var(--shade-6);border-bottom:1px solid var(--shade-6);padding:1.25rem 0;display:flex}.writing-trilogy-prev,.writing-trilogy-next{color:var(--ink-muted)}.writing-trilogy-next{margin-left:auto}.writing-piece-footer-section{padding-bottom:var(--space-4)}.writing-piece-footer{justify-content:space-between;align-items:center;gap:var(--space-1);flex-wrap:wrap;padding-top:1.5rem;display:flex}.writing-piece-original{color:var(--ink-muted)}.writing-piece-original a{text-underline-offset:2px;text-decoration:underline}.writing-piece-back{color:var(--ink-muted)}.art-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.art-card{padding:var(--space-2);margin:calc(-1*var(--space-2));transition:background .15s,box-shadow .15s;display:block}.art-card:hover{background:var(--light-50);box-shadow:var(--press)}.art-card-image-wrap{aspect-ratio:1;box-shadow:var(--card);position:relative;overflow:hidden}.art-card-image{object-fit:cover;width:100%;height:100%;transform:scale(1.08)}.art-card-title{margin-top:var(--space-1);font-size:var(--type-body-sm);line-height:1.4}.art-card-meta{font-size:var(--type-chrome-sm);color:var(--ink-muted);margin-top:.15rem}.portfolio-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.project-card{border:1px solid var(--shade-15);transition:border-color .15s,background .15s;display:block}.project-card:hover{border-color:var(--shade-30);background:var(--shade-6)}.project-card-image{aspect-ratio:16/10;object-fit:cover;background:var(--shade-6);width:100%}.project-card-content{padding:var(--space-2)}.project-card-company{color:var(--ink-muted);margin-bottom:.25rem}.project-card-title{font-size:var(--type-subhead);margin-bottom:.25rem;line-height:1.3}.project-card-description{font-size:var(--type-body-sm);color:var(--ink-muted);line-height:1.5}.case-study-hero{padding:calc(var(--space-4) + var(--space-3))0 3rem}.case-study-meta{gap:var(--space-2);color:var(--ink-muted);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.case-study-title{font-size:var(--type-title);letter-spacing:-.03em;color:var(--ink);margin-bottom:.75rem;line-height:1.2}.case-study-summary{font-size:var(--type-subhead);max-width:var(--measure);line-height:1.5}.case-study-section{padding:var(--space-3)0}.case-study-section-label{color:var(--ink-muted);margin-bottom:1.5rem}.case-study-hero-image{margin-top:var(--space-3)}.case-study-hero-image img,.case-study-figure img{width:100%;box-shadow:var(--card)}.case-study-hero-image figcaption{font-size:var(--type-chrome-sm);color:var(--ink-muted);margin-top:var(--space-1);text-align:center}.case-study-image-placeholder{aspect-ratio:16/10;background:var(--shade-6);width:100%;color:var(--ink-muted);font-size:var(--type-chrome-sm);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;display:flex}.case-study-summary-grid{gap:var(--space-3);padding:var(--space-3)0;border-top:1px solid var(--shade-6);border-bottom:1px solid var(--shade-6);grid-template-columns:1fr 1fr 1fr;display:grid}.case-study-summary-col h3{font-size:var(--type-chrome-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin:0 0 .75rem;font-weight:400}.case-study-narrative h2:first-child{margin-top:0}.case-study-figure{margin:1.5rem 0}.case-study-nav{padding-top:var(--space-3);border-top:1px solid var(--shade-6);justify-content:space-between;align-items:center;display:flex}.case-study-nav a{color:var(--ink-muted)}@media (max-width:640px){.about-hero{padding:calc(var(--space-4) + var(--nav-height))0 var(--space-3)}.about-display-heading{font-size:2.5rem}.about-section:has(.about-section-header) .portfolio-container{display:block}.about-section-header{margin-bottom:var(--space-3);display:block}.about-section-number{display:none}.about-section-title{margin-bottom:0}.crt-pullquote{font-size:var(--type-subhead);padding:var(--space-3)1.5rem}.chat-bubble{max-width:88%}.art-grid{grid-template-columns:1fr}.art-card{margin:0}.portfolio-grid,.case-study-summary-grid{grid-template-columns:1fr}}@media (hover:none){.art-card{background:var(--light-50);box-shadow:var(--press)}}@media (prefers-reduced-motion:reduce){.about-hero:before,.about-hero:after,.crt-pullquote:before,.crt-pullquote:after{animation:none}}
