@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:#12150f;background-color:#f5f1e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{color:#12150f;text-decoration:none}a:hover{opacity:.7}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2.5rem;line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0}h2{font-weight:600;letter-spacing:-.01em}h3{font-weight:600}button{border-radius:6px;border:1px solid #12150F;padding:.6em 1.4em;font-size:.9rem;font-weight:500;font-family:inherit;background-color:#12150f;color:#fafaf9;cursor:pointer;transition:all .15s ease}button:hover{background-color:#2a2f23}button:focus,button:focus-visible{outline:2px solid #12150F;outline-offset:2px}::selection{background:#12150f26}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;max-width:900px;margin:0 auto;padding:4rem 2rem;width:100%;box-sizing:border-box}.nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;border-bottom:1px solid rgba(18,21,15,.1)}.nav-brand{font-size:1.5rem;font-weight:700;cursor:pointer;letter-spacing:-.02em}.nav-links{display:flex;gap:.5rem}.nav-links button{background:transparent;border:none;color:#12150f;padding:.5rem 1rem;font-size:.95rem;opacity:.7;transition:opacity .2s}.nav-links button:hover{background:transparent;opacity:1;transform:none}.nav-links button.active{opacity:1;font-weight:600}.landing{text-align:center}.hero{padding:4rem 0 6rem}.hero h1{font-size:4.5rem;margin:0 0 1rem;font-weight:700;letter-spacing:-.03em}.tagline{font-size:1.3rem;opacity:.8;margin-bottom:2.5rem;font-weight:400}.hero-cta{display:flex;gap:1rem;justify-content:center}.hero-cta button.secondary{background:transparent;color:#12150f}.hero-cta button.secondary:hover{background:#12150f0d}.landing-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.landing-card{padding:2rem;border:1px solid rgba(18,21,15,.1);border-radius:8px;text-align:left;transition:border-color .2s}.landing-card:hover{border-color:#12150f4d}.landing-card h3{margin:0 0 .75rem;font-size:1.1rem}.landing-card p{margin:0;opacity:.7;font-size:.95rem;line-height:1.5}.about h1{margin-bottom:2rem}.about-content{max-width:600px}.about-content p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.about-contact{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(18,21,15,.1)}.about-contact h3{margin-bottom:1rem}.about-contact p{font-size:1rem;margin-bottom:.5rem;opacity:.8}.projects h1{margin-bottom:1.5rem}.tag-filter{display:flex;gap:.5rem;margin-bottom:3rem;flex-wrap:wrap}.tag-filter button{background:transparent;border:1px solid rgba(18,21,15,.2);color:#12150f;padding:.4rem 1rem;font-size:.85rem;opacity:.7}.tag-filter button:hover{background:transparent;opacity:1;transform:none;border-color:#12150f66}.tag-filter button.active{background:#12150f;color:#f6efe1;opacity:1;border-color:#12150f}.project-list{display:flex;flex-direction:column;gap:1.5rem}.project-card{padding:1.5rem 0;border-bottom:1px solid rgba(18,21,15,.1)}.project-card:last-child{border-bottom:none}.project-card h2{font-size:1.4rem;margin:.5rem 0 .25rem;font-weight:600}.project-card p{margin:0;opacity:.8}.project-date{font-size:.85rem;opacity:.5!important;margin-bottom:.5rem!important}.tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:3px;font-weight:600}.tag-personal{background:#6495ed26;color:#4169e1}.tag-business{background:#228b2226;color:#228b22}.tag-review{background:#ff8c0026;color:#d2691e}@media (max-width: 768px){.nav{padding:1rem 1.5rem}.main{padding:2rem 1.5rem}.hero h1{font-size:3rem}.landing-sections{grid-template-columns:1fr;gap:1rem}.hero-cta{flex-direction:column;align-items:center}}.projects-page{min-height:100vh;padding:3rem 4rem 4rem;background-color:#ebe9e4;box-shadow:inset 0 0 150px #64503240;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#2b2118;line-height:1.7;box-sizing:border-box;position:relative}.projects-page:before,.projects-page:after{content:"";position:absolute;pointer-events:none;z-index:0}.projects-page:before{top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 30px 100px at 0% 20%,rgba(0,0,0,.5) 0%,rgba(30,20,10,.3) 40%,transparent 70%),radial-gradient(ellipse 40px 150px at 0% 70%,rgba(0,0,0,.45) 0%,rgba(25,15,5,.25) 45%,transparent 70%),radial-gradient(ellipse 35px 120px at 100% 30%,rgba(0,0,0,.5) 0%,rgba(20,10,5,.3) 40%,transparent 70%),radial-gradient(ellipse 45px 160px at 100% 80%,rgba(0,0,0,.4) 0%,rgba(30,20,10,.2) 45%,transparent 65%)}.projects-page:after{top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 60px 30px at 30% 0%,rgba(0,0,0,.35) 0%,transparent 70%),radial-gradient(ellipse 50px 25px at 70% 100%,rgba(0,0,0,.3) 0%,transparent 70%)}.back-button{position:relative;z-index:1;background:transparent;border:none;color:#2b2118;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;padding:0;margin-bottom:2rem;opacity:.7;cursor:pointer;transition:opacity .2s}.back-button:hover{opacity:1;background:transparent;transform:none}.projects-header{position:relative;z-index:1;text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(43,33,24,.15)}.projects-title{font-family:Inter,sans-serif;font-size:2.5rem;font-weight:600;margin:0;letter-spacing:-.02em}.projects-page .tag-filter{position:relative;z-index:1;display:flex;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap;justify-content:center}.projects-page .tag-filter button{font-family:Inter,sans-serif;font-weight:500;background:transparent;border:1px solid rgba(43,33,24,.3);color:#2b2118;padding:.4rem 1rem;font-size:.85rem;opacity:.8;border-radius:2px;cursor:pointer;transition:all .2s}.projects-page .tag-filter button:hover{background:#2b211814;opacity:1;transform:none;border-color:#2b211880}.projects-page .tag-filter button.active{background:#2b2118;color:#ebe9e4;opacity:1;border-color:#2b2118}.projects-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.project-card{background:#fffaf066;border:1px solid rgba(43,33,24,.15);border-radius:2px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 2px 8px #00000014;position:relative;padding-bottom:3rem}.project-card:hover{border-color:#2b21184d;box-shadow:0 6px 20px #00000026;transform:translateY(-3px)}.project-image{width:calc(100% - 12px);margin:6px 6px 0;overflow:hidden;border-radius:2px;display:flex;justify-content:center;background:#2b21180d}.project-image img{max-width:100%;max-height:220px;width:auto;height:auto;object-fit:contain;filter:sepia(15%)}.project-card:hover .project-image img,.project-card:hover .project-image video{transform:scale(1.03)}.project-content{padding:1rem 1.25rem 0;cursor:pointer}.project-content h2{font-family:Inter,sans-serif;font-size:1.2rem;font-weight:600;margin:0 0 .5rem;color:#2b2118;text-align:center}.project-content p{margin:0;font-size:.95rem;color:#2b2118}.project-desc{opacity:.8;line-height:1.6}.project-tools{font-size:.8rem!important;color:#1a1a1a;font-weight:600;font-style:normal;position:absolute;bottom:6px;left:12px}.tag-personal{background:#46648c33;color:#3d5a80}.tag-business{background:#3c643c33;color:#3d6b3d}.tag-review{background:#8c5a3233;color:#8b5a2b}.projects-footer{position:relative;z-index:1;display:flex;justify-content:center;padding-top:2rem;border-top:1px solid rgba(43,33,24,.15)}.projects-footer button{font-family:Inter,sans-serif;font-weight:500;background:#2b2118;color:#ebe9e4;border:none;padding:.75rem 2rem;font-size:1rem;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 4px #0003}.projects-footer button:hover{background:#3d2f24;transform:translateY(-2px);box-shadow:0 4px 8px #00000040}@media (max-width: 768px){.projects-page{padding:2.5rem 1.5rem 3rem}.projects-title{font-size:2.2rem}.projects-grid{grid-template-columns:1fr}}.article-page{min-height:100vh;background-color:#ebe9e4;box-shadow:inset 0 0 150px #64503240;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#2b2118;line-height:1.7;position:relative;padding:3rem 1.5rem 4rem}.article-page:before,.article-page:after{content:"";position:absolute;pointer-events:none;z-index:0}.article-page:before{top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 30px 100px at 0% 15%,rgba(0,0,0,.5) 0%,rgba(30,20,10,.3) 40%,transparent 70%),radial-gradient(ellipse 40px 150px at 0% 60%,rgba(0,0,0,.45) 0%,rgba(25,15,5,.25) 45%,transparent 70%),radial-gradient(ellipse 35px 120px at 100% 25%,rgba(0,0,0,.5) 0%,rgba(20,10,5,.3) 40%,transparent 70%),radial-gradient(ellipse 45px 160px at 100% 75%,rgba(0,0,0,.4) 0%,rgba(30,20,10,.2) 45%,transparent 65%)}.article-page:after{top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 60px 30px at 25% 0%,rgba(0,0,0,.35) 0%,transparent 70%),radial-gradient(ellipse 50px 25px at 75% 100%,rgba(0,0,0,.3) 0%,transparent 70%)}.article-container{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:0 1rem}.back-button{background:transparent;border:none;color:#2b2118;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;padding:0;margin-bottom:2rem;opacity:.7;cursor:pointer;transition:opacity .2s}.back-button:hover{opacity:1;background:transparent}.article-header{text-align:center;margin-bottom:2.5rem}.article-tag{display:inline-block;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:.3rem 1rem;border-radius:2px;margin-bottom:1.25rem}.tag-slm{background:#783cb433;color:#6b2c91}.tag-app{background:#32966433;color:#2d7a4a}.tag-n8n{background:#ff643233;color:#cc4125}.tag-graphrag{background:#5078c833;color:#3d5a99}.tag-smallprojects{background:#a0785033;color:#8b6914}.article-title{font-family:Inter,sans-serif;font-size:2.5rem;font-weight:600;margin:0 0 1rem;line-height:1.2;letter-spacing:-.02em}.article-date{font-style:normal;opacity:.6;font-size:.95rem;margin:0}.article-hero{position:relative;margin:0 -1.5rem 3rem;overflow:hidden;box-shadow:0 4px 20px #00000026;display:flex;justify-content:center;background:#2b21180d}.article-hero img{max-width:100%;max-height:500px;width:auto;height:auto;display:block;object-fit:contain}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(235,233,228,.1) 0%,transparent 20%,transparent 80%,rgba(235,233,228,.15) 100%);pointer-events:none}.article-body{margin-bottom:3rem}.article-body p{font-size:1.1rem;margin-bottom:1.5rem;line-height:1.8;text-indent:2rem}.article-body p:first-child{text-indent:0}.article-body p:last-child{margin-bottom:0}.article-subheader{display:block;font-size:1.3rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem;color:#2b2118;letter-spacing:-.01em;text-align:center;text-indent:0}.drop-cap{float:left;font-family:Inter,sans-serif;font-size:4rem;font-weight:600;line-height:.8;padding-right:12px;padding-top:6px;color:#2b2118}.article-footer{text-align:center;padding-top:2rem}.divider{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.divider:before,.divider:after{content:"";flex:1;max-width:100px;height:1px;background:linear-gradient(to right,transparent,rgba(43,33,24,.3),transparent)}.divider-ornament{padding:0 1rem;color:#2b211866;font-size:.9rem}.footer-text{font-family:Inter,sans-serif;font-size:1.1rem;font-weight:500;margin:0 0 2rem;opacity:.7}.back-btn{font-family:Inter,sans-serif;font-weight:500;background:#2b2118;color:#ebe9e4;border:none;padding:.75rem 2rem;font-size:1rem;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 4px #0003}.back-btn:hover{background:#3d2f24;transform:translateY(-2px);box-shadow:0 4px 8px #00000040}@media (max-width: 768px){.article-page{padding:2rem 1.5rem 3rem}.article-title{font-size:1.8rem}.article-hero{margin:0 -1.5rem 2.5rem}.article-body p{font-size:1rem;line-height:1.75}.drop-cap{font-size:3rem}.footer-text{font-size:1rem}}
