/* packages/extensions/theme-main-street/src/image-accordion.css */
.image-accordion-panels {
  display: grid;
  gap: .75rem;
}
.image-accordion-panel {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: end;
  min-width: 0;
  min-height: 18rem;
  overflow: hidden;
  border-radius: var(--radius);
  color: #fff;
  background: #17201c;
}
.image-accordion-media {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.image-accordion-media img,
.image-accordion-media .image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}
.image-accordion-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(
      transparent,
      rgb(0 0 0 / var(--image-accordion-overlay, .55)) 45%,
      rgb(0 0 0 / .85));
  pointer-events: none;
}
.image-accordion-panel[data-crop=center] img {
  object-position: center !important;
}
.image-accordion-panel[data-crop=top] img {
  object-position: center top !important;
}
.image-accordion-panel[data-crop=bottom] img {
  object-position: center bottom !important;
}
.image-accordion-panel[data-crop=left] img {
  object-position: left center !important;
}
.image-accordion-panel[data-crop=right] img {
  object-position: right center !important;
}
.image-accordion-copy {
  width: 100%;
  padding: 1.5rem;
  min-width: 0;
}
.image-accordion-copy h3 {
  margin: 0;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  overflow-wrap: anywhere;
}
.image-accordion-copy p {
  margin: .75rem 0 0;
}
[data-image-accordion-toggle] {
  width: 100%;
  min-height: 44px;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: start;
  font: inherit;
  cursor: pointer;
}
[data-image-accordion-toggle]:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
  border-radius: .15rem;
}
[data-image-accordion-toggle][hidden],
[data-image-accordion-content][hidden],
[data-image-accordion-title][hidden] {
  display: none;
}
[data-accordion-enhanced=true][data-direction=horizontal] .image-accordion-panels {
  display: flex;
  flex-wrap: wrap;
}
[data-accordion-enhanced=true][data-direction=horizontal] .image-accordion-panel {
  flex: 1 1 8rem;
  min-height: 26rem;
  transition: flex-grow .3s ease;
}
[data-accordion-enhanced=true][data-direction=horizontal] .image-accordion-panel[data-expanded=true] {
  flex-grow: 4;
}
[data-accordion-enhanced=true][data-direction=vertical] .image-accordion-panel {
  min-height: 6rem;
}
[data-accordion-enhanced=true][data-direction=vertical] .image-accordion-panel[data-expanded=true] {
  min-height: 20rem;
}
@media (max-width: 720px) {
  [data-accordion-enhanced=true][data-direction=horizontal] .image-accordion-panels {
    display: grid;
  }
  [data-accordion-enhanced=true][data-direction=horizontal] .image-accordion-panel {
    min-height: 6rem;
  }
  [data-accordion-enhanced=true][data-direction=horizontal] .image-accordion-panel[data-expanded=true] {
    min-height: 20rem;
  }
  .image-accordion-copy {
    padding: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .image-accordion-panel {
    transition: none !important;
  }
}

/* packages/extensions/theme-main-street/src/premium-motion.css */
.habitat-parallax-frame {
  display: block;
  overflow: hidden;
  border-radius: var(--radius);
}
.habitat-parallax-frame img {
  display: block;
}
.habitat-cursor-halo {
  position: fixed;
  z-index: 999;
  width: 2.5rem;
  height: 2.5rem;
  margin: -1.25rem 0 0 -1.25rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--primary, #315c4d);
  background: color-mix(in srgb, var(--primary, #315c4d) 12%, transparent);
  pointer-events: none;
}
.habitat-cursor-halo[hidden] {
  display: none;
}
@media (min-width: 901px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  [data-habitat-stack][data-stack-enhanced=true] > .layout-children {
    display: block;
  }
  [data-habitat-stack][data-stack-enhanced=true] > .layout-children > .nested-extension-block {
    position: sticky;
    top: calc(var(--stack-top, 96px) + var(--stack-index, 0) * var(--stack-offset, 16px));
    margin-bottom: max(3rem, 12vh);
    background: var(--surface, #fff);
    border-radius: var(--radius);
    isolation: isolate;
  }
  [data-habitat-stack][data-stack-enhanced=true] > .layout-children > .nested-extension-block:last-child {
    margin-bottom: 0;
  }
  [data-habitat-stack][data-stack-enhanced=true] > .layout-children > .nested-extension-block:focus-within {
    z-index: 2;
  }
}
@media (prefers-reduced-motion: reduce), (hover: none) {
  .habitat-cursor-halo {
    display: none;
  }
}

/* packages/extensions/theme-main-street/src/forms.css */
.configured-form-fields {
  display: grid;
  gap: 1rem;
}
.configured-form-columns-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.configured-form-field {
  min-width: 0;
  display: grid;
  gap: .4rem;
}
.configured-form-field[hidden] {
  display: none;
}
.configured-form-field fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .5rem;
}
.configured-form-field fieldset label {
  display: flex;
  align-items: center;
  gap: .6rem;
}
.configured-form-field input[type=checkbox],
.configured-form-field input[type=radio] {
  width: auto;
}
.configured-form-field small {
  color: var(--muted);
}
@media (max-width: 700px) {
  .configured-form-columns-two {
    grid-template-columns: 1fr;
  }
}

/* packages/extensions/theme-main-street/src/theme.css */
.block {
  padding-block: var(--block-padding-block, var(--section-spacing));
  padding-inline: var(--block-padding-inline, 1.25rem);
}
.block-inner {
  width: min(var(--block-content-width, var(--content-width)), 100%);
  margin: 0 auto;
}
.block-inner.narrow {
  width: min(48rem, 100%);
}
.block h1 {
  font-size: clamp(2.8rem, 7vw, 5.8rem);
  line-height: .97;
  max-width: 13ch;
  margin: 0 0 1.5rem;
  letter-spacing: -.05em;
}
.block h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
  margin: 0 0 1.5rem;
  letter-spacing: -.035em;
}
.block h3 {
  margin: 0 0 .5rem;
}
.block p {
  max-width: 62ch;
  line-height: 1.7;
}
.eyebrow {
  color: var(--primary);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.block-hero {
  background:
    radial-gradient(
      circle at 85% 20%,
      color-mix(in srgb, var(--primary) 18%, transparent),
      transparent 35%),
    var(--block-surface-background, var(--background));
  background-color: var(--block-background-color, var(--background));
  background-position: var(--block-background-position, center);
  background-repeat: no-repeat;
  background-size: var(--block-background-size, cover);
}
.block-hero p:not(.eyebrow) {
  font-size: 1.2rem;
}
.site-button {
  display: inline-flex;
  margin-top: 1rem;
  padding: .8rem 1.2rem;
  border: var(--border-width) solid var(--primary);
  border-radius: var(--radius);
  background: var(--primary);
  color: white;
  font-weight: 750;
  text-decoration: none;
  box-shadow: var(--shadow);
}
.card-grid,
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: var(--block-gap);
  margin-top: 2rem;
}
.site-card,
.product-card {
  padding: 1.5rem;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: calc(var(--block-gap) * 2);
}
.split.right img,
.split.right .image-placeholder {
  order: 2;
}
.split img,
.image-placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary) 25%, var(--background)),
      color-mix(in srgb, var(--primary) 5%, var(--background)));
}
.hours-list > div,
.menu-list article {
  display: flex;
  justify-content: space-between;
  gap: var(--block-gap);
  padding: 1rem 0;
  border-bottom: var(--border-width) solid var(--border-color);
}
.hours-list dt,
.menu-list h3 {
  font-weight: 750;
}
.hours-list dd {
  margin: 0;
  text-align: right;
}
.menu-list article p {
  margin: .25rem 0 0;
}
.menu-list article > strong {
  white-space: nowrap;
}
.product-card {
  padding: 0;
  overflow: hidden;
}
.product-card > div:last-child {
  padding: 1.25rem;
}
.product-image,
.product-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--primary) 20%, var(--background)),
      color-mix(in srgb, var(--primary) 4%, var(--background)));
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.block-contact a {
  color: inherit;
}
.block-cta .block-inner {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
}
.block-cta h2 {
  max-width: 18ch;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
}
.block-cta h2,
.block-cta p {
  margin-top: 0;
}
.block-cta p {
  margin-bottom: 0;
}
.block-cta.cta-style-secondary {
  color: var(--block-explicit-foreground, var(--background));
  background: var(--block-surface-background, var(--foreground));
}
.prose {
  font-size: 1.08rem;
}
.block-heading.center {
  text-align: center;
}
.block-heading.right {
  text-align: right;
}
.block-heading h1,
.block-heading h2,
.block-heading h3,
.block-heading h4 {
  max-width: none;
  margin-bottom: 0;
}
.block-image figure,
.block-gallery figure,
.block-testimonial,
.block-video figure {
  margin-block: 0;
}
.block-image .image-narrow {
  max-width: 48rem;
}
.block-image .image-full {
  width: 100%;
}
.block-image img,
.block-gallery img,
.block-video video {
  display: block;
  width: 100%;
  border-radius: var(--radius);
}
.block-image img,
.block-gallery img {
  height: auto;
}
.block-image img {
  max-height: 760px;
  object-fit: cover;
}
.block-image figcaption,
.block-gallery figcaption,
.block-video figcaption {
  margin-top: .65rem;
  color: var(--muted);
  font-size: .85rem;
}
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--block-gap);
}
.button-row.center {
  justify-content: center;
}
.button-row.right {
  justify-content: flex-end;
}
.button-row.button-style-secondary .site-button {
  border-color: var(--primary);
  color: var(--primary);
  background: transparent;
  box-shadow: none;
}
.gallery-grid {
  display: grid;
  gap: var(--block-gap);
}
.gallery-grid.columns-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gallery-grid.columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gallery-grid.columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.gallery-grid figure {
  margin: 0;
  min-width: 0;
}
.gallery-grid img,
.gallery-grid .image-placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.block-testimonial blockquote {
  margin: 0;
  color: inherit;
  font-family: var(--heading-font);
  font-size: clamp(1.6rem, 4vw, 2.8rem);
  line-height: 1.2;
}
.block-testimonial figcaption {
  display: grid;
  gap: .2rem;
  margin-top: 1.5rem;
  color: var(--muted);
}
.block-testimonial figcaption strong {
  color: var(--foreground);
}
.faq-list {
  display: grid;
  gap: .75rem;
}
.faq-list details {
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  padding: 1rem 1.2rem;
  background: var(--surface);
}
.faq-list summary {
  cursor: pointer;
  font-weight: 750;
}
.faq-list p {
  margin-bottom: 0;
  color: var(--muted);
}
.block-separator {
  padding: calc(var(--section-spacing) * .35) 1.25rem;
}
.block-separator hr {
  border: 0;
  border-top: var(--border-width) solid var(--border-color);
  margin: 0 auto;
}
.block-separator hr.dashed {
  border-top-style: dashed;
}
.block-separator hr.dotted {
  border-top-style: dotted;
}
.separator-narrow hr {
  max-width: 32rem;
}
.separator-wide hr {
  max-width: var(--content-width);
}
.block-spacer {
  padding: 0;
}
.spacer-small {
  height: calc(var(--section-spacing) * .35);
}
.spacer-medium {
  height: calc(var(--section-spacing) * .7);
}
.spacer-large {
  height: var(--section-spacing);
}
.block-video video {
  aspect-ratio: 16 / 9;
  background: #000;
}
.video-placeholder {
  display: grid;
  aspect-ratio: 16 / 9;
  place-items: center;
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--surface);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: var(--block-gap);
}
.stats-grid article {
  display: grid;
  gap: .4rem;
  border-top: calc(var(--border-width) * 2) solid var(--accent);
  padding-top: 1rem;
}
.stats-grid strong {
  color: var(--primary);
  font-family: var(--heading-font);
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
}
.stats-grid span {
  color: var(--muted);
}
.icon-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--block-gap);
}
.icon-list-grid article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
}
.item-icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 999px;
  color: var(--background);
  background: var(--primary);
  font-weight: 800;
}
.item-icon svg {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}
.icon-list-grid h3,
.icon-list-grid p {
  margin-top: 0;
}
.block-icon .block-inner {
  display: flex;
}
.block-icon.icon-align-left .block-inner {
  justify-content: flex-start;
}
.block-icon.icon-align-center .block-inner {
  justify-content: center;
}
.block-icon.icon-align-right .block-inner {
  justify-content: flex-end;
}
.standalone-icon {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  color: var(--icon-colour, currentColor);
  line-height: 0;
}
.standalone-icon svg {
  display: block;
}
.standalone-icon.icon-shape-circle,
.standalone-icon.icon-shape-rounded {
  padding: clamp(.65rem, 2vw, 1rem);
  background: var(--icon-background, color-mix(in srgb, var(--primary) 10%, var(--surface)));
}
.standalone-icon.icon-shape-circle {
  border-radius: 999px;
}
.standalone-icon.icon-shape-rounded {
  border-radius: calc(var(--radius) * .8);
}
.logo-cloud {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: var(--block-gap);
  align-items: stretch;
}
.logo-cloud > * {
  display: grid;
  min-height: 6.5rem;
  place-items: center;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  padding: 1rem;
  color: inherit;
  background: var(--surface);
  text-align: center;
  text-decoration: none;
}
.logo-cloud img {
  width: min(10rem, 100%);
  max-height: 4rem;
  object-fit: contain;
}
.team-grid,
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--block-gap);
  margin-top: 2rem;
}
.team-card,
.pricing-card {
  min-width: 0;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  padding: 1.25rem;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.team-card img,
.portrait-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: calc(var(--radius) * .75);
  object-fit: cover;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--primary) 22%, var(--background)),
      color-mix(in srgb, var(--accent) 15%, var(--surface)));
}
.team-card h3 {
  margin-top: 1rem;
}
.team-card > strong {
  color: var(--primary);
}
.pricing-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.pricing-card .price {
  color: var(--primary);
  font-family: var(--heading-font);
  font-size: clamp(1.8rem, 4vw, 3rem);
}
.pricing-card ul {
  flex: 1;
  padding-left: 1.2rem;
}
.table-scroll {
  overflow-x: auto;
}
.block-table table {
  width: 100%;
  min-width: 32rem;
  border-collapse: collapse;
  text-align: left;
}
.block-table caption {
  margin-bottom: 1rem;
  font-family: var(--heading-font);
  font-size: 1.25rem;
  font-weight: 750;
  text-align: left;
}
.block-table th,
.block-table td {
  border-bottom: var(--border-width) solid var(--border-color);
  padding: .9rem 1rem;
  vertical-align: top;
}
.block-table thead th {
  color: var(--background);
  background: var(--primary);
}
.block-table tbody th {
  font-weight: 750;
}
.block-audio audio {
  width: 100%;
}
.audio-placeholder {
  border: var(--border-width) dashed var(--border-color);
  border-radius: var(--radius);
  padding: 1.25rem;
  color: var(--muted);
  background: var(--surface);
}
.block-download .block-inner {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  padding: 1.5rem;
  background: var(--surface);
}
.block-download h2,
.block-download p {
  margin-top: 0;
}
.carousel-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
.carousel-controls {
  display: flex;
  gap: .5rem;
}
.carousel-controls button {
  width: 44px;
  height: 44px;
  border: var(--border-width) solid var(--border-color);
  border-radius: 999px;
  color: var(--foreground);
  background: var(--surface);
  font-size: 1.5rem;
  cursor: pointer;
}
.carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: var(--block-gap);
  overflow-x: auto;
  padding: .25rem .1rem 1rem;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
}
.carousel-track.items-2 {
  grid-auto-columns: calc((100% - var(--block-gap)) / 2);
}
.carousel-track.items-3 {
  grid-auto-columns: calc((100% - var(--block-gap) * 2) / 3);
}
.carousel-slide {
  min-width: 0;
  overflow: hidden;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
  scroll-snap-align: start;
}
.carousel-slide > div:last-child {
  padding: 1.25rem;
}
.carousel-slide img,
.carousel-slide .image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 0;
  object-fit: cover;
}
.collection-slide {
  display: grid;
  min-height: 10rem;
  align-content: end;
  padding: 1.25rem;
}
.carousel-status {
  margin: .5rem 0 0;
  color: var(--muted);
  font-size: .8rem;
}
.tab-list {
  display: flex;
  gap: .25rem;
  overflow-x: auto;
  border-bottom: var(--border-width) solid var(--border-color);
}
.tab-list button {
  min-height: 44px;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: .75rem 1rem;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}
.tab-list button[aria-selected=true] {
  border-bottom-color: var(--primary);
  color: var(--foreground);
}
.tab-panels {
  border: var(--border-width) solid var(--border-color);
  border-top: 0;
  padding: 1.25rem;
  background: var(--surface);
}
.tab-panels [role=tabpanel]:focus-visible,
.tab-list button:focus-visible,
.carousel-controls button:focus-visible,
.carousel-track:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.tab-panels p {
  margin-block: 0;
  white-space: pre-line;
}
.block-location {
  container-type: inline-size;
}
.location-card {
  display: grid;
  overflow: hidden;
  border: var(--border-width) solid var(--border-color);
  border-radius: calc(var(--radius) * 1.2);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.location-map-frame {
  min-width: 0;
  min-height: 22rem;
  background: color-mix(in srgb, var(--primary) 7%, var(--surface));
}
.location-map-frame .external-media-placeholder {
  height: 100%;
  min-height: 22rem;
  border: 0;
  border-radius: 0;
}
.location-copy {
  display: grid;
  align-content: center;
  justify-items: start;
  padding: clamp(1.5rem, 5cqi, 3rem);
}
.location-copy .eyebrow {
  margin: 0 0 .85rem;
}
.location-copy h2 {
  margin-bottom: 1rem;
}
.location-copy address {
  max-width: 32rem;
  color: var(--muted);
  font-style: normal;
  line-height: 1.65;
  white-space: pre-line;
}
@container (min-width: 52rem) {
  .location-card {
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
  }
}
.block-timeline ol {
  display: grid;
  gap: 0;
  padding: 0;
  list-style: none;
}
.block-timeline li {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1.25rem;
  border-left: 3px solid var(--primary);
  padding: 0 0 2rem 1.5rem;
}
.block-timeline li > span {
  color: var(--primary);
  font-weight: 800;
}
.block-timeline h3,
.block-timeline p {
  margin-top: 0;
}
.progress-list {
  display: grid;
  gap: 1.25rem;
}
.progress-list > div > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.progress-list progress {
  width: 100%;
  height: 1rem;
  accent-color: var(--primary);
}
.block-whatsapp .block-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--block-gap) * 1.5);
  border: var(--border-width) solid color-mix(in srgb, #25d366 45%, var(--border-color));
  border-radius: var(--radius);
  padding: clamp(1.4rem, 4vw, 2.4rem);
  background: color-mix(in srgb, #25d366 8%, var(--surface));
}
.block-whatsapp h2,
.block-whatsapp p {
  margin-top: 0;
}
.block-whatsapp p:last-child {
  margin-bottom: 0;
}
.block-whatsapp .whatsapp-button {
  flex: 0 0 auto;
  border-color: #157b43;
  background: #157b43;
}
.block-animated-counter {
  text-align: center;
}
.animated-counter-value {
  max-width: none !important;
  margin: 0;
  color: var(--primary);
  font-family: var(--heading-font);
  font-size: clamp(3.5rem, 12vw, 8rem);
  font-weight: 800;
  line-height: .9 !important;
  letter-spacing: -.06em;
}
.animated-counter-value + p {
  margin: 1rem auto 0;
  color: var(--muted);
  font-weight: 700;
}
.block-hover-links nav {
  display: grid;
  margin-top: 1.5rem;
}
.block-hover-links nav a {
  display: flex;
  min-height: 3.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: var(--border-width) solid var(--border-color);
  color: inherit;
  font-family: var(--heading-font);
  font-size: clamp(1.25rem, 3vw, 2rem);
  font-weight: 750;
  text-decoration: none;
  transition:
    color .25s ease,
    background .25s ease,
    transform .25s ease;
}
.block-hover-links nav a span {
  transition: transform .25s ease;
}
.block-hover-links nav a:hover span,
.block-hover-links nav a:focus-visible span {
  transform: translate(.25rem, -.2rem);
}
.hover-underline nav a {
  background-image: linear-gradient(var(--accent), var(--accent));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 3px;
  transition: background-size .3s ease;
}
.hover-underline nav a:hover,
.hover-underline nav a:focus-visible {
  background-size: 100% 3px;
}
.hover-highlight nav a:hover,
.hover-highlight nav a:focus-visible {
  padding-inline: .75rem;
  color: var(--background);
  background: var(--primary);
}
.hover-lift nav a:hover,
.hover-lift nav a:focus-visible {
  color: var(--primary);
  transform: translateY(-.25rem);
}
.block-text-reveal h1,
.block-text-reveal h2,
.block-text-reveal h3 {
  max-width: 18ch;
  margin-inline: 0;
  font-size: clamp(2.5rem, 7vw, 6rem);
}
.block-text-reveal.center h1,
.block-text-reveal.center h2,
.block-text-reveal.center h3 {
  margin-inline: auto;
}
.block-text-reveal.right h1,
.block-text-reveal.right h2,
.block-text-reveal.right h3 {
  margin-left: auto;
}
.block-text-reveal h1 > span,
.block-text-reveal h2 > span,
.block-text-reveal h3 > span {
  display: inline-block;
  opacity: 0;
  transform: translateY(.7em);
  transition: opacity .55s ease, transform .55s cubic-bezier(.22, 1, .36, 1);
}
.block-text-reveal.is-revealed h1 > span,
.block-text-reveal.is-revealed h2 > span,
.block-text-reveal.is-revealed h3 > span {
  opacity: 1;
  transform: none;
}
.block-text-reveal h1 > span:nth-child(2),
.block-text-reveal h2 > span:nth-child(2),
.block-text-reveal h3 > span:nth-child(2) {
  transition-delay: .06s;
}
.block-text-reveal h1 > span:nth-child(3),
.block-text-reveal h2 > span:nth-child(3),
.block-text-reveal h3 > span:nth-child(3) {
  transition-delay: .12s;
}
.block-text-reveal h1 > span:nth-child(n+4),
.block-text-reveal h2 > span:nth-child(n+4),
.block-text-reveal h3 > span:nth-child(n+4) {
  transition-delay: .18s;
}
.block-marquee {
  position: relative;
  overflow: hidden;
  border-block: var(--border-width) solid var(--border-color);
  padding-block: 1.25rem;
}
.marquee-viewport {
  overflow: hidden;
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: habitat-marquee 24s linear infinite;
}
.marquee-track > span {
  display: flex;
}
.marquee-track span span {
  display: inline-flex;
  align-items: center;
  font-family: var(--heading-font);
  font-size: clamp(1.6rem, 4vw, 3rem);
  font-weight: 750;
  white-space: nowrap;
}
.marquee-separator {
  margin-inline: 1.5rem;
  color: var(--accent);
  font-style: normal;
}
.marquee-fast .marquee-track {
  animation-duration: 14s;
}
.marquee-slow .marquee-track {
  animation-duration: 38s;
}
.marquee-right .marquee-track {
  animation-direction: reverse;
}
.block-marquee.is-paused .marquee-track {
  animation-play-state: paused;
}
.block-marquee > button {
  display: block;
  min-height: 44px;
  border: 0;
  margin: .75rem auto -1rem;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: .8rem;
  text-decoration: underline;
  cursor: pointer;
}
@keyframes habitat-marquee {
  to {
    transform: translateX(-50%);
  }
}
.link-preview-card {
  display: grid;
  grid-template-columns: minmax(8rem, 34%) 1fr;
  overflow: hidden;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  color: inherit;
  background: var(--surface);
  box-shadow: var(--shadow);
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
}
.link-preview-card:hover,
.link-preview-card:focus-visible {
  transform: translateY(-.25rem);
  box-shadow: 0 18px 45px rgb(23 32 59 / 18%);
}
.link-preview-card > img {
  width: 100%;
  height: 100%;
  min-height: 13rem;
  object-fit: cover;
}
.link-preview-card > span {
  display: grid;
  align-content: center;
  gap: .55rem;
  padding: clamp(1.25rem, 4vw, 2rem);
}
.link-preview-card small {
  color: var(--primary);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.link-preview-card strong {
  font-family: var(--heading-font);
  font-size: clamp(1.4rem, 3vw, 2rem);
}
.link-preview-card em {
  color: var(--primary);
  font-style: normal;
  font-weight: 750;
}
.block-fluid-gradient {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--gradient-one) 55%, var(--background)),
      color-mix(in srgb, var(--gradient-two) 50%, var(--surface)));
}
.fluid-gradient-orb {
  position: absolute;
  z-index: -1;
  width: min(65vw, 52rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 35% 35%,
      var(--gradient-three),
      transparent 65%);
  filter: blur(25px);
  opacity: .75;
  animation: habitat-fluid-gradient 12s ease-in-out infinite alternate;
}
.block-fluid-gradient .block-inner {
  position: relative;
  z-index: 1;
}
@keyframes habitat-fluid-gradient {
  from {
    transform: translate(-20%, -30%) scale(.9);
  }
  to {
    transform: translate(70%, 20%) scale(1.15);
  }
}
.block-youtube figure {
  margin: 0;
}
.youtube-player {
  position: relative;
  display: grid;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  place-items: center;
  border-radius: var(--radius);
  background: #111;
}
.youtube-player > img,
.youtube-poster-placeholder,
.youtube-player > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}
.youtube-poster-placeholder {
  background:
    radial-gradient(
      circle at center,
      color-mix(in srgb, var(--accent) 42%, transparent),
      transparent 26%),
    linear-gradient(
      145deg,
      #191919,
      #383838);
}
.youtube-play {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 11rem;
  min-height: 7.25rem;
  place-items: center;
  gap: .2rem;
  border: 0;
  border-radius: calc(var(--radius) * .8);
  padding: 1rem 1.4rem;
  color: white;
  background: color-mix(in srgb, #000 78%, transparent);
  font: inherit;
  cursor: pointer;
}
.youtube-play > span {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 999px;
  padding-left: .2rem;
  color: #111;
  background: white;
}
.youtube-play small {
  font-size: .72rem;
  font-weight: 500;
  opacity: .8;
}
.youtube-player:focus-within {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.block-youtube figcaption {
  margin-top: .65rem;
  color: var(--muted);
  font-size: .85rem;
}
.external-media-placeholder {
  display: grid;
  min-height: 20rem;
  place-items: center;
  align-content: center;
  gap: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 2rem;
  text-align: center;
  background: color-mix(in srgb, var(--surface) 94%, var(--background));
}
.external-media-placeholder > p {
  display: grid;
  gap: .35rem;
  max-width: 28rem;
  margin: 0;
}
.external-media-placeholder > p span,
.form-privacy-notice {
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
}
.external-media-placeholder > iframe {
  width: 100%;
  min-height: 20rem;
  border: 0;
  border-radius: var(--radius);
}
.external-media-placeholder:has(> iframe) {
  display: block;
  overflow: hidden;
  padding: 0;
}
.external-media-placeholder:has(> iframe) > iframe {
  display: block;
  height: 100%;
  min-height: inherit;
  border-radius: inherit;
}
.layout-children {
  --layout-gap: var(--block-gap);
  display: grid;
  gap: var(--layout-gap);
}
.layout-gap-none .layout-children {
  --layout-gap: 0px;
}
.layout-gap-small .layout-children {
  --layout-gap: calc(var(--block-gap) * .5);
}
.layout-gap-large .layout-children {
  --layout-gap: calc(var(--block-gap) * 2);
}
.block-layout-columns .layout-children,
.block-layout-grid .layout-children {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.block-layout-columns.layout-columns-3 .layout-children,
.block-layout-grid.layout-columns-3 .layout-children {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.block-layout-columns.layout-columns-4 .layout-children,
.block-layout-grid.layout-columns-4 .layout-children {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.block-layout-row .layout-children {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.block-layout-row.layout-align-start .layout-children {
  align-items: flex-start;
}
.block-layout-row.layout-align-center .layout-children {
  align-items: center;
}
.block-layout-row.layout-align-end .layout-children {
  align-items: flex-end;
}
.block-layout-row .nested-extension-block {
  min-width: min(16rem, 100%);
  flex: 1 1 16rem;
}
.block-layout-stack .layout-children,
.block-layout-group .layout-children {
  grid-template-columns: minmax(0, 1fr);
}
.nested-extension-block {
  min-width: 0;
}
.nested-extension-block .block-inner {
  max-width: 100%;
}
.layout-empty {
  margin: 0;
  border: var(--border-width) dashed var(--border-color);
  border-radius: var(--radius);
  padding: 1.25rem;
  color: var(--muted);
  background: var(--surface);
}
@media (max-width: 700px) {
  .split,
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .split.right img,
  .split.right .image-placeholder {
    order: 0;
  }
  .block-cta .block-inner,
  .block-whatsapp .block-inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .youtube-play {
    min-width: 9rem;
    min-height: 6rem;
    padding: .75rem 1rem;
  }
}
@media (max-width: 700px) {
  .gallery-grid.columns-3,
  .gallery-grid.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .carousel-track.items-2,
  .carousel-track.items-3 {
    grid-auto-columns: 88%;
  }
  .block-download .block-inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .block-timeline li {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
}
@media (max-width: 700px) {
  .block-layout-columns .layout-children,
  .block-layout-grid .layout-children,
  .block-layout-columns.layout-columns-3 .layout-children,
  .block-layout-grid.layout-columns-3 .layout-children,
  .block-layout-columns.layout-columns-4 .layout-children,
  .block-layout-grid.layout-columns-4 .layout-children {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 700px) {
  .tab-list {
    grid-template-columns: 1fr;
    display: grid;
    gap: 0;
    overflow-x: visible;
    border: var(--border-width) solid var(--border-color);
  }
  .tab-list button {
    width: 100%;
    border-bottom: var(--border-width) solid var(--border-color);
    border-left: 3px solid transparent;
    padding-inline: 1rem;
    text-align: left;
    white-space: normal;
  }
  .tab-list button:last-child {
    border-bottom: 0;
  }
  .tab-list button[aria-selected=true] {
    border-bottom-color: var(--border-color);
    border-left-color: var(--primary);
    background: var(--surface);
  }
  .tab-panels {
    border-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .carousel-track {
    scroll-behavior: auto;
  }
  .block-text-reveal h1 > span,
  .block-text-reveal h2 > span,
  .block-text-reveal h3 > span {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .marquee-track,
  .fluid-gradient-orb {
    animation: none;
  }
  .block-hover-links nav a,
  .link-preview-card {
    transition: none;
  }
}
@media (max-width: 700px) {
  .link-preview-card {
    grid-template-columns: 1fr;
  }
  .link-preview-card > img {
    min-height: 10rem;
    aspect-ratio: 16 / 9;
  }
}
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.block-social-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.social-links.social-column {
  flex-direction: column;
  align-items: flex-start;
}
.social-links a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: .4rem;
  color: inherit;
  text-decoration: none;
  border-radius: var(--radius);
}
.social-links a:hover,
.social-links a:focus-visible {
  background: color-mix(in srgb, var(--primary) 12%, transparent);
}
.social-links a:focus-visible,
.block-breadcrumbs a:focus-visible,
.block-announcement a:focus-visible,
.hero-media button:focus-visible,
.comparison-controls input:focus-visible,
.site-button:focus-visible,
[data-lightbox-item]:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.testimonial-portrait {
  display: block;
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 1rem;
}
.testimonial-rating {
  margin-block: 0 1rem;
}
.testimonial-rating > span:first-child {
  display: inline-flex;
  gap: .2rem;
  color: var(--primary);
}
.testimonial-featured figure {
  border-inline-start: 4px solid var(--primary);
  padding-inline-start: 1.5rem;
}
.testimonial-featured blockquote {
  font-size: clamp(1.8rem, 4.5vw, 3.4rem);
}
.aspect-landscape {
  --pilot-aspect: 4 / 3;
}
.aspect-square {
  --pilot-aspect: 1;
}
.aspect-portrait {
  --pilot-aspect: 3 / 4;
}
.hover-card {
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
  transition: transform .2s ease, box-shadow .2s ease;
}
.hover-card-image {
  overflow: hidden;
  aspect-ratio: var(--pilot-aspect, 4 / 3);
}
.hover-card-image img,
.hover-card-image .image-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform .3s ease;
}
.hover-card-copy {
  padding: 1.25rem;
}
.hover-card-copy h2 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  margin-bottom: .5rem;
  overflow-wrap: anywhere;
}
.hover-card-copy p {
  margin-bottom: 0;
}
.hover-effect-zoom:hover img,
.hover-effect-zoom:focus-within img {
  transform: scale(1.04);
}
.hover-effect-lift:hover,
.hover-effect-lift:focus-within {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.hover-effect-reveal:hover .hover-card-copy,
.hover-effect-reveal:focus-within .hover-card-copy {
  background: color-mix(in srgb, var(--primary) 8%, var(--surface));
}
.block-announcement {
  padding-block: .6rem;
  background: var(--surface);
  border-bottom: var(--border-width) solid var(--border-color);
}
.block-announcement.announcement-accent {
  background: color-mix(in srgb, var(--accent) 15%, var(--surface));
}
.block-announcement.announcement-warning {
  border-bottom: 2px solid var(--accent);
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}
.announcement-content {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.announcement-content p {
  flex: 1 1 12rem;
  margin: 0;
  overflow-wrap: anywhere;
}
.announcement-content a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: inherit;
  font-weight: 700;
}
.announcement-content button,
.hero-media button,
.habitat-lightbox button {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--foreground);
  cursor: pointer;
}
.block-countdown .countdown-timer {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-variant-numeric: tabular-nums;
}
.countdown-timer > span {
  display: grid;
  text-align: center;
  min-width: 4rem;
  gap: .25rem;
}
.countdown-timer strong {
  font-size: clamp(2rem, 6vw, 3.5rem);
  line-height: 1.2;
}
.countdown-timer[hidden],
[data-countdown-expired][hidden],
[data-comparison-stage][hidden],
[data-comparison-controls][hidden],
[data-hero-controls][hidden],
[data-hero-playback-status][hidden],
[data-hero-playback-instructions][hidden],
[data-announcement-dismiss][hidden] {
  display: none;
}
.block-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.block-breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.block-breadcrumbs a {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 44px;
  color: inherit;
}
.breadcrumb-separator {
  color: var(--muted);
}
[data-comparison-fallback] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--block-gap);
}
[data-comparison-fallback] figure {
  margin: 0;
  min-width: 0;
}
[data-comparison-fallback] img {
  display: block;
  width: 100%;
  aspect-ratio: var(--pilot-aspect, 4 / 3);
  object-fit: cover;
}
[data-comparison-fallback][hidden] {
  display: none;
}
[data-comparison-stage] {
  position: relative;
  overflow: hidden;
  aspect-ratio: var(--pilot-aspect, 4 / 3);
}
[data-comparison-stage] img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
[data-comparison-stage] [data-comparison-after] {
  clip-path: inset(0 calc(100% - var(--comparison-position, 50%)) 0 0);
}
.comparison-controls label {
  display: grid;
  gap: .5rem;
  margin-block: .75rem;
}
.comparison-controls input {
  width: 100%;
  min-height: 44px;
  accent-color: var(--primary);
  touch-action: pan-y;
}
.site-button[class*=action-effect-] {
  min-height: 44px;
  align-items: center;
  gap: .55rem;
  box-sizing: border-box;
  position: relative;
  transition: transform .2s ease, background .2s ease;
}
.action-effect-underline:hover span,
.action-effect-underline:focus-visible span {
  text-decoration: underline;
  text-underline-offset: .25em;
}
.action-effect-fill:hover,
.action-effect-fill:focus-visible {
  background: color-mix(in srgb, var(--primary) 85%, #000);
}
.action-effect-lift:hover,
.action-effect-lift:focus-visible {
  transform: translateY(-3px);
}
.action-effect-arrow svg {
  transition: transform .2s ease;
  flex-shrink: 0;
}
.action-effect-arrow:hover svg,
.action-effect-arrow:focus-visible svg {
  transform: translateX(3px);
}
.hero-media .hero-stage {
  position: relative;
  margin-top: 2rem;
}
.hero-height-compact {
  --hero-media-height: 18rem;
}
.hero-height-standard {
  --hero-media-height: 26rem;
}
.hero-height-tall {
  --hero-media-height: 34rem;
}
.hero-slide {
  position: relative;
  display: grid;
  align-items: end;
  min-height: var(--hero-media-height);
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--radius);
}
.hero-slide-media {
  position: absolute;
  inset: 0;
  z-index: auto;
  background: var(--background);
}
.hero-slide::after,
.hero-video-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--hero-overlay, #000);
  opacity: var(--hero-overlay-opacity, 0);
  pointer-events: none;
  z-index: 1;
}
.hero-slide-image,
.hero-poster,
[data-hero-video] {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero-video-frame {
  position: relative;
  min-height: var(--hero-media-height);
  height: 100%;
  overflow: hidden;
  isolation: auto;
  background: var(--background);
}
.hero-video-frame[role=button]:focus-visible,
.hero-stage:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
}
.hero-video-frame::after {
  z-index: 1;
}
.hero-slide .hero-video-frame::after {
  content: none;
}
.hero-media .hero-shared-message,
.hero-media .hero-slide-copy,
.hero-media .site-button {
  overflow-wrap: anywhere;
}
.hero-slide-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 1.5rem;
  overflow-wrap: anywhere;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}
.hero-slide-copy:empty {
  display: none;
}
.hero-slide-copy h2 {
  font-size: clamp(1.6rem, 4vw, 2.8rem);
}
.hero-media:not(.hero-enhanced) .hero-stage {
  display: grid;
  gap: var(--block-gap);
}
.hero-navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: 1rem;
}
.hero-positions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.hero-positions [aria-pressed=true] {
  background: var(--primary);
  color: #fff;
}
.hero-navigation button:disabled {
  opacity: .45;
  cursor: default;
}
.hero-media[data-presentation=single] {
  position: relative;
  isolation: isolate;
  min-height: var(--hero-media-height);
}
.hero-media[data-presentation=single] .hero-shared-message {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 1.5rem;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}
.hero-media[data-presentation=single] .hero-stage {
  position: absolute;
  inset: 0;
  width: 100%;
  margin: 0;
  z-index: auto;
}
@media (max-width: 720px) {
  .hero-height-compact {
    --hero-media-height: 16rem;
  }
  .hero-height-standard {
    --hero-media-height: 20rem;
  }
  .hero-height-tall {
    --hero-media-height: 26rem;
  }
  .hero-slide-copy {
    padding: 1rem;
  }
  .hero-navigation {
    justify-content: center;
  }
  [data-comparison-fallback] {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .hover-card,
  .hover-card-image img,
  .site-button[class*=action-effect-],
  .action-effect-arrow svg {
    transition: none;
  }
  .hover-effect-zoom:hover img,
  .hover-effect-zoom:focus-within img,
  .hover-effect-lift:hover,
  .hover-effect-lift:focus-within,
  .action-effect-lift:hover,
  .action-effect-lift:focus-visible,
  .action-effect-arrow:hover svg,
  .action-effect-arrow:focus-visible svg {
    transform: none;
  }
}
.comparison-enhanced .comparison-stage {
  position: relative;
  display: block;
  aspect-ratio: var(--pilot-aspect, 4 / 3);
  overflow: hidden;
}
.comparison-enhanced .comparison-stage figure {
  position: absolute;
  inset: 0;
  margin: 0;
}
.comparison-enhanced .comparison-stage img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}
.comparison-enhanced .comparison-stage figcaption {
  position: absolute;
  top: .75rem;
  left: .75rem;
  padding: .3rem .6rem;
  background: var(--surface);
  color: var(--foreground);
  border-radius: var(--radius);
}
.comparison-enhanced .comparison-stage [data-comparison-after] figcaption {
  left: auto;
  right: .75rem;
}
.hero-slide[hidden],
.block-announcement[hidden] {
  display: none;
}
.habitat-lightbox {
  box-sizing: border-box;
  width: min(960px, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 2rem);
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--foreground);
  padding: 1rem;
}
.habitat-lightbox::backdrop {
  background: rgb(0 0 0 / .7);
}
.habitat-lightbox img {
  display: block;
  max-width: 100%;
  max-height: 65dvh;
  width: auto;
  height: auto;
  margin-inline: auto;
  object-fit: contain;
}
.habitat-lightbox .lightbox-close {
  display: block;
  margin-left: auto;
  margin-bottom: .5rem;
}
.habitat-lightbox .lightbox-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.habitat-lightbox .lightbox-controls[hidden] {
  display: none;
}
.habitat-lightbox button:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
[data-hero-video][hidden] {
  display: none;
}
.hero-poster[hidden],
.hero-slide-image[hidden] {
  display: none;
}
.testimonial-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem;
}
.testimonial-rating-value {
  font-size: .9rem;
  color: var(--muted);
}
.comparison-enhanced .comparison-stage [data-comparison-before] figcaption {
  left: auto;
  right: .75rem;
}
.comparison-enhanced .comparison-stage [data-comparison-after] figcaption {
  left: .75rem;
  right: auto;
}
.button-row.button-style-secondary .action-effect-fill:hover,
.button-row.button-style-secondary .action-effect-fill:focus-visible {
  background: color-mix(in srgb, var(--primary) 12%, transparent);
}
