:root {
    /* Brand */
    --color-brand-deep: #2F0668;
    --color-brand-violet: #6A4CE1;
    --color-brand-violet-mid: #7B5EE7;
    --color-brand-blue: #62A1FC;
    --color-brand-dark: #24034F;
    --gradient-brand: linear-gradient(90deg, var(--color-brand-deep) 0%, var(--color-brand-violet) 45%, var(--color-brand-blue) 100%);

    /* Text */
    --color-text: #2B2B2F;
    --color-text-muted: #6B6763;
    --color-text-on-dark: #FFFFFF;

    /* Surface + Border */
    --color-surface: #F7F7FA;
    --color-surface-raised: #FFFFFF;
    --color-surface-brand: #F3F0FF;
    --color-surface-blue: #EEF5FF;
    --color-border: #ECEBE8;
    --color-border-brand: rgba(106,76,225,.22);

    /* Semantic */
    --color-success: #1F7A4D;
    --color-success-surface: #EDF8F2;
    --color-error: #B42318;
    --color-error-surface: #FFF1F0;
    --color-muted: #6B6763;

    /* Radius */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 22px;
    --radius-pill: 999px;

    /* Shadows */
    --shadow-sm: 0 6px 18px rgba(47,6,104,.08);
    --shadow-md: 0 14px 34px rgba(47,6,104,.12);
    --shadow-lg: 0 22px 58px rgba(31,24,48,.15);

    /* Spacing */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --section-space: 88px;
    --section-space-compact: 76px;

    /* Typography */
    --font-display: "Poppins", sans-serif;
    --font-body: "Inter", sans-serif;
    --text-body-lg: 17px;
    --text-body: 15px;
    --text-small: 13px;
    --text-meta: 12px;

    /* Backward-compatible aliases */
    --violet: var(--color-brand-violet);
    --violet-mid: var(--color-brand-violet-mid);
    --blue-light: var(--color-brand-blue);
    --purple-deep: var(--color-brand-deep);
    --purple-dark: var(--color-brand-dark);
    --graphite: var(--color-text);
    --gray-light: var(--color-border);
    --gray-mid: var(--color-text-muted);
    --white: var(--color-surface-raised);
    --violet-tint: var(--color-surface-brand);
    --blue-tint: var(--color-surface-blue);
    --surface: var(--color-surface);
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  html { scroll-behavior: smooth; }

  body {
    font-family: var(--font-body);
    color: var(--graphite);
    background: var(--white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3 {
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
  }

  a { color: inherit; text-decoration: none; }

  /* Blog preservado para publicação futura, mas oculto enquanto não houver página ativa. */
  a[href="blog.html"] { display: none !important; }

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

  img { height: auto; }

  .wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
  }

  header {
    position: sticky;
    top: 0;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--gray-light);
    z-index: 100;
  }

  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 24px;
    max-width: 1240px;
    margin: 0 auto;
  }

  .logo {
    display: flex;
    align-items: center;
  }

  .logo img { width: 118px; height: auto; }

  nav ul {
    display: flex;
    align-items: center;
    gap: 22px;
    list-style: none;
    white-space: nowrap;
  }

  nav a {
    font-size: 14px;
    font-weight: 500;
    color: var(--gray-mid);
    transition: color 0.2s ease;
  }

  nav a:hover, nav a:focus-visible { color: var(--graphite); }

  .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 8px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14px;
    border: none;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }

  .btn:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }

  .btn-primary {
    background: linear-gradient(90deg, var(--purple-deep) 0%, var(--violet) 45%, var(--blue-light) 100%);
    color: var(--white);
    box-shadow: 0 8px 20px rgba(47,6,104,0.14);
  }

  .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(47,6,104,0.25); }

  .btn-header { padding: 10px 20px; font-size: 13px; }

  .hero {
    position: relative;
    padding: 96px 24px 80px;
    overflow: hidden;
    background: linear-gradient(180deg, var(--white) 0%, var(--violet-tint) 72%, var(--blue-tint) 100%);
  }

  .hero-inner {
    max-width: 1120px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
    gap: 52px;
    align-items: center;
  }

  .hero-copy { min-width: 0; }

  

  .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--purple-deep);
    background: var(--blue-tint);
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 24px;
  }

  .hero h1 {
    font-size: clamp(36px, 5.1vw, 58px);
    max-width: 680px;
    margin-bottom: 20px;
  }

  .hero h1 span {
    display: block;
}

  .hero-sub {
    font-size: 19px;
    color: var(--gray-mid);
    max-width: 560px;
    margin-bottom: 36px;
  }

  .hero-ctas { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }

  .btn-large { padding: 15px 28px; font-size: 15px; }

  

  .hero-ctas .btn-primary {
    flex-shrink: 0;
  }

  .proof-bar {
    background: var(--white);
    border-bottom: 1px solid var(--gray-light);
  }

  .proof-bar-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px 24px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .proof-item {
    min-width: 0;
    padding: 4px 22px;
  }

  .proof-item + .proof-item {
    border-left: 1px solid var(--gray-light);
  }

  .proof-item strong {
    display: block;
    font-family: var(--font-display);
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--graphite);
    margin-bottom: 3px;
  }

  .proof-item span {
    display: block;
    font-size: 11.5px;
    line-height: 1.45;
    color: var(--gray-mid);
  }

  @media (max-width: 820px) {
    .proof-bar-inner {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding-top: 12px;
      padding-bottom: 12px;
    }

    .proof-item {
      padding: 10px 18px;
    }

    .proof-item:nth-child(3) {
      border-left: 0;
    }

    .proof-item:nth-child(n/**/+3) {
      border-top: 1px solid var(--gray-light);
    }
  }

  @media (max-width: 520px) {
    .hero-sub {
      font-size: 17px;
      margin-bottom: 30px;
    }

    .hero-ctas {
      align-items: flex-start;
      flex-direction: column;
      gap: 14px;
    }

    .hero-ctas .btn-primary,
    .hero-ctas .btn-secondary {
      width: 100%;
      justify-content: center;
    }

    .proof-bar-inner {
      grid-template-columns: 1fr;
      padding: 8px 20px;
    }

    .proof-item {
      padding: 12px 0;
    }

    .proof-item + .proof-item,
    .proof-item:nth-child(3) {
      border-left: 0;
      border-top: 1px solid var(--gray-light);
    }
  }

  section { padding: 88px 24px; }

  .section-tag {
    font-size: 13px;
    font-weight: 600;
    color: var(--violet);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
  }

  section h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    max-width: 640px;
    margin-bottom: 18px;
  }

  .section-body {
    font-size: 17px;
    color: var(--gray-mid);
    max-width: 640px;
    margin-bottom: 40px;
  }

  
  

  .card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: 12px;
    padding: 28px 24px;
  }

  

  

  .card h3 { font-size: 17px; margin-bottom: 8px; }
  .card p { font-size: 14.5px; color: var(--gray-mid); }


  .validate-flow-section {
    padding: 78px 0 84px;
    background: #fff;
    overflow: hidden;
  }

  .validate-flow-head {
    max-width: 1120px;
    margin: 0 auto 34px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: 30px;
  }

  .validate-flow-head h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(28px,4vw,44px);
    line-height: 1.08;
    letter-spacing: -.035em;
  }

  .validate-flow-head p {
    max-width: 330px;
    margin: 0;
    color: var(--gray-mid);
    font-size: 14px;
    line-height: 1.65;
  }

  .validate-flow-shell {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
  }

  .validate-flow-board {
    --flow-scale: 0;
    position: relative;
    overflow: hidden;
    padding: 32px;
    border-radius: 30px;
    color: var(--white);
    background:
      radial-gradient(circle at 92% 8%, rgba(98,161,252,.17), transparent 27%),
      radial-gradient(circle at 18% 92%, rgba(106,76,225,.18), transparent 34%),
      linear-gradient(150deg, #0d0d12 0%, #13131b 56%, #0f1420 100%);
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: 0 22px 55px rgba(31,24,48,.16);
  }

  .validate-flow-board-head {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 14px;
  }

  .validate-flow-brand small {
    display: block;
    margin-bottom: 7px;
    color: var(--blue-light);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .validate-flow-brand strong {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(22px,2.5vw,30px);
    line-height: 1.1;
  }

  .validate-flow-claim {
    max-width: 390px;
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 13px;
    line-height: 1.6;
    text-align: right;
  }

  .validate-flow-guide {
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 10px 0 28px;
    padding: 8px 11px;
    border: 1px solid rgba(98,161,252,.14);
    border-radius: 999px;
    background: rgba(98,161,252,.06);
    color: rgba(255,255,255,.62);
    font-size: 11px;
    line-height: 1;
  }

  .validate-flow-guide-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--blue-light);
    box-shadow: 0 0 0 4px rgba(98,161,252,.10);
    animation: validateGuidePulse 1.8s ease-out infinite;
  }

  .validate-flow-track {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 12px;
  }

  .validate-flow-track::before {
    content: "";
    position: absolute;
    z-index: -2;
    left: 8%;
    right: 8%;
    top: 27px;
    height: 2px;
    background: rgba(255,255,255,.10);
  }

  .validate-flow-progress {
    position: absolute;
    z-index: -1;
    left: 8%;
    top: 27px;
    width: 84%;
    height: 2px;
    transform: scaleX(var(--flow-scale));
    transform-origin: left center;
    background: linear-gradient(90deg, var(--violet), var(--blue-light));
    box-shadow: 0 0 14px rgba(98,161,252,.26);
    transition: transform .38s cubic-bezier(.2,.8,.2,1);
    pointer-events: none;
  }

  .validate-flow-step {
    appearance: none;
    position: relative;
    min-width: 0;
    min-height: 164px;
    padding: 48px 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.025);
    color: var(--white);
    font: inherit;
    text-align: left;
    cursor: pointer;
    opacity: .48;
    transition:
      opacity .28s ease,
      transform .22s ease,
      border-color .22s ease,
      background .22s ease,
      box-shadow .22s ease;
  }

  .validate-flow-step::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 18px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #171722;
    border: 3px solid rgba(255,255,255,.24);
    box-shadow: 0 0 0 5px rgba(255,255,255,.035);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
  }

  .validate-flow-step:hover,
  .validate-flow-step:focus-visible,
  .validate-flow-step.is-current {
    outline: none;
    transform: translateY(-3px);
    border-color: rgba(98,161,252,.46);
    background: linear-gradient(145deg, rgba(106,76,225,.14), rgba(98,161,252,.08));
    box-shadow: 0 14px 32px rgba(0,0,0,.16);
    opacity: 1;
  }

  .validate-flow-step.is-complete {
    opacity: .88;
    border-color: rgba(106,76,225,.20);
    background: rgba(106,76,225,.055);
  }

  .validate-flow-step.is-complete::before,
  .validate-flow-step.is-current::before {
    background: var(--blue-light);
    border-color: var(--blue-light);
    box-shadow: 0 0 0 5px rgba(98,161,252,.11), 0 0 18px rgba(98,161,252,.25);
  }

  .validate-flow-step.is-current::before {
    transform: scale(1.08);
    box-shadow: 0 0 0 6px rgba(98,161,252,.13), 0 0 24px rgba(98,161,252,.36);
  }

  .validate-flow-step-num {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,.36);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
    transition: color .25s ease;
  }

  .validate-flow-step.is-complete .validate-flow-step-num,
  .validate-flow-step.is-current .validate-flow-step-num {
    color: var(--blue-light);
  }

  .validate-flow-step strong {
    display: block;
    min-height: 42px;
    font-family: var(--font-display);
    font-size: 16px;
    line-height: 1.3;
    color: rgba(255,255,255,.78);
    transition: color .25s ease;
  }

  .validate-flow-step.is-complete strong,
  .validate-flow-step.is-current strong {
    color: #fff;
  }

  .validate-flow-step p {
    max-height: 0;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(5px);
    color: rgba(255,255,255,.58);
    font-size: 11.5px;
    line-height: 1.5;
    transition: max-height .30s ease, margin .30s ease, opacity .25s ease, transform .25s ease;
  }

  .validate-flow-step.is-complete p,
  .validate-flow-step.is-current p {
    max-height: 72px;
    margin-top: 8px;
    opacity: 1;
    transform: translateY(0);
  }

  .validate-statuses {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 0;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(5px);
    transition: max-height .32s ease, margin .32s ease, opacity .26s ease, transform .26s ease;
  }

  .validate-flow-step.is-complete .validate-statuses,
  .validate-flow-step.is-current .validate-statuses {
    max-height: 68px;
    margin-top: 11px;
    opacity: 1;
    transform: translateY(0);
  }

  .validate-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 5px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.74);
    font-size: 9.5px;
    font-weight: 600;
    white-space: nowrap;
    transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
  }

  .validate-status:hover {
    transform: translateY(-1px);
    color: #fff;
  }

  .validate-status--approved:hover {
    border-color: rgba(98,161,252,.55);
    background: rgba(98,161,252,.12);
  }

  .validate-status--analysis:hover {
    border-color: rgba(154,122,244,.55);
    background: rgba(154,122,244,.12);
  }

  .validate-status--rejected:hover {
    border-color: rgba(255,255,255,.28);
    background: rgba(255,255,255,.08);
  }

  .validate-flow-step--result.is-current,
  .validate-flow-step--result.is-complete {
    border-color: rgba(98,161,252,.34);
    background: linear-gradient(145deg, rgba(106,76,225,.18), rgba(98,161,252,.13));
  }

  .validate-flow-note {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.52);
    font-size: 11.5px;
    line-height: 1.5;
  }

  .validate-flow-note::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--blue-light);
    box-shadow: 0 0 0 4px rgba(98,161,252,.09);
  }

  @keyframes validateGuidePulse {
    0% { box-shadow: 0 0 0 0 rgba(98,161,252,.30); }
    70% { box-shadow: 0 0 0 7px rgba(98,161,252,0); }
    100% { box-shadow: 0 0 0 0 rgba(98,161,252,0); }
  }

  @media (max-width: 900px) {
    .validate-flow-head {
      grid-template-columns: 1fr;
      gap: 18px;
    }

    .validate-flow-head p {
      max-width: 650px;
    }

    .validate-flow-board-head {
      align-items: start;
      flex-direction: column;
      gap: 10px;
    }

    .validate-flow-claim {
      max-width: 620px;
      text-align: left;
    }

    .validate-flow-track {
      grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .validate-flow-track::before,
    .validate-flow-progress {
      display: none;
    }

    .validate-flow-step--result {
      grid-column: 1 / -1;
      min-height: 130px;
    }
  }

  @media (max-width: 600px) {
    .validate-flow-section {
      padding: 54px 0 60px;
    }

    .validate-flow-head {
      padding: 0 20px;
      margin-bottom: 26px;
    }

    .validate-flow-shell {
      padding: 0 20px;
    }

    .validate-flow-board {
      padding: 24px 20px;
      border-radius: 24px;
    }

    .validate-flow-guide {
      line-height: 1.35;
      border-radius: 14px;
    }

    .validate-flow-track {
      grid-template-columns: 1fr;
      gap: 10px;
    }

    .validate-flow-step,
    .validate-flow-step--result {
      min-height: 0;
      padding: 18px 18px 18px 54px;
    }

    .validate-flow-step::before {
      top: 22px;
      left: 20px;
    }

    .validate-flow-step strong {
      min-height: 0;
      font-size: 15.5px;
    }

    .validate-flow-step p,
    .validate-statuses {
      max-height: none;
      margin-top: 8px;
      opacity: 1;
      transform: none;
    }

    .validate-statuses {
      margin-top: 11px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .validate-flow-progress,
    .validate-flow-step,
    .validate-flow-step::before,
    .validate-flow-step p,
    .validate-statuses,
    .validate-flow-guide-dot {
      transition: none !important;
      animation: none !important;
    }
  }

  .validate-flow-board{--flow-scale:1}
  .validate-flow-board-head{
    display:block;
    margin-bottom:24px;
  }
  .validate-flow-brand small{margin:0}
  .validate-flow-track{
    align-items:stretch;
    gap:12px;
  }
  .validate-flow-track::before{
    top:29px;
    left:calc(10% - 4.8px);
    right:calc(10% - 4.8px);
    background:linear-gradient(90deg,rgba(106,76,225,.52),rgba(98,161,252,.52));
    box-shadow:0 0 12px rgba(98,161,252,.14);
  }
  .validate-flow-step,
  .validate-flow-step--result{
    min-height:250px;
    height:100%;
    padding:48px 16px 18px;
    cursor:default;
    opacity:1;
    transform:none;
    border-color:rgba(255,255,255,.10);
    background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
    box-shadow:none;
  }
  .validate-flow-step:hover{
    opacity:1;
    transform:translateY(-2px);
    border-color:rgba(98,161,252,.22);
    background:linear-gradient(150deg,rgba(255,255,255,.065),rgba(98,161,252,.035));
    box-shadow:0 10px 24px rgba(0,0,0,.10);
  }
  .validate-flow-step::before{
    top:20px;
    left:50%;
    transform:translateX(-50%);
    background:linear-gradient(135deg,var(--violet),var(--blue-light));
    border-color:rgba(255,255,255,.68);
    box-shadow:0 0 0 5px rgba(98,161,252,.09),0 0 16px rgba(98,161,252,.18);
  }
  .validate-flow-step-num{
    color:var(--blue-light);
  }
  .validate-flow-step strong{
    min-height:42px;
    color:#fff;
  }
  .validate-flow-step p,
  .validate-flow-step.is-complete p,
  .validate-flow-step.is-current p{
    max-height:none;
    margin-top:8px;
    overflow:visible;
    opacity:1;
    transform:none;
    color:rgba(255,255,255,.66);
  }
  .validate-flow-step .validate-statuses,
  .validate-flow-step.is-complete .validate-statuses,
  .validate-flow-step.is-current .validate-statuses{
    display:flex;
    max-height:none;
    margin-top:13px;
    overflow:visible;
    opacity:1;
    transform:none;
  }
  .validate-status{
    color:rgba(255,255,255,.92);
    font-weight:650;
  }
  .validate-status--approved,
  .validate-status--approved:hover{
    color:#B9F6D7;
    border-color:rgba(52,190,125,.46);
    background:rgba(34,155,101,.16);
  }
  .validate-status--analysis,
  .validate-status--analysis:hover{
    color:#FFE7A3;
    border-color:rgba(224,177,52,.48);
    background:rgba(199,145,24,.16);
  }
  .validate-status--rejected,
  .validate-status--rejected:hover{
    color:#FFC1C1;
    border-color:rgba(224,84,84,.48);
    background:rgba(190,55,55,.16);
  }
  .validate-flow-note{
    display:block;
    margin-top:20px;
    padding:19px 20px 0;
    text-align:center;
    color:rgba(255,255,255,.68);
    font-size:13px;
    line-height:1.55;
  }
  .validate-flow-note::before{display:none}

  @media(max-width:900px){
    .validate-flow-track{grid-template-columns:repeat(2,minmax(0,1fr))}
    .validate-flow-step,
    .validate-flow-step--result{min-height:220px}
  }

  @media(max-width:600px){
    .validate-flow-board-head{margin-bottom:20px}
    .validate-flow-track{grid-template-columns:1fr;gap:10px}
    .validate-flow-step,
    .validate-flow-step--result{
      min-height:0;
      height:auto;
      padding:18px 18px 18px 54px;
    }
    .validate-flow-step::before{
      top:22px;
      left:20px;
      transform:none;
    }
    .validate-flow-step strong{min-height:0}
    .validate-flow-note{margin-top:16px;padding:17px 8px 0;font-size:12.5px}
  }


  .final-cta {
    text-align: center;
    background: linear-gradient(180deg, var(--white) 0%, var(--violet-tint) 72%, var(--blue-tint) 100%);
  }

  .final-cta h2 { margin: 0 auto 32px; }

  footer {
    background: #08080B;
    color: rgba(255,255,255,.54);
    padding: 72px 24px 28px;
  }

  .footer-main {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(150px, .72fr));
    gap: 54px;
    padding-bottom: 52px;
  }

  .footer-brand {
    max-width: 320px;
  }

  .footer-logo {
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
  }

  .footer-logo img {
    width: 136px;
    height: auto;
  }

  .footer-brand p {
    max-width: 290px;
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,.48);
  }

  .footer-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 9px;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(90deg, var(--purple-deep), var(--violet) 52%, var(--blue-light));
    box-shadow: 0 10px 28px rgba(106,76,225,.16);
    transition: transform .2s ease, box-shadow .2s ease;
  }

  .footer-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(106,76,225,.25);
  }

  .footer-column h3 {
    margin: 2px 0 20px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.88);
  }

  .footer-column ul {
    list-style: none;
    display: grid;
    gap: 11px;
  }

  .footer-column a,
  .footer-column span {
    font-size: 14px;
    line-height: 1.45;
    color: rgba(255,255,255,.43);
    transition: color .18s ease;
  }

  .footer-column a:hover,
  .footer-column a:focus-visible {
    color: #fff;
  }

  .footer-contact-link {
    display: inline-block;
    margin-top: 3px;
    word-break: break-word;
  }

  .footer-address-block {
    margin-top: 30px;
  }

  .footer-address-block h3 {
    margin: 0 0 14px;
  }

  .footer-address-block p {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,.43);
  }

  .footer-divider {
    max-width: 1240px;
    height: 1px;
    margin: 0 auto;
    background: rgba(255,255,255,.08);
  }

  .footer-bottom {
    max-width: 1240px;
    margin: 0 auto;
    min-height: 74px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 36px;
    align-items: center;
    font-size: 12.5px;
  }

  .footer-legal {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .footer-legal a {
    color: rgba(255,255,255,.42);
    transition: color .18s ease;
  }

  .footer-legal a:hover { color: #fff; }

  .footer-social {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .footer-social a {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: rgba(255,255,255,.50);
    border: 1px solid rgba(255,255,255,.08);
    transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
  }

  .footer-social a:hover {
    color: #fff;
    border-color: rgba(106,76,225,.50);
    background: rgba(106,76,225,.10);
    transform: translateY(-2px);
  }

  .footer-social svg {
    width: 17px;
    height: 17px;
  }

  .footer-copy {
    white-space: nowrap;
    color: rgba(255,255,255,.36);
  }

  @media (max-width: 980px) {
    .footer-main {
      grid-template-columns: 1.35fr 1fr 1fr;
    }

    .footer-brand {
      grid-column: 1 / -1;
      max-width: 620px;
    }

    .footer-brand p { max-width: 520px; }

    .footer-bottom {
      grid-template-columns: 1fr auto;
      padding: 22px 0;
    }

    .footer-copy {
      grid-column: 1 / -1;
      grid-row: 2;
    }
  }

  @media (max-width: 680px) {
    footer { padding: 56px 20px 22px; }

    .footer-main {
      grid-template-columns: 1fr 1fr;
      gap: 38px 24px;
      padding-bottom: 42px;
    }

    .footer-brand { grid-column: 1 / -1; }

    .footer-column:last-child { grid-column: 1 / -1; }

    .footer-bottom {
      grid-template-columns: 1fr;
      gap: 18px;
      padding-top: 26px;
      min-height: 0;
    }

    .footer-legal { gap: 16px 22px; }
    .footer-copy { grid-column: auto; grid-row: auto; white-space: normal; }
  }

  @media (max-width: 430px) {
    .footer-main { grid-template-columns: 1fr; }
    .footer-brand,
    .footer-column:last-child { grid-column: auto; }
  }

  @media (max-width: 860px) {
    
    
    .desktop-nav { display: none; }
  }

  @media (max-width: 600px) {
    section { padding: 64px 20px; }
    .hero { padding: 72px 20px 56px; }
    .validation-visual { padding: 22px; }
    .validation-engine-inner { padding: 20px; }
    .validation-engine-label { align-items: flex-start; flex-direction: column; gap: 4px; }
    .validation-signals { grid-template-columns: 1fr; }
    .validation-decision { grid-template-columns: 1fr; }
    
    
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .btn { transition: none; }
  }

  .form-card {
    max-width: 640px;
    margin: 28px auto 0;
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: 16px;
    padding: 24px;
  }

  .form-intro {
    font-size: 14px;
    color: var(--gray-mid);
    text-align: left;
    margin-bottom: 10px;
  }

  

  

  

  

  .profile-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .profile-icon svg { width: 20px; height: 20px; }
  .profile-icon img { width: 24px; height: 24px; object-fit: contain; }

  .profile-label {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16px;
  }

  .profile-desc {
    font-size: 13.5px;
    color: var(--gray-mid);
  }

  

  

  .form-title {
    font-size: 18px;
    margin-bottom: 8px;
    text-align: left;
  }

  .form-context {
    margin: 0 0 16px;
    max-width: 520px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--gray-mid);
  }

  .field { margin-bottom: 12px; }

  .field label {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    margin-bottom: 6px;
  }

  .optional-tag {
    font-weight: 400;
    color: var(--gray-mid);
  }

  .field input[type="text"],
  .field input[type="email"],
  .field input[type="tel"],
  .field select,
  .field textarea {
    width: 100%;
    padding: 10px 12px;
    font-family: var(--font-body);
    font-size: 14.5px;
    color: var(--graphite);
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: 8px;
    transition: border-color 0.15s ease;
  }

  .field textarea { resize: vertical; min-height: 72px; }

  .field input:focus, .field select:focus, .field textarea:focus {
    outline: none;
    border-color: var(--violet);
    box-shadow: 0 0 0 3px var(--violet-tint);
  }

  .checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
  }

  .checkbox-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--color-text);
    background: var(--color-surface-raised);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 10px 12px;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .checkbox-item:hover {
    background: #FCFBFF;
    border-color: rgba(106,76,225,.34);
  }

  .checkbox-item.is-checked,
  .checkbox-item:has(input:checked) {
    background: var(--color-surface-brand);
    border-color: var(--color-brand-violet);
    color: var(--color-brand-deep);
    box-shadow: inset 0 0 0 1px rgba(106,76,225,.10);
  }

  .checkbox-item input {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin: 0;
    border: 1.8px solid rgba(43,43,47,.45);
    border-radius: 5px;
    background: #FFFFFF;
    display: grid;
    place-items: center;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
  }

  .checkbox-item input::after {
    content: "";
    width: 8px;
    height: 4px;
    border-left: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    transform: rotate(-45deg) scale(0);
    transform-origin: center;
    transition: transform .16s ease;
    margin-top: -1px;
  }

  .checkbox-item input:checked {
    border-color: var(--color-brand-violet);
    background: var(--gradient-brand);
    box-shadow: 0 0 0 3px rgba(106,76,225,.08);
  }

  .checkbox-item input:checked::after {
    transform: rotate(-45deg) scale(1);
  }

  .checkbox-grid-social {
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 12px;
  }

  .checkbox-grid-social .checkbox-item {
    min-height: 54px;
    align-items: flex-start;
    padding: 12px 14px;
  }

  .checkbox-grid-social .checkbox-item span {
    line-height: 1.25;
  }

  .form-success { text-align: center; padding: 20px 0; }
  .form-success .form-title { margin-bottom: 12px; }

  .hero .form-card {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 24px;
    border-color: rgba(106,76,225,0.20);
    box-shadow: var(--shadow-md);
    position: relative;
    z-index: 3;
  }

  .hero .form-intro { margin-bottom: 20px; }
  
  

  @media (max-width: 980px) {
    .hero-inner { grid-template-columns: 1fr; gap: 40px; }
    .hero .form-card { max-width: 680px; }
  }

  @media (max-width: 600px) {
    .form-card { padding: 28px 20px; }
    
  }

  .card {
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .card:hover {
    transform: translateY(-3px);
    border-color: rgba(106,76,225,0.28);
    box-shadow: var(--shadow-md);
  }

  .section-tag,
  .eyebrow {
    color: var(--purple-deep);
  }

  

  


  .profile-selector {
    margin-bottom: 18px;
  }

  .profile-selector .form-intro {
    text-align: left;
    font-weight: 600;
    color: var(--graphite);
    margin-bottom: 12px;
  }

  .profile-tabs {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(150px, .75fr);
    gap: 8px;
    padding: 4px;
    background: var(--surface);
    border: 1px solid var(--gray-light);
    border-radius: 12px;
  }

  .profile-tab {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 50px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  }

  .profile-tab:hover {
    background: var(--white);
    border-color: rgba(106,76,225,0.22);
  }

  .profile-tab.active {
    background: var(--white);
    border-color: var(--violet);
    box-shadow: 0 7px 18px rgba(47,6,104,0.10);
  }

  .profile-tab-primary {
    background: linear-gradient(180deg, var(--white) 0%, var(--violet-tint) 100%);
    border-color: rgba(106,76,225,.22);
  }

  .profile-tab-primary.active {
    border-color: var(--violet);
    box-shadow: 0 8px 20px rgba(47,6,104,.12);
  }

  .profile-tab-secondary {
    opacity: .82;
  }

  .profile-tab-secondary:hover,
  .profile-tab-secondary.active {
    opacity: 1;
  }

  .profile-tab .profile-icon {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    background: var(--violet-tint);
  }

  .profile-tab .profile-label,
  .profile-tab .profile-desc {
    display: block;
  }

  .profile-tab .profile-label {
    font-size: 13px;
    margin-bottom: 0;
  }

  .profile-tab .profile-desc {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.35;
  }

  .contact-form {
    animation: formFade 0.18s ease;
  }

  @keyframes formFade {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @media (max-width: 520px) {
    .profile-tabs {
      grid-template-columns: 1fr;
    }

    .profile-tab {
      min-height: 64px;
    }

    .profile-tab-secondary {
      min-height: 54px;
    }
  }


  .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .form-grid .field {
    margin-bottom: 0;
  }

  .form-grid + .field {
    margin-top: 12px;
  }

  .form-card .btn-large {
    padding: 12px 20px;
    font-size: 14px;
  }

  .checkbox-grid {
    gap: 8px;
  }

  .checkbox-item {
    padding: 8px 10px;
    font-size: 12.5px;
  }

  @media (max-width: 600px) {
    .form-grid {
      grid-template-columns: 1fr;
      gap: 10px;
    }
  }


  .field-error {
    display: none;
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.35;
    color: var(--color-error);
  }

  .field.has-error .field-error {
    display: block;
  }

  
  
  .form-alert {
    display: none;
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid rgba(180,35,24,.28);
    border-radius: var(--radius-sm);
    background: var(--color-error-surface);
    color: var(--color-error);
    font-size: 13px;
  }

  .form-alert.show {
    display: block;
  }

  .form-submit-status {
    margin-top: 10px;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--gray-mid);
  }

  .form-submit-status.is-error {
    color: var(--color-error);
  }

  .form-privacy {
    margin-top: 8px;
    font-size: 11.5px;
    line-height: 1.45;
    color: var(--gray-mid);
  }

  .contact-form button[type="submit"]:disabled {
    cursor: wait;
    opacity: .72;
    transform: none;
    box-shadow: 0 8px 20px rgba(47,6,104,0.10);
  }


  .brands-section {
    padding: 70px 0 78px;
    background: #fff;
    overflow: hidden;
    border-top: 1px solid rgba(43,43,47,.06);
    border-bottom: 1px solid rgba(43,43,47,.06);
  }

  .brands-head {
    max-width: 1120px;
    margin: 0 auto 34px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: 30px;
  }

  .brands-head h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(28px, 4vw, 44px);
  }

  .gradient-word {
    background: var(--gradient-brand);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }

  .brands-head p {
    max-width: 330px;
    margin: 0;
    color: var(--gray-mid);
    font-size: 14px;
    line-height: 1.65;
  }

  .brands-console {
    position: relative;
    background: linear-gradient(180deg, #F7F8FC 0%, #F1F3F9 100%);
    border-top: 1px solid rgba(106,76,225,.08);
    border-bottom: 1px solid rgba(106,76,225,.08);
  }

  .brands-console-inner {
    max-width: 1120px;
    margin: 0 auto;
    min-height: 235px;
    display: grid;
    grid-template-columns: 285px minmax(0,1fr);
  }

  .brands-nav {
    position: relative;
    z-index: 4;
    padding: 30px 24px 30px 28px;
    border-right: 1px solid rgba(43,43,47,.08);
    background: rgba(247,248,252,.92);
    backdrop-filter: blur(8px);
  }

  .brands-nav-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: var(--purple-deep);
  }

  .brands-nav-label::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--violet);
    box-shadow: 0 0 0 6px rgba(106,76,225,.08);
  }

  .brands-tabs {
    display: grid;
    gap: 6px;
  }

  .brands-tab {
    appearance: none;
    border: 0;
    background: transparent;
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 9px 10px;
    border-radius: 10px;
    color: #77737C;
    text-align: left;
    font-family: var(--font-body);
    cursor: pointer;
    transition: .2s ease;
  }

  .brands-tab-num {
    font-size: 10px;
    font-weight: 700;
    color: #A5A1AB;
  }

  .brands-tab-name {
    font-size: 13px;
    font-weight: 600;
  }

  .brands-tab-arrow {
    opacity: 0;
    transform: translateX(-4px);
    color: var(--violet);
    transition: .2s ease;
  }

  .brands-tab:hover,
  .brands-tab.active {
    color: var(--graphite);
    background: #fff;
    box-shadow: 0 8px 22px rgba(47,6,104,.06);
  }

  .brands-tab.active .brands-tab-num { color: var(--violet); }
  .brands-tab.active .brands-tab-arrow { opacity: 1; transform: translateX(0); }

  .brands-motion {
    position: relative;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px 0;
  }

  .brands-motion::before,
  .brands-motion::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 92px;
    z-index: 3;
    pointer-events: none;
  }

  .brands-motion::before {
    left: 0;
    background: linear-gradient(90deg, #F3F5FA 0%, rgba(243,245,250,0) 100%);
  }

  .brands-motion::after {
    right: 0;
    background: linear-gradient(270deg, #F3F5FA 0%, rgba(243,245,250,0) 100%);
  }

  .brands-active-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 42px 16px;
  }

  .brands-active-title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 600;
    color: var(--graphite);
  }

  .brands-active-count {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--gray-mid);
  }

  .brands-marquee {
    overflow: hidden;
    width: 100%;
  }

  .brands-track {
    display: flex;
    align-items: stretch;
    width: max-content;
    gap: 16px;
    padding: 4px 16px;
    animation: brandsMarquee 18s linear infinite;
    will-change: transform;
  }

  .brands-motion:hover .brands-track { animation-play-state: paused; }

  .brand-tile {
    width: 220px;
    min-height: 108px;
    flex: 0 0 220px;
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(43,43,47,.08);
    box-shadow: 0 12px 28px rgba(47,6,104,.055);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 20px 22px;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }

  .brand-tile:hover {
    transform: translateY(-4px);
    border-color: rgba(106,76,225,.24);
    box-shadow: 0 18px 34px rgba(47,6,104,.11);
  }

  .brand-logo-box {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(43,43,47,.07);
    display: grid;
    place-items: center;
    overflow: hidden;
  }

  .brand-logo-box img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block;
  }

  .brand-wordmark {
    min-width: 0;
    font-family: var(--font-display);
    font-size: 17px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--graphite);
  }

  .brand-wordmark small {
    display: block;
    margin-top: 5px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #A09CA5;
  }

  @keyframes brandsMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-50% - 8px)); }
  }

  .brands-track.is-changing {
    animation: none;
    opacity: 0;
    transform: translateY(10px);
  }

  @media (prefers-reduced-motion: reduce) {
    .brands-track { animation: none; }
  }

  @keyframes brandsMarqueeMixed {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-50% + 6px)); }
  }

  /* Tablet e mobile: sem categorizacao — todas as marcas num unico fluxo continuo. */
  @media (max-width: 1024px) {
    .brands-nav { display: none; }
    .brands-active-meta { display: none; }
    .brands-console-inner { min-height: 0; }
    .brands-motion { padding: 22px 0; }
    .brands-motion::before,
    .brands-motion::after { width: 56px; }
    .brands-track { gap: 12px; padding: 4px 12px; animation-name: brandsMarqueeMixed; animation-duration: 68s; }
    .brand-tile {
      width: 165px;
      flex: 0 0 165px;
      min-height: 81px;
      gap: 10px;
      padding: 15px 16px;
      border-radius: 14px;
    }
    .brand-logo-box { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; }
    .brand-logo-box img { width: 27px; height: 27px; }
    .brand-wordmark { font-size: 13px; }
    .brand-wordmark small { margin-top: 3px; font-size: 8px; }
  }

  @media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
    .brands-track { animation: none; }
  }

  @media (max-width: 900px) {
    .brands-head { grid-template-columns: 1fr; }
    .brands-head p { max-width: 650px; }
    .brands-console-inner { grid-template-columns: minmax(0, 1fr); }
    .brands-nav { min-width: 0; border-right: 0; border-bottom: 1px solid rgba(43,43,47,.08); padding: 22px 24px; }
    .brands-tabs { grid-template-columns: repeat(5, minmax(135px,1fr)); overflow-x: auto; scrollbar-width: none; }
    .brands-tabs::-webkit-scrollbar { display: none; }
    .brands-tab { min-width: 135px; grid-template-columns: 22px 1fr; }
    .brands-tab-arrow { display: none; }
  }

  @media (max-width: 600px) {
    .brands-section { padding: 54px 0 60px; }
    .brands-head { padding: 0 20px; margin-bottom: 26px; }
    .brands-nav { padding: 18px 20px; }
    .brands-active-meta { padding: 0 24px 14px; }
    .brands-motion::before, .brands-motion::after { width: 42px; }
    .brands-track { animation-duration: 60s; }
    .brand-tile { width: 143px; flex-basis: 143px; min-height: 72px; padding: 12px; gap: 9px; }
    .brand-logo-box { width: 32px; height: 32px; flex-basis: 32px; }
    .brand-logo-box img { width: 25px; height: 25px; }
    .brand-wordmark { font-size: 12px; }
  }


.buy-section{
  padding:78px 0 84px;
  background:#fff;
  overflow:hidden;
}
.buy-head,
.activation-head{
  max-width:1120px;
  margin:0 auto 34px;
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
}
.buy-head h2,
.activation-head h2{
  max-width:720px;
  margin:0;
  font-size:clamp(28px,4vw,44px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.buy-head p,
.activation-head p{
  max-width:330px;
  margin:0;
  color:var(--gray-mid);
  font-size:14px;
  line-height:1.65;
}
.buy-shell{
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
}
.performance-funnel{
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 16%,rgba(98,161,252,.13),transparent 30%),
    radial-gradient(circle at 26% 76%,rgba(106,76,225,.20),transparent 38%),
    #3d3b66;
  box-shadow:0 24px 60px rgba(47,6,104,.15);
  isolation:isolate;
}
.performance-funnel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.20;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 88%);
}
.funnel-stage-grid{
  position:absolute;
  z-index:3;
  inset:0 32px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  pointer-events:none;
}
.funnel-stage{
  position:relative;
  min-width:0;
  padding:34px 18px 30px;
  border-left:1px solid rgba(255,255,255,.27);
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .48s ease,transform .48s ease;
}
.funnel-stage:first-child{border-left:0}
.performance-funnel.is-visible .funnel-stage{opacity:1;transform:none}
.performance-funnel.is-visible .funnel-stage:nth-child(1){transition-delay:.12s}
.performance-funnel.is-visible .funnel-stage:nth-child(2){transition-delay:.24s}
.performance-funnel.is-visible .funnel-stage:nth-child(3){transition-delay:.36s}
.performance-funnel.is-visible .funnel-stage:nth-child(4){transition-delay:.48s}
.performance-funnel.is-visible .funnel-stage:nth-child(5){transition-delay:.60s}
.funnel-stage-code{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  color:#22F7B7;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.funnel-stage strong{
  display:block;
  margin-top:12px;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(18px,2vw,27px);
  line-height:1.05;
  letter-spacing:-.025em;
}
.funnel-stage small{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.64);
  font-size:11px;
  line-height:1.35;
}
.funnel-svg{
  position:absolute;
  z-index:1;
  left:24px;
  right:24px;
  bottom:28px;
  width:calc(100% - 48px);
  height:360px;
  overflow:visible;
}
.funnel-shape-group{
  transform-box:fill-box;
  transform-origin:left center;
  transform:scaleX(.015);
  transition:transform 1.45s cubic-bezier(.2,.82,.2,1);
}
.performance-funnel.is-visible .funnel-shape-group{transform:scaleX(1)}
.funnel-outline{
  fill:url(#funnelGradient);
  stroke:rgba(255,255,255,.16);
  stroke-width:1.2;
  filter:drop-shadow(0 16px 24px rgba(28,10,64,.18));
}
.funnel-sheen{
  fill:url(#funnelSheen);
  opacity:.6;
  animation:funnelSheen 4.8s ease-in-out infinite alternate;
}
@keyframes funnelSheen{
  from{opacity:.32;transform:translateX(-18px)}
  to{opacity:.72;transform:translateX(16px)}
}
.funnel-axis-label{
  position:absolute;
  z-index:4;
  bottom:20px;
  color:rgba(255,255,255,.52);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.funnel-axis-label--left{left:36px}
.funnel-axis-label--right{right:36px;text-align:right}
@media(max-width:900px){
  .buy-head,.activation-head{grid-template-columns:1fr;gap:18px}
  .buy-head p,.activation-head p{max-width:650px}
  .performance-funnel{min-height:460px}
  .funnel-stage-grid{inset:0 20px}
  .funnel-stage{padding:26px 10px 24px}
  .funnel-stage strong{font-size:19px}
  .funnel-stage small{font-size:10px}
  .funnel-svg{left:12px;right:12px;width:calc(100% - 24px);height:320px}
}
@media(max-width:600px){
  .buy-section{padding:54px 0 60px}
  .buy-head,.activation-head{padding:0 20px;margin-bottom:26px}
  .buy-shell{padding:0 20px}
  .performance-funnel{min-height:500px;border-radius:24px;overflow-x:auto;overflow-y:hidden}
}
@media(prefers-reduced-motion:reduce){
  .funnel-shape-group,.funnel-stage{transition:none!important;transform:none!important;opacity:1!important}
  .funnel-sheen{animation:none!important}
}

/* Interação dos modelos dentro do próprio funil. */
.funnel-stage-grid{pointer-events:auto}
.funnel-stage{
  appearance:none;
  width:100%;
  margin:0;
  font-family:var(--font-body);
  text-align:left;
  color:inherit;
  background:transparent;
  border-top:0;
  border-right:0;
  border-bottom:0;
  cursor:pointer;
  overflow:hidden;
  transition:opacity .28s ease,transform .48s ease,background-color .28s ease,box-shadow .28s ease;
}
.funnel-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(106,76,225,.09));
  transition:opacity .28s ease;
}
.funnel-stage:hover::after,
.funnel-stage:focus-visible::after,
.funnel-stage.is-active::after{opacity:1}
.funnel-stage:focus-visible{
  outline:2px solid rgba(255,255,255,.92);
  outline-offset:-4px;
}
.performance-funnel.has-active .funnel-stage:not(.is-active){opacity:.52}
.performance-funnel.has-active .funnel-stage.is-active{
  opacity:1;
  box-shadow:inset 0 -3px 0 rgba(34,247,183,.72);
}
.funnel-stage.is-active .funnel-stage-code{
  color:#fff;
  border-color:rgba(34,247,183,.62);
  background:rgba(34,247,183,.18);
}
.funnel-applications{
  position:absolute;
  top:145px;
  left:18px;
  right:14px;
  display:grid;
  gap:8px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .24s ease,transform .28s ease,visibility 0s linear .28s;
}
.funnel-applications::before{
  content:"Aplicações";
  margin-bottom:2px;
  color:rgba(255,255,255,.54);
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.funnel-applications > span{
  position:relative;
  display:block;
  padding-left:12px;
  color:rgba(255,255,255,.92);
  font-size:11px;
  line-height:1.35;
}
.funnel-applications > span::before{
  content:"";
  position:absolute;
  left:0;
  top:.52em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#22F7B7;
  box-shadow:0 0 0 3px rgba(34,247,183,.08);
}
.funnel-stage.is-active .funnel-applications{
  opacity:1;
  visibility:visible;
  transform:none;
  transition-delay:.05s;
}
.funnel-axis-label{max-width:190px;line-height:1.35}
.funnel-axis-label--left{left:38px}
.funnel-axis-label--right{right:38px}

@media(max-width:900px) and (min-width:601px){
  .funnel-applications{top:126px;left:10px;right:8px;gap:6px}
  .funnel-applications > span{font-size:10px;padding-left:10px}
}

@media(max-width:600px){
  .buy-section .brands-head{padding:0 20px;margin-bottom:26px}
  .performance-funnel{
    min-height:640px;
    overflow:hidden;
  }
  .funnel-stage-grid{
    position:relative;
    inset:auto;
    width:auto;
    padding:18px 16px 58px;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }
  .funnel-stage{
    min-height:108px;
    padding:16px 48% 14px 14px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.20);
    border-radius:10px;
    opacity:1;
    transform:none;
  }
  .funnel-stage:first-child{border-top:0}
  .funnel-stage strong{margin-top:7px;font-size:18px}
  .funnel-stage small{margin-top:3px;font-size:10px}
  .funnel-applications{
    top:15px;
    left:55%;
    right:10px;
    gap:5px;
    transform:translateX(6px);
  }
  .funnel-applications::before{font-size:8px;margin-bottom:0}
  .funnel-applications > span{font-size:9.5px;line-height:1.25;padding-left:9px}
  .performance-funnel.has-active .funnel-stage:not(.is-active){opacity:.58}
  .funnel-svg{
    left:0;
    right:0;
    bottom:36px;
    width:100%;
    height:520px;
    opacity:.18;
  }
  .funnel-axis-label{bottom:18px;max-width:135px;font-size:8.5px}
  .funnel-axis-label--left{left:22px}
  .funnel-axis-label--right{left:auto;right:22px;width:135px}
}

@media(prefers-reduced-motion:reduce){
  .funnel-stage,
  .funnel-stage::after,
  .funnel-applications{transition:none!important}
}

/* Três áreas verticais: identificação superior, aplicações centrais e orientação inferior. */
.funnel-stage{
  display:grid;
  grid-template-rows:122px 150px minmax(70px,1fr);
  align-content:stretch;
  padding:26px 16px 64px;
  box-sizing:border-box;
  contain:layout paint;
  isolation:isolate;
}
.funnel-applications{
  position:relative;
  z-index:3;
  grid-row:2;
  align-self:center;
  top:auto;
  right:auto;
  bottom:auto;
  left:auto;
  width:100%;
  min-width:0;
  max-width:100%;
  padding:12px 12px 13px;
  box-sizing:border-box;
  overflow-wrap:anywhere;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(12,14,38,.84);
  box-shadow:0 10px 24px rgba(5,7,24,.24),inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.funnel-identity{
  position:relative;
  z-index:3;
  grid-row:1;
  align-self:start;
  display:block;
  width:100%;
  min-width:0;
  padding-top:4px;
  box-sizing:border-box;
}
.funnel-identity .funnel-stage-code{margin:0}
.funnel-identity strong{margin-top:12px}
.funnel-identity small{margin-top:6px}
.funnel-stage::after{z-index:0}
.funnel-applications > span{
  max-width:100%;
  overflow-wrap:anywhere;
  color:rgba(255,255,255,.97);
}
.funnel-applications::before{color:rgba(255,255,255,.82)}
.funnel-applications > span::before{
  width:5px;
  height:5px;
  box-shadow:0 0 0 3px rgba(34,247,183,.12);
}
.performance-funnel.has-active .funnel-stage:not(.is-active){opacity:.68}
.performance-funnel.has-active .funnel-stage.is-active{opacity:1}

@media(max-width:900px) and (min-width:601px){
  .funnel-stage{
    grid-template-rows:112px 150px minmax(70px,1fr);
    padding:22px 10px 58px;
  }
  .funnel-applications{
    top:auto;
    right:auto;
    left:auto;
    padding:10px 9px 11px;
    border-radius:12px;
    align-self:center;
  }
  .funnel-identity{padding-top:2px}
  .funnel-identity strong{margin-top:9px}
}

@media(max-width:600px){
  .performance-funnel{min-height:0}
  .funnel-stage-grid{padding:16px 16px 58px}
  .funnel-stage{
    grid-template-rows:58px 70px;
    min-height:144px;
    padding:10px 14px 6px;
    contain:layout paint;
  }
  .funnel-identity{
    grid-row:1;
    padding:0;
  }
  .funnel-identity .funnel-stage-code{min-height:22px;padding:3px 8px}
  .funnel-identity strong{
    display:inline-block;
    margin:3px 0 0 8px;
    vertical-align:middle;
    font-size:17px;
  }
  .funnel-identity small{margin-top:4px;font-size:10.5px}
  .funnel-applications{
    grid-row:2;
    top:auto;
    right:auto;
    left:auto;
    padding:4px 8px 5px;
    gap:2px;
    border-radius:10px;
    background:rgba(12,14,38,.88);
    box-shadow:0 7px 18px rgba(5,7,24,.22),inset 0 1px 0 rgba(255,255,255,.05);
    transform:translateY(6px);
  }
  .funnel-applications::before{margin-bottom:1px}
  .funnel-applications > span{
    font-size:10.5px;
    line-height:1.25;
  }
}

/* Funil vertical: ajuste restrito a mobile e tablet. */
@media(max-width:1024px){
  .performance-funnel{min-height:0;overflow:hidden}
  .performance-funnel .funnel-stage-grid{
    position:relative;
    inset:auto;
    width:auto;
    padding:16px 16px 58px;
    display:flex;
    flex-direction:column-reverse;
    gap:0;
  }
  .performance-funnel .funnel-stage{
    grid-template-rows:auto;
    min-height:100px;
    padding:20px 14px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.20);
    border-radius:10px;
    opacity:1;
    transform:none;
  }
  .performance-funnel .funnel-stage:last-child{border-top:0}
  .performance-funnel .funnel-identity{grid-row:1;padding:0}
  .performance-funnel .funnel-identity .funnel-stage-code{min-height:22px;padding:3px 8px}
  .performance-funnel .funnel-identity strong{
    display:inline-block;
    margin:3px 0 0 8px;
    vertical-align:middle;
  }
  .performance-funnel .funnel-identity small{margin-top:4px}
  .performance-funnel .funnel-applications{
    display:none;
    grid-row:2;
    top:auto;
    right:auto;
    left:auto;
    margin-top:10px;
  }
  .performance-funnel .funnel-stage.is-active .funnel-applications{display:grid}
  .performance-funnel .funnel-svg{
    display:none;
    left:16px;
    right:16px;
    top:40px;
    bottom:auto;
    width:calc(100% - 32px);
    height:calc(100% - 138px);
    overflow:visible;
    opacity:.18;
  }
  .performance-funnel .funnel-shape-group{transform:none;transition:none}
  .performance-funnel .funnel-outline,
  .performance-funnel .funnel-sheen{
    d:path("M80 10 L1040 10 C1000 120 830 240 700 320 C650 355 620 390 620 420 L500 420 C500 390 470 355 420 320 C290 240 120 120 80 10 Z");
  }
  .performance-funnel .funnel-axis-label{bottom:18px;max-width:135px;font-size:8.5px}
  .performance-funnel .funnel-axis-label--left{left:22px}
  .performance-funnel .funnel-axis-label--right{left:auto;right:22px;width:135px}
}

.activation-section{
  padding:78px 0 84px;
  background:#F4F5F7;
  overflow:hidden;
}
.activation-shell{
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
}
.activation-cards{
  display:flex;
  gap:10px;
  min-height:408px;
}
.format-card{
  --card-a:#2F0668;
  --card-b:#6A4CE1;
  appearance:none;
  position:relative;
  isolation:isolate;
  flex:0 0 82px;
  min-width:0;
  min-height:408px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  overflow:hidden;
  cursor:pointer;
  text-align:left;
  color:#fff;
  background:linear-gradient(155deg,var(--card-a) 0%,var(--card-b) 100%);
  box-shadow:0 16px 38px rgba(47,6,104,.10);
  transition:flex-basis .5s cubic-bezier(.2,.75,.2,1),flex-grow .5s cubic-bezier(.2,.75,.2,1),transform .25s ease,box-shadow .25s ease;
  font:inherit;
}
.format-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.22),transparent 27%),
    radial-gradient(circle at 82% 24%,rgba(98,161,252,.25),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(5,6,16,.30));
}
.format-card::after{
  content:"";
  position:absolute;
  inset:auto -16% -30% 20%;
  z-index:-1;
  height:70%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.15),transparent 62%);
  transform:rotate(-12deg);
}
.format-card--display{--card-a:#17141D;--card-b:#2F0668}
.format-card--email{--card-a:#231252;--card-b:#4D56B8}
.format-card--push{--card-a:#36207A;--card-b:#6A4CE1}
.format-card--native{--card-a:#315D9F;--card-b:#62A1FC}
.format-card--social{--card-a:#24153E;--card-b:#4D56B8}
.format-card--cupons{--card-a:#4A247B;--card-b:#7C5CE5}
.format-card--remarketing{--card-a:#244D85;--card-b:#62A1FC}
.format-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(47,6,104,.17)}
.format-card.active{flex:1 1 560px;cursor:default;transform:none;box-shadow:0 24px 58px rgba(47,6,104,.18)}
.format-card-code{
  position:absolute;
  top:22px;
  right:20px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.19);
  color:rgba(255,255,255,.92);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.format-card-content{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px 32px 28px;
  opacity:0;
  visibility:hidden;
  transform:translateY(16px);
  transition:opacity .22s ease,transform .38s ease,visibility 0s linear .22s;
}
.format-card.active .format-card-content{
  opacity:1;
  visibility:visible;
  transform:none;
  transition-delay:.16s;
}
.format-card-kicker{
  display:block;
  margin-bottom:7px;
  color:rgba(255,255,255,.72);
  font-size:10px;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.format-card-title{
  display:block;
  max-width:460px;
  font-family:var(--font-display);
  font-size:clamp(28px,2.7vw,34px);
  line-height:1.1;
  letter-spacing:-.025em;
  font-weight:600;
}
.format-card-text{
  display:block;
  max-width:500px;
  margin-top:10px;
  color:rgba(255,255,255,.78);
  font-size:13.5px;
  line-height:1.5;
}
.format-card-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}
.format-card-fact{
  display:block;
  min-height:64px;
  padding:10px 12px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(9px);
}
.format-card-fact small,.format-card-fact strong{display:block}
.format-card-fact small{
  color:rgba(255,255,255,.55);
  font-size:8.5px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.format-card-fact strong{
  margin-top:5px;
  color:#fff;
  font-size:12px;
  line-height:1.3;
  font-weight:650;
}
.format-card-compact{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  padding:22px 10px;
  opacity:1;
  visibility:visible;
  transition:opacity .18s ease,visibility 0s linear 0s;
}
.format-card.active .format-card-compact{opacity:0;visibility:hidden;transition-delay:0s,.18s}
.format-card-compact-name{
  display:block;
  color:rgba(255,255,255,.87);
  font-size:10px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.format-card-compact-name--full{display:none}
.format-card-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  box-shadow:0 10px 24px rgba(9,8,20,.18);
  color:var(--card-b);
}
.format-card-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.activation-footer{
  max-width:820px;
  margin:22px auto 0;
  padding:0 24px;
  text-align:center;
}
.activation-footer p{margin:0;color:var(--gray-mid);font-size:13px;line-height:1.6;font-weight:400}
@media(max-width:980px){
  .activation-cards{display:grid;grid-template-columns:1fr;gap:12px;min-height:0}
  .format-card,.format-card.active{min-height:0;height:auto;flex:auto;cursor:pointer;display:flex;flex-direction:column}
  .format-card-content{position:relative;inset:auto;margin-top:0;padding:28px 26px 24px;opacity:1;visibility:visible;transform:none;transition:none}
  .format-card-title{max-width:440px;font-size:28px;line-height:1.1}
  .format-card-text{font-size:13px;line-height:1.48}
  .format-card-facts{grid-template-columns:1fr;gap:6px}
  /* Accordion: recolhido mostra numero, nome e titulo; descricao e atributos abrem com o card ativo. */
  .format-card-text,.format-card-facts{
    max-height:0;margin-top:0;padding-top:0;opacity:0;overflow:hidden;
    transition:max-height .34s cubic-bezier(.4,0,.2,1),padding-top .34s cubic-bezier(.4,0,.2,1),opacity .24s ease;
  }
  .format-card.active .format-card-text{max-height:85px;padding-top:10px;opacity:1}
  .format-card.active .format-card-facts{max-height:245px;padding-top:15px;opacity:1}
  .format-card-fact{min-height:0;padding:8px 10px}
  /* Estado fechado em tablet/mobile: cabecalho compacto com icone + nome do canal + numero. */
  .format-card:not(.active) .format-card-content{padding:0}
  .format-card:not(.active) .format-card-kicker,
  .format-card:not(.active) .format-card-title{display:none}
  .format-card-compact{
    position:relative;
    inset:auto;
    z-index:2;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    min-height:64px;
    padding:14px 68px 14px 20px;
    text-align:left;
  }
  .format-card.active .format-card-compact{display:none}
  .format-card-compact-name{display:none}
  .format-card-compact-name--full{
    display:block;
    writing-mode:horizontal-tb;
    transform:none;
    font-size:13.5px;
    line-height:1.2;
    letter-spacing:.005em;
    text-transform:none;
    white-space:normal;
    color:#fff;
  }
  .format-card-icon{
    order:-1;
    width:38px;
    height:38px;
    flex:0 0 38px;
  }
  .format-card-icon svg{width:18px;height:18px}
  .format-card:not(.active) .format-card-code{top:50%;transform:translateY(-50%)}
}
@media(max-width:600px){
  .activation-section{padding:54px 0 60px}
  .activation-shell{padding:0 20px}
  .activation-cards{grid-template-columns:1fr;gap:12px}
  .format-card,.format-card.active{border-radius:24px}
  .format-card-content{padding:25px 22px 21px}
  .format-card-code{top:20px;right:20px}
  .format-card-compact{gap:12px;min-height:62px;padding:13px 62px 13px 18px}
  .format-card-compact-name--full{font-size:13px}
  .format-card-title{max-width:88%;font-size:26px;line-height:1.12}
  .format-card-text{max-width:96%}
  .format-card.active .format-card-text{max-height:105px;padding-top:8px}
  .format-card.active .format-card-facts{max-height:125px}
  .format-card-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .format-card-fact{padding:8px 7px}
  .format-card-fact small{font-size:7.8px;letter-spacing:.035em}
  .format-card-fact strong{font-size:10.5px}
  .activation-footer{margin-top:18px;padding:0 20px;text-align:center}
}
@media(max-width:430px){
  .format-card-facts{grid-template-columns:1fr}
  .format-card.active .format-card-text{max-height:145px}
  .format-card.active .format-card-facts{max-height:235px}
  .format-card-title{max-width:84%;font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  .format-card,.format-card-content,.format-card-compact,.format-card-text,.format-card-facts{transition:none!important}
}


  .why-section { background: var(--white); padding-top: 76px; padding-bottom: 76px; }
  .why-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); gap: 64px; align-items: start; }
  .why-copy .section-body { margin-bottom: 0; }
  .why-points { display: grid; gap: 12px; }
  .why-point { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 18px 20px; border: 1px solid rgba(106,76,225,.12); border-radius: 14px; background: var(--white); }
  .why-point > span { font-family: var(--font-display); font-size: 11px; font-weight: 700; color: var(--violet); padding-top: 2px; }
  .why-point strong { display: block; font-family: var(--font-display); font-size: 15px; margin-bottom: 4px; }
  .why-point p { color: var(--gray-mid); font-size: 13.5px; line-height: 1.55; }

  .mechanism-section { background: var(--surface); padding-top: 76px; padding-bottom: 82px; }
  .mechanism-head { max-width: 760px; margin-bottom: 34px; }
  .mechanism-head .section-body { margin-bottom: 0; }
  .mechanism-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 12px; align-items: stretch; }
  .mechanism-card { min-width: 0; padding: 24px 20px; border: 1px solid var(--gray-light); border-radius: 14px; background: var(--white); }
  .mechanism-num { display: block; margin-bottom: 16px; font-family: var(--font-display); font-size: 11px; font-weight: 700; color: var(--violet); }
  .mechanism-card strong { display: block; font-family: var(--font-display); font-size: 16px; margin-bottom: 8px; }
  .mechanism-card p { font-size: 13.5px; line-height: 1.55; color: var(--gray-mid); }
  .mechanism-arrow { align-self: center; color: var(--violet); font-size: 20px; opacity: .6; }

  .brands-disclaimer { max-width: 1120px; margin: 18px auto 0; padding: 0 24px; font-size: 11.5px; line-height: 1.55; color: var(--gray-mid); opacity: .85; }

  .cases-section { background: var(--surface); padding-top: 80px; padding-bottom: 84px; }
  .cases-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: 56px; align-items: end; margin-bottom: 32px; }
  .cases-head h2 { margin-bottom: 0; }
  .cases-head > p { color: var(--gray-mid); font-size: 14.5px; line-height: 1.65; }
  .case-placeholder { border: 1px solid var(--gray-light); border-radius: 18px; background: var(--white); overflow: hidden; }
  .case-placeholder-top { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: 26px 28px; border-bottom: 1px solid var(--gray-light); }
  .case-status { display: inline-block; margin-bottom: 7px; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--violet); }
  .case-placeholder h3 { font-size: 19px; }
  .case-evidence { flex-shrink: 0; padding: 7px 10px; border-radius: 999px; background: var(--violet-tint); color: var(--purple-deep); font-size: 11px; font-weight: 600; }
  .case-fields { display: grid; grid-template-columns: repeat(3, 1fr); }
  .case-field { min-height: 116px; padding: 22px 24px; border-right: 1px solid var(--gray-light); border-bottom: 1px solid var(--gray-light); }
  .case-field:nth-child(3n) { border-right: 0; }
  .case-field:nth-last-child(-n/**/+3) { border-bottom: 0; }
  .case-field small { display: block; margin-bottom: 8px; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--violet); }
  .case-field strong { display: block; font-family: var(--font-body); font-size: 13.5px; font-weight: 500; line-height: 1.5; color: var(--graphite); }

  .faq-section { background: var(--white); padding-top: 80px; padding-bottom: 84px; }
  .faq-wrap { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 72px; align-items: start; }
  .faq-head { position: sticky; top: 110px; }
  .faq-head .section-body {
    max-width: 330px;
    margin: 0;
    color: var(--gray-mid);
    font-size: 14px;
    line-height: 1.65;
  }
  .faq-list { border-top: 1px solid var(--gray-light); }
  .faq-item { border-bottom: 1px solid var(--gray-light); }
  .faq-item summary { position: relative; list-style: none; cursor: pointer; padding: 21px 44px 21px 0; font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--graphite); }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font-family: var(--font-body); font-size: 22px; font-weight: 400; color: var(--violet); transition: transform .2s ease; }
  .faq-item[open] summary::after { transform: rotate(45deg); }
  .faq-item p { padding: 0 44px 22px 0; color: var(--gray-mid); font-size: 14px; line-height: 1.65; }
  .faq-item summary:focus-visible { outline: 2px solid var(--violet); outline-offset: 4px; border-radius: 4px; }

  @media (max-width: 980px) {
    .why-grid { grid-template-columns: 1fr; gap: 32px; }
    .mechanism-flow { grid-template-columns: 1fr 1fr; gap: 14px; }
    .mechanism-arrow { display: none; }
    .cases-head { grid-template-columns: 1fr; gap: 18px; }
    .case-fields { grid-template-columns: repeat(2, 1fr); }
    .case-field:nth-child(3n) { border-right: 1px solid var(--gray-light); }
    .case-field:nth-child(2n) { border-right: 0; }
    .case-field:nth-last-child(-n/**/+3) { border-bottom: 1px solid var(--gray-light); }
    .case-field:nth-last-child(-n/**/+2) { border-bottom: 0; }
    .faq-wrap { grid-template-columns: 1fr; gap: 28px; }
    .faq-head { position: static; }
  }

  @media (max-width: 600px) {
    .why-section, .mechanism-section, .cases-section, .faq-section { padding-top: 60px; padding-bottom: 64px; }
    .why-point { padding: 16px; }
    .mechanism-flow { grid-template-columns: 1fr; }
    .mechanism-card { padding: 20px; }
    .case-placeholder-top { align-items: flex-start; flex-direction: column; padding: 22px 20px; }
    .case-fields { grid-template-columns: 1fr; }
    .case-field, .case-field:nth-child(2n), .case-field:nth-child(3n), .case-field:nth-last-child(-n/**/+2), .case-field:nth-last-child(-n/**/+3) { border-right: 0; border-bottom: 1px solid var(--gray-light); }
    .case-field:last-child { border-bottom: 0; }
    .faq-item summary { font-size: 14px; padding-right: 38px; }
    .faq-item p { padding-right: 12px; }
  }


  #home,
  #por-que-valydo,
  #como-funciona,
  #tecnologia,
  #modelos-compra,
  #formatos-ativacao,
  #marcas,
  #verticais,
  #cases,
  #simulacao,
  #faq,
  #contato {
    scroll-margin-top: 92px;
  }

  @media (max-width: 1080px) and (min-width: 861px) {
    .header-inner { gap: 16px; padding-left: 18px; padding-right: 18px; }
    nav ul { gap: 14px; }
    nav a { font-size: 12.5px; }
    .btn-header { padding: 9px 14px; font-size: 12px; }
    .logo img { width: 108px; }
  }


  body {
    color: var(--color-text);
    background: var(--color-surface-raised);
    font-size: var(--text-body);
  }

  section { padding-top: var(--section-space); padding-bottom: var(--section-space); }

  .section-body {
    font-size: var(--text-body-lg);
    line-height: 1.7;
  }

  .section-tag,
  .eyebrow {
    font-size: var(--text-small);
  }

  /* Buttons: Primary · Secondary · Text/Ghost */
  .btn,
  .footer-cta {
    min-height: 44px;
    border-radius: var(--radius-sm);
    padding: 11px 20px;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    justify-content: center;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
  }

  .btn-primary,
  .footer-cta {
    background: var(--gradient-brand);
    color: var(--color-text-on-dark);
    box-shadow: var(--shadow-sm);
  }

  .btn-primary:hover,
  .footer-cta:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
  }

  .btn-secondary {
    background: var(--color-surface-raised);
    color: var(--color-brand-deep);
    border: 1px solid var(--color-border-brand);
    box-shadow: none;
  }

  .btn-secondary:hover {
    transform: translateY(-1px);
    border-color: var(--color-brand-violet);
    background: var(--color-surface-brand);
  }

  

  .btn:focus-visible, .footer-cta:focus-visible {
    outline: 2px solid var(--color-brand-violet);
    outline-offset: 3px;
  }

  .btn:disabled,
  .contact-form button[type="submit"]:disabled {
    cursor: wait;
    opacity: .62;
    transform: none;
    box-shadow: none;
  }

  .btn-large { min-height: 50px; padding: 13px 24px; font-size: 15px; }
  .btn-header { min-height: 40px; padding: 9px 18px; font-size: 13px; }

  /* Shared card language */
  .form-card, .mechanism-card, .why-point, .case-placeholder, .activation-nav {
    border-color: var(--color-border);
  }

  .form-card,
  .case-placeholder {
    border-radius: var(--radius-lg);
  }

  .why-point, .mechanism-card, .profile-tabs, .checkbox-item {
    border-radius: var(--radius-md);
  }

  .hero .form-card {
    border-color: var(--color-border-brand);
    box-shadow: var(--shadow-md);
  }

  .card {
    border-radius: var(--radius-md);
  }

  .card:hover {
    border-color: var(--color-border-brand);
    box-shadow: var(--shadow-md);
  }

  .mechanism-card,
  .why-point {
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .mechanism-card:hover,
  .why-point:hover {
    border-color: var(--color-border-brand);
    box-shadow: var(--shadow-sm);
    transform: translateY(-2px);
  }

  /* Form controls and semantic feedback */
  .field input[type="text"],
  .field input[type="email"],
  .field input[type="tel"],
  .field select,
  .field textarea {
    min-height: 44px;
    border-color: var(--color-border);
    border-radius: var(--radius-sm);
  }

  .field textarea { min-height: 84px; }

  .field input:focus,
  .field select:focus,
  .field textarea:focus {
    border-color: var(--color-brand-violet);
    box-shadow: 0 0 0 3px rgba(106,76,225,.12);
  }

  .field-error,
  .form-submit-status,
  .form-privacy,
  .brands-disclaimer {
    font-size: var(--text-meta);
  }

  .field-error,
  .form-submit-status.is-error { color: var(--color-error); }

  .field.has-error input,
  .field.has-error select,
  .field.has-error textarea {
    border-color: var(--color-error);
    box-shadow: 0 0 0 3px rgba(180,35,24,.12);
  }

  .field.is-valid input,
  .field.is-valid select,
  .field.is-valid textarea { border-color: var(--color-success); }

  .form-alert {
    border-color: rgba(180,35,24,.28);
    background: var(--color-error-surface);
    color: var(--color-error);
    border-radius: var(--radius-sm);
  }

  /* Icon system */
  .profile-icon,
  .activation-tab-icon {
    color: var(--color-brand-violet);
  }

  .profile-icon svg,
  .activation-tab-icon svg,
  .activation-tab-arrow svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .activation-tab-icon {
    border-radius: var(--radius-md);
    font-family: inherit;
    font-size: 0;
  }

  .activation-tab-arrow {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    font-size: 0;
  }

  .activation-tab-arrow svg { width: 16px; height: 16px; }
  .activation-tab.active .activation-tab-icon { color: var(--color-text-on-dark); }

  /* Typography cleanup */
  .profile-tab .profile-desc,
  .activation-tab-copy small,
  .activation-kicker,
  .activation-use span,
  .mechanism-num,
  .why-point > span,
  .case-status,
  .case-evidence,
  .case-field small,
  .validation-input small,
  .validation-output small,
  .validation-engine-label span,
  .validation-signal-num,
  .decision-pill {
    font-size: var(--text-meta);
  }

  .profile-tab .profile-label { font-size: 13px; }
  .checkbox-item { font-size: 13px; }
  .faq-item summary { font-size: 15px; }

  /* Consistent vertical rhythm for Stage 3 narrative sections */
  .why-section,
  .mechanism-section,
  .cases-section,
  .faq-section {
    padding-top: var(--section-space-compact);
    padding-bottom: var(--section-space-compact);
  }

  .mechanism-head,
  .cases-head { margin-bottom: var(--space-8); }

  .faq-list { border-color: var(--color-border); }
  .faq-item { border-color: var(--color-border); }

  @media (max-width: 980px) {
    section { padding-top: 76px; padding-bottom: 76px; }
  }

  @media (max-width: 600px) {
    section,
    .why-section,
    .mechanism-section,
    .cases-section,
    .faq-section {
      padding-top: var(--space-16);
      padding-bottom: var(--space-16);
    }

    .section-body,
    .hero-sub { font-size: 16px; }

    .profile-tab .profile-label,
    .profile-tab .profile-desc,
    .checkbox-item,
    .field label,
    .field-error,
    .form-submit-status,
    .form-privacy,
    .brands-disclaimer,
    .activation-tab-copy small,
    .activation-kicker,
    .activation-use span,
    .mechanism-card p,
    .why-point p,
    .case-field strong,
    .faq-item p {
      font-size: 14px;
    }

    .profile-tab .profile-desc { line-height: 1.4; }
    .case-status,
    .case-evidence,
    .case-field small,
    .mechanism-num,
    .why-point > span { font-size: 12px; }

    .btn-large { min-height: 50px; }
    .activation-nav { border-radius: var(--radius-lg); }
  }


  .skip-link {
    position: fixed;
    left: 16px;
    top: 12px;
    z-index: 1000;
    transform: translateY(-160%);
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    background: var(--color-text);
    color: var(--color-text-on-dark);
    font-weight: 600;
    box-shadow: var(--shadow-md);
  }
  .skip-link:focus { transform: translateY(0); }
  .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
  .mobile-menu-toggle {
    display:none;
    width:44px;
    height:44px;
    flex:0 0 44px;
    place-items:center;
    border:1px solid var(--color-border-brand);
    border-radius:var(--radius-sm);
    background:var(--color-surface-raised);
    color:var(--color-text);
    cursor:pointer;
  }
  .mobile-menu-icon { width:20px; display:grid; gap:4px; }
  .mobile-menu-icon span { display:block; width:100%; height:2px; border-radius:2px; background:currentColor; transition:transform .18s ease, opacity .18s ease; }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(2) { opacity:0; }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .mobile-nav { display:none; border-top:1px solid var(--color-border); background:rgba(255,255,255,.98); box-shadow:0 14px 28px rgba(31,24,48,.08); }
  .mobile-nav[hidden] { display:none !important; }
  .mobile-nav ul { list-style:none; display:grid; padding:8px 16px 14px; white-space:normal; }
  .mobile-nav a { min-height:48px; display:flex; align-items:center; padding:10px 8px; font-size:14px; font-weight:600; color:var(--color-text); border-radius:var(--radius-sm); }
  .mobile-nav a:hover { background:var(--color-surface-brand); }

  :where(a[href], button, summary, input, select, textarea):focus-visible {
    outline: 2px solid var(--color-brand-violet);
    outline-offset: 3px;
  }
  .btn-primary:focus-visible { box-shadow:0 0 0 3px var(--color-surface-raised), 0 0 0 5px var(--color-brand-violet), var(--shadow-sm); }

  .profile-tab,
  .buy-card,
  .activation-tab,
  .brands-tab,
  .validate-flow-step,
  .faq-item summary,
  .checkbox-item,
  .footer-social a { min-height:44px; }
  .footer-social a { width:44px; height:44px; }
  .faq-item summary { display:flex; align-items:center; min-height:52px; }

  .fieldset-reset { min-width:0; border:0; padding:0; margin:0; }
  .fieldset-reset legend { width:100%; margin-bottom:10px; font-weight:600; font-size:13px; color:var(--color-text); }
  .checkbox-item { display:flex; align-items:center; gap:10px; padding:8px 10px; }
  .checkbox-item input { flex:0 0 auto; width:18px; height:18px; }
  .field input::placeholder,
  .field textarea::placeholder { color:#77737C; opacity:1; }

  /* Footer: essential text meets AA more comfortably on the dark surface. */
  .footer-brand p,
  .footer-column a,
  .footer-column span,
  .footer-address-block p,
  .footer-legal a,
  .footer-copy { color:rgba(255,255,255,.62); }
  .footer-social a { color:rgba(255,255,255,.68); }

  .btn { min-height:44px; }
  .btn:disabled,
  .contact-form button[type="submit"]:disabled { opacity:.76; }

  @media (max-width: 1080px) and (min-width: 861px) {
    .desktop-nav a { min-height:44px; display:flex; align-items:center; }
    .btn-header { min-height:44px; }
  }

  @media (max-width: 860px) {
    .header-inner { min-height:68px; padding-top:10px; padding-bottom:10px; }
    .mobile-menu-toggle { display:grid; }
    .mobile-nav:not([hidden]) { display:block; }
    .btn-header { min-height:44px; }
  }

  @media (max-width: 600px) {
    .hero { padding-top:56px; }
    .hero-inner { gap:34px; }
    .footer-main { grid-template-columns:1fr; gap:30px; }
    .footer-brand, .footer-column:last-child { grid-column:auto; }
    .footer-column h3 { margin-bottom:14px; }
    .footer-column ul { gap:6px; }
    .footer-column a, .footer-column span { display:inline-flex; align-items:center; min-height:44px; }
    .footer-address-block { margin-top:24px; }
  }

  @media (max-width: 430px) {
    .header-inner { gap:8px; padding-left:12px; padding-right:12px; }
    .header-actions { gap:7px; }
    .logo img { width:94px; }
    .btn-header { padding:8px 11px; font-size:11.5px; white-space:nowrap; }
    .mobile-menu-toggle { width:44px; flex-basis:44px; }
    .hero h1 { font-size:clamp(34px,10vw,42px); }
    .form-card { padding:24px 18px; }
    .profile-tab { min-height:58px; }
    .brands-active-meta { align-items:flex-start; flex-direction:column; gap:4px; }
  }

  @media (max-width: 360px) {
    .logo img { width:88px; }
    .btn-header { padding-left:9px; padding-right:9px; font-size:11px; }
    .hero { padding-left:16px; padding-right:16px; }
    .hero-inner, .wrap { min-width:0; }
    .form-card { padding-left:16px; padding-right:16px; }
  }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      scroll-behavior:auto !important;
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
      transition-delay:0s !important;
    }
    .brands-track { animation:none !important; transform:none !important; }
    .mobile-menu-icon span { transition:none !important; }
  }



  .profile-selector {
    margin-bottom: 14px;
  }

  .profile-tabs {
    gap: 6px;
    padding: 3px;
  }

  .profile-tab {
    min-height: 44px;
    padding: 7px 10px;
    gap: 8px;
  }

  .profile-tab .profile-icon {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }

  .profile-tab .profile-icon img {
    width: 22px;
    height: 22px;
  }

  .profile-tab .profile-desc {
    margin-top: 1px;
  }

  @media (max-width: 520px) {
    .profile-tab,
    .profile-tab-secondary {
      min-height: 52px;
      padding-top: 8px;
      padding-bottom: 8px;
    }
  }



  .channel-fieldset { margin-top: 2px; }
  .channel-fieldset legend {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 8px;
  }
  .channel-fieldset legend .optional-tag {
    font-size: 11.5px;
    font-weight: 400;
    color: var(--color-text-muted);
  }
  .channel-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .checkbox-item.channel-item {
    position: relative;
    min-height: 0;
    padding: 0;
    gap: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 12.5px;
  }
  .checkbox-item.channel-item:hover,
  .checkbox-item.channel-item:focus-within {
    background: transparent;
    box-shadow: none;
  }
  .channel-item > input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
  }
  .channel-choice {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: #FFFFFF;
    color: var(--color-text);
    font-weight: 500;
    line-height: 1.25;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
  }
  .channel-check {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    border: 1.5px solid #9A969E;
    border-radius: 50%;
    background: #FFFFFF;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
  }
  .channel-check::after {
    content: "";
    width: 7px;
    height: 4px;
    border-left: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    transform: translateY(-1px) rotate(-45deg) scale(0);
    transform-origin: center;
    transition: transform .14s ease;
  }
  .channel-item:hover .channel-choice {
    border-color: rgba(106,76,225,.42);
    box-shadow: 0 3px 10px rgba(47,6,104,.045);
  }
  .channel-item > input:checked + .channel-choice {
    border-color: var(--color-brand-violet);
    background: var(--color-surface-brand);
    color: var(--color-brand-deep);
  }
  .channel-item > input:checked + .channel-choice .channel-check {
    border-color: var(--color-brand-violet);
    background: var(--color-brand-violet);
    box-shadow: 0 0 0 3px rgba(106,76,225,.08);
  }
  .channel-item > input:checked + .channel-choice .channel-check::after {
    transform: translateY(-1px) rotate(-45deg) scale(1);
  }
  .channel-item > input:focus-visible + .channel-choice {
    outline: 2px solid var(--color-brand-violet);
    outline-offset: 2px;
  }

  @media (max-width: 600px) {
    .channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .channel-choice { min-height: 42px; padding: 8px 9px; }
  }

  @media (max-width: 390px) {
    .channel-grid { grid-template-columns: 1fr; }
  }

  @media (min-width: 981px) {
    .hero { padding-top: 68px; padding-bottom: 64px; }
    .hero-inner {
      grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr);
      gap: 44px;
    }
  }

  .hero .form-card { padding: 18px 20px; border-radius: 14px; }
  .hero .profile-selector { margin-bottom: 12px; }
  .hero .profile-selector .form-intro { margin-bottom: 8px; font-size: 12.5px; }
  .hero .profile-tabs { gap: 5px; padding: 3px; }
  .hero .profile-tab { min-height: 42px; padding: 6px 9px; }
  .hero .profile-tab .profile-label { font-size: 12.5px; }
  .hero .profile-tab .profile-desc { font-size: 10.5px; }
  .hero .form-title { margin-bottom: 3px; font-size: 16px; }
  .hero .form-context { margin-bottom: 10px; font-size: 12px; line-height: 1.4; }
  .hero .form-grid { gap: 8px 10px; }
  .hero .field { margin-bottom: 9px; }
  .hero .form-grid + .field { margin-top: 9px; }
  .hero .field label,
  .hero .fieldset-reset legend { margin-bottom: 4px; font-size: 12px; }
  .hero .field input[type="text"],
  .hero .field input[type="email"],
  .hero .field input[type="tel"],
  .hero .field select,
  .hero .field textarea {
    min-height: 38px;
    padding: 7px 10px;
    font-size: 13.5px;
  }
  .hero .field textarea { min-height: 52px; max-height: 82px; }
  .hero .checkbox-grid { gap: 6px; }
  .hero .channel-choice { min-height: 36px; padding: 6px 8px; }
  .hero .form-card .btn-large { min-height: 42px; padding: 9px 18px; }
  .hero .form-privacy { margin-top: 6px; font-size: 10.5px; line-height: 1.35; }
  .hero .form-submit-status { margin-top: 6px; }

  @media (max-width: 600px) {
    .hero .form-card { padding: 18px 16px; }
    .hero .profile-tab,
    .hero .profile-tab-secondary { min-height: 48px; }
    .hero .field input[type="text"],
    .hero .field input[type="email"],
    .hero .field input[type="tel"],
    .hero .field select { min-height: 44px; }
  }
/* Consentimento de cookies: seletores exclusivos, sem alterar o layout da página. */
.valydo-cookie-banner,
.valydo-cookie-dialog{
  box-sizing:border-box;
  color:var(--color-text);
  background:var(--color-surface-raised);
  border:1px solid var(--color-border-brand);
  border-radius:18px;
  font-family:var(--font-body);
  box-shadow:var(--shadow-lg);
  font-size:14px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.valydo-cookie-banner[hidden],
#valydo-cookie-reopen[hidden]{display:none}
.valydo-cookie-banner{
  position:fixed;
  z-index:10000;
  inset:auto 16px max(16px, env(safe-area-inset-bottom));
  max-width:1120px;
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  margin-inline:auto;
  padding:22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:22px;
  align-items:center;
}
.valydo-cookie-banner h2,
.valydo-cookie-dialog h2{
  margin:0 0 8px;
  color:var(--color-brand-deep);
  font-family:var(--font-display);
  font-size:20px;
  line-height:1.25;
  letter-spacing:normal;
}
.valydo-cookie-banner p,
.valydo-cookie-dialog p{margin:0 0 10px;font-size:14px;line-height:1.5}
.valydo-cookie-copy a{color:var(--color-brand-deep);text-decoration:underline;font-size:13px}
.valydo-cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.valydo-cookie-button{
  appearance:none;
  box-sizing:border-box;
  min-height:44px;
  padding:11px 14px;
  border:1px solid var(--color-brand-deep);
  border-radius:10px;
  background:var(--color-brand-deep);
  color:#fff;
  font:600 13px/1.4 var(--font-body);
  text-align:center;
  cursor:pointer;
  white-space:normal;
  overflow-wrap:anywhere;
}
.valydo-cookie-button:hover{background:var(--color-brand-dark)}
.valydo-cookie-button-secondary{grid-column:1 / -1;background:#fff;color:var(--color-brand-deep)}
.valydo-cookie-button-secondary:hover{background:var(--color-surface-brand)}
.valydo-cookie-banner :focus-visible,
.valydo-cookie-dialog :focus-visible,
#valydo-cookie-reopen:focus-visible{outline:3px solid var(--color-brand-blue);outline-offset:3px}
.valydo-cookie-dialog{
  width:calc(100% - 32px);
  max-width:540px;
  max-height:calc(100dvh - 32px);
  margin:auto;
  padding:24px;
  overflow-y:auto;
}
.valydo-cookie-dialog::backdrop{background:rgba(24,10,46,.6)}
.valydo-cookie-dialog-heading{display:flex;align-items:start;gap:16px;justify-content:space-between}
.valydo-cookie-dialog-heading h2{padding-top:8px}
.valydo-cookie-close{
  flex-shrink:0;
  min-height:44px;
  padding:8px;
  border:1px solid var(--color-border-brand);
  border-radius:8px;
  background:#fff;
  color:var(--color-brand-deep);
  font:600 13px var(--font-body);
  cursor:pointer;
}
.valydo-cookie-category{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--color-border)}
.valydo-cookie-category > div{flex:1;min-width:0}
.valydo-cookie-category h3,
.valydo-cookie-category label{display:block;margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4}
.valydo-cookie-category label{cursor:pointer}
.valydo-cookie-category p{margin:0;font-size:13px;color:var(--color-text-muted)}
.valydo-cookie-required{max-width:70px;flex-shrink:0;font-size:12px;color:var(--color-brand-deep)}
.valydo-cookie-category input{flex:0 0 24px;width:24px;height:24px;margin:10px;accent-color:var(--color-brand-deep);cursor:pointer}
.valydo-cookie-save{display:block;width:100%;margin-top:8px}
#valydo-cookie-reopen{
  appearance:none;
  padding:0;
  border:0;
  background:none;
  color:rgba(255,255,255,.62);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
#valydo-cookie-reopen:hover{color:#fff}
.valydo-cookie-status{position:fixed;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:768px){
  .valydo-cookie-banner{grid-template-columns:1fr;gap:14px;padding:18px}
}
@media(max-width:440px){
  .valydo-cookie-banner{inset-inline:10px;bottom:max(10px, env(safe-area-inset-bottom));padding:16px;max-height:calc(100dvh - 20px)}
  .valydo-cookie-banner p{font-size:13px}
  .valydo-cookie-actions{gap:8px}
  .valydo-cookie-button{padding:10px 8px}
  .valydo-cookie-dialog{padding:18px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .valydo-cookie-dialog h2{font-size:18px}
}
