/* AVM — osnovni vizualni sustav */
.avm {
  --avm-ink: #20252b;
  --avm-blue: #17245c;
  --avm-paper: #ffffff;
  --avm-soft: #f1f2f3;
  --avm-muted: #59616a;
  --avm-line: #d9dde1;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--avm-ink);
  background: var(--avm-paper);
  padding: 72px 5vw;
  scroll-margin-top: 110px;
}

.avm > .elementor-container {
  max-width: 1320px;
  margin-inline: auto;
}

.avm .elementor-widget-wrap {
  padding: 0;
  align-content: flex-start;
}

.avm .elementor-widget {
  margin-bottom: 20px;
}

.avm .elementor-heading-title {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  color: var(--avm-ink);
  letter-spacing: -.035em;
  line-height: 1.08;
}

.avm h1.elementor-heading-title {
  font-size: clamp(54px, 7.5vw, 108px);
}

.avm h2.elementor-heading-title {
  font-size: clamp(32px, 4vw, 56px);
}

.avm h3.elementor-heading-title {
  font-size: 25px;
  letter-spacing: -.02em;
}

.avm .elementor-widget-text-editor {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: var(--avm-muted);
}

.avm p {
  margin: 0 0 16px;
}

.avm .elementor-button {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  border-radius: 0;
  border: 1px solid var(--avm-blue);
  background: var(--avm-blue);
  color: #fff;
  padding: 16px 23px;
  box-shadow: none;
  white-space: normal;
}

.avm .elementor-button:hover {
  background: #273b80;
  border-color: #273b80;
  color: #fff;
}

.avm a:focus-visible {
  outline: 3px solid #658de2;
  outline-offset: 5px;
}

.avm-intro {
  padding-top: 90px;
  padding-bottom: 54px;
}

.avm-intro > .elementor-container {
  align-items: flex-end;
}

.avm-intro .elementor-column:first-child > .elementor-widget-wrap {
  padding-right: 50px;
}

.avm-intro .elementor-column:first-child .elementor-widget-text-editor,
.avm-project-heading .elementor-widget-text-editor,
.avm-feature .elementor-column:last-child .elementor-widget-text-editor:first-child,
.avm-contact .elementor-column:first-child .elementor-widget-text-editor {
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--avm-blue);
}

.avm-hero {
  padding: 0 3vw;
}

.avm-hero > .elementor-container {
  max-width: 1600px;
}

.avm-hero .elementor-widget-image {
  margin: 0;
  min-height: 220px;
  background: var(--avm-soft);
}

.avm-hero img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.avm-services {
  padding-top: 64px;
  padding-bottom: 88px;
}

.avm-services .elementor-column > .elementor-widget-wrap {
  border-top: 1px solid var(--avm-line);
  padding: 27px 30px 0 0;
}

.avm-services h2.elementor-heading-title {
  font-size: 27px;
}

.avm-project-heading {
  background: var(--avm-soft);
  padding-top: 80px;
  padding-bottom: 40px;
}

.avm-projects {
  background: var(--avm-soft);
  padding-top: 0;
  padding-bottom: 80px;
}

.avm-projects .elementor-column:first-child > .elementor-widget-wrap {
  padding-right: 44px;
}

.avm-projects .elementor-column:last-child > .elementor-widget-wrap {
  padding-top: 100px;
}

.avm-projects .elementor-widget-image {
  background: #d9dde1;
  min-height: 220px;
}

.avm-projects img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
}

.avm-projects .elementor-widget-heading {
  margin-bottom: 10px;
}

.avm-projects .elementor-widget-text-editor {
  font-size: 11px;
  letter-spacing: .12em;
}

.avm-feature {
  padding-top: 100px;
  padding-bottom: 100px;
}

.avm-feature > .elementor-container {
  align-items: center;
}

.avm-feature .elementor-column:first-child > .elementor-widget-wrap {
  padding-right: 64px;
}

.avm-feature .elementor-widget-image {
  background: var(--avm-soft);
  min-height: 220px;
}

.avm-feature img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.avm-contact {
  padding-top: 80px;
  padding-bottom: 80px;
  background: var(--avm-blue);
}

.avm-contact .elementor-heading-title,
.avm-contact .elementor-widget-text-editor,
.avm-contact .elementor-column:first-child .elementor-widget-text-editor {
  color: #fff;
}

.avm-contact .elementor-column:first-child > .elementor-widget-wrap {
  padding-right: 45px;
}

.avm-contact .elementor-button {
  background: transparent;
  border-color: #8993b5;
  color: #fff;
}

.avm-contact .elementor-button:hover {
  background: #fff;
  border-color: #fff;
  color: var(--avm-blue);
}

@media (max-width: 1024px) {
  .avm {
    padding-left: 28px;
    padding-right: 28px;
  }

  .avm-intro .elementor-column:first-child > .elementor-widget-wrap,
  .avm-feature .elementor-column:first-child > .elementor-widget-wrap {
    padding-right: 30px;
  }
}

@media (max-width: 767px) {
  .avm {
    padding: 48px 22px;
  }

  .avm > .elementor-container {
    flex-wrap: wrap;
  }

  .avm .elementor-column {
    width: 100%;
  }

  .avm .elementor-column > .elementor-widget-wrap {
    padding-left: 0;
    padding-right: 0;
  }

  .avm-intro {
    padding-top: 48px;
    padding-bottom: 28px;
  }

  .avm-intro .elementor-column:last-child {
    margin-top: 18px;
  }

  .avm-hero {
    padding: 0 12px;
  }

  .avm-hero .elementor-widget-image {
    min-height: 140px;
  }

  .avm-services .elementor-column + .elementor-column {
    margin-top: 24px;
  }

  .avm-project-heading {
    padding-bottom: 15px;
  }

  .avm-projects {
    padding-top: 0;
  }

  .avm-projects .elementor-column:last-child > .elementor-widget-wrap {
    padding-top: 32px;
  }

  .avm-feature .elementor-column:last-child {
    margin-top: 25px;
  }

  .avm-contact .elementor-column:last-child {
    margin-top: 25px;
  }
}