@import url('https://fonts.googleapis.com/css2?family=El+Messiri:wght@400..700&display=swap');

/* Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--ebmnt1-layout-scroll-offset);
  -webkit-text-size-adjust: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--ebmnt1-background-body);
  color: var(--ebmnt1-text-body);
  font-family: var(--ebmnt1-font-family-body);
  font-size: var(--ebmnt1-font-size-body);
  line-height: var(--ebmnt1-line-height-body);
  overflow-x: hidden;
}

html.ebmnt1-is-menu-open {
  overflow: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: var(--ebmnt1-font-family-heading);
}

:focus-visible {
  outline: 2px solid var(--ebmnt1-border-focus);
  outline-offset: 2px;
}

/* Page skeleton */
main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ebmnt1-layout-main-gap);
  width: 100%;
}

/* Shared section structure: master container + inner container */
.ebmnt1-section {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow-x: clip;
}

.ebmnt1-section__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ebmnt1-layout-section-gap);
  width: var(--ebmnt1-layout-inner-width);
  max-width: var(--ebmnt1-layout-inner-max-width);
  margin-inline: auto;
  text-align: center;
}

/* Wrapper that gives colored bands their vertical breathing room (master and inner stay padding-free) */
.ebmnt1-section__band {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ebmnt1-layout-section-gap);
  width: 100%;
  padding-block: var(--ebmnt1-layout-band-padding-block);
}

/* Decorative background layers (photo, texture, shapes) */
.ebmnt1-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ebmnt1-section__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Shared section heading: tagline with underline + title */
.ebmnt1-section__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ebmnt1-layout-section-head-gap);
  max-width: var(--ebmnt1-layout-section-head-max-width);
}

.ebmnt1-section__tagline {
  position: relative;
  display: inline-block;
  color: var(--ebmnt1-text-tagline);
  font-size: var(--ebmnt1-font-size-label);
  font-weight: var(--ebmnt1-font-weight-bold);
  line-height: 1.6;
}

.ebmnt1-section__tagline::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: -3px;
  height: 2px;
  background-color: var(--ebmnt1-background-tagline-line);
}

.ebmnt1-section__title {
  color: var(--ebmnt1-text-heading);
  font-size: var(--ebmnt1-font-size-section-title);
  font-weight: var(--ebmnt1-font-weight-bold);
  line-height: var(--ebmnt1-line-height-title);
}

.ebmnt1-section__title-accent {
  color: var(--ebmnt1-text-title-accent);
}

.ebmnt1-section__text {
  color: var(--ebmnt1-text-muted);
}

.ebmnt1-section__head--light .ebmnt1-section__title {
  color: var(--ebmnt1-text-heading-on-dark);
}

.ebmnt1-section__head--light .ebmnt1-section__text {
  color: var(--ebmnt1-text-muted-on-dark);
}

/* Shared icon */
.ebmnt1-icon {
  flex-shrink: 0;
  display: inline-block;
  font-size: var(--ebmnt1-size-icon);
  line-height: 1;
}

/* Line-art icon font (same glyph set the reference uses) */
@font-face {
  font-family: "Ebmnt1Icons";
  src: url("../fonts/ebmnt1-icons.woff") format("woff"), url("../fonts/ebmnt1-icons.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

.ebmnt1-glyph {
  display: inline-block;
  font-family: "Ebmnt1Icons";
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.ebmnt1-glyph--plan::before { content: "\e910"; }
.ebmnt1-glyph--building-construction::before { content: "\e911"; }
.ebmnt1-glyph--factory::before { content: "\e912"; }
.ebmnt1-glyph--building::before { content: "\e913"; }
.ebmnt1-glyph--housing::before { content: "\e915"; }
.ebmnt1-glyph--property::before { content: "\e916"; }
.ebmnt1-glyph--assets::before { content: "\e917"; }
.ebmnt1-glyph--property-1::before { content: "\e919"; }
.ebmnt1-glyph--planning::before { content: "\e91d"; }
.ebmnt1-glyph--vetted::before { content: "\e91f"; }
.ebmnt1-glyph--professional::before { content: "\e920"; }
.ebmnt1-glyph--buildings::before { content: "\e92a"; }
.ebmnt1-glyph--construction-method::before { content: "\e92b"; }
.ebmnt1-glyph--building-plan::before { content: "\e92d"; }
.ebmnt1-glyph--map::before { content: "\e930"; }
.ebmnt1-glyph--call::before { content: "\e931"; }
.ebmnt1-glyph--mail::before { content: "\e933"; }
/* Shared button (Builza thm-btn): text + square arrow box, two-corner fill sweep on hover */
.ebmnt1-button {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.375rem 1.875rem 0.375rem 0.375rem;
  border-radius: var(--ebmnt1-radius-button);
  overflow: hidden;
  font-size: var(--ebmnt1-font-size-button);
  font-weight: var(--ebmnt1-font-weight-semibold);
  line-height: 1.2;
  white-space: nowrap;
  vertical-align: middle;
  transition: all var(--ebmnt1-duration-button) linear;
}

.ebmnt1-button::before,
.ebmnt1-button::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 50%;
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: all var(--ebmnt1-duration-button-sweep) ease-in-out;
}

.ebmnt1-button::before {
  inset-block-start: 0;
  inset-inline-start: 0;
}

.ebmnt1-button::after {
  inset-block-end: 0;
  inset-inline-end: 0;
}

.ebmnt1-button:hover::before,
.ebmnt1-button:hover::after {
  width: 100%;
  height: 100%;
  visibility: visible;
  opacity: 1;
}

.ebmnt1-button__text {
  padding-inline-start: 1.5rem;
}

.ebmnt1-button__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--ebmnt1-size-button-icon);
  height: var(--ebmnt1-size-button-icon);
  border-radius: var(--ebmnt1-radius-button);
  transition: all var(--ebmnt1-duration-button) linear;
}

.ebmnt1-button__icon .ebmnt1-icon {
  font-size: 1rem;
}

.ebmnt1-button--primary {
  background-color: var(--ebmnt1-background-button-primary);
  color: var(--ebmnt1-text-button-primary);
}

.ebmnt1-button--primary::before,
.ebmnt1-button--primary::after {
  background-color: var(--ebmnt1-background-button-primary-sweep);
}

.ebmnt1-button--primary:hover {
  color: var(--ebmnt1-text-button-primary-hover);
}

.ebmnt1-button--primary .ebmnt1-button__icon {
  background-color: var(--ebmnt1-background-button-primary-icon);
  color: var(--ebmnt1-icon-button-primary);
}

.ebmnt1-button--primary:hover .ebmnt1-button__icon {
  background-color: var(--ebmnt1-background-button-primary-icon-hover);
  color: var(--ebmnt1-icon-button-primary-hover);
}

.ebmnt1-button--dark {
  background-color: var(--ebmnt1-background-button-dark);
  color: var(--ebmnt1-text-button-dark);
}

.ebmnt1-button--dark::before,
.ebmnt1-button--dark::after {
  background-color: var(--ebmnt1-background-button-dark-sweep);
}

.ebmnt1-button--dark:hover {
  color: var(--ebmnt1-text-button-dark-hover);
}

.ebmnt1-button--dark .ebmnt1-button__icon {
  background-color: var(--ebmnt1-background-button-dark-icon);
  color: var(--ebmnt1-icon-button-dark);
}

.ebmnt1-button--dark:hover .ebmnt1-button__icon {
  background-color: var(--ebmnt1-background-button-dark-icon-hover);
  color: var(--ebmnt1-icon-button-dark-hover);
}

.ebmnt1-button--whatsapp {
  background-color: var(--ebmnt1-background-button-whatsapp);
  color: var(--ebmnt1-text-button-whatsapp);
}

.ebmnt1-button--whatsapp::before,
.ebmnt1-button--whatsapp::after {
  background-color: var(--ebmnt1-background-button-whatsapp-sweep);
}

.ebmnt1-button--whatsapp:hover {
  color: var(--ebmnt1-text-button-whatsapp-hover);
}

.ebmnt1-button--whatsapp .ebmnt1-button__icon {
  background-color: var(--ebmnt1-background-button-whatsapp-icon);
  color: var(--ebmnt1-icon-button-whatsapp);
}

.ebmnt1-button--whatsapp:hover .ebmnt1-button__icon {
  background-color: var(--ebmnt1-background-button-whatsapp-icon-hover);
  color: var(--ebmnt1-icon-button-whatsapp-hover);
}
/* Entry animation: slide + fade (Builza fadeInLeft / fadeInRight), only when JS runs */
.ebmnt1-js .ebmnt1-reveal {
  opacity: 0;
  transform: translateX(var(--ebmnt1-offset-reveal));
  transition:
    opacity var(--ebmnt1-duration-reveal) var(--ebmnt1-easing-reveal),
    transform var(--ebmnt1-duration-reveal) var(--ebmnt1-easing-reveal);
  transition-delay: calc(var(--ebmnt1-reveal-index, 0) * var(--ebmnt1-stagger-step));
}

.ebmnt1-js .ebmnt1-reveal--from-end {
  transform: translateX(calc(var(--ebmnt1-offset-reveal) * -1));
}

.ebmnt1-js .ebmnt1-reveal--up {
  transform: translateY(var(--ebmnt1-offset-reveal));
}

.ebmnt1-js .ebmnt1-reveal.ebmnt1-is-visible {
  opacity: 1;
  transform: none;
}

/* Shared keyframes (same names/behavior as the reference: leftRight, topBottom, wobble) */
@keyframes ebmnt1-left-right {
  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(3rem);
  }
}

@keyframes ebmnt1-top-bottom {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-1.25rem);
  }
}

@keyframes ebmnt1-float-bob-y {
  0%,
  100% {
    transform: translateY(-1.25rem);
  }

  50% {
    transform: translateY(0);
  }
}

@keyframes ebmnt1-rotate-slow {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ebmnt1-wobble-horizontal {
  16.65% {
    transform: translateX(5px);
  }

  33.3% {
    transform: translateX(-3px);
  }

  49.95% {
    transform: translateX(4px);
  }

  66.6% {
    transform: translateX(-2px);
  }

  83.25% {
    transform: translateX(2px);
  }

  100% {
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .ebmnt1-js .ebmnt1-reveal,
  .ebmnt1-js .ebmnt1-reveal--from-end,
  .ebmnt1-js .ebmnt1-reveal--up {
    transform: none;
    transition-delay: 0s;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (min-width: 768px) {
  :root {
    --ebmnt1-layout-section-gap: 2.5em;
    --ebmnt1-layout-band-padding-block: 5rem;
  }
}

@media (min-width: 1024px) {
  :root {
    --ebmnt1-layout-band-padding-block: 7.5rem;
  }
}

@media (min-width: 1440px) {
  :root {
    --ebmnt1-layout-inner-max-width: 82.5rem;
  }
}
