@import"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #FAF9F5;--text: #1b1b1c;--text-muted: #5d5d61;--accent: #8b5b3a;--border: #e6e2da;--subtle: #f2eee3;--font-serif: "Lora", serif;--font-sans: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);line-height:1.8;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.nav{border-bottom:1px solid var(--border);background:var(--bg)}.nav-container{max-width:900px;margin:0 auto;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.nav-name{font-family:var(--font-serif);font-weight:550;color:var(--text);text-decoration:none;font-size:1.1rem;letter-spacing:-.01em;transition:color .2s ease}.nav-name:hover{color:var(--accent)}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--text-muted);text-decoration:none;font-size:.85rem;font-family:var(--font-sans);font-weight:500;transition:color .2s ease}.nav-links a:hover{color:var(--text)}.container{max-width:900px;width:100%;margin:0 auto;padding:0 1.5rem 6rem;flex:1}.section-grid{display:grid;grid-template-columns:180px 1fr;gap:3rem;padding:5rem 0;border-bottom:1px solid var(--border)}.section-grid:last-of-type{border-bottom:none}.section-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:500;padding-top:.4rem;-webkit-user-select:none;user-select:none}.section-content{max-width:580px}.intro-image{width:160px;height:160px;border-radius:50%;object-fit:cover;margin-bottom:2.5rem;border:1px solid var(--border);filter:grayscale(100%);transition:filter .3s ease}.intro-image:hover{filter:grayscale(0%)}h1{font-family:var(--font-serif);font-size:2.1rem;font-weight:500;line-height:1.35;margin-bottom:2rem;color:var(--text);letter-spacing:-.02em}.intro-text{font-size:.975rem;line-height:1.85;color:var(--text-muted);margin-bottom:1.75rem}.intro-text strong{color:var(--text);font-weight:600}.work-item{margin-bottom:3rem}.work-item:last-child{margin-bottom:0}.work-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;gap:1rem}.work-item h3{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--text)}.work-year{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);font-weight:500}.work-item p{color:var(--text-muted);line-height:1.75;font-size:.925rem}.exp-item{margin-bottom:3.5rem}.exp-item:last-child{margin-bottom:0}.exp-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.exp-header strong{font-family:var(--font-serif);font-size:1.15rem;color:var(--text);font-weight:500}.exp-header span{font-family:var(--font-mono);font-size:.75rem;color:var(--accent)}.exp-item p{color:var(--text-muted);line-height:1.75;font-size:.925rem}.exp-item p strong{color:var(--text);font-weight:500}.awards-list{list-style-type:none;padding-left:0}.awards-list li{position:relative;padding-left:1.25rem;margin-bottom:1.25rem;font-size:.95rem;color:var(--text-muted);line-height:1.6}.awards-list li:before{content:"→";color:var(--accent);position:absolute;left:0;top:0;font-weight:500;font-family:var(--font-sans)}.awards-list li strong{color:var(--text);font-weight:500}.contact a{color:var(--accent);text-decoration:none;font-weight:500;transition:color .2s ease;border-bottom:1px solid transparent}.contact a:hover{color:var(--text);border-bottom-color:var(--text)}.divider{width:100%;height:1px;background:var(--border);margin:2rem 0}.writing-intro{padding-top:5rem;padding-bottom:2rem}.poem-article{margin-top:2rem}.poem-article h2{font-family:var(--font-serif);font-size:1.6rem;font-weight:500;margin-bottom:1.5rem;color:var(--text)}.poem-content{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;line-height:2.1;color:#222224;white-space:pre-line;margin:2.5rem 0;padding:2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);letter-spacing:.1px}.poem-reflection p{color:var(--text-muted);line-height:1.8;margin-bottom:1.5rem;font-size:.95rem}.blogs-intro{padding-top:5rem;padding-bottom:2rem}.blogs-list{margin-top:2rem}.blog-preview{margin-bottom:4rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border)}.blog-preview:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.blog-preview-link{text-decoration:none;color:inherit;display:block}.blog-preview h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--text);margin-bottom:.5rem;line-height:1.35;font-weight:500;letter-spacing:-.015em;transition:color .2s ease}.blog-preview-link:hover h2{color:var(--accent)}.blog-preview-subtitle{font-family:var(--font-sans);font-size:.875rem;color:var(--accent);margin-bottom:1rem;font-weight:500}.blog-preview-excerpt{color:var(--text-muted);line-height:1.75;margin-bottom:1.25rem;font-size:.95rem}.blog-preview-date{font-family:var(--font-mono);font-size:.725rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.blog-post-nav{padding-top:5rem;margin-bottom:2rem}.blog-back-link{color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:500;transition:color .2s ease;font-family:var(--font-mono);letter-spacing:.5px}.blog-back-link:hover{color:var(--text)}.blog-article h1{font-size:2.3rem;line-height:1.25;margin-bottom:.75rem;font-weight:500;color:var(--text);letter-spacing:-.02em}.blog-subtitle{font-size:1.15rem;color:var(--accent);font-style:italic;margin-bottom:1.25rem;line-height:1.6;font-family:var(--font-serif)}.blog-date{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3rem;display:block}.blog-content{color:var(--text);line-height:1.85;font-size:1rem}.blog-content p{margin-bottom:1.75rem}.blog-content p:first-of-type{font-size:1.1rem;line-height:1.8;color:#111;margin-bottom:2rem}.blog-content h2{font-family:var(--font-serif);font-size:1.6rem;font-weight:500;color:var(--text);margin-top:3.5rem;margin-bottom:1.25rem;border-top:none;padding-top:0}.blog-content h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--text);margin-top:2.5rem;margin-bottom:1rem}.blog-content h4{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--text);margin-top:2rem;margin-bottom:.85rem}.blog-content ul,.blog-content ol{margin-bottom:1.75rem;padding-left:1.5rem}.blog-content li{margin-bottom:.75rem}.blog-content ul{list-style:square}.blog-content ol{list-style-type:decimal}.architecture-flow{margin:2.5rem 0;display:flex;flex-direction:column;gap:1rem}.flow-step{display:flex;align-items:flex-start;gap:1.25rem;padding:1.25rem;background:var(--subtle);border:1px solid var(--border);border-radius:4px}.flow-number{flex-shrink:0;width:2rem;height:2rem;background:var(--accent);color:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;font-family:var(--font-mono)}.flow-content{flex:1}.flow-content strong{display:block;color:var(--text);font-size:.95rem;font-weight:600;margin-bottom:.25rem}.flow-content p{color:var(--text-muted);font-size:.875rem;margin:0;line-height:1.5}.blog-content code{background:var(--subtle);color:#111;padding:.15rem .35rem;border-radius:3px;font-family:var(--font-mono);font-size:.85em;border:1px solid rgba(0,0,0,.05)}.code-block{font-family:var(--font-mono);background:#1e1e24!important;color:#f3f3f6;padding:1.5rem;border:1px solid rgba(0,0,0,.1);margin:2.25rem 0;white-space:pre;font-size:.825rem;border-radius:4px;line-height:1.6;overflow-x:auto;display:block}.quote{font-family:var(--font-serif);font-style:italic;color:var(--accent);padding-left:1.5rem;border-left:2px solid var(--accent);margin:2rem 0;font-size:1.025rem}.blog-content a{color:var(--accent);text-decoration:none;font-weight:500;border-bottom:1px solid rgba(139,90,43,.3);transition:all .2s ease}.blog-content a:hover{color:var(--text);border-bottom-color:var(--text)}.blog-table{width:100%;border-collapse:collapse;margin:2.25rem 0;font-size:.875rem;border:1px solid var(--border);background:var(--bg)}.blog-table thead{background:var(--subtle);border-bottom:1px solid var(--border)}.blog-table th{text-align:left;padding:.85rem 1rem;font-weight:600;color:var(--text)}.blog-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--text-muted);line-height:1.5}.blog-table tbody tr:last-child td{border-bottom:none}.blog-post-navigation{display:flex;justify-content:space-between;gap:1.5rem;margin-top:4rem;border-top:1px solid var(--border);padding-top:2rem}.blog-nav-link{flex:1;text-decoration:none;color:inherit;padding:1.25rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);transition:all .2s ease;display:flex;flex-direction:column;gap:.35rem}.blog-nav-link:hover{border-color:var(--accent);background:var(--subtle)}.blog-nav-prev{text-align:left}.blog-nav-next{text-align:right}.blog-nav-label{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.blog-nav-title{font-weight:500;color:var(--text);font-size:.9rem;line-height:1.4;font-family:var(--font-serif)}footer{padding:4.5rem 1.5rem;text-align:center;border-top:1px solid var(--border);margin-top:4rem;background:var(--bg)}footer p{font-size:.825rem;color:var(--text-muted);font-family:var(--font-serif);font-style:italic}.view-counter{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);margin-top:.75rem;letter-spacing:.05em;text-transform:uppercase}.view-counter span{color:var(--accent);font-weight:500}@media(max-width:768px){body{font-size:14px}.nav-container{padding:1.25rem 1rem;flex-direction:column;gap:.75rem;align-items:flex-start}.nav-links{gap:1.5rem}.container{padding:0 1rem 4rem}.section-grid{grid-template-columns:1fr;gap:1rem;padding:3rem 0}.section-label{padding-top:0;border-bottom:1px solid var(--border);padding-bottom:.5rem;margin-bottom:.5rem}h1{font-size:1.85rem}.work-header,.exp-header{flex-direction:column;align-items:flex-start;gap:.25rem}.blog-article h1{font-size:1.85rem}.blog-post-navigation{flex-direction:column;gap:1rem}}.contact-form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;width:100%}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.form-input,.form-textarea{background:transparent;border:none;border-bottom:1px solid var(--border);padding:.6rem 0;font-family:var(--font-sans);font-size:.95rem;color:var(--text);outline:none;transition:border-color .25s ease}.form-input:focus,.form-textarea:focus{border-bottom-color:var(--accent)}.form-textarea{min-height:100px;resize:vertical}.form-submit-btn{align-self:flex-start;background:var(--text);color:var(--bg);border:none;padding:.8rem 2rem;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;transition:all .25s ease;border-radius:2px}.form-submit-btn:hover{background:var(--accent);color:var(--bg);transform:translateY(-1px)}.form-submit-btn:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed;transform:none}.form-status{font-family:var(--font-sans);font-size:.9rem;padding:.75rem;border-radius:4px}.form-status.success{background-color:#e6f4ea;color:#137333;border:1px solid #c2e7c9}.form-status.error{background-color:#fce8e6;color:#c5221f;border:1px solid #fad2cf}.form-status.submitting{background-color:var(--subtle);color:var(--text-muted);border:1px solid var(--border)}.social-links{display:flex;gap:1.5rem;font-size:.85rem;border-top:1px solid var(--border);padding-top:1.5rem}.social-links a{color:var(--accent);text-decoration:none;font-weight:500;transition:color .25s ease}.social-links a:hover{color:var(--text)}
