/* Portfolio page. Loaded AFTER /styles.css (provides vars, header, footer,
   drawer, buttons). */

.pf-page-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 120px 24px 80px;
}
@media (max-width: 980px) {
  .pf-page-main { padding: 96px 20px 56px; }
}

.breadcrumbs {
  font-size: 0.85rem;
  color: #6b7178;
  margin-bottom: 28px;
}
.breadcrumbs a { color: inherit; }
.breadcrumbs a:hover { color: var(--navy-800, #313f4a); }
.breadcrumbs span[aria-current] { color: var(--navy-800, #313f4a); }

.pf-page-head { margin-bottom: 40px; }
.pf-page-head h1 {
  font-size: clamp(2rem, 4.6vw, 2.9rem);
  font-weight: 500;
  color: var(--navy-800, #313f4a);
  letter-spacing: 0.01em;
}
.pf-page-head p {
  margin-top: 12px;
  color: #57626b;
  max-width: 60ch;
}

.pf-cases {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  margin-bottom: 40px;
}
.pf-case-card {
  display: block;
  border-radius: var(--radius, 14px);
  overflow: hidden;
  background: var(--cream-100, #f6f0e9);
  border: 1px solid var(--line, rgba(43,58,69,0.12));
}
.pf-case-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.pf-case-card:hover img { transform: scale(1.05); }
.pf-case-card-body { padding: 14px 16px 18px; }
.pf-case-card-body h3 { margin: 0 0 4px; font-size: 1.05rem; font-weight: 600; color: var(--navy-800, #313f4a); }
.pf-case-card-body p { margin: 0; font-size: 0.9rem; color: #57626b; }

.pf-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
}
.pf-tile {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius, 2px);
  overflow: hidden;
  background: var(--cream-100, #f6f0e9);
}
.pf-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.pf-tile:hover img { transform: scale(1.05); }

.pf-reviews-link {
  margin-top: 40px;
  text-align: center;
  color: #57626b;
  font-size: 0.96rem;
}
.pf-reviews-link a { color: #b06a5e; text-decoration: underline; text-underline-offset: 2px; }

.pf-cta {
  margin-top: 48px;
  text-align: center;
}

/* Case pages (/portfolio/<slug>/) - single real object: gallery + review. */
.pf-case-main {
  max-width: 860px;
  margin: 0 auto;
  padding: 120px 24px 80px;
}
@media (max-width: 980px) {
  .pf-case-main { padding: 96px 20px 56px; }
}

.pf-case-hero h1 {
  font-size: clamp(2rem, 4.6vw, 2.9rem);
  font-weight: 500;
  line-height: 1.15;
  color: var(--navy-800, #313f4a);
  letter-spacing: 0.01em;
}
.pf-case-hero p {
  margin-top: 14px;
  font-size: 1.1rem;
  color: #57626b;
  max-width: 60ch;
}

.pf-case-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  margin: 32px 0;
}
.pf-case-gallery img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius, 2px);
  background: var(--cream-100, #f6f0e9);
}

.pf-case-review {
  margin: 32px 0;
  padding: 24px 26px;
  background: var(--cream-100, #f6f0e9);
  border-radius: 8px;
}
.pf-case-review p { margin: 0; font-size: 1.02rem; line-height: 1.65; color: var(--navy-800, #313f4a); }
.pf-case-review cite {
  display: block;
  margin-top: 14px;
  font-style: normal;
  font-size: 0.9rem;
  color: #6b7178;
}

.pf-case-note {
  font-size: 0.9rem;
  color: #7c8790;
  margin: 8px 0 0;
}

.pf-case-cta {
  margin: 48px 0 0;
  padding: 28px;
  background: var(--navy-800, #313f4a);
  color: var(--cream-050, #fbf7f2);
  border-radius: var(--radius, 14px);
}
.pf-case-cta h2 { margin: 0 0 8px; font-size: 1.35rem; font-weight: 500; color: var(--blush-500, #e0c1bc); }
.pf-case-cta p { margin: 0 0 18px; color: var(--blush-300, #ecd6d1); font-size: 0.98rem; }
.pf-case-cta .btn { margin-right: 10px; }

.pf-case-related { margin-top: 48px; padding-top: 28px; border-top: 1px solid rgba(43,58,69,0.12); }
.pf-case-related h2 { font-size: 1.1rem; font-weight: 600; color: var(--navy-800, #313f4a); margin: 0 0 12px; }
.pf-case-related ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.pf-case-related a { color: var(--blush-500, #b06a5e); }
