.project-page{max-width:820px;padding:0}.project-back-top{color:var(--text-muted);margin-bottom:1.2rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-block}.project-back-top:hover{color:var(--brand-500);text-decoration:none}.project-hero{border-bottom:1px solid var(--border);margin-bottom:2.5rem;padding-bottom:2.5rem}.project-hero-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border:1px solid var(--border);border-radius:3px;margin-bottom:.75rem;padding:.15rem .5rem;font-size:.62rem;font-weight:700;display:inline-block}.project-hero-title{letter-spacing:-.02em;color:var(--brand-900);margin:0 0 .75rem;font-family:DM Serif Display,Georgia,serif;font-size:3rem;font-style:italic;font-weight:400;line-height:1.05}.project-hero-tagline{color:var(--brand-900);margin:0 0 1.2rem;font-size:1.15rem;font-weight:600;line-height:1.7}.project-hero-sub{color:var(--text-secondary);font-size:.95rem;font-weight:400;line-height:1.7}.project-hero-links{align-items:center;gap:.75rem;display:flex}.hero-link{color:var(--brand-500);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.hero-link:hover{color:var(--brand-900);text-decoration:none}.hero-link--primary{background:var(--brand-500);border-radius:6px;padding:.45rem 1rem;transition:background .15s;color:#fff!important}.hero-link--primary:hover{background:var(--brand-700);color:#fff!important}.hero-link--primary svg{fill:#fff}.project-highlights{flex-direction:column;gap:3rem;margin-bottom:3rem;display:flex}.highlight{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;display:grid}.highlight--reverse{direction:rtl}.highlight--reverse>*{direction:ltr}.highlight-media{width:100%}.highlight-media-placeholder{aspect-ratio:16/10;background:var(--bg-subtle);border:2px dashed var(--border);color:var(--text-muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.78rem;transition:border-color .15s;display:flex}.highlight-media-placeholder:hover{border-color:var(--brand-500)}.highlight-media-placeholder svg{opacity:.3}.highlight-media video,.highlight-media img{border:1px solid var(--border);border-radius:10px;width:100%;box-shadow:0 2px 12px #00000014}.highlight-content{flex-direction:column;gap:.35rem;display:flex}.highlight-number{color:var(--brand-500);letter-spacing:.05em;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.highlight-title{color:var(--brand-900)!important;border:none!important;margin:0!important;padding:0!important;font-family:DM Serif Display,Georgia,serif!important;font-size:1.3rem!important;font-weight:400!important;line-height:1.25!important}.highlight-title:after{display:none!important}.highlight-desc{color:var(--text-secondary);margin:.3rem 0 .5rem;font-size:.88rem;line-height:1.7}.highlight-tags{flex-wrap:wrap;gap:.3rem;display:flex}.htag{background:var(--brand-100);color:var(--brand-700);border-radius:3px;padding:.12rem .45rem;font-size:.62rem;font-weight:600}.highlight-code{margin-top:.3rem}.highlight-code code{background:var(--bg-subtle);border:1px solid var(--border);color:var(--brand-700);border-radius:6px;padding:.45rem .7rem;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.5;display:block;overflow-x:auto}.project-stack{border-top:1px solid var(--border);margin-bottom:2rem;padding-top:2.5rem}.project-section-title{color:var(--brand-900)!important;border:none!important;margin:0 0 1rem!important;padding:0!important;font-family:DM Serif Display,Georgia,serif!important;font-size:1.3rem!important;font-weight:400!important}.project-section-title:after{display:none!important}.stack-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.stack-item{background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.15rem;padding:.65rem .85rem;display:flex}.stack-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.6rem;font-weight:700}.stack-value{color:var(--text-primary);font-size:.85rem;font-weight:500}.project-back{border-top:1px solid var(--border);padding-top:1.5rem}.project-back-link{color:var(--brand-500);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s}.project-back-link:hover{color:var(--brand-900);text-decoration:none}@media (width<=680px){.project-hero-title{font-size:2.2rem}.highlight{grid-template-columns:1fr;gap:1rem}.highlight--reverse{direction:ltr}.highlight-media{order:-1}.stack-grid{grid-template-columns:1fr}}
