html,body{height:100%;margin:0;min-height:100%}*,*:before,*:after{box-sizing:border-box}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}:root{--bg-color: #ffffff;--text-color: #0D1116;--secondary-bg: #f5f5f5;--hover-color: rgba(0, 0, 0, .05);--card-border: linear-gradient(to right, #0EA5E9, #0E74E9);--svg-color: #0D1116;--proj-hover-bg: rgba(0, 0, 0, .05);--proj-name-color: #444;--card-bg: linear-gradient(to right, #0EA5E910, #0E74E910)}:root.dark-mode{--bg-color: #0D1116;--text-color: #ffffff;--secondary-bg: #1a1f24;--hover-color: rgba(255, 255, 255, .05);--card-border: linear-gradient(to right, #0EA5E9, #0E74E9);--svg-color: #ffffff;--proj-hover-bg: rgba(255, 255, 255, .05);--proj-name-color: #ffffff;--card-bg: linear-gradient(to right, #0EA5E915, #0E74E915)}.theme-toggle{background:none;border:none;padding:8px;cursor:pointer;border-radius:50%;color:var(--text-color);transition:background-color .3s}.theme-toggle:hover{background-color:var(--hover-color)}body{color:var(--text-color);background-color:var(--bg-color);font-family:degular-display,sans-serif;display:flex;flex-direction:column;transition:background-color .3s,color .3s}.header{padding:1.5rem;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 0}.availability{position:relative;display:inline-flex;align-items:center;gap:.5rem;margin-left:1rem;padding:4px 11px 5px;border:1px solid var(--rule-soft, rgba(128, 128, 128, .3));border-radius:999px;font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--text-color);opacity:.75;white-space:nowrap;text-decoration:none;cursor:pointer;transition:opacity .25s ease,border-color .25s ease}.availability:visited{color:var(--text-color)}.availability:hover{opacity:1}.availability:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:radial-gradient(70px circle at var(--glow-x, 50%) var(--glow-y, 50%),#00A86B,rgba(0,168,107,0) 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;pointer-events:none}.availability:hover:before{opacity:1}.availability:focus-visible{outline:2px solid #00A86B;outline-offset:3px}.availability-dot{width:7px;height:7px;border-radius:50%;background:#00a86b}.header-image{height:52px;width:52px;object-fit:cover;border-radius:12px}.header-text{margin-left:1rem;font-size:1.5rem;font-weight:800;color:var(--text-color)}.hook{font-size:2rem;font-weight:700;margin:0 auto;padding:0 1.5rem;line-height:112%}.cards-wrapper{width:100%;overflow:hidden;margin-top:56px;touch-action:none}.cards{display:flex;gap:24px;padding-bottom:10px;align-items:flex-start;width:max-content}.card{position:relative;width:240px;padding:1rem;background:var(--card-bg);display:flex;flex-direction:column;border-radius:8px;margin-right:15px;margin-bottom:10px;align-self:flex-start}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:1px;background:var(--card-border);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.ref-desc{font-size:18px;line-height:1.4}.ref-name{margin-top:1rem;font-weight:600}.ref-affil{font-size:15px;color:#555;margin-top:2px}.about-me{margin-top:2rem;padding:0 1.5rem;letter-spacing:.04rem}.about-me .title{padding:0}.text{font-size:1.25rem;margin-bottom:3rem}.text-para{margin:0 0 1.5rem}.text-para:last-child{margin-bottom:0}.instagram,.instagram:visited{color:#0085ff}.letterboxd,.letterboxd:visited{color:#9e00ff}.iverson,.iverson:visited{color:var(--text-color);text-decoration:underline;text-underline-offset:3px}.title{padding-left:1.5rem;font-weight:700;font-size:1.5rem;letter-spacing:0px}.skills-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0 1.5rem}.skills-head .title{padding-left:0}.cycle{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;padding:.75rem 1.5rem 3rem}.cycle-track{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.cycle-slot{background:none;padding:0;margin:0;text-align:left;color:inherit;cursor:pointer;font-size:2.25rem;font-weight:700;line-height:1.15;letter-spacing:-.01em;min-height:2.7rem}.cycle-slot span{display:inline-block;will-change:transform;pointer-events:none}.cycle-track:nth-of-type(1) .cycle-slot{color:#0085ff}.cycle-track:nth-of-type(2) .cycle-slot{color:#9e00ff}.cycle-track:nth-of-type(3) .cycle-slot{color:#00a86b}.cycle-slot.is-active{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.cycle-slot:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:4px}.cycle-note{overflow:hidden;align-self:stretch}.cycle-note-stack{position:relative;margin-top:1.25rem;min-height:5.25rem;max-width:46ch}.cycle-note-inner{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;font-size:1.0625rem;line-height:1.5;color:var(--text-color);opacity:.72;will-change:transform,opacity}.cycle-note-inner strong{font-weight:700}.cycle-hint{opacity:.55}.cycle-toggle{background:none;padding:0;margin:0;color:var(--text-color);opacity:.5;cursor:pointer;font-size:.9375rem;font-weight:600;letter-spacing:.02em;text-decoration:underline;text-underline-offset:4px;transition:opacity .25s ease;white-space:nowrap}.cycle-toggle:hover{opacity:.85}.cycle.is-expanded .cycle-slot{cursor:default;text-decoration:none}.cycle-items{overflow:hidden;height:0;opacity:0;align-self:stretch}.cycle-items-inner{padding:.35rem 0 1.25rem;font-size:1.0625rem;line-height:1.45;opacity:.75;max-width:44ch}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.container-two{overflow-x:hidden}@supports (overflow-x: clip){.container-two{overflow-x:clip}}.work{padding:2rem 4rem 2rem 0}.work-wrapper{width:100%;overflow:visible;position:relative;cursor:grab}.work-wrapper:active{cursor:grabbing}.work-carousel{display:flex;gap:2rem;padding:1rem;will-change:transform;-webkit-user-select:none;user-select:none}.proj{flex-shrink:0;width:min(100%,360px);border-radius:16px;padding:1rem 0}.proj-media{position:relative;overflow:hidden;border-radius:1rem;aspect-ratio:1 / 1;margin-bottom:1rem}.proj-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.proj-type{font-size:.875rem;opacity:.7;font-weight:500}.work-container{display:flex;gap:24px;padding:1.5rem;overflow-x:auto}.work-container::-webkit-scrollbar{display:none}.proj{flex:0 0 auto;max-width:384px;min-width:300px}.proj-name{font-size:1.5rem;font-weight:400;color:var(--proj-name-color);margin-top:1rem}.proj-type{margin-top:.5rem;padding:6px 12px 8px;border-radius:.5rem;border:1px solid;font-weight:800;letter-spacing:1px;display:inline-block}.javascript{color:#ff7a00;background-color:#ff7a0014}.react{color:#0085ff;background-color:#0085ff14}.native{color:#9e00ff;background-color:#9e00ff14}.nextjs{color:var(--text-color);background-color:var(--hover-color)}.swift{color:#f05138;background-color:#f0513814}.proj{outline:none}.proj-media{cursor:pointer}.work-wrapper:active .proj-media{cursor:grabbing}.proj:focus-visible .proj-media{outline:2px solid #0085FF;outline-offset:4px}.proj-cta{position:absolute;left:.875rem;bottom:.875rem;padding:6px 12px 7px;border-radius:999px;background:#0d1116c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.02em;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .3s ease;pointer-events:none}.proj:hover .proj-cta,.proj:focus-visible .proj-cta{opacity:1;transform:none}@media (hover: none){.proj-cta{opacity:1;transform:none}}.mellon{margin:3rem 1.5rem 0;border-radius:1.5rem;color:#fff;background:radial-gradient(120% 80% at 85% 0%,rgba(255,255,255,.08),transparent 60%),#0b0d10;border:1px solid rgba(255,255,255,.08);overflow:hidden}.mellon-inner{padding:2rem 1.5rem;display:grid;gap:2.5rem}.mellon-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.mellon-dot{width:7px;height:7px;border-radius:50%;background:#00a86b}.mellon-title{margin:.75rem 0 0;font-size:3.5rem;font-weight:700;letter-spacing:.12em;line-height:1;text-transform:uppercase}.mellon-lede{margin:1.25rem 0 0;font-size:1.25rem;line-height:1.4;max-width:34ch;opacity:.88}.mellon-quote{margin:1rem 0 0;font-size:1rem;opacity:.55}.mellon-quote span{font-style:italic}.mellon-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.mellon-btn{display:inline-flex;align-items:center;gap:.4rem;padding:10px 18px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.mellon-btn:visited{color:#fff}.mellon-btn:hover{border-color:#fff9;transform:translateY(-1px)}.mellon-btn.primary{background:#fff;border-color:#fff;color:#0b0d10}.mellon-btn.primary:hover{background:#ffffffe0}.mellon-btn:focus-visible{outline:2px solid #00A86B;outline-offset:3px}.mellon-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}.mellon-step{display:flex;gap:1rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12)}.mellon-step-num{font-size:.875rem;font-weight:700;opacity:.45;padding-top:3px;font-variant-numeric:tabular-nums}.mellon-step-title{font-size:1.25rem;font-weight:700}.mellon-step-text{margin:.35rem 0 0;font-size:1rem;line-height:1.45;opacity:.65}.mellon-stack{margin:0;font-size:.875rem;letter-spacing:.04em;opacity:.45}.case{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;align-items:flex-end}.case-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#080a0d8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.case-sheet{position:relative;width:100%;max-width:880px;height:calc(100% - 1.5rem);overflow-y:auto;overscroll-behavior:contain;background:var(--bg-color);color:var(--text-color);border-radius:1.25rem 1.25rem 0 0;box-shadow:0 -12px 48px #00000040;padding:1.5rem 1.5rem 4rem}.case-close{position:sticky;top:0;float:right;z-index:2;width:40px;height:40px;margin:-.25rem -.25rem 0 0;display:grid;place-items:center;border-radius:50%;background:var(--secondary-bg);color:var(--text-color);cursor:pointer;transition:transform .2s ease}.case-close:hover{transform:rotate(90deg)}.case-close:focus-visible{outline:2px solid #0085FF;outline-offset:3px}.case-close svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}.case-hero .proj-type{margin-top:.25rem}.case-title{margin:1rem 0 0;font-size:2.75rem;font-weight:700;line-height:1.02}.case-summary{margin:.75rem 0 0;font-size:1.25rem;line-height:1.4;opacity:.75;max-width:36ch}.case-meta{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin:1.75rem 0 0}.case-meta dt{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.5}.case-meta dd{margin:.25rem 0 0;font-size:1.0625rem;font-weight:600}.case-media{margin-top:2rem;border-radius:1rem;overflow:hidden;aspect-ratio:16 / 10;background:var(--secondary-bg)}.case-media img{width:100%;height:100%;object-fit:cover}.case-body{max-width:640px}.case-stack{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.75rem 0 0;padding:0}.case-stack li{padding:5px 11px 6px;border-radius:999px;border:1px solid rgba(128,128,128,.3);font-size:.875rem;font-weight:600}.case-section{margin-top:2.5rem}.case-section h3{margin:0 0 .75rem;font-size:1.5rem;font-weight:700}.case-section p{margin:0 0 1rem;font-size:1.1875rem;line-height:1.5;letter-spacing:.01em}.case-reel{margin-top:2.5rem}.case-reel-caption{margin:1.25rem 0 0;min-height:2.8em;max-width:34rem;font-size:1rem;line-height:1.4;color:var(--proj-name-color)}.case-gallery{display:flex;align-items:flex-end;margin:0 -1.5rem 0 0;padding:2.5rem 1.5rem 2rem 0;overflow-x:auto;overscroll-behavior-x:contain;cursor:grab;scrollbar-width:none}.case-gallery.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.case-gallery::-webkit-scrollbar{display:none}.case-shot{margin:0;flex:0 0 auto;position:relative;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .5s ease}.case-gallery--phones .case-shot{width:clamp(146px,40vw,218px);margin-left:-22px;transform-origin:50% 90%}.case-gallery--phones .case-shot:first-child{margin-left:0}.case-gallery--phones .case-shot:nth-child(3n+1){transform:rotate(-2.6deg) translateY(10px)}.case-gallery--phones .case-shot:nth-child(3n+2){transform:rotate(1.8deg) translateY(28px)}.case-gallery--phones .case-shot:nth-child(3n){transform:rotate(-.9deg) translateY(2px)}.case-gallery--phones .case-shot.is-focus{transform:rotate(0) translateY(-6px) scale(1.04);z-index:3}.case-gallery--phones .case-shot:hover{transform:rotate(0) translateY(-18px) scale(1.06);z-index:4}.case-gallery--wide .case-shot{width:min(560px,86%);margin-left:-20px;transform-origin:50% 85%}.case-gallery--wide .case-shot:first-child{margin-left:0}.case-gallery--wide .case-shot:nth-child(odd){transform:rotate(-1.1deg)}.case-gallery--wide .case-shot:nth-child(2n){transform:rotate(.9deg) translateY(16px)}.case-gallery--wide .case-shot.is-focus{transform:rotate(0) translateY(-4px) scale(1.03);z-index:3}.case-gallery--wide .case-shot:hover{transform:rotate(0) translateY(-12px) scale(1.04);z-index:4}.case-shot:not(.is-focus):not(:hover) .case-card{filter:brightness(.9)}.case-card{transition:filter .5s ease,box-shadow .5s ease}.case-gallery--phones .case-card{padding:5px;border-radius:1.6rem;background:#0b0b0d;box-shadow:0 18px 38px #0000006b}.case-gallery--phones .case-shot.is-focus .case-card,.case-gallery--phones .case-shot:hover .case-card{box-shadow:0 30px 60px #0000008c}.case-gallery--wide .case-card{border-radius:.85rem;overflow:hidden;box-shadow:0 18px 44px #00000059}.case-gallery--phones .case-shot img{aspect-ratio:1206 / 2622;border-radius:1.25rem}.case-gallery--wide .case-shot img{aspect-ratio:1512 / 945}.case-shot img{display:block;width:100%;height:auto;background:var(--secondary-bg)}.case-shot figcaption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.case-links{display:flex;flex-wrap:wrap;gap:.75rem}.case-link,.case-link:visited{display:inline-flex;gap:.4rem;padding:10px 18px 11px;border-radius:999px;background:var(--text-color);color:var(--bg-color);font-weight:600;text-decoration:none}@media (min-width: 768px){.work{padding:0rem 3rem}.work-carousel{gap:3rem}}.footer{padding:2rem 1.5rem;background-color:#15191e;color:#888a8d}.interest{font-weight:700;font-size:2rem;letter-spacing:1px;line-height:95%}.chat-container{display:inline-flex;align-items:center;font-weight:700;font-size:56px;color:#fff;letter-spacing:2px;margin-top:-.5rem;text-decoration:none;cursor:pointer;will-change:transform}.chat-container:visited{color:#fff}.chat-container:focus-visible{outline:2px solid #EB00FF;outline-offset:8px;border-radius:4px}.arrow{padding-top:12px;width:40px;margin-right:.5rem}.socials-container{margin-top:1.5rem;display:flex;flex-direction:row}.handles-wrapper{display:flex;flex-direction:column;margin-left:1rem}.account{display:flex;margin-bottom:.5rem}.account-handle{margin-left:.5rem;background:none;text-decoration:underline}.X,.X:visited{color:#9d00ff}.LinkedIn,.LinkedIn:visited{color:#0ea5e9}.GitHub,.GitHub:visited{color:#e34c26}.Email,.Email:visited{color:#ff7a00}.Resumé,.Resumé:visited{color:#009959;display:flex;padding:0}@media (min-width: 1024px){.header{padding:3rem 5rem 0}.hook{margin:7.5rem 5rem;font-size:6rem;padding:0}.cards{gap:2.5rem}.card{width:320px;padding:24px;margin:0 24px 8px 0}.ref-desc{font-size:1.25rem}.ref-name{margin-top:24px;font-size:1.125rem}.ref-affil{margin-top:4px;font-size:1rem}.container{display:flex;flex-direction:column;margin:5rem 0;align-items:center;gap:7rem}.about-me{max-width:720px;padding:0;margin:0}.intro{font-size:1.25rem;margin-bottom:1.5rem}.text{font-size:1.5rem;line-height:132%}.text-para{margin:0 0 1.75rem}.title{padding-left:0}.container-two{display:flex;flex-direction:column;align-items:left;overflow-x:hidden}.container .container-two{width:100%;max-width:720px}.skills{padding:0;width:100%;min-width:224px;max-width:720px}.skills-head{padding:0;width:100%;max-width:720px}.cycle{padding:1rem 0 2rem;gap:.5rem}.cycle-slot{font-size:3.25rem;min-height:3.9rem}.cycle-note-stack{margin-top:2rem;min-height:4rem}.cycle-note-inner{font-size:1.1875rem}.cycle-items-inner{padding:.5rem 0 1.75rem;font-size:1.1875rem}.title{font-size:2rem;margin-bottom:16px;text-align:left}.work-container{display:flex;min-width:400px;flex-shrink:1}.mellon{margin:6rem 5rem 0;border-radius:2rem}.mellon-inner{grid-template-columns:1.1fr 1fr;align-items:end;gap:3rem 5rem;padding:4.5rem 4.5rem 3.5rem}.mellon-title{font-size:6rem}.mellon-lede{font-size:1.5rem}.mellon-stack{grid-column:1 / -1}.case{align-items:center;padding:2.5rem}.case-sheet{height:100%;border-radius:1.5rem;padding:2.5rem 3.5rem 5rem}.case-title{font-size:4rem}.footer{padding:5.5rem 5rem 4rem}.interest{font-size:4rem}.arrow{width:80px;padding-right:1rem}.chat-container{font-size:6rem;margin:-16px 0 32px}.socials-container{font-size:1.125rem}}@container right-col (max-width: 1008px){.skills{max-width:600px}}
