.portfolio-hero{isolation:isolate;background:var(--background);position:relative}.portfolio-hero-stage{width:min(100%,96rem);margin:0 auto;position:relative}.portfolio-hero-copy{z-index:2;pointer-events:none;min-width:0;padding:44px 24px 12px;position:relative}.portfolio-hero-location{color:var(--muted-foreground);letter-spacing:.02em;align-items:center;gap:10px;margin:0 0 28px;font-size:.8125rem;font-weight:500;display:flex}.portfolio-hero-title{color:var(--foreground);letter-spacing:-.04em;margin:0;font-size:clamp(2.75rem,8.5vw,5.25rem);font-weight:600;line-height:.98}.portfolio-hero-title-line{display:block}.portfolio-hero-title em,.portfolio-hero-title-ending{font-family:var(--font-serif);letter-spacing:-.04em;font-style:italic;font-weight:400}.portfolio-hero-links{align-items:center;gap:calc(var(--spacing) * 4);pointer-events:auto;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:32rem;margin-top:36px;display:grid}.portfolio-hero-socials{gap:calc(var(--spacing) * 2);pointer-events:auto;width:fit-content;margin-top:24px;display:flex}.portfolio-hero-links a:focus-visible,.portfolio-hero-socials a:focus-visible,.portfolio-hero-socials button:focus-visible,.hero-lanyard-hint:focus-visible,.portfolio-hero-scroll:focus-visible{outline:2px solid var(--ring);outline-offset:6px;border-radius:4px}.hero-lanyard{width:100%;min-width:0;position:relative}.hero-lanyard-scene{width:100%;height:clamp(400px,125vw,560px);position:relative}.hero-lanyard .lanyard{overflow:visible}.hero-lanyard-fallback{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.hero-lanyard-static-strap{background:var(--primary);flex-shrink:0;width:min(10.5%,72px);height:14.4%}.hero-lanyard-static-card{border-radius:var(--radius);width:min(72%,380px);height:auto;box-shadow:var(--shadow-xl)}.hero-lanyard-scene:has(.lanyard-canvas) .hero-lanyard-fallback{visibility:hidden}.hero-lanyard-hint{min-height:44px;color:var(--muted-foreground);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;font-size:.8125rem;font-weight:500;transition:color .16s;display:inline-flex;position:relative;left:50%;transform:translate(-50%)}.hero-lanyard-hint:hover{color:var(--foreground)}.hero-lanyard:not(:has(.lanyard-canvas)) .hero-lanyard-hint{visibility:hidden}.portfolio-hero-scroll{width:fit-content;color:var(--muted-foreground);letter-spacing:.025em;flex-direction:column;align-items:center;gap:8px;margin:0 auto;padding:16px 0 32px;font-size:.875rem;font-weight:500;display:none}@media (max-width:479px){.portfolio-hero-links{gap:calc(var(--spacing) * 3);grid-template-columns:minmax(0,1fr)}}@media (max-width:899px){.portfolio-hero-stage{flex-direction:column;display:flex}.portfolio-hero-copy{order:-1}}@media (min-width:900px){.portfolio-hero-scroll{display:flex}.hero-lanyard-scene{height:clamp(660px,100svh - 10rem,760px)}.portfolio-hero-copy{flex-direction:column;justify-content:center;width:44%;padding:0;display:flex;position:absolute;top:0;bottom:0;left:clamp(32px,5vw,80px)}.portfolio-hero-title{font-size:clamp(4rem,5.4vw,5.5rem)}.hero-lanyard-hint{left:73%}.hero-lanyard-fallback{width:min(40%,610px);left:73%;right:auto;transform:translate(-50%)}.hero-lanyard-static-card{width:min(64%,380px)}}
.word-rotate-module__5g4H0a__rotate{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;padding-block:.12em;display:grid;overflow:clip}.word-rotate-module__5g4H0a__word,.word-rotate-module__5g4H0a__measure{grid-area:1/1;min-width:0}.word-rotate-module__5g4H0a__measure{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}
.AnimatedList-module__re-uZq__layout{gap:2rem;min-width:0;display:grid}.AnimatedList-module__re-uZq__list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;gap:.5rem;padding:.25rem .25rem .75rem;display:flex;overflow-x:auto}.AnimatedList-module__re-uZq__tab{min-height:3.5rem;color:var(--muted-foreground);text-align:left;cursor:pointer;border-radius:.75rem;flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;font-size:.95rem;font-weight:500;transition:color .18s;display:flex;position:relative}.AnimatedList-module__re-uZq__tab:hover{color:var(--foreground)}.AnimatedList-module__re-uZq__tab[aria-selected=true]{color:var(--background)}.AnimatedList-module__re-uZq__selection{border-radius:inherit;background:var(--foreground);position:absolute;inset:0}.AnimatedList-module__re-uZq__label,.AnimatedList-module__re-uZq__arrow{z-index:1;position:relative}.AnimatedList-module__re-uZq__arrow{flex-shrink:0;display:none}.AnimatedList-module__re-uZq__panels{min-width:0}.AnimatedList-module__re-uZq__panel{min-height:22rem}.AnimatedList-module__re-uZq__panel[hidden]{display:none}.AnimatedList-module__re-uZq__panel:not([hidden]){animation:.26s cubic-bezier(.16,1,.3,1) both AnimatedList-module__re-uZq__reveal}.AnimatedList-module__re-uZq__tab:focus-visible,.AnimatedList-module__re-uZq__panel:focus-visible{outline:2px solid var(--ring);outline-offset:3px}@keyframes AnimatedList-module__re-uZq__reveal{0%{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.AnimatedList-module__re-uZq__layout{grid-template-columns:minmax(17rem,.8fr) minmax(0,1.5fr);gap:4rem}.AnimatedList-module__re-uZq__list{flex-direction:column;padding:0;overflow:visible}.AnimatedList-module__re-uZq__tab{min-height:4rem;padding:1rem 1.25rem;font-size:1rem}.AnimatedList-module__re-uZq__arrow{opacity:0;transition:opacity .18s;display:block}.AnimatedList-module__re-uZq__tab[aria-selected=true] .AnimatedList-module__re-uZq__arrow{opacity:1}.AnimatedList-module__re-uZq__panels{border-left:1px solid var(--border);padding-left:3rem}.AnimatedList-module__re-uZq__panel{min-height:23rem}}@media (prefers-reduced-motion:reduce){.AnimatedList-module__re-uZq__panel:not([hidden]){animation:none}.AnimatedList-module__re-uZq__tab,.AnimatedList-module__re-uZq__arrow{transition:none}}
.ProjectShowcase-module__ndqYIa__section{border-top:1px solid var(--border);color:var(--foreground);background:var(--background);padding:5rem 1rem 6rem;scroll-margin-top:5rem}.ProjectShowcase-module__ndqYIa__inner{max-width:80rem;margin:0 auto}.ProjectShowcase-module__ndqYIa__header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:3rem;display:flex}.ProjectShowcase-module__ndqYIa__header h2{letter-spacing:-.035em;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1}.ProjectShowcase-module__ndqYIa__header p{max-width:22rem;color:var(--muted-foreground);font-size:1rem;line-height:1.6}.ProjectShowcase-module__ndqYIa__project{border-top:1px solid var(--border)}.ProjectShowcase-module__ndqYIa__project:last-child{border-bottom:1px solid var(--border)}.ProjectShowcase-module__ndqYIa__trigger{text-align:left;cursor:pointer;grid-template-columns:1fr 10rem 2.5rem;align-items:center;gap:1.5rem;width:100%;min-height:6rem;padding:1.5rem 0;display:grid}.ProjectShowcase-module__ndqYIa__projectTitle{letter-spacing:-.025em;font-size:1.75rem;font-weight:500;line-height:1.2;transition:transform .18s}.ProjectShowcase-module__ndqYIa__category{color:var(--muted-foreground);font-size:.875rem;font-weight:400}.ProjectShowcase-module__ndqYIa__toggle{border:1px solid var(--border);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;transition:background .18s,color .18s;display:grid}.ProjectShowcase-module__ndqYIa__trigger:hover .ProjectShowcase-module__ndqYIa__toggle,.ProjectShowcase-module__ndqYIa__project[data-open=true] .ProjectShowcase-module__ndqYIa__toggle{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.ProjectShowcase-module__ndqYIa__trigger:hover .ProjectShowcase-module__ndqYIa__projectTitle{transform:translate(.25rem)}.ProjectShowcase-module__ndqYIa__trigger:focus-visible,.ProjectShowcase-module__ndqYIa__codeLink:focus-visible{outline:2px solid var(--ring);outline-offset:5px}.ProjectShowcase-module__ndqYIa__detail{overflow:hidden}.ProjectShowcase-module__ndqYIa__detailInner{grid-template-columns:.9fr 1.1fr;gap:3rem;padding:.25rem 0 2.5rem;display:grid}.ProjectShowcase-module__ndqYIa__description p{max-width:28rem;color:var(--muted-foreground);font-size:1.125rem;line-height:1.6}.ProjectShowcase-module__ndqYIa__tools{flex-wrap:wrap;gap:.5rem 1.25rem;margin:1.25rem 0 1.5rem;font-size:.8125rem;display:flex}.ProjectShowcase-module__ndqYIa__codeLink{min-height:2.75rem;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:5px;align-items:center;gap:.625rem;font-size:.875rem;font-weight:600;display:inline-flex}.ProjectShowcase-module__ndqYIa__codeLink:hover{text-decoration-color:currentColor}.ProjectShowcase-module__ndqYIa__diagram{background:var(--card);border:1px solid var(--border);border-radius:14px;justify-content:center;align-items:center;min-height:11rem;padding:2rem;display:flex}.ProjectShowcase-module__ndqYIa__diagramStep{align-items:center;min-width:0;display:flex}.ProjectShowcase-module__ndqYIa__node{overflow-wrap:anywhere;text-align:center;border:1px solid var(--border);background:var(--background);border-radius:8px;place-items:center;min-width:0;min-height:4rem;padding:.75rem;font-size:.8125rem;font-weight:500;line-height:1.4;display:grid}.ProjectShowcase-module__ndqYIa__connection{width:clamp(1.5rem,3vw,3rem);color:var(--muted-foreground);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (max-width:767px){.ProjectShowcase-module__ndqYIa__section{padding-block:4rem}.ProjectShowcase-module__ndqYIa__header{margin-bottom:2rem;display:block}.ProjectShowcase-module__ndqYIa__header p{margin-top:1rem}.ProjectShowcase-module__ndqYIa__trigger{grid-template-columns:1fr 2.5rem;gap:.5rem .75rem;min-height:6.25rem}.ProjectShowcase-module__ndqYIa__projectTitle{font-size:1.375rem}.ProjectShowcase-module__ndqYIa__category{grid-area:2/1;font-size:.75rem}.ProjectShowcase-module__ndqYIa__toggle{grid-area:1/2/3}.ProjectShowcase-module__ndqYIa__detailInner{grid-template-columns:1fr;gap:1.5rem;padding-bottom:2rem}.ProjectShowcase-module__ndqYIa__diagram{min-height:8rem;padding:1rem}.ProjectShowcase-module__ndqYIa__node{overflow-wrap:anywhere;min-width:0;padding:.75rem .5rem;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.ProjectShowcase-module__ndqYIa__trigger:hover .ProjectShowcase-module__ndqYIa__projectTitle{transform:none}.ProjectShowcase-module__ndqYIa__projectTitle,.ProjectShowcase-module__ndqYIa__toggle{transition:none}}
