/* Project gallery: scoped to keep the existing Elementor theme intact. */
.rrl-projects {
  --rrl-ink: #24372e;
  --rrl-muted: #647166;
  --rrl-line: #e4e5dc;
  --rrl-leaf: #48634b;
  padding: clamp(3.25rem, 7vw, 5.5rem) 1.25rem;
  color: var(--rrl-ink);
  background: #f6f5ef;
}
.rrl-projects__inner { width: min(100%, 1180px); margin: 0 auto; }
.rrl-projects__intro { max-width: 700px; margin: 0 auto 2.25rem; text-align: center; }
.rrl-projects__eyebrow {
  margin: 0 0 .65rem;
  color: var(--rrl-leaf);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.rrl-projects__intro h2 {
  margin: 0 0 .75rem;
  color: var(--rrl-ink);
  font-size: clamp(1.8rem, 3.4vw, 2.7rem);
  font-weight: 700;
  line-height: 1.15;
}
.rrl-projects__intro > p:last-child {
  margin: 0;
  color: var(--rrl-muted);
  font-size: 1rem;
  line-height: 1.7;
}
.rrl-projects__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.rrl-project-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--rrl-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(34, 48, 38, .055);
}
.rrl-project-card__photo { aspect-ratio: 4 / 3; overflow: hidden; background: #e5e5dc; }
.rrl-project-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}
.rrl-project-card:hover .rrl-project-card__photo img { transform: scale(1.025); }
.rrl-project-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem 1.2rem 1.25rem; }
.rrl-project-card__service {
  margin-bottom: .45rem;
  color: var(--rrl-leaf);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1.35;
  text-transform: uppercase;
}
.rrl-project-card__body h3 { margin: 0 0 .45rem; color: var(--rrl-ink); font-size: 1.12rem; font-weight: 650; line-height: 1.35; }
.rrl-project-card__body p { margin: 0; color: var(--rrl-muted); font-size: .94rem; line-height: 1.6; }
.rrl-project-card__link {
  display: inline-flex;
  width: fit-content;
  gap: .45rem;
  margin-top: auto;
  padding-top: .9rem;
  color: var(--rrl-leaf);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.rrl-project-card__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.rrl-projects__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  margin: 2rem auto 0;
  color: var(--rrl-muted);
  font-size: .95rem;
}
.rrl-projects__cta a { color: var(--rrl-ink); font-weight: 700; text-decoration-color: #b4c1a9; text-underline-offset: 4px; }
.rrl-projects__cta a:hover { color: var(--rrl-leaf); }
@media (max-width: 900px) { .rrl-projects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .rrl-projects { padding: 3rem 1rem; }
  .rrl-projects__grid { grid-template-columns: 1fr; gap: 1rem; }
  .rrl-projects__intro { margin-bottom: 1.6rem; text-align: left; }
  .rrl-projects__cta { align-items: flex-start; flex-direction: column; gap: .35rem; }
}
