/* ─── TRUST STRIP (home mobile override) ─────────────────── */
@media (max-width: 767px) {
  .trust-strip__item { justify-content: flex-start; }
}

/* ─── HERO ───────────────────────────────────────────────── */
.hero {
  background: var(--bg-dark);
  position: relative;
  min-height: 560px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% center;
  z-index: 0;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    rgba(10,10,12,0.58) 0%,
    rgba(10,10,12,0.54) 35%,
    rgba(10,10,12,0.33) 62%,
    rgba(10,10,12,0.09) 100%
  );
  z-index: 1;
}
@media (max-width: 767px) {
  .hero::after {
    background: linear-gradient(to top,
      rgba(10,10,12,0.82) 0%,
      rgba(10,10,12,0.60) 40%,
      rgba(10,10,12,0.20) 75%,
      rgba(10,10,12,0.00) 100%
    );
  }
}
.hero__content {
  position: relative;
  z-index: 2;
  padding: 40px 24px 64px 0;
  width: 100%;
  max-width: 680px;
  margin-left: max(24px, calc((100vw - 1280px) / 2 + 24px));
}
.hero__heading {
  font-size: clamp(36px, 6vw, 72px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--text-on-dark);
  margin-bottom: 24px;
}
/* em inside hero heading is the brass accent word — semantic italic suppressed */
.hero__heading em { font-style: normal; color: var(--accent); }
.hero__sub {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 400;
  line-height: 1.65;
  color: var(--text-on-dark);
  max-width: 440px;
  margin-bottom: 40px;
}
.hero__content .btn { display: block; text-align: center; max-width: 440px; color: var(--text-on-dark); }
@media (min-width: 1024px) {
  .hero { min-height: 720px; }
  .hero__content { padding: 120px 0; }
  .hero__content .btn { display: inline-block; text-align: left; }
}

/* ─── SERVICES ────────────────────────────────────────────── */
.services {}
.services__heading { color: var(--text-on-light); margin-bottom: 56px; }
.services__grid { display: flex; flex-direction: column; gap: 48px; }
@media (min-width: 1024px) { .services__grid { flex-direction: row; gap: 40px; } }
.service-card { flex: 1; }
.service-card__image { width: 100%; aspect-ratio: 3/2; object-fit: cover; margin-bottom: 28px; }
.service-card__title {
  font-size: 14px; font-weight: 600; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-on-light); margin-bottom: 12px;
}
.service-card__body { font-size: 14px; font-weight: 300; line-height: 1.7; color: var(--text-muted-warm); margin-bottom: 20px; }
.service-card__link {
  font-size: 12px; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--accent);
  border-bottom: 1px solid rgba(var(--color-brass-rgb), 0.4); padding-bottom: 2px; transition: border-color 0.2s;
}
.service-card__link:hover { border-color: var(--accent); }

/* ─── FEATURED ────────────────────────────────────────────── */
.featured {}
.featured__grid { display: flex; flex-direction: column; gap: 40px; margin-top: 40px; }
@media (min-width: 1024px) { .featured__grid { flex-direction: row; align-items: center; gap: 80px; } }
.featured__image { flex: 65 1 0%; min-width: 0; width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.featured__content { flex: 45 1 0%; min-width: 0; }
.featured__project-name {
  font-size: clamp(22px, 3vw, 36px); font-weight: 600;
  letter-spacing: -0.01em; line-height: 1.2; color: var(--text-on-dark); margin: 8px 0 16px;
}
.featured__location {
  font-size: 12px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--accent); margin-bottom: 16px;
}
.featured__desc { font-size: 15px; font-weight: 300; line-height: 1.7; color: var(--text-muted-dark); margin-bottom: 32px; }
.featured__link {
  font-size: 12px; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text-on-dark);
  border-bottom: 1px solid rgba(var(--color-offwhite-rgb), 0.35); padding-bottom: 2px; transition: border-color 0.2s;
}
.featured__link:hover { border-color: var(--text-on-dark); }

/* ─── PROCESS ─────────────────────────────────────────────── */
.process {}
.process__heading { color: var(--text-on-light); margin-bottom: 64px; }
.process__steps { display: flex; flex-direction: column; gap: 40px; }
@media (min-width: 1024px) {
  .process__steps { flex-direction: row; gap: 0; align-items: flex-start; position: relative; }
  .process__steps::after {
    content: '';
    position: absolute;
    top: clamp(52px, 6vw, 72px);
    left: 0; right: 0;
    height: 1px;
    background: var(--accent);
    opacity: 0.3;
    pointer-events: none;
  }
}
.process__step { display: flex; flex-direction: column; }
@media (min-width: 1024px) {
  .process__step { flex: 1; padding-right: 40px; align-items: flex-start; text-align: left; }
  .process__step:last-child { padding-right: 0; }
}
.process__num {
  font-size: clamp(52px, 6vw, 72px); font-weight: 600;
  color: var(--accent); line-height: 1; margin-bottom: 16px;
}
@media (min-width: 1024px) { .process__num { margin-bottom: 32px; } }
.process__line { height: 1px; background: var(--accent); opacity: 0.3; margin-bottom: 24px; }
@media (min-width: 1024px) { .process__line { display: none; } }
.process__step-title {
  font-size: 13px; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text-on-light); margin-bottom: 10px;
}
.process__step-body { font-size: 13px; font-weight: 300; line-height: 1.7; color: var(--text-muted-warm); }

/* ─── TESTIMONIALS ───────────────────────────────────────── */
.testimonials {}
.testimonials__heading { color: var(--text-on-dark); margin-bottom: 56px; }
.testimonials__grid { display: flex; flex-direction: column; gap: 40px; }
@media (min-width: 1024px) { .testimonials__grid { flex-direction: row; gap: 48px; } }
.testimonial-card {
  flex: 1; border-top: 1px solid rgba(var(--color-brass-rgb), 0.3); padding-top: 28px;
  display: grid; grid-template-columns: auto 1fr; column-gap: 16px;
}
.testimonial__quote {
  font-size: 64px; line-height: 0.75; color: var(--accent);
  font-family: var(--font-serif);
  grid-column: 1; grid-row: 1 / 3; align-self: start;
}
.testimonial-card__quote {
  font-size: 15px; font-weight: 300; line-height: 1.75;
  color: var(--text-on-dark); font-style: italic; margin-bottom: 16px;
}
.testimonial-card__author {
  font-size: 11px; font-weight: 600; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--accent); font-style: normal;
}
