*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--cream:#fff;--cream-dark:#edeef6;--ink:#201e50;--ink-soft:#525b76;--ink-muted:#869d96;--terracotta:#525b76;--terracotta-light:#a2c3a4;--terracotta-pale:#c4f1be;--sage:#a2c3a4;--sage-light:#c4f1be;--mint:#c4f1be;--border:#525b7626;--on-dark:#c4f1be;--on-dark-muted:#c4f1be73;--on-dark-divider:#c4f1be1a;--shadow:#201e5014;--font-serif:"Lora",Georgia,serif;--font-sans:"DM Sans",system-ui,sans-serif}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--cream);color:#201e50;color:var(--ink);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#edeef6;background:var(--cream-dark)}::-webkit-scrollbar-thumb{background:#a2c3a4;background:var(--sage);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#525b76;background:var(--ink-soft)}.App{display:flex;flex-direction:column;min-height:100vh}.site-footer{align-items:center;background:var(--ink);border-top:1px solid var(--on-dark-divider);display:flex;justify-content:space-between;margin-top:auto;padding:1.75rem 3rem}.footer-name{color:var(--on-dark-muted);font-family:var(--font-serif);font-size:.9rem}.footer-copy{color:#c4f1be4d;font-size:.78rem}@media (max-width:768px){.site-footer{flex-direction:column;gap:.4rem;padding:1.5rem;text-align:center}}.landing-container{display:flex;flex-direction:column}.hero-section{grid-gap:4rem;align-items:center;background:var(--cream);display:grid;gap:4rem;grid-template-columns:1.1fr .9fr;min-height:calc(100vh - 70px);overflow:hidden;padding:5rem 3rem 4rem;position:relative}.hero-section:before{content:"";height:480px;opacity:.65;pointer-events:none;position:absolute;right:-4%;top:-8%;width:480px}.hero-text{position:relative;z-index:1}.hero-eyebrow{align-items:center;animation:fadeUp .7s ease .1s forwards;color:var(--terracotta);display:inline-flex;font-size:.78rem;font-weight:500;gap:.6rem;letter-spacing:.1em;margin-bottom:1.4rem;opacity:0;text-transform:uppercase}.hero-eyebrow:before{background:var(--terracotta);content:"";display:block;height:1.5px;width:24px}.hero-headline{animation:fadeUp .7s ease .22s forwards;color:var(--ink);font-family:var(--font-serif);font-size:clamp(2.6rem,4.5vw,4rem);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin-bottom:.75rem;opacity:0}.hero-headline em{color:var(--terracotta);font-style:italic}.hero-title-sub{animation:fadeUp .7s ease .34s forwards;color:var(--ink-muted);font-size:1.1rem;font-weight:400;letter-spacing:.01em;margin-bottom:1.2rem;opacity:0}.hero-description{animation:fadeUp .7s ease .46s forwards;color:var(--ink-soft);font-size:1rem;font-weight:300;line-height:1.8;margin-bottom:2.2rem;max-width:440px;opacity:0}.hero-actions{align-items:center;animation:fadeUp .7s ease .58s forwards;display:flex;flex-wrap:wrap;gap:1.5rem;opacity:0}.btn-primary{background:var(--ink);border-radius:2px;color:var(--cream);display:inline-block;font-family:var(--font-sans);font-size:.88rem;font-weight:500;letter-spacing:.02em;padding:.85rem 2rem;text-decoration:none;transition:background .25s,transform .15s}.btn-primary:hover{background:var(--terracotta);transform:translateY(-2px)}.btn-ghost{border-bottom:1px solid var(--border);color:var(--ink-soft);font-size:.9rem;font-weight:400;padding-bottom:2px;text-decoration:none;transition:color .2s,border-color .2s}.btn-ghost:hover{border-color:var(--terracotta);color:var(--terracotta)}.hero-visual{animation:fadeIn .9s ease .5s forwards;display:flex;justify-content:center;opacity:0;position:relative}.hero-image-frame{aspect-ratio:1;background:var(--cream-dark);border:1.5px solid var(--border);border-radius:4px;border-radius:50%;max-width:340px;overflow:hidden;position:relative;width:100%}.hero-image-frame img{border-radius:50%}.hero-image-frame:after{background:linear-gradient(135deg,#0000 60%,#201e5012);content:"";inset:0;pointer-events:none;position:absolute}.hero-photo{display:block;height:100%;object-fit:cover;width:100%}.floating-chip{align-items:center;background:var(--cream);border:1px solid var(--border);border-radius:100px;box-shadow:0 4px 18px var(--shadow);color:var(--ink-soft);display:flex;font-size:.78rem;font-weight:500;gap:.5rem;padding:.42rem 1rem;position:absolute;white-space:nowrap}.chip-dot{animation:chipPulse 2s ease infinite;background:var(--terracotta);border-radius:50%;height:6px;width:6px}.chip-1{animation:float1 4s ease infinite;bottom:-1rem;left:-1.2rem}.chip-2{animation:float2 5s ease infinite;right:-.8rem;top:-.8rem}.chip-3{animation:float1 6s ease infinite;bottom:3.5rem;right:-1.8rem}.marquee-wrap{background:var(--terracotta);overflow:hidden;padding:.85rem 0;white-space:nowrap}.marquee-inner{animation:marquee 24s linear infinite;display:inline-flex}.marquee-item{align-items:center;color:var(--cream);display:inline-flex;font-size:.76rem;font-weight:500;gap:1.8rem;letter-spacing:.12em;padding:0 2.5rem;text-transform:uppercase}.stats-strip{background:var(--ink);display:flex}.stat-item{border-right:1px solid var(--on-dark-divider);flex:1 1;opacity:0;padding:2rem 2.5rem;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.stat-item:last-child{border-right:none}.stat-item.visible{opacity:1;transform:translateY(0)}.stat-num{color:var(--cream);font-family:var(--font-serif);font-size:2.2rem;font-weight:600;line-height:1;margin-bottom:.4rem}.stat-num span{color:var(--terracotta-light)}.stat-label{color:var(--on-dark-muted);font-size:.75rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.blog-section,.showcase-section{background:var(--cream);padding:5rem 3rem}.blog-section{background:var(--cream-dark)}.showcase-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:2.5rem}.section-eyebrow{align-items:center;color:var(--terracotta);display:flex;font-size:.74rem;font-weight:500;gap:.5rem;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.section-eyebrow:before{background:var(--terracotta);content:"";display:block;height:1.5px;width:18px}.section-title-landing{color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}.view-more-link{border-bottom:1px solid var(--border);color:var(--ink-muted);font-size:.82rem;font-weight:500;letter-spacing:.04em;margin-bottom:.25rem;padding-bottom:2px;text-decoration:none;transition:color .2s,border-color .2s;white-space:nowrap}.view-more-link:hover{border-color:var(--terracotta);color:var(--terracotta)}.featured-project-card{background:var(--cream);border:1.5px solid var(--border);border-radius:4px;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;transition:border-color .25s}.featured-project-card:hover{border-color:#c4603a59}.landing-project-card{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease,border-color .25s}.landing-project-card.visible{opacity:1;transform:translateY(0)}.project-video-wrapper{background:var(--ink);height:0;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.project-video-wrapper iframe{height:100%;left:0;position:absolute;top:0;width:100%}.featured-project-info{border-left:1.5px solid var(--border);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2.5rem}.featured-project-name{color:var(--ink);font-family:var(--font-serif);font-size:1.5rem;font-weight:600;line-height:1.2}.featured-project-desc{color:var(--ink-soft);font-size:.9rem;line-height:1.75}.featured-tech-list{display:flex;flex-wrap:wrap;gap:.4rem}.tech-pill{background:var(--cream-dark);border:1px solid var(--border);color:var(--ink-muted);font-size:.72rem;padding:.25rem .7rem}.featured-project-link,.tech-pill{font-weight:500;letter-spacing:.04em}.featured-project-link{align-items:center;color:var(--terracotta);display:inline-flex;font-size:.82rem;gap:.3rem;margin-top:.25rem;text-decoration:none;text-transform:uppercase;transition:gap .2s}.featured-project-link:hover{gap:.6rem}.blog-posts-list{gap:0}.blog-post-card,.blog-posts-list{display:flex;flex-direction:column}.blog-post-card{border-bottom:1px solid var(--border);gap:.6rem;opacity:0;padding:1.75rem 0;text-decoration:none;transform:translateY(16px);transition:padding-left .2s;transition:opacity .5s ease,transform .5s ease,padding-left .2s}.blog-post-card:first-child{border-top:1px solid var(--border)}.blog-post-card.visible{opacity:1;transform:translateY(0)}.blog-post-card:hover{padding-left:.75rem}.blog-date{color:var(--terracotta);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.blog-title{color:var(--ink);font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.45}.read-more{color:var(--ink-muted);font-size:.8rem;font-weight:500;letter-spacing:.03em}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float1{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes float2{0%,to{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-10px) rotate(-1deg)}}@keyframes chipPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (max-width:968px){.hero-section{gap:3rem;grid-template-columns:1fr;min-height:auto;padding:4rem 2rem 3rem}.hero-section:before{display:none}.hero-description{max-width:100%}.featured-project-card{grid-template-columns:1fr}.featured-project-info{border-left:none;border-top:1.5px solid var(--border)}.chip-2,.chip-3{display:none}}@media (max-width:768px){.stats-strip{flex-direction:column}.stat-item{border-bottom:1px solid #f5f0e814;border-right:none;padding:1.5rem 2rem}.stat-item:last-child{border-bottom:none}.blog-section,.showcase-section{padding:4rem 1.5rem}.showcase-header{align-items:flex-start;flex-direction:column;gap:.75rem}}@media (max-width:576px){.hero-section{padding:3rem 1.5rem 2.5rem}.hero-actions{align-items:flex-start;flex-direction:column}.btn-primary{text-align:center;width:100%}.hero-visual{display:none}.hero-image-frame{max-width:240px}.view-projects{display:none}}.about-container{background:var(--cream);color:var(--ink);min-height:calc(100vh - 70px)}.about-content{margin:0 auto;max-width:1100px;padding:5rem 3rem 6rem}.about-hero-grid{grid-gap:3.5rem;align-items:center;display:grid;gap:3.5rem;grid-template-columns:1.5fr 1fr;margin-bottom:5rem}.page-title{margin-bottom:1.25rem}.about-image-container{display:flex;justify-content:center}.about-image{aspect-ratio:4/5;border:1.5px solid var(--border);border-radius:4px;display:block;max-width:280px;object-fit:cover;width:100%}.section-divider{border-bottom:1px solid var(--border);margin-bottom:2.5rem;padding-bottom:1rem}.section-eyebrow-small{color:var(--terracotta);font-size:.72rem;font-weight:500;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.section-title{color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;letter-spacing:-.02em;line-height:1.2}.experience-section{margin-bottom:5rem}.timeline{display:flex;flex-direction:column;gap:2.75rem}.timeline-item{border-bottom:1px solid var(--border);padding-bottom:2.75rem}.timeline-item:last-child{border-bottom:none;padding-bottom:0}.timeline-content{background:#0000}.timeline-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.4rem}.timeline-header h3{color:var(--ink);font-family:var(--font-serif);font-size:1.25rem;font-weight:600}.period{color:var(--terracotta);font-size:.78rem;font-weight:500;letter-spacing:.05em;white-space:nowrap}.location{color:var(--ink-muted);font-size:.82rem;margin-bottom:.5rem}.role{font-weight:500;margin-bottom:.75rem}.role,.timeline-content p{color:var(--ink-soft);font-size:.9rem}.timeline-content p{line-height:1.75}.experience-bullets{display:flex;flex-direction:column;gap:.6rem;list-style:none;margin:0;padding:0}.experience-bullets li{color:var(--ink-soft);font-size:.9rem;line-height:1.7;padding-left:1.1rem;position:relative}.experience-bullets li:before{color:var(--terracotta-light);content:"—";font-size:.85rem;left:0;position:absolute}.skills-section{margin-bottom:5rem}.skills-grid{grid-gap:0;background:var(--cream);border:1.5px solid var(--border);display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.skill-category{background:var(--cream);padding:2rem;transition:background .2s}.skill-category:hover{background:#eaebf4}.skill-category h3{border-bottom:1px solid var(--border);color:var(--ink);font-family:var(--font-serif);font-size:1.05rem;font-weight:600;margin-bottom:1.1rem;padding-bottom:.75rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.45rem}.skill-tag{background:#0000;border:1px solid var(--border);border-radius:2px;color:var(--ink-soft);cursor:default;font-size:.78rem;font-weight:400;padding:.32rem .8rem;transition:background .18s,color .18s,border-color .18s}.skill-tag:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}.education-section{margin-bottom:5rem}.education-grid{grid-gap:1.5px;background:var(--border);border:1.5px solid var(--border);display:grid;gap:1.5px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.education-card{background:var(--cream);padding:2rem;transition:background .2s}.education-card:hover{background:#eaebf4}.education-card h3{color:var(--ink);font-family:var(--font-serif);font-size:1.1rem;font-weight:600;line-height:1.35;margin-bottom:.5rem}.institution{color:var(--ink-soft);font-size:.88rem;margin-bottom:.4rem}.year{color:var(--terracotta);font-size:.78rem;font-weight:500;letter-spacing:.05em}.certifications-section{margin-bottom:2rem}.cert-list{grid-gap:1px;background:var(--border);border:1.5px solid var(--border);display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.cert-item{background:var(--cream);padding:1.25rem 1.75rem;transition:background .2s}.cert-item:hover{background:#eaebf4}.cert-item span{color:var(--ink-soft);font-size:.9rem}@media (max-width:968px){.about-hero-grid{gap:2.5rem;grid-template-columns:1fr}.about-image-container{order:-1}.about-image{aspect-ratio:1;max-width:220px}}@media (max-width:768px){.about-content{padding:3rem 1.5rem 4rem}.timeline-header{flex-direction:column;gap:.25rem}.skills-grid{grid-template-columns:1fr}}.projects-container{background:var(--cream-dark);color:var(--ink);min-height:calc(100vh - 70px)}.projects-content{margin:0 auto;max-width:1100px;padding:5rem 3rem 6rem}.projects-hero{margin-bottom:3.5rem}.page-eyebrow{align-items:center;color:var(--terracotta);display:flex;font-size:.75rem;font-weight:500;gap:.6rem;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.page-eyebrow:before{background:var(--terracotta);content:"";display:block;height:1.5px;width:20px}.page-title{color:var(--ink);font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin-bottom:1.1rem}.page-title em{color:var(--terracotta);font-style:italic}.intro-text{color:var(--ink-soft);font-size:1rem;font-weight:300;line-height:1.8;max-width:660px}.category-tabs{border-bottom:1.5px solid var(--border);display:flex;gap:0;margin-bottom:2rem}.category-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--ink-muted);cursor:pointer;font-family:var(--font-sans);font-size:.82rem;font-weight:500;letter-spacing:.06em;margin-bottom:-1.5px;padding:.7rem 1.6rem;text-transform:uppercase;transition:color .2s,border-color .2s}.category-tab.active,.category-tab:hover{border-bottom-color:var(--terracotta);color:var(--terracotta)}.filter-section{background:var(--cream);border:1.5px solid var(--border);border-radius:2px;margin-bottom:2.5rem;padding:1.5rem 1.75rem}.filter-title{color:var(--ink-muted);font-size:.72rem;font-weight:500;letter-spacing:.1em;margin-bottom:.9rem;text-transform:uppercase}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background:#0000;border:1px solid var(--border);border-radius:2px;color:var(--ink-soft);cursor:pointer;font-family:var(--font-sans);font-size:.78rem;font-weight:400;padding:.32rem .85rem;transition:background .18s,color .18s,border-color .18s}.filter-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}.filter-btn.active{background:var(--terracotta);border-color:var(--terracotta);color:var(--cream)}.projects-grid{grid-gap:2.5px;background:var(--cream);border:1.5px solid var(--border);display:grid;gap:2.5px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-card{background:var(--cream);display:flex;flex-direction:column;margin:5px;overflow:hidden;transition:background .2s}.project-card:hover{background:#eaebf4}.project-image-container{background:var(--cream-dark);height:220px;overflow:hidden;position:relative;width:100%}.project-image{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.project-card:hover .project-image{transform:scale(1.04)}.project-overlay{align-items:center;background:#201e50e0;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.project-link{background:var(--terracotta);border-radius:2px;color:var(--cream);font-size:.8rem;font-weight:500;letter-spacing:.04em;padding:.65rem 1.4rem;text-decoration:none;text-transform:uppercase;transition:background .2s,transform .15s}.project-link:hover{background:var(--ink);transform:translateY(-1px)}.project-info{border-top:1.5px solid var(--border);display:flex;flex:1 1;flex-direction:column;gap:.75rem;padding:1.75rem}.project-title{color:var(--ink);font-family:var(--font-serif);font-size:1.25rem;font-weight:600;line-height:1.25}.project-description{color:var(--ink-soft);flex:1 1;font-size:.88rem;line-height:1.7}.tech-stack{display:flex;flex-wrap:wrap;gap:0;margin-top:auto;row-gap:.2rem}.tech-tag{color:var(--ink-muted);font-size:.75rem;font-weight:400;letter-spacing:.02em;transition:color .18s}.tech-tag:not(:last-child):after{color:var(--ink-muted);content:" ·";margin-right:.3rem;opacity:.4}.tech-tag:hover{color:var(--terracotta)}.no-projects{background:var(--cream);border:1.5px solid var(--border);border-radius:2px;padding:5rem 2rem;text-align:center}.no-projects p{color:var(--ink-soft);font-family:var(--font-serif);font-size:1.1rem;font-style:italic;margin-bottom:1.5rem}@media (max-width:768px){.projects-content{padding:3rem 1.5rem 4rem}.projects-grid{grid-template-columns:1fr}.category-tabs{gap:0;overflow-x:auto}.filter-buttons{gap:.4rem}}@media (max-width:576px){.project-links{align-items:center;flex-direction:column;width:75%}.project-link{text-align:center;width:100%}.projects-grid{background:var(--border);padding:0}}.contact-container{background:var(--ink);color:var(--on-dark);min-height:calc(100vh - 70px)}.contact-content{margin:0 auto;max-width:1100px;padding:5rem 3rem 6rem}.contact-container .contact-eyebrow{align-items:center;color:#ffffff80;display:flex;font-size:.75rem;font-weight:500;gap:.6rem;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.contact-container .contact-eyebrow:before{background:#fffc;content:"";display:block;height:1.5px;width:20px}.contact-container .contact-heading{color:#fff;font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin-bottom:1.1rem}.contact-container .contact-heading em{color:#ffffffa6;font-style:italic}.contact-container .contact-intro{color:#fffc;font-size:1rem;font-weight:300;line-height:1.8;margin-bottom:3.5rem;max-width:520px}.contact-grid-simple{grid-gap:1.5px;background:var(--on-dark-divider);border:1.5px solid var(--on-dark-divider);display:grid;gap:1.5px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.contact-card-simple{background:#c4f1be0a;border-left:2px solid #0000;padding:2.25rem;transition:background .2s,border-left-color .2s}.contact-card-simple:hover{background:#c4f1be14;border-left-color:var(--sage)}.contact-card-simple h3{color:#ffffff59;font-size:.72rem;font-weight:500;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.contact-link{border-bottom:1px solid #fff3;color:#fff;display:inline-block;font-family:var(--font-serif);font-size:1.05rem;font-weight:400;max-width:100%;overflow-wrap:break-word;padding-bottom:2px;text-decoration:none;transition:color .2s,border-color .2s;word-break:break-all}.contact-link:hover{border-color:#ffffff80;color:#ffffffb3}@media (max-width:768px){.contact-content{padding:3rem 1.5rem 4rem}.contact-grid-simple{grid-template-columns:1fr}}@media (max-width:576px){.contact-card-simple{padding:1.5rem}}.navbar{align-items:center;background:#0000;border-bottom:1px solid #0000;display:flex;justify-content:space-between;padding:1.4rem 3rem;position:-webkit-sticky;position:sticky;top:0;transition:background .4s ease,padding .3s ease,border-color .4s ease;width:100%;z-index:100}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom-color:var(--border);padding:1rem 3rem}.navbar-container{align-items:center;display:flex;justify-content:space-between;width:100%}.logo{text-decoration:none;z-index:1001}.logo-text{color:var(--ink);font-family:var(--font-serif);font-size:1.2rem;font-weight:600;letter-spacing:-.01em;transition:color .2s}.logo-text span,.logo:hover .logo-text{color:var(--terracotta)}.logo:hover .logo-text span{color:var(--ink)}.nav-menu{align-items:center;display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.nav-item,.nav-link{position:relative}.nav-link{color:var(--ink-soft);font-size:.82rem;font-weight:400;letter-spacing:.07em;padding:.3rem 0;text-decoration:none;text-transform:uppercase;transition:color .2s}.nav-link:after{background:var(--terracotta);bottom:-2px;content:"";height:1.5px;left:0;position:absolute;transition:width .25s ease;width:0}.nav-link:hover{color:var(--terracotta)}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-link.active{color:var(--terracotta)}.resume-link{background:var(--ink)!important;border-radius:2px;color:var(--cream)!important;font-size:.78rem!important;font-weight:500!important;letter-spacing:.06em;padding:.55rem 1.4rem!important;text-transform:uppercase;transition:background .25s,transform .15s!important}.resume-link:after{display:none!important}.resume-link:hover{background:var(--terracotta)!important;color:var(--cream)!important;transform:translateY(-1px)}.navbar.on-dark,.navbar.on-dark.scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--ink);border-bottom-color:#ffffff14}.navbar.on-dark .logo-text{color:#fff}.navbar.on-dark .logo-text span{color:#ffffff80}.navbar.on-dark .logo:hover .logo-text{color:#ffffffb3}.navbar.on-dark .logo:hover .logo-text span{color:#fff}.navbar.on-dark .nav-link{color:#ffffff80}.navbar.on-dark .nav-link.active,.navbar.on-dark .nav-link:hover{color:#fff}.navbar.on-dark .nav-link:after{background:#fff9}.navbar.on-dark .resume-link{background:#ffffff1f!important;border:1px solid #fff3;color:#fff!important}.navbar.on-dark .resume-link:hover{background:#ffffff38!important;color:#fff!important}.hamburger{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:0;z-index:1001}.hamburger span{background:var(--ink);border-radius:2px;height:2px;transition:all .3s ease;width:26px}.hamburger.active span:first-child{transform:rotate(45deg) translate(7px,7px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media (max-width:768px){.navbar.on-dark .hamburger span{background:#fff}.navbar.on-dark .nav-menu{background:var(--ink);border-left-color:#ffffff1a;box-shadow:-8px 0 32px #0006}.navbar.on-dark .nav-item{border-bottom-color:#ffffff12}.navbar,.navbar.scrolled{padding:1.1rem 1.5rem}.hamburger{display:flex}.nav-menu{align-items:flex-start;background:var(--cream);border-left:1px solid var(--border);box-shadow:-8px 0 32px #1a161214;flex-direction:column;gap:0;height:100vh;max-width:300px;padding:5rem 2rem 2rem;position:fixed;right:-100%;top:0;transition:right .35s ease;width:72%}.nav-menu.active{right:0}.nav-item{border-bottom:1px solid var(--border);width:100%}.nav-link{display:block;font-size:.88rem;padding:1rem 0}.resume-link{display:inline-block;margin-top:1.5rem!important}}@media (max-width:480px){.logo-text{font-size:1.05rem}}
/*# sourceMappingURL=main.67530aa1.css.map*/