.portfolio-section[data-v-99ce12dd]{padding:2.25rem 0;border-bottom:1px solid rgba(15,23,42,.08)}.portfolio-section[data-v-99ce12dd]:last-child{border-bottom:none}.portfolio-section__inner[data-v-99ce12dd]{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:1080px;margin:0 auto;padding:0 1.5rem}@media(min-width:768px){.portfolio-section__inner[data-v-99ce12dd]{flex-direction:row;align-items:center;gap:2.75rem}.portfolio-section--reverse .portfolio-section__inner[data-v-99ce12dd]{flex-direction:row-reverse}}.portfolio-section__media[data-v-99ce12dd]{flex:0 0 auto}.portfolio-section__media img[data-v-99ce12dd]{display:block;width:min(280px,70vw);height:auto;filter:drop-shadow(0 16px 32px rgba(15,23,42,.12))}.portfolio-section__content[data-v-99ce12dd]{flex:1;text-align:left}.portfolio-section__title[data-v-99ce12dd]{font-family:Raleway,Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#0f766e;margin-bottom:.6rem}.portfolio-section__description[data-v-99ce12dd]{font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.55;color:#475569;margin-bottom:0;text-align:left}.portfolio-section__highlights[data-v-99ce12dd]{list-style:none;padding:0;margin:.75rem 0 0}.portfolio-section__highlights li[data-v-99ce12dd]{position:relative;padding-left:1.25rem;margin-bottom:.4rem;font-size:.92rem;line-height:1.5;color:#475569}.portfolio-section__highlights li[data-v-99ce12dd]:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#14b8a6}.portfolio-section__highlights li[data-v-99ce12dd]:last-child{margin-bottom:0}.portfolio-section__projects[data-v-99ce12dd]{list-style:none;padding:0;margin:.85rem 0 0}.portfolio-section__projects li[data-v-99ce12dd]{margin-bottom:.9rem}.portfolio-section__projects li[data-v-99ce12dd]:last-child{margin-bottom:0}.portfolio-section__projects a[data-v-99ce12dd]{font-family:Raleway,Helvetica,Arial,sans-serif;font-weight:700;color:#0f172a;text-decoration:none;border-bottom:2px solid #99f6e4;transition:color .2s ease,border-color .2s ease}.portfolio-section__projects a[data-v-99ce12dd]:hover{color:#0f766e;border-color:#0f766e}.portfolio-section__projects p[data-v-99ce12dd]{font-size:.9rem;color:#64748b;margin:.35rem 0 0;text-align:left}.page[data-v-58500e35]{min-height:100vh}.hero[data-v-58500e35]{z-index:100;text-align:center;padding:2.5rem 1.5rem 2rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid rgba(15,23,42,.06);transition:box-shadow .25s ease}.hero-slot[data-v-58500e35]{position:relative;overflow-anchor:none}.hero-slot__sentinel[data-v-58500e35]{position:absolute;bottom:0;left:0;width:100%;height:1px;pointer-events:none}.hero--condensed[data-v-58500e35]{position:fixed;top:0;left:0;right:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1.5rem;text-align:left;box-shadow:0 1px 12px #0f172a14}.hero--condensed .hero__location[data-v-58500e35],.hero--condensed .hero__tagline[data-v-58500e35]{display:none}.hero--condensed .hero__nav[data-v-58500e35]{order:2;display:flex;align-items:center;gap:.85rem;margin-left:auto;margin-right:.75rem;flex-shrink:1;min-width:0;overflow-x:auto;scrollbar-width:none}.hero--condensed .hero__nav[data-v-58500e35]::-webkit-scrollbar{display:none}.hero--condensed .hero__identity[data-v-58500e35]{order:1;display:flex;align-items:baseline;gap:.65rem;min-width:0;flex:1}.hero--condensed .hero__name[data-v-58500e35]{font-size:1.15rem;margin:0;flex-shrink:0}.hero--condensed .hero__role[data-v-58500e35]{margin:0;font-size:.8rem;font-weight:500;letter-spacing:.02em;text-transform:none;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero--condensed .hero__role[data-v-58500e35]:before{content:"·";margin-right:.65rem;color:#cbd5e1}.hero--condensed .hero__links[data-v-58500e35]{order:3;justify-content:flex-end;gap:.5rem;flex-shrink:0}.hero--condensed .hero__links a[data-v-58500e35]{width:36px;height:36px}.hero--condensed .hero__icon--github[data-v-58500e35]{height:18px}.hero--condensed .hero__icon--social[data-v-58500e35]{height:20px}.hero__name[data-v-58500e35]{font-family:Raleway,Helvetica,Arial,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:900;letter-spacing:-.02em;margin:0 0 .35rem;color:#0f172a}.hero__role[data-v-58500e35]{font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0f766e;margin:0 0 .5rem}.hero__nav[data-v-58500e35]{display:none}.hero__nav a[data-v-58500e35]{font-size:.8rem;font-weight:500;color:#64748b;text-decoration:none;white-space:nowrap;transition:color .2s ease}.hero__nav a[data-v-58500e35]:hover{color:#0f766e}.hero__tagline[data-v-58500e35]{font-size:.9rem;color:#64748b;margin:0 0 .25rem}.hero__location[data-v-58500e35]{font-size:.85rem;color:#94a3b8;margin:0 0 1.25rem}.hero__links[data-v-58500e35]{display:flex;justify-content:center;align-items:center;gap:1rem}.hero__links a[data-v-58500e35]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0f172a14;transition:transform .2s ease,box-shadow .2s ease}.hero__links a[data-v-58500e35]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0f172a1f}.hero__icon[data-v-58500e35]{display:block;width:auto}.hero__icon--github[data-v-58500e35]{height:22px}.hero__icon--social[data-v-58500e35]{height:25px}.sections[data-v-58500e35]{background:#fff;padding:1.25rem 0 2.5rem}.page-footer[data-v-58500e35]{padding:1.5rem;text-align:center;font-size:.85rem;color:#94a3b8;background:#f8fafc;border-top:1px solid rgba(15,23,42,.06)}.page-footer p[data-v-58500e35]{margin:0}.page-footer a[data-v-58500e35]{color:#0f766e;text-decoration:none}.page-footer a[data-v-58500e35]:hover{text-decoration:underline}.noscript{max-width:40rem;margin:2rem auto;padding:0 1.5rem;font-family:Montserrat,Helvetica,Arial,sans-serif;color:#0f172a}.noscript ul{padding-left:1.25rem}.noscript a{color:#0f766e}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4rem}body,html{height:100%;margin:0;background-color:#f8fafc}#app{font-family:Montserrat,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a}
