/* Projects Section */
.project-tabs { display:flex; gap:.5rem; margin-bottom:2rem; justify-content:center; flex-wrap:wrap; }
.tab-btn { background:var(--color-surface); border:1px solid var(--color-border); color:var(--color-text-dim); padding:.7rem 1.2rem; border-radius:var(--radius-ui); font-size:.85rem; font-weight:600; cursor:pointer; transition:all var(--transition-fast); font-family:inherit; }
.tab-btn:hover { background:var(--color-bg-alt); color:var(--color-text); }
.tab-btn.active { background:var(--color-accent); color:#fff; border-color:var(--color-accent); }
.project-featured {
	display:grid;
	grid-template-columns: 1fr;
	gap:1.25rem;
	margin: 1.25rem 0 1.75rem;
	padding: 1.15rem;
	border:1px solid var(--color-border);
	background: linear-gradient(145deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--color-surface);
	box-shadow: var(--shadow-md);
}
.project-featured-thumb {
	aspect-ratio:16/9;
	border:1px solid var(--color-border);
	border-radius: var(--radius-ui);
	overflow:hidden;
	background:#222830;
}
.project-featured-thumb img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.project-featured-thumb img.featured-fit-contain {
	object-fit: contain;
	background: #ffffff;
}
.project-featured-content { display:flex; flex-direction:column; gap:.75rem; }
.featured-badge {
	align-self:flex-start;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.6px;
	text-transform:uppercase;
	background:var(--color-accent);
	color:#fff;
	padding:.38rem .62rem;
	border-radius:999px;
}
.project-featured-title { margin:0; font-size: clamp(1.4rem, 2.2vw, 2rem); line-height:1.1; }
.project-featured-subtitle { margin:0; font-size:1rem; color:var(--color-text); }
.project-featured-desc { margin:0; color:var(--color-text-dim); font-size:.92rem; line-height:1.55; max-width:75ch; }
.project-featured-actions { margin-top:.25rem; }
@media (min-width: 900px) {
	.project-featured {
		grid-template-columns: minmax(280px, 38%) 1fr;
		align-items:stretch;
		padding:1.3rem;
	}
	.project-featured-thumb { aspect-ratio:auto; min-height: 260px; }
}
.projects-grid { display:grid; gap:2rem; }
@media (min-width: 640px) { .projects-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); } }
.project-card { position:relative; display:flex; flex-direction:column; gap:1rem; }
.project-card .thumb { aspect-ratio: 16/9; background:#222830; border:1px solid var(--color-border); border-radius: var(--radius-ui); overflow:hidden; position:relative; box-shadow: var(--shadow-sm); }
.project-card .thumb img { width:100%; height:100%; object-fit:cover; transition: transform .9s cubic-bezier(.25,.2,.2,1); }
.project-card:hover .thumb img { transform: scale(1.06); }
.project-card h3 { margin:.2rem 0 .4rem; font-size:1.05rem; }
.project-meta { display:flex; flex-wrap:wrap; gap:.4rem; }
.project-meta .tag { background:#242d37; color:var(--color-text-dim); font-size:.65rem; padding:.4rem .55rem; border-radius:var(--radius-ui); line-height:1; letter-spacing:.5px; text-transform:uppercase; font-weight:600; }
.project-desc { font-size:.8rem; color:var(--color-text-dim); flex:1; }
.project-actions { display:flex; gap:.6rem; margin-top:.4rem; }
.project-actions a { font-size:.7rem; padding:.55rem .85rem; border-radius:var(--radius-ui); background:var(--color-bg-alt); color:var(--color-text-dim); font-weight:500; display:inline-flex; align-items:center; gap:.4rem; line-height:1; transition: background var(--transition-fast), color var(--transition-fast); }
.project-actions a:hover, .project-actions a:focus-visible { background:var(--color-accent); color:#fff; text-decoration:none; }
/* Hover color shift to accent */
.project-card:hover h3,
.project-card:hover .project-desc { color: var(--color-accent); }
.project-meta .tag:hover { color: var(--color-accent); }

/* Larger Details button */
.project-actions a.detail-link {
	font-size: .85rem;
	padding: .7rem 1.05rem;
	font-weight:600;
	background: var(--color-accent);
	color:#fff;
	box-shadow: var(--shadow-sm);
}
.project-actions a.detail-link:hover,
.project-actions a.detail-link:focus-visible {
	background: var(--color-accent-alt);
	color:#fff;
}

/* ── Selected Work Grid ── */
.selected-work-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
}

@media (max-width: 900px) {
  .selected-work-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .selected-work-grid { grid-template-columns: 1fr; }
}

/* Card shell */
.selected-work-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-ui);
  overflow: hidden;
  background: var(--color-surface);
  box-shadow: 0 2px 8px -2px rgba(0,0,0,.4);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s cubic-bezier(.4,0,.2,1);
}

.selected-work-card:hover {
  border-color: rgba(99,102,241,.45);
  box-shadow: 0 12px 32px -6px rgba(0,0,0,.55), 0 0 0 1px rgba(99,102,241,.14);
  transform: translateY(-3px);
}

/* Image area */
.swc-image {
  height: 192px;
  background: #111620;
  overflow: hidden;
  flex-shrink: 0;
  line-height: 0;
  display: block;
  cursor: pointer;
}

.swc-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .55s cubic-bezier(.25,.2,.2,1);
}

.swc-image img.swc-img-contain {
  object-fit: cover;
  object-position: center;
  padding: 0;
  background: #f5f6f7;
}

.selected-work-card:hover .swc-image img:not(.swc-img-contain) {
  transform: scale(1.035);
}

/* Card body */
.swc-body {
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1.35rem 1.35rem;
  flex: 1;
}

/* Label (project type) */
.swc-label {
  display: block;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--color-text-dim);
  opacity: .65;
  line-height: 1;
  margin-bottom: .6rem;
}

/* Title */
.swc-title {
  margin: 0 0 .7rem;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .01em;
  color: var(--color-text);
  transition: color .2s ease;
}

.selected-work-card:hover .swc-title { color: var(--color-accent); }

/* Description */
.swc-desc {
  margin: 0 0 .8rem;
  font-size: .82rem;
  color: var(--color-text-dim);
  line-height: 1.6;
  flex: 1;
}

/* Metadata dot-row */
.swc-meta {
  margin: 0 0 1.1rem;
  font-size: .67rem;
  color: var(--color-text-dim);
  opacity: .5;
  line-height: 1.4;
  letter-spacing: .01em;
}

/* Details link */
.swc-link {
  margin-top: auto;
  align-self: flex-start;
  font-size: .8rem;
  font-weight: 600;
  color: var(--color-accent);
  text-decoration: none;
  letter-spacing: .01em;
  transition: color .2s ease;
}

.swc-link:hover,
.swc-link:focus-visible { color: var(--color-accent-alt); text-decoration: underline; }

/* CTA row below grid */
.projects-cta-row {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
}

