.hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .7;
  filter: saturate(.82) contrast(1.05);
}

.brand-art {
  width: 48px;
  height: 48px;
  padding: 0;
  background: var(--navy);
  box-shadow: none;
  overflow: hidden;
}

.brand-lockup {
  display: block;
  width: clamp(210px, 22vw, 290px);
  height: auto;
}

.footer-brand .brand-lockup {
  background: #fff;
  padding: 7px 10px;
  border-radius: 3px;
}

.brand-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.footer-brand .brand-art { background: var(--navy); }

.phone-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 28px;
}

.phone-actions .button {
  min-width: 220px;
  flex-direction: column;
  gap: 2px;
}

.phone-actions .button span { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: var(--teal); }
.phone-actions .button strong { font: 700 18px Manrope, sans-serif; }
.phone-actions .button-outline { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.7); }
.phone-actions .button-outline span { color: #fff; opacity: .8; }
.phone-actions .button-outline:hover { background: rgba(255,255,255,.12); }
.footer-contact { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.7; }
.footer-contact a { color: #fff; font-weight: 600; }
.footer-contact a:hover { color: var(--aqua); }

.hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,26,35,.18), rgba(7,26,35,.84)), linear-gradient(90deg, rgba(7,26,35,.55), transparent 65%);
  border: 0;
  border-radius: 0;
  width: auto;
  height: auto;
  right: 0;
  top: 0;
}

.hero-visual::before { display: none; }
.blueprint-grid { z-index: 1; transform: none; }
.visual-label, .inspection-card, .stamp { z-index: 3; }

.statement {
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: clamp(50px, 8vw, 120px);
}

.statement-copy { max-width: 650px; }
.statement-copy > p:last-child { font-size: 19px; color: var(--muted); margin: 30px 0 0; }

.detail-photo {
  margin: 0;
  position: relative;
  min-height: 610px;
  overflow: hidden;
  background: var(--navy);
}

.detail-photo img { width: 100%; height: 610px; display: block; object-fit: cover; object-position: center 42%; }
.detail-photo::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(7,26,35,.92)); }
.detail-photo figcaption { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 28px; color: white; display: flex; flex-direction: column; }
.detail-photo figcaption span { color: var(--aqua); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; }
.detail-photo figcaption strong { font: 700 20px Manrope, sans-serif; }

@media (max-width: 900px) {
  .statement { grid-template-columns: 1fr; gap: 45px; }
  .detail-photo, .detail-photo img { min-height: 520px; height: 520px; }
}

@media (max-width: 560px) {
  .brand-lockup { width: 205px; }
  .detail-photo, .detail-photo img { min-height: 440px; height: 440px; }
  .phone-actions { flex-direction: column; align-items: stretch; }
  .phone-actions .button { width: 100%; }
  .footer-contact { align-items: center; }
}

/* Contact choices stay together at every screen size. */
.phone-actions { flex-wrap: wrap; gap: 24px 40px; }
.contact-option { width: 260px; max-width: 100%; }
.contact-number { margin: 0 0 12px; font: 700 20px Manrope, sans-serif; }
.contact-buttons { display: flex; gap: 10px; }
.contact-buttons .button { min-width: 0; flex: 1; margin-top: 0; min-height: 48px; }
.social-contact { margin: 30px auto 0; max-width: 560px; }
.social-contact a { text-decoration: underline; text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
#services, #process, #contact { scroll-margin-top: 95px; }
@media (max-width: 560px) {
  .phone-actions { align-items: center; }
  .contact-option { width: 100%; max-width: 360px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
}
