/* ============================================================
   lp-parceiros-claro.css
   CSS da landing page de Parceiros (versão clara).
   Extraído do <style> inline de parceiros/lp-parceiros-claro.php.
   Escopo isolado: esta LP carrega SOMENTE este arquivo (não o css-rvops.css),
   portanto não há conflito com o CSS global do site.
   ============================================================ */
  /* Rvops Design Tokens (ver /design/DESIGN.md), surfaces light (versão clara) */
  :root {
    --rv-orange:        #FF7A00;
    --rv-orange-deep:   #DA6208;
    --rv-orange-light:  #C25600;   /* laranja escuro legível p/ texto em superfície clara */
    --rv-grad-button:   linear-gradient(to right, #DA6208, #FF7A00, #DA6208);

    --rv-bg-1:          #FFFFFF;   /* fundo da página */
    --rv-bg-2:          #F4F4F6;   /* seções alternadas (cinza claro) */
    --rv-bg-3:          #FFFFFF;   /* cards */
    --rv-bg-4:          #E8E8ED;   /* controles (slider, dots, pills neutras) */

    --rv-text-on-dark:        #6E6E73;   /* texto secundário/muted (agora escuro) */
    --rv-text-on-dark-strong: #1D1D1F;   /* texto forte (agora quase preto) */
    --rv-text-muted:          #6E6E73;
    --rv-text:                #1D1D1F;

    --rv-grad-title-multi: linear-gradient(to right, #1D1D1F, #424245, #6E6E73, #424245, #1D1D1F);
    --rv-grad-title-mono:  linear-gradient(to right, #1D1D1F, #515154);

    --rv-gray-300:#939393; --rv-gray-400:#86868B; --rv-gray-500:#86868B;
    --rv-gray-600:#484747; --rv-gray-700:#2E2E32;
    --rv-line-dark: #E2E2E7;
    --rv-line:      #E2E2E7;

    --rv-success: #1F9E45;

    --rv-font-display:  "Poppins", system-ui, sans-serif;
    --rv-font-body:     "DM Sans", system-ui, sans-serif;
    --rv-font-mono:     "JetBrains Mono", monospace;

    --rv-r-button: 4px;
    --rv-r-sm:     6px;
    --rv-r-md:     10px;
    --rv-r-lg:     16px;
    --rv-r-xl:     24px;

    --rv-sh-2:     0 4px 12px rgba(0,0,0,.08);
    --rv-sh-3:     0 12px 32px rgba(0,0,0,.12);
    --rv-sh-glow:  0 8px 32px rgba(255,122,0,.32);
    --rv-sh-focus: 0 0 0 3px rgba(255,122,0,.40);

    --rv-ease: cubic-bezier(0.2, 0.7, 0.1, 1);
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }

  body {
    background: var(--rv-bg-1);
    color: var(--rv-text-on-dark-strong);
    font-family: var(--rv-font-body);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--rv-font-display);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.02em;
  }

  img { max-width: 100%; display: block; }

  /* Util */
  .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
  .section { padding: 96px 0; }

  .eyebrow {
    font-family: var(--rv-font-display);
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #6E6E73;
  }
  .micro-label {
    font-family: var(--rv-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--rv-text-on-dark-strong);
    margin-bottom: 14px;
  }

  .grad-h1 {
    background: var(--rv-grad-title-multi);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .grad-h2, .grad-h3, .grad-h4 {
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* Buttons */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--rv-font-display);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    padding: 0 22px;
    height: 44px;
    border-radius: var(--rv-r-button);
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: filter 180ms var(--rv-ease), box-shadow 180ms var(--rv-ease), transform 120ms;
    white-space: nowrap;
  }
  .btn:hover { filter: brightness(1.08); }
  .btn:active { transform: scale(0.98); }
  .btn:focus { outline: none; }
  .btn:focus-visible { outline: none; box-shadow: var(--rv-sh-focus); }

  .btn-primary { background: var(--rv-grad-button); color: #fff; border-color: transparent; }
  .btn-primary:hover,
  .btn-primary:focus { box-shadow: var(--rv-sh-glow); border-color: transparent; outline: none; }

  .btn-ghost {
    background: transparent;
    color: var(--rv-text-on-dark-strong);
    border-color: var(--rv-line-dark);
  }
  .btn-ghost:hover { border-color: var(--rv-text-on-dark-strong); color:var(--rv-text-on-dark-strong); background: rgba(0,0,0,.04); filter: none; }

  .btn-lg { height: 52px; padding: 0 28px; font-size: 16px; }

  /* Nav */
  nav.rv-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #1a1a1d;
    backdrop-filter: saturate(140%) blur(12px);
    -webkit-backdrop-filter: saturate(140%) blur(12px);
    border-bottom: 1px solid var(--rv-line-dark);
  }
  .nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .nav-logo img { height: 35px; display: block; }
  .nav-actions { display: flex; gap: 10px; align-items: center; }
  .nav-actions .btn { height: 40px; font-size: 14px; padding: 0 18px; }

  /* HERO split */
  .hero {
    background: var(--rv-bg-1);
    position: relative;
    overflow: hidden;
    padding: 96px 0 80px;
  }
  .hero::before {
    content: "";
    position: absolute; inset: 0;
    background:
      radial-gradient(ellipse 900px 480px at 80% -10%, rgba(255,122,0,.10) 0%, transparent 70%),
      radial-gradient(ellipse 600px 400px at 0% 100%, rgba(218,98,8,.05) 0%, transparent 60%);
    pointer-events: none;
  }
  .hero-inner {
    position: relative; z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 64px;
    align-items: center;
  }
  .hero .eyebrow { display: inline-block; margin-bottom: 20px; }
  .hero h1 {
    font-size: 43px;
    line-height: 1.05;
    letter-spacing: -.03em;
    margin-bottom: 24px;
  }
  .hero-lead {
    font-family: var(--rv-font-body);
    font-size: 19px;
    line-height: 1.55;
    color: var(--rv-text-on-dark);
    margin-bottom: 28px;
    max-width: 560px;
  }
  .hero-cta-block { margin-top: 36px; margin-bottom: 36px; }
  .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

  /* Hero mini-stats inline */
  .hero-mini-stats {
    display: flex;
    gap: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--rv-line-dark);
    flex-wrap: wrap;
  }
  .hms-cell { display: flex; flex-direction: column; gap: 2px; }
  .hms-num {
    font-family: var(--rv-font-display);
    font-size: 38px;
    font-weight: 400;
    line-height: 1;
    padding-top: 5px;
    letter-spacing: -.02em;
    color: var(--rv-text-on-dark-strong);
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .hms-num em { color: #1D1D1F; font-style: normal; -webkit-text-fill-color: #1D1D1F; }
  .hms-label {
    font-family: var(--rv-font-body);
    font-size: 17px;
    color: var(--rv-text-on-dark);
    line-height: 1.4;
  }

  /* Hero visual mockup do portal */
  .hero-visual {
    position: relative;
    aspect-ratio: 4 / 3.4;
    background: linear-gradient(160deg, #FFF7EF 0%, #FFEFE0 100%);
    border-radius: var(--rv-r-xl);
    padding: 28px;
    overflow: hidden;
    box-shadow: var(--rv-sh-3);
    border: 1px solid var(--rv-line-dark);
  }
  .hero-visual::before {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 400px 300px at 80% 20%, rgba(255,122,0,.18) 0%, transparent 70%);
    pointer-events: none;
  }
  .hv-card {
    position: absolute;
    background: var(--rv-bg-2);
    border: 1px solid var(--rv-line-dark);
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 6px 24px rgba(0,0,0,.08);
  }
  .hv-main {
    top: 28px; left: 28px; right: 28px;
    display: flex; flex-direction: column;
    gap: 12px;
  }
  .hv-main-head {
    display: flex; align-items: center; justify-content: space-between;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rv-line-dark);
  }
  .hv-main-head .left {
    font-family: var(--rv-font-display);
    font-size: 13px;
    font-weight: 500;
    color: var(--rv-text-on-dark-strong);
  }
  .hv-pill {
    background: rgba(52,199,89,.15);
    color: var(--rv-success);
    font-family: var(--rv-font-body);
    font-size: 10px;
    font-weight: 500;
    padding: 3px 8px;
    border-radius: 99px;
  }
  .hv-main-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .hv-stat-card {
    background: var(--rv-bg-3);
    border-radius: 10px;
    padding: 10px 12px;
  }
  .hv-stat-card .lbl {
    font-family: var(--rv-font-body);
    font-size: 10px;
    color: var(--rv-text-on-dark);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .08em;
  }
  .hv-stat-card .val {
    font-family: var(--rv-font-display);
    font-size: 20px;
    color: var(--rv-text-on-dark-strong);
    font-weight: 400;
    letter-spacing: -.01em;
  }
  .hv-stat-card .val em { color: var(--rv-orange); font-style: normal; }
  .hv-bars {
    display: flex; align-items: flex-end; gap: 6px;
    height: 60px;
    padding-top: 6px;
  }
  .hv-bar {
    flex: 1;
    background: linear-gradient(to top, var(--rv-orange-deep), var(--rv-orange));
    border-radius: 3px 3px 0 0;
    opacity: .85;
  }
  .hv-bar.b1 { height: 30%; }
  .hv-bar.b2 { height: 55%; }
  .hv-bar.b3 { height: 42%; }
  .hv-bar.b4 { height: 70%; }
  .hv-bar.b5 { height: 88%; }
  .hv-bar.b6 { height: 65%; opacity: .35; }

  .hv-side {
    bottom: 28px; right: 28px;
    width: 56%;
    display: flex; flex-direction: column; gap: 10px;
  }
  .hv-side-item { display: flex; align-items: center; gap: 10px; }
  .hv-avatar {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: rgba(255,122,0,.18);
    color: var(--rv-orange-light);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--rv-font-display);
    font-size: 11px;
    font-weight: 500;
    flex-shrink: 0;
  }
  .hv-side-text { flex: 1; min-width: 0; }
  .hv-side-text .nm {
    font-family: var(--rv-font-body);
    font-size: 11px;
    color: var(--rv-text-on-dark-strong);
    font-weight: 500;
  }
  .hv-side-text .sub {
    font-family: var(--rv-font-mono);
    font-size: 10px;
    color: var(--rv-success);
  }

  .hv-float {
    position: absolute;
    background: #FFFFFF;
    color: var(--rv-text-on-dark-strong);
    padding: 10px 14px;
    border-radius: 10px;
    font-family: var(--rv-font-display);
    font-size: 11px;
    font-weight: 500;
    box-shadow: 0 10px 28px rgba(0,0,0,.14);
    display: flex; align-items: center; gap: 8px;
    border: 1px solid var(--rv-line-dark);
  }
  .hv-float.bl { bottom: 32px; left: 16px; }
  .hv-float i { color: var(--rv-orange); }

  /* Logos strip */
  .logos-strip {
    /*background: var(--rv-bg-2); */
    border-top: 1px solid var(--rv-line-dark);
    /* border-bottom: 1px solid var(--rv-line-dark); */
    padding: 48px 0;
  }
  .logos-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    text-align: center;
  }
  .logos-label {
    font-family: var(--rv-font-display);
    font-size: 12px;
    font-weight: 500;
    color: var(--rv-text-on-dark);
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 28px;
  }
  .logos-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
  }
  .logo-cell {
    border-radius: 12px;
    height: 56px;
    display: flex; align-items: center; justify-content: center;
    transition: border-color 200ms var(--rv-ease);
  }
  .logo-cell img {
    max-height: 40px;
    max-width: 100%;
    object-fit: contain;
    filter: grayscale(1) brightness(0) invert(.3);   /* logos em cinza uniforme (um pouco mais escuro) */
    opacity: 1;
    transition: filter 200ms var(--rv-ease), opacity 200ms var(--rv-ease);
  }
  
  /* Section header */
  .section-header {
    text-align: center;
    margin: 0 auto 56px;
  }
  .section-header .eyebrow { margin-bottom: 14px; }
  .section-header h2 {
    font-size: 32px;
    line-height: 1.2;
    letter-spacing: -.02em;
    margin-bottom: 16px;
  }
  .section-header p {
    font-family: var(--rv-font-body);
    font-size: 18px;
    line-height: 1.55;
    color: var(--rv-text-on-dark);
  }

  /* Benefits 4 cards */
  .grid-4 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .benefit-card {
    /*background: var(--rv-bg-3);*/
    border: 1px solid var(--rv-line-dark);
    border-radius: 20px;
    padding: 32px 28px;
  }
  .benefit-icon {
    width: 48px; height: 48px;
    border-radius: 14px;
    background: rgba(255,122,0,.12);
    color: var(--rv-orange);
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    margin-bottom: 22px;
  }
  .benefit-card img { display: block; width: 34px !important; height: auto; margin: 0 0 18px; padding: 0; }
  .benefit-card h4 {
    font-size: 19px;
    line-height: 1.3;
    margin-bottom: 10px;
  }
  .benefit-card p {
    font-family: var(--rv-font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--rv-text-on-dark);
  }

  /* How it works (circles + line) */
  .how-section { background: #fff; }

  /* Como funciona — split (foto + 2×2 passos) */
  .lp-como-split {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 80px;
  }
  .lp-como-art { flex: 0 0 40%; }
  .lp-como-art img { width: 100%; border-radius: 18px; display: block; }
  .lp-como-content { flex: 1; text-align: left; }
  .lp-como-content .eyebrow { margin-bottom: 12px; display: block; }
  .lp-como-content h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px; font-weight: 400; line-height: 1.2;
    color: #1D1D1F; margin-bottom: 40px;
  }
  .lp-steps-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 40px;
  }
  .lp-step-item h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 21px; font-weight: 400; line-height: 1.2;
    color: #1D1D1F; margin: 0 0 10px;
  }
  .lp-step-item p {
    font-family: var(--rv-font-body);
    font-size: 16px; line-height: 1.55;
    color: #6E6E73; margin: 0;
  }
  @media (max-width: 991px) {
    .lp-como-split { flex-direction: column; gap: 40px; }
    .lp-como-art { flex: none; width: 100%; }
  }
  @media (max-width: 600px) {
    .lp-steps-2col { grid-template-columns: 1fr; }
  }

  /* Split — Receba novos projetos */
  .lp-split-section { background: var(--rv-bg-2); }
  .lp-split-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 80px;
  }
  .lp-split-text { flex: 1; }
  .lp-split-h2 {
    font-family: var(--rv-font-display);
    font-size: 36px; font-weight: 400; line-height: 1.2;
    letter-spacing: -.02em;
    color: #1D1D1F; margin-bottom: 20px;
  }
  .lp-split-desc {
    font-family: var(--rv-font-body);
    font-size: 20px; line-height: 1.5;
    color: var(--rv-text-on-dark);
    margin-bottom: 32px;
  }
  .lp-split-list {
    list-style: none;
    display: flex; flex-direction: column; gap: 20px;
    margin-bottom: 36px;
  }
  .lp-split-list li { display: flex; align-items: flex-start; gap: 14px; }
  .lp-split-list li i { color: var(--rv-orange); font-size: 14px; margin-top: 12px; flex-shrink: 0; }
  .lp-split-list li span { font-family: var(--rv-font-body); font-size: 17px; line-height: 1.55; color: var(--rv-text-on-dark); }
  .lp-split-list li strong { color: var(--rv-text-on-dark-strong); font-weight: 500; }
  .lp-split-art { flex: 0 0 46%; }
  .lp-split-art img { width: 100%; border-radius: 18px; display: block; }
  @media (max-width: 991px) {
    .lp-split-inner { flex-direction: column; gap: 40px; }
    .lp-split-art { width: 100%; flex: none; }
    .lp-split-h2 { font-size: 28px; }
  }

  /* Tiers */
  .tiers-section { background: var(--rv-bg-1); }
  .grid-3 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .tier-card {
    background: var(--rv-bg-3);
    border: 1px solid var(--rv-line-dark);
    border-radius: 20px;
    padding: 36px 30px;
    display: flex; flex-direction: column;
    position: relative;
  }
  .tier-card.featured {
    border-color: var(--rv-orange);
    box-shadow: 0 0 0 1px var(--rv-orange), var(--rv-sh-glow);
  }
  .tier-card .featured-pill {
    position: absolute;
    top: -12px; left: 24px;
    background: var(--rv-grad-button);
    color: #fff;
    font-family: var(--rv-font-display);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
  }
  .tier-eyebrow {
    font-family: var(--rv-font-display);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--rv-orange);
    margin-bottom: 10px;
  }
  .tier-name { font-size: 24px; line-height: 1.2; margin-bottom: 14px; }
  .tier-amount {
    font-family: var(--rv-font-display);
    font-size: 48px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
    color: var(--rv-text-on-dark-strong);
    margin-bottom: 6px;
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .tier-amount.small { font-size: 28px; line-height: 1.2; }
  .tier-amount-label {
    font-family: var(--rv-font-body);
    font-size: 18px;
    color: #6E6E73;
    margin-bottom: 24px;
  }
  .tier-perks {
    list-style: none;
    display: flex; flex-direction: column;
    gap: 13px;
    margin-top: 24px; padding-top: 22px;
    border-top: 1px solid var(--rv-line-dark);
  }
  .tier-perks li {
    display: flex; align-items: flex-start;
    gap: 10px;
    font-family: var(--rv-font-body);
    font-size: 16px;
    line-height: 1.4;
    color: var(--rv-text-on-dark-strong);
  }
  .tier-perks li::before {
    content: "";
    flex-shrink: 0;
    width: 14px; height: 14px;
    margin-top: 3px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23FF7A00' d='M6.5 11.5L3 8l1-1 2.5 2.5L12 4l1 1z'/></svg>");
    background-size: contain; background-repeat: no-repeat;
  }

  /* Simulador */
  .calc-section {
    background: linear-gradient(180deg, var(--rv-bg-1) 0%, var(--rv-bg-2) 100%);
  }
  .calc-card {
    max-width: 1000px;
    margin: 0 auto;
    background: var(--rv-bg-3);
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-xl);
    padding: 0;
    box-shadow: 0 20px 50px rgba(0,0,0,.12);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
  }
  .calc-inputs {
    padding: 44px 40px;
    border-right: 1px solid var(--rv-line-dark);
  }
  .calc-inputs h3 {
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 6px;
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .calc-inputs > p {
    font-family: var(--rv-font-body);
    font-size: 14px;
    color: var(--rv-text-on-dark);
    margin-bottom: 28px;
  }
  .calc-field { margin-bottom: 26px; }
  .calc-field-head {
    display: flex; align-items: baseline; justify-content: space-between;
    margin-bottom: 10px;
  }
  .calc-field-head label {
    font-family: var(--rv-font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--rv-text-on-dark-strong);
  }
  .calc-field-value {
    font-family: var(--rv-font-display);
    font-size: 22px;
    color: var(--rv-text-on-dark-strong);
    font-weight: 400;
    letter-spacing: -.01em;
  }
  .calc-field-value em { color: var(--rv-orange); font-style: normal; }
  .calc-slider {
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 99px;
    background: var(--rv-bg-4);
    outline: none;
    cursor: pointer;
  }
  .calc-slider::-webkit-slider-thumb {
    appearance: none;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--rv-grad-button);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(255,122,0,.4);
  }
  .calc-slider::-moz-range-thumb {
    width: 22px; height: 22px;
    border: none;
    border-radius: 50%;
    background: var(--rv-orange);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(255,122,0,.4);
  }
  .calc-range-labels {
    display: flex; justify-content: space-between;
    margin-top: 8px;
    font-family: var(--rv-font-mono);
    font-size: 11px;
    color: var(--rv-gray-500);
  }
  .calc-tier-pick {
    display: flex; gap: 8px;
    background: var(--rv-bg-2);
    border-radius: var(--rv-r-md);
    padding: 4px;
    margin-bottom: 4px;
  }
  .calc-tier-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 9px 12px;
    border-radius: 8px;
    font-family: var(--rv-font-display);
    font-size: 12px;
    font-weight: 500;
    color: var(--rv-text-on-dark);
    cursor: pointer;
    transition: background 180ms var(--rv-ease), color 180ms var(--rv-ease);
  }
  .calc-tier-btn.active {
    background: var(--rv-bg-3);
    color: var(--rv-text-on-dark-strong);
    box-shadow: var(--rv-sh-2);
  }

  .calc-output {
    padding: 44px 40px;
    background: #FFFFFF;
    display: flex; flex-direction: column; justify-content: center;
    position: relative;
    overflow: hidden;
  }
  .calc-output::before {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 400px 300px at 100% 0%, rgba(255,122,0,.15) 0%, transparent 70%);
    pointer-events: none;
  }
  .calc-output > * { position: relative; z-index: 1; }
  .calc-output-eyebrow {
    font-family: var(--rv-font-display);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rv-orange-light);
    margin-bottom: 12px;
  }
  .calc-output-main {
    font-family: var(--rv-font-display);
    font-size: 56px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.02em;
    color: var(--rv-text-on-dark-strong);
    margin-bottom: 4px;
  }
  .calc-output-main span:first-child {
    font-size: 24px;
    color: var(--rv-orange-light);
    margin-right: 4px;
  }
  .calc-output-sub {
    font-family: var(--rv-font-body);
    font-size: 14px;
    color: var(--rv-text-on-dark);
    margin-bottom: 28px;
  }
  .calc-output-rows {
    display: flex; flex-direction: column; gap: 12px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,122,0,.20);
  }
  .calc-output-row {
    display: flex; justify-content: space-between; align-items: baseline;
  }
  .calc-output-row .k {
    font-family: var(--rv-font-body);
    font-size: 14px;
    color: var(--rv-text-on-dark);
  }
  .calc-output-row .v {
    font-family: var(--rv-font-display);
    font-size: 18px;
    color: var(--rv-text-on-dark-strong);
    font-weight: 400;
  }
  .calc-cta { margin-top: 24px; }
  .calc-disclaimer {
    margin-top: 14px;
    font-family: var(--rv-font-body);
    font-size: 11px;
    color: var(--rv-gray-500);
    line-height: 1.5;
  }

  /* Case study */
  .case-section { background: var(--rv-bg-1); }
  .case-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
  }
  .case-main {
    background: var(--rv-bg-2);
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-xl);
    padding: 44px;
    position: relative;
    overflow: hidden;
  }
  .case-head {
    display: flex; align-items: center; gap: 16px;
    margin-bottom: 24px;
  }
  .case-avatar {
    width: 56px; height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, #FF7A00, #DA6208);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--rv-font-display);
    font-size: 18px;
    font-weight: 500;
  }
  .case-meta .nm {
    font-family: var(--rv-font-display);
    font-size: 17px;
    font-weight: 500;
    color: var(--rv-text-on-dark-strong);
  }
  .case-meta .role {
    font-family: var(--rv-font-body);
    font-size: 13px;
    color: var(--rv-text-on-dark);
  }
  .case-eyebrow {
    display: inline-block;
    font-family: var(--rv-font-display);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rv-orange);
    margin-bottom: 12px;
  }
  .case-headline {
    font-size: 28px;
    line-height: 1.25;
    margin-bottom: 22px;
    letter-spacing: -.015em;
    max-width: 600px;
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .case-bullets {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
    padding: 20px 0;
    border-top: 1px solid var(--rv-line-dark);
    border-bottom: 1px solid var(--rv-line-dark);
    margin-bottom: 22px;
  }
  .case-bullets li { display: flex; flex-direction: column; gap: 4px; }
  .case-bullets .num {
    font-family: var(--rv-font-display);
    font-size: 32px;
    font-weight: 400;
    color: var(--rv-orange);
    line-height: 1;
    letter-spacing: -.02em;
  }
  .case-bullets .lbl {
    font-family: var(--rv-font-body);
    font-size: 15px;
    color: var(--rv-text-on-dark);
    line-height: 1.4;
    padding-top: 5px;
  }
  .case-quote {
    font-family: var(--rv-font-display);
    font-size: 17px;
    line-height: 1.5;
    color: var(--rv-text-on-dark-strong);
    font-style: italic;
    letter-spacing: -.01em;
  }
  .case-side {
    display: flex; flex-direction: column; gap: 16px;
    justify-content: center;
  }
  .case-quote-card {
    background: var(--rv-bg-2);
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-lg);
    padding: 28px 26px;
  }
  .case-quote-card .stars {
    color: var(--rv-orange);
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 14px;
  }
  .case-quote-card p {
    font-family: var(--rv-font-display);
    font-size: 15px;
    line-height: 1.5;
    color: var(--rv-text-on-dark-strong);
    margin-bottom: 18px;
    letter-spacing: -.01em;
  }
  .case-quote-card .author {
    font-family: var(--rv-font-body);
    font-size: 15px;
    font-weight: 500;
    color: var(--rv-text-on-dark-strong);
  }
  .case-quote-card .author span {
    font-weight: 400;
    color: var(--rv-text-on-dark);
    display: block;
  }

  /* Treinamento */
  .train-section { background: var(--rv-bg-2); }
  .train-card {
    background: var(--rv-bg-3);
    border: 1px solid var(--rv-line-dark);
    border-radius: 18px;
    padding: 28px 26px;
    transition: border-color 200ms var(--rv-ease), transform 200ms var(--rv-ease);
  }
  .train-card:hover {
    border-color: rgba(255,122,0,.30);
    transform: translateY(-2px);
  }
  .train-icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    background: rgba(255,122,0,.12);
    color: var(--rv-orange);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    margin-bottom: 18px;
  }
  .train-card h4 {
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 8px;
  }
  .train-card p {
    font-family: var(--rv-font-body);
    font-size: 13px;
    line-height: 1.55;
    color: var(--rv-text-on-dark);
  }

  /* Integrações */
  .integ-section { background: var(--rv-bg-1); }
  .integ-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 56px;
    align-items: center;
  }
  .integ-text h2 {
    font-size: 36px;
    line-height: 1.15;
    margin-bottom: 14px;
  }
  .integ-text p {
    font-family: var(--rv-font-body);
    font-size: 16px;
    color: var(--rv-text-on-dark);
    line-height: 1.55;
    max-width: 440px;
  }
  .integ-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
  }
  .integ-card {
    /*background: var(--rv-bg-3);
    border: 1px solid var(--rv-line-dark);
    border-radius: 14px;
    aspect-ratio: 1 / 1;*/
    display: flex; align-items: center; justify-content: center;
    /*padding: 16px;*/
    transition: border-color 200ms var(--rv-ease);
  }
  .integ-card:hover { border-color: rgba(255,122,0,.30); }
  .integ-card img {
    max-width: 100%;
    max-height: 100%;
    filter: grayscale(1);
    opacity: .65;
    transition: filter 200ms var(--rv-ease), opacity 200ms var(--rv-ease);
  }
  .integ-card:hover img { filter: none; opacity: 1; }
  .integ-card.more {
    background: var(--rv-bg-2);
    border-style: dashed;
    flex-direction: column;
    gap: 4px;
  }
  .integ-card.more strong {
    font-family: var(--rv-font-display);
    font-size: 18px;
    font-weight: 400;
    color: var(--rv-text-on-dark-strong);
    letter-spacing: -.01em;
  }
  .integ-card.more span {
    font-family: var(--rv-font-body);
    font-size: 11px;
    color: var(--rv-text-on-dark);
    text-align: center;
  }

  /* Form */
  .form-section {
    background: var(--rv-bg-2);
    padding: 96px 0;
    border-top: 1px solid var(--rv-line-dark);
  }
  .form-section-inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 32px;
  }
  .form-card {
    background: var(--rv-bg-3);
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-xl);
    padding: 48px 48px 40px;
    box-shadow: var(--rv-sh-3);
    position: relative;
    overflow: hidden;
  }
  .form-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; height: 3px;
  }
  .form-card-title {
    font-family: var(--rv-font-display);
    font-size: 22px;
    line-height: 1.25;
    margin-bottom: 6px;
    color: var(--rv-text-on-dark-strong);
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .form-card-sub {
    font-family: var(--rv-font-body);
    font-size: 13px;
    color: var(--rv-text-on-dark);
    margin-bottom: 24px;
  }
  .hero .form-card { padding: 36px 32px 28px; }
  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .form-field { margin-bottom: 14px; }
  .form-field label {
    display: block;
    font-family: var(--rv-font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--rv-text-on-dark-strong);
    margin-bottom: 6px;
  }
  .form-field input,
  .form-field select {
    width: 100%;
    height: 44px;
    background: var(--rv-bg-1);
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-md);
    padding: 0 9px;
    font-family: var(--rv-font-body);
    font-size: 15px;
    color: var(--rv-text-on-dark-strong);
    outline: none;
    transition: border-color 180ms var(--rv-ease), box-shadow 180ms var(--rv-ease);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .form-field input::placeholder { color: var(--rv-gray-500); }
  /* Select: -webkit-appearance sozinho não basta em todo Safari/WebView —
     sem o reset completo + seta própria, o valor escolhido pode continuar
     com a cor/estilo nativo do sistema (parece "vazio" mesmo preenchido). */
  .form-field select {
    padding-right: 36px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2386868B' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 11px 7px;
    cursor: pointer;
  }
  .form-field select:invalid { color: var(--rv-gray-500); }
  .form-field select option { color: var(--rv-text-on-dark-strong); }
  .form-field input:focus,
  .form-field select:focus {
    border-color: var(--rv-orange);
    box-shadow: var(--rv-sh-focus);
  }
  .form-submit { width: 100%; margin-top: 14px; height: 52px; font-size: 16px; }
  .form-fine {
    margin-top: 14px;
    font-family: var(--rv-font-body);
    font-size: 12px;
    color: var(--rv-text-on-dark);
    text-align: center;
    line-height: 1.5;
  }

  /* FAQ */
  .faq-section { background: var(--rv-bg-1); }
  .faq-list {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 32px;
  }
  .faq-item {
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-md);
    margin-bottom: 10px;
    overflow: hidden;
    background: #FFFFFF;
    transition: border-color 200ms var(--rv-ease), background 200ms var(--rv-ease);
  }
  .faq-item.is-open {
    border-color: rgba(255,122,0,.30);
    background: var(--rv-bg-3);
  }
  .faq-q {
    width: 100%;
    background: transparent;
    border: none;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    font-family: var(--rv-font-display);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--rv-text-on-dark-strong);
    text-align: left;
  }
  .faq-arrow {
    color: var(--rv-orange);
    font-size: 12px;
    transition: transform 350ms var(--rv-ease);
    flex-shrink: 0;
  }
  .faq-item.is-open .faq-arrow { transform: rotate(90deg); }
  .faq-q-label { flex: 1; }
  .faq-a { max-height: 0; overflow: hidden; transition: max-height 350ms var(--rv-ease); }
  .faq-a-inner {
    padding: 0 22px 18px 50px;
    font-family: var(--rv-font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--rv-text-on-dark);
  }
  .faq-item.is-open .faq-a { max-height: 280px; }
  .faq-grid {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    align-items: start;
  }
  .faq-grid .section-header {
    text-align: left;
    margin: 0;
  }
  .faq-grid .faq-list {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  /* Banner CTA pós-FAQ */
  .cta-banner {
    background: var(--rv-bg-2);
    color: var(--rv-text-on-dark-strong);
    text-align: center;
    padding: 80px 32px;
    position: relative;
    overflow: hidden;
    border-top: 1px solid var(--rv-line-dark);
  }
  .cta-banner::after {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 700px 320px at 50% 100%, rgba(255,122,0,.18) 0%, transparent 70%);
    pointer-events: none;
  }
  .cta-banner-inner {
    position: relative; z-index: 1;
    max-width: 720px; margin: 0 auto;
  }
  .cta-banner .eyebrow { color: #6E6E73; margin-bottom: 16px; display: inline-block; }
  .cta-banner h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -.02em;
    margin-bottom: 14px;
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .cta-banner p {
    font-family: var(--rv-font-body);
    font-size: 20px;
    color: var(--rv-text-on-dark);
    margin-bottom: 30px;
  }
  .cta-banner-actions {
    display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
  }

  /* Footer (--rv-bg-3 conforme design.md) */
  footer.lp-foot {
    background: var(--rv-bg-2);
    padding: 48px 32px 36px;
    text-align: center;
    border-top: 1px solid rgba(0,0,0,.08);
  }
  .lp-foot-logo img { width: 133px; margin: 0 auto 21px; display: block; }
  .lp-foot-copy {
    font-family: var(--rv-font-body);
    font-size: 13px;
    color: rgba(0,0,0,.5);
    margin-bottom: 18px;
  }
  .lp-foot-links {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px;
  }
  .lp-foot-links a {
    font-family: var(--rv-font-body);
    font-size: 13px;
    color: rgba(0,0,0,.65);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 180ms var(--rv-ease);
  }
  .lp-foot-links a:hover { color: #1D1D1F; }

  /* Sticky CTA mobile */
  .sticky-cta {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--rv-line-dark);
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
    display: none;
    z-index: 99;
    transform: translateY(100%);
    transition: transform 250ms var(--rv-ease);
  }
  .sticky-cta.is-visible { transform: translateY(0); }
  .sticky-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 720px;
    margin: 0 auto;
  }
  .sticky-cta-text {
    font-family: var(--rv-font-display);
    font-size: 13px;
    font-weight: 500;
    color: var(--rv-text-on-dark-strong);
    line-height: 1.3;
  }
  .sticky-cta-text span {
    display: block;
    font-family: var(--rv-font-body);
    font-size: 11px;
    color: var(--rv-text-on-dark);
    font-weight: 400;
  }
  .sticky-cta .btn { height: 44px; padding: 0 18px; font-size: 14px; flex-shrink: 0; }

  /* Responsive */
  @media (max-width: 1024px) {
    .hero-inner { grid-template-columns: 1fr; gap: 48px; }
    .hero h1 { font-size: 38px; }
    .hero .form-card { max-width: 520px; margin: 0 auto; width: 100%; }
    .grid-4 { grid-template-columns: 1fr 1fr; }
    .grid-3 { grid-template-columns: 1fr 1fr; }
    .steps-grid { grid-template-columns: 1fr 1fr; row-gap: 48px; }
    .steps-grid::before { display: none; }
    .section-header h2 { font-size: 28px; }
    .logos-grid { grid-template-columns: repeat(4, 1fr); }
    .calc-card { grid-template-columns: 1fr; }
    .calc-inputs { border-right: none; border-bottom: 1px solid var(--rv-line-dark); }
    .case-wrap { grid-template-columns: 1fr; }
    .case-bullets { grid-template-columns: 1fr 1fr 1fr; }
    .integ-wrap { grid-template-columns: 1fr; gap: 32px; }
    .integ-grid { grid-template-columns: repeat(4, 1fr); }
    .faq-grid { grid-template-columns: 1fr; gap: 32px; }
    .faq-grid .section-header { text-align: center; }
  }
  @media (max-width: 640px) {
    .container { padding: 0 20px; }
    .section { padding: 64px 0; }
    .hero { padding: 64px 0 56px; }
    .hero-inner { padding: 0 20px; }
    .hero h1 { font-size: 30px; }
    .hero-lead { font-size: 16px; }
    .hero-mini-stats { gap: 20px; }
    .hms-num { font-size: 22px; }
    .grid-4, .grid-3, .steps-grid { grid-template-columns: 1fr; padding: 0 20px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-card { padding: 32px 24px; }
    .form-section-inner { padding: 0 20px; }
    .section-header h2 { font-size: 28px; }
    .nav-inner { padding: 0 20px; height: 64px; }
    .faq-list { padding: 0 20px; }
    .faq-grid { padding: 0 20px; }
    .faq-grid .faq-list { padding: 0; }
    .faq-a-inner { padding-left: 22px; }
    .lp-foot-links { gap: 16px; }
    .logos-strip { padding: 36px 0; }
    .logos-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .logos-inner { padding: 0 20px; }
    .calc-inputs, .calc-output { padding: 32px 26px; }
    .calc-output-main { font-size: 42px; }
    .case-main { padding: 32px 26px; }
    .case-headline { font-size: 22px; }
    .case-bullets { grid-template-columns: 1fr; gap: 12px; }
    .integ-grid { grid-template-columns: repeat(3, 1fr); }
    .integ-wrap { padding: 0 20px; }
    .cta-banner { padding: 64px 20px; }
    .cta-banner h2 { font-size: 28px; }
    .sticky-cta { display: block; }
    body { padding-bottom: 80px; }
    .nav-actions .btn-ghost { display: none; }
  }

  /* Grid de 3 colunas para cards de benefício (6 cards) */
  .grid-3-cards {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  @media (max-width: 1024px) { .grid-3-cards { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 640px)  { .grid-3-cards { grid-template-columns: 1fr; padding: 0 20px; } }

  .section-cta-center { text-align: center; margin-top: 44px; }

  /* O que você oferece, tile escuro diferenciado (fontes padrão Rvops, texto claro) */
  .offer-apple {
    background: radial-gradient(ellipse 1000px 520px at 50% 0%, rgba(255,122,0,.07) 0%, transparent 68%), #F4F4F6;
    padding: 130px 0;
  }
  .offer-apple-head {
    max-width: 820px;
    margin: 0 auto 84px;
    padding: 0 32px;
    text-align: center;
  }
  .offer-apple-eyebrow {
    font-family: var(--rv-font-display);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--rv-orange);
    margin-bottom: 14px;
  }
  .offer-apple-title {
    font-family: var(--rv-font-display);
    font-size: 32px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin-bottom: 16px;
    background: var(--rv-grad-title-mono);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .offer-apple-lead {
    font-family: var(--rv-font-body);
    font-size: 18px;
    line-height: 1.55;
    color: var(--rv-text-on-dark);
  }
  .offer-apple-grid {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 72px 56px;
  }
  .offer-apple-item img { display: block; width: 40px !important; height: auto; margin: 0 0 18px; padding: 0; }
  .offer-apple-item h3 {
    font-family: var(--rv-font-display);
    font-size: 21px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: var(--rv-text-on-dark-strong);
    margin-bottom: 8px;
  }
  .offer-apple-item p {
    font-family: var(--rv-font-body);
    font-size: 16px;
    line-height: 1.55;
    color: var(--rv-text-on-dark);
  }
  @media (max-width: 900px) {
    .offer-apple-grid { grid-template-columns: 1fr 1fr; gap: 56px 48px; }
  }
  @media (max-width: 600px) {
    .offer-apple { padding: 80px 0; }
    .offer-apple-head { margin-bottom: 56px; padding: 0 20px; }
    .offer-apple-title { font-size: 30px; }
    .offer-apple-lead { font-size: 16px; }
    .offer-apple-grid { grid-template-columns: 1fr; gap: 44px; padding: 0 20px; }
  }

  /* Treinamento, itens simples, sem card */
  .train-plain-grid {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 32px;
  }
  .train-plain-item { padding: 15px; }
  .train-plain-item > i {
    font-size: 29px;
    color: #a7a7a8;
    margin-bottom: 16px;
    display: block;
  }
  .train-plain-item h4 { font-size: 20px; line-height: 1.3; margin-bottom: 8px; }
  .train-plain-item p {
    font-family: var(--rv-font-body);
    font-size: 16px;
    line-height: 1.55;
    color: var(--rv-text-on-dark);
  }
  @media (max-width: 1024px) { .train-plain-grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 640px)  { .train-plain-grid { grid-template-columns: 1fr; padding: 0 20px; gap: 32px; } }

  /* Formulário Wizard (multi-step) */
  .wizard-steps {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 24px;
  }
  .wizard-dot {
    flex: 1; height: 4px; border-radius: 99px;
    background: var(--rv-bg-4);
    transition: background 250ms var(--rv-ease);
  }
  .wizard-dot.is-active, .wizard-dot.is-done { background: var(--rv-grad-button); }
  .wizard-step { display: none; }
  .wizard-step.is-active { display: block; animation: wizardIn 280ms var(--rv-ease); }
  @keyframes wizardIn { from { opacity: 0; transform: translateX(8px); } to { opacity: 1; transform: translateX(0); } }
  .wizard-step-label {
    font-family: var(--rv-font-mono);
    font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
    color: var(--rv-orange); margin-bottom: 14px;
  }
  .wizard-nav { display: flex; gap: 10px; margin-top: 8px; }
  .wizard-nav .btn { flex: 1; }
  .form-field textarea {
    width: 100%;
    min-height: 88px;
    background: var(--rv-bg-1);
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-md);
    padding: 12px 14px;
    font-family: var(--rv-font-body);
    font-size: 15px;
    color: var(--rv-text-on-dark-strong);
    outline: none;
    resize: vertical;
    transition: border-color 180ms var(--rv-ease), box-shadow 180ms var(--rv-ease);
  }
  .form-field textarea:focus { border-color: var(--rv-orange); box-shadow: var(--rv-sh-focus); }
  /* Toggle PF/PJ e Sim/Não */
  .lp-radio-group { display: flex; gap: 8px; background: var(--rv-bg-2); border-radius: var(--rv-r-md); padding: 4px; position: relative; }
  .lp-radio-group label {
    flex: 1; margin: 0;
    text-align: center;
    padding: 9px 12px;
    border-radius: 8px;
    font-family: var(--rv-font-display);
    font-size: 13px; font-weight: 500;
    color: var(--rv-text-on-dark);
    cursor: pointer;
    transition: background 180ms var(--rv-ease), color 180ms var(--rv-ease);
  }
  .lp-radio-group input {
    position: fixed !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }
  .lp-radio-group input:checked + label,
  .lp-radio-group label.is-active {
    background: var(--rv-bg-3);
    color: var(--rv-text-on-dark-strong);
    box-shadow: var(--rv-sh-2);
  }
  /* Neutraliza a decoração global de checkbox/radio (css-rvops.min.css:
     "input[type=radio]+label:before" desenha um ícone extra sempre que um
     <label> é irmão de input[type=radio] — é o caso aqui). Sem isso, o toggle
     Sim/Não ganha um checkmark fantasma antes do texto. */
  .lp-radio-group input + label::before { content: none !important; display: none !important; }
  .wizard-hidden { display: none; }

  /* Asterisco de campo obrigatório + legenda no cabeçalho do form */
  .form-field label .req { color: var(--rv-orange); margin-left: 2px; }
  .form-card-req {
    font-family: var(--rv-font-mono);
    font-size: 11px;
    color: var(--rv-gray-500);
    margin-left: 6px;
  }

  /* Grupo de seleção múltipla — lista vertical dentro de um bloco com borda.
     IMPORTANTE: existe uma regra GLOBAL do site (css-rvops.min.css/comum.css,
     carregada em toda página) que decora automaticamente qualquer <label>
     logo após um input[type=checkbox]/radio como IRMÃO ("input + label:before"
     com ícone FontAwesome) — é o padrão de checkbox custom usado em outras
     páginas do site. Se o <label> for irmão do input (id/for), esse ::before
     global desenha uma SEGUNDA caixa por cima da nossa, não importa o que se
     faça com o input (mesmo display:none — o ::before vive no label, não no
     input). Por isso aqui o <label class="lp-check-row"> ENVOLVE o input (é
     pai, não irmão) — o seletor global "input + label" nunca casa. */
  .lp-check-group {
    display: flex; flex-direction: column; gap: 6px;
    background: var(--rv-bg-2);
    border: 1px solid var(--rv-line-dark);
    border-radius: var(--rv-r-md);
    padding: 10px;
  }
  .lp-check-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    background: var(--rv-bg-3);
    border: 1px solid var(--rv-line-dark);
    cursor: pointer;
    transition: border-color 150ms var(--rv-ease), background 150ms var(--rv-ease);
  }
  /* Checkbox nativo, simples — padrão único para todo campo de seleção
     múltipla da LP. Sem <span> decorativa por cima (removida): só o input,
     pequeno, colorido via accent-color no estado marcado. */
  .lp-check-row input[type="checkbox"] {
    flex: 0 0 auto;
    width: 7px !important;
    height: 12px;
    margin: 0 12px 0 0; /* espaço garantido até o texto, não depende só do gap do pai */
    accent-color: var(--rv-orange);
    cursor: pointer;
  }
  /* accent-color sozinho não preenche o "trilho" do switch neste navegador
     (só tingia o anel/foco) — força o preenchimento laranja por dentro
     quando marcado, sem mexer em borda/anel. */
  .lp-check-row input[type="checkbox"]:checked {
    accent-color: var(--rv-orange);
    background-color: var(--rv-orange);
  }
  .lp-check-text {
    flex: 1 1 auto;
    font-family: var(--rv-font-display);
    font-size: 13px; font-weight: 500;
    line-height: 1.3;
    color: var(--rv-text-on-dark);
  }
  .lp-check-row input:checked ~ .lp-check-text {
    color: var(--rv-text-on-dark-strong);
    font-weight: 600;
  }
  .lp-check-row:has(input:checked) {
    border-color: var(--rv-orange);
    background: var(--rv-bg-1);
    box-shadow: 0 0 0 1px var(--rv-orange);
  }
  .chip-group-error {
    font-family: var(--rv-font-body);
    font-size: 12px;
    color: #C0392B;
    margin: 6px 0 0;
  }

  /* ============================================================
     FUNDOS POR SEÇÃO
     1 Hero (laranja), 2 Tiers (branco), 3 Benefícios (cinza + texto escuro),
     4 Como funciona (branco), 5 Simulador (laranja/manter), 6 Oferta (cinza + texto escuro),
     7 Case (branco), 8 Treinamento (branco), 9 FAQ (cinza), 10 CTA (laranja grad)
     ============================================================ */

  /* Eyebrows em laranja */
  .eyebrow { color: var(--rv-orange) !important; }

  /* Títulos sólidos escuros em seções claras */
  .section-header h2,
  .section-header h2.degrade-text {
    background: none !important;
    color: #1D1D1F !important;
    -webkit-text-fill-color: #1D1D1F !important;
  }

  /* Seção 1 — Hero: laranja pêssego (igual calculadora) */
  .hero {
    background:
      radial-gradient(760px 440px at 12% 0%, rgba(255,122,0,.14), transparent 62%),
      #FBF2EA !important;
  }

  /* Seção 2 — Tiers: branco */
  .tiers-section { background: #fff !important; }

  /* Seção 3 — Benefícios: cinza claro + texto escuro */
  #beneficios { background: var(--rv-bg-2) !important; }
  #beneficios .section-header h2,
  #beneficios .section-header h2.degrade-text {
    background: none !important; color: #1D1D1F !important; -webkit-text-fill-color: #1D1D1F !important;
  }
  #beneficios .section-header p,
  #beneficios .section-header p.cinza { color: var(--rv-text-on-dark) !important; }
  #beneficios .benefit-card { border-color: var(--rv-line-dark) !important; background: #fff !important; }
  #beneficios .benefit-card h4,
  #beneficios .benefit-card h4.grad-h4 {
    background: var(--rv-grad-title-mono) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }
  #beneficios .benefit-card p { color: var(--rv-text-on-dark) !important; }

  /* Seção 4 — Como funciona: branco (definido em .how-section acima) */

  /* Seção 5 — Simulador: laranja pêssego (manter) */
  .calc-section {
    background:
      radial-gradient(760px 440px at 12% 0%, rgba(255,122,0,.14), transparent 62%),
      #FBF2EA !important;
  }

  /* Seção 6 — O que você oferece: cinza claro + texto escuro */
  .offer-apple {
    background: var(--rv-bg-2) !important;
    background-image: none !important;
  }
  .offer-apple-title {
    background: var(--rv-grad-title-mono) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
  }
  .offer-apple-lead { color: var(--rv-text-on-dark) !important; }
  .offer-apple-item h3 { color: var(--rv-text-on-dark-strong) !important; }
  .offer-apple-item p { color: var(--rv-text-on-dark) !important; }

  /* Seção 7 — Case: branco */
  .case-section { background: #fff !important; }

  /* Seção 8 — Treinamento: branco */
  .train-section { background: #fff !important; }

  /* Seção 9 — FAQ: cinza claro */
  .faq-section { background: var(--rv-bg-2) !important; }
  .faq-section .section-header h2 { color: #1D1D1F !important; -webkit-text-fill-color: #1D1D1F !important; }

  /* Seção 10 — CTA: pêssego laranja claro (igual ao print) */
  .cta-banner {
    background:
      radial-gradient(ellipse 900px 600px at 15% 50%, rgba(255,122,0,.22), transparent 65%),
      #FBF2EA !important;
    border-top: none !important;
  }
  .cta-banner .eyebrow { color: var(--rv-orange) !important; }
  .cta-banner h2 { background: none !important; color: #1D1D1F !important; -webkit-text-fill-color: #1D1D1F !important; }
  .cta-banner p { color: var(--rv-text-on-dark) !important; }

  /* Rodapé escuro */
  footer.lp-foot { background: #1A1A1D !important; border-top-color: rgba(255,255,255,.08) !important; }
  .lp-foot-copy { color: rgba(255,255,255,.55) !important; }
  .lp-foot-links a { color: rgba(255,255,255,.7) !important; }
  .lp-foot-links a:hover { color: #fff !important; }
