/* ==========================================================================
   HEMFRY - Page: Zemljani radovi  (loaded after hemfry.css)
   01 Hero · 02 Scope grid · 03 Process + machines · 04 Preparation · 05 Projects
   ========================================================================== */

/* 01 - HERO --------------------------------------------------------------- */
.zr-hero__title {
  font-size: clamp(3rem, 1.2rem + 5vw, 6.25rem);
  line-height: 0.92;
}
.zr-hero__lead {
  max-width: 44ch;
}
.zr-hero__lead .fg {
  color: var(--fg);
}
/* Slightly shorter split so the wide 4:3 photo keeps the whole rig in frame */
@media (min-width: 1100px) {
  .zr-hero.page-hero--split .g {
    min-height: min(660px, calc(100svh - var(--header-h) - 80px));
  }
}
@media (max-width: 699px) {
  .zr-hero .page-hero__actions .btn {
    width: 100%;
  }
}
@media (max-width: 1099px) {
  .zr-hero .page-hero__media {
    margin-top: 24px;
  }
}

/* 02 - SCOPE GRID --------------------------------------------------------- */
.zr-type {
  min-height: clamp(188px, 11rem + 7vw, 320px);
}
.zr-type:not(.type-card--photo):not(.zr-type--link) .type-card__title {
  font-size: clamp(1.25rem, 0.8rem + 1.35vw, 2.125rem);
  letter-spacing: -0.03em;
  line-height: 1.02;
}
.zr-type__meta {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--fg-faint);
}
.zr-type__meta::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--accent);
  flex: none;
}
.type-card--photo .zr-type__meta {
  color: rgba(245, 245, 242, 0.78);
}
.zr-type img {
  object-position: var(--pos, 50% 50%);
}
.zr-type.type-card--photo::after {
  background: linear-gradient(
    0deg,
    rgba(12, 12, 11, 0.9) 0%,
    rgba(12, 12, 11, 0.5) 40%,
    rgba(12, 12, 11, 0.08) 70%,
    rgba(12, 12, 11, 0.3) 100%
  );
}
/* Nivelacija: crop the graded ground out of the wide site photo */
.zr-type--ground img {
  inset: auto 0 0 0;
  height: 290%;
  object-position: 50% 100%;
}
/* 08: dark link tile to the preparation section */
.zr-type--link {
  transition: background-color var(--t) var(--ease);
}
.zr-type--link:hover {
  background: #242422;
}
.zr-type__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.zr-type--link .type-card__title {
  font-size: clamp(1.25rem, 0.95rem + 0.9vw, 1.75rem);
}
.zr-type--link .type-card__text {
  color: var(--fg-muted);
}
@media (max-width: 699px) {
  .zr-type {
    padding: 16px;
    gap: 20px;
  }
  .zr-type .type-card__title {
    font-size: 1.1875rem !important;
  }
  .zr-type .type-card__text {
    font-size: 0.8125rem;
    line-height: 1.45;
  }
  .zr-type__meta {
    font-size: 0.625rem;
    letter-spacing: 0.08em;
  }
  .zr-type--link .arrow-box {
    width: 36px;
    height: 36px;
  }
}

/* 03 - PROCESS (vertical at every size) + MACHINES ------------------------ */
@media (min-width: 700px) {
  .zr-process.process {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
  .zr-process .step {
    padding: 30px 0 34px 76px;
  }
  .zr-process .step::before {
    left: 15px;
    right: auto;
    top: 0;
    bottom: 0;
    width: 2px;
    height: auto;
    background: repeating-linear-gradient(
      to bottom,
      var(--line-strong) 0 10px,
      transparent 10px 18px
    );
  }
  .zr-process .step::after {
    display: none;
  }
  .zr-process .step__num {
    top: 28px;
  }
}
.zr-process .step {
  border-top: 1px solid var(--line);
}
.zr-process .step:last-child {
  border-bottom: 1px solid var(--line);
}
.zr-process .step__num {
  z-index: 2;
}
.zr-process .step__title {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
}
.zr-process .step__text {
  max-width: 46ch;
}
.zr-step__tag {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--fg);
}
.zr-step__tag::before {
  content: "";
  width: 12px;
  height: 1px;
  background: var(--fg-faint);
}

.zr-machines {
  min-width: 0;
}
@media (min-width: 1100px) {
  .zr-machines {
    margin-top: 8px;
    padding-left: clamp(0px, 3vw, 48px);
  }
}
@media (max-width: 1099px) {
  .zr-machines {
    margin-top: 64px;
  }
}
.zr-machines__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.zr-scroller .scroller__track {
  grid-auto-columns: 86%;
}
@media (min-width: 700px) and (max-width: 1099px) {
  .zr-scroller .scroller__track {
    grid-auto-columns: 62%;
  }
}
.zr-scroller .machine-card__name {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
}

/* 04 - PREPARATION -------------------------------------------------------- */
.zr-prep__fig {
  margin: 0;
}
@media (max-width: 1099px) {
  .zr-prep__fig {
    margin-bottom: 48px;
  }
}
@media (min-width: 1100px) {
  .zr-prep__copy {
    padding-top: 8px;
  }
}
.zr-fail .specs__row dd {
  color: var(--fg);
}
.zr-next {
  border-top: 1px solid var(--ink);
}
.zr-next__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "k a" "t a" "x a";
  gap: 4px 24px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  transition: padding var(--t) var(--ease);
}
.zr-next__item:hover {
  padding-left: 12px;
}
.zr-next__item .mono {
  grid-area: k;
}
.zr-next__title {
  grid-area: t;
  font-family: var(--font-display);
  font-stretch: 112%;
  font-weight: 660;
  font-size: clamp(1.375rem, 1.15rem + 0.7vw, 1.875rem);
  letter-spacing: -0.022em;
  line-height: 1.1;
}
.zr-next__text {
  grid-area: x;
  font-size: var(--fs-small);
  color: var(--fg-muted);
}
.zr-next__item .arrow-box {
  grid-area: a;
}

/* 05 - PROJECTS ----------------------------------------------------------- */
@media (max-width: 1099px) {
  .zr-projects {
    row-gap: 48px;
  }
}
@media (max-width: 699px) {
  .zr-projects .project-card:not(.project-card--lg) .media {
    aspect-ratio: 4 / 3;
  }
  .zr-hide-sm {
    display: none;
  }
}
/* 540 px source: keep the lead card near native size on tablet */
@media (min-width: 700px) and (max-width: 1099px) {
  .zr-projects .project-card--lg {
    max-width: 600px;
  }
}
