/* Shared surfaces: inset sections, primary pricing gradient, open FAQ, dark closing. */
:root {
  --design-gutter: 24px;
  --design-nav-height: 80px;
  --design-soft: #F5F3EE;
  --design-card: #FFFFFF;
  --design-card-shadow: 0 8px 24px -8px rgb(7 26 49 / 10%), 0 32px 64px -32px rgb(7 26 49 / 16%);
  --design-section-inset: max(40px, calc((100vw - 1280px) / 2 - 24px));
  --design-gradient: radial-gradient(ellipse 620px 380px at 120px 280px, rgb(114 220 175 / 45%), transparent), radial-gradient(ellipse 640px 390px at calc(100% - 130px) 110px, rgb(151 204 246 / 52%), transparent), linear-gradient(#FCFBF8, #FCFBF8);
  --ink: #071A31;
  --ink-2: #071A31;
  --paper: #FCFBF8;
  --shadow: var(--design-card-shadow);
}
html, body, body main[class], body main#contenido {
  --ink: #071A31;
  --paper: #FCFBF8;
  background: var(--design-paper);
}

/* Stable classes target the outer sections only: sticky content stays unclipped. */
body .design-section,
body faq-section[variant] .design-section {
  box-sizing: border-box;
  width: calc(100% - var(--design-gutter) * 2);
  max-width: none;
  margin: 0 var(--design-gutter) 24px;
  padding: 88px var(--design-section-inset);
  border: 0;
  border-radius: 32px;
}
body .design-surface-plain { background: var(--design-paper); }
body .design-surface-soft { background: var(--design-soft); }
body .design-surface-dark { background: var(--design-ink); color: white; }
body .design-surface-gradient {
  background: linear-gradient(to bottom, rgb(252 251 248 / 0) 15%, var(--design-paper) 100%), var(--design-gradient);
  color: var(--design-ink);
}
/* Small informative labels need the darker green on light surfaces. */
body #funcionalidades .section-kicker,
body ._intro_15ktd_15 > ._eyebrow_15ktd_28 { color: #007B58; }
body ._arcaCopy_3pyyv_150 > span { color: #006348; }
body faq-section[variant] { background: transparent; }
body faq-section[variant] .design-section { background: var(--design-paper); }

/* Transparent at the top; a compact white surface accompanies scrolling. */
body site-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  height: var(--design-nav-height);
  padding-block: 8px;
  margin-bottom: 12px;
  box-sizing: border-box;
}
/* Clip the illustration without creating a scroll container around the nav. */
body main._page_3pyyv_1 { overflow: clip; }
body site-nav > header[class] {
  width: calc(100% - var(--design-gutter) * 2);
  min-height: 64px;
  height: 64px;
  margin: 0 var(--design-gutter);
  padding: 8px var(--design-section-inset);
  gap: 24px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}
body site-nav.is-scrolled > header[class] {
  background: white;
  box-shadow: 0 8px 28px -12px rgb(7 26 49 / 20%);
}
body .design-nav-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
body site-nav .design-nav-actions > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 550;
  line-height: 1.2;
  white-space: nowrap;
}
body site-nav a.design-login { border: 1px solid var(--design-ink); color: var(--design-ink); background: transparent; }
body site-nav a.design-login:hover { background: var(--design-soft); }
body site-nav :is(.commercial-logo, ._logo_1pp90_31) { width: 64px; height: 30px; }
body site-nav nav { margin-left: auto; gap: 22px; }
body site-nav .design-nav-actions { margin-left: auto; }
body section[id] { scroll-margin-top: calc(var(--design-nav-height) + 16px); }
body .tab-list { top: calc(var(--design-nav-height) + 16px); }
body .tab-panels { top: calc(var(--design-nav-height) + 94px); }
body .panel-copy .feature-capabilities {
  --capability-padding: 16px;
  --capability-gap: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body .panel-copy .feature-capabilities li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--capability-gap);
  padding: var(--capability-padding);
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  background: var(--design-paper);
  font-size: 13px;
  line-height: 1.4;
}
body .feature-capabilities img { flex-shrink: 0; }
body .feature-capabilities li > span,
body .feature-capabilities a > span { min-height: 2.8em; overflow-wrap: anywhere; }
body .panel-copy .feature-capabilities li.capability-link { padding: 0; }
body .panel-copy .feature-capabilities .capability-link > a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--capability-gap);
  flex: 1;
  width: 100%;
  padding: var(--capability-padding);
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
}
body .panel-copy .feature-capabilities .capability-link > a:hover { background: var(--design-soft); }
body .panel-copy .feature-capabilities .capability-link > a:focus-visible {
  outline: 3px solid #007B58;
  outline-offset: 3px;
}
body .integration-section.design-surface-blue { background: linear-gradient(to bottom, var(--design-paper), var(--design-soft)); color: var(--design-ink); }
body .integration-section .integration-heading h2 { color: var(--design-ink); }
body .integration-section .integration-heading p { color: #596779; }
body .integration-section .integration-grid > article { box-shadow: none; }
@media (max-width: 1200px) {
  body site-nav ._nav_1pp90_53 { display: none; }
}
body site-footer > :is(footer, footer[class]) {
  width: calc(100% - var(--design-gutter) * 2);
  margin: 0 var(--design-gutter) 24px;
  padding: 32px var(--design-section-inset);
  border: 0;
  border-radius: 0 0 32px 32px;
  background: var(--design-ink);
  color: white;
}
body site-footer footer[class] ._brandLogo_3pyyv_56,
body site-footer footer[class] ._brandLogo_19om7_31,
body site-footer .footer-logo { background: white; }
body site-footer footer[class] ._brandProduct_19om7_32 { color: #b9c7d4; }
body site-footer > :is(footer, footer[class]) p,
body site-footer > footer nav[class] a { color: #b9c7d4; }
body site-footer > footer nav[class] a:is(:hover, :focus-visible) { color: white; }

/* The gradient stays behind the partial UI, leaving a quiet field for the copy. */
body .design-hero.design-section {
  padding: 80px 0 80px var(--design-section-inset);
  background: radial-gradient(ellipse at 100% 100%, #dbece8, transparent 60%), var(--design-soft);
}
body .design-hero .design-hero-art { background: var(--design-gradient); }
body .design-hero .design-hero-frame { border: 0; box-shadow: var(--design-card-shadow); }
body .design-hero-art::after { background: linear-gradient(transparent, rgb(232 236 231 / 80%)); }

/* All marketing cards share one surface. Product UI internals retain their source hierarchy. */
body :is(.tab-panels > article, .bento-card, .testimonial-card, .integration-grid > article,
  .price-card, .processor-card, .reconciliation-note, ._visibilityGrid_3pyyv_366 > article, ._stepGrid_3pyyv_346 > li,
  ._organizationGrid_19om7_104 > article, ._paymentGrid_19om7_129 > article,
  ._priceCard_19om7_134, ._item_15ktd_44) {
  border: 0;
  border-radius: 24px;
  background: var(--design-card);
  color: var(--design-ink);
  box-shadow: var(--design-card-shadow);
}
body .testimonial-card { padding: 40px; }
body .testimonials-grid { gap: 24px; }
body #funcionalidades.design-section {
  --design-features-gradient: linear-gradient(to bottom, transparent 480px, #FCFBF8 900px), radial-gradient(ellipse 620px 380px at 10% 280px, rgb(114 220 175 / 45%), transparent), radial-gradient(ellipse 640px 390px at 90% 110px, rgb(151 204 246 / 52%), transparent);
  position: relative;
  isolation: isolate;
  background-color: #FCFBF8;
  background-image: var(--design-features-gradient);
  background-position: top center;
  background-size: var(--design-features-size, 100% 900px);
  background-repeat: no-repeat;
}
body #funcionalidades > feature-backdrop {
  position: absolute;
  inset: 0 0 auto;
  height: 900px;
  z-index: -1;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
}
body #funcionalidades > feature-backdrop[hidden] { display: none; }
feature-backdrop canvas { display: block; width: 100%; height: 100%; opacity: 0; }
feature-backdrop[data-renderer="webgl"] canvas { opacity: 1; }
body .testimonials-section {
  background: linear-gradient(to bottom, var(--design-soft), var(--design-paper));
}
body .integration-shell { padding: 0; border: 0; border-radius: 0; background: transparent; }
body .integration-grid > article { padding: 28px; }
body .integration-grid > article p,
body .price-card > p, body .price-card li, body .price small,
body ._stepGrid_3pyyv_346 > li p { color: #596779; }
body .integration-grid > article > span,
body .price-card > span, body .price-card li::before, body .price b,
body ._stepGrid_3pyyv_346 > li > span,
body ._paymentGrid_19om7_129 article span,
body ._priceCard_19om7_134 > span,
body ._priceCard_19om7_134 > strong small { color: #007B58; }
body ._priceCard_19om7_134 { min-height: 380px; }
body ._paymentGrid_19om7_129 article span { font-size: 12px; }
body ._stepGrid_3pyyv_346 > li { padding: 28px; }
body ._stepGrid_3pyyv_346 > li h3 { color: var(--design-ink); }

/* Fint leads the price comparison; processor information stays quiet. */
body .pricing-section.design-section { background: var(--design-paper); }
body .pricing-layout > :is(.price-card, .processor-card) { padding: 32px; }
body .pricing-layout > .price-card {
  background: linear-gradient(to bottom, rgb(255 255 255 / 0) 15%, #FFFFFF 95%), var(--design-gradient);
}
body .pricing-layout > .processor-card { background: var(--design-soft); box-shadow: none; }
body .pricing-layout > .price-card :is(p, li, small) { color: #46556A; }
body .pricing-layout > .price-card > span { color: #006348; }
body .pricing-layout > .price-card .price b { color: var(--design-ink); }

body .pricing-layout :is(.price-card-title, .processor-head h3) {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.045em;
  text-transform: none;
}
body .pricing-layout .price-card-title { color: var(--design-ink); }
body .pricing-layout .price-note { margin: 8px 0 0; line-height: 1.4; }
body .pricing-layout > .price-card :is(p, li, small),
body .pricing-layout .price-card > a.design-cta,
body .pricing-layout .rate-row:not(.rate-header) > * { font-size: 14px; }
body .pricing-layout .rate-header > * { font-size: 12px; }
body .pricing-layout .rate-table-detailed .rate-row { grid-template-columns: minmax(0, 1fr) 54px 34px; }
body .pricing-layout .rate-row > :nth-child(2) { text-align: right; }

/* Open editorial rows are not cards; remove the old separator borders. */
body .trust-strip.design-section { min-height: 120px; padding: 32px 0; }
body .trust-marquee { mask-image: linear-gradient(to right, transparent, black 4%, black 96%, transparent); }
body .trust-marquee-track { width: max-content; gap: 0; }
body .trust-marquee-copy {
  flex: 0 0 auto;
  justify-content: flex-start;
  gap: clamp(16px, 2vw, 30px);
  padding-right: clamp(16px, 2vw, 30px);
}
body ._benefitStrip_19om7_98.design-section { padding-block: 48px; }
body ._benefitStrip_19om7_98 article,
body ._useCases_19om7_93 > div:last-child,
body ._useCases_19om7_93 article { border: 0; }

/* Native disclosure rows sit directly on the plain page background. */
body faq-section[variant] .faq__list { border: 0; }
body faq-section[variant] .faq__list details {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body faq-section[variant] .faq__list details:last-child { margin-bottom: 0; border: 0; }
body faq-section[variant] summary { border: 0; gap: 16px; }
body faq-section[variant] .faq__list summary > span { border: 0; }
body faq-section[variant] details p { padding-bottom: 24px; }
body faq-section[variant] .faq__list details p,
body faq-section[variant] .faq__intro p { color: #46556A; }
body faq-section[variant] .faq__eyebrow,
body faq-section[variant] .faq__intro .section-kicker,
body faq-section[variant] .faq__contact { color: #006348; }

body final-cta > .design-section {
  --cta-foreground: #FFFFFF;
  --cta-muted: #b9c7d4;
  min-height: 420px;
  margin-bottom: 0;
  border-radius: 32px 32px 0 0;
  background: var(--design-ink);
  color: white;
}
body final-cta > .design-section h2 { color: white; }
body final-cta > .design-section p { color: #b9c7d4; }
body final-cta a.design-cta,
body site-footer a.design-cta { background: white; border-color: white; color: var(--design-ink) !important; }
body site-footer footer[class] a.design-cta { font-size: 14px; font-weight: 550; }
body final-cta a.design-cta:hover,
body site-footer a.design-cta:hover { background: var(--design-soft); border-color: var(--design-soft); }

@media (max-width: 1100px) {
  :root { --design-section-inset: 32px; }
  body .design-section, body faq-section[variant] .design-section { padding-block: 72px; }
  body ._section_15ktd_1 { gap: 40px; }
}
@media (max-width: 900px) {
  body .design-hero.design-section { padding: 56px 32px 0; }
}
@media (max-width: 600px) {
  :root { --design-section-inset: 20px; --design-gutter: 12px; }
  body .design-section, body faq-section[variant] .design-section {
    width: calc(100% - var(--design-gutter) * 2);
    margin-inline: var(--design-gutter);
    margin-bottom: 12px;
    padding: 48px 20px;
    border-radius: 24px;
  }
  body site-nav > header[class] { padding: 8px 12px; gap: 8px; border-radius: 16px; }
  body site-nav :is(.commercial-logo, ._logo_1pp90_31) { width: 54px; height: 26px; }
  body site-nav .design-nav-actions { gap: 6px; }
  body site-nav .design-nav-actions > a { padding: 10px; font-size: 11px; }
  body site-nav ._brand_1pp90_24 { flex-direction: column; align-items: flex-start; gap: 5px; }
  body site-nav ._badge_1pp90_41 { padding: 0; border: 0; font-size: 9px; background: transparent; }
  body header a.design-cta { gap: 6px; padding-inline: 10px; font-size: 11px; }
  body .design-hero.design-section { padding: 40px 20px 0; }
  body .trust-strip.design-section, body ._benefitStrip_19om7_98.design-section {
    width: 100%;
    margin-inline: 0;
    padding-inline: 24px;
    border-radius: 0;
  }
  body site-footer > :is(footer, footer[class]) { margin-bottom: 12px; border-radius: 0 0 24px 24px; }
  body .tab-list { top: calc(var(--design-nav-height) + 8px); }
  body .tab-panels { top: calc(var(--design-nav-height) + 86px); }
  body .panel-copy .feature-capabilities { --capability-padding: 12px; --capability-gap: 8px; }
  body .panel-copy .feature-capabilities li { font-size: 12px; }
  body .design-hero h1 { font-size: clamp(32px, 9.5vw, 38px); }
  body .design-section :is(h2, .section-heading h2, .pricing-intro h2, .integration-heading h2, .testimonials-heading h2),
  body faq-section[variant] h2 { font-size: clamp(28px, 8.3vw, 36px); }
  body .design-section .design-hero-art h2 { font-size: 22px; }
  body .testimonial-card, body .integration-grid > article,
  body ._visibilityGrid_3pyyv_366 > article, body ._stepGrid_3pyyv_346 > li { padding: 24px; }
  body .testimonial-card > p { font-size: 22px; }
  body .integration-grid { gap: 16px; }
  body .integration-grid h3 { font-size: 28px; }
  body .pricing-layout > :is(.price-card, .processor-card) { padding: 24px; }
  body .price-card > a.design-cta { width: 100%; gap: 10px; padding-inline: 14px; font-size: 13px; }
  body faq-section[variant] .faq__list details { padding-inline: 0; }
  body faq-section[variant] summary { padding-block: 22px; font-size: 15px; }
  body faq-section[variant] details p { font-size: 15px; }
  body ._priceCard_19om7_134 { min-height: 300px; }
  body final-cta > .design-section { min-height: 0; border-radius: 24px 24px 0 0; }
  body ._item_15ktd_44 { grid-template-columns: 24px minmax(0, 1fr); padding: 22px 18px; gap: 12px; }
}
