/* Inert server-rendered controls must stay hidden even with author display rules. */
.lp-section--tabs .lp-tabs__list[hidden],
.lp-section--coverflow .lp-coverflow__controls[hidden] { display: none; }

.lp-section--pricing .lp-section__content { width: 100%; }

.lp-section--pricing .lp-pricing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  padding: 0;
  list-style: none;
}

.lp-section--pricing .lp-pricing__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--color-border, currentColor);
  border-radius: .75rem;
  background: var(--color-surface, #fff);
}

.lp-section--pricing .lp-pricing__header { color: var(--color-text, inherit); }
.lp-section--pricing .lp-pricing__name { margin: 0; overflow-wrap: anywhere; }

.lp-section--pricing .lp-pricing__price {
  margin: .75rem 0 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.lp-section--pricing .lp-pricing__body { flex: 1; }
.lp-section--pricing .lp-pricing__body > :first-child { margin-top: 1.25rem; }
.lp-section--pricing .lp-pricing__body > :last-child { margin-bottom: 0; }

.lp-section--pricing .lp-pricing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: auto;
  padding-top: 1.5rem;
}

.lp-section--pricing .lp-pricing__actions .lp-button-container { margin: 0; }

.lp-section--pricing .lp-pricing__actions .lp-button {
  display: inline-block;
  padding: .75rem 1rem;
  border-radius: .4rem;
  color: #fff;
  background: var(--color-accent, #28644b);
  font-weight: 700;
  text-decoration: none;
}

.lp-section--pricing .lp-pricing__actions .lp-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.lp-section--stats .lp-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  padding: 0;
  list-style: none;
}

.lp-section--stats .lp-stats__item {
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid currentColor;
}

.lp-section--stats .lp-stats__value {
  margin: 0 0 .5rem;
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-variant-numeric: tabular-nums;
}

.lp-section--stats .lp-stats__label > :first-child { margin-top: 0; }
.lp-section--stats .lp-stats__label > :last-child { margin-bottom: 0; }

.lp-section--logos .lp-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
}

.lp-section--logos .lp-logos__item {
  display: grid;
  place-items: center;
  min-width: 0;
  aspect-ratio: 2 / 1;
  padding: 1rem;
  border: 1px solid currentColor;
}

.lp-section--logos .lp-logos__item > p,
.lp-section--logos .lp-logos__item > p > a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

.lp-section--logos .lp-logos__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lp-section--video .lp-video__player {
  aspect-ratio: 16 / 9;
}

.lp-section--video .lp-video__player iframe,
.lp-section--video .lp-video__media {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Keep native controls and the full frame; site CSS owns any 3D transforms. */
.lp-section--video .lp-video__media {
  object-fit: contain;
}

.lp-section--faq .lp-faq__item {
  border-bottom: 1px solid currentColor;
}

.lp-section--faq .lp-faq__question {
  padding: 1rem 0;
  cursor: pointer;
}

.lp-section--faq .lp-faq__question h3 {
  display: inline;
  margin: 0;
  font: inherit;
  font-weight: 700;
}

.lp-section--faq .lp-faq__answer {
  padding-bottom: 1rem;
}

.lp-section--faq .lp-faq__answer > :first-child,
.lp-section--features .lp-features__item > :first-child { margin-top: 0; }

.lp-section--faq .lp-faq__answer > :last-child,
.lp-section--features .lp-features__item > :last-child { margin-bottom: 0; }

.lp-section--features .lp-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
}

.lp-section--features .lp-features__item {
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid currentColor;
}

.lp-section--features .lp-features__item img {
  max-width: 100%;
  height: auto;
}

.lp-section--tabs .lp-tabs__list {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  border-bottom: 1px solid currentColor;
}

.lp-section--tabs .lp-tabs__tab {
  flex: 0 0 auto;
  padding: .75rem 1rem;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.lp-section--tabs .lp-tabs__tab[aria-selected="true"] {
  border-bottom-color: currentColor;
  font-weight: 700;
}

.lp-section--tabs .lp-tabs__tab:focus-visible,
.lp-section--tabs .lp-tabs__panel:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -2px;
}

.lp-section--tabs .lp-tabs__panel {
  padding-block: 1.5rem;
}

.lp-section--tabs .lp-tabs__panel > :first-child { margin-top: 0; }
.lp-section--tabs .lp-tabs__panel > :last-child { margin-bottom: 0; }

.lp-section--columns .lp-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
}

.lp-section--columns .lp-columns[data-lp-columns-count="1"] {
  grid-template-columns: minmax(0, 1fr);
}

.lp-section--columns .lp-columns[data-lp-columns-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lp-section--columns .lp-columns__column {
  min-width: 0;
}

.lp-section--columns .lp-columns__column > :first-child {
  margin-top: 0;
}

.lp-section--columns .lp-columns__column > :last-child {
  margin-bottom: 0;
}

.lp-section--testimonials .lp-testimonials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
}

.lp-section--testimonials .lp-testimonials__item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  margin: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid currentColor;
  border-radius: .75rem;
}

.lp-section--testimonials .lp-testimonials__quote {
  flex: 1;
  margin: 0;
}

.lp-section--testimonials .lp-testimonials__quote > :first-child,
.lp-section--testimonials .lp-testimonials__attribution > :first-child {
  margin-top: 0;
}

.lp-section--testimonials .lp-testimonials__quote > :last-child,
.lp-section--testimonials .lp-testimonials__attribution > :last-child {
  margin-bottom: 0;
}

.lp-section--testimonials .lp-testimonials__attribution {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.lp-section--testimonials .lp-testimonials__attribution > p {
  flex: 0 0 4rem;
  width: 4rem;
  height: 4rem;
  margin: 0;
}

.lp-section--testimonials .lp-testimonials__attribution img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.lp-section--hero-widget .lp-section__content {
  width: 100%;
}

.lp-section--hero-widget .lp-hero-widget {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
  min-height: clamp(30rem, 68vh, 48rem);
}

.lp-section--hero-widget .lp-hero-widget__content,
.lp-section--hero-widget .lp-hero-widget__media {
  min-width: 0;
}

.lp-section--hero-widget .lp-hero-widget__content > :first-child,
.lp-section--hero-widget .lp-hero-widget__copy > :first-child,
.lp-section--hero-widget .lp-hero-widget__eyebrow > :first-child {
  margin-top: 0;
}

.lp-section--hero-widget .lp-hero-widget__content > :last-child,
.lp-section--hero-widget .lp-hero-widget__copy > :last-child,
.lp-section--hero-widget .lp-hero-widget__eyebrow > :last-child {
  margin-bottom: 0;
}

.lp-section--hero-widget .lp-hero-widget__eyebrow {
  margin-bottom: 1rem;
  font-size: .85rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lp-section--hero-widget .lp-hero-widget__copy {
  max-width: 42rem;
}

.lp-section--hero-widget .lp-hero-widget__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1.5rem;
}

.lp-section--hero-widget .lp-hero-widget__actions .lp-button-container {
  margin: 0;
}

.lp-section--hero-widget .lp-hero-widget__actions .lp-button {
  display: inline-block;
  padding: .75rem 1rem;
  border: 1px solid currentColor;
  border-radius: .4rem;
  background: var(--color-accent, #28644b);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.lp-section--hero-widget .lp-hero-widget__media > p {
  margin: 0;
}

.lp-section--hero-widget .lp-hero-widget__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="split-left"] .lp-hero-widget__media {
  order: -1;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-has-media="false"] {
  grid-template-columns: minmax(0, 1fr);
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-has-media="false"] .lp-hero-widget__content {
  max-width: 52rem;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="centered"] {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="centered"] .lp-hero-widget__content,
.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="centered"] .lp-hero-widget__media {
  width: min(100%, 64rem);
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="centered"] .lp-hero-widget__copy {
  margin-inline: auto;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="centered"] .lp-hero-widget__actions {
  justify-content: center;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  padding: clamp(2rem, 7vw, 6rem);
  background: #202421;
  isolation: isolate;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"]::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .2));
  content: "";
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__content {
  z-index: 1;
  max-width: 48rem;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__media {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__media > p,
.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__media img {
  width: 100%;
  height: 100%;
}

.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__content h1,
.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__content h2,
.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__content p,
.lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] .lp-hero-widget__content li {
  color: #fff;
}

.lp-section--image-feature .lp-section__content {
  width: 100%;
}

.lp-section--image-feature .lp-image-feature {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
}

.lp-section--image-feature .lp-image-feature__media,
.lp-section--image-feature .lp-image-feature__body {
  min-width: 0;
}

.lp-section--image-feature .lp-image-feature__media > p {
  margin: 0;
}

.lp-section--image-feature .lp-image-feature__media img {
  width: 100%;
  height: auto;
}

.lp-section--image-feature .lp-image-feature__body > :first-child {
  margin-top: 0;
}

.lp-section--image-feature .lp-image-feature__body > :last-child {
  margin-bottom: 0;
}

.lp-section--image-feature .lp-image-feature[data-lp-image-feature-side="image-right"] .lp-image-feature__media,
.lp-section--image-feature[data-section-style="alternate"]:nth-child(even of .lp-section--image-feature[data-section-style="alternate"]:has(.lp-image-feature)) .lp-image-feature__media {
  order: 2;
}

/* Coverflow: the section is full bleed; its inner content retains generous gutters. */
.lp-section--coverflow {
  padding-block: clamp(3rem, 5vw, 5rem);
  background: linear-gradient(color-mix(in srgb, var(--color-background, #17191b) var(--lp-coverflow-background-opacity, 0%), transparent), color-mix(in srgb, var(--color-background, #17191b) var(--lp-coverflow-background-opacity, 0%), transparent)), var(--lp-coverflow-background-image, linear-gradient(125deg, var(--color-surface, #25292a), var(--color-background, #17191b) 75%)) center / cover no-repeat, var(--color-background, #17191b);
  color: var(--color-text, #fff);
}
.lp-section--coverflow .lp-section__content { width: 100%; }
.lp-section--coverflow .lp-coverflow__header { padding: clamp(1rem, 2vw, 2rem); border-radius: var(--radius-lg, .75rem); background: color-mix(in srgb, var(--color-background, #17191b) var(--lp-coverflow-header-opacity, 0%), transparent); }
.lp-section--coverflow .lp-section__content > :not(.lp-coverflow) { max-width: var(--reading-width, 46rem); }
.lp-section--coverflow .lp-coverflow {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  column-gap: clamp(2rem, 3vw, 3rem);
  isolation: isolate;
  margin-top: clamp(1rem, 3vw, 2rem);
}
.lp-section--coverflow .lp-coverflow__copy { position: relative; z-index: 10; min-width: 0; padding: 1rem; border-radius: var(--radius-lg, .75rem); background: color-mix(in srgb, var(--color-background, #17191b) var(--lp-coverflow-text-opacity, 0%), transparent); opacity: 1; transition: opacity .18s ease; }
.lp-section--coverflow .lp-coverflow__copy--fading { opacity: 0; }
.lp-section--coverflow .lp-coverflow__panel[hidden],
.lp-section--coverflow .lp-coverflow__slide[hidden] { display: none; }
.lp-section--coverflow .lp-coverflow__panel > :first-child { margin-top: 0; }
.lp-section--coverflow .lp-coverflow__stage {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: min(100%, 40rem);
  min-width: 0;
  height: clamp(19rem, 38vw, 31rem);
  perspective: 1100px;
  transform-style: preserve-3d;
  touch-action: pan-y;
}
.lp-section--coverflow .lp-coverflow__slide {
  position: absolute;
  top: 5%; left: 23%;
  width: 54%; height: 90%;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-border, #666);
  border-radius: var(--radius-lg, .75rem);
  background: var(--color-surface, #25292a);
  cursor: pointer;
  backface-visibility: hidden;
  transition: transform .5s ease, opacity .5s ease, filter .5s ease;
}
.lp-section--coverflow .lp-coverflow__slide img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.lp-section--coverflow .lp-coverflow__slide[data-lp-coverflow-position="0"] { z-index: 5; transform: translate3d(0, 0, 100px); opacity: 1; }
.lp-section--coverflow .lp-coverflow__slide[data-lp-coverflow-position="-1"] { z-index: 4; transform: translate3d(-42%, 0, -80px) rotateY(37deg); opacity: .78; filter: brightness(.8); }
.lp-section--coverflow .lp-coverflow__slide[data-lp-coverflow-position="1"] { z-index: 4; transform: translate3d(42%, 0, -80px) rotateY(-37deg); opacity: .78; filter: brightness(.8); }
.lp-section--coverflow .lp-coverflow__slide[data-lp-coverflow-position="-2"] { z-index: 3; transform: translate3d(-64%, 0, -180px) rotateY(48deg); opacity: .5; filter: brightness(.65); }
.lp-section--coverflow .lp-coverflow__slide[data-lp-coverflow-position="2"] { z-index: 3; transform: translate3d(64%, 0, -180px) rotateY(-48deg); opacity: .5; filter: brightness(.65); }
.lp-section--coverflow .lp-coverflow__controls { grid-column: 2; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.lp-section--coverflow .lp-coverflow__controls button { min-height: 2.875rem; padding: .65rem 1.25rem; border: 1px solid var(--color-accent, currentColor); border-radius: var(--radius-md, .5rem); background: var(--color-accent, transparent); color: var(--color-on-accent, inherit); font: inherit; font-weight: 700; cursor: pointer; }
.lp-section--coverflow .lp-coverflow__controls button:hover { background: var(--color-accent-strong, var(--color-accent, transparent)); }
.lp-section--coverflow .lp-coverflow__controls button:focus-visible,
.lp-section--coverflow .lp-coverflow__slide:focus-visible { outline: 3px solid var(--color-accent-strong, currentColor); outline-offset: 3px; }
.lp-section--coverflow[data-section-style="text-right"] .lp-coverflow__copy { grid-column: 2; grid-row: 1; }
.lp-section--coverflow[data-section-style="text-right"] .lp-coverflow__stage { grid-column: 1; grid-row: 1; }
.lp-section--coverflow[data-section-style="text-right"] .lp-coverflow__controls { grid-column: 1; }
/* All server-rendered copy/images remain readable before browser navigation starts. */
.lp-section--coverflow:not([data-lp-coverflow-ready="true"]) .lp-coverflow { grid-template-columns: minmax(0, 1fr); }
.lp-section--coverflow:not([data-lp-coverflow-ready="true"]) :is(.lp-coverflow__copy, .lp-coverflow__stage) { grid-column: 1; grid-row: auto; }
.lp-section--coverflow:not([data-lp-coverflow-ready="true"]) .lp-coverflow__stage {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1rem;
  height: auto;
  perspective: none;
}
.lp-section--coverflow:not([data-lp-coverflow-ready="true"]) .lp-coverflow__slide {
  position: static;
  width: 100%;
  height: auto;
  cursor: default;
}
.lp-section--coverflow:not([data-lp-coverflow-ready="true"]) .lp-coverflow__slide img { height: auto; }

@media (max-width: 48rem) {
  .lp-section--coverflow .lp-coverflow { grid-template-columns: minmax(0, 1fr); }
  .lp-section--coverflow .lp-coverflow__copy,
  .lp-section--coverflow[data-section-style="text-right"] .lp-coverflow__copy,
  .lp-section--coverflow[data-section-style="text-right"] .lp-coverflow__stage,
  .lp-section--coverflow[data-section-style="text-right"] .lp-coverflow__controls { grid-column: 1; grid-row: auto; }
  .lp-section--coverflow .lp-coverflow__stage { grid-column: 1; height: clamp(15rem, 65vw, 29rem); margin-top: 1rem; }
  .lp-section--coverflow .lp-coverflow__slide { left: 23%; width: 54%; }
  .lp-section--coverflow .lp-coverflow__slide[data-lp-coverflow-position="-2"] { transform: translate3d(-40%, 0, -180px) rotateY(48deg); }
  .lp-section--coverflow .lp-coverflow__slide[data-lp-coverflow-position="2"] { transform: translate3d(40%, 0, -180px) rotateY(-48deg); }
  .lp-section--coverflow .lp-coverflow__controls { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-section--coverflow .lp-coverflow__slide, .lp-section--coverflow .lp-coverflow__copy { transition: none; }
}

@media (max-width: 42rem) {
  .lp-section--logos .lp-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lp-section--columns .lp-columns,
  .lp-section--columns .lp-columns[data-lp-columns-count],
  .lp-section--testimonials .lp-testimonials,
  .lp-section--features .lp-features,
  .lp-section--stats .lp-stats,
  .lp-section--image-feature .lp-image-feature,
  .lp-section--hero-widget .lp-hero-widget {
    grid-template-columns: minmax(0, 1fr);
  }

  .lp-section--image-feature .lp-image-feature[data-lp-image-feature-side] .lp-image-feature__media,
  .lp-section--image-feature[data-section-style="alternate"]:nth-child(even of .lp-section--image-feature[data-section-style="alternate"]:has(.lp-image-feature)) .lp-image-feature__media,
  .lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout] .lp-hero-widget__media {
    order: 0;
  }

  .lp-section--hero-widget .lp-hero-widget {
    min-height: 0;
  }

  .lp-section--hero-widget .lp-hero-widget[data-lp-hero-layout="background"] {
    min-height: 32rem;
  }
}
