:root{--page-bg: #fbf7ef;--page-bg-hero: #fbf7ef;--page-bg-projects: #fcf3df;--page-bg-experience: #fbf4e8;--page-bg-about: #f7f3e8;--page-bg-contact: #fbf0dc;--page-bg-footer: #f8efe3;--ink: #5f4a35;--main-yellow: #f8e7b8;--warm-accent: #d6b970;--wood-shadow: rgba(60, 38, 22, .22);--menu-bg: rgba(121, 75, 42, .96);--page-dim: rgba(47, 34, 25, .34);--brown-ink: #473c2c;--blush-pink: #eac8c0;--paper-bg: #f8e7b8;--paper-border: #473c2c;--warmer-accent: #b98b43;--soft-green: #7f9a6f}.portfolio-root{display:contents}*{box-sizing:border-box}html{width:100%;max-width:100%;scrollbar-gutter:stable}body{width:100%;max-width:100%;min-width:320px;margin:0;overflow-x:hidden;color:var(--ink);background:linear-gradient(180deg,var(--page-bg-hero) 0%,var(--page-bg-hero) 16%,var(--page-bg-projects) 31%,var(--page-bg-experience) 49%,var(--page-bg-about) 67%,var(--page-bg-contact) 84%,var(--page-bg-footer) 100%);background-size:100% 180%;animation:page-warmth-drift 42s ease-in-out infinite alternate;font-family:Pixelify Sans,ui-monospace,Cascadia Mono,monospace;transition:background .22s ease,color .22s ease}a{color:inherit;text-decoration:none}.startup-loader{display:grid;position:fixed;inset:0;z-index:100;min-height:100vh;place-items:center;padding:32px;background:var(--page-bg);opacity:1;transition:opacity .85s ease,visibility .85s ease}.startup-loader.is-exiting{visibility:hidden;opacity:0}.startup-content{opacity:0;animation:startup-content-fade-in .85s ease forwards}.startup-loader-panel{display:grid;width:min(280px,100%);justify-items:center;gap:14px;color:var(--brown-ink);text-align:center}.startup-loader-butterfly{display:block;width:56px;height:42px;background:url(/assets/butterflyFrontSheet.png) 0 0 / 112px 42px no-repeat;image-rendering:pixelated}.startup-loader-panel p,.startup-loader-panel span{margin:0;line-height:1}.startup-loader-panel p{font-size:1.25rem}.startup-loader-panel span{color:var(--warmer-accent);font-size:1rem}.startup-loader-track{width:100%;height:12px;border:2px solid var(--brown-ink);background:#ffffff61;overflow:hidden}.startup-loader-track div{height:100%;background:var(--soft-green);transition:width .28s cubic-bezier(.22,1,.36,1)}@keyframes startup-content-fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-warmth-drift{0%{background-position:50% 0%}to{background-position:50% 28%}}@media(hover:hover)and (pointer:fine){html body :is(.butterfly-friend,.decor-butterfly,.section-sign,.about-card-label,.footer-well-button):hover{cursor:url(/assets/koi-cursor.png) 14 16,pointer}}.butterfly-friend{position:absolute;--butterfly-front-sheet-width: 112px;--butterfly-side-sheet-width: 224px;top:clamp(690px,62vw,820px);left:clamp(28px,6vw,92px);z-index:5;width:56px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;image-rendering:pixelated;transform:translate3d(var(--butterfly-x, 0px),var(--butterfly-y, 0px),0)}.butterfly-friend span{display:block;width:100%;height:100%;background:url(/assets/butterflyFrontSheet.png) 0 0 / 112px 42px no-repeat;image-rendering:pixelated;animation:butterfly-front-flap .52s steps(2) infinite;pointer-events:none}.butterfly-friend.is-following{transition:none}.butterfly-friend.is-resting-hidden,.decor-butterfly.is-resting-hidden{opacity:0}.butterfly-friend.is-page-flight,.decor-butterfly.is-page-flight{position:absolute;top:var(--butterfly-flight-top);left:var(--butterfly-flight-left);z-index:80}.butterfly-friend.is-following span{background-image:url(/assets/butterflySideSheet.png);background-size:224px 42px;animation:butterfly-side-flap .52s steps(4) infinite}.butterfly-friend.is-following.is-facing-right span{transform:scaleX(-1)}.butterfly-friend.is-following.is-facing-left span{transform:scaleX(1)}.butterfly-friend:focus-visible{outline:2px solid var(--warm-accent);outline-offset:4px}.decor-butterfly{position:absolute;--butterfly-front-sheet-width: 112px;--butterfly-side-sheet-width: 224px;z-index:1;display:block;width:56px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;image-rendering:pixelated;transform:translate3d(var(--butterfly-x, 0px),var(--butterfly-y, 0px),0)}.decor-butterfly span{display:block;width:100%;height:100%;background:url(/assets/butterflyFrontSheet.png) 0 0 / 112px 42px no-repeat;image-rendering:pixelated;animation:butterfly-front-flap .52s steps(2) infinite;pointer-events:none}.decor-butterfly.is-following{z-index:6;transition:none}.decor-butterfly.is-following span{background-image:url(/assets/butterflySideSheet.png);background-size:224px 42px;animation:butterfly-side-flap .52s steps(4) infinite}.decor-butterfly.is-following.is-facing-right span{transform:scaleX(-1)}.decor-butterfly.is-following.is-facing-left span{transform:scaleX(1)}.decor-butterfly:focus-visible{outline:2px solid var(--warm-accent);outline-offset:4px}.decor-butterfly-hero-ne{top:clamp(126px,15vw,178px);left:clamp(57%,61vw,68%)}.decor-butterfly-projects-east{top:clamp(160px,19vw,240px);right:clamp(34px,8vw,124px)}.decor-butterfly-experience-nw{top:clamp(78px,8vw,128px);left:clamp(42px,9vw,142px)}.decor-butterfly-about-gap{top:-76px;left:clamp(34px,8vw,128px)}.decor-butterfly-about-currently{top:clamp(396px,34vw,522px);right:clamp(36px,8vw,120px)}.decor-butterfly-contact-west{top:clamp(292px,30vw,442px);left:clamp(32px,7vw,112px)}.decor-butterfly-footer-house{top:-18%;right:clamp(80px,14vw,220px)}@keyframes butterfly-front-flap{0%{background-position-x:0}to{background-position-x:calc(-1 * var(--butterfly-front-sheet-width))}}@keyframes butterfly-side-flap{0%{background-position-x:0}to{background-position-x:calc(-1 * var(--butterfly-side-sheet-width))}}.site-header{position:sticky;top:0;z-index:10;display:flex;width:100%;flex-direction:column;align-items:center;min-height:197px;pointer-events:none}.portfolio-nav{position:relative;width:min(816px,calc(100% - 48px));margin-inline:auto;aspect-ratio:816 / 197;filter:drop-shadow(0 8px 10px var(--wood-shadow));pointer-events:auto}.nav-board{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;image-rendering:pixelated;-webkit-user-select:none;user-select:none;pointer-events:none}.lantern-toggle{position:absolute;top:0;right:17.5%;z-index:2;width:70px;height:92px;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer}.lantern-toggle:disabled{cursor:default}.lantern-toggle:focus-visible{outline:2px solid var(--main-yellow);outline-offset:3px}.nav-links{position:absolute;left:11.75%;top:56.35%;display:flex;align-items:center;justify-content:space-between;width:74.5%;color:var(--main-yellow);font-size:clamp(1.08rem,2.35vw,1.5rem);line-height:1;text-shadow:1px 1px 1px #000;white-space:nowrap}.nav-links a{transition:color .16s ease,transform .16s ease}.nav-links a:focus-visible,.nav-links a[aria-current=page],.mobile-menu a:focus-visible,.mobile-menu a[aria-current=page]{color:var(--warm-accent)}.nav-links a:focus-visible{transform:translateY(-1px)}@media(hover:hover)and (pointer:fine){.nav-links a:hover,.mobile-menu a:hover{color:var(--warm-accent)}.nav-links a:hover{transform:translateY(-1px)}}.nav-links a:focus-visible,.menu-toggle:focus-visible,.mobile-menu a:focus-visible{outline:2px solid var(--main-yellow);outline-offset:3px}.nav-mobile-row,.mobile-menu,.menu-backdrop{display:none}.site-main{width:100%;max-width:100%;min-height:100vh;margin-top:-76px;overflow-x:clip}.hero-section{position:relative;display:grid;width:100%;max-width:1320px;grid-template-columns:minmax(280px,560px) minmax(300px,500px);align-items:center;justify-content:center;justify-items:center;column-gap:clamp(104px,9vw,160px);margin-inline:auto;min-height:708px;padding:160px 48px 72px}.hero-copy{display:flex;width:100%;max-width:620px;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px}.hero-heading-group{display:flex;flex-direction:column;gap:8px}.hero-heading-group h1,.hero-heading-group p,.hero-intro{margin:0;font-weight:400;line-height:1}.hero-heading-group h1{color:var(--brown-ink);font-size:clamp(2.75rem,5vw,4rem)}.hero-heading-group p{color:var(--blush-pink);font-size:clamp(2.75rem,5vw,4rem);text-transform:uppercase}.hero-heading-group .hero-role-prefix{color:var(--brown-ink);text-transform:none}.typewriter-line{min-height:1em}.typewriter-cursor{display:inline-block;width:.12em;height:.8em;margin-left:.08em;background:currentColor;animation:cursor-blink .8s steps(1) infinite;transform:translateY(.08em)}.hero-intro{max-width:587px;color:var(--brown-ink);font-size:clamp(1.05rem,1.875vw,1.5rem);line-height:1.2}.hero-actions{display:flex;align-items:center;gap:clamp(24px,2.9vw,37px);min-height:48px}.resume-link{position:relative;display:grid;width:clamp(104px,10.7vw,137px);height:clamp(34px,3.5vw,45px);color:var(--brown-ink);font-size:clamp(1.05rem,1.875vw,1.5rem);line-height:1;place-items:center;transition:transform .18s ease}.resume-link:before{position:absolute;inset:0;z-index:-1;background:url(/assets/buttonWithBorder.png) center / 100% 100% no-repeat;content:"";image-rendering:pixelated}.resume-link:focus-visible{transform:translateY(-4px)}.resume-link:focus-visible,.social-link:focus-visible{outline:2px solid var(--warm-accent);outline-offset:4px}.social-link{display:grid;width:clamp(34px,3.75vw,48px);height:clamp(34px,3.75vw,48px);place-items:center;transition:transform .16s ease}.social-link img{image-rendering:pixelated;transition:transform .16s ease}.social-link:focus-visible img{transform:translateY(-4px)}.social-github img{width:clamp(31px,3.4vw,44px);height:clamp(31px,3.4vw,44px)}.social-linkedin img{width:clamp(32px,3.6vw,46px);height:clamp(31px,3.4vw,44px)}.social-email img{width:clamp(28px,3.1vw,40px);height:clamp(22px,2.5vw,32px)}.hero-art{width:min(500px,100%);max-width:100%;justify-self:center}.hero-art picture,.hero-art img{display:block;width:100%;height:auto}.hero-art img{animation:hero-island-float 4.2s ease-in-out infinite;image-rendering:auto}.projects-section{position:relative;display:flex;flex-direction:column;align-items:center;gap:76px;--project-card-width: clamp(320px, 39vw, 500px);overflow-x:clip;padding:64px 64px 96px;scroll-margin-top:180px}.projects-carousel-shell{position:relative;display:flex;width:100%;max-width:1120px;flex-direction:column;align-items:center;gap:28px}.section-sign{position:relative;display:grid;width:251px;height:150px;padding-top:60px;border:0;background:transparent;cursor:pointer;font-family:inherit;place-items:center;transform-origin:50% 10%}.section-sign.is-swinging{animation:sign-swing-click .72s ease-in-out}.section-sign:focus-visible{outline:2px solid var(--warm-accent);outline-offset:4px}.section-sign img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.section-sign h2{position:relative;margin:0;color:var(--main-yellow);font-size:2.5rem;font-weight:400;line-height:1;text-align:center;text-shadow:1px 1px 1px #000}.projects-grid{position:relative;display:grid;grid-template-columns:1fr;justify-items:center;width:100%;max-width:1120px;height:max(calc(var(--project-card-width) * .606),var(--projects-carousel-height, 0px));min-height:calc(var(--project-card-width) * .606)}.project-card{position:absolute;top:0;left:50%;display:none;width:var(--project-card-width);flex-direction:column;align-items:center;gap:clamp(18px,calc(var(--project-card-width) * .056),28px);opacity:0;pointer-events:none;transform:translate(-50%) scale(.72);transition:opacity .22s ease,transform .22s ease}.projects-grid.is-syncing,.projects-grid.is-syncing .project-card{transition:none!important}.project-card.is-active,.project-card.is-prev,.project-card.is-next{display:flex}.project-card.is-active{z-index:2;opacity:1;pointer-events:auto;transform:translate(-50%) scale(1)}.project-card.is-active.is-entering-forward,.project-card.is-active.is-entering-backward{transition:opacity .22s ease}.project-card.is-active.is-entering-forward{animation:project-enter-forward .28s ease-out}.project-card.is-active.is-entering-backward{animation:project-enter-backward .28s ease-out}.project-card.is-prev{z-index:1;opacity:.48;transform:translate(-128%) scale(.68)}.project-card.is-next{z-index:1;opacity:.48;transform:translate(28%) scale(.68)}.project-card.is-prev .project-island-content,.project-card.is-next .project-island-content,.project-card.is-prev .project-note,.project-card.is-next .project-note,.project-card.is-prev .project-actions,.project-card.is-next .project-actions{display:none}.project-card.is-active .project-island,.project-card.is-prev .project-island,.project-card.is-next .project-island{animation:island-float 1.8s ease-in-out infinite}.project-card.is-prev .project-island{animation-delay:-.6s}.project-card.is-next .project-island{animation-delay:-1.2s}@media(hover:none),(pointer:coarse){.project-island,.carousel-arrow,.project-dot{touch-action:manipulation}.project-island{-webkit-tap-highlight-color:transparent}}.project-island{position:relative;width:100%;height:calc(var(--project-card-width) * .606);padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.project-island:focus-visible{outline:2px solid var(--warm-accent);outline-offset:4px}.project-island>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;image-rendering:pixelated;pointer-events:none}.project-island-content{position:relative;display:flex;height:100%;flex-direction:column;align-items:center;padding-top:clamp(20px,calc(var(--project-card-width) * .064),32px)}.project-island h3{margin:0;color:var(--main-yellow);font-size:clamp(1.75rem,calc(var(--project-card-width) * .085),2.65rem);font-weight:400;line-height:1;text-align:center;text-shadow:1px 1px 1px #000}.project-tags{display:none;width:calc(var(--project-card-width) * .72);min-height:calc(var(--project-card-width) * .224);flex-wrap:wrap;align-content:flex-start;align-items:flex-start;justify-content:center;gap:clamp(8px,calc(var(--project-card-width) * .032),16px);margin:clamp(34px,calc(var(--project-card-width) * .108),54px) 0 0;padding:0;list-style:none}.project-tags li,.project-actions a,.project-actions button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#473c2c;font-family:inherit;line-height:1;text-align:center;white-space:nowrap}.project-tags li{min-width:clamp(64px,calc(var(--project-card-width) * .172),86px);min-height:clamp(18px,calc(var(--project-card-width) * .048),24px);padding:clamp(4px,calc(var(--project-card-width) * .01),5px) clamp(10px,calc(var(--project-card-width) * .028),14px);background:url(/assets/button.png) center / 100% 100% no-repeat;font-size:clamp(.75rem,calc(var(--project-card-width) * .032),1rem);image-rendering:pixelated}.project-note{position:relative;display:grid;width:87.36%;min-height:calc(var(--project-card-width) * .42);padding:clamp(22px,calc(var(--project-card-width) * .068),34px);place-items:center;overflow:visible}.project-note:before{position:absolute;inset:0;z-index:-1;background:url(/assets/aboutMe_backgroundHorizontal.png) center / 100% 100% no-repeat;content:"";image-rendering:pixelated}.project-note p{margin:0;color:#473c2c;font-size:clamp(1.15rem,calc(var(--project-card-width) * .056),1.75rem);font-weight:400;line-height:1.1;text-align:center}.project-note-summary{display:grid;gap:clamp(5px,calc(var(--project-card-width) * .018),9px);justify-items:center}.project-note-summary p{font-size:clamp(.95rem,calc(var(--project-card-width) * .043),1.35rem)}.project-note-summary strong{font-weight:600}.project-note-with-actions{width:100%;min-height:calc(var(--project-card-width) * .5);gap:clamp(8px,calc(var(--project-card-width) * .02),10px);align-content:center}.project-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;width:100%}.project-island-actions{margin-top:clamp(44px,calc(var(--project-card-width) * .126),64px)}.project-actions a,.project-actions button{background:url(/assets/buttonWithBorder.png) center / 100% 100% no-repeat;width:clamp(136px,calc(var(--project-card-width) * .33),168px);min-height:clamp(32px,calc(var(--project-card-width) * .08),40px);gap:7px;padding:5px clamp(18px,calc(var(--project-card-width) * .044),24px);font-size:clamp(.95rem,calc(var(--project-card-width) * .04),1.25rem);cursor:pointer;transition:transform .18s ease}.project-actions .button-icon,.project-modal-actions .button-icon{display:block;width:1em;height:1em;image-rendering:pixelated}.project-actions .button-icon-globe,.project-modal-actions .button-icon-globe,.project-actions .button-icon-figma,.project-modal-actions .button-icon-figma{width:1.42em;height:1.42em}.project-actions a:focus-visible,.project-actions button:focus-visible{transform:translateY(-4px)}.project-actions a:focus-visible,.project-actions button:focus-visible,.carousel-arrow:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.project-actions-pair a,.project-actions-pair button{width:clamp(128px,calc(var(--project-card-width) * .32),160px)}.project-modal{position:fixed;inset:0;z-index:40;display:grid;align-items:center;align-items:safe center;justify-items:center;padding:32px;opacity:0;pointer-events:none;transition:opacity .18s ease}.project-modal.is-open{opacity:1;pointer-events:auto}.project-modal-backdrop{position:absolute;inset:0;border:0;background:#2f231985;cursor:pointer}.project-modal-project-arrow{position:absolute;top:50%;z-index:2;display:grid;width:52px;height:64px;padding:0;border:0;background:transparent;cursor:pointer;image-rendering:pixelated;place-items:center;transform:translateY(-50%);transition:transform .18s ease}.project-modal-project-arrow img{display:block;width:100%;height:100%;image-rendering:pixelated}.project-modal-project-prev{left:max(10px,calc(50% - min(640px,calc((100vw - 32px)/2)) - 68px))}.project-modal-project-next{right:max(10px,calc(50% - min(640px,calc((100vw - 32px)/2)) - 68px));transform:translateY(-50%) scaleX(-1)}.project-modal-panel{position:relative;z-index:1;display:grid;width:min(1280px,calc(100vw - 32px));max-height:calc(100vh - 32px);box-sizing:border-box;justify-items:center;gap:18px;padding:clamp(12px,1.9vw,25px);border:26px solid transparent;overflow:auto;overflow-x:hidden;overflow-x:clip;background:transparent;border-image:url(/assets/aboutMe_backgroundHorizontal.png) 48 fill / 26px stretch;color:#473c2c;image-rendering:pixelated;outline:none;transform:translateY(8px) scale(.98);transition:transform .18s ease}.project-modal.is-open .project-modal-panel{transform:translateY(0) scale(1)}.project-modal-close{position:absolute;top:16px;right:18px;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;image-rendering:pixelated;transition:transform .18s ease}.project-modal-close img{display:block;width:100%;height:100%;image-rendering:pixelated}.project-modal-image{position:relative;width:min(560px,70%,calc((100vh - 120px)*.78));aspect-ratio:16 / 9;display:grid;overflow:hidden;border:3px solid #473c2c;border-radius:8px;background:#f8e7b88c;place-items:center}.project-modal-image>img{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:5px;object-fit:cover;opacity:0}.project-modal-image>img.is-active{opacity:1}.project-modal-image.is-contained,.project-modal-image.is-soft-contained{background:#111}.project-modal-image.is-contained>img{background:#111;object-fit:contain;image-rendering:auto!important}.project-modal-image.is-soft-contained>img{background:#111;object-fit:contain;image-rendering:auto!important}.project-modal-image:not(.has-carousel){aspect-ratio:500 / 303;border-color:transparent;background:transparent}.project-modal-image:not(.has-carousel)>img{object-fit:fill}.project-modal-image-arrow{position:absolute;top:50%;z-index:2;display:none;width:36px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;image-rendering:pixelated;transform:translateY(-50%);transition:transform .18s ease}.project-modal-image.has-carousel .project-modal-image-arrow{display:block}.project-modal-image-arrow img{display:block;width:100%;height:100%;image-rendering:pixelated}.project-modal-image-prev{left:16px}.project-modal-image-next{right:16px;transform:translateY(-50%) scaleX(-1)}.project-modal-image-prev:focus-visible{transform:translateY(-56%)}.project-modal-image-next:focus-visible{transform:translateY(-56%) scaleX(-1)}.project-modal-image-arrow:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.project-modal-project-arrow:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.project-modal-image-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 4px}.project-modal-image-dots[hidden]{display:none}.project-modal-image-dots button{width:10px;height:10px;padding:0;border:2px solid #473c2c;border-radius:50%;background:var(--main-yellow);cursor:pointer}.project-modal-image-dots button[aria-current=true],.project-modal-image-dots button:focus-visible{background:var(--warm-accent)}@media(max-width:900px){.project-modal-panel{align-content:start;width:min(720px,calc(100vw - 18px));max-height:calc(100vh - 28px);gap:12px;padding:8px 7px;border-width:20px;border-image-width:20px}.project-modal-image{width:min(440px,calc(100vw - 112px),calc((100vh - 120px)*.72))}.project-modal-image-dots{margin-top:8px;margin-bottom:4px}.project-modal h2{width:clamp(210px,54vw,300px);min-height:clamp(40px,8.4vw,56px);padding:clamp(8px,2.5vw,13px) clamp(24px,6vw,34px) clamp(7px,2.2vw,12px) clamp(17px,4.5vw,24px);font-size:clamp(1.7rem,4.4vw,2.5rem)}}.project-modal h2{display:grid;width:clamp(240px,28vw,360px);min-height:clamp(46px,5.4vw,66px);margin:-4px 0 -2px;padding:clamp(9px,1.35vw,16px) clamp(36px,4.2vw,54px) clamp(7px,1.1vw,12px) clamp(24px,3vw,38px);background:url(/assets/genericBoard.png) center / 100% 100% no-repeat;color:var(--main-yellow);font-size:clamp(1.85rem,3vw,2.8rem);font-weight:400;line-height:1;place-items:center;text-align:center;text-shadow:1px 1px 1px #000;text-wrap:balance;image-rendering:pixelated}.project-modal-subtitle{max-width:min(620px,86%);margin:-4px 0 0;color:var(--brown-ink);font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1;text-align:center}.project-modal-body{display:grid;width:min(820px,88%);max-height:min(38vh,440px);gap:12px;overflow-y:auto;padding:0 12px;scrollbar-color:var(--warm-accent) transparent}.project-modal-body h3{margin:10px 0 0;color:#473c2c;font-size:clamp(1.25rem,2.75vh,1.65rem);font-weight:400;line-height:1;text-align:center}.project-modal-body h3:first-child{margin-top:0}.project-modal-body p{max-width:760px;margin:0;font-size:clamp(1rem,1.85vh,1.12rem);font-weight:300;line-height:1.18;text-align:left}.project-modal-body strong{font-weight:600}.project-modal-facts{--fact-gutter: clamp(10px, 1.35vw, 16px);--fact-padding-y: clamp(8px, 1.05vw, 12px);display:grid;aspect-ratio:351 / 144;width:min(700px,100%);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--fact-gutter);margin:0 auto 4px;padding:var(--fact-padding-y) var(--fact-gutter);background:url(/assets/modalDetails.png) center / 100% 100% no-repeat;image-rendering:pixelated}.project-modal-fact{display:grid;box-sizing:border-box;min-width:0;grid-template-rows:auto minmax(0,1fr);align-content:start;justify-items:start;gap:clamp(7px,1vw,12px);padding-left:clamp(42px,6.6vw,72px);padding-top:clamp(4px,.8vw,10px)}.project-modal-fact:nth-child(1),.project-modal-fact:nth-child(3){padding-left:clamp(34px,5.6vw,60px)}.project-modal-fact:nth-child(-n+2){padding-top:clamp(0px,.38vw,5px)}.project-modal-fact:nth-child(n+3){padding-top:clamp(2px,.55vw,7px)}.project-modal-fact:nth-child(4){padding-right:clamp(0px,.8vw,8px)}.project-modal-facts dt{color:#473c2c;font-size:clamp(.86rem,1.16vw,1.1rem);line-height:1;text-transform:uppercase}.project-modal-facts dd{display:flex;width:100%;min-width:0;align-items:flex-start;margin:0;color:#473c2c;font-size:clamp(1.05rem,1.3vw,1.24rem);line-height:1.15;text-align:center}.project-modal-fact-tags{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:3px 5px;max-width:100%;margin:0;padding:0;list-style:none}.project-modal-fact-tags li{display:inline-flex;box-sizing:border-box;align-items:flex-end;justify-content:center;min-width:clamp(42px,5vw,60px);min-height:clamp(18px,1.8vw,23px);padding:4px clamp(7px,.85vw,10px) 3px;color:#473c2c;background:url(/assets/button.png) center / 100% 100% no-repeat;font-size:clamp(.64rem,.82vw,.82rem);line-height:1;white-space:nowrap;image-rendering:pixelated}.project-modal-list{display:grid;gap:8px;width:min(760px,100%);margin:0 auto;padding:0;color:#473c2c;font-size:clamp(1rem,1.85vh,1.12rem);font-weight:300;line-height:1.18;list-style:none;text-align:left}.project-modal-list li:before{color:var(--soft-green);content:"✦"}@media(max-width:900px){.project-modal-body{max-width:520px;max-height:min(42vh,360px)}.project-modal-body p{font-size:clamp(.92rem,1.75vh,1rem)}.project-modal-body h3{font-size:clamp(1.18rem,2.45vh,1.5rem)}.project-modal-list{font-size:clamp(.92rem,1.75vh,1rem)}.project-modal-facts{--fact-gutter: 7px;--fact-padding-y: 6px;width:min(520px,100%);grid-template-columns:repeat(2,minmax(0,1fr))}.project-modal-facts dt{font-size:.68rem}.project-modal-fact{padding-left:clamp(44px,7vw,58px)}.project-modal-fact:nth-child(1),.project-modal-fact:nth-child(3){padding-left:clamp(38px,6vw,50px)}.project-modal-fact-tags{gap:4px}.project-modal-fact-tags li{min-width:38px;min-height:17px;padding:4px 7px 3px;font-size:.56rem}.project-modal-fact--dense{gap:3px}.project-modal-fact--dense .project-modal-fact-tags{gap:2px}.project-modal-fact--dense .project-modal-fact-tags li{min-width:0;min-height:14px;padding:2px 5px 1px;font-size:.42rem}}@media(max-height:820px)and (min-width:641px){.project-modal-panel{gap:clamp(8px,1.4vh,12px);padding:clamp(8px,1.5vh,14px)}.project-modal-facts{width:min(620px,100%)}.project-modal-body{max-height:clamp(150px,26vh,220px)}.project-modal-body p,.project-modal-list{font-size:clamp(.9rem,1.7vh,1rem)}.project-modal-body h3{font-size:clamp(1.16rem,2.35vh,1.45rem)}.project-modal-actions{gap:14px}.project-modal-image{width:min(460px,62%,calc((100vh - 140px)*.68))}.project-modal-image-dots{margin:6px 0 0}}.project-modal-actions,.project-modal-tags{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:12px;width:100%;margin:0;padding:0;list-style:none}.project-modal-tags[hidden]{display:none}.project-modal-actions{gap:18px}.project-modal-actions a,.project-modal-actions button,.project-modal-tags li{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:0;background:url(/assets/button.png) center / 100% 100% no-repeat;color:#473c2c;font-family:inherit;font-size:1rem;line-height:1;text-align:center;white-space:nowrap;image-rendering:pixelated}.project-modal-actions a,.project-modal-actions button{min-width:156px;min-height:42px;gap:8px;padding:7px 18px;background-image:url(/assets/buttonWithBorder.png);cursor:pointer;font-size:1.08rem;transition:transform .18s ease}.project-modal-actions a:focus-visible,.project-modal-actions button:focus-visible,.project-modal-close:focus-visible{transform:translateY(-4px)}.project-modal-actions a:focus-visible,.project-modal-actions button:focus-visible,.project-modal-close:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.project-modal-tags{gap:10px;margin-bottom:4px}.project-modal-tags li{min-width:78px;padding:5px 14px}.projects-carousel-controls{position:absolute;top:calc(var(--project-card-width) * .24);left:50%;z-index:3;display:flex;justify-content:space-between;width:min(calc(var(--project-card-width) * 1.64),calc(100vw - 80px));transform:translate(-50%);pointer-events:none}.experience-section{position:relative;display:flex;flex-direction:column;align-items:center;gap:48px;padding:64px 32px 96px;scroll-margin-top:180px;content-visibility:auto;contain-intrinsic-size:900px}.experience-carousel-shell{position:relative;width:100%;max-width:1284px}.experience-list{display:flex;flex-wrap:wrap;justify-content:center;gap:72px}.experience-card{position:relative;z-index:0;display:grid;width:380px;height:438px;padding:76px 48px;place-items:center}.experience-paper{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.experience-content{display:flex;width:100%;flex-direction:column;align-items:center;gap:18px;color:#473c2c;text-align:center}.experience-heading{display:grid;gap:2px}.experience-heading h3,.experience-heading p{margin:0;font-weight:400;line-height:1}.experience-heading h3{color:#473c2c;font-size:2rem}.experience-heading p{color:var(--warmer-accent);font-size:1.5rem}.experience-heading span{color:var(--soft-green);font-size:1.25rem;line-height:1}.experience-points,.experience-tags{margin:0;padding:0;list-style:none}.experience-points{display:grid;gap:8px;font-size:1rem;line-height:1.15}.experience-points li:before{margin-right:4px;color:var(--soft-green);content:"✦"}.experience-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.experience-tags li{display:inline-flex;min-width:86px;min-height:24px;align-items:center;justify-content:center;padding:5px 14px;background:url(/assets/button.png) center / 100% 100% no-repeat;color:#473c2c;font-size:1rem;line-height:1;text-align:center;white-space:nowrap;image-rendering:pixelated;transition:transform .18s ease}.experience-carousel-controls{display:none}.about-section{position:relative;display:flex;flex-direction:column;align-items:center;gap:48px;--about-body-font-size: clamp(1rem, 1.7vw, 1.5rem);--about-body-line-height: 1.18;padding:64px 64px 112px;scroll-margin-top:180px;content-visibility:auto;contain-intrinsic-size:1000px}.about-intro{display:grid;width:min(100%,980px);gap:18px;color:var(--brown-ink);font-size:var(--about-body-font-size);line-height:var(--about-body-line-height);text-align:left}.about-intro p{margin:0}.about-carousel-shell{position:relative;width:100%;--about-card-width: clamp(180px, 20vw, 288px);--about-card-gap: clamp(24px, 6.4vw, 92px);max-width:calc((var(--about-card-width) * 3) + (var(--about-card-gap) * 2))}.about-card-list{display:flex;align-items:stretch;justify-content:center;gap:var(--about-card-gap)}.about-card-measurements{display:none}.about-card{display:flex;width:var(--about-card-width);flex-direction:column;align-items:center;align-self:stretch;gap:clamp(20px,calc(var(--about-card-width) * .097),28px)}.about-card-label{position:relative;display:grid;width:calc(var(--about-card-width) * .611);height:calc(var(--about-card-width) * .201);padding:0;border:0;background:transparent;cursor:pointer;font:inherit;place-items:center;transition:transform .18s ease;transform-origin:50% 80%}.about-card-label.is-seesawing{animation:board-seesaw-click .52s ease-in-out}.about-card-label:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.about-card-label img{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.about-card-label h3{position:relative;z-index:1;margin:0;padding-top:2px;color:var(--main-yellow);font-size:clamp(1.16rem,calc(var(--about-card-width) * .081),1.45rem);font-weight:400;line-height:1;text-align:center;text-shadow:1px 1px 1px #000;transform:translate(calc(var(--about-card-width) * .049));white-space:nowrap}.about-card-paper{display:flex;width:var(--about-card-width);min-height:calc(var(--about-card-width) * 1.333);flex:1;align-items:flex-start;justify-content:center;padding:calc(var(--about-card-width) * .146) calc(var(--about-card-width) * .097);background:url(/assets/aboutMe_backgrounds.png) center / 100% 100% no-repeat;color:#473c2c;font-size:1.5rem;line-height:1.08;image-rendering:pixelated}.about-card-paper p,.about-card-paper ul{margin:0}.about-card-paper p,.about-card-paper li{font-size:var(--about-body-font-size);line-height:var(--about-body-line-height)}.about-card-paper ul{display:grid;gap:clamp(10px,calc(var(--about-card-width) * .049),14px);padding-left:0;list-style:none}.about-card-paper li:before{margin-right:4px;color:var(--soft-green);content:"✦"}.about-carousel-controls{display:none}.contact-section{position:relative;display:flex;min-height:990px;flex-direction:column;align-items:center;gap:64px;padding:64px 64px 96px;scroll-margin-top:180px;content-visibility:auto;contain-intrinsic-size:1100px}.contact-board{position:relative;display:grid;width:min(820px,calc(100vw - 48px));aspect-ratio:1;place-items:center}.contact-board>img{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.contact-board-content{position:relative;z-index:1;display:flex;width:86%;min-height:30%;flex-direction:column;align-items:center;justify-content:center;margin-top:-10%;transform:translateY(14px);color:#473c2c;text-align:center}.contact-form{display:grid;width:min(704px,100%);gap:14px;color:#473c2c;font-size:clamp(1rem,1.55vw,1.25rem);line-height:1}.contact-form label{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:start;gap:8px;text-align:left}.contact-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.contact-form span{padding-top:7px;white-space:nowrap}.contact-form input,.contact-form textarea{width:96%;min-width:0;justify-self:start;padding:6px 10px;border:2px solid #473c2c;background:#fbf7ef94;color:#473c2c;font:inherit;line-height:1;outline:none}.contact-form textarea{min-height:208px;resize:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--warmer-accent);background:#fbf7efd1}.contact-form input.is-invalid,.contact-form textarea.is-invalid{border-color:#9b3f35;background:#9b3f351a}.contact-form input.is-invalid:focus,.contact-form textarea.is-invalid:focus{border-color:#9b3f35;background:#9b3f3524}.contact-message-field{align-items:start}.contact-name-field{padding-top:46px}.contact-form button{justify-self:center;margin-top:36px;min-width:152px;min-height:46px;padding:6px 22px;border:0;background:url(/assets/buttonWithBorder.png) center / 100% 100% no-repeat;color:#473c2c;cursor:pointer;font:inherit;font-size:1.125rem;line-height:1;image-rendering:pixelated;transition:transform .18s ease}.contact-form button:focus-visible{transform:translateY(-4px)}.contact-form button:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.contact-form button:disabled{cursor:wait;opacity:.7}.contact-form-status{margin:0;min-height:1em;font-size:clamp(1rem,1.2vw,1.25rem);line-height:1;text-align:center}.contact-form-status.is-error{color:#9b3f35}.contact-form-status.is-success{color:var(--main-yellow);text-shadow:1px 1px 1px #000}.site-footer{position:relative;display:flex;width:100%;justify-content:center;margin-top:-120px}.footer-sprite{display:block;width:100%;height:calc(100vw * 134 / 512);aspect-ratio:512 / 134;flex:0 0 100%;background:url(/assets/footer-Sheet.png) 0 0 / 700% 100% no-repeat;image-rendering:pixelated;pointer-events:none}.footer-sprite.is-full{background-position-x:100%}.footer-well-button{position:absolute;top:22%;left:61%;z-index:2;width:11%;height:42%;padding:0;border:0;background:transparent;cursor:pointer}.footer-well-button:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.site-footer p{position:absolute;top:85%;left:50%;margin:0;color:var(--main-yellow);font-size:clamp(.95rem,1.3vw,1.65rem);line-height:1;text-align:center;text-shadow:1px 1px 1px #000;transform:translate(-50%,-50%);white-space:nowrap}@media(max-width:1200px)and (min-width:641px){.site-footer p{font-size:clamp(.8rem,1.45vw,1.15rem)}}.site-footer p span{color:var(--main-yellow)}.project-dots{display:flex;align-items:center;justify-content:center;gap:12px;min-height:18px}.project-dot{width:10px;height:10px;padding:0;border:2px solid #473c2c;border-radius:50%;background:var(--main-yellow);cursor:pointer;image-rendering:pixelated;transition:background-color .16s ease,transform .18s ease}.project-dot[aria-current=true]{background:var(--warm-accent)}.project-dot:focus-visible{background:var(--warm-accent);transform:translateY(-3px)}.project-dot:focus-visible{outline:2px solid var(--warm-accent);outline-offset:4px}.experience-dots,.about-dots{display:none;align-items:center;justify-content:center;gap:8px;min-height:12px;margin-top:8px}.experience-dot,.about-dot{width:8px;height:8px;padding:0;border:1px solid #473c2c;border-radius:50%;background:var(--main-yellow);cursor:pointer;image-rendering:pixelated;transition:background-color .16s ease}.experience-dot[aria-current=true],.experience-dot:focus-visible,.about-dot[aria-current=true],.about-dot:focus-visible{background:var(--warm-accent)}.experience-dot:focus-visible,.about-dot:focus-visible{outline:2px solid var(--warm-accent);outline-offset:3px}.carousel-arrow{display:grid;width:clamp(28px,calc(var(--project-card-width) * .08),40px);height:clamp(34px,calc(var(--project-card-width) * .096),48px);padding:1px;border:0;background:transparent;cursor:pointer;place-items:center;pointer-events:auto;transition:transform .18s ease}.carousel-arrow:focus-visible{transform:translateY(-4px)}@media(hover:hover)and (pointer:fine){.resume-link:hover,.social-link:hover img,.project-actions a:hover,.project-actions button:hover,.project-modal-actions a:hover,.project-modal-actions button:hover,.project-modal-close:hover,.experience-tags li:hover,.contact-form button:hover,.carousel-arrow:hover{transform:translateY(-4px)}.project-modal-image-prev:hover{transform:translateY(-56%)}.project-modal-image-next:hover{transform:translateY(-56%) scaleX(-1)}.project-modal-project-prev:hover{transform:translateY(-56%)}.project-modal-project-next:hover{transform:translateY(-56%) scaleX(-1)}.project-dot:hover{background:var(--warm-accent);transform:translateY(-3px)}.project-modal-image-dots button:hover{background:var(--warm-accent)}}.carousel-arrow img{display:block;width:calc(100% - 2px);height:calc(100% - 2px);object-fit:contain;image-rendering:pixelated}.carousel-arrow-next img{transform:scaleX(-1)}@media(max-width:1100px)and (min-width:641px){.hero-section{column-gap:48px;padding-inline:32px}.experience-carousel-shell{max-width:874px}.experience-list{gap:72px 114px}.about-section{padding-inline:clamp(24px,5vw,48px)}.about-carousel-shell{--about-card-width: clamp(150px, 18vw, 220px);--about-card-gap: clamp(16px, 4.6vw, 52px)}.about-card-paper{padding:calc(var(--about-card-width) * .13) calc(var(--about-card-width) * .08)}.about-card-label h3{font-size:clamp(.82rem,calc(var(--about-card-width) * .068),1.18rem)}}@media(max-width:1100px)and (min-width:901px){.hero-section{grid-template-columns:minmax(320px,460px) minmax(260px,390px);column-gap:clamp(52px,6vw,68px)}.hero-heading-group p{font-size:clamp(2.25rem,3.35vw,3rem)}.hero-art{width:min(390px,100%)}}@media(max-width:1280px)and (min-width:641px){.decor-butterfly-about-gap{top:112px}.decor-butterfly-about-currently{top:560px}}@media(max-width:800px)and (min-width:641px){.contact-board{width:min(560px,calc(100vw - 48px))}.contact-board-content{width:80%;transform:translateY(10px)}.contact-form{width:min(430px,100%);gap:8px;font-size:clamp(.78rem,1.8vw,.95rem)}.contact-form label{grid-template-columns:clamp(72px,15vw,92px) minmax(0,1fr);gap:6px}.contact-name-field{padding-top:clamp(22px,5vw,34px)}.contact-form input,.contact-form textarea{width:90%;padding:4px 7px}.contact-form textarea{min-height:clamp(104px,20vw,140px)}.contact-form button{min-width:clamp(94px,18vw,118px);min-height:clamp(30px,5vw,36px);margin-top:clamp(14px,3vw,20px);font-size:clamp(.78rem,1.7vw,.95rem)}}@media(max-width:1400px)and (min-width:961px){.hero-section{max-width:1060px;grid-template-columns:minmax(300px,460px) minmax(280px,430px);column-gap:clamp(36px,5vw,64px);padding-inline:40px}.hero-art{width:min(430px,100%);justify-self:center}.hero-heading-group h1,.hero-heading-group p{font-size:clamp(2.55rem,3.8vw,3.35rem)}.hero-copy,.hero-intro{max-width:460px}}@media(max-height:850px)and (min-width:961px){.hero-section{max-width:980px;grid-template-columns:minmax(300px,430px) minmax(260px,360px);column-gap:clamp(28px,4vw,48px);min-height:620px;padding:132px 36px 48px}.hero-art{width:min(360px,100%)}.hero-copy{max-width:430px}.hero-heading-group h1,.hero-heading-group p{font-size:clamp(2.25rem,3.6vw,3rem)}.hero-intro{max-width:430px;font-size:1rem}}@media(min-width:900px){.typewriter-line{min-height:1.05em;white-space:nowrap}}@media(max-width:900px){.butterfly-friend{top:760px;left:clamp(18px,4vw,36px)}}@media(max-width:640px){body{min-width:0}.decor-butterfly{--butterfly-front-sheet-width: 80px;--butterfly-side-sheet-width: 160px;width:40px;height:30px}.decor-butterfly span{background-size:80px 30px}.decor-butterfly.is-following span{background-size:160px 30px}.decor-butterfly-hero-ne{top:76px;right:10%;left:auto}.decor-butterfly-projects-east{top:132px;right:14px}.decor-butterfly-experience-nw{top:58px;left:14px}.decor-butterfly-about-gap{top:38px;left:18px}.decor-butterfly-about-currently{top:326px;right:14px}.decor-butterfly-contact-west{top:172px;left:14px}.decor-butterfly-footer-house{top:-24%;right:18%}.butterfly-friend{--butterfly-front-sheet-width: 80px;--butterfly-side-sheet-width: 160px;top:710px;left:18px;width:40px;height:30px}.butterfly-friend span{background-size:80px 30px}.butterfly-friend.is-following span{background-size:160px 30px}.site-header{min-height:59px;padding-top:0}.portfolio-nav{width:min(268px,calc(100% - 52px));height:59px;aspect-ratio:auto}.nav-links-desktop{display:none}.nav-mobile-row{position:absolute;left:16%;top:39%;display:flex;align-items:center;justify-content:space-between;width:65.75%;height:27px;color:var(--main-yellow);text-shadow:1px 1px 1px #000}.nav-title{max-width:132px;overflow:hidden;font-size:.95rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.menu-toggle{display:grid;width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;place-items:center}.menu-toggle img{width:20px;height:20px;image-rendering:pixelated}.lantern-toggle{right:48px;width:18px;height:28px}.menu-backdrop{position:fixed;inset:0;z-index:-1;border:0;background:var(--page-dim);pointer-events:auto}.site-header.is-open .menu-backdrop{display:block}.mobile-menu{position:fixed;top:58px;right:0;width:min(316px,calc(100vw - 14px));height:min(560px,calc(100vh - 72px));padding:0;border:0;background:transparent;box-shadow:none;color:var(--main-yellow);pointer-events:auto}.site-header.is-open .mobile-menu{display:block;animation:sidebar-slide-in .18s ease-out}.sidebar-board{position:absolute;top:0;right:0;bottom:0;z-index:-1;width:min(264px,calc(100vw - 42px));height:100%;object-fit:fill;image-rendering:pixelated;pointer-events:none}.mobile-menu a{position:absolute;left:min(216px,calc(100vw - 108px));width:104px;height:48px;overflow:hidden;color:var(--main-yellow);font-size:1rem;line-height:48px;text-shadow:1px 1px 1px #000;white-space:nowrap;transition:color .16s ease}.mobile-menu a:nth-of-type(1){top:108px}.mobile-menu a:nth-of-type(2){top:196px}.mobile-menu a:nth-of-type(3){top:284px}.mobile-menu a:nth-of-type(4){top:372px}.mobile-menu a:nth-of-type(5){top:452px}@media(max-height:620px){.mobile-menu{transform:scale(.86);transform-origin:top right}}.site-main{margin-top:0}.hero-section{grid-template-columns:1fr;align-items:center;gap:clamp(36px,10vw,48px);min-height:650px;padding:68px clamp(24px,8vw,54px) 48px;text-align:center}.hero-copy{width:min(340px,100%);align-items:center;gap:20px;text-align:center;order:2}.hero-heading-group h1,.hero-heading-group p{font-size:2rem}.typewriter-line{white-space:nowrap}.hero-intro{max-width:294px;font-size:.75rem;line-height:1.2;text-align:center}.hero-actions{justify-content:center;gap:18px;min-height:48px}.resume-link{width:93px;height:24px;font-size:.75rem}.social-link{width:24px;height:24px}.social-github img{width:22px;height:22px}.social-linkedin img{width:23px;height:22px}.social-email img{width:20px;height:16px}.hero-art{width:291px;order:1}.projects-section{gap:64px;--project-card-width: 190px;padding:48px 24px 72px;scroll-margin-top:72px}.experience-section{gap:48px;padding:48px 24px 72px;scroll-margin-top:72px}.experience-carousel-shell{width:294px}.experience-list{position:relative;display:block;width:294px;min-height:219px}.experience-card{position:absolute;top:0;left:50%;display:none;width:190px;height:219px;padding:38px 24px;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px) scale(.96);transition:opacity .22s ease,transform .22s ease}.experience-card.is-active{display:grid;opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0) scale(1)}.experience-card.is-active.is-entering-forward{animation:about-enter-forward .26s ease-out}.experience-card.is-active.is-entering-backward{animation:about-enter-backward .26s ease-out}.experience-content{gap:9px}.experience-heading h3{font-size:1.125rem}.experience-heading p{font-size:.75rem}.experience-heading span{font-size:.625rem}.experience-points{gap:4px;font-size:.5rem}.experience-tags{gap:6px}.experience-tags li{min-width:42px;min-height:9px;padding:2px 5px;font-size:.34rem}.experience-carousel-controls{position:absolute;top:97px;left:50%;display:flex;justify-content:space-between;width:294px;transform:translate(-50%);pointer-events:none}.experience-dots{display:flex}.about-section{gap:40px;--about-body-font-size: .875rem;--about-body-line-height: 1.16;padding:48px 24px 72px;scroll-margin-top:72px}.about-intro{width:min(294px,100%);gap:16px}.about-carousel-shell{--about-mobile-card-height: 0px;--about-mobile-paper-height: auto;width:min(326px,calc(100vw - 28px))}.about-card-list{position:relative;width:100%;height:var(--about-mobile-card-height);min-height:var(--about-mobile-card-height)}.about-card-measurements{position:absolute;top:0;left:-10000px;z-index:-1;display:block;width:min(326px,calc(100vw - 28px));height:auto;overflow:hidden;visibility:hidden;pointer-events:none}.about-card{position:absolute;top:0;left:50%;display:none;width:min(190px,64vw);gap:35px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%) translateY(8px) scale(.96);transition:opacity .22s ease,transform .22s ease}.about-card.is-active{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0) scale(1)}.about-card-measurements .about-card{position:static;display:flex;width:min(190px,64vw);margin-inline:auto;opacity:1;visibility:hidden;pointer-events:none;transform:none;transition:none}.about-card-measurements .about-card+.about-card{margin-top:24px}.about-card.is-active.is-entering-forward{animation:about-enter-forward .26s ease-out}.about-card.is-active.is-entering-backward{animation:about-enter-backward .26s ease-out}.about-card-label{width:116px;height:38px}.about-card-label h3{padding-top:1px;font-size:.95rem}.about-card-paper{width:100%;height:var(--about-mobile-paper-height);min-height:0;flex:0 0 auto;padding:24px 18px;font-size:1rem}.about-card-paper p,.about-card-paper li{font-size:var(--about-body-font-size);line-height:var(--about-body-line-height)}.about-card-paper ul{gap:7px}.about-carousel-controls{position:absolute;top:calc(73px + (var(--about-mobile-card-height) - 73px) / 2);left:50%;display:flex;justify-content:space-between;width:100%;transform:translate(-50%);pointer-events:none}.about-dots{display:flex}.contact-section{min-height:724px;gap:40px;padding:48px 0 72px;scroll-margin-top:72px}.contact-board{width:min(378px,82vw);margin-inline:auto}.contact-board-content{width:72%;margin-top:-9%;transform:translateY(5px)}.contact-form{width:100%;gap:clamp(2px,1vw,4px);font-size:clamp(.34rem,calc(.12rem + .95vw),.56rem)}.contact-form label{grid-template-columns:24% minmax(0,1fr);gap:clamp(3px,1.2vw,4px)}.contact-form span{padding-top:clamp(2px,.9vw,4px)}.contact-name-field{padding-top:clamp(8px,4vw,24px)}.contact-form input,.contact-form textarea{width:100%;padding:clamp(1px,.55vw,3px) clamp(3px,1vw,5px);border-width:1px;line-height:.95}.contact-form textarea{min-height:clamp(42px,17vw,106px)}.contact-form button{min-width:clamp(38px,16vw,78px);min-height:clamp(16px,5vw,24px);margin-top:clamp(6px,2vw,12px);padding:clamp(2px,.7vw,3px) clamp(5px,1.6vw,12px);font-size:inherit}.contact-form-status{position:relative;top:0;z-index:1;margin-top:clamp(3px,1vw,6px);font-size:.625rem}@media(min-width:300px){.contact-board{width:min(340px,82vw)}.contact-board-content{width:80%;transform:translateY(4px)}.contact-form{font-size:clamp(.42rem,calc(.18rem + .78vw),.5rem)}.contact-form label{grid-template-columns:20% minmax(0,1fr)}.contact-name-field{padding-top:clamp(12px,3.8vw,18px)}.contact-form textarea{min-height:clamp(54px,15vw,90px)}.contact-form button{position:relative;top:clamp(10px,3vw,16px);min-width:clamp(48px,13vw,68px);min-height:clamp(18px,4.4vw,22px);margin-top:clamp(8px,2vw,12px)}.contact-form-status{top:clamp(10px,3vw,16px)}}@media(min-width:350px)and (max-width:419px){.contact-form textarea{min-height:clamp(72px,19vw,86px)}}@media(min-width:420px){.contact-form{gap:4px;font-size:.5rem}.contact-form label{gap:4px}.contact-form span{padding-top:4px}.contact-name-field{padding-top:18px}.contact-form input,.contact-form textarea{padding:3px 5px}.contact-form textarea{min-height:90px}.contact-form button{top:16px;min-width:68px;min-height:22px;margin-top:12px;padding:3px 12px}.contact-form-status{top:16px}}.site-footer{margin-top:-88px}.site-footer p{top:85%;font-size:.75rem}.footer-sprite{height:calc(100vw * 134 / 242);aspect-ratio:242 / 134;background-image:url(/assets/footerMobile-Sheet.png)}.footer-well-button{top:22%;left:18%;width:22%;height:42%}.projects-carousel-shell{gap:8px}.section-sign{width:251px;height:75px;padding-top:30px}.section-sign h2{font-size:1.25rem}.projects-grid{position:relative;display:block;width:274px;height:max(120px,var(--projects-carousel-height, 0px));min-height:120px}.project-card{position:absolute;top:0;left:50%;display:none;width:190px;gap:10px;opacity:0;pointer-events:none;transform:translate(-50%) scale(.62)}.project-card.is-active{display:flex;z-index:2;opacity:1;pointer-events:auto;transform:translate(-50%) scale(1)}.project-card.is-prev,.project-card.is-next{z-index:1;display:flex;opacity:.38}.project-card.is-prev{transform:translate(-118%) scale(.56)}.project-card.is-next{transform:translate(18%) scale(.56)}.project-island{width:190px;height:110px}.project-island-content{padding-top:12px}.project-island h3{font-size:1rem}.project-tags{display:none}.project-note{width:166px;min-height:83px;padding:12px}.project-note:before{background-image:url(/assets/aboutMe_backgroundHorizontal.png)}.project-note p{font-size:.75rem}.project-note-with-actions{width:166px;gap:5px}.project-actions{display:flex;gap:8px}.project-island-actions{margin-top:30px}.project-actions a,.project-actions button,.project-actions-pair a,.project-actions-pair button{width:72px;min-height:18px;padding:2px 6px;font-size:.5rem}.project-modal{box-sizing:border-box;align-items:center;align-items:safe center;justify-items:center;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:12px 16px}.project-modal-panel{width:min(380px,calc(100vw - 32px));max-width:100%;height:auto;min-height:0;max-height:none;align-content:start;gap:12px;overflow-x:hidden;overflow-x:clip;overflow-y:visible;border-width:18px;border-image-width:18px;padding:32px 14px 28px}.project-modal-close{top:5px;right:5px;z-index:3;width:24px;height:24px}.project-modal-project-arrow{width:34px;height:41px}.project-modal-project-prev{left:6px}.project-modal-project-next{right:6px}.project-modal-image{width:min(320px,100%)}.project-modal-image-arrow{width:24px;height:29px;background:transparent}.project-modal-image-prev{left:8px}.project-modal-image-next{right:8px}.project-modal-image-dots{gap:6px;margin:24px 0 2px}.project-modal-image-dots button{width:8px;height:8px;border-width:1px}.project-modal h2{width:min(248px,72vw);min-height:38px;margin-top:-4px;padding:7px 26px 6px 16px;font-size:1.65rem}.project-modal-subtitle{max-width:260px;font-size:1rem}.project-modal-facts{--fact-gutter: 6px;--fact-padding-y: 5px;width:min(286px,100%);min-height:112px;padding:var(--fact-padding-y) 7px}.project-modal-fact{gap:5px;padding-left:clamp(28px,8vw,34px);padding-top:2px}.project-modal-fact:nth-child(-n+2){padding-top:0}.project-modal-fact:nth-child(n+3){padding-top:2px}.project-modal-fact:nth-child(1),.project-modal-fact:nth-child(3){padding-left:clamp(24px,7vw,30px)}.project-modal-facts dt{font-size:.54rem}.project-modal-fact-tags{gap:2px}.project-modal-fact-tags li{min-width:0;min-height:12px;padding:2px 4px 1px;font-size:clamp(.36rem,1.55vw,.43rem)}.project-modal-fact--dense{gap:2px}.project-modal-fact--dense .project-modal-fact-tags{gap:1px 2px}.project-modal-fact--dense .project-modal-fact-tags li{min-height:9px;padding:1px 3px 0;font-size:clamp(.28rem,1.22vw,.34rem)}.project-modal-body{width:min(300px,100%);max-width:100%;max-height:240px;padding:0 6px}.project-modal-body p{font-size:1rem}.project-modal-actions{gap:18px}.project-modal-actions a,.project-modal-actions button{width:118px;min-width:0;min-height:32px;padding:5px 10px;font-size:.82rem}.project-modal-tags{gap:8px;margin-bottom:2px}.project-modal-tags li{flex:0 0 auto;width:auto;min-width:62px;max-width:92px;height:18px;min-height:0;padding:3px 8px;font-size:.58rem;line-height:1}.projects-carousel-controls{position:absolute;top:58px;left:50%;display:flex;justify-content:space-between;width:250px;transform:translate(-50%);pointer-events:none}.project-dots{gap:8px;min-height:12px}.project-dot{width:8px;height:8px;border-width:1px}.carousel-arrow{width:22px;height:26px;padding:1px}.carousel-arrow img{width:20px;height:24px;image-rendering:pixelated}.carousel-arrow-next img{transform:scaleX(-1)}}@media(max-width:390px){.project-modal-fact-tags{gap:2px}.project-modal-fact-tags li{min-height:12px;padding:2px 4px;font-size:clamp(.36rem,1.6vw,.42rem)}.project-modal-fact--dense .project-modal-fact-tags li{min-height:9px;padding:1px 3px 0;font-size:clamp(.27rem,1.18vw,.32rem)}}@media(max-width:370px){.project-modal-facts{width:min(270px,100%)}.project-modal-fact{gap:4px;padding-left:25px}.project-modal-fact:nth-child(1),.project-modal-fact:nth-child(3){padding-left:22px}.project-modal-fact:nth-child(-n+2){padding-top:0}.project-modal-fact:nth-child(n+3){padding-top:3px}.project-modal-fact-tags li{min-height:11px;padding:2px 3px;font-size:clamp(.34rem,1.55vw,.38rem)}.project-modal-fact--dense .project-modal-fact-tags li{min-height:8px;padding:1px 2px 0;font-size:clamp(.25rem,1.14vw,.3rem)}.decor-butterfly-hero-ne{top:112px;right:8px}.decor-butterfly-projects-east,.decor-butterfly-about-currently{right:6px}.decor-butterfly-experience-nw,.decor-butterfly-about-gap,.decor-butterfly-contact-west{left:6px}.butterfly-friend{top:860px;left:12px}}@media(max-width:330px){.project-modal-facts{--fact-gutter: 5px;width:min(252px,100%);padding:7px}.project-modal-fact{gap:3px;padding-left:22px;padding-top:5px}.project-modal-fact:nth-child(1),.project-modal-fact:nth-child(3){padding-left:19px}.project-modal-fact:nth-child(-n+2){padding-top:0}.project-modal-fact:nth-child(n+3){padding-top:2px}.project-modal-facts dt{font-size:.46rem}.project-modal-fact-tags{gap:1px 2px}.project-modal-fact-tags li{min-height:10px;padding:1px 3px;font-size:.32rem}.project-modal-fact--dense .project-modal-fact-tags li{min-height:8px;padding:1px 2px 0;font-size:.25rem}}@media(max-width:280px){.project-modal-facts{--fact-gutter: 4px;width:min(224px,100%);padding:6px}.project-modal-fact{gap:2px;padding-left:18px;padding-top:4px}.project-modal-fact:nth-child(1),.project-modal-fact:nth-child(3){padding-left:16px}.project-modal-fact:nth-child(-n+2){padding-top:0}.project-modal-fact:nth-child(n+3){padding-top:1px}.project-modal-facts dt{font-size:.4rem}.project-modal-fact-tags{gap:1px}.project-modal-fact-tags li{min-height:8px;padding:1px 2px;font-size:.26rem}.project-modal-fact--dense .project-modal-fact-tags li{min-height:7px;padding:1px;font-size:.22rem}}@media(hover:none),(pointer:coarse){.butterfly-friend,.decor-butterfly{cursor:default;pointer-events:none}}@media(prefers-reduced-motion:reduce){body{animation:none}}@media(max-width:960px)and (min-width:641px){.decor-butterfly-hero-ne{top:228px;left:auto;right:18%}.decor-butterfly-projects-east,.decor-butterfly-about-currently{right:28px}.decor-butterfly-experience-nw,.decor-butterfly-about-gap,.decor-butterfly-contact-west{left:28px}.portfolio-nav{width:min(816px,calc(100% - 48px))}.nav-links{font-size:clamp(1.08rem,2.35vw,1.5rem)}.hero-section{grid-template-columns:1fr;align-items:center;gap:56px;min-height:820px;padding:132px 56px 72px}.hero-copy{width:min(460px,100%);align-items:center;text-align:center;order:2}.hero-heading-group h1,.hero-heading-group p{font-size:clamp(2.25rem,4vw,3rem)}.hero-intro{max-width:360px;font-size:1rem;text-align:center}.hero-actions{justify-content:center}.hero-art{width:380px;max-width:72vw;order:1}.projects-section{--project-card-width: clamp(300px, 42vw, 360px);overflow-x:clip;padding-inline:clamp(32px,7vw,56px)}.projects-carousel-shell,.projects-grid{max-width:760px;margin-inline:auto}.projects-carousel-controls{width:min(calc(var(--project-card-width) * 1.52),100%)}}@media(max-width:1400px)and (min-width:641px){.hero-section{grid-template-columns:minmax(0,1fr);max-width:min(760px,100%);justify-items:center;gap:clamp(36px,5vw,56px);min-height:auto;padding:clamp(120px,14vw,150px) clamp(24px,6vw,56px) 72px;text-align:center}.hero-copy{order:2;width:min(520px,100%);max-width:520px;align-items:center;text-align:center}.hero-art{order:1;width:min(460px,78vw);max-width:100%;justify-self:center}.hero-intro{max-width:460px;text-align:center}.hero-actions{justify-content:center}}@keyframes sidebar-slide-in{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes cursor-blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes island-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes hero-island-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes about-enter-forward{0%{opacity:0;transform:translate(-34%) translateY(8px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes about-enter-backward{0%{opacity:0;transform:translate(-66%) translateY(8px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes project-enter-forward{0%{opacity:.48;transform:translate(28%) scale(.68)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes project-enter-backward{0%{opacity:.48;transform:translate(-128%) scale(.68)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes sign-swing-click{0%{transform:rotate(0)}22%{transform:rotate(-5deg)}48%{transform:rotate(4deg)}72%{transform:rotate(-2deg)}to{transform:rotate(0)}}@keyframes board-seesaw-click{0%{transform:rotate(0)}20%{transform:rotate(-4deg)}42%{transform:rotate(4deg)}64%{transform:rotate(-2.5deg)}82%{transform:rotate(1.5deg)}to{transform:rotate(0)}}
