body {
  background: var(--color-white-pure);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.45;
}

.container {
  width: min(calc(100% - 40px), var(--container-width));
  margin-inline: auto;
}

.section {
  padding: 24px 0 26px;
}

.section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

h1,
h2 {
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.08;
  text-transform: uppercase;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

.section-head p,
.section-subtitle {
  margin-top: 8px;
  color: var(--color-text-muted);
  font-size: 13px;
}

.button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--radius-small);
  padding: 0 26px;
  font-weight: 800;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform 120ms ease;
}

.button--primary {
  background: var(--color-yellow-bright);
  color: var(--color-black);
}

.button--primary:hover {
  background: var(--color-yellow);
  transform: translateY(-1px);
}

.button--primary:active {
  background: var(--color-yellow-hover);
  transform: translateY(0);
}

.button--outline {
  border-color: var(--color-yellow);
  background: transparent;
  color: var(--color-text-light);
}

.button--outline:hover {
  background: var(--color-yellow-bright);
  color: var(--color-black);
}

.button--dark {
  background: var(--color-black-deep);
  color: var(--color-text-light);
}

.button--dark:hover {
  background: var(--color-graphite);
  transform: translateY(-1px);
}

.button--small {
  min-height: 32px;
  padding: 0 18px;
  font-size: 12px;
}

:focus-visible {
  outline: 2px solid var(--color-yellow-bright);
  outline-offset: 3px;
}

.button--primary:focus-visible {
  outline-color: var(--color-white-pure);
}

.link-arrow {
  color: var(--color-text);
  font-size: 12px;
  white-space: nowrap;
}

.link-arrow::after {
  content: " →";
  color: var(--color-yellow);
  font-weight: 800;
}

.arrow-button {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-small);
  background: var(--color-yellow-bright);
  color: var(--color-black);
  font-weight: 900;
  transition: transform var(--transition-fast), background-color var(--transition-fast);
}

.arrow-button:hover {
  background: var(--color-yellow);
  transform: translateX(2px);
}

.icon {
  width: 28px;
  height: 28px;
  display: inline-block;
  color: var(--color-yellow-bright);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 28px;
}

.icon--doc { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 4h9l3 3v17H8zM17 4v5h5M11 13h7M11 17h7' stroke='%23fcc31c' stroke-width='1.8'/%3E%3C/svg%3E"); }
.icon--shield { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 4l8 3v6c0 5-3.4 9-8 11-4.6-2-8-6-8-11V7zM10 14l3 3 6-7' stroke='%23fcc31c' stroke-width='1.8'/%3E%3C/svg%3E"); }
.icon--nodes { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='7' cy='8' r='3' stroke='%23fcc31c' stroke-width='1.8'/%3E%3Ccircle cx='21' cy='8' r='3' stroke='%23fcc31c' stroke-width='1.8'/%3E%3Ccircle cx='14' cy='21' r='3' stroke='%23fcc31c' stroke-width='1.8'/%3E%3Cpath d='M10 9h8M9 11l3 7M19 11l-3 7' stroke='%23fcc31c' stroke-width='1.8'/%3E%3C/svg%3E"); }
.icon--team { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14' cy='9' r='4' stroke='%23fcc31c' stroke-width='1.8'/%3E%3Cpath d='M6 23c1-5 5-7 8-7s7 2 8 7M5 14h4M19 14h4' stroke='%23fcc31c' stroke-width='1.8'/%3E%3C/svg%3E"); }
.icon--route { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 22c7 0 3-16 12-16h4M20 4l3 3-3 3M7 18v5h5' stroke='%23fcc31c' stroke-width='1.8'/%3E%3C/svg%3E"); }
.icon--stamp { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13V7a4 4 0 018 0v6M7 13h14v5H7zM5 22h18' stroke='%23fcc31c' stroke-width='1.8'/%3E%3C/svg%3E"); }
