.PageShell-module__wL6Qoa__shell{max-width:var(--container-max);padding:var(--page-py)var(--container-px);gap:var(--section-gap);flex-direction:column;margin:0 auto;display:flex}
.AuroraHeading-module__wcn46W__heading{font-family:var(--font-heading-family);cursor:default;-webkit-user-select:none;user-select:none;--mx:50%;--my:50%;--radius:110px;margin:0;font-weight:700;display:inline-block;position:relative}.AuroraHeading-module__wcn46W__size-large{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4rem)}.AuroraHeading-module__wcn46W__size-medium{letter-spacing:-.01em;font-size:clamp(2rem,4vw,3rem)}.AuroraHeading-module__wcn46W__size-small{letter-spacing:0;font-size:clamp(1.5rem,3vw,2rem)}.AuroraHeading-module__wcn46W__baseText{z-index:1;color:var(--color-fg);cursor:default;display:block;position:relative}.AuroraHeading-module__wcn46W__auraText{z-index:2;background-image:  radial-gradient(circle 60px at calc(var(--mx) - 25px)calc(var(--my) - 20px),#8a2be2e6,#8a2be266 40%,transparent 70%),radial-gradient(circle 70px at calc(var(--mx) + 30px)var(--my),#4361eed9,#4361ee59 45%,transparent 75%),radial-gradient(circle 65px at calc(var(--mx) - 15px)calc(var(--my) + 25px),#00b4b4cc,#00b4b44d 40%,transparent 70%);-webkit-text-fill-color:transparent;color:#0000;width:100%;height:100%;-webkit-mask-image:radial-gradient(circle var(--radius)at var(--mx)var(--my),black 0%,black 50%,transparent 100%);-webkit-mask-image:radial-gradient(circle var(--radius)at var(--mx)var(--my),black 0%,black 50%,transparent 100%);mask-image:radial-gradient(circle var(--radius)at var(--mx)var(--my),black 0%,black 50%,transparent 100%);opacity:0;pointer-events:none;-webkit-background-clip:text;background-clip:text;transition:opacity .4s ease-out;display:block;position:absolute;top:0;left:0}.AuroraHeading-module__wcn46W__hovered .AuroraHeading-module__wcn46W__auraText{opacity:1;animation:.5s ease-out AuroraHeading-module__wcn46W__splashIn}@keyframes AuroraHeading-module__wcn46W__splashIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.AuroraHeading-module__wcn46W__reducedMotion .AuroraHeading-module__wcn46W__auraText{transition:opacity .2s;animation:none}.AuroraHeading-module__wcn46W__reducedMotion.AuroraHeading-module__wcn46W__hovered .AuroraHeading-module__wcn46W__auraText{opacity:.6;animation:none}@media (max-width:768px){.AuroraHeading-module__wcn46W__heading{--radius:80px}.AuroraHeading-module__wcn46W__auraText{background-image:  radial-gradient(circle 40px at calc(var(--mx) - 15px)calc(var(--my) - 15px),#8a2be2e6,#8a2be266 40%,transparent 70%),radial-gradient(circle 45px at calc(var(--mx) + 15px)var(--my),#4361eed9,#4361ee59 45%,transparent 75%),radial-gradient(circle 40px at calc(var(--mx) - 10px)calc(var(--my) + 15px),#00b4b4cc,#00b4b44d 40%,transparent 70%)}.AuroraHeading-module__wcn46W__size-large{font-size:clamp(2rem,6vw,3rem)}.AuroraHeading-module__wcn46W__size-medium{font-size:clamp(1.5rem,5vw,2.5rem)}.AuroraHeading-module__wcn46W__size-small{font-size:clamp(1.25rem,4vw,1.75rem)}}@media (max-width:480px){.AuroraHeading-module__wcn46W__heading{--radius:40px}.AuroraHeading-module__wcn46W__auraText{background-image:radial-gradient(circle 25px at calc(var(--mx) - 10px)calc(var(--my) - 10px),#8a2be2e6,transparent 70%),radial-gradient(circle 30px at calc(var(--mx) + 10px)var(--my),#4361eed9,transparent 75%),radial-gradient(circle 25px at calc(var(--mx) - 5px)calc(var(--my) + 10px),#00b4b4cc,transparent 70%)}}@media (hover:none) and (pointer:coarse){.AuroraHeading-module__wcn46W__auraText{display:none}}
.AboutHero-module__Tv9Ana__hero{grid-template-columns:1fr;gap:3rem;display:grid}@media (min-width:768px){.AboutHero-module__Tv9Ana__hero{grid-template-columns:1.5fr 1fr;grid-template-areas:"text portrait";gap:4rem}.AboutHero-module__Tv9Ana__mobileTitleWrapper,.AboutHero-module__Tv9Ana__mobileSplitContent{display:contents}.AboutHero-module__Tv9Ana__textContent{flex-direction:column;grid-area:text;gap:2rem;display:flex}.AboutHero-module__Tv9Ana__title{grid-area:1/1;margin-bottom:0}.AboutHero-module__Tv9Ana__textContent{grid-area:2/1}.AboutHero-module__Tv9Ana__portrait{grid-area:1/2/span 2;align-items:flex-start}.AboutHero-module__Tv9Ana__portraitImage{width:100%;max-width:100%}}.AboutHero-module__Tv9Ana__content{display:none}.AboutHero-module__Tv9Ana__textContent{flex-direction:column;gap:2rem;display:flex}.AboutHero-module__Tv9Ana__title{color:#f5f5f7;margin:0;font-size:2.5rem;font-weight:700;line-height:1.2}.AboutHero-module__Tv9Ana__bio{color:#f5f5f7cc;margin:0;font-size:1.125rem;line-height:1.7}.AboutHero-module__Tv9Ana__focusAreas{flex-direction:column;gap:1rem;display:flex}.AboutHero-module__Tv9Ana__focusTitle{color:#f5f5f7;margin:0;font-size:1.25rem;font-weight:600}.AboutHero-module__Tv9Ana__focusList{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.AboutHero-module__Tv9Ana__focusItem{color:#f5f5f7b3;padding-left:1.5rem;font-size:1rem;line-height:1.5;position:relative}.AboutHero-module__Tv9Ana__focusItem:before{content:"→";color:#4361ee;font-weight:600;position:absolute;left:0}.AboutHero-module__Tv9Ana__portrait{justify-content:center;align-items:flex-start;display:flex}.AboutHero-module__Tv9Ana__portraitImage{object-fit:cover;border-radius:8px;width:100%;max-width:320px;height:auto}@media (max-width:767px){.AboutHero-module__Tv9Ana__hero{flex-direction:column;gap:1.5rem;display:flex}.AboutHero-module__Tv9Ana__title{margin:0;font-size:2rem}.AboutHero-module__Tv9Ana__mobileSplitContent{grid-template-columns:1fr .8fr;align-items:start;gap:1rem;display:grid}.AboutHero-module__Tv9Ana__textContent{display:contents}.AboutHero-module__Tv9Ana__bio{grid-area:1/1;font-size:.9rem;line-height:1.5}.AboutHero-module__Tv9Ana__portrait{grid-area:1/2}.AboutHero-module__Tv9Ana__focusAreas{grid-area:2/1/auto/span 2}.AboutHero-module__Tv9Ana__portraitImage{object-fit:cover;border-radius:8px;width:100%;max-width:100%;height:auto}.AboutHero-module__Tv9Ana__focusTitle{margin-top:1rem;font-size:1.5rem}.AboutHero-module__Tv9Ana__focusItem{font-size:.9rem}}
.TimelineItem-module__FcIYiG__item{border-bottom:1px solid #f5f5f71a;grid-template-columns:140px 1fr;gap:2rem;padding:1.5rem 0;display:grid}.TimelineItem-module__FcIYiG__item:first-child{padding-top:0}.TimelineItem-module__FcIYiG__item:last-child{border-bottom:none}.TimelineItem-module__FcIYiG__period{color:#4361ee;padding-top:.25rem;font-size:.875rem;font-weight:600}.TimelineItem-module__FcIYiG__content{flex-direction:column;gap:.5rem;display:flex}.TimelineItem-module__FcIYiG__title{color:#f5f5f7;margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.TimelineItem-module__FcIYiG__description{color:#f5f5f7b3;margin:0;font-size:1rem;line-height:1.6}@media (max-width:640px){.TimelineItem-module__FcIYiG__item{grid-template-columns:1fr;gap:.5rem}.TimelineItem-module__FcIYiG__period{padding-top:0}}
.TagChip-module__WEq_lG__tagChip{padding:var(--s1)var(--s2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--r-sm);color:var(--color-fg);transition:background var(--transition-base),border-color var(--transition-base);background:#4361ee1a;border:1px solid #fff3;display:inline-block}@media (max-width:768px){.TagChip-module__WEq_lG__tagChip{padding:.2rem .5rem;font-size:.7rem}}.TagChip-module__WEq_lG__tagChip:hover{background:#4361ee26;border-color:#ffffff4d}
.Timeline-module__R0-0Mq__timeline{flex-direction:column;display:flex}
.PageHeader-module__1_XGLW__eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin:0 0 var(--s2)0}.PageHeader-module__1_XGLW__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-fg);margin:0 0 var(--s3)0}.PageHeader-module__1_XGLW__lead{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--color-fg-muted);max-width:var(--measure);margin:0}@media (max-width:768px){.PageHeader-module__1_XGLW__title{font-size:var(--font-size-xl)}.PageHeader-module__1_XGLW__lead{font-size:var(--font-size-sm)}}
.Button-module__VMVMAW__button{padding:var(--s2)var(--s4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--r-md);cursor:pointer;transition:all var(--transition-base);text-align:center;border:none;text-decoration:none;display:inline-block}.Button-module__VMVMAW__button:disabled{opacity:.5;cursor:not-allowed}.Button-module__VMVMAW__primary{background:var(--color-accent);color:var(--color-fg)}.Button-module__VMVMAW__primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.Button-module__VMVMAW__secondary{color:var(--color-fg);border:1px solid var(--color-fg-subtle);background:0 0}.Button-module__VMVMAW__secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}
.SkillBadge-module__U5LPUW__badge{padding:var(--s2)0;justify-content:space-between;align-items:center;gap:var(--s2);cursor:default;width:100%;display:flex}.SkillBadge-module__U5LPUW__info{flex:1;min-width:0}.SkillBadge-module__U5LPUW__name{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;display:block}.SkillBadge-module__U5LPUW__level{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.SkillBadge-module__U5LPUW__dot{border:2px solid var(--color-card-border);width:12px;height:12px;transition:all var(--transition-base);background:0 0;border-radius:50%}@media (max-width:767px){.SkillBadge-module__U5LPUW__name{font-size:.85rem}.SkillBadge-module__U5LPUW__level{gap:4px}.SkillBadge-module__U5LPUW__dot{border-width:1px;width:8px;height:8px}}.SkillBadge-module__U5LPUW__dot.SkillBadge-module__U5LPUW__filled{background:var(--color-accent);border-color:var(--color-accent)}.SkillBadge-module__U5LPUW__badge:hover .SkillBadge-module__U5LPUW__dot:first-child{animation:.5s ease-out SkillBadge-module__U5LPUW__skill-pulse}.SkillBadge-module__U5LPUW__badge:hover .SkillBadge-module__U5LPUW__dot:nth-child(2){animation:.5s ease-out 50ms SkillBadge-module__U5LPUW__skill-pulse}.SkillBadge-module__U5LPUW__badge:hover .SkillBadge-module__U5LPUW__dot:nth-child(3){animation:.5s ease-out .1s SkillBadge-module__U5LPUW__skill-pulse}.SkillBadge-module__U5LPUW__badge:hover .SkillBadge-module__U5LPUW__dot:nth-child(4){animation:.5s ease-out .15s SkillBadge-module__U5LPUW__skill-pulse}.SkillBadge-module__U5LPUW__badge:hover .SkillBadge-module__U5LPUW__dot:nth-child(5){animation:.5s ease-out .2s SkillBadge-module__U5LPUW__skill-pulse}@keyframes SkillBadge-module__U5LPUW__skill-pulse{0%{box-shadow:0 0 0 0 var(--color-accent);transform:scale(1)}50%{transform:scale(1.25);box-shadow:0 0 8px 2px #4361ee4d}to{transform:scale(1);box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.SkillBadge-module__U5LPUW__badge:hover .SkillBadge-module__U5LPUW__dot{animation:none}.SkillBadge-module__U5LPUW__badge:hover .SkillBadge-module__U5LPUW__dot.SkillBadge-module__U5LPUW__filled{border-color:var(--color-accent-hover)}}
.ProjectMeta-module__mTTR3q__meta{background:var(--wb-card-bg);border:1px solid var(--wb-card-border);border-radius:var(--r-card);box-shadow:var(--wb-shadow-lg);flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1rem;display:flex}@media (min-width:1024px){.ProjectMeta-module__mTTR3q__meta{gap:var(--s4);padding:var(--s4);flex-direction:column;display:flex}}@media (min-width:768px) and (max-width:1023px){.ProjectMeta-module__mTTR3q__meta{padding:var(--s4);gap:var(--s4);grid-template-columns:repeat(4,1fr);display:grid}}.ProjectMeta-module__mTTR3q__section{flex-direction:column;gap:.25rem;display:flex}.ProjectMeta-module__mTTR3q__label{font-size:.7rem;font-weight:var(--font-weight-semibold);color:var(--wb-card-fg-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.ProjectMeta-module__mTTR3q__value{color:var(--wb-card-fg);margin:0;font-size:.85rem}.ProjectMeta-module__mTTR3q__tags{flex-wrap:wrap;gap:.25rem;display:flex}.ProjectMeta-module__mTTR3q__buttons{gap:var(--s2);flex-direction:column;display:flex}
.SkillGroup-module__-g01Yq__group{background:var(--wb-card-bg);border:2px solid var(--wb-card-border);border-radius:var(--r-card);padding:var(--s4);gap:var(--s2);box-shadow:var(--wb-shadow-lg);flex-direction:column;display:flex}.SkillGroup-module__-g01Yq__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--wb-card-fg);padding-bottom:var(--s2);border-bottom:2px solid var(--wb-card-border);margin:0}.SkillGroup-module__-g01Yq__skills{flex-direction:column;display:flex}@media (max-width:767px){.SkillGroup-module__-g01Yq__group{min-width:0;padding:.5rem}.SkillGroup-module__-g01Yq__title{margin-bottom:.25rem;padding-bottom:.25rem;font-size:.9rem}.SkillGroup-module__-g01Yq__skills>div{gap:.25rem;padding:.15rem 0}}
.ContactForm-module__UoqRnG__container{flex-direction:column;gap:2rem;display:flex}.ContactForm-module__UoqRnG__successBanner{color:#4361ee;background:#4361ee1a;border:1px solid #4361ee4d;border-radius:8px;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:1rem;font-weight:500;display:flex}.ContactForm-module__UoqRnG__successIcon{flex-shrink:0}.ContactForm-module__UoqRnG__errorBanner{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:1rem;font-weight:500;display:flex}.ContactForm-module__UoqRnG__form{flex-direction:column;gap:1.5rem;display:flex}
.ProjectDetail-module__82_4Ta__detail{flex-direction:column;gap:4rem;display:flex}.ProjectDetail-module__82_4Ta__intro{flex-direction:column;gap:1rem;display:flex}.ProjectDetail-module__82_4Ta__heroImage{border-radius:var(--r-card);border:1px solid var(--wb-card-border);width:100%;max-height:500px;margin-bottom:1.5rem;overflow:hidden}.ProjectDetail-module__82_4Ta__heroImageImg{object-fit:cover;object-position:center;width:100%;height:100%;max-height:500px;display:block}.ProjectDetail-module__82_4Ta__title{color:#f5f5f7;margin:0;font-size:2.5rem;font-weight:700;line-height:1.2}.ProjectDetail-module__82_4Ta__description{color:#f5f5f7b3;margin:0;font-size:1.25rem;line-height:1.6}.ProjectDetail-module__82_4Ta__context{color:#f5f5f799;margin:0;font-size:1rem;font-style:italic;line-height:1.7}.ProjectDetail-module__82_4Ta__section{flex-direction:column;gap:1.5rem;display:flex}.ProjectDetail-module__82_4Ta__metaSection{display:none}@media (max-width:1024px){.ProjectDetail-module__82_4Ta__metaSection{display:block}}@media (max-width:767px){.ProjectDetail-module__82_4Ta__detail{flex-direction:column;gap:2rem;display:flex}.ProjectDetail-module__82_4Ta__intro{flex-direction:column;display:flex}.ProjectDetail-module__82_4Ta__heroImage{order:-1;margin-bottom:1rem}.ProjectDetail-module__82_4Ta__mobileGrid{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}.ProjectDetail-module__82_4Ta__metaSection{font-size:.8rem}}.ProjectDetail-module__82_4Ta__sectionTitle{color:#f5f5f7;margin:0;font-size:1.75rem;font-weight:600;line-height:1.3}.ProjectDetail-module__82_4Ta__content{color:#f5f5f7cc;flex-direction:column;gap:1rem;font-size:1rem;line-height:1.6;display:flex}.ProjectDetail-module__82_4Ta__content p{margin:0}.ProjectDetail-module__82_4Ta__list{flex-direction:column;gap:.75rem;margin:0;padding-left:1.5rem;list-style:none;display:flex}.ProjectDetail-module__82_4Ta__list li{padding-left:1.5rem;position:relative}.ProjectDetail-module__82_4Ta__list li:before{content:"→";color:#4361ee;font-weight:600;position:absolute;left:0}.ProjectDetail-module__82_4Ta__processSteps{flex-direction:column;gap:2rem;display:flex}.ProjectDetail-module__82_4Ta__screens{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.ProjectDetail-module__82_4Ta__screens{grid-template-columns:repeat(2,1fr)}}.ProjectDetail-module__82_4Ta__navigation{border-top:1px solid #f5f5f71a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;display:flex}.ProjectDetail-module__82_4Ta__navLeft{display:flex}.ProjectDetail-module__82_4Ta__navRight{flex-wrap:wrap;gap:1rem;display:flex}@media (max-width:640px){.ProjectDetail-module__82_4Ta__title{font-size:2rem}.ProjectDetail-module__82_4Ta__description{font-size:1.125rem}.ProjectDetail-module__82_4Ta__sectionTitle{font-size:1.5rem}.ProjectDetail-module__82_4Ta__navigation{flex-direction:column;align-items:stretch}.ProjectDetail-module__82_4Ta__navLeft,.ProjectDetail-module__82_4Ta__navRight{justify-content:center;width:100%}}
.StatusBadge-module__iMKeza__badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--r-sm);color:var(--color-fg);transition:all var(--transition-base);background:0 0;border:1px solid #fff3;border-left-width:3px;padding:4px 10px;display:inline-block}.StatusBadge-module__iMKeza__badge.StatusBadge-module__iMKeza__in-progress{border-left-color:orange}.StatusBadge-module__iMKeza__badge.StatusBadge-module__iMKeza__finished{border-left-color:#4caf50}
.page-module__RrEN5q__section{gap:var(--s4);flex-direction:column;display:flex}.page-module__RrEN5q__sectionTitle{color:#f5f5f7;margin:0;font-size:1.5rem;font-weight:600;line-height:1.3}.page-module__RrEN5q__socialLinks{flex-direction:column;gap:1rem;display:flex}.page-module__RrEN5q__iconLinks{gap:var(--s3);flex-wrap:wrap;display:flex}.page-module__RrEN5q__iconLink{background:var(--wb-card-bg);border:2px solid var(--wb-card-border);border-radius:var(--r-md);width:56px;height:56px;color:var(--color-fg);transition:all var(--transition-base);box-shadow:var(--wb-shadow-lg);justify-content:center;align-items:center;text-decoration:none;display:flex}.page-module__RrEN5q__iconLink:hover{box-shadow:var(--wb-shadow-hover);border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.page-module__RrEN5q__iconLink svg{width:24px;height:24px}.page-module__RrEN5q__socialLink{padding:var(--s3)var(--s3);background:var(--wb-card-bg);border:2px solid var(--wb-card-border);border-radius:var(--r-card);transition:all var(--transition-base);box-shadow:var(--wb-shadow-lg);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.page-module__RrEN5q__socialLink:hover{box-shadow:var(--wb-shadow-hover);transform:translateY(-2px)}.page-module__RrEN5q__socialLinkType{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.page-module__RrEN5q__socialLinkLabel{font-size:var(--font-size-sm);color:var(--wb-card-fg-muted)}@media (max-width:640px){.page-module__RrEN5q__title{font-size:2rem}.page-module__RrEN5q__description{font-size:1rem}.page-module__RrEN5q__content{gap:3rem}}
.Languages-module__evMpmG__languages{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.Languages-module__evMpmG__language{transition:background var(--transition-base);background:#f5f5f70d;border:1px solid #f5f5f71a;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;font-size:1rem;display:flex}@media (max-width:480px){.Languages-module__evMpmG__languages{grid-template-columns:1fr 1fr;gap:.75rem}.Languages-module__evMpmG__language{padding:.75rem;font-size:.9rem}}.Languages-module__evMpmG__language:hover{background:#f5f5f714}.Languages-module__evMpmG__name{color:#f5f5f7;font-weight:600}.Languages-module__evMpmG__level{color:#f5f5f7b3;background:#4361ee33;border-radius:4px;padding:.25rem .75rem;font-size:.875rem}
.ProcessStep-module__BYg5fa__step{flex-direction:column;gap:.5rem;display:flex}.ProcessStep-module__BYg5fa__stepNumber{color:#4361ee;background:#4361ee1a;border:2px solid #4361ee;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:700;display:flex}.ProcessStep-module__BYg5fa__title{color:#f5f5f7;margin:0;font-size:1.125rem;font-weight:600}.ProcessStep-module__BYg5fa__description{color:#f5f5f7b3;margin:0;font-size:1rem;line-height:1.6}
.ProjectCard-module__5lejQq__cardLink{color:inherit;transition:opacity var(--transition-base);text-decoration:none;display:block}.ProjectCard-module__5lejQq__cardLink:focus{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--r-card)}.ProjectCard-module__5lejQq__cardLink:focus:not(:focus-visible){outline:none}.ProjectCard-module__5lejQq__card{background:var(--wb-card-bg);border:1px solid var(--wb-card-border);border-radius:var(--r-card);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);box-shadow:var(--wb-shadow-lg);flex-direction:column;height:100%;display:flex;overflow:hidden}.ProjectCard-module__5lejQq__cardLink:hover .ProjectCard-module__5lejQq__card{box-shadow:var(--wb-shadow-hover);border-color:#ffffff40;transform:translateY(-4px)}.ProjectCard-module__5lejQq__thumbnail{border-bottom:1px solid var(--wb-card-border);background:#ffffff08;justify-content:center;align-items:center;width:100%;height:200px;display:flex;position:relative;overflow:hidden}.ProjectCard-module__5lejQq__image{object-fit:cover;object-position:center;width:100%;height:100%}.ProjectCard-module__5lejQq__thumbnailPlaceholder{color:#ffffff26;font-size:3rem;font-weight:700}.ProjectCard-module__5lejQq__content{padding:var(--s3);gap:var(--s2);flex-direction:column;flex:1;display:flex}.ProjectCard-module__5lejQq__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--wb-card-fg);margin:0}@media (max-width:767px){.ProjectCard-module__5lejQq__title{font-size:1rem}.ProjectCard-module__5lejQq__content{gap:.5rem;padding:.75rem}.ProjectCard-module__5lejQq__thumbnail{height:120px}}.ProjectCard-module__5lejQq__description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--wb-card-fg-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.ProjectCard-module__5lejQq__meta{align-items:center;gap:var(--s2);font-size:var(--font-size-xs);color:var(--wb-card-fg-muted);flex-wrap:wrap;display:flex}.ProjectCard-module__5lejQq__year:after{content:"•";margin-left:var(--s2)}.ProjectCard-module__5lejQq__tags{gap:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.ProjectCard-module__5lejQq__moreTags{font-size:var(--font-size-xs);color:var(--wb-card-fg-muted);padding:.25rem .5rem}@media (max-width:767px){.ProjectCard-module__5lejQq__thumbnail{height:150px}.ProjectCard-module__5lejQq__thumbnailPlaceholder{font-size:2.5rem}.ProjectCard-module__5lejQq__content{padding:var(--s2);gap:var(--s1)}.ProjectCard-module__5lejQq__title{font-size:1rem}.ProjectCard-module__5lejQq__description{font-size:.875rem;line-height:1.4}.ProjectCard-module__5lejQq__meta{font-size:var(--font-size-xs);gap:var(--s1)}}
.SoftSkills-module__8I-2Nq__skills{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.SoftSkills-module__8I-2Nq__skill{transition:background var(--transition-base),border-color var(--transition-base);background:#f5f5f70d;border:1px solid #f5f5f71a;border-radius:8px;padding:1.5rem}.SoftSkills-module__8I-2Nq__name{color:#f5f5f7;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.SoftSkills-module__8I-2Nq__description{color:#f5f5f7b3;margin:0;font-size:.875rem;line-height:1.6}@media (max-width:480px){.SoftSkills-module__8I-2Nq__skills{grid-template-columns:1fr 1fr;gap:.75rem}.SoftSkills-module__8I-2Nq__skill{padding:1rem}.SoftSkills-module__8I-2Nq__name{margin:0 0 .25rem;font-size:1rem}.SoftSkills-module__8I-2Nq__description{font-size:.8rem}}
.ProjectGrid-module__nEBITW__grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem;display:grid}@media (min-width:768px){.ProjectGrid-module__nEBITW__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.ProjectGrid-module__nEBITW__grid{grid-template-columns:repeat(3,1fr);gap:2.5rem}}@media (max-width:767px){.ProjectGrid-module__nEBITW__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}.ProjectGrid-module__nEBITW__empty{text-align:center;color:#f5f5f780;padding:3rem;font-style:italic}
.ImageWithCaption-module__p4rMSq__figure{width:100%;margin:0}.ImageWithCaption-module__p4rMSq__image{border-radius:8px;width:100%;height:auto;margin-inline:auto;display:block}.ImageWithCaption-module__p4rMSq__imagePortrait{width:min(62%,520px)}.ImageWithCaption-module__p4rMSq__placeholder{aspect-ratio:16/9;background:#f5f5f70d;border:1px dashed #f5f5f733;border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex}.ImageWithCaption-module__p4rMSq__placeholderText{color:#f5f5f74d;font-size:.875rem;font-style:italic}.ImageWithCaption-module__p4rMSq__caption{color:#f5f5f799;margin-top:.5rem;font-size:.875rem;font-style:italic}
.not-found-module__sxuMuG__container{justify-content:center;align-items:center;min-height:50vh;display:flex;position:relative}.not-found-module__sxuMuG__background404{font-size:clamp(12rem,30vw,24rem);font-weight:var(--font-weight-bold);color:#ffffff08;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.not-found-module__sxuMuG__content{z-index:1;text-align:center;max-width:600px;position:relative}.not-found-module__sxuMuG__actions{gap:var(--s3);margin-top:var(--s6);justify-content:center;display:flex}@media (max-width:640px){.not-found-module__sxuMuG__actions{flex-direction:column;align-items:stretch}}
.page-module__E0kJGG__intro{max-width:700px;margin-bottom:2rem;font-size:1.25rem;line-height:1.7}.page-module__E0kJGG__ctas{flex-wrap:wrap;gap:1rem;display:flex}.page-module__E0kJGG__primaryButton{color:#fff;background:#4361ee;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;display:inline-block}.page-module__E0kJGG__primaryButton:hover{background:#3651de;transform:translateY(-2px)}.page-module__E0kJGG__secondaryButton{color:#4361ee;background:0 0;border:1px solid #4361ee;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;display:inline-block}.page-module__E0kJGG__secondaryButton:hover{background:#4361ee1a;transform:translateY(-2px)}.page-module__E0kJGG__featuredTitle{color:#f5f5f7;margin-bottom:2rem;font-size:2rem;font-weight:700}.page-module__E0kJGG__featuredGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:100%;display:grid}@media (max-width:700px){.page-module__E0kJGG__intro{font-size:1rem}.page-module__E0kJGG__ctas{gap:.5rem}.page-module__E0kJGG__primaryButton,.page-module__E0kJGG__secondaryButton{padding:.5rem 1rem;font-size:.9rem}.page-module__E0kJGG__featuredGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}
.page-module__bHnG5a__section{gap:var(--s4);flex-direction:column;display:flex}.page-module__bHnG5a__sectionTitle{color:#f5f5f7;margin:0;font-size:2rem;font-weight:600;line-height:1.2}.page-module__bHnG5a__legend{color:#f5f5f780;margin:0;font-size:.875rem;font-style:italic}.page-module__bHnG5a__skillsGrid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:768px){.page-module__bHnG5a__skillsGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.page-module__bHnG5a__section{gap:.5rem}.page-module__bHnG5a__skillsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.page-module__bHnG5a__page{gap:2rem}.page-module__bHnG5a__sectionTitle{margin-bottom:0;font-size:1.5rem}}
.FilterChips-module__rZpfDG__container{width:100%}.FilterChips-module__rZpfDG__chips{gap:var(--s2);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.FilterChips-module__rZpfDG__chip{padding:var(--s2)var(--s4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-fg-muted);border:1px solid var(--color-fg-subtle);cursor:pointer;transition:all var(--transition-base);background:0 0;border-radius:24px}@media (max-width:768px){.FilterChips-module__rZpfDG__chip{border-radius:20px;padding:.4rem .8rem;font-size:.85rem}}.FilterChips-module__rZpfDG__chip:hover{border-color:var(--color-accent-glow);color:var(--color-fg)}.FilterChips-module__rZpfDG__chipActive{background:var(--color-accent);color:var(--color-fg);border-color:var(--color-accent)}.FilterChips-module__rZpfDG__chipActive:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.ProjectDetailPageClient-module__7TamSq__container{grid-template-columns:1fr 300px;gap:3rem;padding:2rem 0;display:grid}.ProjectDetailPageClient-module__7TamSq__main{grid-column:1}.ProjectDetailPageClient-module__7TamSq__aside{grid-column:2;align-self:start;position:sticky;top:100px}@media (max-width:1024px){.ProjectDetailPageClient-module__7TamSq__container{grid-template-columns:1fr;gap:2rem}.ProjectDetailPageClient-module__7TamSq__main{grid-column:1}.ProjectDetailPageClient-module__7TamSq__aside{display:none}}@media (max-width:767px){.ProjectDetailPageClient-module__7TamSq__container{grid-template-columns:1fr;gap:1.5rem;padding:1rem 0}}
