:root {
  --site-width: 80rem;
  --site-gutter: clamp(1rem, 2.75vw, 2rem);
}

.container:not([class*="max-w-"]) {
  max-width: var(--site-width);
}
.container.px-4,
.public-bar,
.article {
  padding-inline: var(--site-gutter);
}
.public-bar {
  width: min(var(--site-width), 100%);
}
.wrap {
  width: min(1130px, calc(100% - var(--site-gutter) * 2));
}
body > header > .container {
  gap: .75rem;
}
body > header > .container > .site-brand {
  margin-inline-end: 0;
}
body > header > .container > nav {
  min-width: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: .375rem clamp(.65rem, 1.6vw, 1.6rem);
}
body > header > .container > nav > a {
  overflow-wrap: anywhere;
}
body > header > .container > nav.space-x-8 > :not([hidden]) ~ :not([hidden]) {
  margin-inline: 0;
}
body > header > .container > a:not(.site-brand) {
  flex: 0 0 auto;
  text-align: center;
}
:where(main, section, footer) :where(.grid) > *,
.public-bar > *,
.editor > *,
.cms-layout > * {
  min-width: 0;
}
:where(main, section) :where(h1, h2, h3) {
  overflow-wrap: anywhere;
}
:where(main, section) :where(img, video, iframe) {
  max-width: 100%;
}
.plans-showcase {
  max-width: none;
}
#planos > .container > .text-center:first-child {
  margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
}

#home.hero-bg {
  position: relative;
  overflow: hidden;
  min-height: auto;
  padding-block: clamp(6rem, 9vw, 9rem) clamp(3rem, 6vw, 5.5rem);
}
.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.75rem, 4vw, 4rem);
}
.home-hero-copy,
.home-hero-image {
  min-width: 0;
}
.home-hero-image picture,
.home-hero-image img {
  display: block;
  width: 100%;
}
.home-hero-image img {
  height: auto;
}
.home-hero-copy h1 {
  font-size: clamp(2rem, 4vw, 3.65rem);
  line-height: 1.08;
  text-wrap: balance;
}
.home-hero-copy .order-1 > p {
  font-size: clamp(1.05rem, 1.65vw, 1.4rem);
  line-height: 1.55;
}
.home-hero-copy .order-1 > p,
.home-hero-copy .order-1 > div:last-child {
  margin-bottom: 1.25rem;
}
.home-hero-actions > p {
  margin-top: 1rem;
}
.home-hero-actions a {
  max-width: 100%;
  text-align: center;
}
@media (min-width: 1024px) {
  .home-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body > header > .container > nav,
  body > header > .container > a:not(.site-brand) {
    font-size: .75rem;
    line-height: 1.3;
  }
  body > header > .container > a:not(.site-brand) {
    padding-inline: .85rem;
  }
  .home-hero-copy .home-hero-image {
    max-width: 42rem;
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  .public-bar nav,
  .topbar nav {
    width: 100%;
    justify-content: flex-start;
  }
  .home-hero-copy .review-stars {
    flex: 0 0 auto;
  }
}
