.post-hero{position:relative;margin:0 calc(-1 * var(--space-lg))var(--space-lg);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-secondary)}@media(max-width:768px){.post-hero{margin:0 calc(-1 * var(--space-md))var(--space-md);border-radius:var(--radius-md)}}.post-hero-image{position:relative;width:100%;aspect-ratio:21/9;overflow:hidden}.post-hero-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow)}.post-hero:hover .post-hero-image img{transform:scale(1.02)}.post-hero-content{padding:var(--space-lg);background:linear-gradient(to bottom,transparent,var(--color-bg))}.post-hero .post-title{font-size:var(--text-3xl);margin:0 0 var(--space-sm);line-height:var(--leading-tight)}.post-caption{font-size:var(--text-lg);color:var(--color-text-secondary);margin:0;font-style:italic}.post-meta-bar{display:flex;flex-wrap:wrap;gap:var(--space-md)var(--space-lg);padding:var(--space-md)0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.meta-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-text-secondary)}.meta-item--primary{font-weight:var(--font-semibold,600);color:var(--color-text)}.meta-icon{flex-shrink:0;color:var(--color-primary)}.section-label{display:block;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.post-description,.post-excerpt{padding:var(--space-md);margin-bottom:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.post-description p,.post-excerpt p{margin:0;font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.post-excerpt{background:var(--color-bg-tertiary);border-left-color:var(--color-success)}.post-roles{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.role-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.role-tag{display:inline-flex;align-items:center;padding:var(--space-xs)var(--space-sm);background:var(--accent-color-faded);color:var(--color-primary);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-full);text-transform:capitalize}.role-tag:hover{background:var(--color-primary);color:#fff}.post-organizations{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.org-list{display:flex;flex-direction:column;gap:var(--space-md)}.org-item{padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);transition:transform var(--duration-fast),box-shadow var(--duration-fast)}.org-item:hover,.org-item:focus-within{transform:translateY(-2px);box-shadow:var(--shadow-md)}.org-item:focus-within{outline:2px solid var(--color-link);outline-offset:2px}.org-name{display:inline-flex;align-items:center;gap:var(--space-xs);font-weight:600;color:var(--color-text);text-decoration:none}.org-name:hover,.org-name:focus-visible{color:var(--color-primary)}.org-name:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.org-name svg{opacity:.6}.org-description{margin:var(--space-xs)0 0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.post-taxonomies{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.taxonomy-group{margin-bottom:var(--space-md)}.taxonomy-group:last-child{margin-bottom:0}.taxonomy-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.taxonomy-tag{display:inline-flex;align-items:center;padding:var(--space-xs)var(--space-sm);font-size:var(--text-sm);border-radius:var(--radius-full);text-decoration:none;transition:all var(--duration-fast)}.taxonomy-tag:not(.category){background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.taxonomy-tag:not(.category):hover,.taxonomy-tag:not(.category):focus-visible{background:var(--accent-color-faded);color:var(--color-primary);border-color:var(--color-primary)}.taxonomy-tag:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.taxonomy-tag.category{background:var(--color-primary);color:#fff;font-weight:600}.taxonomy-tag.category:hover,.taxonomy-tag.category:focus-visible{background:var(--accent-color-hover);color:#fff;transform:translateY(-1px)}.post-links{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.link-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.post-link{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm)var(--space-md);background:var(--color-bg-secondary);color:var(--color-text);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md);border:1px solid var(--color-border);text-decoration:none;transition:all var(--duration-fast)}.post-link:hover,.post-link:focus-visible{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px)}.post-link:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.post-link svg{transition:transform var(--duration-fast)}.post-link:hover svg{transform:translate(2px,-2px)}.post-process{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.process-steps{display:flex;flex-wrap:wrap;gap:var(--space-md)}.process-step{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-primary);color:#fff;font-size:var(--text-sm);font-weight:700;border-radius:var(--radius-full)}.step-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.post-related-mini{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.related-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.related-mini-link{display:inline-flex;align-items:center;padding:var(--space-xs)var(--space-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--text-sm);border-radius:var(--radius-sm);text-decoration:none;transition:all var(--duration-fast)}.related-mini-link:hover,.related-mini-link:focus-visible{background:var(--accent-color-faded);color:var(--color-primary)}.related-mini-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.post-grid-links{margin:var(--space-xl)0;padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-lg)}.grid-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.grid-link{display:flex;flex-direction:column;padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);text-decoration:none;transition:all var(--duration-fast)}.grid-link:hover,.grid-link:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.grid-link:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.grid-link-title{font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.grid-link-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-snug)}[data-theme=dark] .post-hero-image img,.dark-mode .post-hero-image img{filter:brightness(.85)}.author-about{margin-top:var(--space-xl);padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.author-card{display:flex;align-items:center;gap:var(--space-md)}.author-avatar{width:56px;height:56px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.author-name{font-family:var(--font-heading);font-weight:var(--font-semibold,600);font-size:var(--text-sm);color:var(--color-text);display:block;margin-bottom:var(--space-xs)}.author-bio{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5;margin:0}.post-details{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-light)}