.portfolio-disclaimer{max-width:820px;margin:0 auto 40px;padding:24px 28px;background:var(--cream);border-left:4px solid var(--gold);border-radius:var(--radius);text-align:left}.portfolio-disclaimer p{margin:0;color:var(--text-body);font-size:0.98rem}.portfolio-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:32px}.portfolio-search{flex:1 1 240px;max-width:360px;position:relative}.portfolio-search input{width:100%;padding:12px 16px 12px 42px;border:1px solid rgba(201,169,98,0.35);border-radius:var(--radius-pill);font-size:0.95rem;background:var(--white);transition:border-color var(--transition),box-shadow var(--transition)}.portfolio-search input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,98,0.2)}.portfolio-search::before{content:"⌕";position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem;pointer-events:none}.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px}.portfolio-filter-btn{padding:8px 18px;border:1px solid rgba(201,169,98,0.35);border-radius:var(--radius-pill);background:var(--white);color:var(--text-body);font-size:0.88rem;font-weight:600;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition)}.portfolio-filter-btn:hover,.portfolio-filter-btn:focus-visible{border-color:var(--gold);color:var(--dark)}.portfolio-filter-btn.active{background:var(--dark);color:var(--white);border-color:var(--dark)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}.portfolio-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(201,169,98,0.15);display:flex;flex-direction:column;transition:transform var(--transition),box-shadow var(--transition);opacity:0;transform:translateY(24px)}.portfolio-card.is-visible{opacity:1;transform:translateY(0);transition:opacity 0.5s ease,transform 0.5s ease,box-shadow var(--transition)}.portfolio-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.portfolio-card.is-visible:hover{transform:translateY(-6px)}.portfolio-card-media{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--light-bg)}.portfolio-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.portfolio-card:hover .portfolio-card-media img{transform:scale(1.04)}.portfolio-badge{position:absolute;top:12px;left:12px;padding:6px 12px;background:var(--dark);color:var(--gold-light);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;border-radius:var(--radius-pill);z-index:2}.portfolio-card-body{padding:24px;flex:1;display:flex;flex-direction:column}.portfolio-card-trade{font-size:0.8rem;font-weight:700;color:var(--gold-dark);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px}.portfolio-card-title{font-size:1.2rem;margin-bottom:10px;color:var(--dark)}.portfolio-card-title a{text-decoration:none;color:inherit;transition:color var(--transition)}.portfolio-card-title a:hover{color:var(--gold-dark)}.portfolio-card-desc{font-size:0.92rem;color:var(--text-muted);margin-bottom:16px;flex:1}.portfolio-tech-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.portfolio-tech-tag{padding:4px 10px;background:var(--light-bg);border-radius:var(--radius-pill);font-size:0.75rem;color:var(--text-muted);border:1px solid rgba(201,169,98,0.2)}.portfolio-card-actions{display:flex;flex-wrap:wrap;gap:10px}.portfolio-card-actions .btn-text{font-size:0.9rem}.portfolio-empty{text-align:center;padding:48px 20px;color:var(--text-muted);grid-column:1 / -1}.portfolio-empty.hidden{display:none}.portfolio-detail-hero{padding-top:clamp(32px,5vw,56px)}.portfolio-detail-back{display:block;width:fit-content;margin-bottom:20px;font-size:0.92rem;font-weight:600;color:var(--gold-dark);text-decoration:none;transition:color var(--transition)}.portfolio-detail-back:hover{color:var(--dark)}.portfolio-detail-layout{display:grid;grid-template-columns:1fr;gap:40px;max-width:var(--container);margin:0 auto}@media (min-width:900px){.portfolio-detail-layout{grid-template-columns:1.1fr 0.9fr;align-items:start}}.portfolio-detail-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(201,169,98,0.2);opacity:0;transform:translateY(20px);animation:portfolioFadeIn 0.6s ease forwards}.portfolio-detail-media img{width:100%;height:auto;display:block;object-fit:cover}.portfolio-gallery-section h2{margin-bottom:20px}.portfolio-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.portfolio-gallery-item{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid rgba(201,169,98,0.2);box-shadow:var(--shadow);opacity:0;transform:translateY(16px);transition:transform var(--transition),box-shadow var(--transition)}.portfolio-gallery-item.is-visible{opacity:1;transform:translateY(0);transition:opacity 0.5s ease,transform 0.5s ease,box-shadow var(--transition)}.portfolio-gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.portfolio-gallery-item.is-visible:hover{transform:translateY(-4px)}.portfolio-gallery-item img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.portfolio-gallery-item figcaption{padding:12px 14px;font-size:0.85rem;color:var(--text-muted);background:var(--light-bg)}.portfolio-detail-content{opacity:0;transform:translateY(20px);animation:portfolioFadeIn 0.6s ease 0.15s forwards}.portfolio-detail-content h1{text-align:left;margin-bottom:12px}.portfolio-detail-trade{font-size:0.85rem;font-weight:700;color:var(--gold-dark);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:16px}.portfolio-detail-badge{display:inline-block;padding:6px 14px;background:var(--dark);color:var(--gold-light);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:var(--radius-pill);margin-top:4px;margin-bottom:20px}.portfolio-detail-section{margin-top:48px;opacity:0;transform:translateY(16px)}.portfolio-detail-section.is-visible{opacity:1;transform:translateY(0);transition:opacity 0.5s ease,transform 0.5s ease}.portfolio-detail-section h2{text-align:left;font-size:1.35rem;margin-bottom:16px}.portfolio-spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.portfolio-spec-card{padding:20px;background:var(--white);border-radius:var(--radius);border:1px solid rgba(201,169,98,0.2);box-shadow:var(--shadow)}.portfolio-spec-card h3{font-size:0.95rem;margin-bottom:8px;color:var(--gold-dark)}.portfolio-spec-card p,.portfolio-spec-card ul{font-size:0.9rem;color:var(--text-muted);margin:0}.portfolio-spec-card ul{list-style:none;padding:0}.portfolio-spec-card li{position:relative;padding-left:16px;margin-bottom:6px}.portfolio-spec-card li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:0.65rem;top:3px}.portfolio-feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.portfolio-feature-list li{padding:14px 16px;background:var(--light-bg);border-radius:10px;font-size:0.92rem;color:var(--text-body);border:1px solid rgba(201,169,98,0.15)}.portfolio-detail-cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}@keyframes portfolioFadeIn{to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.portfolio-toolbar{flex-direction:column;align-items:stretch}.portfolio-search{max-width:none}}