/* lib/components/btn/btn.css */
.btn {
    --_btn-text: var(--button-text);
    --_btn-text-hover: var(--button-text-hover);
    --_btn-bg: var(--button-bg);
    --_btn-bg-hover: var(--button-bg-hover);
    --_btn-border: var(--button-border);
    --_btn-border-hover: var(--button-border-hover);
    --_btn-shadow: var(--button-shadow);
    --_btn-shadow-hover: var(--button-shadow-hover);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: var(--_btn-text);
    background: var(--_btn-bg);
    border: var(--button-border-width) solid var(--_btn-border);
    border-radius: var(--button-border-radius);
    padding: var(--button-padding);
    box-shadow: var(--_btn-shadow);
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    text-decoration: none;
    display: inline-block;
    transition: color 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--_btn-bg-hover);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.28s ease;
}

.btn:hover,
.btn:focus-visible {
    border-color: var(--_btn-border-hover);
    color: var(--_btn-text-hover);
    box-shadow: var(--_btn-shadow-hover);
}

.btn:hover::before,
.btn:focus-visible::before {
    transform: scaleX(1);
}

.btn-alt  {
    --_btn-text: var(--button-text-alt);
    --_btn-text-hover: var(--button-text-hover-alt);
    --_btn-bg: var(--button-bg-alt);
    --_btn-bg-hover: var(--button-bg-hover-alt);
    --_btn-border: var(--button-border-alt);
    --_btn-border-hover: var(--button-border-hover-alt);
    --_btn-shadow: var(--button-shadow-alt);
    --_btn-shadow-hover: var(--button-shadow-hover-alt);
}

@media (prefers-reduced-motion: reduce) {
    .btn,
    .btn::before {
        transition: none;
    }
}

/* lib/components/card/card.css */
.card {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
  background: var(--card-bg);
  border: var(--card-border-width) solid var(--card-border);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  color: var(--card-text);
  text-align: left;
  transition: background-color .2s ease, border-color .2s ease;
  box-shadow: var(--card-shadow);
}

.card:hover {
  background: var(--card-bg-hover);
  border-color: var(--card-border-hover);
}

.card-image-frame {
  margin: 0;
  width: 100%;
  flex: 0 0 auto;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: calc(var(--card-radius) - 0.3rem);
  border: 1px solid var(--card-border);
  background: var(--body-bg);
}

.card-image-frame img {
  display: block;
  object-fit: cover;
  object-position: top;
}

.card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--card-content-padding);
}

.card h3 {
  margin: var(--card-title-margin);
  font-size: var(--card-title-font-size);
  font-weight: var(--card-title-font-weight);
  color: var(--card-title);
}

.card .card-description {
  margin: 0;
  line-height: 200%;
  color: var(--card-text);
  font-size: var(--card-description-font-size);
  line-height: var(--card-description-line-height);
}

.card .card-cta-row {
  margin: auto 0 0;
  padding-top: 1rem;
}

.card .card-cta {
  font-size: var(--card-description-font-size);
  color: var(--card-cta-text);
  background: var(--card-cta-bg);
  margin: var(--card-cta-margin);
  border-radius: var(--card-cta-border-radius);
}

.card .card-cta:hover {
  color: var(--card-cta-text-hover);
  background: var(--card-cta-bg-hover);
}

.card.is-left,
.card.is-right {
  align-items: stretch;
}

.card.is-left {
  flex-direction: row;
}

.card.is-right {
  flex-direction: row-reverse;
}

.card.is-left .card-image-frame,
.card.is-right .card-image-frame {
  width: min(45%, 22rem);
}

.card.is-bottom {
  flex-direction: column-reverse;
}

@media (max-width: 48rem) {
  .card.is-left,
  .card.is-right {
    flex-direction: column;
  }

  .card.is-left .card-image-frame,
  .card.is-right .card-image-frame {
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .card h3 {
    font-size: var(--card-title-font-size);
  }
}

/* lib/components/card/cards-grid.css */
.cards-grid,
.cards-grid-2-cols,
.cards-grid-3-cols,
.cards-grid-4-cols {
    margin-top: 2rem;
    display: grid;
    gap: 2rem;
}

.cards-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cards-grid-2-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cards-grid-3-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cards-grid-4-cols {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 90rem) {

    .cards-grid,
    .cards-grid-2-cols,
    .cards-grid-3-cols,
    .cards-grid-4-cols {
        grid-template-columns: 1fr;
    }
}

/* lib/components/card/colors.css */
:root {
  /* Card */

  /* --- Surface --- */
  --card-bg: #ffffff;
  --card-bg-hover: color-mix(in srgb, var(--card-bg) 88%, var(--body-bg));
  --card-border: var(--menu-border);
  --card-border-hover: transparent;
  --card-shadow: var(--surface-shadow);

  /* --- Text --- */
  --card-title: var(--h3);
  --card-text: var(--body-alt);
  
  /* --- Link --- */
  --card-link: var(--link);
  --card-link-hover: var(--link-hover);
  
  /* --- CTA button--- */
  --card-cta-text: var(--button-text);
  --card-cta-bg: var(--button-bg);
  
  /* --- CTA button (hover) --- */
  --card-cta-text-hover: var(--button-text-hover);
  --card-cta-bg-hover: var(--button-bg-hover);
}

/* lib/components/card/geometry.css */
:root {
  /* Card */

  /* --- Title --- */
  --card-title-font-size: var(--h3-font-size-desktop);
  --card-title-font-weight: var(--h3-font-weight-desktop);
  --card-title-margin: 1rem 0 2rem;
  
  /* --- Description --- */
  --card-description-font-size: clamp(1.4rem, calc(1.244rem + 0.347vw), 1.6rem);
  --card-description-line-height: var(--p-line-height-desktop);

  /* --- CTA --- */
  --card-cta-margin: 0;
  --card-cta-border-radius: var(--button-border-radius);
  
  /* --- Gap and padding --- */
  --card-gap: 1rem;
  --card-padding: 1rem;
  --card-content-padding: 2rem;

  /* --- Border --- */
  --card-border-width: 0.1rem;
  --card-radius: 2rem;

  /* Card mobile */
  --card-title-font-size-mobile: var(--h3-font-size-mobile);
  --card-description-font-size-mobile: var(--p-font-size-mobile);
  --card-description-line-height-mobile: var(--p-line-height-mobile);
  --card-gap-mobile: 2rem;
  --card-padding-mobile: 1rem;
}

/* lib/components/carousel/carousel.css */
.carousel-wrap { padding: var(--carousel-padding); background: transparent; }
.carousel-wrap > .wrap { width: 100%; margin: 0; }
.carousel-stage {
  position: relative;
  width: var(--carousel-width);
  max-width: 100%;
  height: var(--carousel-height);
  margin-inline: auto;
  border-radius: var(--carousel-radius);
  overflow: hidden;
  box-shadow: var(--carousel-shadow);
}
.carousel-item {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--carousel-fade-duration) ease;
  border-radius: var(--carousel-card-radius);
  padding: var(--carousel-card-padding);
  overflow: hidden;
}
.carousel-item.is-active { opacity: 1; pointer-events: auto; z-index: 1; }
.carousel-stage .carousel-item { height: 100%; }
.carousel-media { margin: 0; border-radius: 1rem; overflow: hidden; height: 100%; }
.carousel-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.carousel-dots { margin-top: var(--carousel-dots-offset); display: flex; gap: 0.4rem; justify-content: center; }
.carousel-dot { width: 0.9rem; height: 0.9rem; border: 0; border-radius: 999rem; background: var(--carousel-dot); }
.carousel-dot.is-active { background: var(--carousel-dot-active); }

/* lib/components/carousel/colors.css */
:root {
  --carousel-shadow: 0 1.4rem 3.4rem rgba(8, 24, 56, 0.16);
  --carousel-dot: var(--surface-border);
  --carousel-dot-active: var(--button-bg);
}

/* lib/components/carousel/geometry.css */
:root {
  --carousel-padding: 5rem 0;
  --carousel-width: min(100%, 96rem);
  --carousel-height: 52rem;
  --carousel-radius: 1.8rem;
  --carousel-card-radius: 1.2rem;
  --carousel-card-padding: 1.6rem;
  --carousel-dots-offset: 0.8rem;
  --carousel-fade-duration: 320ms;
}

/* lib/components/comparison-carousel/comparison-carousel.css */
.comparison-carousel {
  background: var(--surface-panel);
  border: 0.1rem solid var(--color-border-subtle);
  border-radius: var(--radius-xl);
  padding: 2.4rem 2.4rem 2rem;
}

.comparison-carousel-shell {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.6rem;
}

.comparison-carousel-left,
.comparison-carousel-right {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 1rem;
}

.comparison-carousel-left-icon,
.comparison-carousel-right-icon {
  height: clamp(6rem, 9vw, 10rem);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.comparison-carousel-left-icon {
  opacity: 1;
  transform: scale(1);
  transition:
    transform var(--comparison-carousel-animation-delay) ease,
    opacity var(--comparison-carousel-animation-delay) ease;
  transform-origin: center center;
  will-change: transform, opacity;
}

.comparison-carousel-left-icon.is-fading {
  opacity: 0.55;
  transform: scale(0.86);
}

.comparison-carousel-left-text,
.comparison-carousel-right-text {
  margin: 0;
  font-weight: 600;
}

.comparison-carousel-arrow {
  display: grid;
  place-items: center;
}

.comparison-carousel-arrow-icon {
  width: auto;
  height: clamp(6rem, 9vw, 10rem);
  max-width: 100%;
}

.comparison-carousel-title {
  margin: var(--comparison-carousel-padding, 5rem) 0 0;
  text-align: center;
}

.comparison-carousel-title-frame {
  min-block-size: auto;
}

@media (max-width: 64rem) {
  .comparison-carousel-shell {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .comparison-carousel-arrow {
    transform: rotate(90deg);
    justify-self: center;
  }

  .comparison-carousel-title-frame {
    display: grid;
    place-items: center;
    margin-top: var(--comparison-carousel-padding, 5rem);
    block-size: calc(1.35em * 3);
    overflow: hidden;
  }

  .comparison-carousel-title {
    margin: 0;
    line-height: 1.35;
  }
}

/* lib/components/comparison-carousel/geometry.css */
:root {
  /* Comparison carousel padding */
  --comparison-carousel-padding: 5rem;
  --comparison-carousel-animation-delay: 220ms;
}

/* lib/components/comparison-table/colors.css */
:root {
  /* Comparison table */
  
  /* --- Main colors --- */
  --compare-card-bg: var(--card-bg);
  --compare-text: var(--body);
  --compare-card-border: var(--surface-border);
  --compare-highlight-border: var(--surface-border-strong, #71737a);
  --compare-vs-border: var(--surface-border, #d4d5d8);
  --compare-vs-bg: var(--surface-muted, #f2f2f3);
  --compare-vs-text: var(--muted, #7b7c82);
  --compare-competitor-title: var(--title, #232428);
  --compare-subtitle-text: var(--muted, #9a9ca3);
  --compare-list-item-text: var(--body-muted, #666a72);
  --compare-divider: var(--surface-border, #d7d8db);
  
  /* --- Buttons --- */
  --compare-button-bg: var(--button-bg-alt);
  --compare-button-active-bg: var(--button-bg);
  --compare-button-text: var(--button-text-alt);
  --compare-button-active-text: var(--button-text);
  --compare-button-border: var(--button-border-alt);
  --compare-button-active-shadow: rgba(18, 84, 207, 0.22);

  /* --- Markers (contract) --- */
  --compare-button-text-ok: #4f7b2e;
  --compare-button-text-ko: #b34c4c;
  --compare-text-ok: var(--compare-button-text-ok);
  --compare-text-ko: var(--compare-button-text-ko);
  --compare-positive-soft: #dfe8d2;
  --compare-positive-text: #2f5e18;
  --compare-positive-icon-bg: #d6e3c6;
  --compare-positive-icon-text: var(--compare-button-text-ok);
  --compare-negative-icon-bg: #f0e4e4;
  --compare-negative-icon-text: var(--compare-button-text-ko);
}

/* lib/components/comparison-table/comparison-table.css */
.compare-grid {
  position: relative;
  margin-top: 2.2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
  text-align: left;
}

.compare-grid::before {
  content: "VS";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 50%;
  border: 0.1rem solid var(--compare-vs-border);
  background: var(--compare-vs-bg);
  color: var(--compare-vs-text);
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  font-weight: 700;
  z-index: 2;
}

.compare-card {
  background: var(--compare-card-bg);
  border: var(--compare-card-border-width) solid var(--compare-card-border);
  border-radius: var(--compare-card-radius);
  padding: var(--compare-card-padding);
  color: var(--compare-text);
}

.comparison-product-card {
  border-color: var(--compare-highlight-border);
  box-shadow: 0 0 0 0.1rem var(--compare-highlight-border);
}

.comparison-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 1.4rem;
  padding: 0.6rem 1.2rem;
  border-radius: var(--radius-chip-pill, 999rem);
  background: var(--compare-positive-soft);
  color: var(--compare-positive-text);
  font-size: 1.4rem;
  font-weight: 700;
}

.comparison-badge::before {
  content: "\2713";
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--compare-positive-icon-bg);
  color: var(--compare-button-text-ok, var(--compare-text-ok, var(--compare-positive-icon-text)));
  font-size: 1.2rem;
  font-weight: 700;
}

.comparison-product-name {
  margin: 0 0 1.2rem;
}

.comparison-product-logo {
  display: block;
  max-width: min(100%, 25.6rem);
  height: auto;
  margin-bottom: 1.2rem;
}

.comparison-product-logo + .comparison-product-name {
  display: none;
}

.compare-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-bottom: 1.8rem;
}

.compare-btn {
  border: 0.1rem solid var(--compare-button-border);
  border-radius: var(--radius-chip-pill, 999rem);
  background: var(--compare-button-bg);
  color: var(--compare-button-text);
  padding: 0.8rem 1.2rem;
  font-size: 1.3rem;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.compare-btn.active {
  background: var(--compare-button-active-bg);
  color: var(--compare-button-active-text);
  border-color: var(--compare-button-active-bg);
  box-shadow: 0 0.2rem 0.8rem var(--compare-button-active-shadow);
}

.compare-btn-logo {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  vertical-align: text-bottom;
  margin-right: 0.6rem;
}

.comparison-competitor-name {
  color: var(--compare-competitor-title);
  font-weight: 700;
  margin: 0 0 1.8rem;
}

.comparison-product-subtitle,
.comparison-competitor-subtitle {
  margin: -0.8rem 0 1.8rem;
  color: var(--compare-subtitle-text);
  font-size: 1.7rem;
  line-height: 1.45;
}

.compare-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.compare-content li {
  position: relative;
  margin: 0;
  padding-left: 3rem;
  color: var(--compare-list-item-text);
}

.compare-content li + li {
  margin-top: 1rem;
}

.compare-content li::before {
  position: absolute;
  top: 0.1rem;
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  font-weight: 700;
}

.comparison-product-card .compare-content li::before {
  content: "\2713";
  background: var(--compare-positive-icon-bg);
  color: var(--compare-button-text-ok, var(--compare-text-ok, var(--compare-positive-icon-text)));
}

.comparison-competitors-card .compare-content li::before {
  content: "\00D7";
  background: var(--compare-negative-icon-bg);
  color: var(--compare-button-text-ko, var(--compare-text-ko, var(--compare-negative-icon-text)));
}

.compare-content hr {
  border: 0;
  border-top: 0.1rem solid var(--compare-divider);
  margin: 1.6rem 0;
}

.comparison-competitors-card .compare-content hr + li {
  color: var(--compare-positive-text);
  font-weight: 600;
}

.comparison-competitors-card .compare-content hr + li::before {
  content: "\2713";
  background: var(--compare-positive-icon-bg);
  color: var(--compare-button-text-ok, var(--compare-text-ok, var(--compare-positive-icon-text)));
}

@media (max-width: 90rem) {
  .compare-grid {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .compare-grid::before {
    display: none;
  }
}

/* lib/components/comparison-table/geometry.css */
:root {
  /* Competitors comparison table */
  --compare-card-border-width: 0.1rem;
  --compare-card-radius: 2rem;
  --compare-card-padding: 2.4rem;
  --radius-chip-pill: 99.9rem;
}

/* lib/components/cta-banner/colors.css */
:root {
  --cta-banner-bg: var(--surface-bg);
  --cta-banner-text: var(--body);
  --cta-banner-border: var(--surface-border);
}

/* lib/components/cta-banner/cta-banner.css */
.cta-banner { background: var(--cta-banner-bg); color: var(--cta-banner-text); border: 1px solid var(--cta-banner-border); border-radius: var(--cta-banner-radius); margin: var(--cta-banner-margin); }
.cta-banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: var(--cta-banner-padding); }
.cta-banner-text { margin: 0; font-size: var(--cta-banner-text-font-size); font-weight: var(--cta-banner-text-font-weight); }
.cta-banner-subtitle { margin: 0.2rem 0 0; }
.cta-banner-actions { display: flex; gap: 0.6rem; }
.cta-banner.is-sticky { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 40; }
@media (max-width: 90rem) {
  .cta-banner-inner { flex-direction: column; align-items: stretch; }
  .cta-banner-actions { justify-content: stretch; }
  .cta-banner-actions .btn { text-align: center; }
}

/* lib/components/cta-banner/geometry.css */
:root {
  --cta-banner-radius: 1.2rem;
  --cta-banner-margin: 2rem 0;
  --cta-banner-padding: 1.2rem 1.4rem;
  --cta-banner-text-font-size: 1.6rem;
  --cta-banner-text-font-weight: 700;
}

/* lib/components/faq/colors.css */
:root {
  /* FAQ */
  --faq-bg: var(--surface-bg);
  --faq-item-bg: var(--surface-bg-alt);
  --faq-title: var(--h2);
  --faq-text: var(--body);
}

/* lib/components/faq/faq.css */
.faq-wrap {
  margin-top: 4rem;
}

.faq-container {
  background: var(--faq-bg);
  border-radius: 1.2rem;
  padding: 0 10rem;
  width: 50%;
}

.faq-container > h2 {
  margin: 0 0 2.2rem;
  font-size: clamp(3.2rem, 4vw, 4rem);
  text-align: center;
  color: var(--faq-title);
}

.faq-list {
  display: grid;
  gap: 1rem;
}

.faq-item {
  background: var(--faq-item-bg);
  border-radius: 2rem;
  padding: 1rem 2.5rem;
  box-shadow: var(--shadow-alt);
}

.faq-item-title {
  margin: 0;
  font-size: var(--faq-title-font-size);
  font-weight: var(--faq-title-font-weight);
  color: var(--faq-title);
}

.faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.faq-icon {
  font-size: clamp(2.4rem, 3.2vw, 4rem);
  line-height: 1;
  color: var(--faq-title);
}

.faq-trigger[aria-expanded="true"] .faq-icon {
  transform: rotate(45deg);
}

.faq-item-answer {
  margin: 1.2rem 0 0;
  color: var(--faq-text);
  font-size: var(--faq-text-font-size);
  font-weight: var(--faq-text-font-weight);
  line-height: 1.45;
  text-align: left;
}

@media (max-width: 90rem) {
  .faq-container {
    width: 100%;
    padding: 0 2rem;
  }

  .faq-list {
    width: 100%;
  }

  .faq-item {
    padding: 1.2rem 1.8rem;
  }

  .faq-container > h2 {
    text-align: center;
  }
}

/* lib/components/faq/geometry.css */
:root {
  /* FAQ */
  --faq-title-font-size: clamp(2.2rem, 3.2vw, 2.8rem);
  --faq-title-font-weight: 700;
  --faq-text-font-size: clamp(1.4rem, 1.9vw, 2rem);
  --faq-text-font-weight: 400;
}

/* lib/components/feature-animated/colors.css */
:root {
  /* Feature animated */
  --feature-animated-bg: #ffffff;
  --feature-animated-title: #1f2430;
  --feature-animated-description: #61697a;
  --feature-animated-shadow: 0 0.8rem 2.4rem rgba(16, 24, 40, 0.06);
}

/* lib/components/feature-animated/feature-animated.css */
.feature-animated {
  --feature-animated-scroll-height: 220vh;
}

.feature-animated-scroll {
  position: relative;
  height: var(--feature-animated-scroll-height);
}

.feature-animated-stage {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.feature-animated-item {
  --feature-animated-item-color: #cccccc;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: min(100%, 108rem);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: stretch;
  padding: 2.8rem;
  border: var(--feature-animated-border-width, 1px) solid var(--feature-animated-item-color, #cccccc);
  border-radius: 1.8rem;
  background: var(--feature-animated-bg);
  box-shadow: var(--feature-animated-shadow, 0 0.8rem 2.4rem rgba(16, 24, 40, 0.06));
  opacity: 0;
  transform: translate(calc(-100% - 8rem), -50%);
  transform-origin: center center;
  transition: opacity 0.62s ease, transform 0.62s cubic-bezier(0.22, 0.75, 0.2, 1);
  will-change: transform, opacity;
  pointer-events: none;
  z-index: 2;
}

.feature-animated-item.is-active {
  opacity: 1;
  transform: translate(0, -50%);
  z-index: 3;
}

.feature-animated-item.is-prev {
  opacity: 0.06;
  transform: translate(5.2rem, -50%);
  z-index: 2;
}

.feature-animated[data-replace="false"] .feature-animated-stage {
  position: static;
  height: auto;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: calc(var(--feature-animated-margin, 2.6rem) * 2);
  padding: 0;
}

.feature-animated[data-replace="false"] .feature-animated-scroll {
  height: auto;
}

.feature-animated[data-replace="false"] .feature-animated-item {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  opacity: 0;
  transform: translateY(2.2rem);
  pointer-events: none;
}

.feature-animated[data-replace="false"] .feature-animated-item.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.feature-animated[data-replace="false"] .feature-animated-item.is-active {
  box-shadow: var(--feature-animated-shadow, 0 0.8rem 2.4rem rgba(16, 24, 40, 0.06));
}

.feature-animated[data-replace="false"] .feature-animated-item.is-prev {
  opacity: 1;
  transform: translateY(0);
}

.feature-animated[data-replace="false"] .feature-animated-item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + var(--feature-animated-margin, 2.6rem) * 0.54);
  width: 0.2rem;
  height: var(--feature-animated-margin, 2.6rem);
  transform: translateX(-50%);
  background-image: repeating-linear-gradient(
    to bottom,
    color-mix(in srgb, var(--feature-animated-item-color, #cccccc) 65%, #ffffff 35%) 0 0.55rem,
    transparent 0.55rem 1rem
  );
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  transition: opacity 0.42s ease;
}

.feature-animated[data-replace="false"] .feature-animated-item:not(:last-child)::before {
  display: none;
}

.feature-animated[data-replace="false"] .feature-animated-item.has-next-visible:not(:last-child)::after,
.feature-animated[data-replace="false"] .feature-animated-item.has-next-visible:not(:last-child)::before {
  opacity: 1;
}

.feature-animated-item-media {
  margin: 0 auto;
  display: grid;
  place-items: center;
}

.feature-animated-item-icon {
  width: 6.4rem;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  filter: grayscale(100%);
}

.feature-animated-item-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.9rem;
  width: 100%;
}

.feature-animated-item-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
}

.feature-animated-item-sequence {
  margin: 0;
  color: var(--feature-animated-item-color, #cccccc);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.feature-animated-item-tag {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 1.2rem;
  border-radius: 999rem;
  background: var(--feature-animated-item-color, #cccccc);
  color: #ffffff;
  font-size: 1.4rem;
  line-height: 1.1;
  font-weight: 600;
  white-space: nowrap;
}

.feature-animated-item-title {
  margin: 0;
  color: var(--feature-animated-title);
  font-size: clamp(2.1rem, 2.2vw, 2.8rem);
  line-height: 1.24;
  font-weight: 700;
}

.feature-animated-item-description {
  margin: 0;
  color: var(--feature-animated-description);
  font-size: clamp(1.4rem, 1.15vw, 1.8rem);
  line-height: 1.55;
}

.feature-animated-item-divider {
  width: 100%;
  height: 0.1rem;
  margin: 0.8rem 0 0.4rem;
  background: var(--feature-animated-item-color, #cccccc);
}

.feature-animated-item-action {
  margin: 0;
  color: var(--feature-animated-title);
  font-size: clamp(1.4rem, 1vw, 1.7rem);
  line-height: 1.5;
}

.feature-animated-item-action::before {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999rem;
  background: var(--feature-animated-item-color, #cccccc);
  margin-right: 0.8rem;
  transform: translateY(-0.1rem);
}

@media (max-width: 90rem) {
  .feature-animated-scroll {
    height: auto;
  }

  .feature-animated-stage {
    position: static;
    height: auto;
    display: grid;
    gap: 1.6rem;
    overflow: visible;
  }

  .feature-animated-item {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: 100%;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .feature-animated-item.is-prev {
    opacity: 1;
    transform: none;
    z-index: auto;
  }

  .feature-animated-item.is-active {
    opacity: 1;
    transform: none;
    z-index: auto;
  }

  .feature-animated[data-replace="false"] .feature-animated-stage {
    min-height: 0;
    gap: 1.8rem;
    padding: 0;
  }

  .feature-animated[data-replace="false"] .feature-animated-item {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .feature-animated[data-replace="false"] .feature-animated-item::before,
  .feature-animated[data-replace="false"] .feature-animated-item::after {
    display: none;
  }
}

@media (max-width: 60rem) {
  .feature-animated-item {
    gap: 1.6rem;
    padding: 2.2rem;
  }

  .feature-animated-item-icon {
    width: 5.4rem;
    filter: grayscale(100%);
  }
}

/* lib/components/feature-animated/geometry.css */
:root {
  /* Feature animated */
  --feature-animated-border-width: 1px;
  --feature-animated-margin: 2.6rem;
}

/* lib/components/feature-card/colors.css */
:root {
  /* Feature card */
  --feature-card-bg: #ffffff;
  --feature-card-border: #d8d8d8;
  --feature-card-shadow: none;
  --feature-card-title: #202124;
  --feature-card-description: #6d6d6d;
  --feature-card-link: var(--feature-card-title);
  --feature-card-link-hover: var(--feature-card-title);
  --feature-card-icon-filter: none;
  --feature-card-tag-text: #003399;
  --feature-card-tag-bg: #dff7fd;
}

/* lib/components/feature-card/feature-card.css */
.feature-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  height: 100%;
  padding: 2rem;
  border: 0.1rem solid var(--feature-card-border);
  border-radius: 1.2rem;
  background: var(--feature-card-bg);
  box-shadow: var(--feature-card-shadow);
  text-align: left;
}

a.feature-card.feature-card--link {
  cursor: pointer;
  text-decoration: none;
}

a.feature-card.feature-card--link:focus-visible {
  outline: 0.2rem solid var(--feature-card-link-hover);
  outline-offset: 0.2rem;
}

.feature-card-icon-wrap {
  margin-bottom: 0.1rem;
}

.feature-card-icon {
    width: 3rem;
    height: 3rem;
    display: block;
    filter: var(--feature-card-icon-filter);
    object-fit: contain;
}

.feature-card-title {
  margin: 0;
  color: var(--feature-card-title);
  font-size: var(--feature-card-title-font-size);
  line-height: 1.3;
  font-weight: 700;
  text-align: left;
}

.feature-card-description {
  margin: 0;
  color: var(--feature-card-description);
  font-size: var(--feature-card-description-font-size);
  line-height: 1.55;
  text-align: left;
}

.feature-card-tag-row {
  margin: auto 0 0;
  width: 100%;
}

.feature-card-tag-row--multi {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: flex-start;
}

.feature-card-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 1rem;
    border-radius: 1rem;
    background: var(--feature-card-tag-bg);
    color: var(--feature-card-tag-text);
    font-size: 1.3rem;
    font-weight: var(--feature-card-tag-font-weight, 700);
    line-height: 1;
}

.feature-card-link-row {
  margin: var(--feature-card-link-row-margin-top) 0 0;
  width: 100%;
  text-align: left;
}

.feature-card .feature-card-link {
  color: var(--feature-card-link);
  font-size: var(--feature-card-link-font-size);
  font-weight: var(--feature-card-link-font-weight);
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

a.feature-card.feature-card--link:hover .feature-card-link,
a.feature-card.feature-card--link:focus-visible .feature-card-link {
  color: var(--feature-card-link-hover);
  text-decoration: none;
}

@media (max-width: 768px) {
  .feature-card {
    padding: 1.8rem;
  }

  .feature-card-icon-wrap {
    align-self: center;
  }

  .feature-card-title {
    font-size: var(--feature-card-title-font-size-mobile);
    width: 100%;
    text-align: center;
  }

  .feature-card-description {
    font-size: var(--feature-card-description-font-size-mobile);
  }

  .feature-card-tag {
    font-size: var(--feature-card-tag-font-size-mobile, 1.1rem);
  }

  .feature-card .feature-card-link {
    font-size: var(--feature-card-link-font-size-mobile);
  }
}

/* lib/components/feature-card/geometry.css */
:root {
  --feature-card-title-font-size: 1.7rem;
  --feature-card-title-font-size-mobile: 1.7rem;
  --feature-card-description-font-size: 1.2rem;
  --feature-card-description-font-size-mobile: 1.2rem;
  --feature-card-link-font-size: 1.2rem;
  --feature-card-link-font-size-mobile: 1.2rem;
  --feature-card-link-font-weight: 700;
  --feature-card-link-row-margin-top: auto;
}

/* lib/components/feature-table/colors.css */
:root {
  --feature-table-bg: var(--surface-bg);
  --feature-table-surface: var(--surface-bg);
  --feature-table-border: var(--surface-border);
  --feature-table-header-bg: var(--surface-bg-alt);
  --feature-table-header-text: var(--h4);
}

/* lib/components/feature-table/feature-table.css */
.feature-table-wrap { padding: var(--feature-table-padding); background: var(--feature-table-bg); }
.feature-table-scroller { margin-top: 1.6rem; border: 1px solid var(--feature-table-border); border-radius: var(--feature-table-radius); overflow: auto; background: var(--feature-table-surface); }
.feature-table { width: 100%; min-width: 72rem; border-collapse: collapse; }
.feature-table th, .feature-table td { padding: var(--feature-table-cell-padding); border-bottom: 1px solid var(--feature-table-border); text-align: left; }
.feature-table th { color: var(--feature-table-header-text); background: var(--feature-table-header-bg); }
@media (max-width: 60rem) {
  .feature-table { min-width: 0; }
  .feature-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
  .feature-table, .feature-table tbody, .feature-table tr, .feature-table td { display: block; width: 100%; }
  .feature-table tr { padding: 0.8rem 1rem; }
  .feature-table td { padding: 0.5rem 0; border-bottom: 0; }
  .feature-table td::before { content: attr(data-label); display: block; font-size: 1.2rem; font-weight: 700; opacity: 0.8; margin-bottom: 0.2rem; text-transform: uppercase; }
}

/* lib/components/feature-table/geometry.css */
:root {
  --feature-table-padding: 4rem 0;
  --feature-table-radius: 1.2rem;
  --feature-table-cell-padding: 1.2rem 1.3rem;
}

/* lib/components/footer-rich/colors.css */
:root {
  --footer-rich-bg: var(--surface-bg);
  --footer-rich-text: var(--body);
  --footer-rich-border: var(--surface-border);
  --footer-rich-link: var(--link);
  --footer-rich-link-hover: var(--link-hover);
  --footer-rich-input-bg: var(--surface-bg-alt);
  --footer-rich-input-text: var(--body);
  --footer-rich-input-border: var(--surface-border-alt);
}

/* lib/components/footer-rich/footer-rich.css */
.site-footer-rich { background: var(--footer-rich-bg); color: var(--footer-rich-text); border-top: 1px solid var(--footer-rich-border); padding: var(--footer-rich-padding); }
.footer-rich-grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--footer-rich-gap); }
.footer-rich-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.footer-rich-section h4 { margin: 0 0 0.8rem; }
.footer-rich-section-links { display: grid; gap: 0.5rem; }
.footer-rich-link, .footer-rich-social { color: var(--footer-rich-link); text-decoration: none; }
.footer-rich-link:hover, .footer-rich-social:hover { color: var(--footer-rich-link-hover); }
.footer-rich-newsletter form { display: flex; gap: 0.6rem; }
.footer-rich-newsletter input { width: 100%; border: 1px solid var(--footer-rich-input-border); border-radius: var(--footer-rich-input-radius); padding: 0.7rem 0.9rem; background: var(--footer-rich-input-bg); color: var(--footer-rich-input-text); }
.footer-rich-bottom { margin-top: 2.4rem; padding-top: 1.4rem; border-top: 1px solid var(--footer-rich-border); display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.footer-rich-links, .footer-rich-socials { display: flex; gap: 1rem; flex-wrap: wrap; }
@media (max-width: 90rem) { .footer-rich-grid { grid-template-columns: 1fr; } .footer-rich-columns { grid-template-columns: 1fr; } }

/* lib/components/footer-rich/geometry.css */
:root {
  --footer-rich-padding: 4.4rem 0 2.8rem;
  --footer-rich-gap: 2.2rem;
  --footer-rich-input-radius: 0.8rem;
}

/* lib/components/footer/colors.css */
:root {
  /* Footer */
  --footer-bg: var(--surface-bg-alt);
  --footer-border: var(--surface-border-alt);

  /* --- Footer text and links --- */
  --footer-category-title: var(--footer-text);
  --footer-link: var(--link);
  --footer-link-hover: var(--link-hover);
  --footer-text: var(--body);
}

/* lib/components/footer/footer.css */
.site-footer {
  border-top: 1px solid var(--footer-border);
  min-height: var(--footer-min-height);
  padding: var(--footer-padding);
  background: var(--footer-bg);
  color: var(--footer-text);
  display: flex;
  flex-direction: column;
}

.footer-top {
  display: grid;
  grid-template-columns: minmax(22rem, 32rem) 1fr;
  gap: var(--footer-logo-gap);
  align-items: start;
}

.footer-brand-column {
  display: grid;
  gap: 1.2rem;
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.footer-brand img {
  width: auto;
  height: auto;
  max-height: var(--footer-logo-height);
  max-width: 100%;
  display: block;
}

.footer-brand-description {
  margin: 0;
  font-size: var(--footer-font-size);
  line-height: 1.5;
  color: var(--footer-text);
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 18rem));
  justify-content: start;
  gap: var(--footer-gap, 2rem);
}

.footer-column {
  min-width: 0;
}

.footer-column-title {
  margin: var(--footer-category-margin);
  font-size: var(--footer-category-font-size);
  font-weight: var(--footer-category-font-weight);
  color: var(--footer-category-title);
}

.footer-column-links {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.footer-column-links a {
  font-size: var(--footer-font-size);
}

.site-footer a:any-link {
  color: var(--footer-link, var(--link));
  text-decoration: none;
}

.site-footer a:any-link:hover,
.site-footer a:any-link:active,
.site-footer a:focus-visible {
  color: var(--footer-link-hover, var(--link-hover));
}

.footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 2.4rem;
  border-top: 1px solid var(--footer-border);
}

.site-footer > .footer-row {
  margin-top: auto;
}

.footer-links {
  display: flex;
  gap: 2rem;
}

.footer-row small,
.footer-links a {
  font-size: var(--footer-font-size);
}


@media (max-width: 90rem) {
  .footer-top {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 56rem) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
}

/* lib/components/footer/geometry.css */
:root {
  /* Footer */
  --footer-min-height: 0;
  --footer-padding: 2.2rem 0;
  --footer-logo-height: 5.2rem;

  /* --- Footer gaps --- */
  --footer-gap: 2.4rem;
  --footer-logo-gap: 3.2rem;

  /* --- Footer links --- */
  --footer-category-font-size: 2rem;
  --footer-font-size: 1.8rem;
  --footer-category-font-weight: 400;
  --footer-category-margin: 0 0 1.2rem;
}

/* lib/components/hero-pack/colors.css */
:root {
  --hero-pack-bg: var(--body-bg);
  --hero-pack-text: var(--body);
  --hero-pack-title: var(--h1);
  --hero-pack-eyebrow: var(--link);
  --hero-pack-media-border: var(--surface-border);
  --hero-pack-media-shadow: var(--surface-shadow);
}

/* lib/components/hero-pack/geometry.css */
:root {
  --hero-pack-padding: 7rem 0;
  --hero-pack-gap: 2.4rem;
  --hero-pack-title-font-size: clamp(3.4rem, 2.2vw, 5rem);
  --hero-pack-title-font-weight: 900;
  --hero-pack-subtitle-font-size: 1.9rem;
  --hero-pack-subtitle-line-height: 1.5;
  --hero-pack-media-radius: 1.4rem;
  --hero-pack-media-border-width: 1px;
}

/* lib/components/hero-pack/hero-pack.css */
.hero-pack { background: var(--hero-pack-bg); color: var(--hero-pack-text); padding: var(--hero-pack-padding); }
.hero-pack-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--hero-pack-gap); align-items: center; }
.hero-pack-split-reverse .hero-pack-copy { order: 2; }
.hero-pack-split-reverse .hero-pack-media { order: 1; }
.hero-pack-title { margin: 0; color: var(--hero-pack-title); font-size: var(--hero-pack-title-font-size); font-weight: var(--hero-pack-title-font-weight); }
.hero-pack-subtitle { margin: 1rem 0 0; font-size: var(--hero-pack-subtitle-font-size); line-height: var(--hero-pack-subtitle-line-height); }
.hero-pack-eyebrow { margin: 0 0 1.2rem; color: var(--hero-pack-eyebrow); }
.hero-pack-cta { margin-top: 1.8rem; display: inline-flex; gap: 0.8rem; flex-wrap: wrap; }
.hero-pack-media { margin: 0; border-radius: var(--hero-pack-media-radius); overflow: hidden; border: var(--hero-pack-media-border-width) solid var(--hero-pack-media-border); box-shadow: var(--hero-pack-media-shadow); }
.hero-pack-media img, .hero-pack-video-frame video { width: 100%; display: block; }
.hero-pack-video-frame { margin-top: 2rem; border-radius: var(--hero-pack-media-radius); overflow: hidden; border: var(--hero-pack-media-border-width) solid var(--hero-pack-media-border); }
@media (max-width: 90rem) { .hero-pack-grid { grid-template-columns: 1fr; } .hero-pack-split-reverse .hero-pack-copy, .hero-pack-split-reverse .hero-pack-media { order: initial; } }

/* lib/components/hero/colors.css */
:root {
  /* Hero */

  /* --- Background --- */
  --hero-bg: var(--body-bg-alt);
  --hero-eyebrow-bg: var(--hero-eyebrow-bg);
  --hero-eyebrow-dot: #003399;

  /* --- Texts --- */
  --hero-title: var(--h1);
  --hero-text: var(--body);

  /* --- Image --- */
  --hero-image-border: 0;
  --hero-image-shadow: none;
}

/* lib/components/hero/geometry.css */
:root {
    /* Hero */
    
    /* --- Title --- */
    --hero-title-font-size: var(--h1-font-size-desktop);
    --hero-title-font-weight: var(--h1-font-weight-desktop);
    --hero-title-line-height: var(--h1-line-height-desktop);
    
    /* --- Gap & Padding --- */
    --hero-padding: 5vw 0 2vw 0;
    --hero-eyebrow-padding: var(--hero-eyebrow-padding);
    --hero-title-margin: 5rem 0;
    
    /* --- Description --- */
    --hero-description-font-size: var(--p-font-size-desktop);
    --hero-description-line-height: var(--p-line-height-desktop);
    
    /* --- CTA --- */
    --hero-cta-margin: 4rem 0 8rem 0;
    --hero-cta-border-radius: var(--button-border-radius);
    
    /* --- Screenshot --- */
    --hero-image-max-width: 60vw;
    --hero-image-ratio: 16/9;
    --hero-image-radius: 1rem;
    --hero-image-border-width: 0;
    
    /* Hero mobile */
    --hero-title-font-size-mobile: var(--h1-font-size-mobile);
    --hero-description-font-size-mobile: var(--p-font-size-mobile);
    --hero-description-line-height-mobile: var(--p-line-height-mobile);
    --hero-gap-mobile: 2rem;
    --hero-padding-mobile: 10rem 0;
}

/* lib/components/hero/hero.css */
.hero {
  background: var(--hero-bg);
  padding: var(--hero-padding);
  border: 0;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  margin: 0 0 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--hero-text);
  background: var(--hero-eyebrow-bg);
  padding: var(--hero-eyebrow-padding);
  border-radius: var(--button-border-radius);
}

.hero-eyebrow::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: var(--hero-eyebrow-dot);
  flex: 0 0 auto;
}

.hero-title {
  color: var(--hero-title);
  font-size: var(--hero-title-font-size);
  font-weight: var(--hero-title-font-weight);
  line-height: var(--hero-title-line-height);
  margin: var(--hero-title-margin);
}

.hero-description {
  color: var(--hero-text);
  font-size: var(--hero-description-font-size);
  line-height: var(--hero-description-line-height);
  margin: 0;
}

.hero-cta-row {
  margin: var(--hero-cta-margin);
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: center;
}

.hero-cta-row .btn-secondary:empty {
  display: none;
}

.hero-lr-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 2.4rem;
  align-items: center;
}

.hero-copy h1 {
  margin: 0;
  font-size: clamp(4.2rem, 5.2vw, 6.6rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--hero-title);
}

.hero-copy .hero-description {
  margin-top: 1.4rem;
  max-width: 68rem;
  font-size: clamp(2rem, 2.2vw, 3rem);
  line-height: 1.35;
}

.hero-image-frame {
  margin: 0;
  width: 100%;
  max-width: var(--hero-image-max-width);
  aspect-ratio: var(--hero-image-ratio);
  overflow: hidden;
  border-radius: calc(var(--hero-image-radius)*1.2);
  border: var(--hero-image-border-width) solid var(--hero-image-border);
  box-shadow: var(--hero-image-shadow);
}

.hero-shot {
  margin: 2.4rem auto 0;
  border-radius: var(--hero-image-radius);
  border: 1px solid var(--hero-image-border);
  box-shadow: var(--hero-image-shadow);
}

.hero-image-frame .hero-shot {
  margin: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  border: 0;
  box-shadow: none;
}

.hero-vertical .hero-subtitle {
  margin: 1.6rem auto 0;
  max-width: 70rem;
}

.hero-vertical .hero-cta-row {
  justify-content: center;
}

.hero-vertical .hero-image-frame {
  margin: 2.4rem auto 0;
}

@media (max-width: 90rem) {
  .hero-lr-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* lib/components/image-marquee/colors.css */
:root {
  /* Image-marquee */
  --image-marquee-bg: var(--surface-bg-alt);
  --image-marquee-border: var(--surface-border-alt);
}

/* lib/components/image-marquee/geometry.css */
:root {
  /* Image marquee */
  --image-marquee-radius: 1rem;
  --logo-marquee-height: 10rem;
  --logo-marquee-height-mobile: 4rem;
}

@media (max-width: 90rem) {
  :root {
    --logo-marquee-height: var(--logo-marquee-height-mobile);
  }
}

/* lib/components/image-marquee/image-marquee.css */
.image-marquee {
  --_image-marquee-fade-width: var(--image-marquee-fade-width, clamp(2rem, 8vw, 7rem));
  margin-top: 1.8rem;
  border: 1px solid var(--image-marquee-border);
  border-radius: var(--image-marquee-radius);
  background: var(--image-marquee-bg);
  overflow: hidden;
  padding: 1.2rem 0;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--_image-marquee-fade-width),
    #000 calc(100% - var(--_image-marquee-fade-width)),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--_image-marquee-fade-width),
    #000 calc(100% - var(--_image-marquee-fade-width)),
    transparent 100%
  );
}

.image-marquee-track {
  display: flex;
  align-items: center;
  gap: 3rem;
  width: max-content;
  animation: image-marquee 40s linear infinite;
}

.image-marquee-track img {
  height: var(--logo-marquee-height);
  width: auto;
  object-fit: contain;
  border-radius: 0;
  filter: saturate(0.92) contrast(1.02);
}

@keyframes image-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* lib/components/kpi-metrics/colors.css */
:root {
  /* KPI metrics */
  --kpi-metrics-bg: transparent;
  --kpi-metrics-value-color: #5f718c;
  --kpi-metrics-label-color: #7c8698;
}

/* lib/components/kpi-metrics/geometry.css */
:root {
  --kpi-metrics-padding: 0;
  --kpi-metrics-gap: 2.4rem;
  --kpi-metrics-value-font-size: 4rem;
  --kpi-metrics-value-font-size-mobile: 3.2rem;
  --kpi-metrics-value-font-weight: 700;
  --kpi-metrics-value-margin-bottom: 0.8rem;
  --kpi-metrics-label-font-size: 1.2rem;
  --kpi-metrics-label-font-size-mobile: 1.2rem;
}

/* lib/components/kpi-metrics/kpi-metrics.css */
.kpi-metrics {
  background: var(--kpi-metrics-bg);
}

.kpi-metrics > .wrap {
  padding: var(--kpi-metrics-padding);
}

.kpi-metrics-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--kpi-metrics-gap);
  align-items: stretch;
}

.kpi-metrics-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  text-align: left;
}

.kpi-metrics-value {
  margin: 0 0 var(--kpi-metrics-value-margin-bottom) 0;
  color: var(--kpi-metrics-value-color);
  font-size: var(--kpi-metrics-value-font-size);
  font-weight: var(--kpi-metrics-value-font-weight);
  line-height: 1.1;
}

.kpi-metrics-label {
  margin: auto 0 0;
  color: var(--kpi-metrics-label-color);
  font-size: var(--kpi-metrics-label-font-size);
  line-height: 1.35;
}

@media (max-width: 900px) {
  .kpi-metrics-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .kpi-metrics-list {
    grid-template-columns: 1fr;
  }

  .kpi-metrics-value {
    font-size: var(--kpi-metrics-value-font-size-mobile);
  }

  .kpi-metrics-label {
    font-size: var(--kpi-metrics-label-font-size-mobile);
  }
}

/* lib/components/lang-switch/colors.css */
:root {
  /* Lang switch */
  --lang-switch-bg: transparent;
  --lang-switch-text: var(--menu-item);
  --lang-switch-text-active: var(--menu-item-hover);
  --lang-switch-trigger-bg: transparent;
  --lang-switch-trigger-text: var(--menu-item);
  --lang-switch-trigger-border: var(--menu-border);
  --lang-switch-overlay-bg: rgba(6, 18, 43, 0.96);
  --lang-switch-panel-bg: transparent;
  --lang-switch-panel-border: transparent;
  --lang-switch-panel-shadow: none;
  --lang-switch-option-active-bg: transparent;
  --lang-switch-option-active-border: var(--menu-border);
}

/* lib/components/lang-switch/lang-switch.css */
.lang-switch {
  border-left: 1px solid var(--menu-separator);
  padding-left: 1rem;
  background: var(--lang-switch-bg);
}

.lang-switch-trigger {
  width: var(--navbar-item-height, 3.6rem);
  height: var(--navbar-item-height, 3.6rem);
  border: 1px solid var(--lang-switch-trigger-border);
  border-radius: 999rem;
  background: var(--lang-switch-trigger-bg);
  color: var(--lang-switch-trigger-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.lang-switch-trigger svg {
  width: 2rem;
  height: 2rem;
}

.lang-switch-overlay {
  position: fixed;
  inset: 0;
  z-index: 220;
  background: var(--lang-switch-overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.lang-switch-overlay[hidden] {
  display: none !important;
}

.lang-switch-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(76rem, 100%);
  min-height: calc(100dvh - 4rem);
  background: var(--lang-switch-panel-bg);
  border: 1px solid var(--lang-switch-panel-border);
  border-radius: 1.2rem;
  box-shadow: var(--lang-switch-panel-shadow);
  padding: 2rem;
}

.lang-switch-list {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.lang-switch-option {
  color: var(--lang-switch-text);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 999rem;
  padding: 0.5rem 1rem;
}

.lang-switch-option:hover {
  color: var(--link-hover);
}

.lang-switch-option[aria-current="true"] {
  color: var(--lang-switch-text-active);
  border-color: var(--lang-switch-option-active-border);
  background: var(--lang-switch-option-active-bg);
  font-weight: 700;
}

@media (max-width: 90rem) {
  .lang-switch {
    margin-left: 0;
    border-left: 0;
    padding-left: 0;
  }

  .lang-switch-panel {
    width: 100%;
    min-height: 100dvh;
    border-radius: 0;
    border: 0;
    padding: 2rem 1.6rem;
  }
}

/* lib/components/legal-article/legal-article.css */
.legal-section {
  margin-top: 2.4rem;
}

.legal-section-title {
  margin: 0 0 1.2rem;
  font-size: 2rem;
  color: var(--body);
}

.legal-section-text {
  margin: 0 0 1.2rem;
  color: var(--body);
}

/* lib/components/logo-cloud/colors.css */
:root {
  --logo-cloud-bg: var(--surface-bg);
  --logo-cloud-item-bg: var(--surface-bg-alt);
  --logo-cloud-item-border: var(--surface-border);
}

/* lib/components/logo-cloud/geometry.css */
:root {
  --logo-cloud-padding: 4rem 0;
  --logo-cloud-gap: 1rem;
  --logo-cloud-item-radius: 1rem;
}

/* lib/components/logo-cloud/logo-cloud.css */
.logo-cloud {
    padding: var(--logo-cloud-padding);
    background: var(--logo-cloud-bg);
}

.logo-cloud-list {
    margin-top: 1.4rem;
    display: grid;
    gap: var(--logo-cloud-gap);
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.logo-cloud-item {
    min-height: 6.2rem;
    border: 1px solid var(--logo-cloud-item-border);
    border-radius: var(--logo-cloud-item-radius);
    background: var(--logo-cloud-item-bg);
    display: grid;
    place-items: center;
    padding: 0.8rem;
}

.logo-cloud-item img {
    max-width: 100%;
    max-height: 4rem;
}

.logo-cloud.is-strip .logo-cloud-list {
    grid-template-columns: repeat(8, minmax(12rem, 1fr));
    overflow-x: auto;
}

@media (max-width: 90rem) {
    .logo-cloud-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .logo-cloud.is-strip .logo-cloud-list {
        grid-template-columns: repeat(4, minmax(12rem, 1fr));
    }
}

/* lib/components/navbar/colors.css */
:root {
  /* Navbar */

  /* --- Menu --- */
  --navbar-bg: #ffffff85;
  --navbar-border: var(--surface-border);
  --navbar-shadow: var(--surface-shadow);
  
  /* --- Menu items --- */
  --navbar-menu-bg: var(--menu-bg);
  --navbar-menu-bg-hover: var(--menu-bg-hover);
  --navbar-menu-text: var(--menu-text);
  --navbar-menu-text-active: var(--navbar-menu-text-hover);
  --navbar-menu-text-hover: var(--menu-text-hover);
  --navbar-menu-border: var(--menu-border);
  --navbar-menu-border-hover: var(--menu-border-hover);
  --navbar-submenu-bg: var(--surface-bg);
  --navbar-submenu-border: var(--surface-border);
  --navbar-submenu-shadow: var(--surface-shadow);
  --navbar-mobile-fullscreen-bg: var(--surface-bg);

  /* --- Brand name --- */
  --brand: var(--menu-text);
  --brand-shadow: none;
}

/* lib/components/navbar/geometry.css */
:root {
  /* Navbar */
  --navbar-height: 8rem;
  --navbar-container-max: var(--size-container-max);
  --navbar-container-fluid: var(--size-container-fluid);
  --navbar-menu-padding: 0.5rem 1rem;
  --navbar-menu-border-radius: 1rem;
  --navbar-submenu-border-radius: 0.5rem;
  --navbar-menu-gap: 1rem;
  --navbar-menu-font-weight: 500;
  --navbar-menu-text-active-font-weight: var(--navbar-menu-font-weight);

  /* --- Logo --- */
  --logo-height: 5.2rem;
  --logo-margin: 0;

  /* --- Brand name --- */
  --brand-font-size: 2rem;
  --brand-font-weight: 700;
}

/* lib/components/navbar/navbar.css */
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid var(--navbar-border);
  background: var(--navbar-bg);
  box-shadow: var(--navbar-shadow);
  backdrop-filter: blur(0.8rem);
}

.nav-row {
  width: min(
    var(--navbar-container-max, var(--size-container-max)),
    var(--navbar-container-fluid, var(--size-container-fluid))
  );
  margin: 0 auto;
  min-height: var(--navbar-height);
  display: flex;
  align-items: center;
  gap: 2rem;
}

.brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

.brand img {
  max-height: var(--logo-height);
  max-width: 100%;
  margin: var(--logo-margin);
}

.brand-name {
  font-size: var(--brand-font-size);
  font-weight: var(--brand-font-weight);
  color: var(--brand);
  text-shadow: var(--brand-shadow);
  line-height: 1;
}

.nav-center {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: var(--navbar-menu-gap);
}

.nav-list {
  display: flex;
  align-items: center;
  gap: var(--navbar-menu-gap);
}

.main-nav a {
  white-space: nowrap;
}

.main-nav a:not(.btn) {
  color: var(--navbar-menu-text);
  text-decoration: none;
  background: var(--navbar-menu-bg);
  font-weight: var(--navbar-menu-font-weight);
  padding: var(--navbar-menu-padding);
  border: 1px solid var(--navbar-menu-border);
  border-radius: var(--navbar-menu-border-radius);
  min-height: var(--navbar-item-height, 3.6rem);
  display: inline-flex;
  align-items: center;
}

.main-nav a:not(.btn):hover {
  color: var(--navbar-menu-text-hover);
  background: var(--navbar-menu-bg-hover);
  border-color: var(--navbar-menu-border-hover);
}

.main-nav a:not(.btn).is-active {
  color: var(--navbar-menu-text-active);
  font-weight: var(--navbar-menu-text-active-font-weight);
}

.nav-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--navbar-cta-gap, 0.9rem);
  flex-shrink: 0;
}

.nav-actions .btn {
  min-height: var(--navbar-item-height, 3.6rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 1.2rem;
}

.nav-item {
  position: relative;
}

.nav-item-parent {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nav-item-parent::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 0.7rem;
}

.nav-link-parent {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.nav-link-icon {
  width: 1.4rem;
  height: 1.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-link-icon svg {
  width: 1.2rem;
  height: 1.2rem;
}

.nav-item-parent:hover > .nav-link-parent .nav-link-icon svg,
.nav-item-parent:focus-within > .nav-link-parent .nav-link-icon svg,
.nav-item-parent.open > .nav-link-parent .nav-link-icon svg {
  transform: rotate(180deg);
}

.nav-submenu {
  position: absolute;
  left: 0;
  top: calc(100% + 0.6rem);
  min-width: max(20rem, 100%);
  display: none;
  flex-direction: column;
  gap: 0.6rem;
  background: var(--navbar-submenu-bg, var(--navbar-menu-bg));
  border: 1px solid var(--navbar-submenu-border, var(--navbar-menu-border));
  border-radius: var(--navbar-submenu-border-radius);
  box-shadow: var(--navbar-submenu-shadow, var(--navbar-shadow));
  padding: 0.8rem;
}

.nav-submenu-list {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.nav-submenu-list .nav-item {
  width: 100%;
}

.nav-submenu .nav-link {
  width: 100%;
  justify-content: space-between;
}

.nav-item-parent:hover > .nav-submenu,
.nav-item-parent:focus-within > .nav-submenu,
.nav-item-parent.open > .nav-submenu {
  display: flex;
}

.menu-btn {
  display: none;
  border: 1px solid var(--navbar-menu-border);
  border-radius: var(--navbar-menu-border-radius);
  background: var(--navbar-menu-bg);
  color: var(--navbar-menu-text);
  min-height: var(--navbar-item-height, 3.6rem);
  padding: 0.8rem 1rem;
  cursor: pointer;
}

@media (max-width: 90rem) {
  .menu-btn {
    display: inline-flex;
    margin-left: auto;
    position: relative;
    width: 4.4rem;
    min-width: 4.4rem;
    min-height: 4.4rem;
    padding: 0;
    justify-content: center;
    align-items: center;
    font-size: 0;
    color: transparent;
    border: 0;
    background: transparent;
  }

  .menu-btn::before,
  .menu-btn::after {
    content: "";
    position: absolute;
    width: 2.6rem;
    height: 0.2rem;
    background: currentColor;
    color: var(--navbar-menu-text);
    border-radius: 999rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  }

  .menu-btn::before {
    transform: translateY(-0.7rem);
    box-shadow: 0 0.7rem 0 0 currentColor;
  }

  .menu-btn::after {
    transform: translateY(0.7rem);
  }

  .menu-btn[aria-expanded="true"]::before {
    transform: rotate(45deg);
    box-shadow: none;
  }

  .menu-btn[aria-expanded="true"]::after {
    transform: rotate(-45deg);
  }

  .nav-center {
    flex: 0;
  }

  .nav-actions {
    display: none;
  }

  .main-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: var(--navbar-height);
    display: none;
    flex-direction: column;
    align-items: stretch;
    background: var(--navbar-bg);
    border-bottom: 1px solid var(--navbar-border);
    padding: 1rem 4vw;
  }

  .main-nav.open {
    display: flex;
  }

  .nav-list {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .main-nav.mobile-drilldown > .nav-list,
  .main-nav.mobile-drilldown > a {
    display: none;
  }

  .main-nav.mobile-drilldown .nav-mobile-panel {
    display: flex;
  }

  .nav-item-parent {
    width: 100%;
    display: block;
  }

  .nav-submenu {
    position: static;
    width: 100%;
    min-width: 0;
    margin-top: 0.6rem;
  }

  .site-header.navbar-has-submenus .main-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: var(--navbar-height);
    min-height: calc(100dvh - var(--navbar-height));
    z-index: 120;
    padding: 0;
    overflow-y: auto;
    background: var(--navbar-mobile-fullscreen-bg, var(--navbar-bg));
    border: 0;
    border-top: 1px solid var(--navbar-border);
  }

  .site-header.navbar-has-submenus .main-nav .btn {
    width: 100%;
    text-align: center;
  }

  .site-header.navbar-has-submenus .main-nav .nav-submenu {
    display: none !important;
  }

  .site-header.navbar-has-submenus .main-nav .nav-link-icon {
    margin-left: auto;
  }

  .site-header.navbar-has-submenus .main-nav .nav-mobile-link:not(.btn),
  .site-header.navbar-has-submenus .main-nav button.nav-mobile-link {
    color: var(--navbar-menu-text);
    text-decoration: none;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--navbar-border);
    border-radius: 0;
    font: inherit;
    font-weight: var(--navbar-menu-font-weight);
    padding: 1.4rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: clamp(2rem, 4vw, 2.4rem);
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
    text-align: left;
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
  }

  .site-header.navbar-has-submenus .main-nav .nav-mobile-items.is-submenu .nav-mobile-link:not(.btn),
  .site-header.navbar-has-submenus .main-nav .nav-mobile-items.is-submenu button.nav-mobile-link {
    padding: 1.4rem 0;
  }
}

.nav-mobile-panel {
  display: none;
  flex-direction: column;
  min-height: 100%;
  background: var(--navbar-mobile-fullscreen-bg, var(--navbar-bg));
  opacity: 0;
  transition: opacity 0.24s ease;
}

.nav-mobile-panel.is-visible {
  opacity: 1;
}

.nav-mobile-header {
  min-height: var(--navbar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 0 3.2rem 0 1.2rem;
  border-bottom: 1px solid var(--navbar-border);
}

.nav-mobile-header.is-root {
  justify-content: space-between;
}

.nav-mobile-header-side {
  width: 4.4rem;
  min-width: 4.4rem;
  height: 4.4rem;
}

.nav-mobile-back-row {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 4.4rem;
  display: grid;
  grid-template-columns: 4.4rem 1fr;
  align-items: center;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.nav-mobile-brand-wrap {
  min-width: 0;
}

.nav-mobile-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.nav-mobile-back {
  border: 0;
  background: transparent;
  color: var(--navbar-menu-text);
  font: inherit;
  min-height: 4.4rem;
  min-width: 4.4rem;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin-left: 0;
}

.nav-mobile-back .nav-link-icon {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-mobile-back .nav-link-icon svg {
  width: 2rem;
  height: 2rem;
  transform: rotate(90deg);
}

.nav-mobile-title {
  color: var(--navbar-menu-text);
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}

.nav-mobile-close {
  border: 0;
  background: transparent;
  color: var(--navbar-menu-text);
  font: inherit;
  font-size: 4.2rem;
  line-height: 1;
  min-height: 4.4rem;
  min-width: 4.4rem;
  padding: 0;
  cursor: pointer;
}

.nav-mobile-items {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 3.2rem 3.2rem;
}

.nav-mobile-items.is-root {
  padding-top: 1.6rem;
}

.nav-mobile-items.is-submenu {
  padding-top: 2.4rem;
}

.nav-mobile-header,
.nav-mobile-items {
  transition: opacity 0.24s ease;
}

@media (prefers-reduced-motion: reduce) {
  .nav-mobile-panel,
  .nav-mobile-header,
  .nav-mobile-items,
  .menu-btn::before,
  .menu-btn::after {
    transition: none;
  }
}

.nav-mobile-link {
  color: var(--navbar-menu-text);
  text-decoration: none;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--navbar-border);
  font: inherit;
  font-weight: var(--navbar-menu-font-weight);
  padding: 1.4rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: clamp(2rem, 4vw, 2.4rem);
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding-inline: 0;
  font-family: inherit;
  line-height: 1.3;
}

.nav-mobile-link.is-active {
  color: var(--navbar-menu-text-active);
  font-weight: var(--navbar-menu-text-active-font-weight);
}

.nav-mobile-items.is-submenu .nav-mobile-link {
  padding: 1.4rem 0;
  min-height: 0;
  align-items: center;
}

.nav-mobile-link.is-parent .nav-link-icon svg {
  transform: rotate(-90deg);
}

.nav-mobile-link .nav-link-icon {
  width: 2.4rem;
  height: 2.4rem;
  flex: 0 0 auto;
}

.nav-mobile-link .nav-link-icon svg {
  width: 2rem;
  height: 2rem;
}

.nav-mobile-link.is-cta {
  justify-content: flex-start;
  font-weight: 700;
}

/* lib/components/pricing-plan/colors.css */
:root {
  /* Pricing plan */
  
  /* --- Text --- */
  --pricing-plan-title: #ffffff85;
  --pricing-plan-text: #ffffff;
  --pricing-plan-border: var(--card-border);
  --pricing-plan-shadow: var(--card-shadow);

  /* --- CTA button--- */
  --pricing-plan-cta-bg: #00000050;
  --pricing-plan-cta-text: var(--card-cta-text);
  --pricing-plan-cta-border: #ffffff85;

  /* --- CTA button (hover) --- */
  --pricing-plan-cta-bg-hover: #00000085;
  --pricing-plan-cta-text-hover: #ffffff;
  --pricing-plan-cta-border-hover: #ffffff;
}

/* lib/components/pricing-plan/pricing-plan.css */
.pricing-plan {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--pricing-plan-text);
  border-radius: 1.2rem;
  border: 1px solid var(--pricing-plan-border);
  padding: 2rem;
  text-align: left;
  box-shadow: var(--pricing-plan-shadow);
}

.pricing-plan-title {
  color: var(--pricing-plan-title);
  margin: 1rem 0 2rem;
  font-size: var(--pricing-table-title-font-size);
  text-align: center;
  font-weight: var(--pricing-table-title-font-weight);
}

.pricing-plan-data {
  color: var(--pricing-plan-text);
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin: 0;
  font-size: var(--pricing-table-options-font-size);
  font-weight: 600;
}

.pricing-plan-data + .pricing-plan-data {
  margin-top: 0.8rem;
}

.pricing-plan-check {
  font-size: 3rem;
  font-weight: 900;
  color: var(--pricing-plan-title);
}

.pricing-plan-price-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin: auto 0 2.2rem;
}

.pricing-plan-price {
  color: var(--pricing-plan-text);
  margin: 0;
  font-size: var(--pricing-table-price-font-size);
  font-weight: var(--pricing-table-price-font-weight);
}

.pricing-plan-price-monthly {
  display: block;
}

.pricing-plan-price-yearly {
  display: none;
}

.pricing-plan-price-label {
  color: var(--pricing-plan-text);
  margin: 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.2;
}

.pricing-plan-cta {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: var(--pricing-plan-cta-text) !important;
  background: var(--pricing-plan-cta-bg);
  border: 0.2rem solid var(--pricing-plan-cta-border);
  border-radius: 999rem;
  padding: 1.2rem 1.6rem;
  font-size: var(--pricing-table-cta-font-size);
  font-weight: 500;
}

.pricing-plan-cta:hover {
  color: var(--pricing-plan-cta-text-hover) !important;
  background: var(--pricing-plan-cta-bg-hover);
  border: 0.2rem solid var(--pricing-plan-cta-border-hover);
}

.pricing-plan.is-light {
  --pricing-plan-accent-soft: color-mix(in srgb, var(--pricing-plan-accent) 62%, #ffffff);

  color: #2f3342;
  border-radius: 2.4rem;
  border-color: #d9deea;
  background: #ffffff !important;
  padding: 2rem 3rem 2.6rem;
}

.pricing-plan.is-light .pricing-plan-title {
  color: var(--pricing-plan-accent);
  margin: 0;
  font-size: var(--pricing-table-title-font-size);
  font-weight: var(--pricing-table-title-font-weight);
  line-height: 1.05;
}

.pricing-plan.is-light .pricing-plan-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.4rem;
  border-radius: 999rem;
  margin-top: 1.8rem;
  background: linear-gradient(90deg, var(--pricing-plan-accent) 0%, var(--pricing-plan-accent-soft) 100%);
}

.pricing-plan.is-light .pricing-plan-data {
  color: #2f3342;
  gap: 1.2rem;
  font-weight: 500;
}

.pricing-plan.is-light .pricing-plan-data:first-of-type {
  margin-top: 2.8rem;
}

.pricing-plan.is-light .pricing-plan-data + .pricing-plan-data {
  margin-top: 1.1rem;
}

.pricing-plan.is-light .pricing-plan-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  border-radius: 999rem;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--pricing-plan-accent);
  background: #f1f3f9;
}

.pricing-plan.is-light .pricing-plan-price-row {
  display: grid;
  justify-items: center;
  margin: auto 0 2.8rem;
}

.pricing-plan.is-light .pricing-plan-price-row::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  margin-bottom: 2.5rem;
  background: #e8ebf2;
}

.pricing-plan.is-light .pricing-plan-price {
  color: #080b1f;
  font-size: var(--pricing-table-price-font-size);
  font-weight: var(--pricing-table-price-font-weight);
  line-height: 1;
}

.pricing-plan.is-light .pricing-plan-price-label {
  color: #8b8f9a;
  margin: 1.2rem 0 0;
  text-align: center;
  font-weight: 500;
}

.pricing-plan.is-light .pricing-plan-price-label br {
  display: none;
}

.pricing-plan.is-light .pricing-plan-cta {
  color: var(--pricing-plan-accent) !important;
  background: #ffffff;
  border-color: var(--pricing-plan-accent);
  font-weight: 600;
}

.pricing-plan.is-light .pricing-plan-cta:hover {
  color: var(--pricing-plan-accent) !important;
  background: color-mix(in srgb, var(--pricing-plan-accent) 8%, #ffffff);
  border-color: var(--pricing-plan-accent);
}

.pricing-plan.is-enterprise .pricing-plan-title {
  font-size: var(--pricing-table-title-font-size);
}

.pricing-plan.is-enterprise .pricing-plan-price {
  font-size: var(--pricing-table-price-font-size);
}

.pricing-plan.is-enterprise .pricing-plan-price-label {
  display: none;
}

/* lib/components/pricing-table/colors.css */
:root {
  /* Pricing table */
  
  /* --- Table --- */
  --pricing-table-bg: #ffffff;
  --pricing-table-shadow: var(--surface-shadow-alt);
  
  /* --- Switch --- */
  --pricing-table-switch-bg: var(--button-bg-alt);
  --pricing-table-switch-active-bg: var(--button-bg);
  --pricing-table-switch-text: var(--button-text-alt);
}

/* lib/components/pricing-table/geometry.css */
:root {
  /* Pricing table typography */
  --pricing-table-title-font-size: 4rem;
  --pricing-table-title-font-weight: 900;
  --pricing-table-options-font-size: 1.6rem;
  --pricing-table-price-font-size: 3rem;
  --pricing-table-price-font-weight: 700;
  --pricing-table-cta-font-size: 1.6rem;
}

/* lib/components/pricing-table/pricing-table.css */
.sr-only {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.pricing-table-component {
  margin-block: 4rem;
}

.pricing-billing-toggle-input {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  opacity: 0;
  pointer-events: none;
}

.pricing-billing-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 auto 2.2rem;
  padding: 0.6rem;
  border: 0.1rem solid var(--pricing-table-switch-bg);
  border-radius: 999rem;
  background: color-mix(in srgb, var(--pricing-table-switch-bg) 80%, transparent);
  box-shadow: var(--pricing-table-shadow);
}

.pricing-billing-option {
  cursor: pointer;
  border-radius: 999rem;
  padding: 0.8rem 1.6rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--pricing-table-switch-text);
  transition: background-color .18s ease, color .18s ease;
}

.pricing-billing-option-monthly {
  background: var(--pricing-table-switch-active-bg);
  color: #ffffff;
}

.pricing-billing-toggle-input:checked + .pricing-billing-switch .pricing-billing-option-monthly {
  background: transparent;
  color: var(--pricing-table-switch-text);
}

.pricing-billing-toggle-input:checked + .pricing-billing-switch .pricing-billing-option-yearly {
  background: var(--pricing-table-switch-active-bg);
  color: #ffffff;
}

.pricing-table-surface {
  border-radius: 2rem;
  background: var(--pricing-table-bg);
  box-shadow: var(--pricing-table-shadow);
}

.pricing-table {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.2rem;
}

.pricing-table .pricing-plan-price-monthly {
  display: block;
}

.pricing-table .pricing-plan-price-yearly {
  display: none;
}

.pricing-billing-toggle-input:checked ~ .pricing-table-surface .pricing-plan-price-monthly {
  display: none;
}

.pricing-billing-toggle-input:checked ~ .pricing-table-surface .pricing-plan-price-yearly {
  display: block;
}

@media (max-width: 90rem) {
  .pricing-table {
    grid-template-columns: 1fr;
  }
}

/* lib/components/process-steps/colors.css */
:root {
  /* Process Steps */
  --process-steps-bg: transparent;
  --process-steps-line-color: #d7dce5;
  --process-steps-marker-bg: #003399;
  --process-steps-marker-color: #ffffff;
  --process-steps-title-color: #0f172a;
  --process-steps-text-color: #6b7280;
}

/* lib/components/process-steps/geometry.css */
:root {
  /* Process Steps */
  --process-steps-padding: 2rem 0;
  --process-steps-max-width: 72rem;
  --process-steps-gap: 1.75rem;
  --process-steps-column-gap: 1rem;
  --process-steps-item-min-height: 13rem;
  --process-steps-marker-size: 7rem;
  --process-steps-line-width: 2px;
  --process-steps-marker-font-size: 2.4rem;
  --process-steps-marker-font-weight: 700;
  --process-steps-title-size: 2rem;
  --process-steps-title-line-height: 1.3;
  --process-steps-text-size: 1.6rem;
  --process-steps-text-line-height: 1.6;
  --process-steps-text-margin-top: 0.5rem;
}

/* lib/components/process-steps/process-steps.css */
.process-steps {
  padding: var(--process-steps-padding);
  background: var(--process-steps-bg);
}

.process-steps-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--process-steps-gap);
  max-width: var(--process-steps-max-width);
  margin-inline: auto;
}

.process-steps-item {
  display: grid;
  grid-template-columns: var(--process-steps-marker-size) 1fr;
  column-gap: var(--process-steps-column-gap);
  align-items: start;
  position: relative;
  min-height: var(--process-steps-item-min-height);
}

.process-steps-item::before {
  content: "";
  position: absolute;
  left: calc(var(--process-steps-marker-size) / 2 - var(--process-steps-line-width) / 2);
  top: var(--process-steps-marker-size);
  bottom: calc(var(--process-steps-gap) * -1);
  width: var(--process-steps-line-width);
  background: var(--process-steps-line-color);
}

.process-steps-item:last-child::before {
  display: none;
}

.process-steps-marker {
  width: var(--process-steps-marker-size);
  height: var(--process-steps-marker-size);
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--process-steps-marker-bg);
  color: var(--process-steps-marker-color);
  font-size: var(--process-steps-marker-font-size);
  font-weight: var(--process-steps-marker-font-weight);
  line-height: 1;
  z-index: 1;
}

.process-steps-title {
  margin: 0;
  color: var(--process-steps-title-color);
  font-size: var(--process-steps-title-size);
  line-height: var(--process-steps-title-line-height);
}

.process-steps-text {
  margin: var(--process-steps-text-margin-top) 0 0;
  color: var(--process-steps-text-color);
  font-size: var(--process-steps-text-size);
  line-height: var(--process-steps-text-line-height);
}

@media (max-width: 64rem) {
  .process-steps-content,
  .process-steps-title,
  .process-steps-text {
    text-align: left;
  }
}

/* lib/components/proof/colors.css */
:root {
  /* Proof */
  --proof-bg: var(--surface-bg);
  --proof-item-bg: var(--surface-bg-alt);
  --proof-title: var(--h2);
  --proof-text: var(--body);
}

/* lib/components/proof/geometry.css */
:root {
  /* Proof */
  --proof-margin: 0;
  --proof-padding: 3.2rem;
  --proof-title-font-size: var(--h3-font-size-desktop);
  --proof-title-font-weight: var(--h3-font-weight-desktop);
  --proof-text-font-size: var(--p-font-size-desktop);
  --proof-text-font-weight: var(--p-font-weight-desktop);
}

/* lib/components/proof/proof.css */
.proof-wrap {
  margin: var(--proof-margin);
  -webkit-user-select: none;
  user-select: none;
}

.proof-container {
  background: var(--proof-bg);
  border-radius: 1.2rem;
  padding: var(--proof-padding);
  width: 100%;
}

.proof-container > h2 {
  margin: 0;
  color: var(--proof-title);
}

.proof-subtitle {
  margin: 0.8rem 0 0;
  color: var(--proof-text);
}

.proof-list {
  margin-top: 2.6rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.6rem;
}

.proof-item {
  border-radius: 1.2rem;
  padding: 1.8rem;
  background: var(--proof-item-bg);
  border: 1px solid var(--surface-border);
  box-shadow: var(--surface-shadow-alt);
  transition: transform 180ms ease;
}

.proof-item:hover {
  transform: translateY(-0.2rem);
}

.proof-item-title {
  margin: 0;
  color: var(--proof-title);
  font-size: var(--proof-title-font-size);
  font-weight: var(--proof-title-font-weight);
}

.proof-item-text {
  margin: 0.5rem 0 0;
  color: var(--proof-text);
  font-size: var(--proof-text-font-size);
  font-weight: var(--proof-text-font-weight);
}

@media (max-width: 90rem) {
  .proof-list {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 60rem) {
  .proof-list {
    grid-template-columns: 1fr;
  }
}

/* lib/components/showcase-reel-images/colors.css */
:root {
  /* Showcase Reel Images */
  --showcase-reel-images-tab-bg: #ffffff;
  --showcase-reel-images-tab-text: #1c3473;
  --showcase-reel-images-tab-border: #3553a4;
  --showcase-reel-images-tab-border-hover: #244a9f;
  --showcase-reel-images-tab-text-hover: #16316f;
  --showcase-reel-images-tab-active-start: #ff2e6d;
  --showcase-reel-images-tab-active-end: #f4b233;
  --showcase-reel-images-tab-active-text: #ffffff;
  --showcase-reel-images-tab-focus: #2d5fd5;
  --showcase-reel-images-stage-bg: #d9dce3;
  --showcase-reel-images-stage-border: #c7ccd8;
}

/* lib/components/showcase-reel-images/geometry.css */
:root {
  /* Showcase Reel Images */
  --showcase-reel-images-screen-width: 1080px;
  --showcase-reel-images-screen-height: 610px;
  --showcase-reel-images-screen-ratio: 1080 / 610;
  --showcase-reel-images-tabs-gap: 2rem;
  --showcase-reel-images-tabs-margin-bottom: 2.4rem;
  --showcase-reel-images-tab-border-width: 0.1rem;
  --showcase-reel-images-tab-radius: 999rem;
  --showcase-reel-images-tab-padding: 0.8rem 2.6rem;
  --showcase-reel-images-tab-font-size: 1.7rem;
  --showcase-reel-images-tab-min-width: 13.6rem;
  --showcase-reel-images-stage-radius: 5rem;
  --showcase-reel-images-stage-border-width: 0.1rem;
  --showcase-reel-images-stage-min-height: 58rem;
  --showcase-reel-images-stage-padding: 2rem;
  --showcase-reel-images-media-min-height: 50rem;
  --showcase-reel-images-media-radius: 3rem;
}

/* lib/components/showcase-reel-images/showcase-reel-images.css */
.showcase-reel-images {
  width: 100%;
}

.showcase-reel-images > .wrap,
.showcase-reel-images__tabs,
.showcase-reel-images__stage {
  width: 100%;
}

.showcase-reel-images__tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--showcase-reel-images-tabs-gap);
  margin-bottom: var(--showcase-reel-images-tabs-margin-bottom);
}

.showcase-reel-images__tab {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--showcase-reel-images-tab-border-width) solid var(--showcase-reel-images-tab-border);
  border-radius: var(--showcase-reel-images-tab-radius);
  background: var(--showcase-reel-images-tab-bg);
  color: var(--showcase-reel-images-tab-text);
  font-size: var(--showcase-reel-images-tab-font-size);
  line-height: 1;
  font-weight: 500;
  padding: var(--showcase-reel-images-tab-padding);
  min-width: var(--showcase-reel-images-tab-min-width);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.showcase-reel-images__tab:hover {
  border-color: var(--showcase-reel-images-tab-border-hover);
  color: var(--showcase-reel-images-tab-text-hover);
}

.showcase-reel-images__tab.is-active {
  border-color: transparent;
  background: linear-gradient(90deg, var(--showcase-reel-images-tab-active-start), var(--showcase-reel-images-tab-active-end));
  color: var(--showcase-reel-images-tab-active-text);
}

.showcase-reel-images__tab:focus-visible {
  outline: 0.2rem solid var(--showcase-reel-images-tab-focus);
  outline-offset: 0.2rem;
}

.showcase-reel-images__stage {
  margin: 0;
  width: min(var(--showcase-reel-images-screen-width), 100%);
  margin-inline: auto;
  border-radius: var(--showcase-reel-images-stage-radius);
  border: var(--showcase-reel-images-stage-border-width) solid var(--showcase-reel-images-stage-border);
  background: var(--showcase-reel-images-stage-bg);
  min-height: var(--showcase-reel-images-stage-min-height);
  padding: var(--showcase-reel-images-stage-padding);
  display: flex;
  flex-direction: column;
}

.showcase-reel-images__media {
  width: 100%;
  flex: 1;
  min-height: var(--showcase-reel-images-media-min-height);
  aspect-ratio: var(--showcase-reel-images-screen-ratio);
  display: block;
  object-fit: cover;
  object-position: top center;
  border-radius: var(--showcase-reel-images-media-radius);
  opacity: 1;
  transition: opacity 0.28s ease;
}

.showcase-reel-images__media.is-switching {
  opacity: 0;
}

@media (max-width: 60rem) {
  .showcase-reel-images__tabs {
    justify-content: center;
  }

  .showcase-reel-images__tab {
    min-width: 0;
  }
}

/* lib/components/showcase-reel-lottie/colors.css */
:root {
  /* Showcase Reel Lottie */
  --showcase-reel-lottie-tab-bg: #ffffff;
  --showcase-reel-lottie-tab-text: #1c3473;
  --showcase-reel-lottie-tab-border: #3553a4;
  --showcase-reel-lottie-tab-border-hover: #244a9f;
  --showcase-reel-lottie-tab-text-hover: #16316f;
  --showcase-reel-lottie-tab-active-start: #ff2e6d;
  --showcase-reel-lottie-tab-active-end: #f4b233;
  --showcase-reel-lottie-tab-active-text: #ffffff;
  --showcase-reel-lottie-tab-focus: #2d5fd5;
  --showcase-reel-lottie-stage-bg: #d9dce3;
  --showcase-reel-lottie-stage-border: #c7ccd8;
}

/* lib/components/showcase-reel-lottie/geometry.css */
:root {
  /* Showcase Reel Lottie */
  --showcase-reel-lottie-tabs-gap: 2rem;
  --showcase-reel-lottie-tabs-margin-bottom: 2.4rem;
  --showcase-reel-lottie-tab-border-width: 0.1rem;
  --showcase-reel-lottie-tab-radius: 999rem;
  --showcase-reel-lottie-tab-padding: 0.8rem 2.6rem;
  --showcase-reel-lottie-tab-font-size: 1.7rem;
  --showcase-reel-lottie-tab-min-width: 13.6rem;
  --showcase-reel-lottie-stage-radius: 5rem;
  --showcase-reel-lottie-stage-border-width: 0.1rem;
  --showcase-reel-lottie-stage-min-height: 58rem;
  --showcase-reel-lottie-stage-padding: 2rem;
  --showcase-reel-lottie-player-min-height: 50rem;
}

/* lib/components/showcase-reel-lottie/showcase-reel-lottie.css */
.showcase-reel-lottie {
  width: 100%;
}

.showcase-reel-lottie__tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--showcase-reel-lottie-tabs-gap);
  margin-bottom: var(--showcase-reel-lottie-tabs-margin-bottom);
}

.showcase-reel-lottie__tab {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--showcase-reel-lottie-tab-border-width) solid var(--showcase-reel-lottie-tab-border);
  border-radius: var(--showcase-reel-lottie-tab-radius);
  background: var(--showcase-reel-lottie-tab-bg);
  color: var(--showcase-reel-lottie-tab-text);
  font-size: var(--showcase-reel-lottie-tab-font-size);
  line-height: 1;
  font-weight: 500;
  padding: var(--showcase-reel-lottie-tab-padding);
  min-width: var(--showcase-reel-lottie-tab-min-width);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.showcase-reel-lottie__tab:hover {
  border-color: var(--showcase-reel-lottie-tab-border-hover);
  color: var(--showcase-reel-lottie-tab-text-hover);
}

.showcase-reel-lottie__tab.is-active {
  border-color: transparent;
  background: linear-gradient(90deg, var(--showcase-reel-lottie-tab-active-start), var(--showcase-reel-lottie-tab-active-end));
  color: var(--showcase-reel-lottie-tab-active-text);
}

.showcase-reel-lottie__tab:focus-visible {
  outline: 0.2rem solid var(--showcase-reel-lottie-tab-focus);
  outline-offset: 0.2rem;
}

.showcase-reel-lottie__stage {
  margin: 0;
  border-radius: var(--showcase-reel-lottie-stage-radius);
  border: var(--showcase-reel-lottie-stage-border-width) solid var(--showcase-reel-lottie-stage-border);
  background: var(--showcase-reel-lottie-stage-bg);
  min-height: var(--showcase-reel-lottie-stage-min-height);
  padding: var(--showcase-reel-lottie-stage-padding);
  display: flex;
  flex-direction: column;
}

.showcase-reel-lottie__player {
  width: 100%;
  flex: 1;
  min-height: var(--showcase-reel-lottie-player-min-height);
  opacity: 1;
  transition: opacity 0.28s ease;
}

.showcase-reel-lottie__player.is-switching {
  opacity: 0;
}

@media (max-width: 60rem) {
  .showcase-reel-lottie__tabs {
    justify-content: center;
  }

  .showcase-reel-lottie__tab {
    min-width: 0;
  }
}

/* lib/components/showcase-reel/colors.css */
:root {
  /* Showcase Reel */
  --showcase-reel-tab-text: #1c3473;
  --showcase-reel-tab-bg: #ffffff;
  --showcase-reel-tab-border: #3553a4;
  --showcase-reel-tab-active-text: #ffffff;
  --showcase-reel-tab-active-bg-start: #ff2e6d;
  --showcase-reel-tab-active-bg-end: #f4b233;
  --showcase-reel-tab-active-border: transparent;
}

/* lib/components/showcase-reel/geometry.css */
:root {
  /* --- Media --- */
  --showcase-reel-screen-width: 1080px;
  --showcase-reel-screen-height: 610px;
  --showcase-reel-screen-ratio: 1080 / 610;

  /* --- Tabs --- */
  --showcase-reel-tabs-gap: 2rem;
  --showcase-reel-tabs-margin-bottom: 2.4rem;
  --showcase-reel-tab-padding: 0.8rem 2.6rem;
  --showcase-reel-tab-border-width: 0.1rem;
  --showcase-reel-tab-radius: 999rem;

  /* --- Fonts --- */
  --showcase-reel-tab-font-size: 1.7rem;
  --showcase-reel-tab-font-weight: 500;
  --showcase-reel-prompt-font-size: clamp(1.6rem, 2.1vw, 2rem);
  --showcase-reel-prompt-font-weight: 400;
}

/* lib/components/showcase-reel/showcase-reel.css */
.showcase-reel-block {
  width: 100%;
}

.showcase-reel {
  --showcase-bg: #0c2f62;
  --showcase-bg-soft: color-mix(in srgb, var(--showcase-bg) 24%, #ffffff);
  --showcase-frame-bg: rgba(4, 8, 20, 0.84);
  background:
    radial-gradient(120% 100% at 50% -20%, var(--showcase-bg-soft), transparent 58%),
    linear-gradient(165deg, var(--showcase-bg), color-mix(in srgb, var(--showcase-bg) 65%, #040811));
  border-radius: 2.2rem;
  padding: clamp(2rem, 4vw, 3.8rem);
  transition: background 0.5s ease;
}

.showcase-reel__tabs {
  gap: var(--showcase-reel-tabs-gap);
  margin-bottom: var(--showcase-reel-tabs-margin-bottom);
}

.showcase-reel__tabs[hidden] {
  display: none;
}

.showcase-reel__tab {
  border-width: var(--showcase-reel-tab-border-width);
  border-color: var(--showcase-reel-tab-border);
  border-radius: var(--showcase-reel-tab-radius);
  background: var(--showcase-reel-tab-bg);
  color: var(--showcase-reel-tab-text);
  font-size: var(--showcase-reel-tab-font-size);
  font-weight: var(--showcase-reel-tab-font-weight);
  padding: var(--showcase-reel-tab-padding);
}

.showcase-reel-block[data-colors-mode="dynamic"] .showcase-reel__tab {
  color: var(--showcase-reel-tab-dynamic-color, var(--showcase-reel-tab-text));
  border-color: var(--showcase-reel-tab-dynamic-color, var(--showcase-reel-tab-border));
}

.showcase-reel__tab.is-active {
  border-color: var(--showcase-reel-tab-active-border);
  background: linear-gradient(90deg, var(--showcase-reel-tab-active-bg-start), var(--showcase-reel-tab-active-bg-end));
  color: var(--showcase-reel-tab-active-text);
}

.showcase-reel-block[data-colors-mode="dynamic"] .showcase-reel__tab.is-active {
  border-color: var(--showcase-reel-tab-dynamic-color, var(--showcase-reel-tab-active-border));
  background: var(--showcase-reel-tab-dynamic-color, var(--showcase-reel-tab-active-bg-start));
  color: var(--showcase-reel-tab-active-text);
}

.showcase-reel__prompt {
  width: min(72rem, 100%);
  margin: 0 auto clamp(1.8rem, 3vw, 2.8rem);
  border-radius: 999rem;
  background: rgba(255, 255, 255, 0.94);
  border: 0.1rem solid rgba(18, 27, 44, 0.12);
  box-shadow: 0 0.6rem 2.6rem rgba(9, 17, 33, 0.12);
  min-height: clamp(5rem, 7vw, 7rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 1.2rem 1.6rem 1.2rem 2rem;
}

.showcase-reel__prompt-text {
  margin: 0;
  color: #111827;
  font-size: var(--showcase-reel-prompt-font-size);
  font-weight: var(--showcase-reel-prompt-font-weight);
  line-height: 1.25;
  text-align: center;
}

.showcase-reel__deck {
  position: relative;
  width: min(calc(var(--showcase-reel-screen-width) + 12rem), 100%);
  margin: 0 auto;
  padding-top: clamp(1.6rem, 3vw, 2.6rem);
}

.showcase-reel__layer {
  position: absolute;
  top: 0.2rem;
  left: 0;
  right: 0;
  height: 95%;
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(0.2rem);
  pointer-events: none;
}

.showcase-reel__layer--1 {
  left: 3.5%;
  right: 3.5%;
  opacity: 0.5;
}

.showcase-reel__layer--2 {
  left: 6%;
  right: 6%;
  transform: translateY(-2rem);
  opacity: 0.32;
}

.showcase-reel__screen-frame {
  margin: 0;
  width: min(var(--showcase-reel-screen-width), 100%);
  border-radius: 1.6rem;
  overflow: hidden;
  background: var(--showcase-frame-bg);
  border: 0.1rem solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 1.8rem 5rem rgba(5, 10, 25, 0.35);
}

.showcase-reel__screen {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--showcase-reel-screen-ratio);
  opacity: 0;
  transform: translate3d(0, 12%, 0);
  transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.55s ease;
}

.showcase-reel__screen.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.showcase-reel__screen.is-exit {
  opacity: 0;
  transform: translate3d(0, 14%, 0);
  transition-duration: 0.42s;
}

@media (max-width: 64rem) {
  .showcase-reel__tabs {
    display: none;
  }

  .showcase-reel__prompt {
    min-height: calc(1.25em * 2 + 2.4rem);
    padding-left: 1.4rem;
    padding-right: 1.2rem;
    overflow: hidden;
  }

  .showcase-reel__prompt-text {
    line-height: 1.25;
    min-block-size: calc(1.25em * 2);
    display: grid;
    place-items: center;
    align-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .showcase-reel,
  .showcase-reel__screen {
    transition: none;
  }
}

/* lib/components/spacer/geometry.css */
:root {
  /* Spacer */
  --spacer-gap: 4rem;
}

/* lib/components/spacer/spacer.css */
.spacer {
  width: 100%;
  height: var(--spacer-local-gap);
  flex: 0 0 auto;
}

/* lib/components/stats-band/colors.css */
:root {
  --stats-band-bg: var(--surface-bg);
  --stats-band-item-bg: var(--surface-bg-alt);
  --stats-band-item-border: var(--surface-border);
  --stats-band-value-color: var(--h2);
}

/* lib/components/stats-band/geometry.css */
:root {
  --stats-band-padding: 4rem 0;
  --stats-band-gap: 1rem;
  --stats-band-item-radius: 1rem;
  --stats-band-item-padding: 1.2rem;
  --stats-band-value-font-size: 3rem;
  --stats-band-value-font-weight: 800;
}

/* lib/components/stats-band/stats-band.css */
.stats-band { padding: var(--stats-band-padding); background: var(--stats-band-bg); }
.stats-band-list { margin-top: 1.8rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--stats-band-gap); }
.stats-band-item { border: 1px solid var(--stats-band-item-border); border-radius: var(--stats-band-item-radius); padding: var(--stats-band-item-padding); background: var(--stats-band-item-bg); text-align: center; }
.stats-band-value { margin: 0; color: var(--stats-band-value-color); font-size: var(--stats-band-value-font-size); font-weight: var(--stats-band-value-font-weight); }
.stats-band-label { margin: 0.4rem 0 0; }
@media (max-width: 90rem) { .stats-band-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 60rem) { .stats-band-list { grid-template-columns: 1fr; } }

/* lib/components/steps-timeline/colors.css */
:root {
  --steps-bg: var(--surface-bg);
  --steps-item-bg: var(--surface-bg-alt);
  --steps-item-border: var(--surface-border);
  --steps-step-color: var(--link);
}

/* lib/components/steps-timeline/geometry.css */
:root {
  --steps-padding: 5rem 0;
  --steps-gap: 1.2rem;
  --steps-item-radius: 1rem;
  --steps-item-padding: 1.4rem;
  --steps-step-font-size: 1.2rem;
  --steps-label-font-size: 2rem;
}

/* lib/components/steps-timeline/steps-timeline.css */
.steps-timeline { padding: var(--steps-padding); background: var(--steps-bg); }
.steps-timeline-list { margin: 2rem 0 0; padding: 0; list-style: none; display: grid; gap: var(--steps-gap); }
.steps-timeline-item { background: var(--steps-item-bg); border: 1px solid var(--steps-item-border); border-radius: var(--steps-item-radius); padding: var(--steps-item-padding); }
.steps-timeline-step { margin: 0; color: var(--steps-step-color); font-size: var(--steps-step-font-size); text-transform: uppercase; letter-spacing: 0.06em; }
.steps-timeline-label { margin: 0.6rem 0 0; font-size: var(--steps-label-font-size); }
.steps-timeline-text { margin: 0.6rem 0 0; }

/* lib/components/strip-join/colors.css */
:root {
  /* Strip Join */
  --strip-join-bar-color: color-mix(in srgb, var(--border-subtle, #d8deeb) 90%, white);
}

/* lib/components/strip-join/geometry.css */
:root {
  /* Strip Join */
  --strip-join-bar-height: 1px;
  --strip-join-bar-width: min(100%, 80rem);
  --strip-join-bar-gap-y: clamp(2.5rem, 5vw, 4rem);
  --strip-join-bar-radius: 999px;
  --strip-join-bar-padding-x: clamp(2rem, 4vw, 3rem);
}

/* lib/components/strip-join/strip-join.css */
.strip-join {
  --strip-join-top: var(--strip-bg);
  --strip-join-bottom: var(--strip-bg-alt);
  --strip-join-height: clamp(8rem, 9vw, 14rem);
  --strip-join-blend-alpha: 0.52;
  --strip-join-gradient-midpoint: 52%;
  position: relative;
  left: 50%;
  width: 100vw;
  width: 100dvw;
  min-height: var(--strip-join-height);
  transform: translateX(-50%);
  margin-top: -1px;
  margin-bottom: -1px;
  line-height: 0;
  background: var(--strip-join-top);
  box-shadow:
    inset 0 1px 0 var(--strip-join-top),
    inset 0 -1px 0 var(--strip-join-bottom);
}

.strip-join.is-bar {
  min-height: auto;
  padding:
    var(--strip-join-bar-gap-y)
    var(--strip-join-bar-padding-x);
  background: transparent;
  box-shadow: none;
}

.strip-join.is-bar::before {
  content: "";
  display: block;
  width: min(var(--strip-join-bar-width), 100%);
  height: var(--strip-join-bar-height);
  margin: 0 auto;
  border-radius: var(--strip-join-bar-radius);
  background: var(--strip-join-bar-color);
}

.strip-join.is-alt {
  --strip-join-top: var(--strip-bg-alt);
  --strip-join-bottom: var(--strip-bg);
}

.strip-join.is-transparent {
  --strip-join-top: var(--strip-bg);
  --strip-join-bottom: transparent;
  --strip-join-dot-color: color-mix(in srgb, var(--strip-join-top) 70%, transparent);
}

.strip-join.is-transparent-alt {
  --strip-join-top: var(--strip-bg-alt);
  --strip-join-bottom: transparent;
  --strip-join-dot-color: color-mix(in srgb, var(--strip-join-top) 70%, transparent);
}

.strip-join--wave.is-transparent,
.strip-join--wave.is-transparent-alt {
  background: transparent;
}

.strip-join-svg {
  display: block;
  width: 100%;
  height: var(--strip-join-height);
}

.strip-join-wave {
  vector-effect: non-scaling-stroke;
}

.strip-join-wave-1 {
  fill: var(--strip-join-top);
}

.strip-join-wave-2 {
  fill: var(--strip-join-bottom);
  opacity: var(--strip-join-blend-alpha);
}

.strip-join-wave-3 {
  fill: var(--strip-join-bottom);
}

.strip-join--gradient {
  background: linear-gradient(
    180deg,
    var(--strip-join-top) 0%,
    var(--strip-join-top) var(--strip-join-gradient-midpoint),
    var(--strip-join-bottom) 100%
  );
}

.strip-join--gradient .strip-join-svg {
  display: none;
}

.strip-join.is-bar .strip-join-svg {
  display: none;
}

.strip-join--dots {
  --strip-join-dot-step: 22px;
  background:
    radial-gradient(circle, var(--strip-join-dot-color, var(--strip-join-bottom)) var(--strip-join-dot-size), transparent calc(var(--strip-join-dot-size) + 0.8px))
    0 0 / var(--strip-join-dot-step) var(--strip-join-dot-step) repeat,
    linear-gradient(180deg, var(--strip-join-top) 0%, var(--strip-join-bottom) 100%);
}

.strip-join.reveal {
  opacity: 0;
  transform: translateX(-50%) translateY(2rem);
}

.strip-join.reveal.visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  transition: opacity var(--motion-speed), transform var(--motion-speed);
}

/* lib/components/strip-title/colors.css */
:root {
  --strip-title-eyebrow-color: var(--body);
  --strip-title-heading-color: var(--h2);
  --strip-title-text-color: var(--body);
}

/* lib/components/strip-title/geometry.css */
:root {
  /* --- Spacing --- */
  --strip-title-margin-top: 0;
  --strip-title-eyebrow-gap: 1.2rem;
  --strip-title-gap: 1.6rem;
  --strip-title-margin-bottom: 0;

  /* --- Eyebrow --- */
  --strip-title-eyebrow-font-size: var(--p-font-size-desktop);
  --strip-title-eyebrow-line-height: var(--p-line-height-desktop);

  /* --- Title --- */
  --strip-title-heading-font-size: var(--h2-font-size-desktop);
  --strip-title-heading-line-height: var(--h2-line-height-desktop);

  /* --- Text --- */
  --strip-title-text-font-size: var(--p-font-size-desktop);
  --strip-title-text-line-height: var(--p-line-height-desktop);
}

/* lib/components/strip-title/strip-title.css */
.strip-title-block {
  margin-top: var(--strip-title-margin-top);
  margin-bottom: var(--strip-title-margin-bottom);
}

.strip-title-block-eyebrow {
  margin: 0 0 var(--strip-title-eyebrow-gap);
  color: var(--strip-title-eyebrow-color);
  font-size: var(--strip-title-eyebrow-font-size);
  line-height: var(--strip-title-eyebrow-line-height);
}

.strip-title-block-heading {
  margin: 0;
  color: var(--strip-title-heading-color);
  font-size: var(--strip-title-heading-font-size);
  line-height: var(--strip-title-heading-line-height);
}

.strip-title-block-text {
  margin: var(--strip-title-gap) 0 0;
  color: var(--strip-title-text-color);
  font-size: var(--strip-title-text-font-size);
  line-height: var(--strip-title-text-line-height);
}

/* lib/components/strip/colors.css */
:root {
  /* Strips */
  
  /* --- Standard style --- */
  --strip-bg: var(--body-bg);
  --strip-title: var(--h2);
  --strip-text: var(--body);
  --strip-link: var(--link);
  --strip-link-hover: var(--link-hover);
  --strip-frame-image-bg: var(--body-bg-alt);
  --strip-frame-border: var(--body-bg-alt);
  --strip-frame-shadow: var(--surface-shadow);

  /* --- Alternate style --- */
  --strip-bg-alt: var(--body-bg-alt);
  --strip-title-alt: var(--h2);
  --strip-text-alt: var(--body-alt);
  --strip-link-alt: var(--link);
  --strip-link-hover-alt: var(--link-hover);
  --strip-frame-image-bg-alt: var(--body-bg);
  --strip-frame-border-alt: var(--body-bg-alt);
  --strip-frame-shadow-alt: var(--surface-shadow-alt);
}

/* lib/components/strip/geometry-strip-lr.css */
:root {
  /* Strips - Left/Right */
  --strip-lr-padding: 3vw 0;
  --strip-lr-gap: 3vw;
  --strip-lr-gap-mobile: 2.4rem;

  /* --- Title --- */
  --strip-lr-title-font-size: var(--h2-font-size-desktop);
  --strip-lr-title-font-weight: var(--h2-font-weight-desktop);

  /* --- Description --- */
  --strip-lr-description-font-size: var(--p-font-size-desktop);
  --strip-lr-description-font-weight: var(--p-font-weight-desktop);
  --strip-lr-description-line-height: var(--p-line-height-desktop);
  --strip-lr-description-margin: 2rem 0 0;

  /* --- Link --- */
  --strip-lr-link-font-size: var(--p-font-size-desktop);
  --strip-lr-link-font-weight: 600;
  --strip-lr-link-margin: 4rem 0 0;

  /* --- Image --- */
  --strip-lr-image-border-width: 0.1rem;
  --strip-lr-image-radius: 1rem;
  --strip-lr-frame-width: 960;
  --strip-lr-frame-height: 540;
  --strip-lr-frame-padding: 2rem;
}

/* lib/components/strip/geometry-strip-v.css */
:root {
  /* Strips - Vertical */
  --strip-v-padding: 3vw 0;
  --strip-v-gap: 3vw;

  /* --- Title --- */
  --strip-v-title-font-size: var(--h2-font-size-desktop);
  --strip-v-title-font-weight: var(--h2-font-weight-desktop);

  /* --- Description --- */
  --strip-v-description-font-size: var(--p-font-size-desktop);
  --strip-v-description-font-weight: var(--p-font-weight-desktop);
  --strip-v-description-line-height: var(--p-line-height-desktop);
  --strip-v-description-margin: 2rem 0 0;

  /* --- Link --- */
  --strip-v-link-font-size: var(--p-font-size-desktop);
  --strip-v-link-font-weight: 600;
  --strip-v-link-margin: 4rem 0 0;

  /* --- Image --- */
  --strip-v-image-border-width: 0.1rem;
  --strip-v-image-radius: 2rem;
  --strip-v-frame-ratio: 16 / 9;
}

/* lib/components/strip/geometry.css */
:root {
  /* Strips - Shared */
  --strip-border-width: 0;
}

/* lib/components/strip/lr-strip.css */
.lr-strip {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--strip-lr-gap);
  width: min(var(--size-container-max), var(--size-container-fluid));
  margin: 0 auto;
  align-items: center;
  padding: var(--strip-lr-padding);
}

.lr-strip::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  width: 100dvw;
  transform: translateX(-50%);
  background: var(--strip-bg);
  z-index: -1;
}

.lr-strip.is-reverse {
  grid-template-columns: auto minmax(0, 1fr);
}

.lr-strip.is-alt::before {
  background: var(--strip-bg-alt);
}

.lr-strip.is-alt {
  border-bottom-color: var(--strip-border-alt);
}

.lr-strip:last-child {
  border-bottom: 0;
}

.lr-strip.is-reverse .lr-strip-copy {
  order: 2;
  grid-column: 2;
}

.lr-strip.is-reverse .lr-strip-frame {
  order: 1;
  grid-column: 1;
}

.lr-strip-copy h2 {
  font-size: var(--strip-lr-title-font-size);
  font-weight: var(--strip-lr-title-font-weight);
  line-height: 1.1;
}

.lr-strip.is-alt .strip-title {
  color: var(--strip-title-alt);
}

.lr-strip-description {
  margin: var(--strip-lr-description-margin);
  max-width: 64rem;
  font-size: var(--strip-lr-description-font-size);
  font-weight: var(--strip-lr-description-font-weight);
  line-height: var(--strip-lr-description-line-height);
}

.lr-strip.is-alt .strip-description {
  color: var(--strip-text-alt);
}

.lr-strip-cta-row {
  margin: var(--strip-lr-link-margin);
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: center;
}

.lr-strip-cta-row .btn {
  margin: 0;
}

.lr-strip-cta-row .btn-alt {
  border-color: var(--strip-link-alt);
  color: var(--strip-link-alt);
}

.lr-strip-cta-row .btn-alt:hover,
.lr-strip-cta-row .btn-alt:focus-visible {
  border-color: var(--strip-link-hover-alt);
  color: var(--strip-link-hover-alt);
}

.lr-strip-frame {
  margin: 0;
  display: flex;
  align-items: flex-start;
  justify-self: end;
  width: calc(var(--strip-lr-local-frame-width, var(--strip-lr-frame-width)) * 1px);
  height: calc(var(--strip-lr-local-frame-height, var(--strip-lr-frame-height)) * 1px);
  max-width: 100%;
  border-radius: calc(var(--strip-lr-image-radius) * 1.2);
  border: var(--strip-lr-image-border-width) solid var(--strip-frame-border);
  overflow: hidden;
  padding: var(--strip-lr-frame-padding);
  background: var(--strip-frame-image-bg);
  box-shadow: var(--strip-frame-shadow);
}

.lr-strip.is-alt .lr-strip-frame {
  border-color: var(--strip-frame-border-alt);
  background: var(--strip-frame-image-bg-alt);
  box-shadow: var(--strip-frame-shadow-alt);
}

.lr-strip.is-reverse .lr-strip-frame {
  justify-self: start;
}

.lr-strip-frame img {
  margin: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  background: var(--strip-frame-image-bg);
  border-radius: var(--strip-lr-image-radius);
}

.lr-strip.is-alt .lr-strip-frame img {
  background: var(--strip-frame-image-bg-alt);
}

.lr-strip-carousel-frame {
  display: block;
  align-items: stretch;
}

.lr-strip-carousel-frame .carousel-wrap {
  width: 100%;
  height: 100%;
  padding: 0;
}

.lr-strip-carousel-frame .carousel-wrap > .wrap {
  display: grid;
  grid-template-rows: 1fr auto;
  width: 100%;
  height: 100%;
  margin: 0;
}

.lr-strip-carousel-frame .carousel-stage {
  width: 100%;
  border-radius: var(--strip-lr-image-radius);
  box-shadow: none;
}

@media (max-width: 90rem) {
  .lr-strip,
  .lr-strip.is-reverse {
    grid-template-columns: 1fr;
  }

  .lr-strip-cta-row {
    width: 100%;
    justify-content: center;
  }

  .lr-strip-cta-row .btn {
    text-align: center;
  }

  .lr-strip.is-reverse .lr-strip-copy,
  .lr-strip.is-reverse .lr-strip-frame {
    order: initial;
    grid-column: auto;
  }

  .lr-strip-frame,
  .lr-strip.is-reverse .lr-strip-frame {
    justify-self: center;
    margin-inline: auto;
    width: min(calc(var(--strip-lr-local-frame-width, var(--strip-lr-frame-width)) * 1px), 100%);
    height: auto;
    aspect-ratio: var(--strip-lr-local-frame-width, var(--strip-lr-frame-width)) / var(--strip-lr-local-frame-height, var(--strip-lr-frame-height));
  }

  .lr-strip-frame img {
    object-position: center top;
  }
}

/* lib/components/strip/strip.css */
.strip-v {
  padding: var(--strip-v-padding);
}

.strip-title {
  margin: 0;
  color: var(--strip-title);
}

.strip-description {
  color: var(--strip-text);
}

.strip-v.is-alt .strip-title {
  color: var(--strip-title-alt);
}

.strip-v.is-alt .strip-description {
  color: var(--strip-text-alt);
}

.strip-link {
  display: inline-block;
}

.strip-shot {
  margin: 0 auto;
  border-radius: var(--strip-v-image-radius);
  border: var(--strip-v-image-border-width) solid var(--strip-border);
  box-shadow: var(--strip-frame-shadow);
}

.strip-v.is-alt .strip-shot {
  border-color: var(--strip-border-alt);
  box-shadow: var(--strip-frame-shadow-alt);
}

.strip-v-frame {
  margin: 0 auto;
  width: min(calc(var(--strip-v-local-frame-width, 1000) * 1px), 100%);
  aspect-ratio: var(--strip-v-local-frame-width, 16) / var(--strip-v-local-frame-height, 9);
  overflow: hidden;
  border-radius: calc(var(--strip-v-image-radius) * 1.2);
  border: var(--strip-v-image-border-width) solid var(--strip-frame-border);
  box-shadow: var(--strip-frame-shadow);
}

.strip-v.is-alt .strip-v-frame {
  border-color: var(--strip-border-alt);
  box-shadow: var(--strip-frame-shadow-alt);
}

.strip-v-frame .strip-shot {
  margin: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  border: 0;
  box-shadow: none;
}

.strip-v > .wrap {
  display: grid;
  row-gap: var(--strip-v-gap);
}

.strip-v .strip-copy {
  max-width: 80rem;
  margin: 0 auto;
}

.strip-v .strip-title {
  font-size: var(--strip-v-title-font-size);
  font-weight: var(--strip-v-title-font-weight);
}

.strip-v .strip-description {
  margin: var(--strip-v-description-margin);
  font-size: var(--strip-v-description-font-size);
  font-weight: var(--strip-v-description-font-weight);
  line-height: var(--strip-v-description-line-height);
}

.strip-v .strip-link {
  font-size: var(--strip-v-link-font-size);
  font-weight: var(--strip-v-link-font-weight);
}

.strip-v-cta-row {
  margin: var(--strip-v-link-margin);
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  justify-content: center;
  align-items: center;
}

.strip-v-cta-row .strip-link {
  margin: 0;
}

.strip-v-carousel-frame {
  display: block;
  margin: 0 auto;
  width: 100%;
}

.strip-v-carousel-frame .carousel-wrap {
  padding: 0;
}

.strip-v-carousel-frame .carousel-wrap > .wrap {
  display: grid;
  grid-template-rows: 1fr auto;
  width: 100%;
  height: 100%;
  margin: 0;
}

.strip-v-carousel-frame .carousel-stage {
  width: 100%;
  height: 100%;
  border-radius: var(--strip-v-image-radius);
  box-shadow: none;
}

@media (max-width: 64rem) {
  .strip-v-cta-row {
    width: 100%;
    justify-content: center;
  }

  .strip-v-cta-row .strip-link {
    text-align: center;
  }

  .strip-v-frame,
  .strip-v-carousel-frame {
    justify-self: center;
    margin-inline: auto;
  }

  .strip-v-frame .strip-shot {
    object-position: center top;
  }
}

/* lib/components/strip/vertical-strip.css */
.strip-v {
  position: relative;
  isolation: isolate;
}

.strip-v::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  width: 100dvw;
  transform: translateX(-50%);
  background: var(--strip-bg);
  z-index: -1;
}

.strip-v.is-alt::before {
  background: var(--strip-bg-alt);
}

/* lib/components/team-member/team-member.css */
.team-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.625rem;
  width: 100%;
  max-width: 180px;
  margin: 0 auto;
}

.team-member-portrait-wrap {
  width: min(100%, 144px);
  display: grid;
  place-items: center;
}

.team-member-portrait {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  background: #eceef3;
}

.team-member-portrait-placeholder {
  grid-area: 1 / 1;
  background:
    radial-gradient(circle at 30% 30%, #f6f7fb 0%, #f1f3f7 45%, #ebeef5 100%);
}

.team-member-name {
  margin: 0;
  color: #2f3442;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3;
}

.team-member-role {
  margin: 0;
  color: #0f46cc;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
}

/* lib/components/team-showcase/team-showcase.css */
.team-showcase {
  width: 100%;
}

.team-showcase-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 2rem 1.75rem;
  align-items: start;
  justify-items: center;
}

@media (min-width: 960px) {
  .team-showcase-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* lib/components/template-grid/colors.css */
:root {
  /* Template Grid */
  --template-grid-card-bg: #f6f8fe;
  --template-grid-card-border: #d7deee;
  --template-grid-card-shadow: 0 0.8rem 2.4rem rgba(22, 40, 86, 0.06);
  --template-grid-top-bg: #dbe6ff;
  --template-grid-icon-wrap-bg: #f8fbff;
  --template-grid-icon-wrap-shadow: 0 0.4rem 1rem rgba(18, 38, 87, 0.12);
  --template-grid-title-color: #0b3a97;
  --template-grid-text-color: #4f6390;
  --template-grid-tag-bg: #dbe4ff;
  --template-grid-tag-color: #0b3a97;
}

/* lib/components/template-grid/geometry.css */
:root {
  /* Template Grid */
  --template-grid-margin-top: 2rem;
  --template-grid-columns: repeat(4, minmax(0, 1fr));
  --template-grid-gap: 1.6rem;
  --template-grid-card-radius: 1.4rem;
  --template-grid-card-border-width: 0.1rem;
  --template-grid-card-min-height: 23.6rem;
  --template-grid-top-height: 10.2rem;
  --template-grid-icon-wrap-size: 5.2rem;
  --template-grid-icon-wrap-radius: 1.3rem;
  --template-grid-icon-size: 2.3rem;
  --template-grid-body-padding: 1.7rem 1.5rem 1.6rem;
  --template-grid-title-size: 1.8rem;
  --template-grid-title-line-height: 1.3;
  --template-grid-text-size: 1.3rem;
  --template-grid-text-line-height: 1.55;
  --template-grid-text-margin-top: 1rem;
  --template-grid-tags-padding-top: 1.2rem;
  --template-grid-tags-gap: 0.6rem;
  --template-grid-tag-radius: 999rem;
  --template-grid-tag-padding: 0.35rem 0.8rem;
  --template-grid-tag-size: 1.1rem;
  --template-grid-tablet-columns: 1fr 1fr;
  --template-grid-mobile-columns: 1fr;
}

/* lib/components/template-grid/template-grid.css */
.template-grid-list {
  margin-top: var(--template-grid-margin-top);
  display: grid;
  grid-template-columns: var(--template-grid-columns);
  gap: var(--template-grid-gap);
}

.template-grid-card {
  display: flex;
  flex-direction: column;
  border: var(--template-grid-card-border-width) solid var(--template-grid-card-border);
  border-radius: var(--template-grid-card-radius);
  background: var(--template-grid-card-bg);
  overflow: hidden;
  min-height: var(--template-grid-card-min-height);
  box-shadow: var(--template-grid-card-shadow);
}

.template-grid-top {
  height: var(--template-grid-top-height);
  background: var(--template-grid-accent, var(--template-grid-top-bg));
  display: grid;
  place-items: center;
}

.template-grid-icon-wrap {
  width: var(--template-grid-icon-wrap-size);
  height: var(--template-grid-icon-wrap-size);
  border-radius: var(--template-grid-icon-wrap-radius);
  background: var(--template-grid-icon-wrap-bg);
  display: grid;
  place-items: center;
  box-shadow: var(--template-grid-icon-wrap-shadow);
}

.template-grid-icon {
  width: var(--template-grid-icon-size);
  height: var(--template-grid-icon-size);
  object-fit: contain;
}

.template-grid-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: var(--template-grid-body-padding);
}

.template-grid-title {
  margin: 0;
  color: var(--template-grid-title-color);
  font-size: var(--template-grid-title-size);
  line-height: var(--template-grid-title-line-height);
  font-weight: 700;
}

.template-grid-text {
  margin: var(--template-grid-text-margin-top) 0 0;
  color: var(--template-grid-text-color);
  font-size: var(--template-grid-text-size);
  line-height: var(--template-grid-text-line-height);
}

.template-grid-tags {
  margin-top: auto;
  padding-top: var(--template-grid-tags-padding-top);
  display: flex;
  flex-wrap: wrap;
  gap: var(--template-grid-tags-gap);
}

.template-grid-tag {
  display: inline-flex;
  align-items: center;
  border-radius: var(--template-grid-tag-radius);
  padding: var(--template-grid-tag-padding);
  background: var(--template-grid-tag-bg);
  color: var(--template-grid-tag-color);
  font-size: var(--template-grid-tag-size);
  line-height: 1;
  font-weight: 600;
}

@media (max-width: 90rem) {
  .template-grid-list {
    grid-template-columns: var(--template-grid-tablet-columns);
  }
}

@media (max-width: 60rem) {
  .template-grid-list {
    grid-template-columns: var(--template-grid-mobile-columns);
  }
}

/* lib/components/testimonials/colors.css */
:root {
  --testimonials-bg: var(--surface-bg);
  --testimonials-text: var(--body);
  --testimonials-control-bg: var(--button-bg-alt);
  --testimonials-control-text: var(--button-text-alt);
  --testimonials-control-border: var(--surface-border);
  --testimonial-card-bg: var(--surface-bg-alt);
  --testimonial-card-border: var(--surface-border-alt);
  --testimonial-stars: #f1b514;
  --testimonial-quote-text: var(--body);
  --testimonial-author-text: var(--heading);
  --testimonial-role-text: color-mix(in srgb, var(--body), white 35%);
  --testimonial-avatar-bg: #1f3f8f;
  --testimonial-avatar-text: #ffffff;
}

/* lib/components/testimonials/geometry.css */
:root {
  --testimonials-padding: 6rem 0;
  --testimonials-gap: 1.4rem;
  --testimonials-marquee-duration: 55s;
  --testimonial-card-radius: 1.2rem;
  --testimonial-card-border-width: 1px;
  --testimonial-card-padding: 2.4rem;
  --testimonial-stars-size: 1.4rem;
  --testimonial-quote-font-size: 3rem;
  --testimonial-quote-line-height: 1.5;
  --testimonial-avatar-size: 3.6rem;
  --testimonial-avatar-font-size: 1.2rem;
  --testimonial-author-font-size: 2rem;
  --testimonial-author-font-weight: 700;
  --testimonial-role-font-size: 1.4rem;
}

/* lib/components/testimonials/testimonials.css */
.testimonials-wrap {
  background: var(--testimonials-bg);
  color: var(--testimonials-text);
  padding: var(--testimonials-padding);
  --testimonials-visible: 3;
  --testimonials-stage-width: 1200px;
}

.testimonials-subtitle {
  margin: 0.6rem 0 2rem;
}

.testimonials-stage {
  overflow: hidden;
}

.testimonials-track {
  display: grid;
  gap: var(--testimonials-gap);
}

.testimonial-item {
  background: var(--testimonial-card-bg);
  border: var(--testimonial-card-border-width) solid var(--testimonial-card-border);
  border-radius: var(--testimonial-card-radius);
  padding: var(--testimonial-card-padding);
  text-align: left;
}

.testimonial-rating {
  margin: 0 0 1.2rem;
  color: var(--testimonial-stars);
  letter-spacing: 0.16em;
  font-size: var(--testimonial-stars-size);
  line-height: 1;
}

.testimonial-quote {
  margin: 0;
  font-size: var(--testimonial-quote-font-size);
  line-height: var(--testimonial-quote-line-height);
  color: var(--testimonial-quote-text);
}

.testimonial-person {
  margin-top: 1.6rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.testimonial-avatar {
  width: var(--testimonial-avatar-size);
  height: var(--testimonial-avatar-size);
  border-radius: 999rem;
  background: var(--testimonial-avatar-bg);
  color: var(--testimonial-avatar-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--testimonial-avatar-font-size);
  font-weight: 700;
}

.testimonial-meta {
  min-width: 0;
}

.testimonial-author {
  margin: 0;
  font-size: var(--testimonial-author-font-size);
  font-weight: var(--testimonial-author-font-weight);
  color: var(--testimonial-author-text);
}

.testimonial-role {
  margin: 0.2rem 0 0;
  font-size: var(--testimonial-role-font-size);
  color: var(--testimonial-role-text);
}

.testimonials-wrap.is-grid .testimonials-track {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.testimonials-wrap.is-slider .testimonials-track {
  display: flex;
  gap: var(--testimonials-gap);
  width: max-content;
  animation: testimonials-marquee var(--testimonials-marquee-duration) linear infinite;
}

.testimonials-wrap.is-slider .testimonial-item {
  flex: 0 0 calc((var(--testimonials-stage-width) - var(--testimonials-gap) * (var(--testimonials-visible) - 1)) / var(--testimonials-visible));
  max-width: calc((var(--testimonials-stage-width) - var(--testimonials-gap) * (var(--testimonials-visible) - 1)) / var(--testimonials-visible));
}

@keyframes testimonials-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 90rem) {
  .testimonials-wrap.is-grid .testimonials-track {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 80rem) {
  .testimonials-wrap {
    --testimonials-visible: 2;
  }
}

@media (max-width: 52rem) {
  .testimonials-wrap {
    --testimonials-visible: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonials-wrap.is-slider .testimonials-track {
    animation: none;
  }
}

/* lib/components/text/geometry-blockquote-text.css */
:root {
  /* @Typography - Blockquote */
  --blockquote-text-font-size-desktop: var(--p-font-size-desktop);
  --blockquote-text-font-size-mobile: var(--p-font-size-mobile);
  --blockquote-text-font-weight-desktop: var(--p-font-weight-desktop);
  --blockquote-text-font-weight-mobile: var(--p-font-weight-mobile);
  --blockquote-text-line-height-desktop: var(--p-line-height-desktop);
  --blockquote-text-line-height-mobile: var(--p-line-height-mobile);
}

/* lib/components/text/geometry-code-text.css */
:root {
  /* @Typography - Code */
  --code-text-font-size-desktop: var(--p-font-size-desktop);
  --code-text-font-size-mobile: var(--p-font-size-mobile);
  --code-text-font-weight-desktop: var(--p-font-weight-desktop);
  --code-text-font-weight-mobile: var(--p-font-weight-mobile);
  --code-text-line-height-desktop: var(--p-line-height-desktop);
  --code-text-line-height-mobile: var(--p-line-height-mobile);
}

/* lib/components/text/geometry-div-text.css */
:root {
  /* @Typography - Div */
  --div-text-font-size-desktop: var(--p-font-size-desktop);
  --div-text-font-size-mobile: var(--p-font-size-mobile);
  --div-text-font-weight-desktop: var(--p-font-weight-desktop);
  --div-text-font-weight-mobile: var(--p-font-weight-mobile);
  --div-text-line-height-desktop: var(--p-line-height-desktop);
  --div-text-line-height-mobile: var(--p-line-height-mobile);
}

/* lib/components/text/geometry-h1-text.css */
:root {
  /* @Typography - H1 */
  --h1-font-size-desktop: clamp(4rem, calc(0.444rem + 3.472vw), 6rem);
  --h1-font-size-mobile: 4rem;
  --h1-font-weight-desktop: 900;
  --h1-font-weight-mobile: 900;
  --h1-line-height-desktop: 1.2;
  --h1-line-height-mobile: 1.1;
}

/* lib/components/text/geometry-h2-text.css */
:root {
  /* @Typography - H2 */
  --h2-font-size-desktop: clamp(3.2rem, calc(0rem + 3.125vw), 4rem);
  --h2-font-size-mobile: 3.2rem;
  --h2-font-weight-desktop: 800;
  --h2-font-weight-mobile: 700;
  --h2-line-height-desktop: 1.2;
  --h2-line-height-mobile: 1.15;
}

/* lib/components/text/geometry-h3-text.css */
:root {
  /* @Typography - H3 */
  --h3-font-size-desktop: clamp(2.2rem, calc(2.044rem + 0.347vw), 2.4rem);
  --h3-font-size-mobile: 2.4rem;
  --h3-font-weight-desktop: 600;
  --h3-font-weight-mobile: 500;
  --h3-line-height-desktop: 1.2;
  --h3-line-height-mobile: 1.2;
}

/* lib/components/text/geometry-h4-text.css */
:root {
  /* @Typography - H4 */
  --h4-font-size-desktop: clamp(2rem, calc(1.289rem + 0.694vw), 2.2rem);
  --h4-font-size-mobile: 2rem;
  --h4-font-weight-desktop: 500;
  --h4-font-weight-mobile: 500;
  --h4-line-height-desktop: 1.2;
  --h4-line-height-mobile: 1.2;
}

/* lib/components/text/geometry-h5-text.css */
:root {
  /* @Typography - H5 */
  --h5-font-size-desktop: clamp(1.8rem, calc(1.444rem + 0.347vw), 2rem);
  --h5-font-size-mobile: 1.8rem;
  --h5-font-weight-desktop: 500;
  --h5-font-weight-mobile: 500;
  --h5-line-height-desktop: 1.2;
  --h5-line-height-mobile: 1.2;
}

/* lib/components/text/geometry-label-text.css */
:root {
  /* @Typography - Label */
  --label-text-font-size-desktop: var(--p-font-size-desktop);
  --label-text-font-size-mobile: var(--p-font-size-mobile);
  --label-text-font-weight-desktop: var(--p-font-weight-desktop);
  --label-text-font-weight-mobile: var(--p-font-weight-mobile);
  --label-text-line-height-desktop: var(--p-line-height-desktop);
  --label-text-line-height-mobile: var(--p-line-height-mobile);
}

/* lib/components/text/geometry-li-text.css */
:root {
  /* @Typography - Li */
  --li-text-font-size-desktop: var(--p-font-size-desktop);
  --li-text-font-size-mobile: var(--p-font-size-mobile);
  --li-text-font-weight-desktop: var(--p-font-weight-desktop);
  --li-text-font-weight-mobile: var(--p-font-weight-mobile);
  --li-text-line-height-desktop: var(--p-line-height-desktop);
  --li-text-line-height-mobile: var(--p-line-height-mobile);
}

/* lib/components/text/geometry-p-text.css */
:root {
  /* @Typography - P */
  --p-font-size-desktop: clamp(1.6rem, calc(1.244rem + 0.347vw), 1.8rem);
  --p-font-size-mobile: 1.6rem;
  --p-font-weight-desktop: 400;
  --p-font-weight-mobile: 400;
  --p-line-height-desktop: 1.5;
  --p-line-height-mobile: 1.5;
}

/* lib/components/text/geometry-small-text.css */
:root {
  /* @Typography - Small */
  --small-text-font-size-desktop: calc(var(--p-font-size-desktop) * 0.85);
  --small-text-font-size-mobile: calc(var(--p-font-size-mobile) * 0.85);
  --small-text-font-weight-desktop: var(--p-font-weight-desktop);
  --small-text-font-weight-mobile: var(--p-font-weight-mobile);
  --small-text-line-height-desktop: var(--p-line-height-desktop);
  --small-text-line-height-mobile: var(--p-line-height-mobile);
}

/* lib/components/text/geometry-span-text.css */
:root {
  /* @Typography - Span */
  --span-text-font-size-desktop: var(--p-font-size-desktop);
  --span-text-font-size-mobile: var(--p-font-size-mobile);
  --span-text-font-weight-desktop: var(--p-font-weight-desktop);
  --span-text-font-weight-mobile: var(--p-font-weight-mobile);
  --span-text-line-height-desktop: var(--p-line-height-desktop);
  --span-text-line-height-mobile: var(--p-line-height-mobile);
}

/* lib/components/text/text.css */
[data-type="h1-text"] {
  font-size: var(--h1-font-size-desktop);
  font-weight: var(--h1-font-weight-desktop);
  line-height: var(--h1-line-height-desktop);
}

[data-type="h2-text"] {
  font-size: var(--h2-font-size-desktop);
  font-weight: var(--h2-font-weight-desktop);
  line-height: var(--h2-line-height-desktop);
}

[data-type="h3-text"] {
  font-size: var(--h3-font-size-desktop);
  font-weight: var(--h3-font-weight-desktop);
  line-height: var(--h3-line-height-desktop);
}

[data-type="h4-text"] {
  font-size: var(--h4-font-size-desktop);
  font-weight: var(--h4-font-weight-desktop);
  line-height: var(--h4-line-height-desktop);
}

[data-type="h5-text"] {
  font-size: var(--h5-font-size-desktop);
  font-weight: var(--h5-font-weight-desktop);
  line-height: var(--h5-line-height-desktop);
}

[data-type="p-text"] {
  font-size: var(--p-font-size-desktop);
  font-weight: var(--p-font-weight-desktop);
  line-height: var(--p-line-height-desktop);
}

[data-type="span-text"] {
  font-size: var(--span-font-size-desktop);
  font-weight: var(--span-font-weight-desktop);
  line-height: var(--span-line-height-desktop);
}

[data-type="div-text"] {
  font-size: var(--div-font-size-desktop);
  font-weight: var(--div-font-weight-desktop);
  line-height: var(--div-line-height-desktop);
}

[data-type="small-text"] {
  font-size: var(--small-font-size-desktop);
  font-weight: var(--small-font-weight-desktop);
  line-height: var(--small-line-height-desktop);
}

[data-type="label-text"] {
  font-size: var(--label-font-size-desktop);
  font-weight: var(--label-font-weight-desktop);
  line-height: var(--label-line-height-desktop);
}

[data-type="li-text"] {
  font-size: var(--li-font-size-desktop);
  font-weight: var(--li-font-weight-desktop);
  line-height: var(--li-line-height-desktop);
}

[data-type="code-text"] {
  font-size: var(--code-font-size-desktop);
  font-weight: var(--code-font-weight-desktop);
  line-height: var(--code-line-height-desktop);
}

[data-type="blockquote-text"] {
  font-size: var(--blockquote-font-size-desktop);
  font-weight: var(--blockquote-font-weight-desktop);
  line-height: var(--blockquote-line-height-desktop);
}

@media (max-width: 1023px) {
  [data-type="h1-text"] {
    font-size: var(--h1-font-size-mobile);
    font-weight: var(--h1-font-weight-mobile);
    line-height: var(--h1-line-height-mobile);
  }

  [data-type="h2-text"] {
    font-size: var(--h2-font-size-mobile);
    font-weight: var(--h2-font-weight-mobile);
    line-height: var(--h2-line-height-mobile);
  }

  [data-type="h3-text"] {
    font-size: var(--h3-font-size-mobile);
    font-weight: var(--h3-font-weight-mobile);
    line-height: var(--h3-line-height-mobile);
  }

  [data-type="h4-text"] {
    font-size: var(--h4-font-size-mobile);
    font-weight: var(--h4-font-weight-mobile);
    line-height: var(--h4-line-height-mobile);
  }

  [data-type="h5-text"] {
    font-size: var(--h5-font-size-mobile);
    font-weight: var(--h5-font-weight-mobile);
    line-height: var(--h5-line-height-mobile);
  }

  [data-type="p-text"] {
    font-size: var(--p-font-size-mobile);
    font-weight: var(--p-font-weight-mobile);
    line-height: var(--p-line-height-mobile);
  }

  [data-type="span-text"] {
    font-size: var(--span-font-size-mobile);
    font-weight: var(--span-font-weight-mobile);
    line-height: var(--span-line-height-mobile);
  }

  [data-type="div-text"] {
    font-size: var(--div-font-size-mobile);
    font-weight: var(--div-font-weight-mobile);
    line-height: var(--div-line-height-mobile);
  }

  [data-type="small-text"] {
    font-size: var(--small-font-size-mobile);
    font-weight: var(--small-font-weight-mobile);
    line-height: var(--small-line-height-mobile);
  }

  [data-type="label-text"] {
    font-size: var(--label-font-size-mobile);
    font-weight: var(--label-font-weight-mobile);
    line-height: var(--label-line-height-mobile);
  }

  [data-type="li-text"] {
    font-size: var(--li-font-size-mobile);
    font-weight: var(--li-font-weight-mobile);
    line-height: var(--li-line-height-mobile);
  }

  [data-type="code-text"] {
    font-size: var(--code-font-size-mobile);
    font-weight: var(--code-font-weight-mobile);
    line-height: var(--code-line-height-mobile);
  }

  [data-type="blockquote-text"] {
    font-size: var(--blockquote-font-size-mobile);
    font-weight: var(--blockquote-font-weight-mobile);
    line-height: var(--blockquote-line-height-mobile);
  }
}

/* src/airprocess-static/assets/css/base-colors.css */
:root {
  /* @General - Page body */

  /* --- Background --- */
  --body-bg: #ffffff;
  --body-bg-alt: #efefef;
  
  /* --- Text --- */
  --body: #333344;
  --body-alt: #444455;

  /* @General - Primary surfaces */
  --surface-bg: #111b2d;
  --surface-border: #273852;
  --surface-shadow: 0 2rem 4rem rgba(2, 8, 20, 0.48);
  
  /* @General - Secondary surfaces */
  --surface-bg-alt: #18253a;
  --surface-border-alt: #324a6c;
  --surface-shadow-alt: 0 1.2rem 2.8rem rgba(2, 8, 20, 0.4);
 
  /* @Typography - Headings */
  --h1: #003399;
  --h2: #003399;
  --h3: #555566;
  --h4: #666677;
  --h5: #777788;

  /* @Typography - Links */
  --link: #90cbff;
  --link-hover: #b9e1ff;

  /* @Navigation - Menu items */
  
  /* --- Normal --- */
  --menu-bg: var(--button-bg-alt);
  --menu-text: var(--button-text-alt);
  --menu-border: transparent;

  /* --- Hover --- */
  --menu-bg-hover: var(--button-bg-hover-alt);
  --menu-text-hover: var(--button-text-hover-alt);
  --menu-border-hover: transparent;

  /* @Navigation - Primary buttons */

  /* --- Normal --- */
  --button-bg: linear-gradient(135deg, #ff1166 0%, #ffcc00 100%);
  --button-text: #ffffff;
  --button-border: #ffffff;
  --button-shadow: none;
  
  /* --- Hover --- */
  --button-bg-hover: #ffffff;
  --button-text-hover: #000000;
  --button-border-hover: transparent;
  --button-shadow-hover: none;

  /* @Navigation - Secondary buttons */
  
  /* --- Normal --- */
  --button-bg-alt: #ffffff;
  --button-text-alt: #003399;
  --button-border-alt: #e2e2e2;
  --button-shadow-alt: none;
  
  /* --- Hover --- */
  --button-bg-hover-alt: #ffffff;
  --button-text-hover-alt: #334455;
  --button-border-hover-alt: #003399;
  --button-shadow-hover-alt: none;
}

/* src/airprocess-static/assets/css/base-font-face.css */
/* Auto-generated by local editor font installer */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/inter-0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/inter-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/inter-2.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/inter-3.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/inter-4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/inter-5.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/inter-6.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(../webfonts/inter-0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(../webfonts/inter-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(../webfonts/inter-2.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(../webfonts/inter-3.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(../webfonts/inter-4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(../webfonts/inter-5.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(../webfonts/inter-6.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* src/airprocess-static/assets/css/base-geometry.css */
:root {
  /* @General - Web site width */
  --size-container-max: 114rem;
  --size-container-fluid: 92vw;
  --motion-speed: .45s ease;

  /* @Typography */
  --body-font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --body-font-size: 1.6rem;
  --body-font-weight: 400;
  --body-line-height: 1.6;

  /* Buttons */
  --button-font-size: 1.4rem;
  --button-font-weight: 400;
  --button-padding: 1.2rem 2rem;
  --button-border-radius: 3rem;
  --button-border-width: 0.5px;
}

/* src/airprocess-static/assets/css/base.css */
* {
  box-sizing: border-box;
  user-select: none;
}

html {
  font-size: 62.5% !important;
  scrollbar-gutter: stable;
}

html,
body {
  margin: 0;
  padding: 0;
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
  color: var(--body);
  background: var(--body-bg);
}

/* Keep viewport width stable across pages where vertical scrollbar appears/disappears. */
body {
  overflow-y: scroll;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0 0 0.8rem;
}

h1 {
  font-size: var(--h1-font-size-mobile);
  color: var(--h1);
  font-weight: var(--h1-font-weight-mobile);
  line-height: var(--h1-line-height-mobile);
}

h2 {
  font-size: var(--h2-font-size-mobile);
  color: var(--h2);
  font-weight: var(--h2-font-weight-mobile);
  line-height: var(--h2-line-height-mobile);
}

h3 {
  font-size: var(--h3-font-size-mobile);
  color: var(--h3);
  font-weight: var(--h3-font-weight-mobile);
  line-height: var(--h3-line-height-mobile);
}

h4 {
  font-size: var(--h4-font-size-mobile);
  color: var(--h4);
  font-weight: var(--h4-font-weight-mobile);
  line-height: var(--h4-line-height-mobile);
}

h5 {
  font-size: var(--h5-font-size-mobile);
  color: var(--h5);
  font-weight: var(--h5-font-weight-mobile);
  line-height: var(--h5-line-height-mobile);
}

p {
  margin: 0 0 1.6rem;
  font-size: var(--p-font-size-mobile);
  font-weight: var(--p-font-weight-mobile);
  line-height: var(--p-line-height-mobile);
  color: var(--body);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.wrap {
  width: min(var(--size-container-max), var(--size-container-fluid));
  margin: 0 auto;
}

.center {
  text-align: center;
}

.wrap-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.wrap-inline > [data-type="btn"] {
  margin: 0;
}

a:not(.btn) {
  color: var(--link);
}

a:not(.btn):hover {
  color: var(--link-hover);
}

.reveal {
  opacity: 0;
  transform: translateY(var(--space-3));
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity var(--motion-speed), transform var(--motion-speed);
}

@media (min-width: 1024px) {
  h1 {
    font-size: var(--h1-font-size-desktop);
    font-weight: var(--h1-font-weight-desktop);
    line-height: var(--h1-line-height-desktop);
  }

  h2 {
    font-size: var(--h2-font-size-desktop);
    font-weight: var(--h2-font-weight-desktop);
    line-height: var(--h2-line-height-desktop);
  }

  h3 {
    font-size: var(--h3-font-size-desktop);
    font-weight: var(--h3-font-weight-desktop);
    line-height: var(--h3-line-height-desktop);
  }

  h4 {
    font-size: var(--h4-font-size-desktop);
    font-weight: var(--h4-font-weight-desktop);
    line-height: var(--h4-line-height-desktop);
  }

  h5 {
    font-size: var(--h5-font-size-desktop);
    font-weight: var(--h5-font-weight-desktop);
    line-height: var(--h5-line-height-desktop);
  }

  p {
    font-size: var(--p-font-size-desktop);
    font-weight: var(--p-font-weight-desktop);
    line-height: var(--p-line-height-desktop);
  }
}

/* src/airprocess-static/assets/components/card/colors.css */
:root {
  /* Card */

  /* --- Surface --- */
  --card-bg: #ffffff;
  --card-bg-hover: #fdfdfd;
  --card-border: var(--menu-border);
  --card-border-hover: transparent;
  --card-shadow: 0 0 2rem #f0f0f0;

  /* --- Text --- */
  --card-title: var(--h3);
  --card-text: var(--body-alt);
  
  /* --- Link --- */
  --card-link: var(--link);
  --card-link-hover: var(--link-hover);
  
  /* --- CTA button--- */
  --card-cta-text: var(--button-text);
  --card-cta-bg: var(--button-bg);
  
  /* --- CTA button (hover) --- */
  --card-cta-text-hover: var(--button-text-hover);
  --card-cta-bg-hover: var(--button-bg-hover);
}

/* src/airprocess-static/assets/components/card/geometry.css */
:root {
  /* Card */

  /* --- Title --- */
  --card-title-font-size: var(--h3-font-size-desktop);
  --card-title-font-weight: var(--h3-font-weight-desktop);
  --card-title-margin: 1rem 0 2rem;
  
  /* --- Description --- */
  --card-description-font-size: clamp(1.4rem, calc(1.244rem + 0.347vw), 1.6rem);
  --card-description-line-height: 1.5;

  /* --- CTA --- */
  --card-cta-margin: 0;
  --card-cta-border-radius: var(--button-border-radius);
  
  /* --- Gap and padding --- */
  --card-gap: 1rem;
  --card-padding: 1rem;
  --card-content-padding: 2rem;

  /* --- Border --- */
  --card-border-width: 0.1rem;
  --card-radius: 2rem;

  /* Card mobile */
  --card-title-font-size-mobile: var(--h3-font-size-mobile);
  --card-description-font-size-mobile: var(--p-font-size-mobile);
  --card-description-line-height-mobile: var(--p-line-height-mobile);
  --card-gap-mobile: 2rem;
  --card-padding-mobile: 1rem;
}

/* src/airprocess-static/assets/components/carousel/colors.css */
:root {
  --carousel-shadow: 0 0 5rem #00000050;
  --carousel-dot: #dddddd;
  --carousel-dot-active: var(--button-bg);
}

/* src/airprocess-static/assets/components/carousel/geometry.css */
:root {
  --carousel-padding: 0rem;
  --carousel-width: 60rem;
  --carousel-height: 40rem;
  --carousel-radius: 1rem;
  --carousel-card-radius: 1rem;
  --carousel-card-padding: 0rem;
  --carousel-dots-offset: 2rem;
  --carousel-fade-duration: 1000ms;
}

/* src/airprocess-static/assets/components/comparison-carousel/geometry.css */
:root {
  /* Comparison carousel padding */
  --comparison-carousel-padding: 4rem;
  --comparison-carousel-animation-delay: 500ms;
}

/* src/airprocess-static/assets/components/comparison-table/colors.css */
:root {
  /* Comparison table */
  
  /* --- Main colors --- */
  --compare-card-bg: #ffffff;
  --compare-text: #32343a;
  --compare-card-border: #d9dbe0;
  --compare-highlight-border: var(--surface-border-strong, #71737a);
  --compare-vs-border: var(--surface-border, #d4d5d8);
  --compare-vs-bg: var(--surface-muted, #f2f2f3);
  --compare-vs-text: var(--muted, #7b7c82);
  --compare-competitor-title: var(--title, #232428);
  --compare-subtitle-text: var(--muted, #9a9ca3);
  --compare-list-item-text: var(--body-muted, #666a72);
  --compare-divider: #d7d8db;
  
  /* --- Buttons --- */
  --compare-button-bg: #f7f7f8;
  --compare-button-active-bg: #003399;
  --compare-button-text: #666a72;
  --compare-button-active-text: #ffffff;
  --compare-button-border: #d6d8de;
  --compare-button-active-shadow: #003399;

  /* --- Markers (contract) --- */
  --compare-button-text-ok: #4f7b2e;
  --compare-button-text-ko: #b34c4c;
  --compare-text-ok: var(--compare-button-text-ok);
  --compare-text-ko: var(--compare-button-text-ko);
  --compare-positive-soft: #dfe8d2;
  --compare-positive-text: #2f5e18;
  --compare-positive-icon-bg: #d6e3c6;
  --compare-positive-icon-text: var(--compare-button-text-ok);
  --compare-negative-icon-bg: #f0e4e4;
  --compare-negative-icon-text: var(--compare-button-text-ko);
}

/* src/airprocess-static/assets/components/comparison-table/geometry.css */
:root {
  /* Competitors comparison table */
  --compare-card-border-width: 0.1rem;
  --compare-card-radius: 2rem;
  --compare-card-padding: 2.4rem;
  --radius-chip-pill: 99.9rem;
}

/* src/airprocess-static/assets/components/cta-banner/colors.css */
:root {
  --cta-banner-bg: #ffffff;
  --cta-banner-text: var(--body);
  --cta-banner-border: none;
}

/* src/airprocess-static/assets/components/cta-banner/geometry.css */
:root {
  --cta-banner-radius: 2rem;
  --cta-banner-margin: 2rem 0;
  --cta-banner-padding: 1.2rem 1.2rem;
  --cta-banner-text-font-size: 2rem;
  --cta-banner-text-font-weight: 700;
}

/* src/airprocess-static/assets/components/faq/colors.css */
:root {
  /* FAQ */
  --faq-bg: transparent;
  --faq-item-bg: #f8f8f8;
  --faq-title: #003399;
  --faq-text: #333344;
}

/* src/airprocess-static/assets/components/faq/geometry.css */
:root {
  /* FAQ */
  --faq-title-font-size: clamp(1.8rem, 3.2vw, 2rem);
  --faq-title-font-weight: 700;
  --faq-text-font-size: clamp(1.4rem, 1.9vw, 1.6rem);
  --faq-text-font-weight: 400;
}

/* src/airprocess-static/assets/components/feature-animated/colors.css */
:root {
  /* Feature animated */
  --feature-animated-bg: #ffffff;
  --feature-animated-title: #1f2430;
  --feature-animated-description: #61697a;
  --feature-animated-shadow: 0 0.8rem 2.4rem #dddddd;
}

/* src/airprocess-static/assets/components/feature-animated/geometry.css */
:root {
  /* Feature animated */
  --feature-animated-border-width: 1px;
  --feature-animated-margin: 3rem;
}

/* src/airprocess-static/assets/components/feature-card/colors.css */
:root {
  /* Feature card */
  --feature-card-bg: #ffffff;
  --feature-card-border: #E5E7EB;
  --feature-card-shadow: none;
  --feature-card-title: #003399;
  --feature-card-description: #6d6d6d;
  --feature-card-link: #ff1166;
  --feature-card-link-hover: #ff8c00;
  --feature-card-icon-filter: none;
  --feature-card-tag-text: #003399;
  --feature-card-tag-bg: #dff7fd;
}

/* src/airprocess-static/assets/components/feature-card/geometry.css */
:root {
  --feature-card-title-font-size: 2rem;
  --feature-card-title-font-size-mobile: 1.7rem;
  --feature-card-description-font-size: 1.5rem;
  --feature-card-description-font-size-mobile: 1.2rem;
  --feature-card-link-font-size: 1.5rem;
  --feature-card-link-font-size-mobile: 1.2rem;
  --feature-card-link-font-weight: 700;
  --feature-card-link-row-margin-top: auto;
}

/* src/airprocess-static/assets/components/feature-table/colors.css */
:root {
  --feature-table-bg: var(--surface-bg);
  --feature-table-surface: var(--surface-bg);
  --feature-table-border: var(--surface-border);
  --feature-table-header-bg: var(--surface-bg-alt);
  --feature-table-header-text: var(--h4);
}

/* src/airprocess-static/assets/components/feature-table/geometry.css */
:root {
  --feature-table-padding: 4rem 0;
  --feature-table-radius: 1.2rem;
  --feature-table-cell-padding: 1.2rem 1.3rem;
}

/* src/airprocess-static/assets/components/footer-rich/colors.css */
:root {
  --footer-rich-bg: var(--surface-bg);
  --footer-rich-text: var(--body);
  --footer-rich-border: var(--surface-border);
  --footer-rich-link: var(--link);
  --footer-rich-link-hover: var(--link-hover);
  --footer-rich-input-bg: var(--surface-bg-alt);
  --footer-rich-input-text: var(--body);
  --footer-rich-input-border: var(--surface-border-alt);
}

/* src/airprocess-static/assets/components/footer-rich/geometry.css */
:root {
  --footer-rich-padding: 4.4rem 0 2.8rem;
  --footer-rich-gap: 2.2rem;
  --footer-rich-input-radius: 0.8rem;
}

/* src/airprocess-static/assets/components/footer/colors.css */
:root {
  /* Footer */
  --footer-bg: #f5f9ff;
  --footer-border: #d4e1f3;

  /* --- Footer text and links --- */
  --footer-category-title: var(--footer-text);
  --footer-link: #000000;
  --footer-link-hover: #5285ac;
  --footer-text: #003493;
}

/* src/airprocess-static/assets/components/footer/geometry.css */
:root {
  /* Footer */
  --footer-min-height: 55rem;
  --footer-padding: 5rem 0;
  --footer-logo-height: 5rem;

  /* --- Footer gaps --- */
  --footer-gap: 4rem;
  --footer-logo-gap: 6rem;

  /* --- Footer links --- */
  --footer-category-font-size: 1.6rem;
  --footer-font-size: 1.2rem;
  --footer-category-font-weight: 600;
  --footer-category-margin: 0 0 3rem;
}

/* src/airprocess-static/assets/components/hero-pack/colors.css */
:root {
  --hero-pack-bg: var(--body-bg);
  --hero-pack-text: var(--body);
  --hero-pack-title: var(--h1);
  --hero-pack-eyebrow: var(--link);
  --hero-pack-media-border: var(--surface-border);
  --hero-pack-media-shadow: var(--surface-shadow);
}

/* src/airprocess-static/assets/components/hero-pack/geometry.css */
:root {
  --hero-pack-padding: 7rem 0;
  --hero-pack-gap: 2.4rem;
  --hero-pack-title-font-size: clamp(3.4rem, 2.2vw, 5rem);
  --hero-pack-title-font-weight: 900;
  --hero-pack-subtitle-font-size: 1.9rem;
  --hero-pack-subtitle-line-height: 1.5;
  --hero-pack-media-radius: 1.4rem;
  --hero-pack-media-border-width: 1px;
}

/* src/airprocess-static/assets/components/hero/colors.css */
:root {
  /* Hero */

  /* --- Background --- */
  --hero-bg: #ffffff;
  --hero-eyebrow-bg: #e6f1fb;
  --hero-eyebrow-dot: #003399;

  /* --- Texts --- */
  --hero-title: #003399;
  --hero-text: #333333;

  /* --- Image --- */
  --hero-image-border: rgba(0, 51, 153, 0.13);
  --hero-image-shadow: none;
}

/* src/airprocess-static/assets/components/hero/geometry.css */
:root {
    /* Hero */
    
    /* --- Title --- */
    --hero-title-font-size: var(--h1-font-size-desktop);
    --hero-title-font-weight: var(--h1-font-weight-desktop);
    --hero-title-line-height: var(--h1-line-height-desktop);
    
    /* --- Gap & Padding --- */
    --hero-padding: 5vw 0 1vw 0;
    --hero-eyebrow-padding: 0.5vw 1vw;
    --hero-title-margin: 4rem 0 4rem 0;
    
    /* --- Description --- */
    --hero-description-font-size: clamp(1.6rem, calc(1.244rem + 0.347vw), 1.8rem);
    --hero-description-line-height: 1.5;
    
    /* --- CTA --- */
    --hero-cta-margin: 4rem 0 4rem 0;
    --hero-cta-border-radius: 3rem;
    
    /* --- Screenshot --- */
    --hero-image-max-width: 60vw;
    --hero-image-ratio: 16/9;
    --hero-image-radius: 1rem;
    --hero-image-border-width: 1px;
    
    /* Hero mobile */
    --hero-title-font-size-mobile: var(--h1-font-size-mobile);
    --hero-description-font-size-mobile: var(--p-font-size-mobile);
    --hero-description-line-height-mobile: var(--p-line-height-mobile);
    --hero-gap-mobile: 2rem;
    --hero-padding-mobile: 10rem 0;
}

/* src/airprocess-static/assets/components/image-marquee/colors.css */
:root {
  /* Image-marquee */
  --image-marquee-bg: transparent;
  --image-marquee-border: transparent;
}

/* src/airprocess-static/assets/components/image-marquee/geometry.css */
:root {
  /* Image marquee */
  --image-marquee-radius: 1rem;
  --logo-marquee-height: 8rem;
  --logo-marquee-height-mobile: 4rem;
}

@media (max-width: 90rem) {
  :root {
    --logo-marquee-height: var(--logo-marquee-height-mobile);
  }
}

/* src/airprocess-static/assets/components/kpi-metrics/colors.css */
:root {
  /* KPI metrics */
  --kpi-metrics-bg: #003399;
  --kpi-metrics-value-color: #ffffff;
  --kpi-metrics-label-color: #dddddd;
}

/* src/airprocess-static/assets/components/kpi-metrics/geometry.css */
:root {
  --kpi-metrics-padding: 5rem;
  --kpi-metrics-gap: 4rem;
  --kpi-metrics-value-font-size: 4rem;
  --kpi-metrics-value-font-size-mobile: 3.2rem;
  --kpi-metrics-value-font-weight: 700;
  --kpi-metrics-value-margin-bottom: 2rem;
  --kpi-metrics-label-font-size: 1.5rem;
  --kpi-metrics-label-font-size-mobile: 1.2rem;
}

/* src/airprocess-static/assets/components/lang-switch/colors.css */
:root {
  /* Lang switch */
  --lang-switch-bg: transparent;
  --lang-switch-text: #ffffff;
  --lang-switch-text-active: #ffffff;
  --lang-switch-trigger-bg: transparent;
  --lang-switch-trigger-text: var(--menu-item);
  --lang-switch-trigger-border: var(--menu-border);
  --lang-switch-overlay-bg: #003399;
  --lang-switch-panel-bg: transparent;
  --lang-switch-panel-border: transparent;
  --lang-switch-panel-shadow: none;
  --lang-switch-option-active-bg: transparent;
  --lang-switch-option-active-border: var(--menu-border);
}

/* src/airprocess-static/assets/components/logo-cloud/colors.css */
:root {
  --logo-cloud-bg: var(--surface-bg);
  --logo-cloud-item-bg: var(--surface-bg-alt);
  --logo-cloud-item-border: var(--surface-border);
}

/* src/airprocess-static/assets/components/logo-cloud/geometry.css */
:root {
  --logo-cloud-padding: 4rem 0;
  --logo-cloud-gap: 1rem;
  --logo-cloud-item-radius: 1rem;
}

/* src/airprocess-static/assets/components/navbar-rich/colors.css */
:root {
  --navbar-rich-bg: #ffffff;
  --navbar-rich-border: var(--surface-border);
  --navbar-rich-shadow: var(--surface-shadow-alt);
  --navbar-rich-brand: var(--body);
  --navbar-rich-menu-bg: var(--button-bg-alt);
  --navbar-rich-menu-text: var(--button-text-alt);
  --navbar-rich-menu-border: var(--button-border-alt);
  --navbar-rich-panel-bg: var(--surface-bg);
  --navbar-rich-panel-border: var(--surface-border);
  --navbar-rich-panel-shadow: var(--surface-shadow);
  --navbar-rich-mobile-bg: var(--surface-bg-alt);
}

/* src/airprocess-static/assets/components/navbar-rich/geometry.css */
:root {
  --navbar-rich-height: 7.4rem;
  --navbar-rich-gap: 1rem;
  --navbar-rich-menu-radius: 999rem;
}

/* src/airprocess-static/assets/components/navbar/colors.css */
:root {
  /* Navbar */

  /* --- Menu --- */
  --navbar-bg: #ffffff;
  --navbar-border: #f5f5f6;
  --navbar-shadow: none;
  
  /* --- Menu items --- */
  --navbar-menu-bg: #ffffff;
  --navbar-menu-bg-hover: #ffffff;
  --navbar-menu-text: #6b6b6b;
  --navbar-menu-text-active: #003399;
  --navbar-menu-text-hover: #000000;
  --navbar-menu-border: var(--menu-border);
  --navbar-menu-border-hover: transparent;
  --navbar-submenu-bg: #ffffff;
  --navbar-submenu-border: #f4f5f7;
  --navbar-submenu-shadow: 0 0.5rem 0.5rem #99aabb50;
  --navbar-mobile-fullscreen-bg: #ffffff;

  /* --- Brand name --- */
  --brand: #334455;
  --brand-shadow: none;
}

/* src/airprocess-static/assets/components/navbar/geometry.css */
:root {
  /* Navbar */
  --navbar-height: 8rem;
  --navbar-container-max: 100vw;
  --navbar-container-fluid: 96vw;
  --navbar-menu-padding: 0.3rem 1.3rem;
  --navbar-menu-border-radius: 3rem;
  --navbar-submenu-border-radius: 2rem;
  --navbar-menu-gap: 1rem;
  --navbar-menu-font-weight: 500;
  --navbar-menu-text-active-font-weight: var(--navbar-menu-font-weight);

  /* --- Logo --- */
  --logo-height: 5rem;
  --logo-margin: 0;

  /* --- Brand name --- */
  --brand-font-size: 2rem;
  --brand-font-weight: 700;
}

/* src/airprocess-static/assets/components/pricing-plan/colors.css */
:root {
  /* Pricing plan */
  
  /* --- Text --- */
  --pricing-plan-title: #ffffff85;
  --pricing-plan-text: #ffffff;
  --pricing-plan-border: var(--card-border);
  --pricing-plan-shadow: var(--card-shadow);

  /* --- CTA button--- */
  --pricing-plan-cta-bg: #00000050;
  --pricing-plan-cta-text: var(--card-cta-text);
  --pricing-plan-cta-border: #ffffff85;

  /* --- CTA button (hover) --- */
  --pricing-plan-cta-bg-hover: #00000085;
  --pricing-plan-cta-text-hover: #ffffff;
  --pricing-plan-cta-border-hover: #ffffff;
}

/* src/airprocess-static/assets/components/pricing-table/colors.css */
:root {
  /* Pricing table */
  
  /* --- Table --- */
  --pricing-table-bg: transparent;
  --pricing-table-shadow: none;
  
  /* --- Switch --- */
  --pricing-table-switch-bg: var(--button-bg-alt);
  --pricing-table-switch-active-bg: var(--button-bg);
  --pricing-table-switch-text: var(--button-text-alt);
}

/* src/airprocess-static/assets/components/pricing-table/geometry.css */
:root {
  /* Pricing table typography */
  --pricing-table-title-font-size: 2.4rem;
  --pricing-table-title-font-weight: 600;
  --pricing-table-options-font-size: 1.4rem;
  --pricing-table-price-font-size: 3rem;
  --pricing-table-price-font-weight: 900;
  --pricing-table-cta-font-size: 1.4rem;
}

/* src/airprocess-static/assets/components/process-steps/colors.css */
:root {
  /* Process Steps */
  --process-steps-bg: transparent;
  --process-steps-line-color: #d7dce5;
  --process-steps-marker-bg: #003399;
  --process-steps-marker-color: #ffffff;
  --process-steps-title-color: #0f172a;
  --process-steps-text-color: #6b7280;
}

/* src/airprocess-static/assets/components/process-steps/geometry.css */
:root {
  /* Process Steps */
  --process-steps-padding: 2rem 0;
  --process-steps-max-width: 72rem;
  --process-steps-gap: 1.75rem;
  --process-steps-column-gap: 2rem;
  --process-steps-item-min-height: 13rem;
  --process-steps-marker-size: 7rem;
  --process-steps-line-width: 2px;
  --process-steps-marker-font-size: 1.8rem;
  --process-steps-marker-font-weight: 700;
  --process-steps-title-size: 2rem;
  --process-steps-title-line-height: 1.3;
  --process-steps-text-size: 1.6rem;
  --process-steps-text-line-height: 1.6;
  --process-steps-text-margin-top: 0.5rem;
}

/* src/airprocess-static/assets/components/proof/colors.css */
:root {
  /* Proof */
  --proof-bg: var(--surface-bg);
  --proof-item-bg: var(--surface-bg-alt);
  --proof-title: var(--h2);
  --proof-text: var(--body);
}

/* src/airprocess-static/assets/components/proof/geometry.css */
:root {
  /* Proof */
  --proof-margin: 0;
  --proof-padding: 3.2rem;
  --proof-title-font-size: var(--h3-font-size-desktop);
  --proof-title-font-weight: var(--h3-font-weight-desktop);
  --proof-text-font-size: var(--p-font-size-desktop);
  --proof-text-font-weight: var(--p-font-weight-desktop);
}

/* src/airprocess-static/assets/components/showcase-reel-images/colors.css */
:root {
  /* Showcase Reel Images */
  --showcase-reel-images-tab-bg: #ffffff;
  --showcase-reel-images-tab-text: #1c3473;
  --showcase-reel-images-tab-border: #003399;
  --showcase-reel-images-tab-border-hover: #00aaee;
  --showcase-reel-images-tab-text-hover: #00aaee;
  --showcase-reel-images-tab-active-start: #ff2e6d;
  --showcase-reel-images-tab-active-end: #f4b233;
  --showcase-reel-images-tab-active-text: #ffffff;
  --showcase-reel-images-tab-focus: #2d5fd5;
  --showcase-reel-images-stage-bg: #003399;
  --showcase-reel-images-stage-border: #d9dce3;
}

/* src/airprocess-static/assets/components/showcase-reel-images/geometry.css */
:root {
  /* Showcase Reel Images */
  --showcase-reel-images-screen-width: 1080px;
  --showcase-reel-images-screen-height: 610px;
  --showcase-reel-images-screen-ratio: 1080 / 610;
  --showcase-reel-images-tabs-gap: 2rem;
  --showcase-reel-images-tabs-margin-bottom: 2.4rem;
  --showcase-reel-images-tab-border-width: 1px;
  --showcase-reel-images-tab-radius: 999rem;
  --showcase-reel-images-tab-padding: 0.8rem 2.6rem;
  --showcase-reel-images-tab-font-size: 1.2rem;
  --showcase-reel-images-tab-min-width: 13.6rem;
  --showcase-reel-images-stage-radius: 2rem;
  --showcase-reel-images-stage-border-width: 1px;
  --showcase-reel-images-stage-min-height: 58rem;
  --showcase-reel-images-stage-padding: 2rem;
  --showcase-reel-images-media-min-height: 50rem;
  --showcase-reel-images-media-radius: 1rem;
}

/* src/airprocess-static/assets/components/showcase-reel-lottie/colors.css */
:root {
  /* Showcase Reel Lottie */
  --showcase-reel-lottie-tab-bg: #ffffff;
  --showcase-reel-lottie-tab-text: #1c3473;
  --showcase-reel-lottie-tab-border: #3553a4;
  --showcase-reel-lottie-tab-border-hover: #b2c2e7;
  --showcase-reel-lottie-tab-text-hover: #5f7dc1;
  --showcase-reel-lottie-tab-active-start: #ff2e6d;
  --showcase-reel-lottie-tab-active-end: #f4b233;
  --showcase-reel-lottie-tab-active-text: #ffffff;
  --showcase-reel-lottie-tab-focus: #2d5fd5;
  --showcase-reel-lottie-stage-bg: none;
  --showcase-reel-lottie-stage-border: none;
}

/* src/airprocess-static/assets/components/showcase-reel-lottie/geometry.css */
:root {
  /* Showcase Reel Lottie */
  --showcase-reel-lottie-tabs-gap: 2rem;
  --showcase-reel-lottie-tabs-margin-bottom: 2.4rem;
  --showcase-reel-lottie-tab-border-width: 0.1rem;
  --showcase-reel-lottie-tab-radius: 999rem;
  --showcase-reel-lottie-tab-padding: 0.8rem 2.6rem;
  --showcase-reel-lottie-tab-font-size: 1.5rem;
  --showcase-reel-lottie-tab-min-width: 13.6rem;
  --showcase-reel-lottie-stage-radius: 5rem;
  --showcase-reel-lottie-stage-border-width: 0.1rem;
  --showcase-reel-lottie-stage-min-height: 15rem;
  --showcase-reel-lottie-stage-padding: 2rem;
  --showcase-reel-lottie-player-min-height: 10rem;
}

/* src/airprocess-static/assets/components/showcase-reel/colors.css */
:root {
  /* Showcase Reel */
  --showcase-reel-tab-text: #1c3473;
  --showcase-reel-tab-bg: #ffffff;
  --showcase-reel-tab-border: #3553a4;
  --showcase-reel-tab-active-text: #ffffff;
  --showcase-reel-tab-active-bg-start: #003399;
  --showcase-reel-tab-active-bg-end: #003399;
  --showcase-reel-tab-active-border: transparent;
}

/* src/airprocess-static/assets/components/showcase-reel/geometry.css */
:root {
  /* --- Media --- */
  --showcase-reel-screen-width: 1080px;
  --showcase-reel-screen-height: 610px;
  --showcase-reel-screen-ratio: 1080 / 610;

  /* --- Tabs --- */
  --showcase-reel-tabs-gap: 2rem;
  --showcase-reel-tabs-margin-bottom: 2.4rem;
  --showcase-reel-tab-padding: 0.8rem 2.6rem;
  --showcase-reel-tab-border-width: 2px;
  --showcase-reel-tab-radius: 999rem;

  /* --- Fonts --- */
  --showcase-reel-tab-font-size: 1.2rem;
  --showcase-reel-tab-font-weight: 400;
  --showcase-reel-prompt-font-size: 1.8rem;
  --showcase-reel-prompt-font-weight: 400;
}

/* src/airprocess-static/assets/components/spacer/geometry.css */
:root {
  /* Spacer */
  --spacer-gap: 8rem;
}

/* src/airprocess-static/assets/components/stats-band/colors.css */
:root {
  --stats-band-bg: var(--surface-bg);
  --stats-band-item-bg: var(--surface-bg-alt);
  --stats-band-item-border: var(--surface-border);
  --stats-band-value-color: var(--h2);
}

/* src/airprocess-static/assets/components/stats-band/geometry.css */
:root {
  --stats-band-padding: 4rem 0;
  --stats-band-gap: 1rem;
  --stats-band-item-radius: 1rem;
  --stats-band-item-padding: 1.2rem;
  --stats-band-value-font-size: 3rem;
  --stats-band-value-font-weight: 800;
}

/* src/airprocess-static/assets/components/steps-timeline/colors.css */
:root {
  --steps-bg: var(--surface-bg);
  --steps-item-bg: var(--surface-bg-alt);
  --steps-item-border: var(--surface-border);
  --steps-step-color: var(--link);
}

/* src/airprocess-static/assets/components/steps-timeline/geometry.css */
:root {
  --steps-padding: 5rem 0;
  --steps-gap: 1.2rem;
  --steps-item-radius: 1rem;
  --steps-item-padding: 1.4rem;
  --steps-step-font-size: 1.2rem;
  --steps-label-font-size: 2rem;
}

/* src/airprocess-static/assets/components/strip-join/colors.css */
:root {
  /* Strip Join */
  --strip-join-bar-color: color-mix(in srgb, var(--border-subtle, #d8deeb) 90%, white);
}

/* src/airprocess-static/assets/components/strip-join/geometry.css */
:root {
  /* Strip Join */
  --strip-join-bar-height: 1px;
  --strip-join-bar-width: min(100%, 80rem);
  --strip-join-bar-gap-y: clamp(2.5rem, 5vw, 4rem);
  --strip-join-bar-radius: 999px;
  --strip-join-bar-padding-x: clamp(2rem, 4vw, 3rem);
}

/* src/airprocess-static/assets/components/strip-title/colors.css */
:root {
  --strip-title-eyebrow-color: #333344;
  --strip-title-heading-color: #003399;
  --strip-title-text-color: #333344;
}

/* src/airprocess-static/assets/components/strip-title/geometry.css */
:root {
  /* --- Spacing --- */
  --strip-title-margin-top: 0rem;
  --strip-title-eyebrow-gap: 2rem;
  --strip-title-gap: 2rem;
  --strip-title-margin-bottom: 3rem;

  /* --- Eyebrow --- */
  --strip-title-eyebrow-font-size: 1.2rem;
  --strip-title-eyebrow-line-height: 1.5rem;

  /* --- Title --- */
  --strip-title-heading-font-size: var(--h2-font-size-desktop);
  --strip-title-heading-line-height: var(--h2-line-height-desktop);

  /* --- Text --- */
  --strip-title-text-font-size: var(--p-font-size-desktop);
  --strip-title-text-line-height: var(--p-line-height-desktop);
}

/* src/airprocess-static/assets/components/strip/colors.css */
:root {
  /* Strips */
  
  /* --- Standard style --- */
  --strip-bg: var(--body-bg);
  --strip-title: var(--h2);
  --strip-text: var(--body);
  --strip-link: #003399;
  --strip-link-hover: #00aaee;
  --strip-frame-image-bg: #ffffff;
  --strip-frame-border: #00339920;
  --strip-frame-shadow: 0 0 10rem #ddeeff;

  /* --- Alternate style --- */
  --strip-bg-alt: #ffffff;
  --strip-title-alt: var(--h2);
  --strip-text-alt: var(--body-alt);
  --strip-link-alt: #003399;
  --strip-link-hover-alt: #00aaee;
  --strip-frame-image-bg-alt: var(--body-bg);
  --strip-frame-border-alt: #00339920;
  --strip-frame-shadow-alt: 0 0 10rem #ddeeff;
}

/* src/airprocess-static/assets/components/strip/geometry-strip-lr.css */
:root {
  /* Strips - Left/Right */
  --strip-lr-padding: 3vw 0;
  --strip-lr-gap: 3vw;
  --strip-lr-gap-mobile: 2.4rem;

  /* --- Title --- */
  --strip-lr-title-font-size: clamp(3.2rem, 3.125vw, 4rem);
  --strip-lr-title-font-weight: 800;

  /* --- Description --- */
  --strip-lr-description-font-size: var(--p-font-size-desktop);
  --strip-lr-description-font-weight: 400;
  --strip-lr-description-line-height: 1.5;
  --strip-lr-description-margin: 2rem 0 0;

  /* --- Link --- */
  --strip-lr-link-font-size: var(--p-font-size-desktop);
  --strip-lr-link-font-weight: 600;
  --strip-lr-link-margin: 4rem 0 0;

  /* --- Image --- */
  --strip-lr-image-border-width: 1px;
  --strip-lr-image-radius: 1rem;
  --strip-lr-frame-width: 600;
  --strip-lr-frame-height: 400;
  --strip-lr-frame-padding: 0rem;
}

/* src/airprocess-static/assets/components/strip/geometry-strip-v.css */
:root {
  /* Strips - Vertical */
  --strip-v-padding: 1vw 0;
  --strip-v-gap: 2vw;

  /* --- Title --- */
  --strip-v-title-font-size: var(--h2-font-size-desktop);
  --strip-v-title-font-weight: 800;

  /* --- Description --- */
  --strip-v-description-font-size: var(--p-font-size-desktop);
  --strip-v-description-font-weight: var(--p-font-weight-desktop);
  --strip-v-description-line-height: var(--p-line-height-desktop);
  --strip-v-description-margin: 5rem 0 0;

  /* --- Link --- */
  --strip-v-link-font-size: clamp(1.4rem, calc(1.244rem + 0.347vw), 1.6rem);
  --strip-v-link-font-weight: 600;
  --strip-v-link-margin: 4rem 0 0;

  /* --- Image --- */
  --strip-v-image-border-width: 1px;
  --strip-v-image-radius: 1rem;
  --strip-v-frame-ratio: 16 / 9;
}

/* src/airprocess-static/assets/components/strip/geometry.css */
:root {
  /* Strips - Shared */
  --strip-border-width: 0;
}

/* src/airprocess-static/assets/components/template-grid/colors.css */
:root {
  /* Template Grid */
  --template-grid-card-bg: #ffffff;
  --template-grid-card-border: #d7deee;
  --template-grid-card-shadow: none;
  --template-grid-top-bg: #ff0000;
  --template-grid-icon-wrap-bg: #ffffff;
  --template-grid-icon-wrap-shadow: none;
  --template-grid-title-color: #0b3a97;
  --template-grid-text-color: #5674ae;
  --template-grid-tag-bg: #edf1ff;
  --template-grid-tag-color: #0b3a97;
}

/* src/airprocess-static/assets/components/template-grid/geometry.css */
:root {
  /* Template Grid */
  --template-grid-margin-top: 2rem;
  --template-grid-columns: repeat(4, minmax(0, 1fr));
  --template-grid-gap: 2rem;
  --template-grid-card-radius: 1rem;
  --template-grid-card-border-width: 0.1rem;
  --template-grid-card-min-height: 24rem;
  --template-grid-top-height: 10rem;
  --template-grid-icon-wrap-size: 5rem;
  --template-grid-icon-wrap-radius: 1rem;
  --template-grid-icon-size: 2.5rem;
  --template-grid-body-padding: 1.7rem 1.5rem 1.6rem;
  --template-grid-title-size: 1.8rem;
  --template-grid-title-line-height: 2.5rem;
  --template-grid-text-size: 1.3rem;
  --template-grid-text-line-height: 1.3;
  --template-grid-text-margin-top: 2rem;
  --template-grid-tags-padding-top: 2rem;
  --template-grid-tags-gap: 0.5rem;
  --template-grid-tag-radius: 999rem;
  --template-grid-tag-padding: 0.5rem 0.8rem;
  --template-grid-tag-size: 1.2rem;
  --template-grid-tablet-columns: 1fr 1fr;
  --template-grid-mobile-columns: 1fr;
}

/* src/airprocess-static/assets/components/testimonials/colors.css */
:root {
  --testimonials-bg: transparent;
  --testimonials-text: var(--body);
  --testimonials-control-bg: var(--button-bg-alt);
  --testimonials-control-text: var(--button-text-alt);
  --testimonials-control-border: var(--surface-border);
  --testimonial-card-bg: #fbfbfc;
  --testimonial-card-border: #e6e9ec;
  --testimonial-stars: #f1b514;
  --testimonial-quote-text: var(--body);
  --testimonial-author-text: var(--heading);
  --testimonial-role-text: color-mix(in srgb, var(--body), white 35%);
  --testimonial-avatar-bg: #1f3f8f;
  --testimonial-avatar-text: #ffffff;
}

/* src/airprocess-static/assets/components/testimonials/geometry.css */
:root {
  --testimonials-padding: 0rem;
  --testimonials-gap: 2rem;
  --testimonials-marquee-duration: 55s;
  --testimonial-card-radius: 2rem;
  --testimonial-card-border-width: 1px;
  --testimonial-card-padding: 2.4rem;
  --testimonial-stars-size: 2rem;
  --testimonial-quote-font-size: 2rem;
  --testimonial-quote-line-height: 1.5;
  --testimonial-avatar-size: 3.6rem;
  --testimonial-avatar-font-size: 1.5rem;
  --testimonial-author-font-size: 1.5rem;
  --testimonial-author-font-weight: 700;
  --testimonial-role-font-size: 1.2rem;
}

/* src/airprocess-static/assets/components/text/geometry-blockquote-text.css */
:root {
  /* @Typography - Blockquote */
  --blockquote-text-font-size-desktop: var(--p-font-size-desktop);
  --blockquote-text-font-size-mobile: var(--p-font-size-mobile);
  --blockquote-text-font-weight-desktop: var(--p-font-weight-desktop);
  --blockquote-text-font-weight-mobile: var(--p-font-weight-mobile);
  --blockquote-text-line-height-desktop: var(--p-line-height-desktop);
  --blockquote-text-line-height-mobile: var(--p-line-height-mobile);
}

/* src/airprocess-static/assets/components/text/geometry-code-text.css */
:root {
  /* @Typography - Code */
  --code-text-font-size-desktop: var(--p-font-size-desktop);
  --code-text-font-size-mobile: var(--p-font-size-mobile);
  --code-text-font-weight-desktop: var(--p-font-weight-desktop);
  --code-text-font-weight-mobile: var(--p-font-weight-mobile);
  --code-text-line-height-desktop: var(--p-line-height-desktop);
  --code-text-line-height-mobile: var(--p-line-height-mobile);
}

/* src/airprocess-static/assets/components/text/geometry-div-text.css */
:root {
  /* @Typography - Div */
  --div-text-font-size-desktop: var(--p-font-size-desktop);
  --div-text-font-size-mobile: var(--p-font-size-mobile);
  --div-text-font-weight-desktop: var(--p-font-weight-desktop);
  --div-text-font-weight-mobile: var(--p-font-weight-mobile);
  --div-text-line-height-desktop: var(--p-line-height-desktop);
  --div-text-line-height-mobile: var(--p-line-height-mobile);
}

/* src/airprocess-static/assets/components/text/geometry-h1-text.css */
:root {
  /* @Typography - H1 */
  --h1-font-size-desktop: clamp(4rem, calc(0.444rem + 3.472vw), 6rem);
  --h1-font-size-mobile: 4rem;
  --h1-font-weight-desktop: 900;
  --h1-font-weight-mobile: 900;
  --h1-line-height-desktop: 1.2;
  --h1-line-height-mobile: 1.1;
}

/* src/airprocess-static/assets/components/text/geometry-h2-text.css */
:root {
  /* @Typography - H2 */
  --h2-font-size-desktop: clamp(3.2rem, calc(0rem + 3.125vw), 4rem);
  --h2-font-size-mobile: 3.2rem;
  --h2-font-weight-desktop: 800;
  --h2-font-weight-mobile: 700;
  --h2-line-height-desktop: 1;
  --h2-line-height-mobile: 1.15;
}

/* src/airprocess-static/assets/components/text/geometry-h3-text.css */
:root {
  /* @Typography - H3 */
  --h3-font-size-desktop: clamp(2.2rem, calc(2.044rem + 0.347vw), 2.4rem);
  --h3-font-size-mobile: 2.4rem;
  --h3-font-weight-desktop: 600;
  --h3-font-weight-mobile: 500;
  --h3-line-height-desktop: 1;
  --h3-line-height-mobile: 1.2;
}

/* src/airprocess-static/assets/components/text/geometry-h4-text.css */
:root {
  /* @Typography - H4 */
  --h4-font-size-desktop: clamp(2rem, calc(1.289rem + 0.694vw), 2.2rem);
  --h4-font-size-mobile: 2rem;
  --h4-font-weight-desktop: 500;
  --h4-font-weight-mobile: 500;
  --h4-line-height-desktop: 1.2;
  --h4-line-height-mobile: 1.2;
}

/* src/airprocess-static/assets/components/text/geometry-h5-text.css */
:root {
  /* @Typography - H5 */
  --h5-font-size-desktop: clamp(1.8rem, calc(1.444rem + 0.347vw), 2rem);
  --h5-font-size-mobile: 1.8rem;
  --h5-font-weight-desktop: 500;
  --h5-font-weight-mobile: 500;
  --h5-line-height-desktop: 1.2;
  --h5-line-height-mobile: 1.2;
}

/* src/airprocess-static/assets/components/text/geometry-label-text.css */
:root {
  /* @Typography - Label */
  --label-text-font-size-desktop: var(--p-font-size-desktop);
  --label-text-font-size-mobile: var(--p-font-size-mobile);
  --label-text-font-weight-desktop: var(--p-font-weight-desktop);
  --label-text-font-weight-mobile: var(--p-font-weight-mobile);
  --label-text-line-height-desktop: var(--p-line-height-desktop);
  --label-text-line-height-mobile: var(--p-line-height-mobile);
}

/* src/airprocess-static/assets/components/text/geometry-li-text.css */
:root {
  /* @Typography - Li */
  --li-text-font-size-desktop: var(--p-font-size-desktop);
  --li-text-font-size-mobile: var(--p-font-size-mobile);
  --li-text-font-weight-desktop: var(--p-font-weight-desktop);
  --li-text-font-weight-mobile: var(--p-font-weight-mobile);
  --li-text-line-height-desktop: var(--p-line-height-desktop);
  --li-text-line-height-mobile: var(--p-line-height-mobile);
}

/* src/airprocess-static/assets/components/text/geometry-p-text.css */
:root {
  /* @Typography - P */
  --p-font-size-desktop: clamp(1.6rem, calc(1.244rem + 0.347vw), 1.8rem);
  --p-font-size-mobile: 1.6rem;
  --p-font-weight-desktop: 400;
  --p-font-weight-mobile: 400;
  --p-line-height-desktop: 1.5;
  --p-line-height-mobile: 1.5;
}

/* src/airprocess-static/assets/components/text/geometry-small-text.css */
:root {
  /* @Typography - Small */
  --small-text-font-size-desktop: calc(var(--p-font-size-desktop) * 0.85);
  --small-text-font-size-mobile: calc(var(--p-font-size-mobile) * 0.85);
  --small-text-font-weight-desktop: var(--p-font-weight-desktop);
  --small-text-font-weight-mobile: var(--p-font-weight-mobile);
  --small-text-line-height-desktop: var(--p-line-height-desktop);
  --small-text-line-height-mobile: var(--p-line-height-mobile);
}

/* src/airprocess-static/assets/components/text/geometry-span-text.css */
:root {
  /* @Typography - Span */
  --span-text-font-size-desktop: var(--p-font-size-desktop);
  --span-text-font-size-mobile: var(--p-font-size-mobile);
  --span-text-font-weight-desktop: var(--p-font-weight-desktop);
  --span-text-font-weight-mobile: var(--p-font-weight-mobile);
  --span-text-line-height-desktop: var(--p-line-height-desktop);
  --span-text-line-height-mobile: var(--p-line-height-mobile);
}

/* src/airprocess-static/pages/pages.css */
.text-highlight {
  background: linear-gradient(90deg, #ff1166, #ffcc00);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.text-mini {
  font-size: 1.2rem;
  text-align: center;
  color: #999999;
}

.no-image-border > * {
  border: none;
}
