:root {
  --sb-nuvem-shell: min(1824px, calc(100% - 224px));
      --sb-nuvem-ink: #111827;
      --sb-nuvem-muted: #536174;
      --sb-nuvem-line: #dce5f1;
      --sb-nuvem-soft: #f4f7fb;
      --sb-nuvem-blue: #1572e8;
      --sb-nuvem-green: #31ce36;
      --sb-nuvem-dark: #07111f;
      --sb-nuvem-font: var(--sb-font-sans);
    }
.sb-nuvem-page h1,
.sb-nuvem-page h2,
.sb-nuvem-page h3 {
      margin: 0;
      color: var(--sb-nuvem-ink);
      font-weight: 600;
      letter-spacing: 0;
    }

    .sb-nuvem-kicker {
      display: inline-flex;
      margin-bottom: 16px;
      color: var(--sb-nuvem-blue);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
.sb-nuvem-page {
  overflow: hidden;
  color: #111827;
  background: #ffffff;
  font-family: var(--sb-nuvem-font);
}

.sb-nuvem-page .container {
  width: var(--sb-nuvem-shell);
  max-width: none;
}

.sb-nuvem-page p {
  margin: 0;
}

.sb-nuvem-hero {
      padding: 54px 0 72px;
      background:
        linear-gradient(90deg, rgba(21, 114, 232, .045) 1px, transparent 1px),
        linear-gradient(rgba(21, 114, 232, .045) 1px, transparent 1px),
        radial-gradient(circle at 86% 18%, rgba(49, 206, 54, .14), transparent 30%),
        #fff;
      background-size: 56px 56px, 56px 56px, auto, auto;
    }

    .sb-nuvem-hero-grid {
      display: grid;
      grid-template-columns: minmax(0, .56fr) minmax(620px, .72fr);
      gap: 72px;
      align-items: center;
    }

    .sb-nuvem-hero-grid > div:first-child {
      transform: translateY(-24px);
    }

    .sb-nuvem-hero-grid > *,
    .sb-nuvem-split > *,
    .sb-nuvem-setup-grid > * {
      min-width: 0;
    }
.sb-nuvem-page h1 {
      max-width: 780px;
      font-size: 56px;
      line-height: 1.05;
    }

    .sb-nuvem-lead {
      max-width: 650px;
      color: var(--sb-nuvem-muted);
      font-size: 20px;
      line-height: 1.64;
    }

    .sb-nuvem-page h1 + .sb-nuvem-lead {
      margin-top: 42px;
    }

    .sb-nuvem-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;
    }

    .sb-nuvem-button {
      min-height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 20px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 600;
      background-size: 200% 100%;
      background-position: 100% 0;
      transition: background-position 0.34s ease, border-color 0.18s ease, color 0.18s ease;
    }

    .sb-nuvem-button-primary {
      color: #fff !important;
      background-image: linear-gradient(90deg, #073fb8 0 50%, var(--sb-nuvem-blue) 50% 100%);
    }

    .sb-nuvem-button-secondary {
      border: 1px solid var(--sb-nuvem-line);
      color: var(--sb-nuvem-ink) !important;
      background-image: linear-gradient(90deg, #eef2f7 0 50%, #fff 50% 100%);
    }

    .sb-nuvem-button-primary:hover,
    .sb-nuvem-button-primary:focus,
    .sb-nuvem-button-secondary:hover,
    .sb-nuvem-button-secondary:focus {
      background-position: 0 0;
      text-decoration: none;
    }

    .sb-nuvem-integration-board {
      border: 1px solid var(--sb-nuvem-line);
      background: #fff;
      box-shadow: 0 28px 70px rgba(16, 24, 40, .12);
    }

    .sb-nuvem-board-top {
      display: grid;
      grid-template-columns: 1fr 1px 1fr;
      border-bottom: 1px solid var(--sb-nuvem-line);
      background: #f8fbff;
    }

    .sb-nuvem-board-brand {
      min-height: 168px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 24px 30px;
    }

    .sb-nuvem-board-brand small {
      margin-bottom: 18px;
      color: var(--sb-nuvem-muted);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .sb-nuvem-board-brand img {
      display: block;
      width: auto;
      max-width: 210px;
      max-height: 76px;
      height: auto;
      object-fit: contain;
    }

    .sb-nuvem-board-brand:first-child img {
      width: 170px;
      max-width: 170px;
      max-height: 96px;
    }

    .sb-nuvem-board-brand img.sb-nuvem-smartbis-logo {
      width: 204px;
      max-height: 80px;
      max-width: 100%;
    }

    .sb-nuvem-board-line {
      background: var(--sb-nuvem-line);
    }

    .sb-nuvem-sync-panel {
      padding: 30px;
    }

    .sb-nuvem-sync-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 22px;
      font-size: 13px;
      font-weight: 700;
    }

    .sb-nuvem-status {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #0f7a24;
    }

    .sb-nuvem-status::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--sb-nuvem-green);
    }

    .sb-nuvem-sync-list {
      display: grid;
      gap: 10px;
    }

    .sb-nuvem-sync-item {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      min-height: 52px;
      padding: 10px 12px;
      border: 1px solid var(--sb-nuvem-line);
      background: #fff;
    }

    .sb-nuvem-sync-item span:first-child {
      width: 34px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      color: var(--sb-nuvem-blue);
      background: #eaf3ff;
      font-size: 13px;
      font-weight: 700;
    }

    .sb-nuvem-sync-item strong {
      display: block;
      font-size: 15px;
      font-weight: 700;
    }

    .sb-nuvem-sync-item small {
      color: var(--sb-nuvem-muted);
      font-size: 12px;
      font-weight: 600;
    }

    .sb-nuvem-flow-strip {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }

    .sb-nuvem-flow-cell {
      min-height: 168px;
      padding: 24px;
      border-right: 1px solid var(--sb-nuvem-line);
      background: #fff;
    }

    .sb-nuvem-flow-cell:last-child {
      border-right: 0;
    }

    .sb-nuvem-flow-cell span {
      display: block;
      margin-bottom: 42px;
      color: #9bc7ff;
      font-size: 24px;
      font-weight: 700;
    }

    .sb-nuvem-flow-cell h3 {
      font-size: 18px;
    }

    .sb-nuvem-flow-cell p {
      margin-top: 10px;
      color: var(--sb-nuvem-muted);
      font-size: 14px;
      line-height: 1.55;
    }

    .sb-nuvem-setup {
      padding: 76px 0;
      background: var(--sb-nuvem-soft);
    }

    .sb-nuvem-setup-grid {
      display: grid;
      grid-template-columns: 420px minmax(0, 1fr);
      gap: 72px;
      align-items: start;
    }

    .sb-nuvem-setup h2,
    .sb-nuvem-split h2,
    .sb-nuvem-faq h2,
    .sb-nuvem-cta h2 {
      font-size: 42px;
      line-height: 1.1;
    }

    .sb-nuvem-section-copy {
      color: var(--sb-nuvem-muted);
      font-size: 17px;
      line-height: 1.7;
    }

    .sb-nuvem-page h2 + .sb-nuvem-section-copy,
    .sb-nuvem-rules h2 + p,
    .sb-nuvem-cta h2 + p {
      margin-top: 34px;
    }

    .sb-nuvem-steps {
      display: grid;
      border-top: 1px solid var(--sb-nuvem-line);
      border-right: 1px solid var(--sb-nuvem-line);
      border-left: 1px solid var(--sb-nuvem-line);
      background: #fff;
    }

    .sb-nuvem-step {
      display: grid;
      grid-template-columns: 120px minmax(0, 1fr) 150px;
      gap: 28px;
      align-items: center;
      padding: 26px 32px;
      border-bottom: 1px solid var(--sb-nuvem-line);
    }

    .sb-nuvem-step code {
      color: var(--sb-nuvem-blue);
      font-family: var(--sb-nuvem-font);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
    }

    .sb-nuvem-step h3 {
      font-size: 20px;
    }

    .sb-nuvem-step p {
      margin-top: 6px;
      color: var(--sb-nuvem-muted);
      font-size: 15px;
      line-height: 1.55;
    }

    .sb-nuvem-step strong {
      justify-self: end;
      color: #0f7a24;
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .sb-nuvem-split-section {
      padding: 76px 0;
      background: #fff;
    }

    .sb-nuvem-split {
      display: grid;
      grid-template-columns: 420px minmax(0, 1fr);
      gap: 72px;
      align-items: start;
    }

    .sb-nuvem-data-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border: 1px solid var(--sb-nuvem-line);
    }

    .sb-nuvem-data-card {
      min-height: 184px;
      padding: 28px;
      border-right: 1px solid var(--sb-nuvem-line);
      border-bottom: 1px solid var(--sb-nuvem-line);
    }

    .sb-nuvem-data-card:nth-child(2n) {
      border-right: 0;
    }

    .sb-nuvem-data-card:nth-last-child(-n+2) {
      border-bottom: 0;
    }

    .sb-nuvem-data-card span {
      display: inline-flex;
      margin-bottom: 30px;
      color: var(--sb-nuvem-blue);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .sb-nuvem-data-card h3 {
      font-size: 20px;
    }

    .sb-nuvem-data-card p {
      margin-top: 10px;
      color: var(--sb-nuvem-muted);
      font-size: 15px;
      line-height: 1.62;
    }

    .sb-nuvem-rules {
      padding: 76px 0;
      color: #d8e7ff;
      background: var(--sb-nuvem-dark);
    }

    .sb-nuvem-rules-grid {
      display: grid;
      grid-template-columns: 420px minmax(0, 1fr);
      gap: 72px;
      align-items: start;
    }

    .sb-nuvem-rules h2 {
      color: #fff;
      font-size: 42px;
      line-height: 1.1;
    }

    .sb-nuvem-rules p {
      color: #a9b8ce;
      font-size: 17px;
      line-height: 1.7;
    }

    .sb-nuvem-rule-list {
      display: grid;
      border: 1px solid rgba(255, 255, 255, .12);
      background: #0e1a2b;
    }

    .sb-nuvem-rule {
      display: grid;
      grid-template-columns: 160px minmax(0, 1fr);
      gap: 24px;
      padding: 24px;
      border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .sb-nuvem-rule:last-child {
      border-bottom: 0;
    }

    .sb-nuvem-rule span {
      color: #72ee76;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .sb-nuvem-rule strong {
      display: block;
      color: #fff;
      font-size: 18px;
      font-weight: 600;
    }

    .sb-nuvem-rule small {
      display: block;
      margin-top: 8px;
      color: #a9b8ce;
      font-size: 14px;
      line-height: 1.55;
    }

    .sb-nuvem-faq {
      padding: 76px 0;
      background: var(--sb-nuvem-soft);
    }

    .sb-nuvem-faq-layout {
      display: grid;
      grid-template-columns: 420px minmax(0, 1fr);
      gap: 72px;
    }

    .sb-nuvem-faq-list {
      border-top: 1px solid var(--sb-nuvem-line);
    }
.sb-nuvem-page details {
      border-bottom: 1px solid var(--sb-nuvem-line);
      background: transparent;
    }
.sb-nuvem-page summary {
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: 82px;
      padding: 0;
      font-size: 16px;
      font-weight: 700;
    }
.sb-nuvem-page summary::-webkit-details-marker {
      display: none;
    }
.sb-nuvem-page summary::after {
      content: "+";
      width: 34px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      border: 1px solid #cfdced;
      border-radius: 999px;
      color: var(--sb-nuvem-blue);
      background: #fff;
      font-size: 22px;
      font-weight: 500;
      line-height: 1;
      transition: background-color .18s ease, border-color .18s ease, color .18s ease;
    }
.sb-nuvem-page summary:hover::after,
.sb-nuvem-page summary:focus::after {
      border-color: var(--sb-nuvem-blue);
      color: #fff;
      background: var(--sb-nuvem-blue);
    }
.sb-nuvem-page details[open] summary::after {
      content: "-";
      border-color: var(--sb-nuvem-blue);
      color: #fff;
      background: var(--sb-nuvem-blue);
    }
.sb-nuvem-page details p {
      max-width: 780px;
      padding: 0 58px 28px 0;
      color: var(--sb-nuvem-muted);
      font-size: 15px;
      line-height: 1.65;
    }

    .sb-nuvem-cta {
      padding: 74px 0;
      background:
        linear-gradient(90deg, rgba(21, 114, 232, .045) 1px, transparent 1px),
        linear-gradient(rgba(21, 114, 232, .045) 1px, transparent 1px),
        radial-gradient(circle at 86% 22%, rgba(49, 206, 54, .16), transparent 32%),
        #fff;
      background-size: 56px 56px, 56px 56px, auto, auto;
    }

    .sb-nuvem-cta-box {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
      padding: 42px 0;
      border-top: 1px solid var(--sb-nuvem-line);
      border-bottom: 1px solid var(--sb-nuvem-line);
    }

    .sb-nuvem-cta p {
      max-width: 620px;
      color: var(--sb-nuvem-muted);
      font-size: 17px;
      line-height: 1.7;
    }

    @media (max-width: 1180px) {
      :root { --sb-nuvem-shell: calc(100% - 56px); }

      .sb-nuvem-hero-grid,
      .sb-nuvem-setup-grid,
      .sb-nuvem-split,
      .sb-nuvem-rules-grid,
      .sb-nuvem-faq-layout {
        grid-template-columns: 1fr;
        gap: 44px;
      }

      .sb-nuvem-flow-strip {
        grid-template-columns: repeat(2, 1fr);
      }

      .sb-nuvem-flow-cell:nth-child(2) {
        border-right: 0;
      }

      .sb-nuvem-flow-cell:nth-child(-n+2) {
        border-bottom: 1px solid var(--sb-nuvem-line);
      }
    }

    @media (max-width: 760px) {
      :root { --sb-nuvem-shell: calc(100% - 24px); }

      .sb-nuvem-hero,
      .sb-nuvem-setup,
      .sb-nuvem-split-section,
      .sb-nuvem-rules,
      .sb-nuvem-faq,
      .sb-nuvem-cta {
        padding: 48px 0;
      }

      .sb-nuvem-hero-grid > div:first-child {
        transform: none;
      }

      h1 {
        font-size: 40px;
        line-height: 1.08;
      }

      .sb-nuvem-lead {
        font-size: 17px;
        line-height: 1.58;
      }

      .sb-nuvem-setup h2,
      .sb-nuvem-split h2,
      .sb-nuvem-rules h2,
      .sb-nuvem-faq h2,
      .sb-nuvem-cta h2 {
        font-size: 32px;
        line-height: 1.12;
      }

      .sb-nuvem-board-top,
      .sb-nuvem-flow-strip,
      .sb-nuvem-data-grid {
        grid-template-columns: 1fr;
      }

      .sb-nuvem-board-line {
        height: 1px;
      }

      .sb-nuvem-flow-cell,
      .sb-nuvem-data-card {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--sb-nuvem-line);
      }

      .sb-nuvem-flow-cell:last-child,
      .sb-nuvem-data-card:last-child {
        border-bottom: 0;
      }

      .sb-nuvem-step {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 24px 20px;
      }

      .sb-nuvem-step strong {
        justify-self: start;
      }

      .sb-nuvem-rule {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .sb-nuvem-cta-box {
        display: block;
      }

      .sb-nuvem-cta .sb-nuvem-button {
        width: 100%;
        margin-top: 24px;
      }
    }
