.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  min-height: var(--control-h-md);
  padding: 0 22px;
  border: var(--border-width-button) solid transparent;
  border-radius: var(--radius-pill);
  background-color: transparent;
  font-family: var(--font-family);
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  letter-spacing: var(--ls-button);
  font-weight: var(--fw-button);
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--dur-fast) ease, color var(--dur-fast) ease,
    border-color var(--dur-fast) ease;
}

.btn--lg {
  min-height: var(--control-h-lg);
  padding-inline: var(--space-32);
  font-size: var(--fs-button-lg);
  line-height: var(--lh-button-lg);
  letter-spacing: var(--ls-button-lg);
}

.btn--block { width: 100%; }
.btn--fluid {
  max-width: 100%;
  white-space: normal;
}
@media (max-width: 767px) {
  .btn--fluid { padding-inline: var(--space-20); }
}

.btn--primary {
  background-color: var(--color-cta);
  color: var(--color-text);
}

.btn--secondary {
  border-width: var(--sec-border-w);
  border-color: var(--sec-border);
  color: var(--sec-fg);
}

.btn--outline {
  border-color: var(--color-text);
  color: var(--color-text);
}

.btn--tertiary {
  background-color: var(--tert-bg);
  color: var(--tert-fg);
}

.btn--ghost {
  min-height: 36px;
  padding: var(--space-8) 0;
  border: 0;
  border-radius: 0;
  color: var(--fg-accent);
  text-decoration-thickness: var(--border-width-button);
  text-underline-offset: 6px;
}

@media (hover: hover) {
  .btn--primary:hover { background-color: var(--color-cta-hover); }
  .btn--secondary:hover {
    border-color: var(--sec-hover-border);
    background-color: var(--sec-hover-bg);
    color: var(--sec-hover-fg);
  }
  .btn--outline:hover {
    border-color: var(--color-accent-bright);
    background-color: var(--color-accent-wash);
    color: var(--color-accent);
  }
  .btn--tertiary:hover {
    background-color: var(--tert-hover-bg);
    color: var(--tert-hover-fg);
  }
  .btn--ghost:hover { text-decoration-line: underline; }
}

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  letter-spacing: var(--ls-button);
  font-weight: var(--fw-button);
  color: var(--fg-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.link-arrow::after {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: url('../assets/icons/arrow-right.svg') center / contain no-repeat;
  mask: url('../assets/icons/arrow-right.svg') center / contain no-repeat;
  transition: transform var(--dur-fast) ease;
}
@media (hover: hover) {
  .link-arrow:hover { text-decoration-line: underline; }
  .link-arrow:hover::after { transform: translateX(3px); }
}
@media (max-width: 1024px) {
  .link-arrow {
    padding-block: 12px;
    margin-block: -12px;
  }
}

/* ════════ Pill (6006:39) ═══════════════════════════════════════ */
.pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 7px 14px;
  border: var(--border-width) solid transparent;
  border-radius: var(--radius-pill);
  font-size: var(--fs-overline);
  line-height: var(--lh-overline);
  letter-spacing: var(--ls-overline);
  font-weight: var(--fw-overline);
  text-transform: uppercase;
  white-space: nowrap;
}
.pill--mint {
  background-color: var(--color-accent-tint);
  color: var(--fg-accent);
}
.pill--neutral {
  padding-block: calc(7px - var(--pill-neutral-border-w));
  border-width: var(--pill-neutral-border-w);
  border-color: var(--pill-neutral-border);
  background-color: var(--pill-neutral-bg);
  color: var(--fg-2);
  -webkit-backdrop-filter: blur(var(--blur-glass));
  backdrop-filter: blur(var(--blur-glass));
}
.pill--red {
  background-color: var(--color-cta-tint);
  color: var(--color-cta);
}

.section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-16);
  text-align: center;
}
.section-head--left {
  align-items: flex-start;
  text-align: left;
}
.section-head__overline { color: var(--fg-overline); }
.section-head__title { color: var(--fg); }
.section-head__accent { color: var(--fg-accent); }
.section-head__lead {
  max-width: 1000px;
  color: var(--fg-2);
}

.copy-lead { color: var(--fg); }
.copy-lead::after {
  content: "";
  display: block;
  width: 32px;
  height: 2.5px;
  margin-top: var(--space-24);
  background-color: var(--color-accent);
}
.copy-note { color: var(--fg-2); }
.copy-actions { padding-top: var(--space-32); }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: var(--z-header);
  padding: var(--space-16) var(--page-gutter) 0;
  pointer-events: none;
  transition: padding var(--dur-base) var(--ease-out);
}
.site-header--solid { padding: 0; }

.site-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-24);
  max-width: var(--content-width);
  height: var(--header-h);
  margin-inline: auto;
  padding-inline: var(--space-40);
  border: var(--border-width) solid var(--color-border-subtle);
  border-radius: var(--radius-header);
  background-color: var(--color-header-glass);
  -webkit-backdrop-filter: blur(var(--blur-glass));
  backdrop-filter: blur(var(--blur-glass)); /* CUSTOM-CSS: Background blur 4 */
  color: var(--color-text);
  pointer-events: auto;
  transition: max-width var(--dur-base) var(--ease-out),
    border-radius var(--dur-base) var(--ease-out),
    background-color var(--dur-base) ease;
}
.site-header__bar--solid {
  max-width: 100%;
  border-width: 0 0 var(--border-width);
  border-radius: 0;
  background-color: var(--color-surface-dark);
}

.site-header__logo {
  display: block;
  flex: none;
  width: 112px;
}
.site-header__logo-img { width: 100%; height: auto; }

.site-header__nav { align-self: stretch; }
.site-header__menu {
  display: flex;
  align-items: stretch;
  gap: var(--space-24);
  height: 100%;
}
.site-header__item {
  --nav-fg: var(--color-text);
  --sub-opacity: 0;
  --sub-visibility: hidden;
  --sub-shift: -6px;
  --sub-dur: 140ms;
  --sub-ease: ease-in;
  --sub-hide-delay: 140ms;
  --sub-chevron-turn: 0deg;
  --sub-chevron-alpha: 0.6;
  position: relative;
  display: flex;
  align-items: center;
}
.site-header__item--active { --nav-fg: var(--color-accent); }
.site-header__item--open {
  --nav-fg: var(--color-accent);
  --sub-opacity: 1;
  --sub-visibility: visible;
  --sub-shift: 0px;
  --sub-dur: 220ms;
  --sub-ease: var(--ease-out);
  --sub-hide-delay: 0s;
  --sub-chevron-turn: 180deg;
  --sub-chevron-alpha: 1;
}
.site-header__link {
  display: inline-flex;
  align-items: center;
  padding-block: var(--space-12);
  font-size: var(--fs-nav);
  line-height: var(--lh-nav);
  font-weight: var(--fw-nav);
  color: var(--nav-fg);
  transition: color var(--dur-fast) ease;
}

.site-header__sub-toggle {
  position: relative;
  flex: none;
  width: 24px;
  height: 32px;
  margin-inline: -1px -7px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-xs);
  background: none;
  color: var(--nav-fg);
  cursor: pointer;
  transition: color var(--dur-fast) ease;
}
.site-header__sub-toggle:focus-visible { outline-offset: -2px; }
.site-header__sub-toggle::before {
  content: "";
  position: absolute;
  inset: 1px 0 0;
  width: 10px;
  height: 10px;
  margin: auto;
  background-color: currentColor;
  -webkit-mask: url('../assets/icons/chevron-down-10.svg') center / contain no-repeat;
  mask: url('../assets/icons/chevron-down-10.svg') center / contain no-repeat;
  opacity: var(--sub-chevron-alpha);
  transform: rotate(var(--sub-chevron-turn));
  transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-fast) ease;
}

.site-header__sub {
  position: absolute;
  top: calc(100% + var(--space-8));
  left: calc((var(--space-8) + var(--space-12) + var(--border-width)) * -1);
  width: 300px;
  padding: var(--space-8);
  border: var(--border-width) solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  background-color: var(--color-surface-elevated);
  box-shadow: var(--shadow-card);
  opacity: var(--sub-opacity);
  visibility: var(--sub-visibility);
  transform: translateY(var(--sub-shift));
  transition: opacity var(--sub-dur) var(--sub-ease), transform var(--sub-dur) var(--sub-ease),
    visibility 0s linear var(--sub-hide-delay);
}
.site-header__sub::before {
  content: "";
  position: absolute;
  inset: calc(var(--space-12) * -1) 0 auto;
  height: var(--space-12);
}
.site-header__sub-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.site-header__sub-link {
  --sub-title: var(--color-text);
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px var(--space-12);
  border-radius: var(--radius-sm);
  transition: background-color var(--dur-fast) ease;
}
.site-header__sub-link:focus-visible { outline-offset: 0; }
.site-header__sub-link--current { --sub-title: var(--color-accent); }
.site-header__sub-title {
  font-size: var(--fs-nav);
  line-height: var(--lh-nav);
  font-weight: var(--fw-nav);
  color: var(--sub-title);
  transition: color var(--dur-fast) ease;
}
.site-header__sub-note {
  font-size: var(--fs-caption);
  line-height: var(--lh-caption);
  color: var(--color-text-secondary);
}
.site-header__sub-more {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: var(--border-width) solid var(--color-border-subtle);
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-12);
}

.site-header__burger {
  display: none;
  position: relative;
  width: 44px;
  height: 44px;
  flex: none;
  padding: 0;
  border: var(--border-width) solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  background: transparent;
  cursor: pointer;
}
.site-header__burger::before,
.site-header__burger::after {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  height: 1.5px;
  border-radius: 1px;
  background-color: var(--color-text);
  transition: transform var(--dur-base) var(--ease-out), top var(--dur-base) var(--ease-out);
}
.site-header__burger::before { top: 17px; }
.site-header__burger::after { top: 25px; }
.site-header__burger--open::before { top: 21px; transform: rotate(45deg); }
.site-header__burger--open::after { top: 21px; transform: rotate(-45deg); }

.site-header__drawer {
  position: fixed;
  inset: 0;
  z-index: -1;
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding: calc(var(--header-h) + var(--space-40)) var(--page-gutter) var(--space-32);
  overflow-y: auto;
  background-color: var(--color-surface-dark);
  pointer-events: auto;
}
.site-header__drawer[hidden] { display: none; }
.site-header__drawer {
  opacity: 0;
  transition: opacity 180ms ease-in;
}
.site-header__drawer:not(.is-open) { pointer-events: none; }
.site-header__drawer.is-open {
  opacity: 1;
  transition: opacity 260ms var(--ease-out);
}
.site-header__drawer-item,
.site-header__drawer-actions {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 150ms ease-in, transform 0s linear 150ms;
}
.site-header__drawer.is-open .site-header__drawer-item,
.site-header__drawer.is-open .site-header__drawer-actions {
  opacity: 1;
  transform: none;
  transition: opacity 380ms var(--ease-out) calc(60ms + var(--i, 0) * 35ms),
    transform 560ms var(--ease-out) calc(60ms + var(--i, 0) * 35ms);
}
.site-header__drawer-menu {
  display: flex;
  flex-direction: column;
}
.site-header__drawer-item { border-bottom: var(--border-width) solid var(--color-border-subtle); }
.site-header__drawer-row {
  display: flex;
  align-items: center;
}
.site-header__drawer-link {
  display: block;
  flex: 1 1 auto;
  padding-block: var(--space-16);
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  font-weight: var(--fw-h4);
  color: var(--color-text);
}
.site-header__drawer-toggle {
  position: relative;
  flex: none;
  width: 44px;
  height: 44px;
  margin-right: calc(var(--space-16) * -1);
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-text);
  cursor: pointer;
}
.site-header__drawer-toggle::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  background-color: currentColor;
  -webkit-mask: url('../assets/icons/chevron-down-10.svg') center / contain no-repeat;
  mask: url('../assets/icons/chevron-down-10.svg') center / contain no-repeat;
  opacity: 0.6;
  transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-fast) ease;
}
.site-header__drawer-toggle--open::before {
  opacity: 1;
  transform: rotate(180deg);
}
.site-header__drawer-sub {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 220ms ease-in, visibility 0s linear 220ms;
}
.site-header__drawer-sub--open {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows 320ms var(--ease-out), visibility 0s;
}
.site-header__drawer-sub-list {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.site-header__drawer-sub-list::after {
  content: "";
  flex: none;
  height: var(--space-8);
}
.site-header__drawer-sub-link {
  display: block;
  padding: 10px 0 10px var(--space-16);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-text-secondary);
}
.site-header__drawer-sub-link--current { color: var(--color-accent); }
.site-header__drawer-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

@media (hover: hover) {
  .site-header__item:hover { --nav-fg: var(--color-accent); }
  .site-header__sub-link:hover {
    --sub-title: var(--color-accent);
    background-color: var(--color-surface-overlay);
  }
  .site-header__drawer-link:hover,
  .site-header__drawer-sub-link:hover { color: var(--color-accent); }
}

@media (max-width: 1024px) {
  .site-header__nav,
  .site-header__login { display: none; }
  .site-header__burger { display: block; }
  .site-header__cta { min-height: 44px; }
  .site-header__bar { padding-inline: var(--space-24) var(--space-16); }
  .site-header__actions { gap: var(--space-8); }
}

@media (max-width: 767px) {
  .site-header { padding: var(--space-8) var(--space-8) 0; }
  .site-header--solid { padding: 0; }
  .site-header__bar {
    height: var(--header-h-sm);
    padding-inline: var(--space-16) var(--space-8);
    border-radius: var(--radius-header);
  }
  .site-header__bar--solid { border-radius: 0; }
  .site-header__logo { width: 96px; }
}

.whatsapp-fab {
  position: fixed;
  right: var(--page-gutter);
  bottom: var(--space-24);
  z-index: var(--z-fab);
  display: inline-flex;
  align-items: center;
  gap: var(--space-12);
  max-width: var(--fab-size);
  height: var(--fab-size);
  padding: var(--space-16);
  overflow: hidden;
  border-radius: var(--radius-pill);
  background-color: var(--color-whatsapp);
  box-shadow: var(--shadow-card);
  color: transparent;
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  letter-spacing: var(--ls-button);
  font-weight: var(--fw-button);
  white-space: nowrap;
  transition: max-width var(--dur-base) var(--ease-out), color var(--dur-fast) ease,
    bottom var(--dur-base) var(--ease-out), box-shadow var(--dur-base) ease;
}
.whatsapp-fab::before {
  content: "";
  flex: none;
  width: 24px;
  height: 24px;
  background-color: var(--color-surface-dark);
  -webkit-mask: url('../assets/icons/whatsapp.svg') center / contain no-repeat;
  mask: url('../assets/icons/whatsapp.svg') center / contain no-repeat;
}
.whatsapp-fab:focus-visible {
  max-width: 240px;
  padding-right: var(--space-24);
  box-shadow: var(--shadow-mint-glow);
  color: var(--color-surface-dark);
}
@media (hover: hover) {
  .whatsapp-fab:hover {
    max-width: 240px;
    padding-right: var(--space-24);
    box-shadow: var(--shadow-mint-glow);
    color: var(--color-surface-dark);
  }
}

.final-cta {
  padding: var(--section-pad-lg) var(--inset-gutter);
}
.final-cta--mint {
  padding-bottom: calc(var(--section-pad-lg) + var(--radius-section));
  background-image: var(--gradient-mint-bottom);
}
.site-footer--tuck { margin-top: calc(var(--radius-section) * -1); }
.final-cta__panel {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-44);
  max-width: calc(var(--content-width) + var(--space-80));
  margin-inline: auto;
  padding: 120px var(--space-24);
  overflow: hidden;
  border-radius: var(--radius-section);
  text-align: center;
}
.final-cta__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.final-cta__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-24);
}
.final-cta__title {
  max-width: 716px;
  color: var(--color-text);
}
.final-cta__accent { color: var(--color-accent); }
.final-cta__text {
  max-width: 602px;
  color: var(--color-text);
}

@media (max-width: 1024px) {
  .final-cta__panel { padding-block: 96px; }
}
@media (max-width: 767px) {
  .final-cta__panel {
    gap: var(--space-32);
    padding: 72px var(--space-20);
  }
}

/* ════════ Footer (6918:9229) ═══════════════════════════════════ */
.site-footer {
  padding: 112px 0 var(--space-40);
  background-color: var(--color-surface-dark);
  background-image: radial-gradient(93% 51% at 45% 5%,
    color-mix(in srgb, var(--color-accent) 27%, transparent) 0%,
    color-mix(in srgb, var(--color-accent) 0%, transparent) 100%);
  color: var(--color-text);
}
.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
}
.site-footer__top {
  display: flex;
  align-items: flex-start;
  gap: var(--space-64);
}
.site-footer__brand {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--space-20);
  min-width: 0;
}
.site-footer__logo {
  display: block;
  width: 122px;
}
.site-footer__logo-img { width: 100%; height: auto; }
.site-footer__about {
  max-width: 340px;
  color: var(--color-text-secondary);
}
.site-footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--color-text-secondary);
}
.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
.site-footer__heading { color: var(--color-text-muted); }
.site-footer__links {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.site-footer__link {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-text);
  transition: color var(--dur-fast) ease;
}
.site-footer__contact-link {
  color: var(--color-text-secondary);
  transition: color var(--dur-fast) ease;
}
.site-footer__secondary {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12) var(--space-28);
}
.site-footer__secondary-link {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-text-secondary);
  transition: color var(--dur-fast) ease;
}
.site-footer__risk {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: var(--space-24) var(--space-28);
  border-radius: var(--radius-md);
  background-color: var(--color-surface-overlay);
}
.site-footer__risk-text { color: var(--color-text-secondary); }
.site-footer__risk-note { color: var(--color-text-secondary); }
.site-footer__bottom {
  display: flex;
  align-items: center;
  gap: var(--space-24);
  padding-top: var(--space-40);
  border-top: var(--border-width) solid var(--color-border-subtle);
}
.site-footer__legal {
  flex: 1 1 0;
  color: var(--color-text-secondary);
}
.site-footer__copy { color: var(--color-text-muted); }

@media (hover: hover) {
  .site-footer__link:hover,
  .site-footer__contact-link:hover,
  .site-footer__secondary-link:hover { color: var(--color-accent); }
}

@media (max-width: 1024px) {
  .site-footer { padding-top: 88px; }
  .site-footer__links { gap: 0; }
  .site-footer__link,
  .site-footer__secondary-link,
  .site-footer__contact-link {
    display: inline-block;
    padding-block: 12px;
  }
  .site-footer__secondary { row-gap: 0; }
  .site-footer__contacts { gap: 0; }
  .site-footer__top {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, auto));
    justify-content: space-between;
    gap: var(--space-40) var(--space-32);
  }
  .site-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .site-footer { padding: 64px 0 calc(var(--space-32) + 72px); }
  .site-footer__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-32) var(--space-16);
  }
  .site-footer__risk { padding: var(--space-20); }
  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-8);
    padding-top: var(--space-24);
  }
}

.page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: var(--border-width) solid var(--color-border-subtle);
  background: var(--color-surface-dark) url('../assets/img/inner-hero-bg.webp') right top / cover no-repeat;
}
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: var(--gradient-hero-shade);
  pointer-events: none;
}
.page-hero__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-32);
  padding-top: var(--page-hero-top);
  padding-bottom: var(--space-80);
}
.page-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.page-hero__title {
  max-width: 820px;
  color: var(--color-text);
}
.page-hero__accent { color: var(--color-accent); }
.page-hero__texts {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  max-width: 720px;
}
.page-hero__lead { color: var(--color-text); }
.page-hero__strong { font-weight: var(--fw-bold); }
.page-hero__note { color: var(--color-text-secondary); }
.page-hero__actions {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.page-hero__art {
  position: absolute;
  right: calc(var(--page-gutter) + 56px);
  bottom: 0;
  z-index: 0;
  width: 536px;
  height: auto;
  pointer-events: none;
  animation: hero-art-float 4s ease-in-out infinite alternate;
}
@keyframes hero-art-float {
  from { translate: 0 0; }
  to { translate: 0 var(--hero-float, 12px); }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero__art { animation: none; }
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: var(--space-8);
  font-size: var(--fs-caption);
  line-height: var(--lh-caption);
  color: var(--color-text-muted);
}
.breadcrumb__item--path { color: var(--color-accent); }
.breadcrumb__item--sep::after {
  content: "/";
  margin-left: var(--space-8);
}
.breadcrumb__item--sep-tight::after {
  content: "/";
  margin-left: 0.3em;
}
.breadcrumb__link {
  color: inherit;
  text-underline-offset: 3px;
}
@media (hover: hover) {
  .breadcrumb__link:hover { text-decoration-line: underline; }
}

@media (max-width: 1024px) {
  .page-hero__copy { max-width: 62%; }
  .page-hero__art {
    right: var(--space-8);
    width: 400px;
  }
}
@media (max-width: 767px) {
  .page-hero__inner {
    gap: var(--space-24);
    padding-bottom: 180px;
  }
  .page-hero__copy { max-width: none; }
  .page-hero__actions { align-self: stretch; }
  .page-hero__art {
    --hero-float: 8px;
    right: -24px;
    width: 240px;
  }
}

.faq { padding-block: var(--section-pad) 0; }
.faq--mint-top {
  background-image: var(--gradient-mint-top);
  background-size: 100% 240px;
  background-repeat: no-repeat;
}
.faq__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  max-width: calc(800px + var(--page-gutter) * 2);
}
.faq__list { width: 100%; }
.faq__actions {
  display: flex;
  justify-content: center;
  margin-top: var(--space-48);
}
.faq-item {
  position: relative;
  padding-block: var(--space-24) calc(var(--space-24) - var(--border-width));
  border-bottom: var(--border-width) solid var(--line);
}
.faq-item--last {
  padding-bottom: var(--space-24);
  border-bottom: 0;
}
.faq-item::after {
  content: "";
  position: absolute;
  top: calc(var(--space-24) + 1px);
  right: 0;
  width: 24px;
  height: 24px;
  background-color: var(--color-cta);
  -webkit-mask: url('../assets/icons/plus.svg') center / contain no-repeat;
  mask: url('../assets/icons/plus.svg') center / contain no-repeat;
  pointer-events: none;
  transition: transform 450ms var(--ease-out), background-color var(--dur-base) ease;
}
.faq-item:is([open]:not(.faq-item--js), .is-open)::after {
  background-color: var(--color-text-on-light-muted);
  transform: rotate(45deg) scale(1.2);
}
.faq-item__question {
  display: block;
  padding-right: var(--space-40);
  color: var(--fg);
  cursor: pointer;
  list-style: none;
}
.faq-item__question::-webkit-details-marker { display: none; }
.faq-item__text { text-wrap: pretty; }
.faq-item__answer {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  margin-top: 14px;
  color: var(--fg-2);
}
@media (hover: hover) {
  .faq-item__question:hover { color: var(--fg-accent); }
}
.faq--page { padding-block: var(--section-pad-md); }
.faq__inner--page {
  gap: var(--space-40);
  max-width: calc(1000px + var(--page-gutter) * 2);
}

@media (max-width: 1024px) {
  .faq__inner { gap: var(--space-48); }
  .faq__inner--page { gap: var(--space-32); }
}

.page-cta {
  position: relative;
  z-index: 2;
  margin-bottom: calc(var(--cta-overlap) * -1);
  padding: var(--space-44) var(--page-gutter) 0;
}
.page-cta__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-32);
  max-width: var(--content-width);
  margin-inline: auto;
  padding: var(--space-40);
  border: var(--border-width) solid var(--color-border-bright);
  border-radius: var(--radius-panel);
  background-image: var(--gradient-glass-card);
  text-align: center;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.page-cta__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
.page-cta__title { color: var(--color-text-on-light); }
.page-cta__accent { color: var(--color-accent-deep); }
.page-cta__text { color: var(--color-text-on-light-secondary); }

.site-footer--cta { padding-top: calc(var(--cta-overlap) + 83px); }

@media (max-width: 1024px) {
  .page-cta__card { padding: var(--space-40) var(--space-32); }
  .site-footer--cta { padding-top: calc(var(--cta-overlap) + 64px); }
}
@media (max-width: 767px) {
  .page-cta__card {
    gap: var(--space-24);
    padding: var(--space-32) var(--space-20);
    border-radius: var(--radius-lg);
  }
  .site-footer--cta { padding-top: calc(var(--cta-overlap) + 48px); }
}

.feature-tile {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 224px;
  padding: var(--space-32);
  overflow: hidden;
  border-radius: var(--radius-md);
  background-color: var(--color-tile-glass);
  -webkit-backdrop-filter: blur(var(--blur-glass));
  backdrop-filter: blur(var(--blur-glass));
}
.feature-tile__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  max-width: 480px;
}
.feature-tile__title { color: var(--fg); }
.feature-tile__text { color: var(--fg-2); }
.feature-tile__ghost {
  position: absolute;
  right: 42px;
  bottom: 22px;
  z-index: -1;
  width: 120px;
  height: 120px;
  opacity: 0.3;
  pointer-events: none;
}
@media (max-width: 767px) {
  .feature-tile {
    min-height: 0;
    padding: var(--space-24) var(--space-24) 112px;
  }
  .feature-tile__ghost {
    right: var(--space-24);
    bottom: var(--space-20);
    width: 80px;
    height: 80px;
  }
}

.market-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-16);
  padding: calc(var(--space-24) - var(--border-width));
  border: var(--border-width) solid var(--line);
  border-radius: var(--radius-lg);
  background-color: var(--card-bg);
}
.market-card__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm); /* 14 → 12 */
  background-color: var(--color-accent-tint);
}
.market-card__icon { width: 24px; height: 24px; }
.market-card__title { color: var(--fg); }
.market-card__text {
  flex: 1 1 auto;
  color: var(--fg-2);
}

.how {
  padding-top: var(--section-pad-lg);
  overflow: clip;
  background-image: radial-gradient(40% 20% at 71% 12%,
    color-mix(in srgb, var(--color-accent) 27%, transparent) 0%, transparent 100%);
}
.how--light {
  --step-bg: var(--color-surface-light);
  --step-active-bg: var(--color-surface-tint-mint);
  --step-line: var(--color-border-strong);
  --step-accent: var(--color-accent-deep);
  --step-fg: var(--color-text-on-light);
  --step-text: var(--color-text-on-light-secondary);
  --step-num-bg: var(--color-surface-tint-mint);
  --step-num-border: var(--color-surface-tint-mint);
  --step-num-fg: var(--color-text-on-light);
  background-image: var(--gradient-mint-fade-short);
}
.how__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-44);
}
.how__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--grid-gap);
  margin-inline: calc(var(--inset-gutter) - var(--page-gutter));
}
.step {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  padding: var(--space-24);
  border-bottom: 3px solid var(--step-line, var(--color-border-strong));
  border-radius: var(--radius-md);
  background: var(--step-bg, var(--gradient-step));
  transition: border-color var(--dur-base) ease;
}
.step[role="tab"] { cursor: pointer; }
.step--active {
  border-bottom-color: var(--step-accent, var(--color-cta));
  background: var(--step-active-bg, var(--step-bg, var(--gradient-step)));
}
.step__head {
  display: flex;
  align-items: center;
  gap: var(--space-12);
}
.step__num {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: var(--border-width) solid var(--step-num-border, var(--color-border-bright));
  border-radius: var(--radius-xs);
  background: var(--step-num-bg, var(--gradient-step));
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body-lg);
  color: var(--step-num-fg, var(--color-text));
  transition: background-color var(--dur-base) ease, border-color var(--dur-base) ease;
}
.step--active .step__num,
.step__num--active {
  border-color: transparent;
  background: var(--step-accent, var(--color-cta));
  color: var(--color-text);
}
.step__title { color: var(--step-fg, var(--color-text)); }
.step__text { color: var(--step-text, var(--color-text)); }
.how__screens {
  width: 100%;
  max-width: 1440px;
  margin: var(--space-44) auto 0;
}
.how__frame {
  position: relative;
  aspect-ratio: 1440 / 644;
}
.how__screen {
  position: absolute;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0s linear var(--dur-base), visibility 0s linear var(--dur-base);
}
.how__screen--active {
  z-index: 1;
  visibility: visible;
  opacity: 1;
  transition: opacity var(--dur-base) ease;
}
.how__screen img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.how--portal .how__screens { max-width: 896px; }
.how--portal .how__frame { aspect-ratio: 896 / 566; }

@media (max-width: 1024px) {
  .how__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .how--switch {
    display: flex;
    flex-direction: column;
    padding-bottom: var(--section-pad-sm);
  }
  .how--switch .how__inner { display: contents; }
  .how--switch .section-head { margin-inline: var(--page-gutter); }
  .how--switch .how__screens {
    order: 1;
    position: sticky;
    top: var(--pin-top);
    z-index: 2;
    margin-top: var(--space-24);
    padding: var(--space-8) var(--page-gutter) var(--space-12);
  }
  .how--switch .how__frame {
    --frame-h: clamp(220px, 34vh, 340px);
    width: min(100%, var(--frame-h) * 1440 / 644);
    height: var(--frame-h);
    margin-inline: auto;
    aspect-ratio: auto;
    overflow: clip;
    border: var(--border-width) solid var(--color-border-subtle);
    border-radius: var(--radius-xl);
  }
  .how--switch .how__screen img { object-position: 53% 50%; }
  .how--portal.how--switch .how__frame {
    width: min(100%, var(--frame-h) * 896 / 566);
    height: auto;
    aspect-ratio: 896 / 566;
    border-color: var(--color-border-on-light);
  }
  .how--portal.how--switch .how__screen img { object-position: 50% 0; }
  .how--switch .how__steps {
    order: 2;
    grid-template-columns: minmax(0, 1fr);
    margin: var(--space-12) var(--page-gutter) 0;
  }
}
@media (max-width: 767px) {
  .how__steps { grid-template-columns: minmax(0, 1fr); }
}

.pill--sm {
  min-height: 0;
  padding: 6px 12px;
}
.pill--deep {
  background-color: var(--color-deep-tint);
  color: var(--color-accent-deep);
}
.pill--glass {
  background-color: var(--color-pill-glass);
  color: var(--color-accent-deep);
}

.tag {
  display: inline-flex;
  align-items: center;
  padding: calc(var(--space-8) - var(--border-width)) calc(14px - var(--border-width));
  border: var(--border-width) solid var(--color-border-mint-soft);
  border-radius: var(--radius-pill);
  background-color: var(--color-accent-tint-soft);
  color: var(--color-accent-deep);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  white-space: nowrap;
}

.section-head--tight { gap: 14px; }

.link-arrow--lg {
  gap: 10px;
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  letter-spacing: var(--ls-h4);
  font-weight: var(--fw-h4);
}

.support {
  padding-block: var(--section-pad-md);
  background-color: var(--color-text); /* Cool White */
}
.support__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-40);
}
.support__head { max-width: 820px; }

.faq--even { padding-block: var(--section-pad); }
.faq--pad-end { padding-bottom: var(--section-pad); }
.faq__inner--mid {
  gap: var(--space-40);
  max-width: calc(880px + var(--page-gutter) * 2);
}
.faq__list--spaced {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.page-cta--dark {
  z-index: auto;
  margin-bottom: 0;
  padding: var(--space-40) var(--inset-gutter) 0;
  border-radius: var(--radius-section) var(--radius-section) 0 0;
  background-color: var(--color-surface-dark);
}
.page-cta--dark::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 936px;
  border-radius: inherit;
  background: url('../assets/img/footer-cta-glow.svg') center top / max(1440px, 100%) 936px no-repeat;
  pointer-events: none;
}
.page-cta__card--dark {
  position: relative;
  flex-direction: row;
  align-items: center;
  gap: var(--space-44);
  max-width: calc(var(--content-width) * 1.02);
  padding: calc(var(--space-40) - var(--border-width));
  background-image: var(--gradient-glass-dark);
  text-align: left;
}
.page-cta__content--dark {
  flex: 1 1 0;
  gap: var(--space-24);
  max-width: 900px;
  min-width: 0;
}
.page-cta__title--dark {
  max-width: 750px;
  color: var(--color-text);
}
.page-cta__accent--dark { color: var(--color-accent); }
.page-cta__text--dark { color: var(--color-surface-tint); }
.page-cta__action { margin-left: auto; }

.site-footer__inner { position: relative; }
.site-footer--flush {
  padding-top: var(--space-72);
  background-image: none;
}

@media (max-width: 1024px) {
  .page-cta__card--dark {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-32);
  }
  .page-cta__action { margin-left: 0; }
  .site-footer--flush { padding-top: var(--space-64); }
}
@media (max-width: 767px) {
  .page-cta--dark { padding-top: var(--space-24); }
  .page-cta__card--dark {
    gap: var(--space-24);
    padding: calc(var(--space-24) - var(--border-width)) calc(var(--space-20) - var(--border-width));
  }
  .site-footer--flush { padding-top: var(--space-48); }
}

.next-step { padding: var(--section-pad-lg) var(--inset-gutter); }
.next-step__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-44);
  max-width: calc(var(--content-width) + var(--space-80));
  margin-inline: auto;
}
.next-step__panel {
  display: flex;
  align-items: stretch;
  gap: var(--space-16);
  width: 100%;
  padding: var(--space-44);
  overflow: hidden;
  border-radius: var(--radius-section);
  background-color: var(--color-surface-tint);
  background-image: url('../assets/img/next-step-deco.svg');
  background-position: -68px calc(100% + 76px);
  background-size: 919px 748px;
  background-repeat: no-repeat;
}
/* repeat: plan-card (overline, title, actions, text, list) */
.plan-card {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-12);
  border: var(--border-width) solid var(--color-surface-tint);
  border-radius: var(--radius-md);
  background-color: var(--color-card-glass-light);
}
.plan-card__top {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-24);
  padding: 26px var(--space-32);
  overflow: hidden;
  border-radius: var(--radius-xs);
}
.plan-card__top--art {
  padding-bottom: var(--space-32);
  background-color: var(--color-surface-art);
}
.plan-card__top--tall { padding-bottom: 78px; }
.plan-card__art {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -2;
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: left center;
}
.plan-card__art--cover {
  inset: 0;
  width: 100%;
  max-width: none;
  object-position: 100% 50%;
}
.plan-card__overline { color: var(--fg-overline); }
.plan-card__overline--light { color: var(--color-text); }
.plan-card__title { color: var(--fg); }
.plan-card__title--narrow { max-width: 419px; }
.plan-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.plan-card__divider {
  width: 100%;
  height: var(--border-width);
  margin: 0;
  border: 0;
  background-color: var(--color-surface-tint);
}
.plan-card__body {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px;
}
.plan-card__text { color: var(--color-text-on-light); }
.plan-card__list {
  display: grid;
  gap: 18px;
}
.plan-card__list--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plan-card__item {
  display: flex;
  gap: var(--space-4);
  color: var(--color-text-on-light);
}
.plan-card__item::before {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  background: linear-gradient(currentColor, currentColor) 7.4px 7.7px / 4.55px 4.55px no-repeat;
}
.plan-card__item--muted { color: var(--color-text-on-light-secondary); } /* Grey on white → On Light Secondary */
.plan-card__item--red::before {
  background-image: linear-gradient(var(--color-cta), var(--color-cta));
}

@media (max-width: 1024px) {
  .next-step__panel {
    flex-direction: column;
    padding: var(--space-24);
  }
}
@media (max-width: 767px) {
  .next-step__panel { padding: var(--space-12); }
  .plan-card__top { padding: var(--space-24) var(--space-20); }
  .plan-card__body { padding: var(--space-20) var(--space-12); }
  .plan-card__list--two { grid-template-columns: minmax(0, 1fr); }
  .plan-card__top--art::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(90deg, var(--color-surface-art) 35%, transparent 100%);
  }
  .plan-card__art { max-width: 75%; }
  .plan-card__art--cover { max-width: none; }
}

.next-step__panel--deco-low { background-position: -68px calc(100% + 68px); }
.plan-card--narrow { flex-grow: 0.75; }
.plan-card--soft {
  border-color: transparent;
  background-color: var(--color-card-glass-soft);
}
.plan-card__top--roomy { padding: 52px var(--space-32); }
.plan-card__text--secondary { color: var(--color-text-on-light-secondary); }
.plan-card__note {
  padding: var(--space-24) var(--space-28);
  border-radius: var(--radius-md);
  background-color: var(--color-surface-tint);
  color: var(--color-text-on-light-secondary);
}
@media (max-width: 1024px) {
  .plan-card--narrow { flex-grow: 1; }
  .plan-card__top--roomy { padding: var(--space-40) var(--space-32); }
}
@media (max-width: 767px) {
  .plan-card__top--roomy { padding: var(--space-32) var(--space-20); }
  .plan-card__note { padding: var(--space-20); }
}

.faq--dark {
  border-radius: var(--radius-header) var(--radius-header) 0 0; /* 30 */
  background: var(--color-surface-dark) url('../assets/img/faq-dark-bg.webp') center top / max(1440px, 100%) auto no-repeat;
}
.faq-item--card {
  padding: calc(22px - var(--border-width)) calc(var(--space-24) - var(--border-width));
  border: var(--border-width) solid var(--color-border-on-light);
  border-radius: var(--radius-md);
  background-color: var(--color-faq-card);
  transition: background-color var(--dur-base) ease, border-color var(--dur-base) ease;
}
.faq-item--card:is([open]:not(.faq-item--js), .is-open) {
  border-color: transparent;
  background-color: var(--color-faq-card-open);
}
.faq-item--card::after {
  top: 23px;
  right: var(--space-24);
  background-color: var(--color-accent);
  -webkit-mask-image: url('../assets/icons/chevron-down-24.svg');
  mask-image: url('../assets/icons/chevron-down-24.svg');
}
.faq-item--card:is([open]:not(.faq-item--js), .is-open)::after {
  background-color: var(--color-accent);
  transform: rotate(180deg);
}

.support--plain { background-color: var(--color-surface-light); }

.field {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  min-width: 0;
}
.field__label {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-text-on-light-secondary);
}
.field__control {
  width: 100%;
  height: 52px;
  padding: 0 calc(var(--space-16) - var(--border-width));
  border: var(--border-width) solid var(--color-border-on-light);
  border-radius: var(--radius-sm);
  background-color: var(--color-overlay-on-light);
  color: var(--color-text-on-light);
  font-family: var(--font-family);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  appearance: none;
  transition: border-color var(--dur-fast) ease;
}
.field__control::placeholder {
  color: var(--color-text-on-light-muted);
  opacity: 1;
}
.field__control:focus {
  outline: none;
  border-color: var(--color-accent-deep);
}
.field__control:focus-visible { box-shadow: 0 0 0 2px var(--color-deep-wash); }
.field__control--area {
  height: 107px;
  padding-block: calc(var(--space-16) - var(--border-width));
  resize: vertical;
}

.dev-placeholder {
  display: grid;
  place-items: center;
  min-height: 320px;
  border: 1px dashed var(--line);
  border-radius: var(--radius-xl);
  color: var(--fg-3);
  font-size: var(--fs-small);
}

.strip {
  display: flex;
  width: 100%;
  overflow: hidden;
  border: var(--border-width) solid var(--color-border-subtle);
  border-radius: var(--radius-xl); /* 22 → 24 */
  background-color: var(--color-strip-bg);
}
.strip__col {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: var(--space-32) 30px;
  border-right: var(--border-width) solid var(--color-border-subtle);
}
.strip__col--last { border-right: 0; }
.strip__col--card { justify-content: flex-start; }
.strip__title { color: var(--color-text); }
.strip__text { color: var(--color-text-secondary); }
.strip__abbr { text-decoration: none; }
@media (max-width: 1024px) {
  .strip__col { padding: var(--space-24) var(--space-20); }
}
@media (max-width: 767px) {
  .strip { flex-direction: column; }
  .strip__col {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    padding: var(--space-16) var(--space-20);
    border-right: 0;
    border-bottom: var(--border-width) solid var(--color-border-subtle);
  }
  .strip__col--last { border-bottom: 0; }
  .strip__col--card {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-8);
    padding: var(--space-20);
  }
}
