/* CV — layout primitives */

.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section-pad {
  padding-block: var(--sp-6);
}

@media (max-width: 640px) {
  .section-pad {
    padding-block: var(--sp-5);
  }
}

.section-head {
  max-width: 40rem;
  margin-bottom: var(--sp-5);
}

.section-label {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  /* 2x the base step-xs — was hard to read as the small label above each
     section heading (מי אני / ניסיון מקצועי / השירותים שלנו / ...). Not
     viewport-based to begin with, so this is already the same size at
     every breakpoint, mobile through desktop. */
  font-size: calc(var(--step-xs) * 2);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 700;
  margin-bottom: var(--sp-2);
}

.section-label::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
}

.dark-section {
  background: var(--dark-bg);
  color: var(--dark-ink);
}

.dark-section .section-label {
  color: var(--accent-soft);
}

.dark-section .section-label::before {
  background: var(--accent-soft);
}

.editorial-grid {
  display: grid;
  gap: var(--sp-4);
}

@media (min-width: 860px) {
  .grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.stack {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

.cluster {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
}
