/* ========== BASE CSS ========== */
    :root {
      --blue-dark: #143c7d;
      --blue-light: #5ea0bf;
      --blue-accent: #1f4fbf;
      --bg: #ffffff;
      --text: #111111;
      --muted: #4f5d70;
      --card-bg: #f5f7fb;
      --success: #10b981;
      --warning: #f59e0b;
      --header-offset: 96px;
      --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
      --font-display: 'Sora', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
      --radius-sm: 10px;
      --radius-md: 12px;
      --radius-lg: 14px;
      --shadow-sm: 0 6px 16px rgba(20, 60, 125, 0.1);
      --shadow-md: 0 12px 28px rgba(20, 60, 125, 0.14);
      --shadow-lg: 0 18px 40px rgba(20, 60, 125, 0.18);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: var(--header-offset);
    }

    body {
      margin: 0;
      font-family: var(--font-body);
      background-color: var(--bg);
      color: var(--text);
      line-height: 1.65;
      font-size: 16px;
    }

    h1, h2, h3, h4 {
      font-family: var(--font-display);
      color: var(--blue-dark);
      margin-top: 0;
      font-weight: 700;
      letter-spacing: -0.015em;
    }

    h1 {
      font-size: clamp(1.6rem, 3.4vw, 2.2rem);
      line-height: 1.2;
      margin-bottom: 1.5rem;
    }

    h2 {
      font-size: clamp(1.5rem, 3vw, 2rem);
      margin-bottom: 1.5rem;
    }

    h3 {
      font-size: 1.15rem;
      margin-bottom: 0.75rem;
    }

    h4 {
      font-size: 1rem;
      margin-bottom: 0.5rem;
    }

    .container {
      width: 100%;
      max-width: 1080px;
      margin: 0 auto;
      padding: 0 1rem;
    }

    @media (min-width: 640px) {
      .container {
        padding: 0 1.5rem;
      }
    }

    @media (max-width: 900px) {
      :root {
        --header-offset: 76px;
      }
    }

    .section {
      padding: 2.5rem 0;
      position: relative;
      z-index: 10;
      background-color: var(--bg);
    }

    @media (min-width: 768px) {
      .section {
        padding: 4rem 0;
      }
    }

    .section--alt {
      background-color: #f0f3fb;
    }

    .section--cta {
      z-index: 10;
    }


    /* ========== HERO ========== */
    .hero {
      padding: 2rem 0;
      position: relative;
      z-index: 10;
      background-color: var(--bg);
    }

    @media (min-width: 768px) {
      .hero {
        padding: 3rem 0;
      }
    }

    .hero__content {
      display: grid;
      gap: 2rem;
      align-items: center;
    }

    @media (min-width: 1024px) {
      .hero__content {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        gap: 2.75rem;
      }
    }

    .hero__text {
      max-width: 65ch;
      margin: 0;
    }

    .hero__badge {
      display: inline-block;
      background: linear-gradient(135deg, #ecfdf5, #d1fae5);
      color: #047857;
      font-size: 0.85rem;
      font-weight: 600;
      padding: 0.45rem 1rem;
      border-radius: 999px;
      border: 1px solid #a7f3d0;
      margin-bottom: 1.25rem;
      letter-spacing: 0.01em;
    }

    .hero__text h1 {
      max-width: 20ch;
    }

    .hero__subtitle {
      font-size: 1.15rem;
      color: var(--muted);
      margin-bottom: 1.5rem;
      line-height: 1.7;
      max-width: 62ch;
    }

    .hero__media {
      width: 100%;
    }

    .hero__media-card {
      margin: 0;
      background: #ffffff;
      border: 1px solid rgba(20, 60, 125, 0.16);
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-md);
    }

    .hero__media-video {
      width: 100%;
      height: auto;
      display: block;
      aspect-ratio: 800 / 443;
      object-fit: cover;
      background: #0b2148;
    }

    .hero__media-caption {
      margin: 0;
      padding: 0.9rem 1rem;
      color: var(--muted);
      font-size: 0.9rem;
      line-height: 1.5;
      border-top: 1px solid rgba(20, 60, 125, 0.12);
      background: #ffffff;
    }

    @media (max-width: 1023px) {
      .hero__media {
        max-width: 760px;
        margin: 0 auto;
      }
    }

    .social-proof-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: #ecfdf5;
      border: 1px solid #a7f3d0;
      border-radius: 999px;
      padding: 0.6rem 1rem;
      margin-bottom: 1.5rem;
      font-size: 0.95rem;
      color: #047857;
      font-weight: 600;
    }

    .badge-check {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      background: var(--success);
      color: white;
      border-radius: 50%;
      font-weight: 700;
      font-size: 0.8rem;
    }

    .hero-box {
      max-width: 100%;
      margin: 1.5rem 0 2rem 0;
      padding: 1.5rem;
      background: linear-gradient(135deg, #f0f7ff, #f5f7fb);
      border-radius: var(--radius-lg);
      border: 2px solid rgba(20, 60, 125, 0.2);
      box-shadow: var(--shadow-sm);
    }

    .hero-box p {
      margin: 0.5rem 0;
      font-size: 1rem;
      line-height: 1.65;
      max-width: 65ch;
    }

    .features-box {
      max-width: 100%;
      margin: 2rem 0;
      padding: 1.5rem;
      background: #f8faff;
      border: 2px solid rgba(31, 79, 191, 0.15);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-sm);
    }

    .features-box h2 {
      margin-top: 0;
      margin-bottom: 1rem;
      font-size: 1.3rem;
    }

    .features-box ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      grid-template-columns: 1fr;
      gap: 0.6rem;
    }

    @media (min-width: 640px) {
      .features-box ul {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    .features-box li {
      padding-left: 0;
      font-size: 0.95rem;
      line-height: 1.4;
    }

    /* ========== BUTTONS ========== */
    .button {
      display: inline-block;
      padding: 0.75rem 1.25rem;
      background: var(--blue-dark);
      color: #ffffff;
      border-radius: var(--radius-sm);
      font-weight: 600;
      text-decoration: none;
      font-size: 0.95rem;
      transition: all 0.2s ease;
      border: 2px solid transparent;
      cursor: pointer;
      text-align: center;
    }

    .button:hover {
      background: #0f2f63;
      transform: translateY(-2px);
      box-shadow: var(--shadow-sm);
    }

    .button--primary {
      background: linear-gradient(135deg, var(--blue-dark), #0b2b5a);
      box-shadow: var(--shadow-sm);
    }

    .button--outline {
      background: transparent;
      color: var(--blue-dark);
      border: 2px solid var(--blue-dark);
    }

    .button--outline:hover {
      background: rgba(20, 60, 125, 0.05);
    }

    .cta-container {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin: 2rem 0 0;
    }

    @media (min-width: 640px) {
      .cta-container {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
      }

      .cta-container .button {
        margin: 0.25rem;
      }
    }

    .hero__coupon-note {
      text-align: left;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1rem;
    }

    @media (min-width: 640px) {
      .hero .cta-container {
        justify-content: flex-start;
      }
    }

    @media (max-width: 639px) {
      .hero .cta-container .button {
        width: 100%;
      }
    }

    /* ========== GRID ========== */
    .grid {
      display: grid;
      gap: 1.5rem;
    }

    .grid--3 {
      grid-template-columns: 1fr;
      gap: 1.25rem;
    }

    @media (min-width: 640px) {
      .grid--3 {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (min-width: 1024px) {
      .grid--3 {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    /* ========== CARDS ========== */
    .cards {
      margin-top: 1.5rem;
    }

    .card {
      background: #ffffff;
      border-radius: var(--radius-md);
      padding: 1.5rem;
      box-shadow: var(--shadow-sm);
      border: 1px solid rgba(20, 60, 125, 0.08);
      transition: all 0.2s ease;
      display: flex;
      flex-direction: column;
    }

    .card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-2px);
    }

    .card h3 {
      margin-top: 0;
      color: var(--blue-dark);
    }

    .card p {
      margin: 0;
      color: var(--muted);
      flex-grow: 1;
    }

    /* ========== MODULES TIMELINE ========== */
    .modules-timeline {
      background-color: #ffffff;
    }

    .modules-timeline__container {
      min-height: 80vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .modules-timeline__grid {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      --modules-gap: 1.5rem;
      gap: var(--modules-gap);
      margin-top: 2.5rem;
      --modules-dot-size: 18px;
      --modules-node-gap: 0.6rem;
      --modules-month-size: 0.9rem;
    }

    .modules-timeline__line {
      position: absolute;
      left: calc((100% - (var(--modules-gap) * 3)) / 8);
      right: 0;
      top: calc(var(--modules-month-size) + var(--modules-node-gap) + (var(--modules-dot-size) / 2));
      height: 3px;
      background: #e5e7eb;
      border-radius: 999px;
      overflow: hidden;
    }

    .modules-timeline__line-fill {
      display: block;
      width: 0;
      height: 100%;
      background: #2563eb;
      border-radius: 999px;
      transition: width 0.2s linear, height 0.2s linear;
    }

    .modules-timeline__item {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.25rem;
    }

    .modules-timeline__node {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.6rem;
      transform: scale(0.95);
      transition: transform 0.28s ease, box-shadow 0.28s ease;
    }

    .modules-timeline__node.is-visible {
      transform: scale(1);
    }

    .modules-timeline__month {
      font-size: 0.9rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--blue-dark);
      line-height: 1;
    }

    .modules-timeline__dot {
      width: var(--modules-dot-size);
      height: var(--modules-dot-size);
      border-radius: 50%;
      background: #ffffff;
      border: 2px solid #2563eb;
      box-shadow: 0 0 0 rgba(37, 99, 235, 0);
      transition: box-shadow 0.28s ease;
    }

    .modules-timeline__node.is-visible .modules-timeline__dot {
      box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
    }

    .modules-timeline__card {
      width: 100%;
      background: #ffffff;
      border: 1px solid #e6eeff;
      border-radius: var(--radius-md);
      padding: 1.25rem;
      box-shadow: var(--shadow-sm);
      opacity: 0;
      transform: translateY(12px);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .modules-timeline__card.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .modules-timeline__card-date {
      margin: 0 0 0.75rem;
      color: var(--muted);
      font-weight: 600;
      font-size: 0.9rem;
    }

    .modules-timeline__dropdowns {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }

    .module-dropdown {
      border: 1px solid #e6eeff;
      border-radius: var(--radius-sm);
      padding: 0.6rem 0.85rem;
      background: #ffffff;
      box-shadow: var(--shadow-sm);
    }

    .module-dropdown summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      font-weight: 600;
      color: var(--blue-dark);
      font-size: 0.95rem;
    }

    .module-dropdown summary::-webkit-details-marker {
      display: none;
    }

    .module-dropdown summary::after {
      content: '▾';
      font-size: 0.9rem;
      color: #2563eb;
      transition: transform 0.2s ease;
    }

    .module-dropdown[open] summary::after {
      transform: rotate(180deg);
    }

    .module-dropdown__list {
      margin: 0.6rem 0 0;
      padding-left: 1.1rem;
      color: var(--muted);
      font-size: 0.92rem;
      line-height: 1.5;
    }

    .module-dropdown__list li {
      margin-bottom: 0.35rem;
    }

    .module-dropdown__list li:last-child {
      margin-bottom: 0;
    }

    @media (max-width: 960px) {
      .modules-timeline__container {
        min-height: auto;
      }

      .modules-timeline__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
      }

      .modules-timeline__line {
        left: 1.5rem;
        right: auto;
        top: 0;
        width: 3px;
        height: 100%;
      }

      .modules-timeline__line-fill {
        width: 100%;
        height: 0;
      }

      .modules-timeline__item {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: start;
        gap: 1rem;
      }

      .modules-timeline__node {
        width: 3rem;
        align-items: center;
      }

      .modules-timeline__month {
        font-size: 0.85rem;
      }
    }

    /* ========== TIMELINE ========== */
    .timeline {
      margin-top: 2rem;
      position: relative;
      padding-left: 2rem;
    }

    .timeline__item {
      position: relative;
      margin-bottom: 2rem;
      padding-left: 1rem;
    }

    .timeline__item:last-child {
      margin-bottom: 0;
    }

    /* Linha vertical - apenas nos itens que NÃO são o último */
    .timeline__item:not(:last-child)::before {
      content: '';
      position: absolute;
      left: -1.5rem; /* Centralizado com o dot */
      top: 1.2rem; /* Começa abaixo do dot */
      bottom: -2rem; /* Vai até o próximo item */
      width: 2px;
      background: rgba(20, 60, 125, 0.25);
      transform: translateX(-50%);
    }

    .timeline__dot {
      position: absolute;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--blue-dark), #0b2b5a);
      left: -2rem;
      top: 0.25rem;
      border: 3px solid var(--bg);
      box-shadow: 0 0 0 3px rgba(20, 60, 125, 0.15);
      z-index: 1;
    }

    @media (min-width: 768px) {
      .timeline {
        padding-left: 2.5rem;
      }

      .timeline__item:not(:last-child)::before {
        left: -2rem;
        bottom: -2.5rem;
      }

      .timeline__dot {
        left: -2.5rem;
      }

      .timeline__item:not(:last-child) {
        margin-bottom: 2.5rem;
      }
    }

    .timeline__content h3 {
      margin-top: 0;
      margin-bottom: 0.5rem;
    }

    .timeline__content p {
      margin: 0;
      color: var(--muted);
    }

    /* ========== GUARANTEE ========== */
    .guarantee-section {
      text-align: center;
    }

    .guarantee-section h2 {
      color: var(--success);
    }

    .guarantee-section p {
      font-size: 1.05rem;
      max-width: 600px;
      margin: 1rem auto 0;
    }

    /* ========== TEAM ========== */
    .section__intro {
      text-align: center;
      font-size: 1.05rem;
      color: var(--muted);
      max-width: 65ch;
      line-height: 1.65;
      margin: 0 auto 2rem;
    }

    .team-section {
      background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
      position: relative;
      z-index: 10;
    }

    .team-section h2 {
      text-align: center;
    }

    .team-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 2rem;
      margin-top: 2rem;
    }

    @media (min-width: 640px) {
      .team-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (min-width: 1024px) {
      .team-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
      }
    }

    .team-card {
      background: #ffffff;
      border-radius: var(--radius-md);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      border: 1px solid rgba(20, 60, 125, 0.06);
      transition: all 0.3s ease;
    }

    .team-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
    }

    .team-card__photo {
      width: 100%;
      height: 280px;
      object-fit: contain;
      object-position: center center;
      background-color: #f5f7fb;
    }

    .team-card__content {
      padding: 1.25rem 1.5rem 1.5rem;
    }

    .team-card__name {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--blue-dark);
      margin: 0 0 0.75rem 0;
    }

    .team-card__bio {
      font-size: 0.9rem;
      line-height: 1.65;
      color: var(--muted);
      margin: 0;
      max-width: 65ch;
    }

    /* ========== FAQ ========== */
    .faq {
      margin-top: 2rem;
    }

    .faq__item {
      border-radius: var(--radius-sm);
      border: 1px solid rgba(20, 60, 125, 0.16);
      background: #ffffff;
      padding: 1rem;
      margin-bottom: 0.8rem;
    }

    .faq__item summary {
      cursor: pointer;
      font-weight: 600;
      list-style: none;
      user-select: none;
      padding: 0.5rem 0;
      color: var(--blue-dark);
      font-size: 0.95rem;
    }

    .faq__item summary::-webkit-details-marker {
      display: none;
    }

    .faq__item summary::after {
      content: " +";
      float: right;
      font-weight: 700;
      color: var(--blue-light);
    }

    .faq__item[open] summary::after {
      content: " −";
    }

    .faq__item[open] summary {
      margin-bottom: 0.5rem;
    }

    .faq__item p {
      margin: 0.6rem 0 0;
      font-size: 0.9rem;
      color: var(--muted);
      line-height: 1.65;
      max-width: 65ch;
    }

    /* ========== BANCO DE QUESTÕES ========== */
    .questoes__header {
      text-align: center;
      margin-bottom: 3rem;
    }

    .questoes__exclusive-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: linear-gradient(135deg, var(--blue-dark), #0b2b5a);
      color: #ffffff;
      border-radius: 999px;
      padding: 0.5rem 1.25rem;
      margin-bottom: 1.5rem;
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .questoes__showcase {
      display: grid;
      grid-template-columns: 1fr;
      gap: 3rem;
      align-items: start;
    }

    @media (min-width: 1024px) {
      .questoes__showcase {
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
      }

      .questoes__demo {
        position: static;
      }
    }

    .questoes__features {
      display: flex;
      flex-direction: column;
      gap: 2rem;
    }

    .questoes__feature-group {
      background: var(--card-bg);
      border-radius: var(--radius-md);
      padding: 1.5rem;
      border: 1px solid rgba(20, 60, 125, 0.08);
    }

    .questoes__feature-group h4 {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      margin-bottom: 1rem;
      color: var(--blue-dark);
    }

    .questoes__list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }

    .questoes__list li {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      font-size: 0.95rem;
      color: var(--text);
    }

    .questoes__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      background: var(--success);
      color: white;
      border-radius: 50%;
      font-size: 0.7rem;
      font-weight: 700;
      flex-shrink: 0;
      margin-top: 2px;
    }

    /* Container estilo browser para o GIF */
    .questoes__demo-container {
      background: #1e1e1e;
      border-radius: var(--radius-md);
      overflow: hidden;
      box-shadow: var(--shadow-md);
    }

    .questoes__demo-header {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.75rem 1rem;
      background: #2d2d2d;
    }

    .questoes__demo-dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
    }

    .questoes__demo-dot--red { background: #ff5f57; }
    .questoes__demo-dot--yellow { background: #febc2e; }
    .questoes__demo-dot--green { background: #28c840; }

    .questoes__demo-title {
      margin-left: 0.5rem;
      font-size: 0.8rem;
      color: #888;
    }

    .questoes__demo-screen {
      background: #ffffff;
      aspect-ratio: 800 / 443;
    }

    .questoes__demo-gif {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* Box de destaque */
    .questoes__highlight {
      display: flex;
      align-items: flex-start;
      gap: 1.5rem;
      margin-top: 3rem;
      padding: 1.5rem 2rem;
      background: linear-gradient(135deg, #f0f7ff, #e8f4ff);
      border-radius: var(--radius-md);
      border: 2px solid rgba(20, 60, 125, 0.15);
      box-shadow: var(--shadow-sm);
    }

    .questoes__highlight-icon {
      font-size: 2rem;
      flex-shrink: 0;
    }

    .questoes__highlight-content strong {
      display: block;
      color: var(--blue-dark);
      font-size: 1.05rem;
      margin-bottom: 0.5rem;
    }

    .questoes__highlight-content p {
      margin: 0;
      color: var(--muted);
      font-size: 0.95rem;
    }

    /* Mobile: GIF depois das features */
    @media (max-width: 1023px) {
      .questoes__showcase {
        display: flex;
        flex-direction: column;
      }

      .questoes__features {
        order: 1;
      }

      .questoes__demo {
        order: 2;
      }
    }

    /* ========== STICKY CTA MOBILE ========== */
    .sticky-cta {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      background: #ffffff;
      box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
      transform: translateY(100%);
      opacity: 0;
      transition: transform 0.3s ease, opacity 0.3s ease;
      display: none;
    }

    @media (max-width: 768px) {
      .sticky-cta {
        display: block;
      }
    }

    .sticky-cta.is-visible {
      transform: translateY(0);
      opacity: 1;
    }

    .sticky-cta__content {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0.75rem 1rem;
      gap: 0.75rem;
    }

    .sticky-cta__info {
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    .sticky-cta__price {
      font-size: 1.15rem;
      font-weight: 800;
      color: var(--blue-dark);
      font-family: var(--font-display);
    }

    .sticky-cta__discount {
      font-size: 0.7rem;
      font-weight: 700;
      background: var(--warning);
      color: #ffffff;
      padding: 0.2rem 0.5rem;
      border-radius: 999px;
    }

    .sticky-cta__button {
      display: inline-block;
      padding: 0.65rem 1.25rem;
      background: linear-gradient(135deg, var(--blue-dark), #0b2b5a);
      color: #ffffff;
      border-radius: var(--radius-sm);
      font-weight: 700;
      font-size: 0.9rem;
      text-decoration: none;
      white-space: nowrap;
    }

    @media (prefers-reduced-motion: reduce) {
      .sticky-cta {
        transition: none;
      }
    }

    /* ========== PRICING ========== */
    .pricing-section {
      background: #f0f3fb;
    }

    .pricing-section__title {
      text-align: center;
    }

    .pricing-card {
      max-width: 480px;
      margin: 0 auto;
      background: #ffffff;
      border-radius: var(--radius-lg);
      padding: 2.5rem 2rem;
      box-shadow: var(--shadow-md);
      border: 2px solid rgba(20, 60, 125, 0.12);
      text-align: center;
      position: relative;
    }

    .pricing-card__badge {
      position: absolute;
      top: -14px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--warning);
      color: #ffffff;
      font-size: 0.85rem;
      font-weight: 700;
      padding: 0.35rem 1.25rem;
      border-radius: 999px;
      letter-spacing: 0.03em;
    }

    .pricing-card__prices {
      margin-bottom: 2rem;
    }

    .pricing-card__original {
      display: block;
      font-size: 1.1rem;
      color: var(--muted);
      text-decoration: line-through;
      margin-bottom: 0.25rem;
    }

    .pricing-card__current {
      display: block;
      font-size: 2.75rem;
      font-weight: 800;
      color: var(--blue-dark);
      font-family: var(--font-display);
      line-height: 1.1;
      margin-bottom: 0.35rem;
    }

    .pricing-card__installments {
      display: block;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .pricing-card__features {
      list-style: none;
      padding: 0;
      margin: 0 0 2rem;
      text-align: left;
    }

    .pricing-card__features li {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      padding: 0.45rem 0;
      font-size: 0.95rem;
      color: var(--text);
      border-bottom: 1px solid rgba(20, 60, 125, 0.06);
    }

    .pricing-card__features li:last-child {
      border-bottom: none;
    }

    .pricing-card__check {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      background: var(--success);
      color: #ffffff;
      border-radius: 50%;
      font-size: 0.7rem;
      font-weight: 700;
      flex-shrink: 0;
    }

    .pricing-card__cta {
      width: 100%;
      padding: 1rem;
      font-size: 1.1rem;
    }

    .pricing-card__coupon {
      margin: 1rem 0 0.5rem;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .pricing-card__guarantee {
      margin: 0;
      font-size: 0.85rem;
      color: var(--success);
      font-weight: 600;
    }

    /* ========== CTA FINAL ========== */
    .section--cta {
      background: linear-gradient(135deg, var(--blue-dark), #0b2b5a);
      color: #ffffff;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .section--cta::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
                  radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
      pointer-events: none;
    }

    .section--cta__content {
      position: relative;
      z-index: 1;
    }

    .section--cta__content h2 {
      color: #ffffff;
    }

    .section--cta__content p {
      max-width: 640px;
      margin: 0.5rem auto 1.5rem;
      font-size: 1.05rem;
    }

    .cta__note {
      font-size: 0.85rem;
      margin-top: 1rem;
      opacity: 0.9;
    }

    /* ========== SEO CONTENT (para crawlers e LLMs) ========== */
    .seo-content {
      background: var(--card-bg);
      padding: 3rem 0;
      border-top: 1px solid #e5e7eb;
    }

    .seo-content h2 {
      font-size: 1.25rem;
      margin-bottom: 1rem;
      color: var(--blue-dark);
    }

    .seo-content h3 {
      font-size: 1.1rem;
      margin-top: 1.5rem;
      margin-bottom: 0.75rem;
      color: var(--blue-dark);
    }

    .seo-content p {
      color: var(--muted);
      font-size: 0.95rem;
      line-height: 1.7;
      margin-bottom: 1rem;
      max-width: 65ch;
    }

    .seo-content ul {
      color: var(--muted);
      font-size: 0.95rem;
      line-height: 1.7;
      padding-left: 1.5rem;
      margin-bottom: 1rem;
      max-width: 65ch;
    }

    .seo-content li {
      margin-bottom: 0.5rem;
    }

    .seo-content strong {
      color: var(--text);
    }

    /* ========== FOOTER ========== */
    .footer {
      background: #0b2148;
      color: #d6dde8;
      padding: 1.5rem 0;
      font-size: 0.85rem;
      position: relative;
      z-index: 10;
    }

    .footer__content {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.8rem;
      text-align: center;
    }

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

    .footer__logo {
      height: 32px;
      width: auto;
    }

    .footer__copy {
      margin: 0;
      opacity: 0.8;
    }

    .footer__social-link {
      color: inherit;
      text-decoration: none;
      font-weight: 500;
    }

    .footer__social-link:hover {
      text-decoration: underline;
    }

    /* ========== CONSENT BANNER ========== */
    .consent-banner {
      position: fixed;
      bottom: 1.25rem;
      left: 1.25rem;
      right: 1.25rem;
      background: #ffffff;
      color: var(--text);
      border-radius: var(--radius-md);
      border: 1px solid rgba(20, 60, 125, 0.15);
      box-shadow: var(--shadow-lg);
      padding: 1rem 1.25rem;
      z-index: 2000;
      display: none;
    }

    .consent-banner.is-visible {
      display: block;
    }

    .consent-banner__content {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      font-size: 0.9rem;
      line-height: 1.5;
    }

    .consent-banner__actions {
      display: flex;
      gap: 0.75rem;
      flex-wrap: wrap;
    }

    .consent-banner__button {
      font-size: 0.85rem;
      padding: 0.6rem 1rem;
    }

    @media (min-width: 768px) {
      .consent-banner {
        max-width: 760px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
      }
    }

    /* ========== HEADER NAV ========== */
    .header {
      background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
      color: white;
      padding: 1rem 2rem;
      position: sticky;
      top: 0;
      z-index: 1000;
      box-shadow: 0 2px 20px rgba(0,0,0,0.1);
      transition: padding 0.3s ease, background 0.3s ease;
    }

    .header--scrolled {
      padding: 0.625rem 2rem;
      background: #1e3c72;
    }

    .header-content {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 2rem;
    }

    .logo {
      display: flex;
      align-items: center;
      text-decoration: none;
      flex-shrink: 0;
      transition: transform 0.2s ease;
    }

    .logo:hover {
      transform: scale(1.02);
    }

    .logo img {
      height: 50px;
      width: auto;
      transition: height 0.3s ease;
    }

    .header--scrolled .logo img {
      height: 42px;
    }

    .header-nav {
      display: flex;
      align-items: center;
      gap: 0.25rem;
    }

    .header-nav__separator {
      width: 1px;
      height: 24px;
      background: rgba(255, 255, 255, 0.2);
      margin: 0 0.75rem;
    }

    .cta-header {
      background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
      padding: 0.625rem 1.5rem;
      border-radius: 50px;
      text-decoration: none;
      color: white;
      font-weight: 600;
      font-family: var(--font-display);
      font-size: 0.875rem;
      transition: all 0.3s ease;
      box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
      white-space: nowrap;
      letter-spacing: 0.01em;
    }

    .cta-header__text--compact {
      display: none;
    }

    .cta-header:hover {
      background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4);
    }

    .login-link {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      color: rgba(255, 255, 255, 0.9);
      text-decoration: none;
      font-weight: 500;
      font-family: var(--font-display);
      font-size: 0.875rem;
      padding: 0.5rem 1rem;
      border-radius: 8px;
      transition: all 0.2s ease;
      white-space: nowrap;
      position: relative;
    }

    .login-link__icon {
      display: none;
      flex-shrink: 0;
    }

    .login-link::after {
      content: '';
      position: absolute;
      bottom: 6px;
      left: 1rem;
      right: 1rem;
      height: 1px;
      background: rgba(255, 255, 255, 0.4);
      transform: scaleX(0);
      transition: transform 0.2s ease;
    }

    .login-link:hover {
      color: white;
    }

    .login-link:hover::after {
      transform: scaleX(1);
    }

    .dropdown {
      position: relative;
    }

    .dropdown:hover .dropdown-menu,
    .dropdown:focus-within .dropdown-menu,
    .dropdown.dropdown--open .dropdown-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .dropdown-toggle {
      color: rgba(255, 255, 255, 0.9);
      cursor: pointer;
      font-weight: 500;
      font-family: var(--font-display);
      display: flex;
      align-items: center;
      gap: 0.5rem;
      background: none;
      border: none;
      font-size: 0.875rem;
      padding: 0.5rem 1rem;
      border-radius: 8px;
      transition: all 0.2s ease;
      white-space: nowrap;
      position: relative;
    }

    .dropdown-toggle::after {
      content: '';
      position: absolute;
      bottom: 6px;
      left: 1rem;
      right: 1rem;
      height: 1px;
      background: rgba(255, 255, 255, 0.4);
      transform: scaleX(0);
      transition: transform 0.2s ease;
    }

    .dropdown-toggle:hover {
      color: white;
    }

    .dropdown-toggle:hover::after {
      transform: scaleX(1);
    }

    .dropdown-toggle__text {
      font-weight: 500;
      letter-spacing: 0.01em;
    }

    .dropdown-toggle__arrow {
      opacity: 0.7;
      transition: transform 0.2s ease, opacity 0.2s ease;
      flex-shrink: 0;
    }

    .dropdown-toggle:hover .dropdown-toggle__arrow {
      opacity: 1;
    }

    .dropdown:hover .dropdown-toggle__arrow,
    .dropdown:focus-within .dropdown-toggle__arrow,
    .dropdown.dropdown--open .dropdown-toggle__arrow {
      transform: rotate(180deg);
    }

    .dropdown-menu {
      position: absolute;
      top: 100%;
      right: 0;
      background: white;
      border-radius: 10px;
      box-shadow: 0 10px 30px rgba(0,0,0,0.15);
      min-width: 280px;
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.3s;
      margin-top: 0.5rem;
      overflow: hidden;
      z-index: 1001;
    }

    .dropdown-menu a {
      display: block;
      padding: 1rem 1.5rem;
      color: #1e3c72;
      text-decoration: none;
      font-weight: 500;
      transition: background 0.3s;
      border-bottom: 1px solid #eee;
    }

    .dropdown-menu a:last-child {
      border-bottom: none;
    }

    .dropdown-menu a:hover {
      background: #f8f9fa;
    }

    .dropdown-menu a span {
      display: block;
      font-size: 0.85rem;
      font-weight: 400;
      color: #666;
      margin-top: 0.2rem;
    }

    /* ========== HEADER RESPONSIVE ========== */
    @media (max-width: 900px) {
      .header {
        padding: 0.75rem 1rem;
      }

      .header--scrolled {
        padding: 0.5rem 1rem;
      }

      .header-content {
        gap: 1rem;
      }

      .logo img {
        height: 40px;
      }

      .header--scrolled .logo img {
        height: 36px;
      }

      .header-nav {
        gap: 0.125rem;
      }

      .header-nav__separator {
        margin: 0 0.5rem;
      }

      .dropdown-toggle,
      .login-link {
        padding: 0.4rem 0.75rem;
        font-size: 0.8rem;
      }

      .cta-header {
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
      }
    }

    @media (max-width: 640px) {
      .header {
        padding: 0.625rem 0.75rem;
      }

      .header-content {
        flex-wrap: nowrap;
      }

      .logo img {
        height: 30px;
      }

      .dropdown,
      .header-nav__separator {
        display: none;
      }

      .header-nav {
        gap: 0.35rem;
      }

      .login-link {
        padding: 0.5rem;
      }

      .login-link__icon {
        display: block;
      }

      .login-link__text {
        display: none;
      }

      .login-link::after {
        display: none;
      }

      .cta-header {
        padding: 0.4rem 0.75rem;
        font-size: 0.75rem;
        white-space: nowrap;
      }

      .cta-header__text {
        display: none;
      }

      .cta-header__text--compact {
        display: inline;
      }
    }

    /* ========== KNOWLEDGE TRANSFORMATION SECTION ========== */
    .knowledge-transformation {
      position: relative;
      min-height: 140vh;
      overflow: hidden;
    }

    .knowledge-transformation__phase {
      position: sticky;
      top: 0;
      width: 100%;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: opacity 0.3s ease;
    }

    .knowledge-transformation__phase--dark {
      background: linear-gradient(180deg, #000000 0%, #000000 60%, #1a1a1a 80%, #2a2a2a 100%);
      z-index: 3;
      align-items: flex-start;
    }

    .knowledge-transformation__phase--dark .knowledge-transformation__content {
      padding-top: clamp(1.5rem, 6vh, 4rem);
    }

    .knowledge-transformation__phase--transition {
      background: linear-gradient(180deg, #2a2a2a 0%, #4a4a4a 20%, #6a6a6a 40%, #8a8a8a 60%, #aaaaaa 80%, #cccccc 100%);
      z-index: 2;
      min-height: 20vh;
      opacity: 1;
      pointer-events: none;
    }

    .knowledge-transformation__phase--light {
      background: linear-gradient(180deg, #cccccc 0%, #e0e0e0 30%, #f0f0f0 60%, #ffffff 100%);
      z-index: 1;
    }

    .knowledge-transformation__content {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 2rem 1rem;
      text-align: center;
    }

    .knowledge-transformation__title {
      color: #ffffff;
      font-size: clamp(1.5rem, 4vw, 2.5rem);
      font-weight: 700;
      margin-bottom: 3rem;
      opacity: 1;
      transition: opacity 0.5s ease;
    }

    .knowledge-transformation__title--light {
      color: var(--blue-dark);
      margin-bottom: 2rem;
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }

    .knowledge-transformation__title--light.knowledge-transformation__title--visible {
      opacity: 1;
      transform: translateY(0);
    }

    .knowledge-transformation__transition-text {
      color: #ffffff;
      font-size: clamp(1.2rem, 3vw, 1.8rem);
      font-weight: 600;
      opacity: 0.9;
    }

    /* Caixas de conhecimento disperso */
    .knowledge-boxes {
      position: relative;
      width: 100%;
      height: 60vh;
      min-height: 400px;
      margin: 0 auto;
    }

    .knowledge-box {
      position: fixed;
      left: 0;
      top: 0;
      padding: 0.6rem 1rem;
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.3);
      border-radius: 8px;
      color: #ffffff;
      font-size: 0.85rem;
      font-weight: 500;
      white-space: nowrap;
      cursor: pointer;
      will-change: transform, opacity;
      z-index: 5;
      pointer-events: auto;
      /* GPU acceleration */
      transform: translateZ(0);
      backface-visibility: hidden;
    }

    /* Reduzir backdrop-filter em mobile (pesado para GPU) */
    @media (max-width: 768px) {
      .knowledge-box {
        backdrop-filter: none;
        background: rgba(255, 255, 255, 0.2);
        font-size: 0.75rem;
        padding: 0.5rem 0.75rem;
      }
    }

    .knowledge-box:hover {
      background: rgba(255, 255, 255, 0.25);
      transform: scale(1.05);
      box-shadow: 0 4px 12px rgba(255, 255, 255, 0.2);
    }

    .knowledge-box--fading {
      opacity: 0.3;
    }

    .knowledge-box--hidden {
      opacity: 0;
      pointer-events: none;
      visibility: hidden;
    }

    .knowledge-box--migrating {
      z-index: 100;
      transition: left 0.1s linear, top 0.1s linear, transform 0.1s linear, opacity 0.1s linear;
      animation: none !important;
    }

    /* Fluxograma */
    .flowchart {
      position: relative;
      width: 100%;
      max-width: 900px;
      margin: 3rem auto;
      min-height: 500px;
    }

    .flowchart__node {
      position: absolute;
      width: 140px;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transform: scale(0.8);
      transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      z-index: 2;
    }

    .flowchart__node--visible {
      opacity: 1;
      transform: scale(1);
    }

    .flowchart__node--main {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.8);
      width: 180px;
      height: 100px;
      z-index: 10;
    }

    .flowchart__node--main.flowchart__node--visible {
      transform: translate(-50%, -50%) scale(1);
    }

    .flowchart__node--secondary {
      width: 130px;
      height: 70px;
    }

    .flowchart__node[data-node="diagnostico"] {
      top: 10%;
      left: 50%;
      transform: translateX(-50%) scale(0.8);
    }

    .flowchart__node[data-node="diagnostico"].flowchart__node--visible {
      transform: translateX(-50%) scale(1);
    }

    .flowchart__node[data-node="estadiamento"] {
      top: 50%;
      left: 10%;
      transform: translateY(-50%) scale(0.8);
    }

    .flowchart__node[data-node="estadiamento"].flowchart__node--visible {
      transform: translateY(-50%) scale(1);
    }

    .flowchart__node[data-node="tratamento"] {
      top: 50%;
      right: 10%;
      transform: translateY(-50%) scale(0.8);
    }

    .flowchart__node[data-node="tratamento"].flowchart__node--visible {
      transform: translateY(-50%) scale(1);
    }

    .flowchart__node[data-node="followup"] {
      bottom: 10%;
      left: 50%;
      transform: translateX(-50%) scale(0.8);
    }

    .flowchart__node[data-node="followup"].flowchart__node--visible {
      transform: translateX(-50%) scale(1);
    }

    .flowchart__node-content {
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, var(--blue-dark), var(--blue-accent));
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 16px rgba(20, 60, 125, 0.2);
      border: 2px solid rgba(255, 255, 255, 0.1);
    }

    .flowchart__node--secondary .flowchart__node-content {
      background: linear-gradient(135deg, var(--blue-light), #4a8fb8);
    }

    .flowchart__node-label {
      color: #ffffff;
      font-weight: 600;
      font-size: 0.9rem;
      text-align: center;
      padding: 0.5rem;
    }

    .flowchart__connections {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.8s ease;
      z-index: 1;
    }

    .flowchart__connections--visible {
      opacity: 0.4;
    }

    .flowchart__connection-line {
      stroke: var(--blue-light);
      stroke-width: 2;
      fill: none;
      stroke-dasharray: 1000;
      stroke-dashoffset: 1000;
      transition: stroke-dashoffset 1.5s ease;
    }

    .flowchart__connection-line--animated {
      stroke-dashoffset: 0;
    }

    /* Responsividade Mobile */
      @media (max-width: 768px) {
      .knowledge-transformation {
        min-height: 120vh;
      }

      .knowledge-transformation__phase {
        align-items: flex-start;
      }

      .knowledge-transformation__content {
        padding-top: calc(var(--header-offset) + 0.75rem);
      }

      .knowledge-boxes {
        height: 50vh;
        min-height: 300px;
      }

      .knowledge-box {
        font-size: 0.75rem;
        padding: 0.5rem 0.8rem;
      }

      .flowchart {
        min-height: 400px;
      }

      .flowchart__node {
        width: 100px;
        height: 60px;
      }

      .flowchart__node--main {
        width: 140px;
        height: 80px;
      }

      .flowchart__node[data-node="diagnostico"],
      .flowchart__node[data-node="followup"] {
        left: 50%;
        transform: translateX(-50%) scale(0.8);
      }

      .flowchart__node[data-node="estadiamento"] {
        left: 5%;
        transform: translateY(-50%) scale(0.8);
      }

      .flowchart__node[data-node="tratamento"] {
        right: 5%;
        transform: translateY(-50%) scale(0.8);
      }

      .flowchart__node-label {
        font-size: 0.75rem;
      }
    }

    @media (max-width: 480px) {
      .knowledge-boxes {
        height: 40vh;
        min-height: 250px;
      }

      .flowchart__node {
        width: 80px;
        height: 50px;
      }

      .flowchart__node--main {
        width: 120px;
        height: 70px;
      }

      .flowchart__node-label {
        font-size: 0.7rem;
      }
    }

    /* ========== ACCESSIBILITY ========== */
    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
      }
    }
