.imp-about-page {
  --imp-about-red: #ec0000;
  --imp-about-wine: #5f0710;
  --imp-about-dark-wine: #3c0308;
  --imp-about-cream: #fff0b2;
  position: relative;
  overflow: hidden;
  color: #fff;
  background: var(--imp-about-red);
  isolation: isolate;
}

.imp-about-page *,
.imp-about-page *::before,
.imp-about-page *::after {
  box-sizing: border-box;
}

.imp-about-page img {
  max-width: 100%;
}

.imp-about-hero {
  position: relative;
  padding: calc(var(--imp-internal-header-height, 96px) + 230px) 0 70px;
  overflow: hidden;
  background: radial-gradient(circle at 76% 18%, rgba(116, 8, 16, 0.46) 0, rgba(116, 8, 16, 0) 42%), linear-gradient(135deg, var(--imp-about-dark-wine) 0%, var(--imp-about-wine) 58%, #710812 100%);
  isolation: isolate;
}

.imp-about-hero::before {
  position: absolute;
  inset: 0;
  z-index: -3;
  content: "";
  background-image: var(--imp-about-history-pattern);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.24;
  pointer-events: none;
}

.imp-about-hero__structure {
  position: absolute;
  left: 50%;
  top: calc(var(--imp-internal-header-height, 96px) - 8px);
  z-index: -2;
  width: min(100vw, 1840px);
  max-width: none;
  max-height: 430px;
  height: auto;
  object-fit: contain;
  opacity: 1;
  transform: translateX(-50%);
  pointer-events: none;
}

.imp-about-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(470px, 500px) minmax(0, 740px);
  align-items: center;
  gap: clamp(52px, 6vw, 92px);
  width: min(100% - 64px, 1440px);
  margin-inline: auto;
}

.imp-about-hero__photos {
  position: relative;
  min-height: clamp(370px, 29vw, 420px);
  max-width: 500px;
}

.imp-about-hero__photo {
  position: absolute;
  display: block;
  width: min(70%, 380px);
  height: auto;
  object-fit: cover;
  border: 8px solid rgba(255, 255, 255, 0.96);
  border-radius: 28px;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
}

.imp-about-hero__photo--back {
  left: 8px;
  top: 18px;
  z-index: 1;
  width: min(72%, 360px);
  aspect-ratio: 0.92;
  transform: rotate(-1.5deg);
}

.imp-about-hero__photo--front {
  left: 38%;
  top: clamp(196px, 15.8vw, 226px);
  z-index: 2;
  width: min(58%, 286px);
  aspect-ratio: 1.58;
  transform: rotate(1.25deg);
}

.imp-about-hero__content {
  max-width: 760px;
}

.imp-about-hero__title,
.imp-about-region__title {
  margin: 0;
  font-family: var(--imp-font-display, "Longreach", Impact, sans-serif);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

.imp-about-hero__title {
  color: #fff;
  font-family: var(--imp-font-display, "Longreach", Impact, sans-serif);
  max-width: 720px;
  font-size: clamp(56px, 5.4vw, 82px);
  font-weight: 400;
  line-height: 0.88;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

.imp-about-hero__text {
  margin-top: clamp(24px, 2.8vw, 38px);
  color: #fff;
  font-family: var(--imp-font-body, "Montserrat", Arial, sans-serif);
  font-size: clamp(16px, 1.12vw, 18px);
  font-weight: 400;
  line-height: 1.46;
  text-wrap: pretty;
}

.imp-about-hero__text p {
  margin: 0 0 1.05em;
}

.imp-about-hero__text strong {
  font-family: var(--imp-font-body, "Montserrat", Arial, sans-serif);
  font-weight: 800;
}

.imp-about-hero__text > *:first-child {
  margin-top: 0;
}

.imp-about-hero__text > *:last-child {
  margin-bottom: 0;
}

.imp-about-hero__text a {
  color: var(--imp-about-cream);
  text-underline-offset: 0.18em;
}

.imp-about-region {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 42px 0;
  overflow: hidden;
  background: var(--imp-about-red);
  border-radius: clamp(26px, 3vw, 44px) clamp(26px, 3vw, 44px) 0 0;
}

.imp-about-region--home {
  background: #3d0610;
}

.home .e-con:has(> .elementor-widget-imperatriz_social_showcase),
.home .e-con:has(> .elementor-widget-imperatriz_footer) {
  background-color: #3d0610;
}

.imp-about-region.imp-about-region--home::before {
  opacity: 0.012;
}

.imp-about-region::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image: var(--imp-about-region-pattern);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.07;
  pointer-events: none;
}

.imp-about-region__inner {
  display: grid;
  grid-template-columns: minmax(500px, 570px) minmax(660px, 1fr);
  align-items: center;
  gap: clamp(18px, 2.8vw, 42px);
  width: min(100% - 64px, 1440px);
  margin-inline: auto;
}

.imp-about-region__content {
  padding-left: clamp(32px, 4vw, 64px);
}

.imp-about-region__title {
  display: grid;
  gap: 0.03em;
  max-width: 570px;
  color: #fff;
  font-size: clamp(56px, 4.9vw, 72px);
  line-height: 0.9;
  text-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

@media (min-width: 901px) {
  .imp-about-region__title span {
    white-space: nowrap;
  }
}

.imp-about-region__map-wrap {
  position: relative;
  height: clamp(500px, 38vw, 560px);
  min-height: 0;
}

.imp-about-region__map {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: min(96%, 760px);
  max-height: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 24px 28px rgba(0, 0, 0, 0.28));
  transform: translate3d(-50%, -48%, 0);
}

.imp-about-region__popsicle {
  position: absolute;
  z-index: 2;
  width: clamp(42px, 4vw, 66px);
  height: auto;
  filter: drop-shadow(0 13px 14px rgba(0, 0, 0, 0.25));
  transform-origin: 50% 80%;
  pointer-events: none;
}

.imp-about-region__popsicle--1 {
  left: 34%;
  top: 15%;
  transform: rotate(-4deg);
}

.imp-about-region__popsicle--2 {
  left: 49%;
  top: 12%;
  transform: rotate(7deg);
}

.imp-about-region__popsicle--3 {
  left: 65%;
  top: 22%;
  transform: rotate(-8deg);
}

.imp-about-region__popsicle--4 {
  left: 28%;
  top: 39%;
  transform: rotate(8deg);
}

.imp-about-region__popsicle--6 {
  left: 48%;
  top: 43%;
  transform: rotate(-3deg);
}

.imp-about-region__popsicle--7 {
  left: 66%;
  top: 57%;
  transform: rotate(-7deg);
}

.imp-about-region__popsicle--9 {
  left: 40%;
  top: 63%;
  width: clamp(40px, 3.7vw, 58px);
  transform: rotate(5deg);
}

.imp-about-region.is-ready .imp-about-region__map,
.imp-about-region.is-ready .imp-about-region__popsicle {
  opacity: 0;
}

.imp-about-region.is-ready .imp-about-region__map {
  transform: translate3d(-50%, -44%, 0);
}

.imp-about-region.is-ready.is-inview .imp-about-region__map {
  opacity: 1;
  transform: translate3d(-50%, -48%, 0);
  transition: opacity 560ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 560ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.imp-about-region.is-ready.is-inview .imp-about-region__popsicle {
  opacity: 1;
  animation-name: imp-about-pop-in, imp-about-wobble;
  animation-duration: 420ms, var(--imp-about-wobble-duration, 4100ms);
  animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1), ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: both, both;
}

.imp-about-region.is-ready.is-inview .imp-about-region__popsicle--1 { --imp-about-wobble-duration: 4200ms; animation-delay: 110ms, 640ms; }
.imp-about-region.is-ready.is-inview .imp-about-region__popsicle--2 { --imp-about-wobble-duration: 4600ms; animation-delay: 170ms, 700ms; }
.imp-about-region.is-ready.is-inview .imp-about-region__popsicle--3 { --imp-about-wobble-duration: 3900ms; animation-delay: 230ms, 760ms; }
.imp-about-region.is-ready.is-inview .imp-about-region__popsicle--4 { --imp-about-wobble-duration: 4400ms; animation-delay: 290ms, 820ms; }
.imp-about-region.is-ready.is-inview .imp-about-region__popsicle--6 { --imp-about-wobble-duration: 4700ms; animation-delay: 410ms, 940ms; }
.imp-about-region.is-ready.is-inview .imp-about-region__popsicle--7 { --imp-about-wobble-duration: 4000ms; animation-delay: 470ms, 1000ms; }
.imp-about-region.is-ready.is-inview .imp-about-region__popsicle--9 { --imp-about-wobble-duration: 4300ms; animation-delay: 590ms, 1120ms; }

@keyframes imp-about-pop-in {
  0% {
    opacity: 0;
    scale: 0.88;
  }

  72% {
    opacity: 1;
    scale: 1.035;
  }

  100% {
    opacity: 1;
    scale: 1;
  }
}

@keyframes imp-about-wobble {
  0%,
  100% {
    rotate: 0deg;
    scale: 1;
    translate: 0 0;
  }

  50% {
    rotate: 2.2deg;
    scale: 1.014;
    translate: 0 -3px;
  }
}

@media (max-width: 900px) {
  .imp-about-hero {
    min-height: auto;
    padding: calc(var(--imp-internal-header-height, 74px) + 28px) 0 44px;
  }

  .imp-about-hero__structure {
    top: 78px;
    width: 145vw;
    max-height: 230px;
    opacity: 1;
  }

  .imp-about-hero__inner,
  .imp-about-region__inner {
    grid-template-columns: minmax(0, 1fr);
    width: min(100% - 32px, 620px);
  }

  .imp-about-hero__photos {
    min-height: clamp(370px, 108vw, 460px);
    margin-top: clamp(18px, 5vw, 30px);
    order: 1;
  }

  .imp-about-hero__content {
    order: 2;
    max-width: none;
  }

  .imp-about-hero__title,
  .imp-about-region__title {
    font-size: clamp(38px, 10.8vw, 54px);
  }

  .imp-about-hero__text {
    font-size: clamp(16px, 4.4vw, 18px);
    line-height: 1.5;
  }

  .imp-about-hero__photo {
    width: min(72%, 340px);
    border-width: 7px;
    border-radius: 22px;
  }

  .imp-about-hero__photo--back {
    left: 8%;
    top: 28px;
  }

  .imp-about-hero__photo--front {
    left: 31%;
    top: clamp(196px, 50vw, 232px);
    width: min(62%, 280px);
  }

  .imp-about-region {
    margin-top: 0;
    padding-block: 36px 42px;
    border-radius: 26px 26px 0 0;
  }

  .imp-about-region__content {
    padding-left: 0;
    text-align: center;
  }

  .imp-about-region__title {
    margin-inline: auto;
    max-width: 520px;
  }

  .imp-about-region__map-wrap {
    height: clamp(330px, 88vw, 460px);
    min-height: 0;
  }

  .imp-about-region__map {
    width: min(96%, 540px);
  }

  .imp-about-region__popsicle {
    width: clamp(34px, 10.4vw, 58px);
  }

}

@media (max-width: 520px) {
  .imp-about-hero__inner,
  .imp-about-region__inner {
    width: min(100% - 30px, 430px);
    gap: 28px;
  }

  .imp-about-hero__photos {
    min-height: clamp(340px, 108vw, 430px);
  }

  .imp-about-hero__photo {
    width: 72%;
  }

  .imp-about-region__map-wrap {
    height: clamp(292px, 86vw, 370px);
    min-height: 0;
  }

  .imp-about-region__popsicle--1 {
    left: 34%;
    top: 17%;
  }

  .imp-about-region__popsicle--2 {
    left: 49%;
    top: 12%;
  }

  .imp-about-region__popsicle--3 {
    left: 65%;
    top: 22%;
  }

  .imp-about-region__popsicle--4 {
    left: 28%;
    top: 39%;
  }

  .imp-about-region__popsicle--6 {
    left: 48%;
    top: 43%;
  }

  .imp-about-region__popsicle--7 {
    left: 66%;
    top: 57%;
  }

  .imp-about-region__popsicle--9 {
    left: 40%;
    top: 63%;
  }
}

@media (max-width: 767px) {
  .imp-about-region--home {
    padding-block: 34px 28px;
  }

  .imp-about-region--home .imp-about-region__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 28px;
    width: min(100% - 48px, 430px);
    margin-inline: auto;
  }

  .imp-about-region--home .imp-about-region__content {
    width: 100%;
    max-width: 380px;
    margin-inline: auto;
    padding-left: 0;
    text-align: center;
  }

  .imp-about-region--home .imp-about-region__title {
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .imp-about-region--home .imp-about-region__map-wrap {
    width: min(100%, 382px);
    height: auto;
    aspect-ratio: 1058 / 852;
    margin-inline: auto;
  }

  .imp-about-region--home .imp-about-region__map {
    left: 50%;
    top: 50%;
    width: 100%;
    max-width: none;
    max-height: none;
    margin-inline: auto;
    transform: translate3d(calc(-50% + 0.6%), -50%, 0);
  }

  .imp-about-region--home.is-ready .imp-about-region__map,
  .imp-about-region--home.is-ready.is-inview .imp-about-region__map {
    transform: translate3d(calc(-50% + 0.6%), -50%, 0);
  }

  .imp-about-hero {
    padding-top: calc(var(--imp-internal-header-height, 74px) + 44px);
  }

  .imp-about-hero__inner {
    gap: clamp(24px, 6vw, 36px);
  }

  .imp-about-hero__photos {
    min-height: clamp(384px, 116vw, 472px);
    margin-top: clamp(34px, 8vw, 46px);
  }

  .imp-about-hero__content {
    margin-top: 0;
  }

  .imp-about-hero__photo--back {
    top: 46px;
  }

  .imp-about-hero__photo--front {
    left: 35%;
    top: clamp(232px, 58vw, 270px);
    width: min(58%, 260px);
  }
}

@media (max-width: 360px) {
  .imp-about-region--home {
    padding-bottom: 56px;
  }

  .imp-about-hero {
    padding-bottom: 38px;
  }

  .imp-about-hero__inner,
  .imp-about-region__inner {
    width: min(100% - 26px, 360px);
  }

  .imp-about-hero__photos {
    min-height: clamp(350px, 112vw, 400px);
  }

  .imp-about-hero__photo--front {
    top: clamp(218px, 61vw, 248px);
  }

  .imp-about-region__title {
    font-size: clamp(36px, 11vw, 42px);
  }

  .imp-about-region__map-wrap {
    height: clamp(276px, 84vw, 320px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .imp-about-region.is-ready .imp-about-region__map,
  .imp-about-region.is-ready .imp-about-region__popsicle,
  .imp-about-region.is-ready.is-inview .imp-about-region__map,
  .imp-about-region.is-ready.is-inview .imp-about-region__popsicle {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .imp-about-region.is-ready .imp-about-region__map,
  .imp-about-region.is-ready.is-inview .imp-about-region__map {
    transform: translate3d(-50%, -48%, 0);
  }
}
