.photo-single{max-width:900px;margin:0 auto;padding:var(--space-3xl)0}.photo-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.back-link{color:var(--text-muted);text-decoration:none;font-size:.875rem;transition:color .2s ease}.back-link:hover{color:var(--accent-warm)}.album-links{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.album-link{color:var(--accent-teal);text-decoration:none;font-size:.875rem;transition:color .2s ease}.album-link:hover{color:var(--accent-warm)}.photo-article{background:var(--bg-card);border:1px solid var(--border-default);border-radius:16px;overflow:hidden}.photo-figure{margin:0;background:var(--bg)}.photo-figure img{width:100%;height:auto;display:block}.photo-categories{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;padding:var(--space-lg)var(--space-2xl);background:var(--bg-card)}.photo-category{color:var(--accent-teal);font-size:.875rem;text-decoration:none;transition:color .2s ease}.photo-category:hover{color:var(--accent-warm)}.photo-info{padding:var(--space-2xl)}.photo-header{margin-bottom:var(--space-xl)}.photo-header h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.photo-header time{color:var(--accent-warm);font-size:.9375rem}.photo-content{color:var(--text-secondary);font-size:1.0625rem;line-height:1.7;margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--border-default)}.photo-content p{margin-bottom:var(--space-md)}.photo-content p:last-child{margin-bottom:0}.photo-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.meta-item{display:flex;flex-direction:column;gap:var(--space-xs)}.meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-teal)}.meta-value{font-size:.9375rem;color:var(--text-primary)}.photo-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.photo-tag{background:0 0;border:1px solid var(--accent-teal);color:var(--accent-teal);padding:.25rem .75rem;border-radius:4px;font-size:.75rem}@media(max-width:768px){.photo-single{padding:var(--space-xl)0}.photo-info{padding:var(--space-xl)}.photo-header h1{font-size:1.5rem}.photo-metadata{grid-template-columns:1fr 1fr}}