.portfolio-detail{max-width:860px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-family:var(--font-p);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;margin-bottom:40px;transition:color var(--ease)}.back-link:hover{color:var(--primary)}.detail-hero-img{width:100%;max-height:400px;object-fit:cover;border-radius:12px;margin-bottom:36px;background:var(--dark-bg4);display:block}.detail-page-title{font-family:var(--font-p);font-size:clamp(20px,3.5vw,32px);font-weight:700;color:var(--text-white);line-height:1.3;margin:0 0 16px}.detail-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px}.detail-cats{display:flex;flex-wrap:wrap;gap:6px}.detail-cat{font-family:var(--font-p);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--primary);background:#ffb4001a;padding:3px 10px;border-radius:20px;border:1px solid rgba(255,180,0,.25)}.detail-year{font-family:var(--font-os);font-size:13px;color:var(--text-muted);margin-left:auto}.detail-divider{border:none;border-top:1px solid var(--dark-border);margin:28px 0}.detail-body{font-family:var(--font-os);font-size:15px;line-height:1.9;color:var(--text-light)}.detail-body p{margin:0 0 18px}.detail-body ul,.detail-body ol{list-style:disc;padding-left:24px;margin:0 0 18px}.detail-body ul li,.detail-body ol li{margin-bottom:8px;padding-left:4px}.detail-body strong{color:var(--text-white);font-weight:700}.detail-body em{color:var(--text-muted);font-style:italic}.detail-body h2,.detail-body h3{font-family:var(--font-p);color:var(--text-white);margin:32px 0 12px;font-weight:700}.detail-section-label{font-family:var(--font-p);font-size:13px;font-weight:600;text-transform:uppercase;color:var(--text-white);letter-spacing:.05em;margin:0 0 12px}.tech-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.tech-pill{font-family:var(--font-os);font-size:12px;color:var(--text-light);background:var(--dark-bg4);border:1px solid var(--dark-border);padding:5px 14px;border-radius:20px}.detail-cta{text-align:center;margin:40px 0}.cta-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border-radius:30px;background:#25d366;color:#fff;font-family:var(--font-p);font-size:15px;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;transition:opacity var(--ease),transform var(--ease)}.cta-btn:hover{opacity:.9;transform:translateY(-2px)}.cta-btn:focus-visible{outline:2px solid #25d366;outline-offset:3px}.cta-btn i{font-size:20px}.detail-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.detail-link{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:25px;background:var(--primary);color:#111;font-family:var(--font-p);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;transition:opacity var(--ease)}.detail-link:hover{opacity:.85}.detail-link.outline{background:transparent;border:1px solid var(--primary);color:var(--primary)}.detail-link.outline:hover{background:var(--primary);color:#111;opacity:1}.detail-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.related-section{margin-top:32px;margin-bottom:32px}.related-heading{font-family:var(--font-p);font-size:1.1rem;font-weight:700;color:var(--text-white);margin:0 0 16px;text-transform:uppercase;letter-spacing:.03em}.related-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.related-item{border:1px solid var(--dark-border);border-radius:10px;overflow:hidden;transition:border-color var(--ease)}.related-item:hover{border-color:var(--primary)}.related-link{display:flex;align-items:center;gap:16px;padding:12px;text-decoration:none;color:inherit}.related-img{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--dark-bg4)}.related-info{display:flex;flex-direction:column;gap:4px}.related-title{font-family:var(--font-p);font-size:14px;font-weight:600;color:var(--text-white)}.related-cats{font-family:var(--font-os);font-size:12px;color:var(--text-muted)}
