@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap");:root{--color-bg:#faf7f2;--color-bg-alt:#f0ebe3;--color-surface:#fff;--color-text:#1a1612;--color-text-secondary:#6b5e52;--color-text-muted:#9c8e80;--color-accent:#e85d26;--color-accent-hover:#d14e1a;--color-accent-soft:#fff0ea;--color-border:#e5ddd3;--color-border-strong:#c9bfb3;--color-tag-bg:#ede8e0;--color-tag-text:#5a4e42;--color-code-bg:#2d2520;--font-display:"Instrument Serif",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--max-width:1200px;--content-width:720px;--radius:8px;--radius-lg:16px;--ease-out:cubic-bezier(0.16,1,0.3,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.7;min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:hsla(38,44%,96%,.85);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-bottom:1px solid var(--color-border)}.header-inner{max-width:var(--max-width);margin:0 auto;padding:1rem 2rem;justify-content:space-between}.header-inner,.site-logo{display:flex;align-items:center}.site-logo{font-family:var(--font-display);font-size:1.75rem;font-weight:400;letter-spacing:-.02em;color:var(--color-text);gap:.5rem}.site-logo .logo-mark{width:32px;height:32px;background:var(--color-accent);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-family:var(--font-body);font-weight:600;transform:rotate(-3deg)}.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}.nav-links a{font-size:.9rem;font-weight:500;color:var(--color-text-secondary);transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:width .3s var(--ease-out)}.nav-links a:hover{color:var(--color-text)}.nav-links a:hover:after{width:100%}.nav-cta{background:var(--color-text)!important;color:var(--color-bg)!important;padding:.5rem 1.25rem;border-radius:100px;font-size:.85rem!important;font-weight:500!important;transition:transform .2s var(--ease-out),box-shadow .2s!important}.nav-cta:after{display:none!important}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.hero{max-width:var(--max-width);margin:0 auto;padding:var(--space-3xl) 2rem var(--space-2xl);text-align:center}.hero-eyebrow{font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--space-md)}.hero h1{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-lg);max-width:800px;margin-left:auto;margin-right:auto}.hero h1 em{font-style:italic;color:var(--color-accent)}.hero-sub{font-size:1.15rem;color:var(--color-text-secondary);max-width:520px;margin:0 auto;line-height:1.6}.featured-post{max-width:var(--max-width);margin:0 auto var(--space-3xl);padding:0 2rem}.featured-card{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:0;gap:0;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.featured-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.08)}.featured-image{aspect-ratio:4/3;overflow:hidden;position:relative}.featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.featured-card:hover .featured-image img{transform:scale(1.05)}.featured-content{padding:var(--space-2xl);display:flex;flex-direction:column;justify-content:center}.featured-badge{font-family:var(--font-mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);background:var(--color-accent-soft);padding:.3rem .75rem;border-radius:100px;display:inline-block;width:-moz-fit-content;width:fit-content;margin-bottom:var(--space-lg)}.featured-content h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin-bottom:var(--space-md)}.featured-excerpt{color:var(--color-text-secondary);font-size:1rem;line-height:1.7;margin-bottom:var(--space-lg)}.featured-meta{display:flex;align-items:center;gap:var(--space-md);font-size:.85rem;color:var(--color-text-muted)}.featured-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--color-text-muted)}.posts-section{max-width:var(--max-width);margin:0 auto;padding:0 2rem var(--space-3xl)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-text)}.section-header h2{font-family:var(--font-display);font-size:1.75rem;font-weight:400}.section-header .post-count{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted)}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-xl);gap:var(--space-xl)}.post-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);display:flex;flex-direction:column}.post-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.07)}.post-card-image{aspect-ratio:16/10;overflow:hidden;position:relative}.post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}.post-card:hover .post-card-image img{transform:scale(1.06)}.post-card-image .image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-bg-alt) 0,var(--color-border) 100%);display:flex;align-items:center;justify-content:center}.post-card-image .image-placeholder span{font-family:var(--font-display);font-size:2rem;color:var(--color-text-muted);opacity:.5}.post-card-body{padding:var(--space-lg);flex:1 1;display:flex;flex-direction:column}.post-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--space-sm)}.post-tag{font-family:var(--font-mono);font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-tag-text);background:var(--color-tag-bg);padding:.2rem .55rem;border-radius:4px}.post-card-body h3{font-family:var(--font-display);font-size:1.3rem;font-weight:400;line-height:1.3;letter-spacing:-.01em;margin-bottom:var(--space-sm)}.post-card-body .excerpt{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6;flex:1 1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-card-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.post-date{font-size:.8rem;color:var(--color-text-muted)}.read-more{font-size:.8rem;font-weight:600;color:var(--color-accent);display:flex;align-items:center;gap:.35rem;transition:gap .2s var(--ease-out)}.post-card:hover .read-more{gap:.6rem}.post-hero{max-width:var(--max-width);margin:0 auto;padding:var(--space-2xl) 2rem var(--space-xl);text-align:center}.post-hero .back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-xl);transition:color .2s,gap .2s var(--ease-out)}.post-hero .back-link:hover{color:var(--color-accent);gap:.75rem}.post-hero h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.15;letter-spacing:-.03em;max-width:800px;margin:0 auto var(--space-lg)}.post-hero-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-md);font-size:.9rem;color:var(--color-text-muted);margin-bottom:var(--space-xl)}.post-hero-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--color-border-strong)}.post-cover{max-width:960px;margin:0 auto var(--space-2xl);padding:0 2rem}.post-cover img{width:100%;border-radius:var(--radius-lg);aspect-ratio:2/1;object-fit:cover}.post-content{max-width:var(--content-width);margin:0 auto;padding:0 2rem var(--space-3xl)}.post-content h2{font-size:1.85rem;line-height:1.25;letter-spacing:-.02em;margin:var(--space-2xl) 0 var(--space-md);color:var(--color-text)}.post-content h2,.post-content h3{font-family:var(--font-display);font-weight:400}.post-content h3{font-size:1.4rem;line-height:1.3;margin:var(--space-xl) 0 var(--space-sm)}.post-content p{margin-bottom:var(--space-lg);font-size:1.05rem;line-height:1.8;color:var(--color-text)}.post-content a{color:var(--color-accent);text-decoration:underline;-webkit-text-decoration-color:rgba(232,93,38,.3);text-decoration-color:rgba(232,93,38,.3);text-underline-offset:3px;transition:-webkit-text-decoration-color .2s;transition:text-decoration-color .2s;transition:text-decoration-color .2s,-webkit-text-decoration-color .2s}.post-content a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.post-content img{border-radius:var(--radius);margin:var(--space-xl) 0;width:100%}.post-content blockquote{border-left:3px solid var(--color-accent);padding:var(--space-md) var(--space-lg);margin:var(--space-xl) 0;background:var(--color-accent-soft);border-radius:0 var(--radius) var(--radius) 0;font-style:italic;color:var(--color-text-secondary)}.post-content pre{background:var(--color-code-bg);color:#f0ebe3;padding:var(--space-lg);border-radius:var(--radius);overflow-x:auto;margin:var(--space-xl) 0;font-family:var(--font-mono);font-size:.88rem;line-height:1.6}.post-content code{font-family:var(--font-mono);font-size:.88em;background:var(--color-bg-alt);padding:.15em .4em;border-radius:4px}.post-content pre code{background:none;padding:0}.post-content ol,.post-content ul{margin:0 0 var(--space-lg) var(--space-lg)}.post-content li{margin-bottom:var(--space-sm);font-size:1.05rem;line-height:1.7}.post-content table{width:100%;border-collapse:collapse;margin:var(--space-xl) 0;font-size:.95rem}.post-content td,.post-content th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.post-content th{font-weight:600;background:var(--color-bg-alt)}.site-footer{background:var(--color-text);color:var(--color-bg);padding:var(--space-2xl) 2rem}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.footer-logo{font-family:var(--font-display);font-size:1.5rem}.footer-links{display:flex;gap:var(--space-lg);list-style:none}.footer-links a{font-size:.85rem;color:var(--color-text-muted);transition:color .2s}.footer-links a:hover{color:var(--color-bg)}.footer-copy{font-size:.8rem;color:var(--color-text-muted)}.empty-state{text-align:center;padding:var(--space-3xl) 2rem}.empty-icon{width:80px;height:80px;margin:0 auto var(--space-lg);background:var(--color-bg-alt);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.empty-state h2{font-family:var(--font-display);font-size:1.75rem;margin-bottom:var(--space-sm)}.empty-state p{color:var(--color-text-secondary);max-width:440px;margin:0 auto}@media (max-width:900px){.posts-grid{grid-template-columns:repeat(2,1fr)}.featured-card{grid-template-columns:1fr}.featured-content{padding:var(--space-xl)}}@media (max-width:640px){.header-inner{padding:.75rem 1rem}.nav-links{gap:1rem}.nav-links .hide-mobile{display:none}.hero{padding:var(--space-2xl) 1rem var(--space-xl)}.posts-grid{grid-template-columns:1fr;gap:var(--space-lg)}.featured-post,.post-content,.post-cover,.post-hero,.posts-section{padding-left:1rem;padding-right:1rem}.footer-inner{flex-direction:column;gap:var(--space-md);text-align:center}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeUp .6s var(--ease-out) both}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}