@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--bg-primary:#0d0d0d;--bg-card:#1e1e1e;--bg-elevated:#262522;--text-primary:#f9f4da;--text-secondary:#f9f4da;--text-tertiary:#909498;--border-default:#383c44;--border-width:1px;--border-focus:#fcba28;--action-primary:#fcba28;--action-primary-text:#0d0d0d;--action-secondary:#fc7428;--shadow-md:5px 5px 0 #231f20;--shadow-lg:5px 5px 0 #fcba28;--shadow-xl:5px 5px 0 #fc7428;--radius-md:6px;--radius-xl:12px;--radius-2xl:20px;--radius-full:9999px;--letter-spacing-wide:.05em;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.12s ease;--transition-base:.2s ease}[data-theme=light]{--bg-primary:#f7f7f7;--bg-card:#fff;--bg-elevated:#f0ede8;--text-primary:#0f0d0e;--text-secondary:#231f20;--text-tertiary:#5c6069;--border-default:#e1e2e4;--shadow-md:5px 5px 0 #e1e2e4;--shadow-lg:5px 5px 0 #fcba28;--shadow-xl:5px 5px 0 #fc7428}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-base), color var(--transition-base);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-md)}.prose{max-width:660px;margin:0 auto;padding:80px 24px 120px}@media (max-width:640px){.prose{padding:48px 20px 80px}}.prose--home h1{font-size:1rem}.prose h1{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:1.25rem;font-size:1rem;font-weight:500;line-height:1.25}.prose h2{text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-tertiary);margin-top:5rem;margin-bottom:0;font-size:.6875rem;font-weight:700}.prose p{color:var(--text-secondary);white-space:pre-wrap;margin-bottom:1.25rem;font-size:1rem;line-height:1.75}.prose a{text-decoration:underline;-webkit-text-decoration-color:var(--border-default);text-decoration-color:var(--border-default);text-underline-offset:3px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast)}.prose a:hover{color:var(--text-primary);-webkit-text-decoration-color:var(--action-primary);text-decoration-color:var(--action-primary)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:40px;margin-bottom:3rem;display:flex}.hero-btn{color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast), color var(--transition-fast);align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.hero-btn:hover{border-color:var(--action-primary);color:var(--text-primary)}.hero-btn[type=button]{cursor:pointer;background:0 0;font-family:inherit}.copy-icon{opacity:.6;align-items:center;margin-left:.4rem;display:inline-flex}.work-section-title{letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--text-tertiary);margin-top:40px;margin-bottom:0;font-size:.75rem;font-weight:500}.work-list{margin-top:1rem;list-style:none}.work-list li{border-top:1px solid var(--border-default);transition:opacity var(--transition-fast);padding:.875rem 0}.work-list:has(li:hover) li{opacity:.5}.work-list:has(li:hover) li:hover{opacity:1}.work-list li:hover .work-title{color:var(--action-primary)}.work-list li:first-child{border-top:none}.work-list li:last-child{border-bottom:none}.work-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.work-title{color:var(--text-primary);transition:color var(--transition-fast);font-size:.9375rem}.work-year{color:var(--text-tertiary);flex-shrink:0;font-size:.8125rem}.work-desc{color:var(--text-tertiary);margin:.25rem 0 0;font-size:.8125rem;line-height:1.6}.site-footer{max-width:660px;color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 auto;padding:0 24px 56px;font-size:.8125rem;display:flex}@media (max-width:640px){.site-footer{padding-left:20px;padding-right:20px}}.site-footer a{color:var(--text-tertiary);transition:color var(--transition-fast);text-decoration:none}.site-footer a:hover{color:var(--text-primary)}.about-intro{margin-bottom:.25rem}.about-intro p{color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.75}.about-skills{color:var(--text-tertiary);margin-bottom:0;font-size:.875rem;line-height:1.7}.about-exp-list,.about-edu-list{margin-top:0;list-style:none}.about-exp-item,.about-edu-item{border-top:1px solid var(--border-default);padding:1.25rem 0}.about-exp-item:last-child,.about-edu-item:last-child{border-bottom:1px solid var(--border-default)}.about-exp-meta,.about-edu-meta{color:var(--text-tertiary);margin-bottom:.2rem;font-size:.8125rem}.about-exp-role{color:var(--text-primary);margin-bottom:.5rem;font-size:.9375rem;font-weight:500}.about-edu-degree{color:var(--text-primary);font-size:.9375rem;font-weight:500}.about-exp-desc{color:var(--text-tertiary);margin:0;font-size:.875rem;line-height:1.65}.about-contact{color:var(--text-secondary);margin-top:3rem;margin-bottom:0;font-size:.9375rem}.about-contact a{text-decoration:underline;-webkit-text-decoration-color:var(--border-default);text-decoration-color:var(--border-default);text-underline-offset:3px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast)}.about-contact a:hover{color:var(--text-primary);-webkit-text-decoration-color:var(--action-primary);text-decoration-color:var(--action-primary)}.project-back-link{color:var(--text-tertiary);transition:color var(--transition-fast);margin-bottom:2.5rem;font-size:.8125rem;text-decoration:none;display:inline-block}.project-back-link:hover{color:var(--text-primary)}.project-context{color:var(--text-tertiary);margin-top:-.75rem;margin-bottom:.5rem;font-size:.875rem}.project-tags{color:var(--text-tertiary);margin-bottom:2rem;font-size:.8125rem}.project-cover-image{width:144%;height:auto;margin:2rem 0;display:block;position:relative;left:50%;transform:translate(-50%)}.project-description{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1rem;line-height:1.75}.project-content-heading{color:var(--text-primary);margin-top:2.5rem;margin-bottom:.75rem;font-size:1rem;font-weight:600}.project-content-text{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem;line-height:1.75}.project-content-quote{border-left:2px solid var(--action-primary);color:var(--text-secondary);margin:2rem 0;padding:.375rem 0 .375rem 1.25rem;font-style:italic;line-height:1.7}.project-content-image{width:100%;height:auto;margin:2rem 0}.project-content-gallery{grid-template-columns:repeat(2,1fr);gap:12px;margin:2rem 0;display:grid}.project-content-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.project-content-results{margin:1.5rem 0 2rem;list-style:none}.project-content-results li{color:var(--text-secondary);border-top:1px solid var(--border-default);padding:.5rem 0;font-size:.9375rem;line-height:1.6}.project-content-results li:last-child{border-bottom:1px solid var(--border-default)}.project-links{flex-wrap:wrap;gap:1.5rem;margin-top:3rem;display:flex}.project-links a{color:var(--text-tertiary);text-decoration:underline;-webkit-text-decoration-color:var(--border-default);text-decoration-color:var(--border-default);text-underline-offset:3px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast);font-size:.9375rem}.project-links a:hover{color:var(--text-primary);-webkit-text-decoration-color:var(--action-primary);text-decoration-color:var(--action-primary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}
