/* Project (portfolio detail) pages. Loads after home.css; components come from the design system. */

/* Cover --------------------------------------------------------------- */
.project-hero {
  position: relative; overflow: hidden;
  min-height: 78vh; min-height: 78svh;
  display: flex; align-items: flex-end;
  background: var(--black);
}
.project-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.project-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  /* cover captures can be bright daylight: shade the caption corner (left + bottom) firmly, keep the rest of the image clear */
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.5) 38%, rgba(0,0,0,0) 68%),
    linear-gradient(180deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 24%, rgba(0,0,0,.25) 50%, rgba(0,0,0,.92) 100%);
}
.project-hero__inner { position: relative; z-index: 2; width: 100%; max-width: 1400px; margin: 0 auto; padding: 140px var(--space-30) 72px; }
.project-hero h1 {
  margin: 0;
  font-family: var(--font-display); font-size: clamp(44px, 7vw, 96px); font-weight: 700; line-height: .95;
  letter-spacing: 2px; text-transform: uppercase; color: var(--white);
}
.project-hero__lead { margin: var(--space-20) 0 0; max-width: 560px; font-size: 20px; line-height: 1.45; font-weight: 300; color: var(--neutral-300); }
.back-link {
  display: inline-flex; align-items: center; gap: var(--space-10);
  margin-bottom: var(--space-30);
  font-family: var(--font-display); font-size: 13px; font-weight: 600; line-height: 1.4;
  letter-spacing: 3px; text-transform: uppercase;
}
.rh a.back-link { color: var(--white); }
.rh a.back-link:hover { color: var(--accent-text); }
.back-link .rh-icon { transform: scaleX(-1); }

/* Info ------------------------------------------------------------------ */
.project-info { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-60) 96px; align-items: start; }
.project-info__text p { margin: 0 0 var(--space-20); max-width: 68ch; }
.project-info__text p:last-child { margin-bottom: 0; }
.project-info .rh-meta { margin-top: 58px; }

/* Other projects -------------------------------------------------------- */
.more { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-60); align-items: center; }
.more .rh-heading { margin-bottom: var(--space-30); }
.more .rh-button { margin: 0; }
.more .rh-work { max-width: none; }
.more .rh-work__desc { text-align: left; padding: var(--space-20) 0 0; }
.more .rh-work__desc h3 { font-size: 24px; line-height: 1.25; }
.more .rh-work__desc span { font-size: 16px; line-height: 26px; }

@media (max-width: 991px) {
  .project-info, .more { grid-template-columns: 1fr; }
  .project-info .rh-meta { margin-top: 0; }
}
@media (max-width: 640px) {
  .project-hero__inner { padding: 120px var(--space-20) 48px; }
  .project-hero__lead { font-size: 18px; }
  .rh-gallery__prev, .rh-gallery__next { width: 40px; height: 40px; }
}
