/**
 * Remachined — shared visual system (Cloudflare static)
 * Palette: surface #111125, primary #88d982, deep green #2e7d32
 */

:root {
  --rm-surface: #111125;
  --rm-surface-mid: #1a1a2e;
  --rm-primary: #88d982;
  --rm-primary-ink: #003909;
  --rm-overlay: linear-gradient(
    120deg,
    rgba(17, 17, 37, 0.94) 0%,
    rgba(17, 17, 37, 0.72) 45%,
    rgba(46, 125, 50, 0.18) 100%
  );
}

/* Accessible focus for buttons / links that are not nav */
.rm-focus:focus-visible {
  outline: 2px solid var(--rm-primary);
  outline-offset: 3px;
}

/* Full-bleed hero photography */
.rm-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.rm-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.08) brightness(0.55);
  transform: scale(1.02);
}
.rm-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--rm-overlay);
}
.rm-hero-media--soft img {
  filter: grayscale(100%) contrast(1.05) brightness(0.65);
  opacity: 0.9;
}

/* Editorial image tile (cards, split sections) */
.rm-tile {
  position: relative;
  overflow: hidden;
  background: var(--rm-surface-mid);
}
.rm-tile__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.06) brightness(0.5);
  transition: transform 0.65s ease, filter 0.35s ease;
}
.rm-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(17, 17, 37, 0.95) 0%,
    rgba(17, 17, 37, 0.35) 55%,
    rgba(136, 217, 130, 0.12) 100%
  );
  pointer-events: none;
}
.rm-tile:hover .rm-tile__img {
  transform: scale(1.04);
  filter: grayscale(85%) contrast(1.08) brightness(0.58);
}

/* Short strip above text (value props, process steps) */
.rm-strip {
  position: relative;
  height: 7.5rem;
  overflow: hidden;
  border-bottom: 1px solid rgba(136, 217, 130, 0.2);
}
.rm-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) brightness(0.45);
}
.rm-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(17, 17, 37, 0.2) 0%,
    rgba(17, 17, 37, 0.75) 100%
  );
}

/* Contact / split hero */
.rm-split-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  min-height: 14rem;
}
@media (min-width: 1024px) {
  .rm-split-hero {
    grid-template-columns: 1fr 38%;
    min-height: 18rem;
  }
}
.rm-split-hero__visual {
  position: relative;
  min-height: 12rem;
}
.rm-split-hero__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) brightness(0.5);
}
.rm-split-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(17, 17, 37, 0.1) 0%,
    rgba(17, 17, 37, 0.85) 100%
  );
}
