:root {
  --ge-space-1: 4px;
  --ge-space-2: 8px;
  --ge-space-3: 16px;
  --ge-space-4: 24px;
  --ge-rounded-none: 0;
  --ge-rounded-sm: 4px;
  --ge-rounded-md: 8px;
  --ge-rounded-lg: 16px;
  --ge-rounded-pill: 9999px;
  --ge-rounded-circle: 50%;
  --ge-color-white: #ffffff;
  --ge-color-black: #000000;
  --ge-color-primary: #8E2157;
  --ge-bg-white: var(--ge-color-white);
  --ge-bg-black: var(--ge-color-black);
  --ge-text-white: var(--ge-color-white);
  --ge-text-black: var(--ge-color-black);
  --ge-btn-border-color: var(--ge-color-black);
}

.ge-d-flex {
  display: flex;
}

.ge-justify-center {
  justify-content: center;
}

.position-relative {
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}

.ge-gap-1 {
  gap: var(--ge-space-1);
}

.ge-gap-2 {
  gap: var(--ge-space-2);
}

.ge-gap-3 {
  gap: var(--ge-space-3);
}

.ge-gap-4 {
  gap: var(--ge-space-4);
}

.ge-p-1 {
  padding: var(--ge-space-1);
}

.ge-p-2 {
  padding: var(--ge-space-2);
}

.ge-p-3 {
  padding: var(--ge-space-3);
}

.ge-p-4 {
  padding: var(--ge-space-4);
}

.ge-mb-1 {
  margin-bottom: var(--ge-space-1);
}

.ge-mb-2 {
  margin-bottom: var(--ge-space-2);
}

.ge-mb-3 {
  margin-bottom: var(--ge-space-3);
}

.ge-mb-4 {
  margin-bottom: var(--ge-space-4);
}

.ge-rounded-none {
  border-radius: var(--ge-rounded-none);
}

.ge-rounded-sm {
  border-radius: var(--ge-rounded-sm);
}

.ge-rounded-md {
  border-radius: var(--ge-rounded-md);
}

.ge-rounded-lg {
  border-radius: var(--ge-rounded-lg);
}

.ge-rounded-pill {
  border-radius: var(--ge-rounded-pill);
}

.ge-rounded-circle {
  border-radius: var(--ge-rounded-circle);
}

.ge-ratio-square {
  aspect-ratio: var(--wp--preset--aspect-ratio--square);
}

.ge-ratio-4-3 {
  aspect-ratio: var(--wp--preset--aspect-ratio--4-3);
}

.ge-ratio-3-4 {
  aspect-ratio: var(--wp--preset--aspect-ratio--3-4);
}

.ge-ratio-3-2 {
  aspect-ratio: var(--wp--preset--aspect-ratio--3-2);
}

.ge-ratio-2-3 {
  aspect-ratio: var(--wp--preset--aspect-ratio--2-3);
}

.ge-ratio-16-9 {
  aspect-ratio: var(--wp--preset--aspect-ratio--16-9);
}

.ge-ratio-9-16 {
  aspect-ratio: var(--wp--preset--aspect-ratio--9-16);
}

.ge-container {
  width: 100%;
  padding-inline: 12px;
  margin-inline: auto;
}
@media screen and (min-width: 576px) {
  .ge-container {
    max-width: 540px;
  }
}
@media screen and (min-width: 768px) {
  .ge-container {
    max-width: 720px;
  }
}
@media screen and (min-width: 992px) {
  .ge-container {
    max-width: 960px;
  }
}
@media screen and (min-width: 1200px) {
  .ge-container {
    max-width: 1140px;
  }
}
@media screen and (min-width: 1400px) {
  .ge-container {
    max-width: 1320px;
  }
}

.ge-d-grid {
  display: grid;
}

.ge-grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}

.ge-grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.ge-grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.ge-grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

@media screen and (min-width: 576px) {
  .ge-grid-cols-sm-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .ge-grid-cols-sm-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ge-grid-cols-sm-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ge-grid-cols-sm-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .ge-grid-cols-md-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .ge-grid-cols-md-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ge-grid-cols-md-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ge-grid-cols-md-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .ge-grid-cols-lg-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .ge-grid-cols-lg-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ge-grid-cols-lg-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ge-grid-cols-lg-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .ge-grid-cols-xl-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .ge-grid-cols-xl-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ge-grid-cols-xl-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ge-grid-cols-xl-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1400px) {
  .ge-grid-cols-2xl-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .ge-grid-cols-2xl-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ge-grid-cols-2xl-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ge-grid-cols-2xl-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.ge-icon-28 {
  width: 28px;
  height: 28px;
}

.ge-btn {
  text-align: center;
  padding: 10px 14px;
  border-radius: 9999px;
}

.ge-btn--primary {
  color: #ffffff;
  padding: 10px 24px;
  background-color: var(--ge-color-primary);
  border: 3px solid #ffffff;
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25) !important;
  transition: all 0.4s;
}
.ge-btn--primary:hover {
  color: var(--ge-color-primary);
  border-color: var(--ge-color-primary);
  background-color: transparent;
}

.ge-btn--outline {
  border: 3px solid var(--ge-btn-border-color);
}

.ge-hero {
  --ge-hero-title-size: 2.7rem;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  padding: 100px 20px 40px 20px;
}

@media screen and (min-width: 992px) {
  .ge-hero {
    --ge-hero-title-size: 60px;
  }
}
.ge-hero_bg-section {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ge-hero_bg-section img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
}

.ge-hero_bg-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(to bottom, rgba(47, 8, 27, 0.6) 30%, rgba(142, 33, 87, 0.3) 100%);
}

.ge-hero .ge-container {
  position: relative;
  padding-inline: 0;
  z-index: 2;
}

.ge-hero__title,
.ge-hero__description {
  color: var(--ge-text-white);
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
}

.ge-hero .ge-hero__title {
  font-size: var(--ge-hero-title-size);
  margin-top: 0;
}

.ge-hero__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

.ge-hero__icon svg {
  fill: #ffffff;
}

.ge-hero__icon--line {
  --color:#4CAF50;
  background-color: var(--color);
}

.ge-hero__icon--phone {
  --color:#1A56DB;
  background-color: var(--color);
}

.ge-hero__icon--instagram {
  --color:#CC2E72;
  background-color: var(--color);
}

.ge-hero__btn {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  gap: 4px;
  font-weight: 600;
  background-color: var(--ge-bg-white);
  transition: all 0.4s ease;
}
.ge-hero__btn:hover {
  transition: all 0.4s ease;
  transform: translatey(-7px);
}

.ge-hero__btn--line {
  --color:#0b8110;
  color: var(--color);
  border-color: var(--color);
}

.ge-hero__btn--phone {
  --color:#1A56DB;
  color: var(--color);
  border-color: var(--color);
}

.ge-hero__btn--instagram {
  --color:#CC2E72;
  color: var(--color);
  border-color: var(--color);
}

.ge-hero__btn-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media screen and (min-width: 768px) {
  .ge-hero {
    min-height: 500px;
    display: flex;
    align-items: flex-end;
  }
  .ge-hero__description {
    font-size: 24px;
    max-width: 900px;
  }
  .ge-hero__btn-group {
    flex-direction: row;
  }
  .ge-hero__btn {
    width: auto;
  }
}
@media screen and (min-width: 996px) {
  .ge-hero .ge-hero__title {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 1200px) {
  .ge-hero_bg-section::before {
    background-image: linear-gradient(to right, rgba(47, 8, 27, 0.4) 40%, rgba(142, 33, 87, 0.2) 90%);
  }
}
.ge-blog-post {
  background-color: #ffffff;
  box-shadow: 0px 0 rgba(0, 0, 0, 0), 0px 0 rgba(0, 0, 0, 0), 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.ge-blog-post__poster-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.ge-blog-post__meta-wrapper {
  padding: 16px 24px;
}

.ge-blog-post__title {
  color: #444444;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}