@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/caveat-latin-400-normal.D6LQsQ_v.woff2)format("woff2"),url(/_astro/caveat-latin-400-normal.BzhAQZkN.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/caveat-latin-600-normal.zlTlWIYU.woff2)format("woff2"),url(/_astro/caveat-latin-600-normal.DUjB8dgm.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-latin-700-normal.D8_1Nw6V.woff2)format("woff2"),url(/_astro/caveat-latin-700-normal.cPyBTTZN.woff)format("woff")}@font-face{font-family:Caveat Brush;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/caveat-brush-latin-400-normal.2w-6t9gW.woff2)format("woff2"),url(/_astro/caveat-brush-latin-400-normal.B3pS0In6.woff)format("woff")}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/courier-prime-latin-400-normal.BbyBr73r.woff2)format("woff2"),url(/_astro/courier-prime-latin-400-normal.BAlbUm6l.woff)format("woff")}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/courier-prime-latin-700-normal.D1YCjmaD.woff2)format("woff2"),url(/_astro/courier-prime-latin-700-normal.CVvp4Sof.woff)format("woff")}@font-face{font-family:Courier Prime;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/courier-prime-latin-400-italic.CaR7PCvg.woff2)format("woff2"),url(/_astro/courier-prime-latin-400-italic.GR5bBv_9.woff)format("woff")}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/permanent-marker-latin-400-normal.BF23djCy.woff2)format("woff2"),url(/_astro/permanent-marker-latin-400-normal.BnZj5c41.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fbf9f1;--grid:#4080c421;--grid-major:#4080c440;--margin-line:#d648488c;--ink:#23408e;--red:#c8352b;--pencil:#6b6862;--type:#24221e;--green:#3c8a55;--orange:#d9822b;--purple:#7b58c9;--yellow:#f2c230;--brown:#6b4a2b;--sky:#1d8fcf;--sticky-yellow:#fff2a0;--sticky-pink:#ffd0dc;--sticky-green:#d4efc4;--sticky-blue:#cfe7f8;--tape:#ece1bac7;--highlight:#ffe44099;--font-title:"Caveat Brush", "Caveat", cursive;--font-hand:"Caveat", "Bradley Hand", cursive;--font-marker:"Permanent Marker", "Marker Felt", cursive;--font-type:"Courier Prime", "Courier New", monospace;--cell:24px;--shadow-lift:0 1px 1px #281e0a1f, 0 6px 14px -4px #281e0a47;--shadow-photo:0 2px 3px #281e0a26, 0 14px 28px -10px #281e0a73}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{min-height:100vh;color:var(--type);font-family:var(--font-type);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:220px 220px, calc(var(--cell) * 5) calc(var(--cell) * 5), calc(var(--cell) * 5) calc(var(--cell) * 5), var(--cell) var(--cell), var(--cell) var(--cell);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;position:relative;overflow-x:hidden}body:before{content:"";background:var(--margin-line);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:72px;box-shadow:5px 0 0 -.5px #d6484840}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--red)}:focus-visible{outline:2px dashed var(--red);outline-offset:3px}img{max-width:100%;display:block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.doodle{max-width:100%;height:auto;display:block;overflow:visible}.doodle path{stroke-linecap:round;stroke-linejoin:round}.js .doodle path:not(.dashed):not(.solid){stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.1s cubic-bezier(.55,.1,.3,1)}.js .doodle path.solid,.js .doodle path.dashed,.js .doodle text{opacity:0;transition:opacity .6s .5s}.js .doodle.inview path:not(.dashed):not(.solid){stroke-dashoffset:0}.js .doodle.inview path.solid,.js .doodle.inview path.dashed,.js .doodle.inview text{opacity:1}.dashed{stroke-dasharray:5 6}.tilt-l{rotate:-2.2deg}.tilt-r{rotate:1.8deg}.tilt-ll{rotate:-4deg}.tilt-rr{rotate:3.5deg}.sticky{font-family:var(--font-hand);color:#2c2a24;background:var(--sticky-yellow);box-shadow:var(--shadow-lift);padding:18px 20px 22px;font-size:23px;line-height:1.2;transition:transform .25s,box-shadow .25s;position:relative}.sticky:after{content:"";background:linear-gradient(315deg,#0000000f 0%,#0000001f 46%,#0000 50%);border-top-left-radius:70% 40%;width:28px;height:28px;position:absolute;bottom:0;right:0}.sticky.pink{background:var(--sticky-pink)}.sticky.green{background:var(--sticky-green)}.sticky.blue{background:var(--sticky-blue)}.sticky:hover{transform:translateY(-3px)rotate(-.6deg);box-shadow:0 2px 2px #281e0a1f,0 14px 22px -6px #281e0a4d}.tape{z-index:3;background:var(--tape);clip-path:polygon(0 8%,4% 0,8% 12%,12% 2%,88% 0,92% 10%,96% 0,100% 9%,100% 92%,96% 100%,92% 88%,88% 100%,12% 100%,8% 90%,4% 100%,0 90%);mix-blend-mode:multiply;width:110px;height:30px;position:absolute;box-shadow:0 1px 2px #00000014}.tack{z-index:4;filter:drop-shadow(0 1px #0000001a);position:absolute}.card{box-shadow:var(--shadow-lift);background:#fffefa repeating-linear-gradient(#0000 0 23px,#4080c43d 23px 24px);padding:24px 28px;font-size:15.5px;line-height:24px;position:relative}.card h3,.card p,.card ul,.card li{margin:0;line-height:24px}.card h3{font-size:17.5px}.card-head{position:relative;margin-bottom:24px!important}.card-head:after{content:"";background:#d6484899;height:1.5px;position:absolute;bottom:0;left:-28px;right:-28px}.photo{box-shadow:var(--shadow-photo);background:#fff;padding:10px 10px 12px;position:relative}.photo img{border:1px solid #00000014;width:100%;height:auto}.photo figcaption{font-family:var(--font-hand);color:var(--ink);text-align:center;padding-top:8px;font-size:20px;line-height:1.1}.highlight{background:linear-gradient(100deg, transparent 2%, var(--highlight) 4%, var(--highlight) 94%, transparent 98%) 0 62% / 100% 62% no-repeat;margin:0 -.05em;padding:0 .15em;font-weight:700}.hand{font-family:var(--font-hand);color:var(--ink)}.label-strip{color:#f4f4f0;font-family:var(--font-type);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px #0009;background:#1b1b1d;border-radius:3px;padding:4px 11px 3px;font-size:13.5px;font-weight:700;display:inline-block;box-shadow:inset 0 1px #ffffff1f,0 2px 3px #00000040}.label-strip.red{background:#b5282a}.label-strip.blue{background:#1e4f95}.label-strip.green{background:#22603b}.stamp{border:3px double var(--red);color:var(--red);font-family:var(--font-marker);letter-spacing:.08em;text-align:center;text-transform:uppercase;opacity:.82;mix-blend-mode:multiply;border-radius:4px;padding:6px 12px 4px;font-size:16px;line-height:1.15;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 1.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 1.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .doodle path,.js .doodle text{stroke-dashoffset:0!important;opacity:1!important;transition:none!important}.sticky,.sticky:hover{transition:none;transform:none}}@media (width<=760px){:root{--cell:20px}body{font-size:15.5px}body:before{left:14px}.tilt-l,.tilt-ll{rotate:-1deg}.tilt-r,.tilt-rr{rotate:1deg}}.page{max-width:1300px;margin:0 auto;padding:0 48px 0 128px;position:relative}.board{position:relative}.muted{color:var(--pencil);font-weight:400}section.page{padding-top:64px}.section-title{font-family:var(--font-marker);color:var(--ink);background:linear-gradient(100deg, transparent 1%, var(--highlight) 3%, var(--highlight) 96%, transparent 99%) 0 85% / 100% 42% no-repeat;align-items:baseline;gap:14px;margin:0 0 40px;padding:0 10px 2px 4px;font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1;display:inline-flex;rotate:-1deg}.section-num{font-family:var(--font-type);color:var(--red);font-size:.42em;font-weight:700}.section-sub{margin:-26px 0 36px;font-size:24px}h3{font-family:var(--font-type);margin:0 0 4px;font-size:19px;line-height:1.3}ul{margin:12px 0 0;padding-left:20px}li+li{margin-top:8px}li::marker{color:var(--red)}.tape-top{top:-14px;left:50%;translate:-50%;rotate:-3deg}.tack-top{top:-16px;left:50%;translate:-50%}.lede{color:var(--pencil);font-style:italic}.hand.tiny{color:var(--pencil);text-align:right;margin:0;font-size:17px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:24px;padding-top:64px;padding-bottom:24px;display:grid}.hero-text{padding-top:40px}.title{font-family:var(--font-title);letter-spacing:-.01em;color:var(--ink);margin:18px 0 0;font-size:clamp(76px,10.5vw,148px);font-weight:400;line-height:.88;rotate:-2deg}.title-underline{width:min(560px,92%);margin:2px 0 0 10px}.tagline{max-width:36ch;margin:18px 0 0;font-size:19px;line-height:1.6}.hero-note{max-width:360px;margin:34px 0 0 30px;padding-top:24px}.link-row{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.link-row a{text-decoration:none;transition:transform .15s}.link-row a:nth-child(odd){rotate:-2deg}.link-row a:nth-child(2n){rotate:1.5deg}.link-row a:hover{color:#fff;transform:translateY(-2px)}.polaroid-wrap{width:min(100%,620px);margin:36px 0 0 auto;display:grid;position:relative}.polaroid{grid-area:1/1;align-self:start;margin:0;padding:16px 16px 0}.photo-pro{z-index:1;justify-self:end;width:58%}.photo-walk{z-index:2;justify-self:start;width:49%;margin-top:44%}.photo-pro figcaption{text-align:right;padding-right:6px}.polaroid-shot{aspect-ratio:1;background:radial-gradient(circle at 30% 20%,#ffffffb3,#0000 60%),linear-gradient(160deg,#e9e3d4,#d6cdb9);position:relative;overflow:hidden}.polaroid-shot img{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.spot{background:0 0;border:0;width:18px;height:18px;padding:0;position:absolute;translate:-50% -50%}.spot-cat{cursor:pointer;border-radius:50%;width:90px;height:90px}.polaroid figcaption{padding:12px 0 16px;font-size:25px}.note{margin:0;font-size:30px;line-height:1;position:absolute}.note small{color:var(--pencil);font-size:22px}.note-arrow{width:96px;margin-top:2px;display:block}.note-me{text-align:right;top:9%;right:calc(58% + 10px);rotate:-5deg}.note-me .note-arrow{margin-left:auto}.note-cat .note-arrow{scale:1 -1}.red-caption{color:var(--red)!important}.note-cat{max-width:min(230px,40%);color:var(--red);text-align:left;font-size:clamp(18px,1.9vw,24px);line-height:1.1;top:77%;left:calc(49% + 14px);rotate:4deg}.job{align-items:center;gap:28px 36px;margin-bottom:96px;display:grid}.job-cisco{grid-template-columns:180px minmax(0,1fr) 300px}.job-ng{grid-template-columns:300px minmax(0,1fr) 210px}.job-logo{align-self:start;padding-top:20px}.job-meta{color:var(--pencil);margin:0;font-size:14.5px}.job-sticky{max-width:220px;font-size:24px;position:absolute}.job-cisco .job-sticky{bottom:-54px;left:30px}.job-ng .job-sticky{bottom:-48px;right:10px}.ng-logo{flex-direction:column;align-items:center;gap:18px;display:flex}.project{gap:36px 40px;margin-bottom:88px;display:grid}.screenshot img{border-radius:2px}.screenshot figcaption{font-size:22px}.project-jarvis{grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"card shot""arch note";align-items:start}.project-jarvis .project-card{grid-area:card}.jarvis-shot{grid-area:shot;margin:18px 0 0}.jarvis-arch{grid-area:arch}.arch-title{margin:0 0 6px;font-size:26px}.private-note{grid-area:note;place-self:start center;max-width:280px;margin-top:40px}.project-viewpoint{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}.vp-doodles{justify-items:center;gap:8px;display:grid}.vp-chart{width:270px;margin-left:120px}.project-prism{grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-areas:"shot card""shot doodle";align-items:start}.prism-shot{grid-area:shot;margin:0}.project-prism .project-card{grid-area:card;margin-top:16px}.prism-doodle{grid-area:doodle;justify-self:center;width:min(100%,340px)}.live-link{margin-top:18px;font-size:30px;font-weight:700;display:inline-block;rotate:-2deg}.ribbon{color:#fff;width:108px;height:108px;font-family:var(--font-marker);text-align:center;box-shadow:var(--shadow-lift);z-index:6;background:radial-gradient(circle,#d9443a 0 54%,#b5282a 55% 60%,#d9443a 61%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:-34px;right:-34px}.ribbon span{font-size:26px}.ribbon small{font-family:var(--font-hand);margin-top:2px;font-size:17px}.ribbon:before,.ribbon:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);z-index:-1;background:#b5282a;width:26px;height:46px;position:absolute;bottom:-30px}.ribbon:before{left:26px;rotate:12deg}.ribbon:after{right:26px;rotate:-12deg}.side-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;max-width:1100px;display:grid}.side .doodle{width:240px;margin-bottom:14px}.side h3{font-family:var(--font-marker);color:var(--ink);font-size:26px;font-weight:400}.side p{margin:6px 0 10px}.side a{font-family:var(--font-hand);font-size:22px;font-weight:700}.school-grid{grid-template-columns:260px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"pennant ticket ticket""ta biz course";align-items:start;gap:48px 40px;display:grid}.pennant{grid-area:pennant;padding-top:14px}.ticket{grid-area:ticket}.index-card{grid-area:ta/1/ta/span 1}.biz-card{grid-area:biz}.coursework{grid-area:course;font-size:22px}.ticket{max-width:640px;box-shadow:var(--shadow-lift);background:#f6e7c4;display:flex;-webkit-mask:radial-gradient(12px at 0 0,#0000 98%,#000) 0 0/51% 51% no-repeat,radial-gradient(12px at 100% 0,#0000 98%,#000) 100% 0/51% 51% no-repeat,radial-gradient(12px at 0 100%,#0000 98%,#000) 0 100%/51% 51% no-repeat,radial-gradient(12px at 100% 100%,#0000 98%,#000) 100% 100%/51% 51% no-repeat;mask:radial-gradient(12px at 0 0,#0000 98%,#000) 0 0/51% 51% no-repeat,radial-gradient(12px at 100% 0,#0000 98%,#000) 100% 0/51% 51% no-repeat,radial-gradient(12px at 0 100%,#0000 98%,#000) 0 100%/51% 51% no-repeat,radial-gradient(12px at 100% 100%,#0000 98%,#000) 100% 100%/51% 51% no-repeat}.ticket-main{border-right:2px dashed #6b4a2b80;flex:1;padding:22px 28px}.ticket-main h3{font-family:var(--font-marker);color:var(--brown);font-size:30px;font-weight:400}.ticket-main p{margin:4px 0 0}.ticket-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--brown);font-size:13px}.ticket-stub{text-align:center;width:130px;color:var(--brown);place-content:center;display:grid}.ticket-stub span{letter-spacing:.2em;font-size:13px}.ticket-stub strong{font-family:var(--font-marker);font-size:36px;font-weight:400}.biz-card{border-top:6px solid var(--ink);box-shadow:var(--shadow-lift);background:#fff;padding:22px 24px}.biz-org{letter-spacing:.14em;text-transform:uppercase;color:var(--pencil);margin:0 0 6px;font-size:12px}.biz-card p:last-child{margin:8px 0 0;font-size:15px}.toolbox{gap:28px;max-width:980px;display:grid}.tool-label{margin:0 0 8px;font-size:26px}.tool-group ul{flex-wrap:wrap;gap:10px 12px;margin:0;padding:0;list-style:none;display:flex}.tool-group li+li{margin-top:0}.certs{flex-wrap:wrap;gap:28px;margin-top:14px;display:flex}.certs .stamp{font-size:18px}footer.page{padding-top:80px;padding-bottom:80px}.postcard{max-width:820px;min-height:340px;box-shadow:var(--shadow-photo);background:#fdfbf4;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:30px;display:grid}.postcard-message{border-right:2px solid #4080c459;padding-right:28px;font-size:27px;line-height:1.25}.postcard-message p{margin:0 0 14px}.sign{text-align:right;font-weight:700}.postcard-address{flex-direction:column;gap:4px;padding:0 0 0 28px;display:flex}.postcard-address a,.postcard-address span{border-bottom:1.5px solid #4080c459;padding:10px 0 2px;font-size:15.5px;text-decoration:none}.post-stamp{outline:2px solid var(--red);outline-offset:-8px;background:var(--sticky-pink);width:100px;height:112px;color:var(--red);font-family:var(--font-marker);letter-spacing:0;text-align:center;border:6px dotted #fdfbf4;align-self:flex-end;place-items:center;margin-bottom:18px;font-size:8.5px;line-height:1.15;display:grid;rotate:4deg}.post-stamp span{border:0!important;padding:0!important}.colophon{max-width:760px;color:var(--pencil);margin:40px 0 0;font-size:13px;line-height:1.5}.divider{margin:-24px 0 72px}.divider .doodle{width:100%}.divider .doodle path{vector-effect:non-scaling-stroke}.paw-trail{z-index:50;opacity:0;pointer-events:none;width:260px;position:fixed;bottom:18px;left:0;translate:-300px}.cat-walk .paw-trail{animation:3.6s steps(9,end) forwards walk}.paw-trail .doodle path,.paw-trail .doodle text{stroke-dashoffset:0!important;opacity:1!important}@keyframes walk{0%{opacity:1;translate:-300px}90%{opacity:1}to{opacity:0;translate:100vw}}@media (width<=1100px){.side-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-cisco,.job-ng{grid-template-columns:180px minmax(0,1fr)}.job-cisco .job-doodle,.job-ng .job-doodle{grid-column:1/-1;justify-self:center;width:min(100%,340px)}.job-ng .job-doodle{order:3}.job-ng .ng-logo{order:-1}.job-sticky{justify-self:start;position:static}.private-note{justify-self:start;margin-top:0}.project-jarvis{grid-template-columns:minmax(0,1fr);grid-template-areas:"card""shot""arch""note"}}@media (width<=900px){.note{font-size:22px}.note-arrow{width:64px}.note-cat{max-width:40%;font-size:19px;top:78%}}@media (width<=860px){.page{padding:0 20px 0 36px}.hero{grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding-top:28px}.hero-text{display:contents}.hero>*,.hero-text>*{order:2}.hero-text>.label-strip,.hero-text>.title,.hero-text>.title-underline{order:0}.hero-text>.label-strip{justify-self:start;margin-top:12px}.polaroid-wrap{order:1;width:min(96%,420px);margin:30px auto 12px}.polaroid figcaption{font-size:18px}.hero-note{margin-left:6px}.job-cisco,.job-ng,.project-viewpoint,.project-prism,.side-grid{grid-template-columns:minmax(0,1fr)}.project-prism{grid-template-areas:"shot""card""doodle"}.job-logo{width:180px;padding-top:0}.ng-logo{flex-direction:row;width:auto}.ng-logo .doodle{width:200px}.vp-chart{margin-left:0}.project-viewpoint .vp-doodles{order:2}.ribbon{top:-40px;right:-6px;scale:.8}.school-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"pennant""ticket""ta""biz""course"}.pennant{width:220px}.postcard{grid-template-columns:minmax(0,1fr);gap:24px}.postcard-message{border-right:0;padding-right:0}.postcard-address{padding-left:0}.post-stamp{display:none}}@media (width<=520px){.card{padding:24px 18px}.card-head:after{left:-18px;right:-18px}.ticket-stub{width:86px}.ticket-main{padding:18px}}
