@font-face{font-family:bodyFont;src:url(../media/dm_sans_latin_400_normal-s.p.2o7k1_w7_w7bj.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:bodyFont;src:url(../media/dm_sans_latin_500_normal-s.p.2f4st7_5x_v78.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:bodyFont Fallback;src:local(Arial);ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.0%;size-adjust:105.13%}._1unCLq_className{font-family:bodyFont,bodyFont Fallback}._1unCLq_variable{--font-body:"bodyFont", "bodyFont Fallback"}
@font-face{font-family:displayFont;src:url(../media/barlow_condensed_latin_700_normal-s.p.3hmancrpg57x4.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:displayFont;src:url(../media/barlow_condensed_latin_800_normal-s.p.3djb9aq_mafq5.woff2)format("woff2");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:displayFont Fallback;src:local(Arial);ascent-override:120.83%;descent-override:24.17%;line-gap-override:0.0%;size-adjust:82.76%}.GCcANq_className{font-family:displayFont,displayFont Fallback}.GCcANq_variable{--font-display:"displayFont", "displayFont Fallback"}
:root{--paper:#f6f5f0;--ink:#191919;--accent:#0047ab;--line:#292929}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font-family:var(--font-body), sans-serif;margin:0;font-size:15px}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--paper)}.wrap{max-width:1440px;margin:auto;padding-inline:6%}.header{border-bottom:1px solid var(--ink);z-index:3;justify-content:space-between;align-items:center;padding:26px 6%;display:flex;position:relative}.wordmark{font:800 36px/.8 var(--font-display), sans-serif;letter-spacing:-1.5px}.wordmark span{font:12px var(--font-body), sans-serif;vertical-align:top;letter-spacing:0}.desktop-nav{gap:32px;display:flex}.desktop-nav a{font-size:14px}.desktop-nav a:hover{text-underline-offset:5px;text-decoration:underline}.header-note,.eyebrow,.section-label,.text-link,.art-caption,.project-footer{letter-spacing:1.2px;font-size:11px;font-weight:500}.header-note{border:1px solid;padding:12px 17px}.header-note span{margin-left:18px}.menu-button{display:none}.skip-link{background:var(--accent);z-index:10;color:var(--paper);padding:16px;position:fixed;top:-100px}.skip-link:focus{top:8px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-display), sans-serif;letter-spacing:-.025em;font-weight:800}h1{font-size:clamp(60px,8.8vw,132px);line-height:.87}.text-link{border-bottom:1px solid;padding-bottom:8px;line-height:1.6;display:inline-block}.text-link:hover{background:var(--accent);color:var(--paper)}.ticker{background:var(--accent);font:700 24px var(--font-display), sans-serif;color:var(--paper);border-block:2px solid;align-items:center;padding:16px 0;display:flex;overflow:hidden}.ticker-window{flex:1;min-width:0;overflow:hidden}.ticker-track{width:max-content;animation:38s linear infinite interests-scroll;display:flex}.ticker-group{flex-shrink:0;align-items:center;margin:0;padding:0;list-style:none;display:flex}.ticker-group li{white-space:nowrap;text-transform:uppercase;align-items:center;gap:40px;padding-right:40px;display:flex}.ticker[data-paused=true] .ticker-track{animation-play-state:paused}.ticker-toggle{width:44px;height:32px;color:inherit;cursor:pointer;background:0 0;border:1px solid;flex-shrink:0;place-items:center;margin-inline:8px;display:grid}.ticker-toggle:focus-visible{outline-offset:3px;outline:2px solid}@keyframes interests-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track{width:auto;animation:none}.ticker-group{flex-wrap:wrap;gap:14px 24px;padding-inline:24px}.ticker-group li{white-space:normal;gap:24px;padding:0}.ticker-group[aria-hidden=true],.ticker-toggle{display:none}}.section{padding-block:85px}.section-label{margin-bottom:42px}.about-grid{grid-template-columns:1fr 1fr;gap:9%;display:grid}h2{font-size:clamp(58px,7.3vw,108px);line-height:.9}.accent{color:var(--accent)}.editorial{letter-spacing:-.8px;font:34px/1.15 Georgia,serif}.editorial em{font-weight:400}.body-copy{color:#454540;max-width:530px;margin-top:24px;line-height:1.8}.about-grid .text-link{margin-top:28px}.experience{border-top:1px solid;grid-template-columns:1fr 1fr;gap:9%;margin-top:65px;padding-top:32px;display:grid}.experience h3{margin-top:16px;font-size:36px;line-height:1}.editorial.small{font-size:27px}.button{letter-spacing:1px;box-shadow:3px 3px 0 var(--ink);border:1px solid;margin-top:24px;padding:14px 18px;font-size:11px;display:inline-block}.button:hover{background:var(--accent);color:var(--paper)}.role{margin-bottom:28px}.role h4{margin:10px 0;font-size:21px}.role p{line-height:1.6}.portfolio{background:var(--ink);color:var(--paper)}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px;display:flex}.section-heading p{padding-bottom:4px;font:20px/1.4 Georgia,serif}.outline{-webkit-text-stroke:1px var(--paper);color:#0000}.project-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:35px;display:grid}.project{background:var(--paper);color:var(--ink);border:1px solid var(--paper);flex-direction:column;display:flex}.project-art{background:#e4e5dc;border-bottom:2px solid;display:block;position:relative;overflow:hidden}.project-art svg{width:100%;display:block}.project-number{font:700 26px var(--font-display), sans-serif;position:absolute;top:12px;left:14px}.project-arrow{font-size:30px;position:absolute;bottom:10px;right:14px}.project-body{flex-direction:column;flex:1;padding:24px 20px;display:flex}.project-body .eyebrow{letter-spacing:.8px;font-size:9px}.project h3{margin:16px 0;font-size:35px;line-height:1.03}.project h3 a:hover{text-decoration:underline}.project-body p{color:#464640;margin-bottom:26px;font-size:13px;line-height:1.7}.project-footer{letter-spacing:.2px;border-top:1px solid #aaa;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px;font-size:9px;display:flex}.portfolio>.wrap>.text-link:hover{color:var(--paper)}.writing-grid{grid-template-columns:1fr 1fr;gap:9%;display:grid}.coming-soon{border-top:1px solid;padding-top:22px}.coming-soon .editorial{margin-block:28px}.coming-soon>p:last-of-type{color:#555;max-width:340px;line-height:1.6}.article{border-top:1px solid;padding:22px 0}.article h3{margin-top:15px;font-size:30px;line-height:1.1}.contact{background:var(--accent);color:var(--paper);border-top:2px solid;padding-bottom:24px}.contact h2{font-size:clamp(60px,9.5vw,142px)}.contact h2 em{-webkit-text-stroke:1.5px var(--paper);color:#0000;font-style:normal}.contact a:focus-visible{outline-color:var(--paper)}.contact-bottom{justify-content:space-between;align-items:center;margin-top:40px;display:flex}.contact-bottom p{font:23px/1.35 Georgia,serif}.contact-link{font:800 60px var(--font-display), sans-serif;border-bottom:3px solid}.contact-link span{margin-left:50px}.contact-link:hover{transform:rotate(-2deg)}footer{border-top:1px solid;justify-content:space-between;align-items:center;gap:20px;margin-top:75px;padding-top:25px;display:flex}footer nav{gap:22px;font-size:12px;display:flex}footer .eyebrow{font-size:9px}.mobile-nav{display:none}@media (max-width:800px){.header{padding-block:23px}.desktop-nav{gap:18px}.header-note{display:none}h1{font-size:9vw}.project-grid{gap:14px}.project h3{font-size:29px}.project-body{padding:20px 14px}.project-footer{flex-direction:column}.editorial{font-size:29px}.ticker{justify-content:flex-start;font-size:21px}.section{padding-block:65px}footer{flex-wrap:wrap}.contact-link{font-size:45px}.contact-link span{margin-left:20px}}@media (max-width:560px){.desktop-nav{display:none}.menu-button{font:700 18px var(--font-display), sans-serif;background:0 0;border:1px solid;padding:8px 12px;display:block}.mobile-nav{background:var(--paper);border-bottom:2px solid;flex-direction:column;gap:18px;padding:22px 6%;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-nav a{font:700 30px var(--font-display), sans-serif}.mobile-nav .mobile-resume-button{border:2px solid var(--ink);background:var(--accent);color:var(--paper);box-shadow:5px 5px 0 var(--ink);text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;margin:8px 5px 8px 0;padding:16px 20px;transition:transform .15s,box-shadow .15s;display:flex}.mobile-nav .mobile-resume-button:hover,.mobile-nav .mobile-resume-button:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}@media (prefers-reduced-motion:reduce){.mobile-nav .mobile-resume-button{transition:none}}h1{letter-spacing:-.035em;font-size:12.2vw;line-height:.95}.ticker{gap:20px;padding-block:12px;font-size:20px}.section{padding-block:48px}.section-label{margin-bottom:28px;font-size:9px}.about-grid,.experience,.writing-grid{grid-template-columns:1fr;gap:28px}h2{font-size:64px}.editorial{font-size:29px}.body-copy{margin-top:20px;font-size:14px}.experience{margin-top:40px}.experience h3{font-size:32px}.section-heading{margin-bottom:30px;display:block}.section-heading p{margin-top:24px;font-size:18px}.project-grid{grid-template-columns:1fr;gap:26px}.project-art svg{max-height:250px}.project-body{padding:24px}.project h3{font-size:36px}.project-footer{flex-direction:row;font-size:10px}.contact h2{font-size:14vw}.contact-bottom{flex-direction:column;align-items:start;gap:28px}.contact-bottom p{font-size:21px}.contact-link{font-size:48px}footer{gap:26px;margin-top:45px}footer nav{flex-wrap:wrap;gap:18px}footer>.eyebrow{width:100%}.writing-grid .editorial{font-size:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.panda-intro{z-index:100;background:var(--paper);color:var(--accent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.panda-intro-art{text-align:center}.panda-intro-art svg{color:#191919;width:clamp(140px,34vw,260px);max-height:55svh;margin:0 auto 20px;display:block}.panda-intro-art p{font:800 clamp(36px, 8vw, 64px)/1 var(--font-display), sans-serif;color:var(--ink);margin-bottom:12px}.panda-intro-art .eyebrow{color:var(--ink);font-size:clamp(8px,2vw,11px)}.panda-skip{bottom:max(24px, env(safe-area-inset-bottom));right:max(24px, env(safe-area-inset-right));min-height:44px;color:var(--accent);background:var(--paper);letter-spacing:1px;cursor:pointer;border:1px solid;padding:12px 16px;font-size:11px;position:absolute}.panda-skip:hover{background:var(--accent);color:var(--paper)}.intro-content:focus{outline:none}@media (prefers-reduced-motion:reduce){.panda-intro{display:none}}.intro-hero{padding-top:28px;padding-bottom:64px}.intro-edition{justify-content:space-between;gap:20px;font-size:10px;display:flex}.intro-grid{grid-template-columns:1fr 1.08fr;align-items:center;gap:6%;margin-top:52px;display:grid}.intro-greeting{margin-bottom:12px;font:italic 30px/1.2 Georgia,serif}.intro-copy h1{white-space:nowrap;letter-spacing:-.035em;font-size:clamp(80px,9.3vw,142px);line-height:.9}.intro-copy h1 span{color:var(--accent)}.intro-statement{letter-spacing:-.6px;margin-top:28px;font:28px/1.25 Georgia,serif}.intro-description{color:#454540;max-width:390px;margin-top:20px;font-size:15px;line-height:1.75}.intro-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;display:flex}.intro-primary,.intro-secondary{letter-spacing:1px;font-size:10px;font-weight:500}.intro-primary{background:var(--accent);color:var(--paper);border:1px solid var(--accent);box-shadow:3px 3px 0 var(--ink);align-items:center;gap:26px;padding:17px 20px;display:flex}.intro-primary:hover{background:var(--ink);border-color:var(--ink)}.intro-secondary{border-bottom:1px solid;padding-block:12px}.intro-secondary:hover{color:var(--accent)}.portrait-panel{margin:0;position:relative}.portrait-stage{aspect-ratio:1;background:var(--accent);border:1.5px solid var(--ink);border-radius:38% 62% 29% 71%/42% 36% 64% 58%;position:relative;overflow:hidden}.intro-portrait{width:137%;max-width:none;height:auto;display:block;position:absolute;bottom:0;left:-2%}.portrait-star{z-index:1;color:var(--paper);-webkit-text-stroke:1px var(--ink);font-size:64px;line-height:1;position:absolute;top:13%;right:12%;transform:rotate(12deg)}.portrait-panel figcaption{letter-spacing:1px;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px 0;font-size:9px;display:flex}.portrait-panel figcaption>span:last-child{font-size:20px}@media (max-width:1000px){.intro-grid{gap:4%}.intro-copy h1{font-size:9vw}.intro-statement{font-size:24px}.intro-actions{gap:16px}}@media (max-width:700px){.intro-hero{padding-top:24px;padding-bottom:36px}.intro-edition{letter-spacing:.6px;font-size:8px}.intro-edition span:last-child{text-align:right;max-width:140px}.intro-grid{grid-template-columns:1fr;gap:32px;margin-top:32px}.intro-greeting{margin-bottom:10px;font-size:25px}.intro-copy h1{font-size:clamp(70px,17vw,118px)}.intro-statement{margin-top:22px;font-size:25px}.intro-description{max-width:440px;margin-top:16px;font-size:14px}.intro-actions{gap:18px;margin-top:24px}.intro-primary{gap:16px;padding:15px}.portrait-panel{justify-self:center;width:100%;max-width:450px}.portrait-stage{aspect-ratio:1.2}.intro-portrait{width:118%;left:6%}.portrait-star{font-size:48px}}.portfolio>.wrap>.text-link:focus-visible{outline-color:var(--paper)}.glyph{vertical-align:-.125em;flex-shrink:0;display:inline-block}.portrait-star .glyph{filter:drop-shadow(1px 0 0 var(--ink)) drop-shadow(-1px 0 0 var(--ink))}.intro-hero{isolation:isolate;position:relative}.intro-hero:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:multiply;opacity:.13;background:url(/media/panda-wallpaper.webp) top/660px 660px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 12% 85%,#0000);mask-image:linear-gradient(#0000,#000 12% 85%,#0000)}.intro-copy{background:radial-gradient(ellipse at center, var(--paper) 15%, transparent 75%)}.cyber-breach .intro-hero:before{display:none}@media (max-width:700px){.intro-hero:before{opacity:.1;background-size:480px 480px}}.comic-exclamation{isolation:isolate;color:#e53935;-webkit-text-stroke:1px var(--ink);text-shadow:3px 3px #f2cd60;margin-left:.08em;font-size:1.15em;font-style:italic;display:inline-block;position:relative;transform:rotate(12deg)}.comic-exclamation:before{content:"";z-index:-1;clip-path:polygon(50% 0,62% 24%,94% 10%,78% 40%,100% 58%,73% 65%,82% 100%,50% 78%,18% 100%,27% 65%,0 58%,22% 40%,6% 10%,38% 24%);background:#f2cd6045;position:absolute;inset:15% -.12em 2%}
.discovery-desk{border-top:1px dashed;margin-top:28px;padding:20px 0 0;font-size:12px}.engine-room{opacity:.8;letter-spacing:.06em;padding:8px 0;font:11px monospace;display:inline-block}.engine-room:hover{opacity:1;text-underline-offset:5px;text-decoration:underline}.discovery-passport{margin-top:12px}.discovery-passport summary{cursor:pointer;width:fit-content;padding:8px 0;font:12px monospace}.discovery-passport summary>span{border:1px solid;margin-left:12px;padding:3px 7px}.discovery-passport>p{margin:14px 0;line-height:1.7}.discovery-passport ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-block:20px;padding:0;list-style:none;display:grid}.stamp{text-align:center;opacity:.55;border:2px dashed;flex-direction:column;gap:10px;padding:18px 10px;display:flex}.stamp.found{opacity:1;border-style:double;border-width:4px;transform:rotate(-2deg)}.stamp.found:nth-child(2n){transform:rotate(2deg)}.stamp-symbol{font:700 25px monospace}.stamp strong{font-size:13px}.stamp>span:last-child{font-size:11px;line-height:1.5}.discovery-notice{min-height:1.5em;margin-top:12px;font:11px monospace;display:block}.panel-loader{min-height:340px;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:14px;font:13px monospace;display:flex}.panel-loader svg{width:220px;max-width:70vw;overflow:visible}.comic-worker{transform-origin:bottom;animation:.65s ease-in-out infinite alternate worker-step}.worker-road{animation:.65s linear infinite worker-road}.panel-loader.compact{flex-direction:row;gap:8px;min-height:0;font-size:11px}.panel-loader.compact svg{width:58px}.page-loader{place-items:center;min-height:80svh;display:grid}.not-detected{max-width:1100px;padding-block:40px 60px}.not-detected h1{font-size:clamp(52px,9vw,110px);line-height:.95}.not-detected>p{margin:24px 0;line-height:1.8}.not-detected .section-label{margin:25px 0}.detector-field{border:1px solid var(--ink);background:radial-gradient(var(--ink) .7px, transparent .7px) 0 0/12px 12px;height:clamp(200px,30vw,330px);margin-top:40px;position:relative;overflow:hidden}.detector-field>span{color:var(--paper);-webkit-text-stroke:1px var(--ink);font:800 clamp(100px, 18vw, 220px)/1 var(--font-display), sans-serif;place-items:center;display:grid;position:absolute;inset:0}.detector-field small{background:var(--paper);padding:5px;font:9px monospace;position:absolute;bottom:12px;left:14px}.searching-box{width:34%;height:60%;color:var(--accent);animation:5s ease-in-out infinite object-search;position:absolute;top:18%;left:12%}.searching-box i{border:3px solid;width:22px;height:22px;position:absolute}.searching-box i:first-child{border-bottom:0;border-right:0;top:0;left:0}.searching-box i:nth-child(2){border-bottom:0;border-left:0;top:0;right:0}.searching-box i:nth-child(3){border-top:0;border-right:0;bottom:0;left:0}.searching-box i:nth-child(4){border-top:0;border-left:0;bottom:0;right:0}.searching-box b{background:var(--paper);padding:3px;font:10px monospace;position:absolute;top:-20px;left:0}@keyframes object-search{0%,to{transform:translate(0)scale(1)}35%{transform:translate(100%,12%)scale(.8)}70%{transform:translate(55%,-10%)scale(1.15)}}@keyframes worker-step{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-5px)rotate(2deg)}}@keyframes worker-road{to{stroke-dashoffset:-18px}}@media (max-width:700px){.discovery-passport ul{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-loader.compact>span{max-width:100px}}@media (prefers-reduced-motion:reduce){.searching-box,.comic-worker,.worker-road{animation:none}}.stamp-breach-shortcut{position:relative}.stamp-replay{z-index:1;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.stamp-breach-shortcut:after{content:"";pointer-events:none;opacity:0;border:4px double;position:absolute;inset:-4px}.stamp-breach-shortcut:has(.stamp-replay:is(:hover,:focus-visible,:active)){text-shadow:-2px 0 #46f5ff,2px 0 #ff52d9}.stamp-breach-shortcut:has(.stamp-replay:is(:hover,:focus-visible,:active)):after{opacity:1;animation:.65s step-end infinite stamp-border-glitch;box-shadow:-3px 0 #46f5ff,3px 0 #ff52d9}@keyframes stamp-border-glitch{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-2px,1px)rotate(-1deg)}25%{transform:translate(2px,-1px)rotate(1deg)}35%,80%{transform:translate(0)}85%{transform:translate(1px,2px)}90%{transform:translate(-2px,-1px)}}@media (prefers-reduced-motion:reduce){.stamp-breach-shortcut:after{animation:none!important}}
