 :root {
      --gsa-blue: #00a1e6;
      --gsa-navy: #193364;
      --gsa-black: #191919;
      --gsa-muted: #6b7280;
      --gsa-soft: #f4f8fb;
      --gsa-line: rgba(25, 51, 100, .12);
      --shadow-soft: 0 24px 70px rgba(25, 51, 100, .14);
      --shadow-card: 0 18px 40px rgba(25, 51, 100, .10);
      --radius-xl: 32px;
      --radius-lg: 24px;
    }

    * { scroll-behavior: smooth; }

    body {
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--gsa-black);
      background: #fff;
      overflow-x: hidden;
    }

    a { text-decoration: none; }

    .text-gsa-blue { color: var(--gsa-blue) !important; }
    .text-gsa-navy { color: var(--gsa-navy) !important; }
    .bg-gsa-navy { background: var(--gsa-navy) !important; }
    .bg-gsa-black { background: var(--gsa-black) !important; }

    .btn-gsa {
      --bs-btn-padding-x: 1.3rem;
      --bs-btn-padding-y: .9rem;
      --bs-btn-font-weight: 800;
      --bs-btn-border-radius: 999px;
      color: #fff;
      background: linear-gradient(135deg, var(--gsa-blue), #0078be);
      border: 0;
      box-shadow: 0 18px 34px rgba(0, 161, 230, .26);
      transition: .25s ease;
    }

    .btn-gsa:hover {
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 22px 44px rgba(0, 161, 230, .34);
    }

    .btn-gsa-dark {
      --bs-btn-padding-x: 1.25rem;
      --bs-btn-padding-y: .85rem;
      --bs-btn-font-weight: 800;
      --bs-btn-border-radius: 999px;
      background: var(--gsa-black);
      color: #fff;
      border: 1px solid rgba(255,255,255,.18);
    }

    .btn-gsa-dark:hover { background: #000; color: #fff; transform: translateY(-2px); }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      color: var(--gsa-navy);
      background: rgba(0, 161, 230, .10);
      border: 1px solid rgba(0, 161, 230, .16);
      border-radius: 999px;
      padding: .45rem .75rem;
      font-weight: 800;
      font-size: .78rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .section-padding { padding: 110px 0; }
    .section-padding-sm { padding: 82px 0; }

    .section-title {
      font-weight: 900;
      letter-spacing: -.045em;
      color: var(--gsa-navy);
    }

    .section-lead { color: #596275; font-size: 1.08rem; line-height: 1.8; }

    .navbar {
      background: rgba(255, 255, 255, .86);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(25, 51, 100, .08);
    }

    .navbar-brand img { width: 152px; max-height: 62px; object-fit: contain; }
    .navbar .nav-link {
      color: rgba(25,25,25,.74);
      font-weight: 700;
      font-size: .94rem;
      padding: .7rem .85rem !important;
    }
    .navbar .nav-link:hover { color: var(--gsa-blue); }

    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      padding: 124px 0 72px;
      background:
        radial-gradient(circle at 12% 15%, rgba(0, 161, 230, .18), transparent 27%),
        radial-gradient(circle at 78% 4%, rgba(25, 51, 100, .20), transparent 30%),
        linear-gradient(180deg, #f8fcff 0%, #ffffff 64%);
      overflow: hidden;
    }

    .hero::before {
      content: "";
      position: absolute;
      width: 640px;
      height: 640px;
      right: -260px;
      top: 80px;
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(0,161,230,.26), rgba(25,51,100,.08));
      filter: blur(2px);
    }

    .hero h1 {
      font-size: clamp(2.85rem, 6vw, 6.8rem);
      line-height: .92;
      letter-spacing: -.075em;
      font-weight: 950;
      color: var(--gsa-navy);
      margin: 22px 0;
    }

    .hero h1 .stroke {
      color: transparent;
      -webkit-text-stroke: 1.5px var(--gsa-navy);
      opacity: .9;
    }

    .hero-copy {
      max-width: 680px;
      color: #4c5568;
      line-height: 1.85;
      font-size: 1.14rem;
    }

    .hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 30px; }

    .hero-proof {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 38px;
      max-width: 620px;
    }

    .proof-item {
      background: rgba(255,255,255,.75);
      border: 1px solid var(--gsa-line);
      border-radius: 20px;
      padding: 15px;
      box-shadow: 0 12px 28px rgba(25,51,100,.06);
    }
    .proof-item strong { display:block; color: var(--gsa-navy); font-size: 1.34rem; line-height:1; }
    .proof-item span { color: #657086; font-size: .83rem; font-weight: 700; }

    .hero-visual { position: relative; min-height: 670px; }

    .device-card {
      position: absolute;
      inset: 44px 0 auto auto;
      width: min(100%, 560px);
      background: rgba(255,255,255,.82);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(25,51,100,.10);
      border-radius: 38px;
      box-shadow: var(--shadow-soft);
      overflow: hidden;
      transform: rotate(1deg);
    }

    .device-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 20px;
      border-bottom: 1px solid rgba(25,51,100,.09);
      background: rgba(255,255,255,.68);
    }
    .dots { display:flex; gap:7px; }
    .dots span { width:10px; height:10px; border-radius:99px; background: #d6dce8; display:block; }
    .device-badge { font-size:.76rem; font-weight:900; color:var(--gsa-navy); background:rgba(0,161,230,.12); padding:.45rem .65rem; border-radius:99px; }

    .device-body { padding: 18px; }
    .simulator { background: #fff; border: 1px solid rgba(25,51,100,.08); border-radius: 28px; overflow:hidden; }
    .simulator-hero {
      min-height: 220px;
      background: linear-gradient(135deg, rgba(25,51,100,.92), rgba(0,161,230,.74)), url('https://images.unsplash.com/photo-1526243741027-444d633d7365?auto=format&fit=crop&w=1200&q=80') center/cover;
      padding: 24px;
      display: flex;
      align-items: end;
      color: #fff;
    }
    .simulator-hero h3 { font-weight: 900; letter-spacing:-.04em; margin:0; }
    .config-row { display:grid; grid-template-columns: 1fr 1fr; gap:12px; padding: 16px; }
    .config-pill { border:1px solid rgba(25,51,100,.10); border-radius:16px; padding:14px; background:#fbfdff; }
    .config-pill small { color:#7b8496; font-weight:800; display:block; margin-bottom:2px; }
    .config-pill b { color:var(--gsa-navy); }
    .price-box {
      margin: 0 16px 16px;
      border-radius: 22px;
      padding: 18px;
      background: linear-gradient(135deg, var(--gsa-navy), #0c1b38);
      color: #fff;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
    }
    .price-box span { color:rgba(255,255,255,.65); font-weight:700; font-size:.82rem; }
    .price-box strong { font-size:1.55rem; }

    .float-card {
      position: absolute;
      background: rgba(255,255,255,.88);
      backdrop-filter: blur(16px);
      border: 1px solid rgba(25,51,100,.10);
      border-radius: 22px;
      box-shadow: 0 20px 50px rgba(25,51,100,.16);
      padding: 16px 18px;
      z-index: 2;
    }
    .float-card i { color: var(--gsa-blue); font-size: 1.55rem; }
    .float-card b { color: var(--gsa-navy); display:block; }
    .float-card span { color:#687389; font-size:.86rem; }
    .float-one { left: 0; top: 155px; max-width: 210px; }
    .float-two { right: 18px; bottom: 86px; max-width: 230px; }
    .float-three { left: 48px; bottom: 12px; max-width: 250px; }

    .logo-strip {
      margin-top: -20px;
      position: relative;
      z-index: 5;
    }
    .logo-strip-inner {
      background: var(--gsa-black);
      color:#fff;
      border-radius: var(--radius-lg);
      padding: 22px;
      box-shadow: 0 24px 50px rgba(0,0,0,.16);
    }
    .logo-strip span { color: rgba(255,255,255,.62); font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
    .mini-brand { border:1px solid rgba(255,255,255,.16); border-radius:18px; padding:15px 18px; height:100%; background:rgba(255,255,255,.05); }
    .mini-brand strong { display:block; color:#fff; }
    .mini-brand small { color: rgba(255,255,255,.6); }

    .bento-card {
      height: 100%;
      border: 1px solid rgba(25,51,100,.10);
      border-radius: var(--radius-lg);
      background: #fff;
      box-shadow: var(--shadow-card);
      padding: 28px;
      transition: .25s ease;
      overflow:hidden;
      position:relative;
    }
    .bento-card:hover { transform: translateY(-6px); box-shadow: 0 28px 62px rgba(25,51,100,.14); }
    .bento-card::after {
      content:"";
      width:160px;
      height:160px;
      position:absolute;
      right:-80px;
      top:-80px;
      border-radius:999px;
      background: rgba(0,161,230,.09);
    }
    .icon-box {
      width: 52px;
      height: 52px;
      display:grid;
      place-items:center;
      border-radius: 18px;
      background: linear-gradient(135deg, rgba(0,161,230,.16), rgba(25,51,100,.08));
      color: var(--gsa-blue);
      font-size: 1.45rem;
      margin-bottom: 20px;
    }
    .bento-card h3 { font-weight:900; letter-spacing:-.035em; color:var(--gsa-navy); font-size:1.28rem; }
    .bento-card p { color:#647087; line-height:1.75; margin-bottom:0; }

    .dark-panel {
      background:
        radial-gradient(circle at 80% 0%, rgba(0,161,230,.32), transparent 28%),
        linear-gradient(135deg, #111827, var(--gsa-black));
      color:#fff;
      border-radius: 42px;
      padding: clamp(28px, 6vw, 70px);
      position:relative;
      overflow:hidden;
      box-shadow: 0 30px 80px rgba(0,0,0,.22);
    }
    .dark-panel .section-title { color:#fff; }
    .dark-panel .section-lead { color: rgba(255,255,255,.70); }

    .step { display:flex; gap:18px; align-items:flex-start; padding: 22px 0; border-bottom:1px solid rgba(255,255,255,.10); }
    .step:last-child { border-bottom:0; }
    .step-number {
      flex: 0 0 48px;
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      border-radius:16px;
      background: var(--gsa-blue);
      color:#fff;
      font-weight:900;
      box-shadow: 0 16px 30px rgba(0,161,230,.22);
    }
    .step h3 { font-size:1.15rem; font-weight:900; margin-bottom:.35rem; }
    .step p { color:rgba(255,255,255,.68); margin-bottom:0; line-height:1.7; }

    .image-stack { position:relative; min-height: 535px; }
    .image-stack img { object-fit:cover; border-radius:32px; box-shadow:0 28px 68px rgba(0,0,0,.24); }
    .image-main { width:82%; height:420px; position:absolute; right:0; top:0; }
    .image-small { width:48%; height:240px; position:absolute; left:0; bottom:0; border:8px solid #191919; }

    .product-card {
      position:relative;
      height: 360px;
      overflow:hidden;
      border-radius:30px;
      box-shadow: var(--shadow-card);
      background:#111;
      isolation:isolate;
    }
    .product-card img { width:100%; height:100%; object-fit:cover; opacity:.72; transition:.35s ease; }
    .product-card:hover img { transform:scale(1.06); opacity:.86; }
    .product-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 20%, rgba(0,0,0,.76)); z-index:1; }
    .product-content { position:absolute; inset:auto 0 0 0; padding: 28px; z-index:2; color:#fff; }
    .product-content h3 { font-weight:900; letter-spacing:-.035em; }
    .product-content p { color:rgba(255,255,255,.72); margin:0; line-height:1.65; }
    .tag { display:inline-flex; padding:.36rem .62rem; border-radius:999px; background:rgba(0,161,230,.22); border:1px solid rgba(0,161,230,.28); font-size:.75rem; font-weight:900; margin-bottom:12px; }

    .experience { background: var(--gsa-soft); }
    .timeline { position:relative; }
    .timeline::before { content:""; position:absolute; left:24px; top:0; bottom:0; width:2px; background:rgba(25,51,100,.12); }
    .timeline-item { position:relative; padding-left:72px; padding-bottom:32px; }
    .timeline-dot {
      position:absolute;
      left:0;
      top:0;
      width:50px;
      height:50px;
      display:grid;
      place-items:center;
      border-radius:18px;
      color:#fff;
      background:var(--gsa-navy);
      box-shadow:0 12px 28px rgba(25,51,100,.18);
    }
    .timeline-item h3 { color:var(--gsa-navy); font-weight:900; letter-spacing:-.03em; font-size:1.15rem; }
    .timeline-item p { color:#657087; line-height:1.75; margin-bottom:0; }

    .app-panel {
      background: #fff;
      border: 1px solid rgba(25,51,100,.10);
      border-radius: 34px;
      box-shadow: var(--shadow-soft);
      padding: 20px;
    }
    .app-line { display:flex; align-items:center; gap:12px; padding:15px; border-radius:18px; background:#f6f9fc; margin-bottom:12px; }
    .app-line:last-child { margin-bottom:0; }
    .app-line i { color:var(--gsa-blue); font-size:1.35rem; }
    .app-line b { color:var(--gsa-navy); display:block; }
    .app-line span { color:#718097; font-size:.88rem; }

    .testimonial-card {
      border: 1px solid rgba(25,51,100,.10);
      border-radius: 28px;
      padding: 30px;
      height:100%;
      background:#fff;
      box-shadow: var(--shadow-card);
    }
    .testimonial-card p { color:#566175; line-height:1.8; }
    .avatar { width:48px; height:48px; border-radius:50%; object-fit:cover; }

    .faq .accordion-item { border: 1px solid rgba(25,51,100,.10); border-radius: 20px !important; margin-bottom:12px; overflow:hidden; box-shadow:0 10px 26px rgba(25,51,100,.05); }
    .faq .accordion-button { font-weight:900; color:var(--gsa-navy); padding: 1.15rem 1.25rem; }
    .faq .accordion-button:not(.collapsed) { background: rgba(0,161,230,.08); color:var(--gsa-navy); box-shadow:none; }
    .faq .accordion-body { color:#647087; line-height:1.75; }

    .final-cta {
      background:
        radial-gradient(circle at 20% 0%, rgba(0,161,230,.30), transparent 30%),
        linear-gradient(135deg, var(--gsa-navy), #0d1d3a);
      border-radius: 42px;
      padding: clamp(34px, 7vw, 76px);
      color:#fff;
      overflow:hidden;
      position:relative;
    }
    .final-cta h2 { font-size:clamp(2rem, 5vw, 4.4rem); font-weight:950; letter-spacing:-.065em; line-height:1; }
    .final-cta p { color:rgba(255,255,255,.72); line-height:1.8; font-size:1.08rem; }

    footer { background: var(--gsa-black); color: rgba(255,255,255,.72); padding: 40px 0; }
    footer img { width: 150px; filter: drop-shadow(0 10px 24px rgba(255,255,255,.08)); }
    footer a { color: rgba(255,255,255,.72); font-weight:700; }
    footer a:hover { color:#fff; }

    @media (max-width: 991.98px) {
      .section-padding { padding: 82px 0; }
      .hero { padding-top: 106px; min-height:auto; }
      .hero-visual { min-height: 610px; margin-top:30px; }
      .device-card { left:0; right:0; width:100%; }
      .float-one { top:90px; }
      .float-two { bottom:20px; }
      .float-three { display:none; }
      .image-stack { min-height: 460px; }
      .image-main { height:350px; }
      .image-small { height:210px; }
    }

    @media (max-width: 575.98px) {
      .navbar-brand img { width: 126px; }
      .hero h1 { font-size: 3.15rem; }
      .hero-proof { grid-template-columns:1fr; }
      .config-row { grid-template-columns:1fr; }
      .price-box { align-items:flex-start; flex-direction:column; }
      .hero-visual { min-height: 695px; }
      .float-card { position:relative; left:auto; right:auto; top:auto; bottom:auto; margin:12px 0; max-width:none; }
      .device-card { position:relative; inset:auto; transform:none; margin-top:18px; }
      .logo-strip { margin-top: 30px; }
      .dark-panel, .final-cta { border-radius: 28px; }
      .product-card { height: 320px; }
    }

    /* ============================= */
/* LOGO STRIP / PÚBLICO-ALVO GSA */
/* ============================= */

.logo-strip {
  position: relative !important;
  overflow: hidden !important;
  padding: 34px 0 !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f4fbff 100%) !important;
}

.logo-strip::before {
  content: "" !important;
  position: absolute !important;
  inset: auto -140px -220px auto !important;
  width: 460px !important;
  height: 460px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(0, 161, 230, 0.18), transparent 68%) !important;
  pointer-events: none !important;
}

.logo-strip-inner {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 12% 15%, rgba(0, 161, 230, 0.13), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.94), rgba(234,248,255,0.82)) !important;
  box-shadow: 0 24px 70px rgba(25, 51, 100, 0.10) !important;
  backdrop-filter: blur(16px) !important;
}

.logo-strip-inner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(25, 51, 100, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 51, 100, 0.045) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
  opacity: 0.7 !important;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.85), transparent 76%) !important;
  pointer-events: none !important;
}

.logo-strip-heading {
  position: relative !important;
  z-index: 2 !important;
}

.section-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  color: #193364 !important;
  background: rgba(0, 161, 230, 0.10) !important;
  font-size: 0.76rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.section-kicker i {
  color: #00a1e6 !important;
  font-size: 0.95rem !important;
}

.logo-strip-heading h2 {
  max-width: 390px !important;
  margin: 0 0 12px !important;
  color: #191919 !important;
  font-size: clamp(1.45rem, 2.3vw, 2.25rem) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
}

.logo-strip-heading p {
  max-width: 390px !important;
  margin: 0 !important;
  color: rgba(25, 25, 25, 0.62) !important;
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
}

.audience-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
}

.mini-brand {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  min-height: 116px !important;
  padding: 18px !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 16px 38px rgba(25, 51, 100, 0.075) !important;
  backdrop-filter: blur(12px) !important;
  transition: all 0.28s ease !important;
}

.mini-brand::before {
  content: "" !important;
  position: absolute !important;
  inset: auto -35px -45px auto !important;
  width: 110px !important;
  height: 110px !important;
  border-radius: 999px !important;
  background: rgba(0, 161, 230, 0.10) !important;
  transition: all 0.28s ease !important;
}

.mini-brand::after {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 0 !important;
  height: 4px !important;
  border-radius: 999px 999px 0 0 !important;
  background: linear-gradient(90deg, #00a1e6, #193364) !important;
  transform: scaleX(0.35) !important;
  transform-origin: left !important;
  opacity: 0.75 !important;
  transition: all 0.28s ease !important;
}

.mini-brand:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(0, 161, 230, 0.28) !important;
  background: #ffffff !important;
  box-shadow: 0 24px 56px rgba(25, 51, 100, 0.14) !important;
}

.mini-brand:hover::before {
  transform: scale(1.35) !important;
  background: rgba(0, 161, 230, 0.16) !important;
}

.mini-brand:hover::after {
  transform: scaleX(1) !important;
  opacity: 1 !important;
}

.mini-icon {
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 17px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 14px 30px rgba(0, 161, 230, 0.30) !important;
}

.mini-icon i {
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

.mini-brand strong {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  margin-bottom: 3px !important;
  color: #193364 !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
}

.mini-brand small {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  color: rgba(25, 25, 25, 0.58) !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

/* Animação sutil */
.mini-brand {
  animation: gsaMiniFloat 7s ease-in-out infinite !important;
}

.mini-brand:nth-child(2) {
  animation-delay: 0.35s !important;
}

.mini-brand:nth-child(3) {
  animation-delay: 0.7s !important;
}

.mini-brand:nth-child(4) {
  animation-delay: 1.05s !important;
}

@keyframes gsaMiniFloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }
}

/* Responsivo */
@media (max-width: 1199.98px) {
  .audience-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 991.98px) {
  .logo-strip {
    padding: 26px 0 !important;
  }

  .logo-strip-inner {
    border-radius: 28px !important;
  }

  .logo-strip-heading {
    text-align: center !important;
  }

  .logo-strip-heading h2,
  .logo-strip-heading p {
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 575.98px) {
  .logo-strip-inner {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .audience-grid {
    grid-template-columns: 1fr !important;
  }

  .mini-brand {
    min-height: auto !important;
    padding: 16px !important;
  }

  .mini-brand {
    animation: none !important;
  }
}

/* ============================= */
/* SECTION SISTEMA GSA */
/* ============================= */

.sistema-gsa {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(0, 161, 230, 0.13), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(25, 51, 100, 0.13), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f4fbff 52%, #ffffff 100%) !important;
}

.sistema-gsa::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(25, 51, 100, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 51, 100, 0.045) 1px, transparent 1px) !important;
  background-size: 36px 36px !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 72%) !important;
  pointer-events: none !important;
}

.sistema-gsa .container {
  position: relative !important;
  z-index: 2 !important;
}

.sistema-eyebrow {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(0, 161, 230, 0.20) !important;
}

.sistema-title {
  max-width: 760px !important;
  color: #191919 !important;
  font-size: clamp(2.15rem, 4.2vw, 4.6rem) !important;
  line-height: .98 !important;
  font-weight: 950 !important;
  letter-spacing: -0.075em !important;
}

.sistema-lead {
  color: rgba(25, 25, 25, 0.66) !important;
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.78 !important;
}

/* Showcase principal */

.sistema-showcase {
  position: relative !important;
  padding: clamp(18px, 2vw, 24px) !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 38px !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(0, 161, 230, 0.16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(234,248,255,.76)) !important;
  box-shadow: 0 30px 90px rgba(25, 51, 100, 0.12) !important;
  backdrop-filter: blur(18px) !important;
}

.sistema-showcase::before {
  content: "" !important;
  position: absolute !important;
  right: -120px !important;
  bottom: -180px !important;
  width: 420px !important;
  height: 420px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(0, 161, 230, 0.18), transparent 68%) !important;
  pointer-events: none !important;
}

/* Dashboard */

.sistema-dashboard {
  position: relative !important;
  overflow: hidden !important;
  height: 100% !important;
  min-height: 560px !important;
  border: 1px solid rgba(25, 51, 100, 0.13) !important;
  border-radius: 32px !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 28px 70px rgba(25, 51, 100, 0.16) !important;
}

.dashboard-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 17px 20px !important;
  border-bottom: 1px solid rgba(25, 51, 100, 0.10) !important;
  background: linear-gradient(135deg, #ffffff, #edf9ff) !important;
}

.dashboard-dots {
  display: inline-flex !important;
  gap: 7px !important;
}

.dashboard-dots span {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
}

.dashboard-dots span:nth-child(1) {
  background: #ff2f86 !important;
}

.dashboard-dots span:nth-child(2) {
  background: #ffe500 !important;
}

.dashboard-dots span:nth-child(3) {
  background: #00a1e6 !important;
}

.dashboard-url {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  max-width: 360px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  color: rgba(25, 51, 100, 0.72) !important;
  background: rgba(25, 51, 100, 0.055) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
}

.dashboard-url i {
  color: #00a1e6 !important;
}

.dashboard-status {
  padding: 8px 13px !important;
  border-radius: 999px !important;
  color: #193364 !important;
  background: rgba(0, 161, 230, 0.11) !important;
  font-size: .75rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.dashboard-body {
  padding: clamp(20px, 3vw, 34px) !important;
}

.dashboard-header {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 26px !important;
}

.dashboard-kicker {
  display: inline-flex !important;
  margin-bottom: 8px !important;
  color: #00a1e6 !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
}

.dashboard-header h3 {
  margin: 0 !important;
  color: #191919 !important;
  font-size: clamp(2rem, 3.2vw, 3.4rem) !important;
  font-weight: 950 !important;
  line-height: .95 !important;
  letter-spacing: -.065em !important;
}

.dashboard-price {
  min-width: 175px !important;
  padding: 16px !important;
  border-radius: 24px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at top right, rgba(0, 161, 230, 0.58), transparent 46%),
    linear-gradient(135deg, #193364, #191919) !important;
  box-shadow: 0 20px 42px rgba(25, 51, 100, .22) !important;
}

.dashboard-price small {
  display: block !important;
  margin-bottom: 5px !important;
  color: rgba(255,255,255,.65) !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
}

.dashboard-price strong {
  display: block !important;
  color: #fff !important;
  font-size: 1.55rem !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}

/* Configurador visual */

.configurator-layout {
  display: grid !important;
  grid-template-columns: .95fr 1.05fr !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
}

.configurator-preview {
  position: relative !important;
  overflow: hidden !important;
  min-height: 275px !important;
  padding: 24px !important;
  border: 1px solid rgba(25, 51, 100, .10) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 50% 26%, rgba(0, 161, 230, .16), transparent 35%),
    linear-gradient(145deg, #f7fcff, #ffffff) !important;
}

.book-stack {
  position: relative !important;
  width: 230px !important;
  height: 170px !important;
  margin: 16px auto 28px !important;
  perspective: 700px !important;
}

.book {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 54px !important;
  border-radius: 8px 18px 18px 8px !important;
  box-shadow: 0 16px 34px rgba(25, 51, 100, .16) !important;
  transform: skewY(-5deg) !important;
}

.book span {
  position: absolute !important;
  left: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: rgba(255,255,255,.78) !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
}

.book-1 {
  top: 0 !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
}

.book-2 {
  top: 54px !important;
  left: 16px !important;
  background: linear-gradient(135deg, #193364, #191919) !important;
}

.book-3 {
  top: 108px !important;
  left: -10px !important;
  background: linear-gradient(135deg, #ffffff, #dcecf5) !important;
}

.book-3 span {
  color: #193364 !important;
}

.preview-caption {
  text-align: center !important;
}

.preview-caption strong {
  display: block !important;
  color: #193364 !important;
  font-size: 1.02rem !important;
  font-weight: 950 !important;
  letter-spacing: -.03em !important;
}

.preview-caption span {
  display: block !important;
  margin-top: 5px !important;
  color: rgba(25,25,25,.58) !important;
  font-size: .88rem !important;
  line-height: 1.45 !important;
}

.configurator-options {
  display: grid !important;
  gap: 12px !important;
}

.option-line {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 15px !important;
  border: 1px solid rgba(25, 51, 100, .10) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: 0 14px 30px rgba(25, 51, 100, .06) !important;
  transition: all .25s ease !important;
}

.option-line.active,
.option-line:hover {
  transform: translateX(6px) !important;
  border-color: rgba(0, 161, 230, .28) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(25, 51, 100, .11) !important;
}

.option-icon {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 45px !important;
  height: 45px !important;
  border-radius: 16px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 12px 28px rgba(0, 161, 230, .26) !important;
}

.option-line small {
  display: block !important;
  margin-bottom: 3px !important;
  color: rgba(25,25,25,.48) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.option-line strong {
  display: block !important;
  color: #193364 !important;
  font-size: .95rem !important;
  font-weight: 950 !important;
  letter-spacing: -.025em !important;
}

/* Flow */

.dashboard-flow {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, rgba(25, 51, 100, .055), rgba(0, 161, 230, .075)) !important;
}

.flow-step {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(25, 51, 100, .62) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.flow-step i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: rgba(25, 51, 100, .10) !important;
}

.flow-step.done i,
.flow-step.current i {
  color: #fff !important;
  background: #00a1e6 !important;
}

.flow-step.current {
  color: #193364 !important;
}

.flow-line {
  flex: 1 !important;
  height: 2px !important;
  min-width: 18px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(0, 161, 230, .6), rgba(25, 51, 100, .12)) !important;
}

/* Lateral */

.sistema-side {
  display: grid !important;
  gap: 18px !important;
  height: 100% !important;
}

.side-card {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(24px, 3vw, 34px) !important;
  border-radius: 32px !important;
  border: 1px solid rgba(25, 51, 100, .11) !important;
  background:
    radial-gradient(circle at right top, rgba(0, 161, 230, .18), transparent 42%),
    #ffffff !important;
  box-shadow: 0 24px 64px rgba(25, 51, 100, .11) !important;
}

.side-card-main {
  min-height: 310px !important;
}

.side-card::after {
  content: "" !important;
  position: absolute !important;
  right: -70px !important;
  bottom: -90px !important;
  width: 210px !important;
  height: 210px !important;
  border-radius: 999px !important;
  background: rgba(0, 161, 230, .12) !important;
}

.side-icon {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 62px !important;
  height: 62px !important;
  margin-bottom: 24px !important;
  border-radius: 22px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #193364, #00a1e6) !important;
  box-shadow: 0 18px 38px rgba(0, 161, 230, .28) !important;
}

.side-icon i {
  font-size: 1.55rem !important;
}

.side-card span {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  margin-bottom: 10px !important;
  color: #00a1e6 !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
}

.side-card h3 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 14px !important;
  color: #191919 !important;
  font-size: clamp(1.45rem, 2vw, 2.1rem) !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
}

.side-card p {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  color: rgba(25,25,25,.62) !important;
  font-size: .98rem !important;
  line-height: 1.65 !important;
}

.side-metrics {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
}

.metric-card {
  min-height: 128px !important;
  padding: 18px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(25, 51, 100, .10) !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 18px 44px rgba(25, 51, 100, .08) !important;
  transition: all .25s ease !important;
}

.metric-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 26px 58px rgba(25, 51, 100, .13) !important;
}

.metric-card strong {
  display: block !important;
  margin-bottom: 18px !important;
  color: #00a1e6 !important;
  font-size: 1.8rem !important;
  font-weight: 950 !important;
  letter-spacing: -.06em !important;
}

.metric-card span {
  display: block !important;
  color: #193364 !important;
  font-size: .92rem !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: -.025em !important;
}

/* Cards inferiores */

.sistema-feature {
  position: relative !important;
  overflow: hidden !important;
  min-height: 265px !important;
  height: 100% !important;
  padding: 28px !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 20px 54px rgba(25, 51, 100, .08) !important;
  transition: all .28s ease !important;
}

.sistema-feature::before {
  content: "" !important;
  position: absolute !important;
  inset: auto -46px -58px auto !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 999px !important;
  background: rgba(0, 161, 230, .11) !important;
  transition: all .28s ease !important;
}

.sistema-feature:hover {
  transform: translateY(-9px) !important;
  border-color: rgba(0, 161, 230, .26) !important;
  background: #fff !important;
  box-shadow: 0 30px 76px rgba(25, 51, 100, .14) !important;
}

.sistema-feature:hover::before {
  transform: scale(1.35) !important;
  background: rgba(0, 161, 230, .16) !important;
}

.feature-number {
  position: absolute !important;
  top: 22px !important;
  right: 24px !important;
  color: rgba(25, 51, 100, .08) !important;
  font-size: 2.5rem !important;
  font-weight: 950 !important;
  letter-spacing: -.07em !important;
}

.sistema-feature .icon-box {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 24px !important;
  border-radius: 20px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 18px 34px rgba(0, 161, 230, .26) !important;
}

.sistema-feature .icon-box i {
  font-size: 1.45rem !important;
}

.sistema-feature h3 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 12px !important;
  color: #193364 !important;
  font-size: 1.28rem !important;
  font-weight: 950 !important;
  letter-spacing: -.04em !important;
}

.sistema-feature p {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  color: rgba(25,25,25,.62) !important;
  font-size: .96rem !important;
  line-height: 1.62 !important;
}

.feature-cta {
  color: #fff !important;
  background:
    radial-gradient(circle at right top, rgba(0, 161, 230, .42), transparent 42%),
    linear-gradient(135deg, #193364, #191919) !important;
}

.feature-cta .feature-number {
  color: rgba(255,255,255,.10) !important;
}

.feature-cta h3,
.feature-cta p {
  color: #fff !important;
}

.feature-cta p {
  color: rgba(255,255,255,.70) !important;
}

.feature-cta .icon-box {
  background: #00a1e6 !important;
}

/* Animações sutis */

.sistema-dashboard {
  animation: sistemaDashboardFloat 8s ease-in-out infinite !important;
}

.book-stack {
  animation: sistemaBookFloat 6s ease-in-out infinite !important;
}

.side-card-main {
  animation: sistemaCardFloat 7s ease-in-out infinite !important;
}

@keyframes sistemaDashboardFloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@keyframes sistemaBookFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-10px) rotate(-1deg);
  }
}

@keyframes sistemaCardFloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

/* Responsivo */

@media (max-width: 1199.98px) {
  .sistema-dashboard {
    min-height: auto !important;
  }
}

@media (max-width: 991.98px) {
  .sistema-title {
    font-size: clamp(2rem, 8vw, 3.5rem) !important;
  }

  .dashboard-header,
  .configurator-layout {
    grid-template-columns: 1fr !important;
  }

  .configurator-layout {
    display: grid !important;
  }

  .dashboard-flow {
    overflow-x: auto !important;
    padding-bottom: 18px !important;
  }

  .flow-line {
    min-width: 42px !important;
  }
}

@media (max-width: 767.98px) {
  .sistema-showcase {
    padding: 14px !important;
    border-radius: 28px !important;
  }

  .sistema-dashboard {
    border-radius: 24px !important;
  }

  .dashboard-top {
    flex-wrap: wrap !important;
  }

  .dashboard-url {
    order: 3 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .dashboard-header {
    flex-direction: column !important;
  }

  .dashboard-price {
    width: 100% !important;
  }

  .configurator-layout {
    grid-template-columns: 1fr !important;
  }

  .side-metrics {
    grid-template-columns: 1fr !important;
  }

  .sistema-feature {
    min-height: auto !important;
    padding: 24px !important;
  }
}

@media (max-width: 575.98px) {
  .sistema-title {
    letter-spacing: -.055em !important;
  }

  .book-stack {
    width: 200px !important;
  }

  .option-line:hover,
  .option-line.active {
    transform: none !important;
  }

  .sistema-dashboard,
  .book-stack,
  .side-card-main {
    animation: none !important;
  }
}

/* ============================= */
/* COMO FUNCIONA / JORNADA GSA */
/* ============================= */

.jornada-gsa {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(56px, 6vw, 96px) 0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 161, 230, 0.15), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f4fbff 100%) !important;
}

.jornada-panel {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(28px, 5vw, 64px) !important;
  border-radius: 42px !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(0, 161, 230, 0.24), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(0, 161, 230, 0.18), transparent 32%),
    linear-gradient(135deg, #193364 0%, #111a2a 48%, #191919 100%) !important;
  box-shadow: 0 38px 110px rgba(25, 51, 100, 0.24) !important;
  isolation: isolate !important;
}

.jornada-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px) !important;
  background-size: 34px 34px !important;
  mask-image: linear-gradient(120deg, rgba(0,0,0,.95), transparent 78%) !important;
}

.jornada-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -180px !important;
  top: -190px !important;
  width: 460px !important;
  height: 460px !important;
  z-index: -1 !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(0, 161, 230, 0.28), transparent 66%) !important;
  filter: blur(2px) !important;
}

.jornada-content {
  position: relative !important;
  z-index: 3 !important;
}

.jornada-eyebrow {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.10) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.16) !important;
}

.jornada-eyebrow i {
  color: #00a1e6 !important;
}

.jornada-title {
  max-width: 560px !important;
  margin-bottom: 22px !important;
  color: #ffffff !important;
  font-size: clamp(2.2rem, 4vw, 4.35rem) !important;
  line-height: .98 !important;
  font-weight: 950 !important;
  letter-spacing: -0.075em !important;
}

.jornada-lead {
  max-width: 520px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.75 !important;
}

.jornada-highlights {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  max-width: 430px !important;
  margin-top: 28px !important;
}

.jornada-highlights div {
  padding: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.075) !important;
  backdrop-filter: blur(14px) !important;
}

.jornada-highlights strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #ffffff !important;
  font-size: 1.08rem !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
}

.jornada-highlights span {
  display: block !important;
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: .86rem !important;
  font-weight: 700 !important;
}

.jornada-btn {
  min-height: 54px !important;
  padding: 14px 24px !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 42px rgba(0, 161, 230, 0.34) !important;
}

/* Painel da direita */

.jornada-workflow {
  position: relative !important;
  min-height: 610px !important;
}

.workflow-device {
  position: relative !important;
  z-index: 2 !important;
  overflow: hidden !important;
  height: 100% !important;
  min-height: 610px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 34px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(18px) !important;
}

.workflow-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 20px !important;
  border-bottom: 1px solid rgba(25, 51, 100, 0.10) !important;
  background: linear-gradient(135deg, #ffffff, #edf9ff) !important;
}

.workflow-dots {
  display: inline-flex !important;
  gap: 7px !important;
}

.workflow-dots span {
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
}

.workflow-dots span:nth-child(1) {
  background: #ff2f86 !important;
}

.workflow-dots span:nth-child(2) {
  background: #ffe500 !important;
}

.workflow-dots span:nth-child(3) {
  background: #00a1e6 !important;
}

.workflow-label {
  padding: 8px 14px !important;
  border-radius: 999px !important;
  color: #193364 !important;
  background: rgba(0, 161, 230, 0.10) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

.workflow-body {
  padding: clamp(22px, 3vw, 34px) !important;
}

.workflow-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 28px !important;
}

.workflow-header span {
  display: block !important;
  margin-bottom: 8px !important;
  color: #00a1e6 !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
}

.workflow-header h3 {
  margin: 0 !important;
  color: #191919 !important;
  font-size: clamp(1.9rem, 3vw, 3.1rem) !important;
  line-height: .95 !important;
  font-weight: 950 !important;
  letter-spacing: -.065em !important;
}

.workflow-badge {
  padding: 9px 14px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  box-shadow: 0 14px 30px rgba(0, 161, 230, .28) !important;
}

/* Timeline */

.journey-steps {
  position: relative !important;
  display: grid !important;
  gap: 18px !important;
}

.journey-line {
  position: absolute !important;
  top: 28px !important;
  bottom: 28px !important;
  left: 24px !important;
  width: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #00a1e6, rgba(25, 51, 100, 0.12)) !important;
}

.journey-step {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 50px 1fr !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.step-marker {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  justify-content: center !important;
  padding-top: 8px !important;
}

.step-marker span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 18px !important;
  color: #193364 !important;
  background: #ffffff !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 30px rgba(25, 51, 100, 0.10) !important;
}

.journey-step.active .step-marker span {
  color: #ffffff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 18px 36px rgba(0, 161, 230, 0.32) !important;
}

.step-card {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  gap: 15px !important;
  align-items: flex-start !important;
  min-height: 112px !important;
  padding: 18px !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #ffffff, #f7fcff) !important;
  box-shadow: 0 16px 38px rgba(25, 51, 100, 0.07) !important;
  transition: all .28s ease !important;
}

.step-card::after {
  content: "" !important;
  position: absolute !important;
  right: -42px !important;
  bottom: -54px !important;
  width: 120px !important;
  height: 120px !important;
  border-radius: 999px !important;
  background: rgba(0, 161, 230, 0.09) !important;
  transition: all .28s ease !important;
}

.step-card > i {
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 16px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #193364, #00a1e6) !important;
  box-shadow: 0 14px 28px rgba(0, 161, 230, .24) !important;
}

.step-card h3 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 7px !important;
  color: #193364 !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
}

.step-card p {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  color: rgba(25, 25, 25, 0.60) !important;
  font-size: .92rem !important;
  line-height: 1.48 !important;
}

.journey-step:hover .step-card {
  transform: translateX(8px) !important;
  border-color: rgba(0, 161, 230, 0.28) !important;
  box-shadow: 0 22px 54px rgba(25, 51, 100, 0.13) !important;
}

.journey-step:hover .step-card::after {
  transform: scale(1.35) !important;
  background: rgba(0, 161, 230, 0.14) !important;
}

/* Cards flutuantes */

.floating-order-card {
  position: absolute !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  width: 255px !important;
  padding: 15px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.22) !important;
  backdrop-filter: blur(16px) !important;
}

.floating-order-card i {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 16px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 14px 28px rgba(0, 161, 230, .28) !important;
}

.floating-order-card strong {
  display: block !important;
  margin-bottom: 3px !important;
  color: #193364 !important;
  font-size: .94rem !important;
  font-weight: 950 !important;
  letter-spacing: -.025em !important;
}

.floating-order-card span {
  display: block !important;
  color: rgba(25, 25, 25, 0.56) !important;
  font-size: .76rem !important;
  line-height: 1.28 !important;
}

.order-card-one {
  left: -42px !important;
  top: 96px !important;
  animation: jornadaFloatOne 6s ease-in-out infinite !important;
}

.order-card-two {
  right: -34px !important;
  bottom: 68px !important;
  animation: jornadaFloatTwo 7s ease-in-out infinite !important;
}

/* Animações */

.workflow-device {
  animation: jornadaDeviceFloat 8s ease-in-out infinite !important;
}

@keyframes jornadaDeviceFloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@keyframes jornadaFloatOne {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(-1deg);
  }

  50% {
    transform: translate3d(8px, -14px, 0) rotate(1deg);
  }
}

@keyframes jornadaFloatTwo {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(1deg);
  }

  50% {
    transform: translate3d(-8px, -16px, 0) rotate(-1deg);
  }
}

/* Responsivo */

@media (max-width: 1199.98px) {
  .order-card-one {
    left: -18px !important;
  }

  .order-card-two {
    right: -18px !important;
  }
}

@media (max-width: 991.98px) {
  .jornada-panel {
    border-radius: 34px !important;
  }

  .jornada-content {
    text-align: center !important;
  }

  .jornada-title,
  .jornada-lead,
  .jornada-highlights {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .jornada-workflow {
    min-height: auto !important;
  }

  .workflow-device {
    min-height: auto !important;
  }

  .floating-order-card {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin-top: 14px !important;
    animation: none !important;
  }
}

@media (max-width: 767.98px) {
  .jornada-panel {
    padding: 24px !important;
    border-radius: 28px !important;
  }

  .jornada-title {
    font-size: clamp(2rem, 11vw, 3.2rem) !important;
    letter-spacing: -.06em !important;
  }

  .jornada-highlights {
    grid-template-columns: 1fr !important;
  }

  .workflow-header {
    flex-direction: column !important;
  }

  .workflow-badge {
    width: fit-content !important;
  }

  .journey-step {
    grid-template-columns: 42px 1fr !important;
    gap: 12px !important;
  }

  .journey-line {
    left: 20px !important;
  }

  .step-marker span {
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
  }

  .step-card {
    flex-direction: column !important;
    min-height: auto !important;
  }

  .workflow-device {
    border-radius: 26px !important;
  }

  .workflow-body {
    padding: 18px !important;
  }
}

@media (max-width: 575.98px) {
  .workflow-top {
    flex-wrap: wrap !important;
  }

  .workflow-label {
    width: 100% !important;
    text-align: center !important;
  }

  .workflow-device {
    animation: none !important;
  }

  .journey-step:hover .step-card {
    transform: none !important;
  }
}

/* ============================= */
/* DEPOIMENTOS EDITORIAIS GSA */
/* ============================= */

.depoimentos-editorial-gsa {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(0, 161, 230, 0.13), transparent 34%),
    radial-gradient(circle at 92% 18%, rgba(25, 51, 100, 0.11), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f4fbff 52%, #ffffff 100%) !important;
}

.depoimentos-editorial-gsa::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(25, 51, 100, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 51, 100, 0.045) 1px, transparent 1px) !important;
  background-size: 36px 36px !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.80), transparent 76%) !important;
  pointer-events: none !important;
}

.depoimentos-editorial-gsa .container {
  position: relative !important;
  z-index: 2 !important;
}

.depo-editorial-copy {
  position: relative !important;
  z-index: 3 !important;
}

.depo-editorial-eyebrow {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(0, 161, 230, 0.22) !important;
  box-shadow: 0 14px 34px rgba(25, 51, 100, 0.08) !important;
}

.depo-editorial-title {
  max-width: 580px !important;
  margin-bottom: 22px !important;
  color: #191919 !important;
  font-size: clamp(2.2rem, 4vw, 4.35rem) !important;
  line-height: .98 !important;
  font-weight: 950 !important;
  letter-spacing: -0.075em !important;
}

.depo-editorial-lead {
  max-width: 520px !important;
  color: rgba(25, 25, 25, 0.66) !important;
  font-size: clamp(1rem, 1.15vw, 1.12rem) !important;
  line-height: 1.76 !important;
}

.depo-editorial-points {
  display: grid !important;
  gap: 12px !important;
  max-width: 500px !important;
  margin-top: 28px !important;
}

.depo-editorial-points div {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow: 0 14px 34px rgba(25, 51, 100, 0.06) !important;
}

.depo-editorial-points i {
  color: #00a1e6 !important;
  font-size: 1.15rem !important;
}

.depo-editorial-points span {
  color: #193364 !important;
  font-size: .95rem !important;
  font-weight: 850 !important;
}

.depo-editorial-btn {
  min-height: 54px !important;
  padding: 14px 24px !important;
  border-radius: 999px !important;
}

/* Visual */

.depo-editorial-visual {
  position: relative !important;
  padding: clamp(16px, 2vw, 22px) !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 40px !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(0, 161, 230, 0.17), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.90), rgba(234,248,255,.74)) !important;
  box-shadow: 0 34px 96px rgba(25, 51, 100, 0.13) !important;
  backdrop-filter: blur(18px) !important;
}

.editorial-gallery {
  display: grid !important;
  grid-template-columns: 1.35fr .85fr !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.gallery-main,
.gallery-small {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 32px !important;
  background: #193364 !important;
  box-shadow: 0 24px 64px rgba(25, 51, 100, 0.16) !important;
}

.gallery-main {
  min-height: 520px !important;
}

.gallery-side {
  display: grid !important;
  gap: 18px !important;
}

.gallery-small {
  min-height: 251px !important;
}

.gallery-main img,
.gallery-small img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .55s ease !important;
}

.gallery-main:hover img,
.gallery-small:hover img {
  transform: scale(1.045) !important;
}

.gallery-main::after,
.gallery-small::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(25, 51, 100, 0.04) 0%, rgba(25, 25, 25, 0.78) 100%),
    radial-gradient(circle at 20% 12%, rgba(0, 161, 230, 0.28), transparent 34%) !important;
  z-index: 2 !important;
}

.gallery-caption {
  position: absolute !important;
  left: 28px !important;
  right: 28px !important;
  bottom: 28px !important;
  z-index: 3 !important;
}

.gallery-caption span {
  display: inline-flex !important;
  margin-bottom: 12px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: rgba(255,255,255,0.14) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  backdrop-filter: blur(12px) !important;
}

.gallery-caption strong {
  display: block !important;
  max-width: 420px !important;
  color: #ffffff !important;
  font-size: clamp(1.75rem, 2.6vw, 2.65rem) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.065em !important;
}

.gallery-small-caption {
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: fit-content !important;
  max-width: calc(100% - 32px) !important;
  padding: 10px 13px !important;
  border-radius: 999px !important;
  color: #193364 !important;
  background: rgba(255,255,255,.88) !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.16) !important;
  backdrop-filter: blur(12px) !important;
}

.gallery-small-caption i {
  color: #00a1e6 !important;
}

/* Depoimentos integrados */

.editorial-testimonials {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 18px !important;
}

.editorial-testimonial-card {
  position: relative !important;
  overflow: hidden !important;
  min-height: 240px !important;
  padding: 26px !important;
  border: 1px solid rgba(25, 51, 100, 0.10) !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 20px 54px rgba(25, 51, 100, 0.09) !important;
}

.editorial-testimonial-card::after {
  content: "" !important;
  position: absolute !important;
  right: -48px !important;
  bottom: -58px !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 999px !important;
  background: rgba(0, 161, 230, 0.10) !important;
}

.editorial-testimonial-card.dark {
  color: #ffffff !important;
  background:
    radial-gradient(circle at right top, rgba(0, 161, 230, 0.38), transparent 42%),
    linear-gradient(135deg, #193364, #191919) !important;
}

.testimonial-icon {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  margin-bottom: 22px !important;
  border-radius: 18px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 16px 34px rgba(0, 161, 230, 0.26) !important;
}

.testimonial-icon i {
  font-size: 1.55rem !important;
}

.editorial-testimonial-card p {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 22px !important;
  color: rgba(25, 25, 25, 0.72) !important;
  font-size: 1rem !important;
  line-height: 1.58 !important;
  font-weight: 650 !important;
}

.editorial-testimonial-card.dark p {
  color: rgba(255, 255, 255, 0.82) !important;
}

.editorial-testimonial-card strong {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  margin-bottom: 4px !important;
  color: #193364 !important;
  font-size: .95rem !important;
  font-weight: 950 !important;
  letter-spacing: -0.025em !important;
}

.editorial-testimonial-card span {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  color: rgba(25, 25, 25, 0.52) !important;
  font-size: .8rem !important;
}

.editorial-testimonial-card.dark strong {
  color: #ffffff !important;
}

.editorial-testimonial-card.dark span {
  color: rgba(255, 255, 255, 0.58) !important;
}

/* Responsivo */

@media (max-width: 991.98px) {
  .depo-editorial-copy {
    text-align: center !important;
  }

  .depo-editorial-title,
  .depo-editorial-lead,
  .depo-editorial-points {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .editorial-gallery {
    grid-template-columns: 1fr !important;
  }

  .gallery-main {
    min-height: 450px !important;
  }

  .gallery-side {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gallery-small {
    min-height: 240px !important;
  }
}

@media (max-width: 767.98px) {
  .depo-editorial-title {
    font-size: clamp(2rem, 11vw, 3.2rem) !important;
    letter-spacing: -.06em !important;
  }

  .depo-editorial-visual {
    padding: 14px !important;
    border-radius: 30px !important;
  }

  .gallery-main,
  .gallery-small,
  .editorial-testimonial-card {
    border-radius: 26px !important;
  }

  .gallery-side,
  .editorial-testimonials {
    grid-template-columns: 1fr !important;
  }

  .gallery-main {
    min-height: 390px !important;
  }

  .gallery-small {
    min-height: 235px !important;
  }

  .editorial-testimonial-card {
    min-height: auto !important;
  }

  .gallery-caption {
    left: 22px !important;
    right: 22px !important;
    bottom: 22px !important;
  }

  .gallery-caption strong {
    font-size: 1.85rem !important;
  }
}

@media (max-width: 575.98px) {
  .depo-editorial-points div {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .gallery-main {
    min-height: 350px !important;
  }

  .gallery-caption strong {
    font-size: 1.65rem !important;
  }
}

/* ============================= */
/* HERO GSA SIGNATURE */
/* ============================= */

.hero-gsa-signature {
  position: relative !important;
  overflow: hidden !important;
  min-height: 96vh !important;
  display: flex !important;
  align-items: center !important;
  padding: clamp(72px, 8vw, 130px) 0 !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(0, 161, 230, 0.24), transparent 34%),
    radial-gradient(circle at 84% 18%, rgba(0, 161, 230, 0.16), transparent 30%),
    linear-gradient(135deg, #f7fcff 0%, #ffffff 42%, #eef9ff 100%) !important;
  isolation: isolate !important;
}

.hero-gsa-signature::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -3 !important;
  background-image:
    linear-gradient(rgba(25, 51, 100, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 51, 100, 0.05) 1px, transparent 1px) !important;
  background-size: 38px 38px !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 78%) !important;
}

.hero-gsa-signature::after {
  content: "" !important;
  position: absolute !important;
  right: -18vw !important;
  top: 8vh !important;
  z-index: -2 !important;
  width: 58vw !important;
  height: 58vw !important;
  max-width: 760px !important;
  max-height: 760px !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle, rgba(0, 161, 230, 0.22), transparent 64%) !important;
}

.hero-gsa-signature .container {
  position: relative !important;
  z-index: 2 !important;
}

/* Texto */

.hero-signature-copy {
  position: relative !important;
  z-index: 4 !important;
}

.hero-logo-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 30px !important;
  padding: 10px 18px 10px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(25,51,100,.10) !important;
  box-shadow: 0 18px 42px rgba(25,51,100,.10) !important;
  backdrop-filter: blur(16px) !important;
}

.hero-logo-pill img {
  display: block !important;
  max-width: 98px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
}

.hero-logo-pill span {
  color: #193364 !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
}

.hero-signature-copy h1 {
  max-width: 720px !important;
  margin: 0 0 28px !important;
  color: #191919 !important;
  font-size: clamp(3.8rem, 6vw, 7.8rem) !important;
  line-height: .82 !important;
  font-weight: 950 !important;
  letter-spacing: -0.095em !important;
}

.hero-signature-copy h1 span {
  color: #00a1e6 !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.hero-signature-copy p {
  max-width: 570px !important;
  margin: 0 0 34px !important;
  color: rgba(25,25,25,.66) !important;
  font-size: clamp(1.05rem, 1.25vw, 1.22rem) !important;
  line-height: 1.65 !important;
}

/* Botões */

.hero-signature-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-bottom: 30px !important;
}

.btn-gsa-main,
.btn-gsa-ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 58px !important;
  padding: 15px 28px !important;
  border-radius: 999px !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  letter-spacing: -0.025em !important;
  transition: all .25s ease !important;
}

.btn-gsa-main {
  color: #ffffff !important;
  border: 0 !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 22px 48px rgba(0,161,230,.36) !important;
}

.btn-gsa-main:hover {
  color: #ffffff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 30px 64px rgba(0,161,230,.44) !important;
}

.btn-gsa-ghost {
  color: #193364 !important;
  border: 1px solid rgba(25,51,100,.15) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 16px 36px rgba(25,51,100,.08) !important;
}

.btn-gsa-ghost:hover {
  color: #ffffff !important;
  background: #193364 !important;
  border-color: #193364 !important;
  transform: translateY(-3px) !important;
}

/* Mini navegação */

.hero-signature-mini {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.hero-signature-mini span {
  display: inline-flex !important;
  align-items: center !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  color: #193364 !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(25,51,100,.10) !important;
  font-size: .8rem !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 28px rgba(25,51,100,.055) !important;
}

/* Visual */

.hero-signature-visual {
  position: relative !important;
  min-height: 680px !important;
}

.hero-signature-visual::before {
  content: "" !important;
  position: absolute !important;
  inset: 52px 0 42px 44px !important;
  border-radius: 56px !important;
  background:
    radial-gradient(circle at 24% 20%, rgba(0,161,230,.28), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.76), rgba(234,248,255,.62)) !important;
  border: 1px solid rgba(25,51,100,.10) !important;
  box-shadow: 0 38px 105px rgba(25,51,100,.17) !important;
  transform: rotate(-4deg) !important;
}

.visual-bg-word {
  position: absolute !important;
  top: 6px !important;
  right: 8px !important;
  z-index: 1 !important;
  color: rgba(25,51,100,.055) !important;
  font-size: clamp(9rem, 18vw, 17rem) !important;
  line-height: .75 !important;
  font-weight: 950 !important;
  letter-spacing: -0.12em !important;
}

/* Livro 3D */

.book-scene {
  position: absolute !important;
  left: 6% !important;
  top: 50px !important;
  z-index: 4 !important;
  width: 430px !important;
  height: 520px !important;
  perspective: 1300px !important;
}

.book-3d {
  position: absolute !important;
  inset: 0 !important;
  transform-style: preserve-3d !important;
  transform: rotateY(-18deg) rotateX(7deg) rotateZ(-4deg) !important;
}

.book-front {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  padding: 34px !important;
  border-radius: 18px 34px 34px 18px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 82% 14%, rgba(0,161,230,.72), transparent 34%),
    linear-gradient(145deg, #193364 0%, #101827 58%, #191919 100%) !important;
  box-shadow: 0 44px 105px rgba(25,51,100,.32) !important;
  transform: translateZ(34px) !important;
}

.book-front::before {
  content: "" !important;
  position: absolute !important;
  inset: 22px auto 22px 26px !important;
  width: 5px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #00a1e6, rgba(255,255,255,.18)) !important;
}

.book-front::after {
  content: "" !important;
  position: absolute !important;
  right: -80px !important;
  bottom: -95px !important;
  width: 240px !important;
  height: 240px !important;
  border-radius: 50% !important;
  background: rgba(0,161,230,.18) !important;
}

.book-logo {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 118px !important;
  height: 62px !important;
  padding: 10px 16px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.18) !important;
}

.book-logo img {
  max-width: 88px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

.book-title {
  position: absolute !important;
  left: 38px !important;
  right: 36px !important;
  bottom: 42px !important;
  z-index: 2 !important;
}

.book-title small {
  display: block !important;
  margin-bottom: 14px !important;
  color: #00a1e6 !important;
  font-size: .75rem !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
}

.book-title strong {
  display: block !important;
  max-width: 270px !important;
  margin-bottom: 12px !important;
  color: #ffffff !important;
  font-size: 3.7rem !important;
  line-height: .86 !important;
  font-weight: 950 !important;
  letter-spacing: -0.08em !important;
}

.book-title span {
  display: block !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

.book-side {
  position: absolute !important;
  top: 10px !important;
  right: -54px !important;
  width: 70px !important;
  height: calc(100% - 20px) !important;
  border-radius: 0 28px 28px 0 !important;
  background:
    linear-gradient(90deg, #0c1422, #193364 62%, #00a1e6) !important;
  transform: rotateY(90deg) translateZ(34px) !important;
  transform-origin: left center !important;
}

.book-pages {
  position: absolute !important;
  top: 16px !important;
  right: -34px !important;
  width: 50px !important;
  height: calc(100% - 32px) !important;
  border-radius: 0 24px 24px 0 !important;
  background:
    repeating-linear-gradient(
      to bottom,
      #ffffff 0px,
      #ffffff 6px,
      #d9e7ef 7px
    ) !important;
  transform: rotateY(90deg) translateZ(10px) !important;
  transform-origin: left center !important;
  opacity: .95 !important;
}

.book-shadow {
  position: absolute !important;
  left: 38px !important;
  right: -16px !important;
  bottom: -36px !important;
  height: 80px !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse, rgba(25,51,100,.30), transparent 68%) !important;
  filter: blur(8px) !important;
}

/* Painel de cotação */

.quote-panel {
  position: absolute !important;
  right: 0 !important;
  bottom: 46px !important;
  z-index: 5 !important;
  width: 330px !important;
  padding: 20px !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(25,51,100,.12) !important;
  box-shadow: 0 28px 78px rgba(25,51,100,.22) !important;
  backdrop-filter: blur(18px) !important;
}

.quote-panel-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}

.quote-panel-top span {
  color: rgba(25,25,25,.54) !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
}

.quote-panel-top strong {
  color: #193364 !important;
  font-size: 1.65rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
}

.quote-options {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}

.quote-options div {
  padding: 12px !important;
  border-radius: 16px !important;
  background: #f3fbff !important;
  border: 1px solid rgba(25,51,100,.08) !important;
}

.quote-options small {
  display: block !important;
  margin-bottom: 4px !important;
  color: rgba(25,25,25,.45) !important;
  font-size: .66rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.quote-options b {
  display: block !important;
  color: #193364 !important;
  font-size: .82rem !important;
  font-weight: 950 !important;
}

.quote-progress {
  overflow: hidden !important;
  height: 8px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: rgba(25,51,100,.10) !important;
}

.quote-progress span {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #00a1e6, #193364) !important;
}

.quote-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 13px 14px !important;
  border-radius: 18px !important;
  color: #193364 !important;
  background: rgba(0,161,230,.09) !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
}

.quote-bottom i {
  color: #00a1e6 !important;
  font-size: 1.2rem !important;
}

/* Animação suave */

.book-scene {
  animation: gsaBookFloat 8s ease-in-out infinite !important;
}

.quote-panel {
  animation: gsaQuoteFloat 7s ease-in-out infinite !important;
}

@keyframes gsaBookFloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-12px);
  }
}

@keyframes gsaQuoteFloat {
  0%, 100% {
    transform: translateY(0) rotate(1deg);
  }

  50% {
    transform: translateY(-10px) rotate(-.5deg);
  }
}

/* Responsivo */

@media (max-width: 1199.98px) {
  .book-scene {
    width: 380px !important;
    height: 470px !important;
  }

  .book-title strong {
    font-size: 3.2rem !important;
  }

  .quote-panel {
    width: 310px !important;
  }
}

@media (max-width: 991.98px) {
  .hero-gsa-signature {
    min-height: auto !important;
    text-align: center !important;
  }

  .hero-signature-copy p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-signature-actions,
  .hero-signature-mini {
    justify-content: center !important;
  }

  .hero-signature-visual {
    min-height: 650px !important;
    margin-top: 30px !important;
  }

  .hero-signature-visual::before {
    inset: 40px 20px 30px !important;
  }

  .book-scene {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .quote-panel {
    right: 50% !important;
    transform: translateX(50%) !important;
    bottom: 20px !important;
    animation: none !important;
  }

  .book-scene {
    animation: none !important;
  }
}

@media (max-width: 767.98px) {
  .hero-gsa-signature {
    padding: 58px 0 76px !important;
  }

  .hero-signature-copy h1 {
    font-size: clamp(3rem, 15vw, 4.6rem) !important;
    letter-spacing: -0.075em !important;
  }

  .hero-signature-copy p {
    font-size: .98rem !important;
    line-height: 1.58 !important;
  }

  .hero-signature-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .btn-gsa-main,
  .btn-gsa-ghost {
    width: 100% !important;
  }

  .hero-signature-mini {
    display: none !important;
  }

  .hero-signature-visual {
    min-height: 570px !important;
  }

  .book-scene {
    width: 310px !important;
    height: 390px !important;
    top: 34px !important;
  }

  .book-title strong {
    font-size: 2.6rem !important;
  }

  .quote-panel {
    width: calc(100% - 32px) !important;
  }
}

@media (max-width: 575.98px) {
  .hero-logo-pill {
    width: 100% !important;
    justify-content: center !important;
    flex-direction: column !important;
    border-radius: 28px !important;
  }

  .hero-signature-copy h1 {
    font-size: 3.2rem !important;
  }

  .hero-signature-visual::before {
    border-radius: 34px !important;
  }

  .book-scene {
    width: 280px !important;
    height: 355px !important;
  }

  .book-front {
    padding: 26px !important;
  }

  .book-title {
    left: 30px !important;
    right: 28px !important;
    bottom: 32px !important;
  }

  .book-title strong {
    font-size: 2.35rem !important;
  }

  .quote-options {
    grid-template-columns: 1fr !important;
  }
}

/* ============================= */
/* FOOTER GSA SIMPLES */
/* ============================= */

.footer-gsa-simple {
  position: relative !important;
  overflow: hidden !important;
  padding: 54px 0 26px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 161, 230, 0.20), transparent 32%),
    linear-gradient(135deg, #193364 0%, #111827 58%, #191919 100%) !important;
}

.footer-gsa-simple::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 34px 34px !important;
  opacity: .55 !important;
  pointer-events: none !important;
}

.footer-gsa-simple .container {
  position: relative !important;
  z-index: 2 !important;
}

.footer-gsa-box {
  display: grid !important;
  grid-template-columns: 1.25fr 1.5fr auto !important;
  align-items: center !important;
  gap: 34px !important;
  padding: 28px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.20) !important;
  backdrop-filter: blur(16px) !important;
}

/* Marca */

.footer-gsa-brand {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.footer-gsa-brand img {
  display: block !important;
  width: auto !important;
  max-width: 132px !important;
  max-height: 58px !important;
  padding: 12px 16px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.16) !important;
  object-fit: contain !important;
}

.footer-gsa-brand p {
  max-width: 300px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.68) !important;
  font-size: .92rem !important;
  line-height: 1.5 !important;
}

/* Navegação */

.footer-gsa-nav {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.footer-gsa-nav a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.72) !important;
  text-decoration: none !important;
  font-size: .88rem !important;
  font-weight: 800 !important;
  transition: all .22s ease !important;
}

.footer-gsa-nav a:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,.10) !important;
}

/* Botão */

.footer-gsa-action {
  display: flex !important;
  justify-content: flex-end !important;
}

.footer-gsa-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 48px !important;
  padding: 12px 19px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #00a1e6, #007fc2) !important;
  box-shadow: 0 18px 40px rgba(0,161,230,.30) !important;
  text-decoration: none !important;
  font-size: .9rem !important;
  font-weight: 950 !important;
  transition: all .22s ease !important;
}

.footer-gsa-btn:hover {
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 50px rgba(0,161,230,.38) !important;
}

.footer-gsa-btn i {
  font-size: .95rem !important;
}

/* Linha inferior */

.footer-gsa-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 22px 4px 0 !important;
  color: rgba(255,255,255,.52) !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
}

.footer-gsa-bottom > div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.footer-gsa-bottom > div span {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.58) !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}

/* Responsivo */

@media (max-width: 991.98px) {
  .footer-gsa-box {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 24px !important;
  }

  .footer-gsa-brand {
    flex-direction: column !important;
    justify-content: center !important;
  }

  .footer-gsa-brand p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .footer-gsa-action {
    justify-content: center !important;
  }

  .footer-gsa-bottom {
    flex-direction: column !important;
    text-align: center !important;
  }

  .footer-gsa-bottom > div {
    justify-content: center !important;
  }
}

@media (max-width: 575.98px) {
  .footer-gsa-simple {
    padding: 42px 0 22px !important;
  }

  .footer-gsa-box {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .footer-gsa-brand img {
    max-width: 120px !important;
  }

  .footer-gsa-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
  }

  .footer-gsa-nav a {
    justify-content: center !important;
    background: rgba(255,255,255,.06) !important;
  }

  .footer-gsa-btn {
    width: 100% !important;
  }
}