.home-page{background-color:#fff;flex-direction:column;align-items:stretch;width:100%;display:flex;overflow-x:clip}.hero-section{isolation:isolate;--marquee-size:clamp(72px, 13.333vw, 192px);--marquee-bottom:clamp(32px, 8.8vh, 90px);background:#18181b;height:100svh;min-height:560px;position:relative;overflow:hidden}.hero-video{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.name-marquee{left:0;right:0;bottom:var(--marquee-bottom);mix-blend-mode:difference;pointer-events:none;position:absolute;overflow:hidden}.name-marquee-text{width:max-content;font-family:var(--font-sans);font-variation-settings:"opsz" 72;font-size:var(--marquee-size);letter-spacing:-.021em;color:var(--color-white);white-space:nowrap;font-weight:300;line-height:1.2;animation:40s linear infinite name-scroll;display:flex}@keyframes name-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.name-marquee-text{animation:none;transform:translate(-.13em)}}.job-title{left:0;right:0;bottom:calc(var(--marquee-bottom) + var(--marquee-size) * 1.15);font-family:var(--font-mono);letter-spacing:-1px;text-transform:uppercase;color:var(--color-white);text-align:center;white-space:nowrap;font-size:clamp(16px,1.667vw,30px);font-weight:225;position:absolute}.intro-section{padding:clamp(80px, 11.111vw, 160px) var(--gutter);background-color:var(--color-gray);flex-direction:column;align-items:center;gap:clamp(56px,6.944vw,100px);display:flex;overflow:hidden}.intro-block{width:100%;max-width:var(--content-width);justify-content:space-between;align-items:center;gap:32px;padding:0 clamp(0px,4.444vw,64px);display:flex}.about-text{font-family:var(--font-sans);letter-spacing:-.055em;color:#18181b;text-wrap:pretty;flex:0 665px;font-size:clamp(24px,2.5vw,36px);font-weight:250}.about-text-name{font-weight:300}.about-text-highlight{text-decoration:underline}.profile-button{aspect-ratio:1;isolation:isolate;width:clamp(120px,13.889vw,200px);transform:translate(var(--tx,0px), var(--ty,0px));transition:scale .5s var(--ease-bounce);background-color:#00f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;scale:1}.profile-button:hover,.profile-button:focus-visible{scale:1.06}.profile-button:before{content:"";border-radius:inherit;background:radial-gradient(circle at var(--x,50%) var(--y,50%), #ffffff2e, #fff0 70%);opacity:0;z-index:-1;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.profile-button:hover:before,.profile-button:focus-visible:before{opacity:1}.profile-button:focus-visible{outline-offset:6px;outline:2px solid #00f}.profile-button-label{font-family:var(--font-sans);letter-spacing:-1px;color:#fff;text-align:center;white-space:nowrap;transform:translate(calc(var(--tx,0px) * .25), calc(var(--ty,0px) * .25));flex-shrink:0;font-size:clamp(18px,1.667vw,24px);font-weight:500;line-height:1.05}.profile-button-arrow{vertical-align:bottom;max-width:0;font-family:var(--font-arrow);letter-spacing:0;opacity:0;transition:max-width .45s var(--ease-out), margin-left .45s var(--ease-out), opacity .3s ease, transform .45s var(--ease-out);margin-left:0;font-weight:500;display:inline-block;overflow:hidden;transform:translate(-.3em,.3em)}.profile-button:hover .profile-button-arrow,.profile-button:focus-visible .profile-button-arrow{opacity:1;max-width:1em;margin-left:.2em;transform:none}.profile-button-label{transition:scale .45s var(--ease-bounce);scale:1}.profile-button:hover .profile-button-label,.profile-button:focus-visible .profile-button-label{scale:1.08}@media (prefers-reduced-motion:reduce){.profile-button,.profile-button-label,.profile-button-arrow{transition:none}}.recent-work{width:100%;max-width:var(--content-width);scroll-margin-top:calc(var(--header-height) + 24px);flex-direction:column;align-items:flex-start;gap:32px;display:flex}.recent-work-label{font-family:var(--font-mono);letter-spacing:-1px;text-transform:uppercase;color:#00f;text-align:right;align-self:stretch;font-size:clamp(16px,1.667vw,24px);font-weight:300}.project-carousel{--card-width:300px;height:var(--carousel-height,640px);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;isolation:isolate;outline:none;align-self:stretch;position:relative}.project-carousel.is-dragging{cursor:grabbing}.project-carousel:focus-visible{outline-offset:8px;border-radius:24px;outline:2px solid #00f}.project-ring{position:absolute;inset:0}.carousel-info{left:50%;top:var(--info-y,50%);text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:12px;width:max-content;max-width:100%;display:flex;position:absolute;translate:-50% -50%}.carousel-info-kicker{font-family:var(--font-mono);letter-spacing:-.04em;text-transform:uppercase;color:#00f;flex-direction:column;align-items:center;font-size:clamp(13px,1.111vw,16px);font-weight:300;line-height:1.5;display:flex}.carousel-info .carousel-info-title-wrap{font-size:clamp(44px,6.111vw,88px)}.carousel-info .carousel-info-title{font-family:var(--font-sans);letter-spacing:-.035em;padding-right:0;font-weight:700;line-height:.95}.carousel-hint{font-family:var(--font-mono);letter-spacing:-.04em;text-transform:uppercase;color:#52525c;margin-top:8px;font-size:12px;font-weight:300}.carousel-hint-touch{display:none}@media (hover:none),(pointer:coarse){.carousel-hint-mouse{display:none}.carousel-hint-touch{display:inline}}.project-card{left:50%;top:var(--ring-y,50%);isolation:isolate;width:var(--card-width);aspect-ratio:4/3;margin:calc(var(--card-width) * -.375) 0 0 calc(var(--card-width) * -.5);padding:calc(var(--card-width) * .07);border-radius:calc(var(--card-width) * .075);outline-offset:-1px;opacity:0;transition:translate .5s var(--ease-out), box-shadow .5s var(--ease-out), outline-color .4s ease;-webkit-user-drag:none;background-color:#fff;outline:1px solid #18181b14;flex-direction:column;justify-content:space-between;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 24px -8px #00000014}.project-card.is-active{outline-offset:-2px;outline:2px solid #00f}.project-card.has-image{background-color:#18181b}.project-picture{z-index:-1;pointer-events:none;position:absolute;inset:0}.project-image{object-fit:cover;filter:blur(1.5px);width:100%;height:100%;transition:scale .6s var(--ease-out);display:block;scale:1.08}.project-title-wrap{max-width:100%;font-size:calc(var(--card-width) * .12);position:relative}.project-title{max-width:100%;font-family:var(--font-mono);letter-spacing:-.083em;text-transform:uppercase;color:#18181b;white-space:nowrap;text-overflow:ellipsis;padding-right:.1em;font-size:1em;font-weight:300;line-height:1;overflow:hidden}.project-category{font-family:var(--font-sans);letter-spacing:-1px;color:#18181b;font-size:16px;font-weight:300}.project-card .project-card-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.status-badge[hidden]{display:none}.status-badge{background-blend-mode:lighter;width:2.07em;height:.82em;animation:wip-sweep 4.5s var(--ease-out) infinite;background-color:#00f;background-image:linear-gradient(110deg,#00006900 37%,#6e6eff 50%,#00006900 63%);background-repeat:no-repeat;background-size:300% 100%;border-radius:.26em;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-7.14deg);box-shadow:0 .05em .16em #18181b47}@keyframes wip-sweep{0%{background-position:100% 0}55%,to{background-position:0 0}}.status-badge-label{font-family:var(--font-sans);letter-spacing:-.047em;color:#fff;white-space:nowrap;font-size:.885em;font-weight:700;line-height:1}@media (hover:hover){.project-card:hover{translate:0 -4px;box-shadow:0 18px 40px -12px #18181b2e}.project-card:hover .project-image{scale:1.12}}a.project-card:focus-visible{outline-offset:4px;outline:2px solid #00f;translate:0 -4px}@media (prefers-reduced-motion:reduce){.project-card,.project-image{transition:none}.status-badge{animation:none}}@media (width<=768px){.intro-block{flex-direction:column;align-items:flex-start}.about-text{flex-basis:auto}.profile-button{align-self:flex-end}}@media (width<=560px){.recent-work-label{text-align:left}}
