@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Spectral:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--light-bg-background:#fff;--light-bg-surface:#f7f6f2;--light-bg-elevated:#fff;--light-text-primary:#1e1d1a;--light-text-secondary:#706c66;--light-text-tertiary:#9c9890;--light-border:#e8e6e2;--light-border-subtle:#f0efec;--dark-bg-background:#1a1a1a;--dark-bg-surface:#242322;--dark-bg-elevated:#2e2d2b;--dark-text-primary:#eeedeb;--dark-text-secondary:#8a8680;--dark-text-tertiary:#6b6762;--dark-border:#363533;--dark-border-subtle:#2c2b29;--brand-gold:#c89b3c;--brand-gold-hover:#b88a2e;--brand-gold-light:#e8d5a0;--brand-slate:#5b7b9a;--brand-slate-hover:#4a6a89;--brand-slate-light:#a0b8cc;--brand-success:#7a9a7a;--brand-success-hover:#6a8a6a;--brand-error:#b05e5e;--brand-error-hover:#9e4e4e;--color-bg-primary:var(--light-bg-background);--color-bg-surface:var(--light-bg-surface);--color-bg-elevated:var(--light-bg-elevated);--color-bg-card:var(--light-bg-surface);--color-text-primary:var(--light-text-primary);--color-text-secondary:var(--light-text-secondary);--color-text-tertiary:var(--light-text-tertiary);--color-text-inverse:#fff;--color-border-primary:var(--light-border);--color-border-subtle:var(--light-border-subtle);--color-accent-primary:var(--brand-gold);--color-accent-primary-hover:var(--brand-gold-hover);--color-accent-primary-light:var(--brand-gold-light);--color-accent-secondary:var(--brand-slate);--color-accent-secondary-hover:var(--brand-slate-hover);--color-accent-secondary-light:var(--brand-slate-light);--color-accent-success:var(--brand-success);--color-accent-error:var(--brand-error);--color-accent-error-hover:var(--brand-error-hover)}[data-theme=dark]{--color-bg-primary:var(--dark-bg-background);--color-bg-surface:var(--dark-bg-surface);--color-bg-elevated:var(--dark-bg-elevated);--color-bg-card:var(--dark-bg-surface);--color-text-primary:var(--dark-text-primary);--color-text-secondary:var(--dark-text-secondary);--color-text-tertiary:var(--dark-text-tertiary);--color-text-inverse:#1a1a1a;--color-border-primary:var(--dark-border);--color-border-subtle:var(--dark-border-subtle);--color-accent-primary:#d4a94e;--color-accent-primary-hover:#e0b860;--color-accent-primary-light:#a8873a;--color-accent-secondary:#7a9aba;--color-accent-secondary-hover:#8baaca;--color-accent-secondary-light:#5b7b9a;--color-accent-success:#7a9a7a;--color-accent-error:#b05e5e;--color-accent-error-hover:#c06e6e}:root{--font-display:"Spectral", Georgia, "Times New Roman", serif;--font-heading:"Spectral", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", monospace;--font-code:"JetBrains Mono", "Fira Code", "SF Mono", monospace;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--space-5xl:80px;--space-6xl:96px;--section-padding-y:var(--space-5xl);--section-padding-x:var(--space-xl);--section-gap:var(--space-3xl);--subsection-gap:var(--space-xl);--button-primary-bg:var(--color-accent-primary);--button-primary-text:#fff;--button-primary-hover:var(--color-accent-primary-hover);--button-secondary-bg:transparent;--button-secondary-text:var(--color-text-primary);--button-secondary-border:var(--color-border-primary);--button-secondary-hover:var(--color-bg-surface);--button-success-bg:var(--color-accent-success);--button-success-hover:var(--brand-success-hover);--card-bg:var(--color-bg-card);--card-border:var(--color-border-primary);--card-shadow:0 1px 2px #0000000a;--card-shadow-hover:0 4px 16px #0000000f;--input-bg:var(--color-bg-surface);--input-border:var(--color-border-primary);--input-text:var(--color-text-primary);--input-placeholder:var(--color-text-tertiary);--input-focus-border:var(--color-accent-primary);--link-color:var(--color-accent-primary);--link-hover:var(--color-accent-primary-hover);--badge-success-bg:var(--color-accent-success);--badge-success-text:#fff;--focus-ring:0 0 0 3px #c89b3c26;--hover-lift:translateY(-4px)}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-body);transition:background-color .3s,color .3s}.bg-card{background:var(--color-bg-card)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.border-primary{border-color:var(--color-border-primary)}.border-subtle{border-color:var(--color-border-subtle)}.accent-primary{color:var(--color-accent-primary)}.accent-secondary{color:var(--color-accent-secondary)}.accent-success{color:var(--color-accent-success)}.accent-error{color:var(--color-accent-error)}.bg-accent-primary{background:var(--color-accent-primary)}.bg-accent-secondary{background:var(--color-accent-secondary)}.bg-accent-success{background:var(--color-accent-success)}.bg-accent-error{background:var(--color-accent-error)}.hover-lift:hover{transform:var(--hover-lift)}.navbar{z-index:9999;border-radius:20px;justify-content:space-between;align-items:center;width:90%;max-width:1400px;margin:auto;padding:8px 16px;transition:all .3s;display:flex;position:fixed;top:24px;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(24px);background:#fff9;border:1px solid #fff3;top:14px;box-shadow:0 15px 40px #00000014}[data-theme=dark] .navbar.scrolled{background:#12121299;border:1px solid #ffffff1a;box-shadow:0 15px 40px #0003}.brand button{cursor:pointer;color:var(--color-text-primary);letter-spacing:-.04em;background:0 0;border:none;padding:0;font-size:1.5rem;font-weight:700}.nav-pill{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--color-text-primary);background:#ffffffa6;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem;display:flex;box-shadow:0 15px 40px #00000014}[data-theme=dark] .nav-pill{border:1px solid var(--color-text-primary);background:#121212bf}.nav-item{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:999px;padding:.7rem 1.2rem;font-weight:500;position:relative}.nav-item span{z-index:2;position:relative}.active-pill{background:var(--color-bg-elevated);border-radius:999px;position:absolute;inset:0}[data-theme=dark] .active-pill{background:#36314b}.nav-item:hover{transition:all .2s;transform:translateY(-2px)}.nav-pill .theme-toggle{cursor:pointer;width:38px;height:38px;color:var(--color-text-primary);background:0 0;border:none;border-radius:999px;flex-shrink:0;place-items:center;margin:0 2px;padding:0;transition:all .2s;display:grid!important}.nav-pill .theme-toggle:hover{background:#0000000d;transform:translateY(-2px)}[data-theme=dark] .nav-pill .theme-toggle:hover{background:#ffffff0d}.nav-pill .theme-toggle svg{width:18px;height:18px;display:block}.mobile-button{cursor:pointer;width:46px;height:46px;color:var(--text-primary);z-index:10000;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:none}.mobile-button svg{width:22px;height:22px}.mobile-menu{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:var(--color-bg-surface);opacity:.92;z-index:9998;border-radius:24px;flex-direction:column;gap:.75rem;width:70%;max-height:calc(100vh - 90px);padding:1.5rem;display:flex;position:fixed;top:4rem;right:0;overflow-y:auto;transform:translate(-50%);box-shadow:0 20px 60px #00000026}[data-theme=dark] .mobile-menu{background:var(--color-bg-surface);box-shadow:0 20px 60px #0006}.mobile-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9997;pointer-events:auto;cursor:pointer;background:#0003;position:fixed;inset:0}.mobile-menu-items{color:var(--color-text-primary);flex-direction:column;gap:.5rem;display:flex}.mobile-menu .theme-toggle{width:48px;height:48px;color:var(--color-text-primary);display:flex!important}.mobile-menu .theme-toggle svg{width:24px;height:24px}.mobile-menu button{text-align:left;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;padding:1rem;font-size:1rem}.mobile-menu button:hover{background:#0000000d}[data-theme=dark] .mobile-menu button:hover{background:#ffffff0d}@media (width<=900px){.nav-pill{display:none}.mobile-button{display:flex}.navbar .theme-toggle{display:none}}.pixel-trail-container{pointer-events:none;z-index:2;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.pixel-cell{background:var(--color-accent-primary);opacity:0;pointer-events:none;border-radius:1px;transition:none;position:absolute}.term-card{border:1px solid var(--color-border-primary);background:var(--color-bg-elevated);width:100%;max-width:560px;font-family:var(--font-mono);border-radius:10px;overflow:hidden}.term-bar{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-primary);align-items:center;gap:6px;padding:10px 14px;display:flex}.term-dot{border-radius:50%;width:11px;height:11px;display:inline-block}.term-dot--red{background:#ec6a5e}.term-dot--yellow{background:#f4bf4f}.term-dot--green{background:#61c454}.term-label{color:var(--color-text-tertiary);font-size:.75rem;font-family:var(--font-mono);margin-left:auto}.term-body{background:var(--color-bg-elevated);min-height:170px;padding:16px 18px;font-size:.8125rem;line-height:1.7}.term-line{min-height:1.7em;margin-bottom:4px}.term-line:last-child{margin-bottom:0}.term-line--current{min-height:3.4em}.term-line--current .term-output-placeholder{visibility:hidden;min-height:1.7em;display:block}.term-prompt{color:var(--color-accent-primary);font-weight:600}.term-cmd{color:var(--color-accent-success)}.term-output{color:var(--color-text-tertiary);padding-left:16px}.term-cursor{color:var(--color-accent-primary);font-weight:300;animation:.8s step-end infinite term-blink;display:inline-block}@keyframes term-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.term-cursor{opacity:1;animation:none}}.experience-section{z-index:1;background:0 0;width:100%;position:relative}.experience-container{z-index:1;width:90%;max-width:1200px;margin:0 auto;position:relative}.experience-title{font-family:var(--font-heading);text-align:center;color:var(--color-text-primary);text-wrap:balance;margin-bottom:3rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600}.experience-subtitle{text-align:center;color:var(--color-text-tertiary);margin-bottom:var(--space-3xl);max-width:55ch;margin-left:auto;margin-right:auto;font-size:1rem}.experience-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);box-shadow:var(--card-shadow);border-radius:12px;margin-bottom:24px;padding:24px;transition:all .3s}.experience-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--color-accent-secondary);transform:translateY(-4px)}.experience-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:20px;display:flex}.company-logo-wrapper{flex-shrink:0;width:72px;height:72px;position:relative}.company-logo,.company-logo-dark{object-fit:contain;background:var(--color-bg-surface);border-radius:10px;width:100%;height:100%;padding:8px}.company-logo-dark,[data-theme=dark] .company-logo{display:none}[data-theme=dark] .company-logo-dark{display:block}.company-info{flex:1;min-width:0}.company-role{color:var(--color-text-primary);margin:0;font-size:1.25rem;font-weight:600}.company-detail{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:.95rem;display:flex}.detail-icon{flex-shrink:0;width:16px;height:16px}.company-name{font-weight:500}.expand-button{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;margin-left:auto;padding:4px;transition:color .2s}.expand-button:hover{color:var(--color-text-primary)}.expand-icon{transition:transform .3s}.expand-icon.expanded{transform:rotate(180deg)}.experience-highlight{border-top:1px solid var(--color-border-primary);margin-top:20px;padding-top:20px}.experience-highlight p{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:500;line-height:1.7}.experience-details{border-top:1px solid var(--color-border-primary);margin-top:20px;padding-top:20px}.details-heading,.technologies-heading{color:var(--color-text-primary);margin:0 0 14px;font-size:.95rem;font-weight:600}.achievements-list{margin:0;padding:0;list-style:none}.achievement-item{color:var(--color-text-secondary);margin-bottom:14px;padding-left:22px;font-size:.95rem;line-height:1.65;position:relative}.achievement-item:last-child{margin-bottom:0}.achievement-item:before{content:"▹";color:var(--color-accent-secondary);font-weight:600;position:absolute;top:0;left:0}.technologies-section{border-top:1px solid var(--color-border-primary);margin-top:24px;padding-top:20px}.tech-tags{flex-wrap:wrap;gap:10px;display:flex}.tech-tag{border:1px solid var(--color-border-primary);background:var(--color-bg-surface);color:var(--color-text-secondary);border-radius:999px;padding:6px 12px;font-size:.85rem;transition:all .25s}.tech-tag:hover{border-color:var(--color-accent-primary);color:var(--color-text-primary)}@media (width<=768px){.experience-container{width:100%}.experience-title{font-size:2rem}.experience-card{padding:20px}.company-logo-wrapper{display:none}.experience-header{gap:12px}.company-role{font-size:1.1rem}.company-detail{font-size:.9rem}.experience-highlight p,.achievement-item{font-size:.92rem}}@media (width<=480px){.experience-card{padding:18px}.company-role{font-size:1rem}.company-detail{font-size:.85rem}.tech-tag{padding:5px 10px;font-size:.8rem}}.projects-section{z-index:1;background:0 0;width:100%;position:relative}.projects-container{z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 20px;position:relative}.projects-title{font-family:var(--font-heading);text-align:center;color:var(--color-text-primary);z-index:1;text-wrap:balance;margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;position:relative}.projects-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:3rem;font-size:1.1rem}.projects-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.project-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);box-shadow:var(--card-shadow);border-radius:12px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--color-accent-secondary);transform:translateY(-4px)}.project-image-wrapper{background:var(--color-bg-surface);width:100%;height:150px;position:relative;overflow:hidden}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-image{transform:scale(1.05)}.project-content{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex}.project-title{color:var(--color-text-primary);margin:0;font-size:1.15rem;font-weight:600}.project-highlight{color:var(--color-text-secondary);flex:1;margin:0;font-size:.9rem;line-height:1.5}.project-description{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.project-tag{color:var(--color-text-secondary);-webkit-backdrop-filter:blur(4px);background:#5b7b9a1a;border:1px solid #5b7b9a40;border-radius:6px;padding:4px 12px;font-size:.7rem;font-weight:500;transition:background .2s,border-color .2s,color .2s}.project-tag:hover{color:var(--color-text-primary);background:#5b7b9a2e;border-color:#5b7b9a66}.project-tag--more{border:1px solid var(--color-border-primary);color:var(--color-text-tertiary);background:0 0;padding:4px 10px}.project-tag--more:hover{background:#5b7b9a1a;border-color:#5b7b9a40}.project-actions{border-top:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.project-actions-right{gap:8px;display:flex}.project-btn{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.project-btn:hover{transform:translateY(-2px)}.project-btn-details{color:var(--color-text-primary);background:#5b7b9a14;border:1.5px solid #5b7b9a33}.project-btn-details:hover{border-color:var(--color-accent-secondary);background:#5b7b9a26}.project-btn-icon{width:36px;height:36px;color:var(--color-text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.15rem;display:flex}.project-btn-icon:hover{color:var(--color-accent-secondary)}@media (width<=1024px){.projects-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (width<=768px){.projects-container{width:100%;max-width:100%;margin:0;padding:0}.projects-title{font-size:2rem}.projects-subtitle{margin-bottom:2rem;font-size:1rem}.projects-grid{gap:var(--space-lg);grid-template-columns:1fr}.project-image-wrapper{height:160px}.project-content{padding:16px}.project-title{font-size:1rem}.project-description{font-size:.85rem}.project-actions{flex-wrap:wrap;padding:12px 16px}.project-btn{padding:6px 12px;font-size:.8rem}.project-btn-icon{width:34px;height:34px;font-size:1rem}}@media (width<=600px){.projects-grid{grid-template-columns:1fr;gap:20px}.project-image-wrapper{height:200px}}@media (width<=480px){.projects-section{width:100%;padding:40px 12px}.projects-container{width:100%;max-width:100%;margin:0;padding:0}.projects-title{font-size:1.75rem}.projects-subtitle{font-size:.9rem}.project-image-wrapper{height:180px}.project-content{padding:14px}.project-title{font-size:.95rem}.project-description{font-size:.85rem}.project-tag{padding:3px 10px;font-size:.7rem}.project-actions{flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px}.project-actions-right{justify-content:center}.project-btn{justify-content:center;padding:8px 16px;font-size:.85rem}.project-btn-details{width:100%}}.project-dialog{background:var(--color-bg-elevated);width:90vw;max-width:600px;color:var(--color-text-primary);border:none;border-radius:12px;padding:0;overflow:hidden;box-shadow:0 20px 60px #00000026}.project-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006}.project-dialog-content{position:relative}.project-dialog-close{color:#fff;cursor:pointer;z-index:2;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.project-dialog-close:hover{background:#000000b3}.project-dialog-image-wrapper{background:var(--color-bg-surface);width:100%;height:240px;overflow:hidden}.project-dialog-image{object-fit:cover;width:100%;height:100%}.project-dialog-body{flex-direction:column;gap:16px;padding:24px;display:flex}.project-dialog-title{font-family:var(--font-heading);color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:600}.project-dialog-description{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.7}.project-dialog-tags{flex-wrap:wrap;gap:6px;display:flex}.project-dialog-actions{border-top:1px solid var(--color-border-primary);flex-wrap:wrap;gap:12px;padding-top:8px;display:flex}.project-dialog-actions .project-btn{flex:1;justify-content:center}.skills-section{z-index:1;background:0 0;width:100%;position:relative}.skills-container{z-index:1;width:90%;max-width:1200px;margin:0 auto;position:relative}.skills-title{font-family:var(--font-heading);text-align:center;margin-bottom:var(--space-sm);color:var(--color-text-primary);text-wrap:balance;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600}.skills-subtitle{text-align:center;color:var(--color-text-tertiary);margin-bottom:var(--space-3xl);max-width:55ch;margin-left:auto;margin-right:auto;font-size:1rem}.skills-pills{gap:var(--space-sm);margin-bottom:var(--space-3xl);flex-wrap:wrap;justify-content:center;display:flex}.skill-pill{border:1.5px solid var(--color-border-primary);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:10px 24px;font-size:.9rem;font-weight:500;transition:background .2s,border-color .2s,color .2s}.skill-pill:hover{border-color:var(--color-accent-secondary);color:var(--color-text-primary);background:var(--color-bg-surface)}.skill-pill.active{background:var(--color-accent-secondary);border-color:var(--color-accent-secondary);color:#fff}.skill-pill.active:hover{background:var(--color-accent-secondary-hover);border-color:var(--color-accent-secondary-hover)}.skills-cards-container{gap:var(--space-lg);z-index:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid;position:relative}.skill-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);padding:var(--space-xl);border-radius:10px;transition:border-color .2s,box-shadow .2s}.skill-card:first-child:hover{box-shadow:var(--card-shadow-hover);border-color:var(--color-accent-primary);transform:translateY(-4px)}.skill-card:hover{border-color:var(--color-accent-secondary)}.skill-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.skill-icon{filter:brightness(0)saturate()invert(0%);flex-shrink:0;width:24px;height:24px;transition:filter .3s}[data-theme=dark] .skill-icon{filter:brightness(0)saturate()invert()}.skill-name{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:600}.skill-description{color:var(--color-text-secondary);margin:var(--space-xs) 0;font-size:.9rem;line-height:1.5}.skill-experience{color:var(--color-text-tertiary);margin:var(--space-sm) 0 0 0;padding-top:var(--space-sm);border-top:1px solid var(--color-border-primary);font-size:.85rem;line-height:1.5}@media (width<=768px){.skills-title{font-size:2rem}.skills-cards-container{grid-template-columns:1fr}.skill-pill{padding:8px 18px;font-size:.85rem}}@media (width<=480px){.skill-card{padding:var(--space-lg)}.skill-icon{width:20px;height:20px}.skill-name{font-size:1rem}}.resume-section{z-index:1;background:0 0;width:100%;position:relative}.resume-container{z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 20px;position:relative}.resume-title{font-family:var(--font-heading);text-align:center;color:var(--color-text-primary);z-index:1;text-wrap:balance;margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;position:relative}.resume-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:3rem;font-size:1.1rem}.resume-grid{gap:var(--space-xl);grid-template-columns:1fr 1.5fr;align-items:start;display:grid}.resume-left{flex-direction:column;height:100%;display:flex}.resume-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);padding:var(--space-2xl);box-shadow:var(--card-shadow);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;height:100%;transition:border-color .2s,box-shadow .2s;display:flex}.resume-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--color-accent-secondary);transform:translateY(-4px)}.resume-card-content{margin-bottom:var(--space-xl);text-align:center}.resume-name{color:var(--color-text-primary);margin:0 0 var(--space-xs) 0;font-size:1.25rem;font-weight:600}.resume-role{color:var(--color-text-secondary);margin:0 0 var(--space-xs) 0;font-size:.9rem}.resume-updated{color:var(--color-text-tertiary);margin:0;font-size:.8rem}.resume-actions{gap:var(--space-sm);flex-direction:row;width:100%;display:flex}.resume-btn{justify-content:center;align-items:center;gap:var(--space-sm);cursor:pointer;border:1.5px solid var(--color-border-primary);color:var(--color-text-primary);background:0 0;border-radius:6px;width:100%;padding:10px 24px;font-size:.9rem;font-weight:500;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.btn-icon{font-size:.9rem}.resume-btn-primary{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.resume-btn-primary:hover{background:var(--color-accent-primary-hover);transform:translateY(-2px)}.resume-btn-secondary{border-color:var(--color-border-primary);color:var(--color-text-primary)}.resume-btn-secondary:hover{border-color:var(--color-accent-secondary);color:var(--color-text-primary);background:var(--color-bg-surface);transform:translateY(-2px)}.resume-right{gap:var(--space-xl);flex-direction:column;display:flex}.resume-education{background:var(--color-bg-card);border:1px solid var(--color-border-primary);padding:var(--space-xl);border-radius:10px;transition:border-color .2s}.resume-education:hover{border-color:var(--color-accent-secondary)}.resume-sub-section-title{font-family:var(--font-heading);color:var(--color-text-primary);margin:0 0 var(--space-lg) 0;padding-bottom:var(--space-sm);border-bottom:1.5px solid var(--color-border-primary);font-size:.9rem;font-weight:600}.education-item{gap:var(--space-sm);flex-direction:column;display:flex}.education-header{align-items:flex-start;gap:var(--space-md);display:flex}.education-icon{color:var(--color-accent-secondary);flex-shrink:0;margin-top:3px;font-size:1.1rem}.education-degree{color:var(--color-text-primary);margin:0 0 var(--space-xs) 0;font-size:1rem;font-weight:600}.education-minor{color:var(--color-text-secondary);margin:2px 0 0;font-size:.85rem;font-weight:500}.education-school{color:var(--color-text-secondary);margin:0;font-size:.85rem}.education-details{gap:var(--space-lg);padding-left:calc(1.1rem + var(--space-md));color:var(--color-text-tertiary);flex-wrap:wrap;font-size:.85rem;display:flex}.education-gpa{color:var(--color-text-primary);font-weight:500}.resume-skills{background:var(--color-bg-card);border:1px solid var(--color-border-primary);padding:var(--space-xl);border-radius:10px;transition:border-color .2s}.resume-skills:hover{border-color:var(--color-accent-secondary)}.skills-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.skill-category{gap:var(--space-sm);flex-direction:column;display:flex}.skill-category-title{color:var(--color-text-tertiary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.skill-tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.skill-tag{color:var(--color-text-secondary);-webkit-backdrop-filter:blur(4px);background:#5b7b9a1a;border:1px solid #5b7b9a40;border-radius:6px;padding:4px 12px;font-size:.75rem;font-weight:500;transition:background .2s,border-color .2s,color .2s}.skill-tag:hover{color:var(--color-text-primary);background:#5b7b9a2e;border-color:#5b7b9a66}@media (width<=968px){.resume-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr}}@media (width<=768px){.resume-container{width:100%;max-width:100%;margin:0;padding:0}.resume-title{font-size:2rem}.resume-subtitle{margin-bottom:var(--space-2xl);font-size:1rem}.resume-grid{gap:var(--space-lg);grid-template-columns:1fr}.resume-card{padding:var(--space-xl)}.resume-name{font-size:1.1rem}.resume-education{padding:var(--space-xl)}.education-degree{font-size:1rem}.education-details{gap:var(--space-xs);flex-direction:column;padding-left:0}.resume-skills{padding:var(--space-xl)}.skills-grid{gap:var(--space-lg);grid-template-columns:1fr}}@media (width<=480px){.resume-container{width:100%;max-width:100%;margin:0;padding:0}.resume-title{font-size:1.75rem}.resume-subtitle{font-size:.9rem}.resume-card{padding:var(--space-lg)}.resume-name{font-size:1rem}.resume-role{font-size:.85rem}.resume-btn{padding:8px 16px;font-size:.85rem}.resume-education{padding:var(--space-lg)}.education-degree{font-size:.95rem}.education-school{font-size:.85rem}.education-details{margin-top:var(--space-sm);padding-left:0;font-size:.85rem}.education-icon{font-size:1rem}.resume-skills{padding:var(--space-lg)}.skill-category-title{font-size:.8rem}.skill-tag{padding:3px 10px;font-size:.75rem}}.contact-section{z-index:1;background:0 0;width:100%;position:relative}.contact-container{z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 20px;position:relative}.contact-title{font-family:var(--font-heading);text-align:center;margin-bottom:var(--space-sm);color:var(--color-text-primary);text-wrap:balance;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600}.contact-subtitle{text-align:center;color:var(--color-text-tertiary);margin-bottom:var(--space-3xl);max-width:55ch;margin-left:auto;margin-right:auto;font-size:1rem}.contact-grid{gap:var(--space-xl);grid-template-columns:1.2fr .8fr;align-items:stretch;display:grid}.contact-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);padding:var(--space-2xl);border-radius:10px;transition:border-color .2s}.contact-form-wrapper .contact-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--color-accent-secondary);transform:translateY(-4px)}.contact-form-wrapper{flex-direction:column;display:flex}.contact-form-title{color:var(--color-text-primary);margin:0 0 var(--space-xl) 0;padding-bottom:var(--space-sm);border-bottom:1.5px solid var(--color-border-primary);font-size:1.1rem;font-weight:600}.contact-form{gap:var(--space-lg);flex-direction:column;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--color-text-primary);font-size:.9rem;font-weight:500}.form-input,.form-textarea{background:var(--color-bg-surface);border:1px solid var(--color-border-primary);color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:all .3s}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-secondary);opacity:.5}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent-secondary);outline:none;box-shadow:0 0 0 3px #5b7b9a1f}.form-textarea{resize:vertical;min-height:120px}.submit-btn{background:var(--color-accent-primary);border:1.5px solid var(--color-accent-primary);color:#fff;cursor:pointer;border-radius:6px;margin-top:4px;padding:12px 32px;font-size:1rem;font-weight:500;transition:background .2s,transform .2s}.submit-btn:hover{background:var(--color-accent-primary-hover);transform:translateY(-2px)}.contact-info-wrapper{flex-direction:column;height:100%;display:flex}.contact-info-wrapper .contact-card{flex-direction:column;flex:1;display:flex}.contact-info-wrapper .contact-info-items{flex:1}.contact-info-title{color:var(--color-text-primary);margin:0 0 var(--space-xl) 0;padding-bottom:var(--space-sm);border-bottom:1.5px solid var(--color-border-primary);font-size:1.1rem;font-weight:600}.contact-info-items{gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-direction:column;display:flex}.contact-info-item{align-items:flex-start;gap:var(--space-md);display:flex}.contact-info-icon{color:var(--color-accent-secondary);flex-shrink:0;margin-top:2px;font-size:1.1rem}.contact-info-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;font-size:.75rem;font-weight:500}.contact-info-value{color:var(--color-text-primary);margin:0;font-size:.9rem}.contact-social{padding-top:var(--space-xl);border-top:1px solid var(--color-border-primary)}.contact-social-title{color:var(--color-text-primary);margin:0 0 var(--space-md) 0;font-size:.85rem;font-weight:600}.contact-social-icons{gap:var(--space-md);display:flex}.social-icon{background:var(--color-bg-surface);border:1px solid var(--color-border-primary);width:40px;height:40px;color:var(--color-text-secondary);border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;text-decoration:none;transition:border-color .2s,color .2s,transform .2s;display:flex}.social-icon:hover{color:var(--color-text-primary);border-color:var(--color-accent-secondary);transform:translateY(-2px)}@media (width<=968px){.contact-grid{grid-template-columns:1fr 1fr;gap:20px}}@media (width<=768px){.contact-container{width:100%;max-width:100%;margin:0;padding:0}.contact-title{font-size:2rem}.contact-subtitle{margin-bottom:var(--space-2xl);font-size:1rem}.contact-grid{gap:var(--space-lg);grid-template-columns:1fr}.contact-card{padding:var(--space-xl)}.contact-form-title,.contact-info-title{font-size:1.1rem}.form-input,.form-textarea{padding:10px 14px;font-size:.9rem}.submit-btn{padding:10px 24px;font-size:.95rem}.contact-info-items{gap:var(--space-lg)}.contact-info-value{font-size:.9rem}}@media (width<=480px){.contact-container{width:100%;max-width:100%;margin:0;padding:0}.contact-title{font-size:1.75rem}.contact-subtitle{font-size:.9rem}.contact-card{padding:var(--space-lg)}.contact-form-title,.contact-info-title{font-size:1rem}.form-label{font-size:.85rem}.form-input,.form-textarea{padding:8px 12px;font-size:.85rem}.submit-btn{padding:8px 20px;font-size:.9rem}.contact-info-item{gap:var(--space-sm)}.contact-info-icon{font-size:1rem}.contact-info-label{font-size:.75rem}.contact-info-value{font-size:.85rem}.social-icon{width:36px;height:36px;font-size:1rem}}.bg-noise{pointer-events:none;z-index:0;opacity:.4;background-image:radial-gradient(var(--color-text-secondary) 1px, transparent 1px);mix-blend-mode:overlay;background-size:3px 3px;animation:.5s steps(3,end) infinite noiseShift;position:fixed;inset:0}[data-theme=dark] .bg-noise{opacity:.5;background-image:radial-gradient(#ffffff09 1px,#0000 1px)}.bg-scanlines{pointer-events:none;z-index:1;mix-blend-mode:overlay;background:repeating-linear-gradient(#0000 0 1px,#00000008 1px 3px);position:fixed;inset:0}[data-theme=dark] .bg-scanlines{background:repeating-linear-gradient(#0000 0 1px,#ffffff05 1px 3px)}.bg-vignette{pointer-events:none;z-index:0;background:radial-gradient(#0000 50%,#00000005 100%);position:fixed;inset:0}[data-theme=dark] .bg-vignette{background:radial-gradient(#0000 50%,#00000026 100%)}@keyframes noiseShift{0%{transform:translate(0)}20%{transform:translate(-.5px,.5px)}40%{transform:translate(.5px,-.5px)}60%{transform:translate(-.3px,-.3px)}80%{transform:translate(.3px,.3px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.bg-noise{animation:none}}.home-container{z-index:2;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:100vh;padding:5rem;display:flex;position:relative}.hero{width:90%;max-width:1200px;margin:0 auto;padding-bottom:3rem}.hero-layout{justify-content:flex-start;align-items:stretch;gap:5rem;display:flex}.hero-content{flex-direction:column;flex:1;gap:1.5rem;min-width:0;display:flex}.hero-infra{flex:none;justify-content:center;align-self:stretch;align-items:center;width:clamp(360px,34vw,560px);min-width:320px;max-width:560px;display:flex}.hero-infra .infra-stage{justify-content:center;align-items:center;width:100%;max-width:none;height:100%;display:flex}.hero-infra .infra-stage svg{width:auto;max-width:100%;height:100%;display:block}.name-wrapper{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.hero-name{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;line-height:1.05}.hero-title{font-family:var(--font-body);color:var(--color-text-secondary);margin:0;font-size:clamp(1.25rem,3vw,2rem);font-weight:400;line-height:1.2}.hero-subtitle{font-family:var(--font-body);color:var(--color-accent-secondary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:500}.hero-description{font-family:var(--font-body);color:var(--color-text-secondary);max-width:600px;margin:0;font-size:1.125rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.hero-actions .btn-primary{background:var(--color-accent-primary);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:6px;padding:12px 32px;font-size:1rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.btn-primary:hover{background:var(--color-accent-primary-hover);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-text-primary);font-family:var(--font-body);border:1px solid var(--color-border-primary);cursor:pointer;background:0 0;border-radius:6px;padding:12px 32px;font-size:1rem;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:inline-block}.btn-secondary:hover{background:var(--color-bg-surface);border-color:var(--color-accent-secondary);transform:translateY(-2px)}.hero-content>*{opacity:0;animation:.6s ease-out forwards fadeInUp}.hero-content>:first-child{animation-delay:.1s}.hero-content>:nth-child(2){animation-delay:.2s}.hero-content>:nth-child(3){animation-delay:.3s}.hero-content>:nth-child(4){animation-delay:.4s}.hero-content>:nth-child(5){animation-delay:.5s}.hero-content>:nth-child(6){animation-delay:.6s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=1200px){.hero-infra{width:clamp(320px,36vw,460px);min-width:280px;max-width:460px}}@media (width<=1024px){.hero-layout{flex-direction:column;gap:3rem}.hero-content{width:100%}.hero-infra{align-self:center;width:100%;min-width:auto;max-width:520px;margin:0 auto}.hero-infra .infra-stage,.hero-infra .infra-stage svg{width:100%;height:auto}.hero-name{font-size:4rem}}@media (width<=768px){.home-container{align-items:flex-start;padding:5rem 1rem 1rem}.hero-layout{gap:2rem}.name-wrapper{gap:1rem}.hero-name{font-size:3.5rem}.hero-title{font-size:1.5rem}.hero-subtitle,.hero-description{font-size:1rem}.theme-toggle{width:38px;height:38px;font-size:1rem;top:1rem;right:1rem}.hero-actions{flex-flow:row;width:100%}.btn-primary,.btn-secondary{text-align:center;flex:1 1 0;width:auto;min-width:0}.hero-infra{max-width:360px}}@media (width<=480px){.name-wrapper{gap:.75rem}.hero-name{font-size:2.5rem}.hero-title{font-size:1.25rem}.hero-infra{max-width:300px}}.section{padding:var(--space-3xl) var(--space-xl);z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.section:first-of-type{padding-top:var(--space-5xl)}.section:last-of-type{padding-bottom:var(--space-5xl)}.section-content{width:100%;max-width:90%;margin:0 auto;padding:0}.section-title{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:-.02em;z-index:3;text-align:left;text-wrap:balance;margin-bottom:1.5rem;font-size:2.5rem;font-weight:600;position:relative}.section-title:after{content:"";background:var(--color-accent-primary);width:40px;height:3px;margin-top:var(--space-sm);border-radius:2px;display:block}.section-text{color:var(--color-text-secondary);text-align:left;z-index:3;font-size:1.1rem;line-height:1.8;position:relative}@media (width<=768px){.section{padding:var(--space-2xl) var(--space-lg)}.section-content{max-width:100%;padding:0}}@media (width<=480px){.section{padding:var(--space-xl) var(--space-md)}.section-content{padding:0}}.ui-demo{max-width:1200px;font-family:var(--font-body);margin:0 auto;padding:40px 24px}.demo-header{border-bottom:1px solid var(--color-border-primary);margin-bottom:48px;padding-bottom:24px}.demo-header h1{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:8px;font-size:2.5rem;font-weight:700}.demo-header p{color:var(--color-text-secondary);font-size:1.1rem}.demo-section{margin-bottom:48px}.demo-section h2{font-family:var(--font-heading);color:var(--color-text-primary);border-bottom:2px solid var(--color-border-primary);margin-bottom:20px;padding-bottom:12px;font-size:1.8rem;font-weight:600}.demo-section h3{font-family:var(--font-heading);color:var(--color-text-secondary);margin:24px 0 16px;font-size:1.2rem;font-weight:500}.color-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-bottom:24px;display:grid}.color-swatch{flex-direction:column;gap:6px;display:flex}.swatch{border:1px solid var(--color-border-primary);border-radius:8px;width:100%;height:80px;transition:transform .2s}.swatch:hover{transform:scale(1.05)}.color-swatch span{color:var(--color-text-secondary);font-size:.85rem}.color-swatch .var-name{font-family:var(--font-code);color:var(--color-text-tertiary);background:var(--color-bg-surface);border:1px solid var(--color-border-primary);border-radius:4px;padding:2px 6px;font-size:.7rem}.color-swatch .hex{font-family:var(--font-code);color:var(--color-text-primary);font-size:.75rem}.bg-primary{background:var(--color-bg-primary)}.bg-surface{background:var(--color-bg-surface)}.bg-elevated{background:var(--color-bg-elevated)}.text-primary{background:var(--color-text-primary)}.text-secondary{background:var(--color-text-secondary)}.accent-sage{background:var(--accent-sage)}.accent-dusty-blue{background:var(--color-accent-primary)}.accent-lavender{background:var(--accent-lavender)}.accent-terracotta{background:var(--accent-terracotta)}.accent-amber{background:var(--accent-amber)}.accent-rose{background:var(--accent-rose)}.accent-success{background:var(--color-accent-success)}.accent-link,.accent-button,.accent-award{background:var(--color-accent-primary)}.typography-demo{background:var(--color-bg-surface);border:1px solid var(--color-border-primary);border-radius:12px;padding:32px}.typography-demo h1,.typography-demo h2,.typography-demo h3,.typography-demo h4{margin:8px 0}.typography-demo .body-text{margin:12px 0;line-height:1.6}.typography-demo .code-block{background:var(--color-bg-primary);font-family:var(--font-code);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:8px;margin:12px 0;padding:16px;font-size:.9rem;display:block}.font-info{border-top:1px solid var(--color-border-primary);gap:24px;margin-top:16px;padding-top:16px;display:flex}.font-info p{color:var(--color-text-secondary);font-size:.9rem}.font-info strong{color:var(--color-text-primary)}.button-grid{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:500;transition:all .2s}.btn-primary{background:var(--button-primary-bg);color:var(--button-primary-text)}.btn-primary:hover{background:var(--button-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #a69bc84d}.btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border)}.btn-secondary:hover{background:var(--button-secondary-hover)}.btn-success{background:var(--button-success-bg);color:var(--button-primary-text)}.btn-success:hover{background:var(--button-success-hover);transform:translateY(-2px);box-shadow:0 4px 12px #8ea58c4d}.btn-link{color:var(--button-link-color);background:0 0;text-decoration:underline}.btn-link:hover{color:var(--button-link-hover)}.btn-award{background:var(--color-accent-primary);color:var(--color-text-inverse)}.btn-award:hover{background:var(--brand-success-hover);transform:translateY(-2px);box-shadow:0 4px 12px #d4b96e4d}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:16px;display:grid}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:24px;transition:all .3s}.card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-4px)}.card-elevated{background:var(--color-bg-elevated);box-shadow:var(--card-shadow)}.card-accent{border-left:4px solid var(--color-accent-primary)}.card-title{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:8px;font-size:1.1rem;font-weight:600}.card-text{color:var(--color-text-secondary);margin-bottom:16px;line-height:1.5}.badge-grid{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.badge{font-family:var(--font-body);border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-block}.badge-success{background:var(--color-accent-success);color:var(--color-text-inverse)}.badge-award,.badge-link,.badge-primary{background:var(--color-accent-primary);color:var(--color-text-inverse)}.badge-outline{color:var(--color-text-primary);border:1px solid var(--color-border-primary);background:0 0}.input-grid{flex-direction:column;gap:12px;max-width:400px;margin-bottom:16px;display:flex}.input{background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text);font-family:var(--font-body);border-radius:8px;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.input:focus{border-color:var(--input-focus-border);outline:none;box-shadow:0 0 0 3px #8fa8c933}.input::placeholder{color:var(--input-placeholder)}.input-focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #8fa8c933}textarea.input{resize:vertical;min-height:80px}.link-grid{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.link{color:var(--link-color);font-weight:500;text-decoration:none;transition:color .2s}.link:hover{color:var(--link-hover);text-decoration:underline}.link-hover{color:var(--link-color)}.link-hover:hover{color:var(--link-hover);text-decoration:underline}.link-visited{color:var(--link-color)}.link-visited:visited{color:var(--link-visited)}@media (width<=768px){.ui-demo{padding:20px 16px}.demo-header h1{font-size:1.8rem}.color-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.card-grid{grid-template-columns:1fr}.font-info{flex-direction:column;gap:4px}}
