:root {
  --e55-purple: #573680;
  --e55-wine: #762d56;
  --e55-ink: #272228;
  --e55-muted: #655d63;
  --e55-blush: #f8f0ed;
  --e55-cream: #fdfbf9;
  --e55-line: #eadedf;
  --e55-serif: 'Cormorant Garamond',Georgia,serif;
  --e55-sans: Poppins,Arial,sans-serif;
}
.e55-page {
  margin: 0;
  background: var(--e55-cream);
  color: var(--e55-ink);
  font: 400 13px/1.65 var(--e55-sans);
}
.e55-page * {
  box-sizing: border-box;
}
.e55-page a {
  color: inherit;
  text-decoration: none;
}
.e55-wrap {
  width: min(1180px,calc(100% - 48px));
  margin: auto;
}
.e55-section {
  padding: 104px 0;
}
.e55-header {
  position: absolute;
  z-index: 5;
  width: 100%;
  padding: 22px 0;
}
.e55-header__inner {
  display: flex;
  align-items: center;
  gap: 40px;
}
.e55-logo {
  display: flex;
  align-items: center;
}
.e55-logo img {
  display: block;
  width: auto;
  height: auto;
}
.e55-header .e55-logo img {
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.e55-footer .e55-logo img {
  max-height: 40px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.e55-nav {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex: 1;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}
.e55-nav a:hover {
  color: var(--e55-wine);
}
.e55-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 0 22px;
  border: 1px solid var(--e55-wine);
  border-radius: 4px;
  background: var(--e55-wine);
  color: #fff!important;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -.15px;
  transition: .3s;
}
.e55-btn:hover {
  transform: translateY(-2px);
  background: #4c1c38;
  box-shadow: 0 8px 18px #57368026;
}
.e55-btn--small {
  margin-left: auto;
  min-height: 37px;
  padding: 0 18px;
}
.e55-btn--outline {
  background: transparent;
  color: var(--e55-wine)!important;
}
.e55-btn--outline:hover {
  background: var(--e55-wine);
  color: #fff!important;
}
.e55-btn--light {
  background: #fff;
  border-color: #fff;
  color: var(--e55-wine)!important;
}
.e55-menu-toggle {
  display: none;
}
.e55-hero {
  padding: 134px 0 0;
  background: radial-gradient(circle at 13% 14%,#fff 0,#fdf9f7 35%,#f6efed 100%);
  overflow: hidden;
}
.e55-hero__grid {
  display: grid;
  grid-template-columns: 48% 52%;
  align-items: center;
  min-height: 590px;
}
.e55-hero__copy {
  padding: 55px 0 70px;
}
.e55-eyebrow {
  margin: 0 0 9px;
  color: var(--e55-wine);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15px;
}
.e55-hero h1,
.e55-heading h2,
.e55-copy h2,
.e55-final-cta h2 {
  margin: 0;
  font: 600 clamp(43px,4.25vw,62px)/.91 var(--e55-serif);
  letter-spacing: -1.9px;
}
.e55-hero h1 em {
  color: var(--e55-wine);
  font-weight: 600;
}
.e55-hero__copy>p:not(.e55-eyebrow) {
  max-width: 465px;
  margin: 24px 0 20px;
  font-size: 11px;
  line-height: 1.72;
}
.e55-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.e55-hero__visual {
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: end;
  justify-content: flex-end;
}
.e55-hero__visual img {
  width: 100%;
  height: auto;
  max-width: 640px;
  align-self: end;
  aspect-ratio: 640/610;
  object-fit: cover;
  object-position: center 30%;
}
.e55-year-badge {
  position: absolute;
  left: 3%;
  bottom: 70px;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border: 1px solid #97657b;
  border-radius: 50%;
  background: #fffaf8;
  color: var(--e55-wine);
  font-size: 9px;
  text-transform: uppercase;
}
.e55-year-badge strong {
  display: block;
  font: 500 25px var(--e55-serif);
  text-transform: none;
}
.e55-split {
  display: grid;
  grid-template-columns: 1fr 1.22fr;
  align-items: center;
  gap: 80px;
}
.e55-image-frame {
  position: relative;
}
.e55-image-frame:after {
  content: '';
  position: absolute;
  left: -22px;
  bottom: -22px;
  width: 68px;
  height: 68px;
  background-image: radial-gradient(var(--e55-wine) 1.5px,transparent 1.6px);
  background-size: 11px 11px;
}
.e55-image-frame img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  background: #eee;
  object-fit: cover;
  object-position: center;
}
.e55-about .e55-image-frame img {
  aspect-ratio: 560/430;
}
.e55-empreenda .e55-image-frame img {
  aspect-ratio: 560/420;
}
.e55-copy h2 {
  font-size: 40px;
  line-height: .98;
  letter-spacing: -1px;
}
.e55-copy p {
  margin: 17px 0 0;
  font-size: 11px;
  line-height: 1.7;
}
.e55-copy .e55-btn {
  margin-top: 23px;
}
.e55-heading {
  text-align: center;
}
.e55-heading h2 {
  font-size: 33px;
  letter-spacing: -.8px;
}
.e55-heading>p:last-child {
  max-width: 600px;
  margin: 7px auto 0;
  font-size: 11px;
}
.e55-essence {
  padding-top: 80px;
  background: #fff;
}
.e55-essence__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  margin-top: 38px;
}
.e55-value {
  padding: 0 23px;
  border-right: 1px solid var(--e55-line);
}
.e55-value:last-child {
  border: 0;
}
.e55-icon {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--e55-blush);
  color: var(--e55-wine);
  font: 28px var(--e55-serif);
}
.e55-value h3,
.e55-service h3 {
  margin: 0;
  font-size: 11px;
}
.e55-value p,
.e55-service p {
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 1.55;
}
.e55-services {
  padding-top: 82px;
}
.e55-services__grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 12px;
  margin-top: 31px;
}
.e55-service {
  min-height: 167px;
  padding: 20px 15px;
  border: 1px solid var(--e55-line);
  border-radius: 8px;
  background: #fff;
  text-align: center;
  transition: .3s;
}
.e55-service:hover {
  transform: translateY(-6px);
  border-color: #c497a8;
  box-shadow: 0 12px 28px #57368012;
}
.e55-service span {
  display: block;
  margin-bottom: 11px;
  color: var(--e55-wine);
  font-size: 29px;
  line-height: 1;
}
.e55-numbers {
  padding: 21px 0;
  background: linear-gradient(100deg,#f6eae6,#f9f1eb);
}
.e55-numbers__inner {
  display: grid;
  grid-template-columns: 1.55fr repeat(3,1fr);
  align-items: center;
}
.e55-numbers__inner>p {
  margin: 0;
  color: var(--e55-wine);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}
.e55-stat {
  padding-left: 35px;
  border-left: 1px solid #c4adb0;
  text-align: center;
}
.e55-stat strong {
  display: block;
  color: var(--e55-wine);
  font: 600 31px/1 var(--e55-serif);
}
.e55-stat span {
  font-size: 9px;
  font-weight: 600;
}
.e55-empreenda {
  padding-bottom: 85px;
}
.e55-split--reverse {
  grid-template-columns: 1fr 1.25fr;
}
.e55-stories {
  padding-top: 28px;
  background: linear-gradient(#fff,#fdfaf8);
}
.e55-carousel {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-top: 31px;
}
.e55-carousel__viewport {
  overflow: hidden;
  flex: 1;
}
.e55-carousel__track {
  display: flex;
  gap: 16px;
  transition: transform .45s ease;
}
.e55-testimonial {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 0 0 calc((100% - 32px)/3);
  min-height: 150px;
  padding: 19px 22px;
  border: 1px solid var(--e55-line);
  border-radius: 8px;
  background: #fff;
}
.e55-testimonial b {
  color: var(--e55-wine);
  font: 600 30px/12px var(--e55-serif);
}
.e55-testimonial p {
  margin: 7px 0 0;
  font-size: 10px;
  line-height: 1.6;
}
.e55-carousel__button {
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  border: 0;
  border-radius: 50%;
  background: var(--e55-wine);
  color: #fff;
  font: 23px/1 var(--e55-serif);
  cursor: pointer;
}
.e55-dots {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 14px;
}
.e55-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 1px solid #ad7287;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.e55-dot--active {
  background: var(--e55-wine);
}
.e55-partners {
  padding: 68px 0;
}
.e55-partners>.e55-wrap>p {
  text-align: center;
  font-size: 10px;
}
.e55-sponsors-carousel {
  margin: 31px 0 12px;
}
.e55-sponsors-carousel .e55-carousel__track {
  gap: 24px;
}
.e55-sponsors-slide {
  display: flex;
  flex: 0 0 calc((100% - 96px)/5);
  align-items: center;
  justify-content: center;
  min-height: 104px;
  padding: 14px 22px;
}
.e55-sponsors-slide img {
  display: block;
  max-height: 50px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.e55-final-cta {
  padding: 0 0 60px;
}
.e55-final-cta__inner {
  display: grid;
  grid-template-columns: 145px 1fr auto;
  align-items: center;
  gap: 30px;
  padding: 29px 48px;
  border-radius: 4px;
  background: linear-gradient(112deg,#5d2248,#7d365d 60%,#612c55);
  color: #fff;
}
.e55-final-cta__icon {
  display: grid;
  place-items: center;
  width: 90px;
  height: 90px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #fff;
  color: var(--e55-wine);
  font: 48px var(--e55-serif);
}
.e55-final-cta h2 {
  font-size: 32px;
  letter-spacing: -.5px;
}
.e55-final-cta p {
  max-width: 520px;
  margin: 8px 0 0;
  font-size: 10px;
}
.e55-footer {
  padding: 20px 0 35px;
  border-bottom: 1px solid #ded6d3;
}
.e55-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.1fr;
  gap: 55px;
}
.e55-footer p {
  max-width: 220px;
  margin: 18px 0 0;
  font-size: 9px;
}
.e55-footer h4 {
  margin: 4px 0 10px;
  font-size: 9px;
}
.e55-footer a:not(.e55-logo) {
  display: block;
  margin: 4px 0;
  font-size: 9px;
}
.e55-social {
  display: flex;
  gap: 10px;
}
.e55-social a {
  display: grid!important;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--e55-wine);
  color: #fff!important;
  font-size: 10px!important;
  font-weight: 700;
}
.e55-back-top {
  position: fixed;
  z-index: 10;
  right: 22px;
  bottom: 22px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: var(--e55-wine);
  color: #fff;
  font-size: 19px;
  opacity: 0;
  transform: translateY(12px);
  transition: .25s;
  cursor: pointer;
  pointer-events: none;
}
.e55-back-top.e55-is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.e55-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .65s ease,transform .65s ease;
}
.e55-reveal.e55-visible {
  opacity: 1;
  transform: none;
}
