@font-face{font-family:Big Shoulders;src:url(/fonts/big-shoulders-900.woff2) format("woff2");font-style:normal;font-weight:900;font-display:swap}@font-face{font-family:Big Shoulders;src:url(/fonts/big-shoulders-700.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:DM Sans,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;--bg: #141414;--text: #eee;--muted: #aaa;--line: #343434;--input: #252525;--accent: #5289ff;--accent-soft: #a5c2ff;color-scheme:dark;--display: "Big Shoulders", Impact, sans-serif;--body: "DM Sans", sans-serif;scroll-behavior:smooth;scroll-padding-top:130px}:root[data-theme=lime]{--accent: #e0f11f;--accent-soft: #edf78c}*{box-sizing:border-box}body{margin:0;min-width:320px;transition:background .25s,color .25s}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3{margin:0}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--on-accent)}.content-width,.header-inner{width:min(930px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:20px;padding:15px;background:var(--text);color:var(--bg);z-index:1000}.skip-link:focus{top:120px}.header{position:absolute;top:0;left:0;width:100%;z-index:20}.header-inner{height:150px;display:flex;align-items:center;justify-content:space-between;position:relative}.menu-button{width:44px;height:44px;padding:11px 4px;display:flex;flex-direction:column;justify-content:space-between;background:transparent;border:0}.menu-button span{height:2px;width:34px;background:var(--text);transition:width .2s}.menu-button span:nth-child(2){width:19px}.menu-button span:nth-child(3){width:26px}.menu-button:hover span{width:34px}.signature{position:absolute;left:50%;transform:translate(-50%);width:96px;height:82px;color:#aaa}.signature:hover{color:var(--accent)}.signature svg{width:100%;height:100%}.header-actions{display:flex;align-items:center;gap:10px}.theme-toggle{width:65px;height:35px;padding:4px;border:0;border-radius:30px;background:var(--line);transition:background .2s}.theme-toggle span{display:block;width:27px;height:27px;border-radius:50%;background:var(--accent);transition:transform .25s,background .25s}.theme-toggle[aria-checked=true] span{transform:translate(30px)}.contact-pill{padding:13px 20px;border-radius:30px;font-size:15px;background:var(--text);color:var(--bg);display:flex;align-items:center;gap:8px;transition:background .2s,color .2s}.contact-pill:hover{background:var(--accent);color:var(--on-accent)}.hero{padding-top:198px;text-align:center}.eyebrow{text-transform:uppercase;color:var(--muted);font-size:14px;letter-spacing:1.2px;line-height:1.5}.hero-name{position:relative;width:max-content;max-width:100%;margin:26px auto 0}.hero h1{font:900 260px/.95 var(--display);text-transform:uppercase;letter-spacing:-5px;color:var(--accent)}.hero h1>span{display:block}.portrait{position:absolute;left:50%;top:50%;width:176px;height:280px;transform:translate(-50%,-50%);border-radius:120px;overflow:hidden}.portrait img{height:100%;width:100%;object-fit:cover}.spark{display:block;width:48px;height:48px;color:var(--accent)}.hero-spark{margin:46px auto 42px}.hero-spark,.hero-description{opacity:0;visibility:hidden}.hero-spark.is-visible,.hero-description.is-visible{opacity:1;visibility:visible;transition:opacity .35s ease}.hero-description{font-size:22px;line-height:1.8;max-width:505px;margin:0 auto;letter-spacing:-.2px}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:12px;width:max-content;margin:72px auto 0;font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.scroll-cue svg{color:var(--accent);transition:transform .2s}.scroll-cue:hover svg{transform:translateY(5px)}.section{padding-top:150px;scroll-margin-top:20px}.section-title{display:flex;align-items:center;margin-bottom:75px;gap:38px;color:var(--accent)}.section-title h2{font:700 32px/1 var(--display);text-transform:uppercase}.section-title>span:nth-child(2){height:1px;background:var(--line);flex:1}.section-title .line-end{height:2px;width:40px;background:var(--accent);margin-left:-38px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}.about-statement{font-size:23px;line-height:1.6;letter-spacing:-.4px;color:var(--muted);max-width:390px}.about-details>p{font-size:16px;line-height:1.85}.tool-stack{display:grid;gap:9px;margin-top:38px}.tool-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:16px 20px;border-radius:6px;transition:background .2s,color .2s,border-color .2s}.tool-symbol{display:grid;place-items:center;background:var(--text);color:var(--bg);width:33px;height:37px;font-size:16px;font-weight:700;border-radius:6px}.tool-card :is(h2,h3){font-family:var(--display);font-size:24px}.tool-card p{font-size:11px;color:var(--muted);margin-top:3px}.tool-card:last-child,.tool-card:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.tool-card:last-child p,.tool-card:hover p{color:#d5e2ff}.tool-card:last-child .tool-symbol,.tool-card:hover .tool-symbol{background:#ffffff26;color:#fff}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.project-card{border:0;background:none;padding:0;text-align:left;border-radius:4px}.project-image{position:relative;aspect-ratio:1.385;overflow:hidden;border-radius:4px;background:#262626}.project-image>img{height:100%;width:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s;filter:grayscale(1)}.project-card:hover img,.project-card:focus-visible img{transform:scale(1.045);filter:grayscale(0)}.project-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:end;gap:12px;padding:38px 22px 20px;background:linear-gradient(transparent,#0009);color:#fff;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}.project-label>span:first-child{font-size:17px}.project-label>span:last-child{font-size:11px;color:#fffa}.project-card:hover .project-label,.project-card:focus-visible .project-label{opacity:1;transform:translate(0)}.resume-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;row-gap:0}.resume-item{padding:0 0 44px}.resume-item:nth-child(2),.resume-item:nth-child(4){padding:38px 0 0;border-top:1px solid var(--line)}.resume-item :is(h2,h3){font-size:18px;font-weight:600;line-height:1.5}.place{font-size:14px;color:var(--muted);margin-top:7px}.period{font-size:12px;color:var(--muted);margin-top:8px;letter-spacing:.2px}.resume-description{font-size:15px;line-height:1.8;margin-top:23px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;color:var(--accent)}.stats>div{padding:0 30px;border-left:1px solid var(--line)}.stats>div:first-child{border:0;padding-left:0}.stats strong{display:block;font-size:58px;line-height:1.2;font-weight:500;letter-spacing:-2px}.stats span{display:block;margin-top:18px;font-size:14px;line-height:1.45}.marquee{overflow:hidden;margin-top:145px;-webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);color:var(--accent);-webkit-user-select:none;user-select:none}.marquee-line{display:flex;width:max-content;animation:marquee 100s linear infinite}.marquee-line.reverse{animation-direction:reverse}.marquee-group{display:flex;align-items:center;gap:24px;padding-right:24px;white-space:nowrap}.marquee-group>span{font:900 128px/1.12 var(--display);text-transform:uppercase;letter-spacing:-1px}.marquee-group .spark{color:var(--line);width:34px;height:34px;flex-shrink:0}@keyframes marquee{to{transform:translate(-50%)}}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);row-gap:48px;margin-top:130px;color:var(--accent)}.skills-grid>div{border-left:1px solid var(--line);padding:0 30px}.skills-grid>div:nth-child(3n+1){border:0;padding-left:0}.skills-grid strong{font-size:58px;line-height:1.1;font-weight:500;letter-spacing:-2px}.skills-grid strong>span{font-size:48px}.skills-grid p{font-size:14px;max-width:110px;line-height:1.4;margin-top:15px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.contact-grid :is(h2,h3){font-size:23px;line-height:1.5;font-weight:500;letter-spacing:-.5px}.contact-intro{font-size:15px;line-height:1.7;color:var(--muted);max-width:350px;margin-top:18px;margin-bottom:29px}.contact-line{display:flex;align-items:center;gap:9px;font-size:13px}.email-line{display:flex;align-items:center;gap:10px;margin-top:13px;color:var(--accent);font-size:15px}.email-line>a:hover{text-decoration:underline}form label{display:block}form label>span{display:block;font-size:11px;letter-spacing:.3px;margin-bottom:8px;color:var(--muted)}.form-top{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}input,textarea{width:100%;background:var(--input);color:var(--text);border:1px solid transparent;border-radius:4px;padding:13px 14px;font-size:13px;outline:none}input:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical;min-height:135px}.send-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 20px;margin-top:12px;background:var(--accent);color:var(--on-accent);border:0;border-radius:4px;font-size:13px;transition:filter .2s}.send-button:hover{filter:brightness(1.15)}.form-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:11px}.contact-section{padding-bottom:125px}footer{overflow:hidden}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.back-link{background:transparent;border:0;padding:0;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:40px}.detail-intro{font-size:19px;line-height:1.7;margin-top:25px;max-width:650px}.detail-image{width:100%;margin-top:35px;border-radius:4px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.detail-columns h2{font-size:17px}.detail-columns p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:12px}.detail-contact{display:flex;gap:10px;align-items:center;color:var(--accent);font-size:14px;margin-top:35px}@media(min-width:1600px){.hero{padding-top:220px}}@media(max-width:1000px){.content-width,.header-inner{width:calc(100% - 96px)}.hero h1{font-size:230px}.portrait{width:162px;height:255px}.hero{padding-top:190px}.about-grid,.resume-grid,.contact-grid{gap:40px}.section{padding-top:115px}.section-title{margin-bottom:55px}.project-grid{gap:28px}.stats strong,.skills-grid strong{font-size:49px}.marquee-group>span{font-size:105px}}@media(max-width:640px){:root{scroll-padding-top:30px}.content-width,.header-inner{width:calc(100% - 44px)}.header-inner{height:105px}.signature{width:65px;height:65px}.menu-button{width:35px;height:40px;padding:10px 1px}.menu-button span{width:28px}.menu-button span:nth-child(2){width:16px}.menu-button span:nth-child(3){width:23px}.header-actions{gap:9px}.theme-toggle{width:49px;height:29px;padding:4px}.theme-toggle span{width:21px;height:21px}.theme-toggle[aria-checked=true] span{transform:translate(20px)}.contact-pill{font-size:11px;padding:10px 12px}.contact-pill svg{display:none}.hero{padding-top:153px}.hero-eyebrow{font-size:10px;letter-spacing:1px}.hero-name{margin-top:31px}.hero h1{font-size:clamp(108px,31vw,190px);line-height:.98;letter-spacing:-2px}.portrait{width:23vw;height:37vw;max-width:118px;max-height:188px}.hero-spark{width:34px;height:34px;margin:38px auto 28px}.hero-description{font-size:17px;line-height:1.8;max-width:330px;padding:0 10px}.scroll-cue{margin-top:45px;font-size:9px}.section{padding-top:88px}.section-title{gap:23px;margin-bottom:38px}.section-title h2{font-size:28px}.section-title .line-end{margin-left:-23px;width:28px}.about-grid{grid-template-columns:1fr;gap:26px}.about-statement{font-size:22px;max-width:none;color:var(--text)}.about-details>p{font-size:14px;line-height:1.8;color:var(--muted)}.tool-stack{margin-top:28px}.tool-card{padding:13px 17px}.tool-card :is(h2,h3){font-size:22px}.project-grid{gap:20px;grid-template-columns:1fr}.project-label{opacity:1;transform:none;padding:35px 20px 18px}.project-image{aspect-ratio:1.4}.resume-grid{grid-template-columns:1fr;gap:0}.resume-item{order:initial!important;padding:27px 0!important;border-top:1px solid var(--line)}.resume-item:first-child{border:0;padding-top:0!important}.resume-item:last-child{padding-bottom:0!important}.resume-item :is(h2,h3){font-size:17px}.resume-description{font-size:14px;margin-top:16px}.stats{margin-top:48px}.stats>div{padding:0 17px}.stats strong{font-size:37px;letter-spacing:-1.5px}.stats span{font-size:11px;margin-top:12px}.marquee{margin-top:85px}.marquee-group{gap:18px;padding-right:18px}.marquee-group>span{font-size:77px}.marquee-group .spark{width:23px;height:23px}.skills-grid{margin-top:75px;row-gap:30px}.skills-grid>div{padding:0 16px}.skills-grid strong{font-size:37px;letter-spacing:-1px}.skills-grid strong>span{font-size:30px}.skills-grid p{font-size:11px;margin-top:12px;max-width:80px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid :is(h2,h3){font-size:24px}.contact-intro{font-size:14px}.contact-section{padding-bottom:70px}.detail-intro{font-size:16px}.detail-columns{grid-template-columns:1fr;gap:25px}.detail-contact{font-size:12px}.reveal{transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.marquee-line{transform:none}}@media(max-width:360px){.contact-pill{display:none}}.stats,.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-top{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:360px){.stats>div,.skills-grid>div{padding-inline:10px}.stats>div:first-child,.skills-grid>div:nth-child(3n+1){padding-left:0}.stats strong,.skills-grid strong{font-size:32px}.skills-grid strong>span{font-size:27px}}.hero h1{font-size:clamp(80px,24vw,240px)}.skills-grid strong{font-size:clamp(18px,3.5vw,40px);letter-spacing:-.7px}.skills-grid p{max-width:100%}.marquee-group>.marquee-tool{display:flex;align-items:center;gap:24px}@media(max-width:640px){.marquee-group>.marquee-tool{gap:18px}}.portrait img{object-position:45% top;transform:scale(1.6);transform-origin:50% top}:root{--motion-ease: cubic-bezier(.22, 1, .36, 1);scrollbar-gutter:stable}.header{position:fixed;background:linear-gradient(var(--bg) 75%,transparent);pointer-events:none}.header-inner{height:130px;pointer-events:auto}.navigation{position:relative}.menu-button[aria-expanded=true]{justify-content:center;padding:0}.navigation-dropdown{position:absolute;top:56px;left:0;min-width:175px;padding:12px 20px 18px 0;background:var(--bg);border-radius:0 0 5px;animation:menu-in .25s var(--motion-ease)}.navigation-dropdown:not([hidden]){display:flex;flex-direction:column;align-items:flex-start}.navigation-dropdown a{font:700 28px/1.25 var(--display);text-transform:uppercase;transition:color .18s,transform .18s;padding:2px 0}.navigation-dropdown a:hover,.navigation-dropdown a[aria-current=page]{color:var(--accent)}.navigation-dropdown a:hover{transform:translate(3px)}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.hero h1>.animated-text{display:block}.animated-letter{display:inline-block;animation:letter-in .75s var(--motion-ease) both;animation-delay:calc(var(--letter) * 35ms)}@keyframes letter-in{0%{opacity:0;transform:translateY(20px) rotateX(20deg)}to{opacity:1;transform:none}}.portrait{animation:portrait-in 1s var(--motion-ease) .2s both}@keyframes portrait-in{0%{opacity:0;clip-path:inset(50% 0 round 120px)}to{opacity:1;clip-path:inset(0 round 120px)}}.section-title{position:relative}.section-arrow{width:38px;height:26px;transition:transform .3s var(--motion-ease)}.section-title:hover .section-arrow{transform:translate(7px)}.section-title h2{transition:letter-spacing .3s}.section-title:hover h2{letter-spacing:1px}.tool-stack{gap:16px}.tool-card,.tool-card:last-child{min-height:100px;padding:22px 25px;background:var(--accent);border-color:transparent;color:#fff;justify-content:space-between;gap:20px}.tool-card:hover{transform:translateY(-3px);filter:brightness(1.07)}.tool-card{transition:transform .3s var(--motion-ease),filter .3s}.tool-card .tool-symbol,.tool-card:last-child .tool-symbol{order:2;border-left:1px solid #ffffff35;border-radius:0;background:none;color:#fff9;width:70px;height:48px;font:700 32px var(--display);flex-shrink:0}.tool-card p,.tool-card:last-child p{color:#fff;max-width:200px;line-height:1.5}.project-image{aspect-ratio:1.1;border-radius:4px}.project-image>img{filter:grayscale(1);transition:transform .65s var(--motion-ease),filter .5s}.project-card:hover img,.project-card:focus-visible img{transform:scale(1.025);filter:grayscale(.8)}.project-label{right:auto;max-width:95%;padding:16px 18px;background:var(--accent);color:#fff;border-radius:0 3px 0 0;gap:18px;align-items:center;transform:translateY(100%);transition:opacity .25s,transform .35s var(--motion-ease)}.project-label>span:first-child{font-size:13px;line-height:1.4}.project-label svg{flex-shrink:0}.project-card:hover .project-label,.project-card:focus-visible .project-label{transform:translateY(0)}.page-heading{padding:230px 22px 115px;text-align:center;animation:page-in .6s var(--motion-ease)}.page-heading h1{font:900 clamp(72px,10vw,150px)/1.05 var(--display);text-transform:uppercase;color:var(--accent);overflow-wrap:anywhere}.page-heading>.spark{margin:42px auto 0;width:38px;height:38px}.page-heading h1:focus,.project-detail h1:focus{outline:none}@keyframes page-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}main:not([data-view=home])>.hero,main:not([data-view=home])>.content-width>.section,main:not([data-view=home])>.content-width>.skills-grid,main:not([data-view=home])>.marquee{display:none}main[data-view=about] #about,main[data-view=projects] #projects,main[data-view=experience] #experience,main[data-view=education] #education,main[data-view=contact] #contact{display:block;padding-top:0;padding-bottom:110px}main:not([data-view=home]) .section-title{display:none}main[data-view=about] .skills-grid{display:grid;padding-bottom:100px;margin-top:0}main[data-view=experience]>.marquee,main[data-view=education]>.marquee{display:block;margin:0 0 100px}main[data-view=about] .about-grid{align-items:start;grid-template-columns:1fr 1fr;column-gap:64px;row-gap:30px}.about-portrait{grid-row:span 2;position:relative;width:85%;padding-bottom:45px}.about-portrait>img{height:460px;width:100%;object-fit:cover;object-position:50% 10%;border-radius:4px;box-shadow:18px 20px 0 var(--accent)}.about-signature{position:absolute;top:20px;right:-30px;width:140px;color:var(--accent);transform:rotate(-12deg)}.about-socials{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:14px;font-size:11px;padding:20px;background:var(--accent);color:#fff;margin:0 -18px 0 18px}.about-socials>a{display:flex;gap:4px;align-items:center}main[data-view=about] .about-statement,main[data-view=about] .about-details{grid-column:2}main[data-view=about] .about-details .tool-stack{margin-top:30px}.project-detail{padding-top:200px;padding-bottom:100px;animation:page-in .5s var(--motion-ease)}.project-detail h1{font:900 clamp(52px,7vw,110px)/1.06 var(--display);text-transform:uppercase;color:var(--accent);max-width:950px;margin-top:20px;overflow-wrap:anywhere}.project-detail .detail-image{max-height:650px;object-fit:cover}.related-projects{margin-top:100px}.related-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px;text-transform:uppercase}.related-heading h2,.related-heading a{font-size:12px;font-weight:500}.related-heading a{display:flex;align-items:center;gap:8px}.related-heading a:hover{color:var(--accent)}.social-marquee{--social-size: clamp(150px, 26vw, 480px);--social-gap: 60px;height:calc(var(--social-size) * .7 + 10px);overflow:hidden;padding:10px}.social-track,.social-group,.social-group a{display:flex;align-items:center;width:max-content;flex-shrink:0}.social-track{animation:marquee 35s linear infinite}.social-group a{gap:var(--social-gap);padding-right:var(--social-gap);color:var(--accent)}.social-group a>span{display:block;font-family:var(--display);font-size:var(--social-size);font-weight:900;line-height:.95;letter-spacing:-.015em;text-transform:uppercase;white-space:nowrap;transition:color .25s}.social-group .spark{width:calc(var(--social-size) * .15);height:calc(var(--social-size) * .15);flex-shrink:0;color:var(--line)}.social-group a:hover>span{color:var(--text);text-decoration:line-through;text-decoration-thickness:.035em}.social-marquee:hover .social-track,.social-marquee:active .social-track,.social-marquee:focus-within .social-track,.marquee:hover .marquee-line{animation-play-state:paused}@media(min-width:1600px){.content-width,.header-inner{width:68%;max-width:1250px}.hero h1{font-size:300px}.hero{padding-top:280px}.portrait{width:220px;height:355px}.header-inner{height:170px}}@media(max-width:1000px){.page-heading{padding-top:190px;padding-bottom:85px}.project-label{padding:12px}.about-portrait>img{height:390px}.project-detail{padding-top:165px}}@media(max-width:640px){.header-inner{height:105px}.navigation-dropdown{top:47px;min-width:160px;padding:12px 22px 20px 0;max-height:calc(100dvh - 100px);overflow-y:auto}.navigation-dropdown a{font-size:27px;padding:4px 0}.hero h1{font-size:clamp(80px,24vw,154px)}.page-heading{padding:165px 22px 70px}.page-heading h1{font-size:clamp(56px,13vw,82px)}.page-heading>.spark{margin-top:28px;width:30px;height:30px}.section-arrow{width:28px}.tool-card{min-height:90px;padding:18px 20px}.tool-card .tool-symbol{font-size:28px;width:60px}.project-image{aspect-ratio:1.15}.project-label{opacity:1;transform:none;padding:13px 16px}main[data-view=about] .about-grid{grid-template-columns:1fr;gap:32px}.about-portrait{grid-row:auto;width:calc(100% - 18px);max-width:350px;margin:0 auto 10px;padding-bottom:0}.about-portrait>img{height:420px}.about-signature{right:0;width:120px}main[data-view=about] .about-statement,main[data-view=about] .about-details{grid-column:auto}main:not([data-view=home]) .section{padding-bottom:75px}.project-detail{padding-top:155px;padding-bottom:65px}.project-detail h1{font-size:clamp(42px,10vw,64px)}.project-detail .detail-intro{font-size:16px}.related-projects{margin-top:65px}.related-heading h2,.related-heading a{font-size:10px}.social-marquee{--social-size: clamp(150px, 38vw, 240px);--social-gap: 24px}}@media(hover:none){.project-label{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.animated-letter,.portrait,.page-heading,.project-detail{animation:none}.social-track{animation:none;width:100%;display:block}.social-group{width:100%;flex-wrap:wrap;justify-content:center;gap:20px}.social-group[aria-hidden=true]{display:none}.social-group a{padding:0;gap:15px}.social-group a>span{font-size:clamp(36px,8vw,100px);letter-spacing:-1px}.social-group .spark{width:20px;height:20px}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.section-title:after{content:"";position:absolute;right:0;width:38px;height:2px;background:var(--accent);transition:opacity .2s}.section-arrow{opacity:0}.section-title:hover:after,.section-title:focus-visible:after{opacity:0}.section-title:hover .section-arrow,.section-title:focus-visible .section-arrow{opacity:1;transform:translate(4px)}.project-card,.resume-item{opacity:0;transform:translateY(18px);transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease)}.project-card.visible,.resume-item.visible{opacity:1;transform:none}.project-card:nth-child(2n){transition-delay:80ms}@media(prefers-reduced-motion:reduce){.project-card,.resume-item{opacity:1;transform:none}}:root{--on-accent: #101820}.tool-card,.tool-card:last-child,.tool-card:hover,.tool-card p,.tool-card:last-child p,.tool-card:hover p,.project-label,.about-socials{color:var(--on-accent)}.tool-card .tool-symbol,.tool-card:last-child .tool-symbol,.tool-card:hover .tool-symbol{color:var(--on-accent);opacity:.65;background:transparent;border-left-color:currentColor}.animated-word{display:inline-block;white-space:nowrap}.word-space{white-space:pre}.about-grid{align-items:start}.word-space{display:none}.animated-word:not(:last-child){margin-right:.2em}@media(prefers-reduced-motion:reduce){.social-marquee{height:auto;padding-block:10px}.social-track{overflow:visible}}.contact-form input,.contact-form textarea{border-radius:8px}.contact-form .send-button{border-radius:8px;min-height:44px;box-shadow:0 8px 20px #0002}.draft-fallback{margin-top:12px;font-size:12px;line-height:1.6;color:var(--muted)}.draft-fallback a{color:var(--accent);text-decoration:underline}.draft-fallback svg{display:inline;vertical-align:middle}@media(max-width:767px){.hero-spark,.hero-description,.hero-spark.is-visible,.hero-description.is-visible{opacity:1;visibility:visible;transition:none}}@media(max-width:640px){.menu-button{width:44px;height:44px}.theme-toggle,.contact-pill{position:relative}.theme-toggle:before,.contact-pill:before{content:"";position:absolute;top:-8px;right:0;bottom:-8px;left:0}}
