.blog-index,.blog-post{max-width:760px;margin:0 auto;padding:80px 24px 120px}.blog-back-top{display:inline-block;margin-bottom:40px;font-size:.9rem;color:#888;text-decoration:none;transition:color .2s}.blog-back-top:hover{color:#fff}.blog-header{margin-bottom:64px}.blog-header .kicker{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#888;margin-bottom:12px}.blog-header h1{margin-bottom:16px}.blog-subheader{max-width:560px}.rss-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:.85rem;color:#888}.rss-link:hover{color:#fff}.rss-link:before{content:"";width:14px;height:14px;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19 7.38 20 6.18 20 5 20 4 19 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19 7.38 20 6.18 20 5 20 4 19 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1Z'/%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain}.tag-filter{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 48px}.tag-filter button{font:inherit;font-size:.8rem;background:transparent;border:1px solid #3a3a3a;color:#999;padding:6px 14px;border-radius:20px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.tag-filter button:hover{border-color:#666;color:#fff}.tag-filter button.active{background:#fff;border-color:#fff;color:#111}.featured-post{display:block;color:inherit;text-decoration:none;margin-bottom:64px;padding-bottom:48px;border-bottom:1px solid #2a2a2a}.featured-post-cover{aspect-ratio:21/9;overflow:hidden;border-radius:10px;margin-bottom:28px;background:#111}.featured-post-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.featured-post:hover .featured-post-cover img{transform:scale(1.03)}.featured-post-meta{display:flex;align-items:center;gap:12px;margin-bottom:14px}.featured-post-meta time{font-size:.85rem;color:#888}.featured-post h2{font-size:2rem;margin-bottom:12px;transition:color .2s}.featured-post:hover h2{color:#fff}.featured-post p{font-size:1.05rem;color:#aaa;max-width:640px}.post-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:48px}.post-card a{display:block;color:inherit;text-decoration:none}.post-card-cover{aspect-ratio:16/9;overflow:hidden;border-radius:8px;margin-bottom:20px;background:#111}.post-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.post-card-cover:hover img{transform:scale(1.03)}.post-card h2{margin-bottom:8px;transition:color .2s}.post-card a:hover h2{color:#fff}.post-meta{display:flex;align-items:center;gap:16px;margin-bottom:10px}.post-meta time{font-size:.85rem;color:#888}.tag-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.tag{font-size:.75rem;background:#2a2a2a;border:1px solid #444;color:#aaa;padding:2px 10px;border-radius:20px}.blog-back,.blog-empty{margin-top:64px}.draft-banner{background:#4a1d1d;border:1px solid #a33;color:#ffb4b4;font-size:.85rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:10px 16px;border-radius:6px;margin-bottom:32px}.post-nav{position:sticky;top:0;z-index:10;width:100vw;margin-left:50%;margin-top:-80px;margin-bottom:24px;transform:translateX(-50%);padding:20px 24px;background:rgba(24,24,24,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.post-nav-back{font-size:.9rem;color:#aaa;text-decoration:none;transition:color .2s}.post-nav-back:hover{color:#fff}.post-cover{width:100vw;margin-left:50%;transform:translateX(-50%);margin-top:24px;margin-bottom:40px;max-height:60vh;overflow:hidden;background:#111}.post-cover img{width:100%;height:100%;object-fit:cover;display:block}.post-header{margin-bottom:48px;border-bottom:1px solid #333;padding-bottom:32px}.post-project-cta{margin:-24px 0 40px}.post-project-cta a{display:inline-block;font-size:.9rem;font-weight:600;color:#fff;background:#2a2a2a;border:1px solid #444;padding:8px 16px;border-radius:20px;text-decoration:none;transition:background .2s,border-color .2s}.post-project-cta a:hover{background:#333;border-color:#666}.post-header h1{margin-top:16px;margin-bottom:12px}.post-description{font-size:1.1rem;color:#aaa;margin-bottom:12px}.post-meta-row{display:flex;align-items:center;gap:12px}.post-reading-time{font-size:.85rem;color:#666}.post-reading-time:before{content:"·";margin-right:12px;color:#444}.case-study-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 32px;margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid #333}.case-study-facts .fact h4{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#777;margin-bottom:6px}.case-study-facts .fact p{font-size:.95rem;color:#ccc;line-height:1.5}.post-date{font-size:.85rem;color:#666}.post-body{line-height:1.9}.post-body h2{margin-top:48px;margin-bottom:16px}.post-body h3{margin-top:32px;margin-bottom:12px}.post-body p{margin-bottom:1.5rem}.post-body pre{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:20px;overflow-x:auto;margin:24px 0}.post-body code{font-family:Fira Code,Cascadia Code,monospace;font-size:.9em;background:#1e1e1e;padding:2px 6px;border-radius:4px;color:#e2e2e2}.post-body pre code{background:none;padding:0}.post-body blockquote{border-left:3px solid #555;padding-left:20px;margin-left:0;color:#aaa;font-style:italic}.post-body img{max-width:100%;border-radius:6px;margin:24px 0}.blog-figure{margin:24px 0}.blog-figure img{margin:0}.blog-figure figcaption,.blog-fullbleed figcaption,.blog-spread figcaption,.blog-video figcaption{margin-top:10px;font-size:.85rem;color:#888;text-align:center}.blog-fullbleed{width:100vw;margin-left:50%;transform:translateX(-50%);margin-top:40px;margin-bottom:40px}.blog-fullbleed__frame{width:100%;max-height:80vh;overflow:hidden;background:#111}.blog-fullbleed__frame img{width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;display:block}.blog-fullbleed figcaption{max-width:760px;margin-left:auto;margin-right:auto;padding:0 24px}.blog-spread{margin:32px 0}.blog-spread__grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.blog-spread__item img{width:100%;aspect-ratio:1/1;object-fit:cover;margin:0;border-radius:6px;display:block}.blog-spread__item-caption{display:block;margin-top:6px;font-size:.75rem;color:#777}.blog-video{margin:32px 0}.blog-video__frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}.blog-video__frame iframe,.blog-video__frame video{position:absolute;inset:0;width:100%;height:100%;border:0}@media (min-width:768px){.blog-fullbleed{margin-top:56px;margin-bottom:56px}.post-nav{margin-top:-120px}}.post-footer{margin-top:80px;padding-top:32px;border-top:1px solid #333;display:flex;flex-direction:column;gap:16px}@media (min-width:768px){.blog-index,.blog-post{padding:120px 40px 160px}}