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

    :root {
      --green: #319e0d;
      --green-dark: #16a34a;
      --yellow: #facc15;
      --dark-bg: #0a0f1e;
      --dark-nav: #060c1a;
      --text-white: #ffffff;
      --text-gray: #cbd5e1;
      --font-titulo: 'Pliant', system-ui, sans-serif;
      --font-corpo: 'Pliant', system-ui, sans-serif;
      --font-destaque: 'Pliant', system-ui, sans-serif;
      --header-offset: 80px;
    }

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

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

    body {
      font-family: var(--font-corpo);
      font-weight: 400;
      background-color: var(--dark-bg);
      color: var(--text-white);
      overflow-x: hidden;
      -webkit-text-size-adjust: 100%;
      text-wrap: pretty;
    }

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

    h1, h2, h3, h4, h5, h6 {
      font-family: var(--font-titulo);
      font-weight: 800;
    }

    p, li, label, input, textarea, select, button {
      font-family: var(--font-corpo);
    }

    strong, b {
      font-family: var(--font-destaque);
      font-weight: 700;
    }

    /* ─── HEADER ─── */
    header {
      background-color: var(--dark-nav);
      border-bottom: 1px solid rgba(255,255,255,0.06);
      position: sticky;
      top: 0;
      z-index: 100;
      width: 100%;
      font-family: var(--font-destaque);
    }

    @media (max-width: 900px) {
      header.header-hidden {
        transform: translateY(-100%);
      }
    }

    .header-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 24px;
      height: 68px;
      display: flex;
      align-items: center;
      gap: 40px;
    }

    /* Logo */
    .logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      flex-shrink: 0;
    }

    .logo-badge {
      background: linear-gradient(135deg, #1a2a1a 0%, #0d1f0d 100%);
      border: 2px solid var(--green);
      border-radius: 10px;
      padding: 6px 10px;
      display: flex;
      flex-direction: column;
      align-items: center;
      line-height: 1.1;
    }

    .logo-badge .vo {
      font-size: 11px;
      font-weight: 700;
      color: var(--text-white);
      letter-spacing: 1px;
    }

    .logo-badge .joao {
      font-size: 16px;
      font-weight: 900;
      color: var(--text-white);
      letter-spacing: 0.5px;
    }

    .logo-badge .emp {
      font-size: 8px;
      font-weight: 700;
      color: var(--green);
      letter-spacing: 1.5px;
      text-transform: uppercase;
    }

    /* Nav */
    nav {
      display: flex;
      align-items: center;
      gap: 6px;
      flex: 1;
      font-family: var(--font-destaque);
    }

    nav a {
      color: var(--text-gray);
      text-decoration: none;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      padding: 6px 8px;
      border-radius: 4px;
      transition: color 0.2s;
      white-space: nowrap;
    }

    nav a:hover {
      color: var(--text-white);
    }

    @media (min-width: 901px) {
      nav a {
        position: relative;
      }

      nav a::after {
        content: "";
        display: block;
        width: calc(100% - 16px);
        height: 2px;
        background-color: currentColor;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform 0.25s ease;
        position: absolute;
        bottom: -2px;
        left: 8px;
        pointer-events: none;
      }

      nav a:hover::after,
      nav a:focus-visible::after {
        transform: scaleX(1);
      }
    }

    /* CTA Button */
    .btn-cta {
      background-color: var(--green);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      text-decoration: none;
      padding: 10px 18px;
      border-radius: 50px;
      white-space: nowrap;
      text-align: center;
      line-height: 1.3;
      transition: background-color 0.2s;
      flex-shrink: 0;
    }

    .btn-cta:hover {
      background-color: var(--green-dark);
    }

    .menu-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 8px;
      background: rgba(255,255,255,0.05);
      color: #fff;
      cursor: pointer;
      flex-shrink: 0;
      margin-left: auto;
      transition: background-color 0.2s, border-color 0.2s;
      font-family: var(--font-destaque);
    }

    .menu-toggle:hover {
      background: rgba(255,255,255,0.1);
      border-color: rgba(255,255,255,0.2);
    }

    .menu-toggle-icon {
      width: 20px;
      height: 14px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .menu-toggle-icon .bar {
      display: block;
      width: 100%;
      height: 2px;
      background: currentColor;
      border-radius: 2px;
      transition: transform 0.3s ease, opacity 0.2s ease;
      transform-origin: center;
    }

    .menu-toggle[aria-expanded="true"] .bar:nth-child(1) {
      transform: translateY(6px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] .bar:nth-child(2) {
      opacity: 0;
      transform: scaleX(0);
    }

    .menu-toggle[aria-expanded="true"] .bar:nth-child(3) {
      transform: translateY(-6px) rotate(-45deg);
    }

    /* ─── HERO ─── */
    .hero {
      background:
        radial-gradient(ellipse 80% 60% at 60% 50%, rgba(0, 80, 180, 0.35) 0%, transparent 70%),
        radial-gradient(ellipse 50% 40% at 20% 80%, rgba(0, 40, 100, 0.4) 0%, transparent 60%),
        linear-gradient(160deg, #0a0f1e 0%, #060d1f 50%, #081020 100%);
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      padding-top: 0;
    }

    /* grid dots overlay */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
      background-size: 40px 40px;
      pointer-events: none;
    }

    .hero-inner {
      max-width: none;
      margin: 0 auto;
      padding: 0 0 0 max(24px, calc((100vw - 1200px) / 2 + 24px));
      margin-top: 0;
      display: grid;
      grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
      align-items: center;
      justify-items: center;
      gap: 24px;
      position: relative;
      z-index: 1;
      width: 100%;
    }

    .hero-banner-mobile {
      display: none;
    }

    .hero-banner-mobile img {
      width: 100%;
      height: auto;
    }

    .hero-banner-rotator {
      position: relative;
    }

    .hero-banner-slide {
      opacity: 0;
      transition: opacity 0.7s ease;
    }

    .hero-banner-slide.is-active {
      opacity: 1;
    }

    .hero-banner-slide + .hero-banner-slide {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    /* ── BOTÃO LOJA MOBILE ── */
    .loja-mobile-btn {
      display: none;
    }

    /* Left content */
    .hero-content {
      display: flex;
      flex-direction: column;
      gap: 20px;
      align-items: flex-start;
      justify-content: center;
      justify-self: end;
    }

    .hero-headline {
      font-size: clamp(20px, 2.6vw, 32px);
      font-weight: 900;
      line-height: 1.15;
      color: var(--text-white);
    }

    .hero-headline .green {
      color: var(--green);
    }

    .hero-headline .yellow {
      color: var(--yellow);
    }

    .hero-sub {
      font-size: clamp(12px, 1.1vw, 14px);
      color: var(--text-gray);
      line-height: 1.6;
      max-width: 420px;
    }

    .hero-buttons {
      display: flex;
      gap: 10px;
      flex-wrap: nowrap;
      margin-top: 4px;
    }

    .hero-buttons .btn-primary,
    .hero-buttons .btn-secondary {
      min-height: 48px;
      padding: 8px 12px;
      gap: 7px;
      font-size: 10px;
    }

    .hero-buttons .icon img,
    .hero-buttons .play-icon img {
      width: 22px !important;
      height: 22px !important;
    }

    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background-color: #319e0d;
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      padding: 10px 16px;
      border-radius: 50px;
      transition: background-color 0.2s;
      line-height: 1.2;
      text-align: left;
    }

    .btn-primary:hover {
      background-color: var(--green-dark);
    }

    .btn-primary .icon {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .btn-primary .icon svg {
      width: 20px;
      height: 20px;
      display: block;
    }

    .btn-secondary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background-color: #0e1d2f;
      border: 2px solid rgba(255,255,255,0.25);
      color: #fff;
      font-size: 11px;
      font-weight: 600;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      padding: 10px 16px;
      border-radius: 50px;
      transition: border-color 0.2s, background-color 0.2s;
      line-height: 1.2;
    }

    .btn-store {
      height: 48px;
      justify-content: center;
      min-width: 188px;
      white-space: nowrap;
    }

    .btn-more-info {
      display: none;
      height: 48px;
      align-items: center;
      justify-content: center;
      min-width: 148px;
      white-space: nowrap;
    }

    @media (min-width: 901px) {
      .hero-campaign-active .hero-buttons .btn-secondary:not(.btn-more-info) {
        display: none;
      }

      .hero-campaign-active .hero-buttons .btn-more-info {
        display: inline-flex;
      }
    }

    .btn-secondary:hover {
      border-color: rgba(255,255,255,0.5);
      background-color: #0a1520;
    }

    .btn-secondary .play-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    /* Right — character + board */
    .hero-visual {
      position: relative;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      justify-self: end;
      width: 100%;
    }

    .character-wrap {
      position: relative;
      width: 100%;
      max-width: none;
      display: flex;
      justify-content: flex-end;
      align-items: center;
    }

    /* Whiteboard */
    .whiteboard {
      position: absolute;
      top: 0;
      right: 0;
      width: 46%;
      background: #f5f5f0;
      border: 3px solid #ddd;
      border-radius: 8px;
      padding: 14px 12px;
      box-shadow: 4px 4px 16px rgba(0,0,0,0.5);
    }

    .whiteboard ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .whiteboard ul li {
      font-size: 12px;
      font-weight: 700;
      color: #1a1a1a;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .whiteboard ul li .arrow {
      color: #555;
      font-size: 10px;
    }

    .whiteboard ul li.highlight {
      color: var(--green-dark);
      font-size: 14px;
    }

    .whiteboard ul li .wb-icon {
      font-size: 16px;
    }

    /* Character illustration placeholder */
    .character-img {
      width: 100%;
      height: auto;
      display: block;
      filter: drop-shadow(0 20px 40px rgba(0,0,0,0.6));
    }

    .hero-campaign-desktop {
      border-radius: 8px 0 0 8px;
      filter: drop-shadow(0 20px 40px rgba(0,0,0,0.5));
    }

    /* Floating tech items */
    .float-item {
      position: absolute;
      width: 56px;
      height: 56px;
      background: rgba(255,255,255,0.08);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 26px;
      animation: float 4s ease-in-out infinite;
    }

    .float-item:nth-child(2) { animation-delay: 1s; }
    .float-item:nth-child(3) { animation-delay: 2s; }

    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }

    /* ─── SEÇÃO 2 — SOBRE O PROJETO ─── */
    .sobre {
      background-color: #f8f9fa;
      padding: 56px 24px;
    }

    .sobre-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 48px;
    }

    /* Coluna esquerda */
    .sobre-content {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .sobre-label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 800;
      color: #1a1a1a;
      letter-spacing: 0.5px;
      text-transform: uppercase;
    }

    .sobre-label::before {
      content: '';
      display: inline-block;
      width: 4px;
      height: 18px;
      background-color: var(--green);
      border-radius: 2px;
      flex-shrink: 0;
    }

    .sobre-text {
      font-size: 14px;
      color: #444;
      line-height: 1.7;
    }

    .sobre-text strong {
      color: #1a1a1a;
      font-weight: 700;
    }

    /* Ícones trio */
    .sobre-icons {
      display: flex;
      align-items: center;
      gap: 28px;
      margin-top: 8px;
    }

    .sobre-icon-item {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .sobre-icon-item .si-icon {
      font-size: 28px;
      flex-shrink: 0;
    }

    .sobre-icon-item .si-label {
      font-size: 13px;
      font-weight: 700;
      color: #1a1a1a;
      line-height: 1.3;
    }

    .sobre-icon-item .si-label span {
      display: block;
      font-weight: 400;
      color: #555;
    }

    .sobre-icons-divider {
      width: 1px;
      height: 36px;
      background: #ddd;
    }

    /* Coluna direita — player de vídeo */
    .sobre-video {
      position: relative;
      border-radius: 14px;
      overflow: hidden;
      background: #000;
      aspect-ratio: 16/9;
      box-shadow: 0 8px 40px rgba(0,0,0,0.38);
    }

    /* ── Thumbnail ── */
    .video-thumb {
      position: absolute;
      inset: 0;
      cursor: pointer;
    }

    .video-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .video-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, rgba(0,0,0,0.38) 0%, rgba(0,0,0,0.12) 100%);
      transition: background 0.2s;
    }

    .video-thumb:hover .video-overlay { background: rgba(0,0,0,0.28); }

    .play-btn {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 72px;
      height: 72px;
      background: rgba(6,12,26,0.78);
      border: 2.5px solid rgba(255,255,255,0.92);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      cursor: pointer;
      transition: transform 0.18s, background 0.18s, border-color 0.18s;
      backdrop-filter: blur(6px);
      padding-left: 4px;
    }

    .video-thumb:hover .play-btn {
      transform: translate(-50%, -50%) scale(1.1);
      background: var(--green);
      border-color: var(--green);
    }

    /* ── Player wrap ── */
    .vp-wrap {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      background: #000;
    }

    .vp-wrap video {
      flex: 1;
      width: 100%;
      display: block;
      object-fit: contain;
      background: #000;
      min-height: 0;
    }

    /* ── Spinner ── */
    .vp-spinner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 40px;
      height: 40px;
      border: 3px solid rgba(255,255,255,0.15);
      border-top-color: var(--green);
      border-radius: 50%;
      animation: vp-spin 0.7s linear infinite;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s;
    }

    .vp-spinner.show { opacity: 1; }
    @keyframes vp-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

    /* ── Overlay clicável ── */
    .vp-click {
      position: absolute;
      inset: 0;
      bottom: 52px;
      cursor: pointer;
      z-index: 1;
    }

    /* ── Ícone central flash ── */
    .vp-center-icon {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -58%);
      background: rgba(0,0,0,0.55);
      border-radius: 50%;
      width: 72px;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      opacity: 0;
      pointer-events: none;
      z-index: 2;
      transition: opacity 0.1s;
    }

    .vp-center-icon.show { opacity: 1; }

    /* ── Hints de skip ── */
    .vp-skip-hint {
      position: absolute;
      top: 50%;
      transform: translateY(-58%);
      background: rgba(0,0,0,0.52);
      color: #fff;
      padding: 10px 16px;
      border-radius: 8px;
      font-size: 13px;
      font-weight: 700;
      opacity: 0;
      pointer-events: none;
      z-index: 2;
      transition: opacity 0.15s;
    }

    .vp-skip-hint.left  { left: 14px; }
    .vp-skip-hint.right { right: 14px; }
    .vp-skip-hint.show  { opacity: 1; }

    /* ── Barra de controles ── */
    .vp-controls {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 0 12px 10px;
      background: linear-gradient(transparent, rgba(0,0,0,0.82) 100%);
      z-index: 3;
      opacity: 0;
      transform: translateY(4px);
      transition: opacity 0.22s, transform 0.22s;
    }

    .vp-wrap:hover .vp-controls,
    .vp-wrap.paused .vp-controls { opacity: 1; transform: translateY(0); }

    /* ── Barra de progresso ── */
    .vp-progress {
      position: relative;
      height: 18px;
      display: flex;
      align-items: center;
      cursor: pointer;
      margin-bottom: 4px;
    }

    .vp-progress-buf,
    .vp-progress-fill {
      position: absolute;
      left: 0;
      height: 4px;
      border-radius: 4px;
      pointer-events: none;
      transition: height 0.15s;
    }

    .vp-progress::before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      height: 4px;
      background: rgba(255,255,255,0.18);
      border-radius: 4px;
    }

    .vp-progress-buf  { background: rgba(255,255,255,0.28); }
    .vp-progress-fill { background: var(--green); z-index: 1; }

    .vp-progress-thumb {
      position: absolute;
      top: 50%;
      width: 14px;
      height: 14px;
      background: #fff;
      border-radius: 50%;
      transform: translate(-50%, -50%);
      pointer-events: none;
      z-index: 2;
      opacity: 0;
      transition: opacity 0.15s;
      box-shadow: 0 0 0 3px rgba(49,158,13,0.4);
    }

    .vp-progress:hover .vp-progress-thumb { opacity: 1; }
    .vp-progress:hover .vp-progress-fill,
    .vp-progress:hover .vp-progress-buf,
    .vp-progress:hover::before { height: 5px; }

    /* ── Linha de controles ── */
    .vp-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .vp-left, .vp-right {
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .vp-btn {
      background: none;
      border: none;
      color: rgba(255,255,255,0.88);
      cursor: pointer;
      padding: 5px 6px;
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: color 0.15s, background 0.15s;
    }

    .vp-btn:hover { color: #fff; background: rgba(255,255,255,0.1); }
    .vp-btn.active { color: var(--green); }

    /* ── Volume ── */
    .vp-vol-wrap {
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .vp-vol-slider {
      -webkit-appearance: none;
      width: 68px;
      height: 3px;
      background: rgba(255,255,255,0.25);
      border-radius: 3px;
      outline: none;
      cursor: pointer;
      transition: width 0.18s;
    }

    .vp-vol-slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      width: 11px;
      height: 11px;
      background: #fff;
      border-radius: 50%;
    }

    .vp-vol-slider::-moz-range-thumb {
      width: 11px;
      height: 11px;
      background: #fff;
      border-radius: 50%;
      border: none;
    }

    /* ── Tempo ── */
    .vp-time {
      font-size: 11px;
      color: rgba(255,255,255,0.78);
      white-space: nowrap;
      padding: 0 4px;
      font-variant-numeric: tabular-nums;
    }

    /* ── Fullscreen ── */
    .vp-wrap:-webkit-full-screen { border-radius: 0; }
    .vp-wrap:-moz-full-screen    { border-radius: 0; }
    .vp-wrap:fullscreen           { border-radius: 0; position: fixed; inset: 0; }

    /* mobile */
    .vp-vol-slider { width: 50px; }
    @media (max-width: 480px) {
      .vp-vol-slider { display: none; }
      .play-btn { width: 54px; height: 54px; }
    }

    /* ─── SEÇÃO 6 — FOOTER ─── */
    footer {
      background-color: #060c1a;
      border-top: 1px solid rgba(255,255,255,0.07);
      padding: 40px 0 20px;
    }

    .footer-divider {
      width: 100%;
      height: 1px;
      background: rgba(255,255,255,0.07);
      margin: 0 0 6px;
    }

    .footer-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.4fr 1fr 1.6fr 1.4fr;
      gap: 40px;
      padding: 0 24px 28px;
    }

    /* Col 1 — Logo + tagline */
    .footer-brand {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

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

    .footer-logo img {
      height: 96px;
      width: auto;
      display: block;
    }

    .footer-logo-avatar {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid var(--green);
    }

    .footer-logo-avatar-placeholder {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: linear-gradient(135deg, #1a3a1a, #0d2010);
      border: 2px solid var(--green);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      flex-shrink: 0;
    }

    .footer-logo-text .fl-name {
      font-size: 20px;
      font-weight: 900;
      color: #fff;
      line-height: 1.1;
      letter-spacing: 0.5px;
    }

    .footer-logo-text .fl-sub {
      font-size: 12px;
      font-weight: 700;
      color: var(--green);
      letter-spacing: 1px;
      text-transform: uppercase;
    }

    .footer-tagline {
      font-size: 12px;
      color: #64748b;
      line-height: 1.6;
    }

    .footer-tagline strong {
      display: block;
      color: #94a3b8;
      font-weight: 600;
      margin-bottom: 2px;
    }

    /* Col 2 — Fale Conosco */
    .footer-contato h3 {
      font-size: 12px;
      font-weight: 800;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 16px;
    }

    .footer-contato ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .footer-contato ul li a {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      color: #cbd5e1;
      font-size: 13px;
      font-weight: 500;
      transition: color 0.2s;
    }

    .footer-contato ul li a:hover { color: #fff; }

    .footer-contato ul li a .fc-icon {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      flex-shrink: 0;
    }

    .fc-icon.whatsapp { background: #25d366; }
    .fc-icon.instagram { background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }

    /* Col 3 — Links Rápidos */
    .footer-links h3 {
      font-size: 12px;
      font-weight: 800;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 16px;
    }

    .footer-links-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px 24px;
    }

    .footer-links-grid a {
      text-decoration: none;
      color: #94a3b8;
      font-size: 12.5px;
      transition: color 0.2s;
      line-height: 1.5;
    }

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

    /* Col 4 — LGPD */
    .footer-lgpd {
      position: relative;
    }

    .footer-lgpd h3 {
      font-size: 12px;
      font-weight: 800;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 12px;
    }

    .footer-lgpd p {
      font-size: 11.5px;
      color: #64748b;
      line-height: 1.7;
    }


    /* Copyright */
    .footer-copy {
      text-align: center;
      padding: 4px 24px 14px;
      font-size: 11.5px;
      color: #475569;
    }

    /* Responsive footer */
@media (max-width: 900px) {
       .footer-inner {
         grid-template-columns: 1fr 1fr;
         gap: 18px;
       }
     }

@media (max-width: 480px) {
       .footer-inner {
         grid-template-columns: 1fr;
         gap: 16px;
       }
    }

    /* ─── GALERIA ─── */
    .galeria {
      background-color: #fff;
      padding: 48px 24px;
      border-top: 1px solid #eee;
    }

    .galeria-inner {
      max-width: 1200px;
      margin: 0 auto;
    }

    .galeria-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1.4fr 1fr 1fr;
      gap: 10px;
      margin-top: 32px;
    }

    .galeria-item {
      border-radius: 10px;
      overflow: hidden;
      aspect-ratio: 3/4;
      background: #1a1a2e;
      position: relative;
      cursor: pointer;
    }

    .galeria-item.wide {
      aspect-ratio: 4/4;
    }

    .galeria-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }

    .galeria-item:hover img {
      transform: scale(1.05);
    }

    /* placeholder enquanto não tem fotos reais */
    .galeria-placeholder {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 36px;
      color: rgba(255,255,255,0.2);
      background: linear-gradient(135deg, #0d1b2a, #1a2a3a);
    }

    .galeria-placeholder span {
      font-size: 11px;
      color: rgba(255,255,255,0.2);
      font-weight: 500;
      letter-spacing: 0.5px;
    }

    /* Responsive galeria */
    @media (max-width: 900px) {
      .galeria-grid {
        grid-template-columns: 1fr 1fr 1fr;
      }
      .galeria-item { aspect-ratio: 1/1; }
    }

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

    /* ─── MONITORAMENTO AO VIVO ─── */
    .monitoramento-home {
      background: #f8fafc;
      padding: 18px 24px 58px;
    }

    .monitoramento-home-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
      gap: 32px;
      align-items: center;
    }

    .monitoramento-copy-head {
      height: 100%;
      display: grid;
      grid-template-rows: auto auto;
      align-items: flex-start;
      gap: 22px;
    }

    .monitoramento-home-copy h2 {
      font-size: clamp(40px, 5.2vw, 74px);
      line-height: 1.04;
      font-weight: 900;
      color: #0f172a;
      letter-spacing: 0;
      margin: 0 0 12px;
    }

    .monitoramento-logo-panel {
      min-height: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 14px;
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      padding: 0;
    }

    .monitoramento-logo-panel img {
      width: min(340px, 100%);
      height: auto;
      object-fit: contain;
      flex-shrink: 0;
    }

    .monitoramento-home-copy p {
      max-width: 620px;
      color: #475569;
      font-size: 16px;
      line-height: 1.55;
      margin: 0;
    }

    .monitoramento-home-card {
      width: min(360px, 100%);
      align-self: start;
      min-height: 0;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      padding: 14px;
      display: grid;
      grid-template-columns: 40px 1fr;
      gap: 12px;
      align-items: center;
      align-content: start;
      box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
    }

    .monitoramento-logo-panel .monitoramento-home-card {
      align-self: center;
    }

    .monitoramento-card-icon {
      width: 40px;
      height: 40px;
      justify-self: start;
      border-radius: 8px;
      background: #dcfce7;
      border: 1px solid rgba(22, 163, 74, 0.18);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .monitoramento-card-icon img {
      width: 21px;
      height: 21px;
      object-fit: contain;
      opacity: 0.72;
    }

    .monitoramento-card-body {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .monitoramento-card-body strong {
      color: #0f172a;
      font-size: 14px;
      line-height: 1.2;
    }

    .monitoramento-card-body span {
      color: #64748b;
      font-size: 12px;
      line-height: 1.4;
    }

    .monitoramento-home-btn {
      grid-column: 1 / -1;
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 10px 16px;
      border-radius: 8px;
      background: #16a34a;
      color: #fff;
      text-decoration: none;
      font-size: 13px;
      font-weight: 800;
      transition: background 0.15s, transform 0.12s;
    }

    .monitoramento-home-btn:hover {
      background: #15803d;
      transform: translateY(-1px);
    }

    @media (max-width: 900px) {
      .monitoramento-home {
        padding: 10px 20px 46px;
      }

      .monitoramento-home-inner {
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
      }

      .monitoramento-copy-head {
        height: auto;
        grid-template-rows: auto;
      }

      .monitoramento-home-card {
        max-width: 430px;
        min-height: 0;
      }

      .monitoramento-logo-panel {
        max-width: 520px;
        min-height: 180px;
        align-items: flex-start;
        justify-content: flex-start;
      }

      .monitoramento-logo-panel .monitoramento-home-card {
        align-self: flex-start;
      }
    }

    @media (max-width: 520px) {
      .monitoramento-home-card {
        grid-template-columns: 40px 1fr;
        padding: 14px;
      }

      .monitoramento-logo-panel {
        min-height: 150px;
        padding: 22px;
      }

      .monitoramento-logo-panel img {
        width: min(300px, 82vw);
      }

      .monitoramento-card-icon {
        width: 40px;
        height: 40px;
      }

      .monitoramento-home-btn {
        width: 100%;
      }
    }

    /* ── Campos Core Methods MP ── */
    .mp-field-wrap {
      display: flex;
      flex-direction: column;
      gap: 5px;
      width: 100%;
    }

    .mp-label {
      font-size: 11px;
      font-weight: 600;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .mp-field {
      width: 100%;
      height: 42px;
      background: #f8f9fa;
      border: 1px solid #e2e8f0;
      border-radius: 6px;
      padding: 0 12px;
      transition: border-color 0.2s;
    }

    .mp-field.mp-focused {
      border-color: #319e0d;
      outline: none;
    }

    .mp-input {
      width: 100%;
      height: 42px;
      background: #f8f9fa;
      border: 1px solid #e2e8f0;
      border-radius: 6px;
      padding: 0 12px;
      font-family: var(--font-corpo);
      font-size: 13px;
      color: #1a1a1a;
      outline: none;
      transition: border-color 0.2s;
      appearance: none;
    }

    .mp-input:focus { border-color: #319e0d; }

    /* ─── STEPS ─── */
    .steps-indicator {
      --step-item-width: 110px;
      --step-dot-size: 36px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0;
      margin-bottom: 32px;
      position: relative;
      isolation: isolate;
    }

    .steps-indicator::before,
    .steps-indicator::after {
      content: '';
      position: absolute;
      top: calc((var(--step-dot-size) / 2) - 1px);
      left: calc(var(--step-item-width) / 2);
      height: 2px;
      border-radius: 999px;
      z-index: -1;
    }

    .steps-indicator::before {
      right: calc(var(--step-item-width) / 2);
      background: #e2e8f0;
    }

    .steps-indicator::after {
      width: 0;
      background: #193073;
      transition: width 0.3s;
    }

    .steps-indicator.step-progress-2::after {
      width: calc(50% - (var(--step-item-width) / 2));
    }

    .steps-indicator.step-progress-3::after {
      width: calc(100% - var(--step-item-width));
    }

    .step-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      width: var(--step-item-width);
      position: relative;
    }

    .step-num {
      width: var(--step-dot-size);
      height: var(--step-dot-size);
      border-radius: 50%;
      background: #e2e8f0;
      color: #94a3b8;
      font-weight: 800;
      font-size: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.3s, color 0.3s;
    }

    .step-item span {
      font-size: 11px;
      font-weight: 600;
      color: #94a3b8;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      transition: color 0.3s;
    }

    .step-item.active .step-num {
      background: #319e0d;
      color: #fff;
    }

    .step-item.active span {
      color: #319e0d;
    }

    .step-item.done .step-num {
      background: #193073;
      color: #fff;
    }

    .step-item.done span {
      color: #193073;
    }

    .step-line {
      display: none;
    }

    .step-line.done {
      display: none;
    }

    .inscricao-layout {
      max-width: 1120px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr;
      gap: 24px;
      align-items: start;
    }

    .insc-side-info {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
      align-items: start;
      width: 100%;
    }

    .orientacao-promo-group {
      display: grid;
      grid-template-columns: minmax(260px, 0.85fr) minmax(300px, 1.15fr);
      gap: 16px;
      align-items: stretch;
      width: 100%;
    }

    .inscricao-wrap {
      max-width: 760px;
      width: 100%;
      margin: 0 auto;
    }

    .step-panel {
      animation: fadeIn 0.3s ease;
    }

    .insc-card {
      background: #fff;
      border-radius: 12px;
      padding: 28px 24px;
      border: 1px solid #e2e8f0;
      box-sizing: border-box;
      width: 100%;
    }

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

    /* ─── SEÇÃO INSCRIÇÃO ─── */
    .inscricao {
      background-color: #f0f2f5;
      padding: 48px 24px;
      border-top: 1px solid #e2e8f0;
    }

    .inscricao-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.1fr 1fr 0.9fr;
      gap: 20px;
      align-items: start;
    }

    /* ── Col 1: Formulário ── */
    .insc-form-col {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .insc-form-head {
      width: 100%;
    }

    .insc-form-col h2,
    .insc-form-head h2 {
      font-size: 16px;
      font-weight: 900;
      color: #1a1a1a;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin: 0 0 14px;
    }

    .insc-form-head .pay-head-divider {
      margin-bottom: 0;
    }

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

    .mp-form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .pix-panel {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      margin-top: 12px;
      width: 100%;
    }

    .cartao-panel {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 12px;
      width: 100%;
    }

    .form-row.single {
      grid-template-columns: 1fr;
    }

    .insc-form-col input,
    .insc-form-col select,
    .insc-form-col textarea {
      width: 100%;
      background: #f8f9fa;
      border: 1px solid #e2e8f0;
      border-radius: 6px;
      padding: 10px 12px;
      font-family: var(--font-corpo);
      font-size: 13px;
      color: #1a1a1a;
      outline: none;
      transition: border-color 0.2s;
    }

    .insc-form-col input::placeholder,
    .insc-form-col textarea::placeholder {
      color: #94a3b8;
    }

    .insc-form-col select {
      color: #64748b;
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      cursor: pointer;
    }

    .insc-form-col select option { background: #fff; color: #1a1a1a; }

    .insc-form-col input:focus,
    .insc-form-col select:focus,
    .insc-form-col textarea:focus {
      border-color: #319e0d;
    }

    .insc-form-col textarea {
      resize: none;
      height: 68px;
    }

    .insc-field-shell {
      position: relative;
      margin-top: 18px;
    }

    .insc-field-shell > input,
    .insc-field-shell > textarea {
      position: relative;
      z-index: 0;
      border-radius: 0;
      background: transparent;
      letter-spacing: 0.02em;
      transition: border-color 0.4s;
    }

    .insc-field-shell > input:focus,
    .insc-field-shell > textarea:focus {
      border-color: transparent;
    }

    .insc-field-label {
      position: absolute;
      top: 13px;
      left: 12px;
      z-index: 1;
      color: #94a3b8;
      font-size: 13px;
      line-height: 1;
      letter-spacing: 0.02em;
      pointer-events: none;
      transition: top 0.3s, left 0.3s, color 0.3s, font-size 0.3s;
    }

    .insc-field-shell > textarea ~ .insc-field-label {
      top: 12px;
    }

    .insc-field-shell > input:focus ~ .insc-field-label,
    .insc-field-shell > input.has-content ~ .insc-field-label,
    .insc-field-shell > textarea:focus ~ .insc-field-label,
    .insc-field-shell > textarea.has-content ~ .insc-field-label {
      top: -17px;
      left: 0;
      color: #319e0d;
      font-size: 11px;
      font-weight: 700;
    }

    .insc-focus-border {
      position: absolute;
      inset: 0;
      z-index: 2;
      overflow: hidden;
      pointer-events: none;
    }

    .insc-focus-border::before,
    .insc-focus-border::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 2px;
      background-color: #319e0d;
      transition: width 0.3s;
    }

    .insc-focus-border::after {
      top: auto;
      right: 0;
      bottom: 0;
      left: auto;
    }

    .insc-focus-border i::before,
    .insc-focus-border i::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 2px;
      height: 0;
      background-color: #319e0d;
      transition: height 0.4s;
    }

    .insc-focus-border i::after {
      top: auto;
      right: 0;
      bottom: 0;
      left: auto;
    }

    .insc-field-shell > input:focus ~ .insc-focus-border::before,
    .insc-field-shell > input:focus ~ .insc-focus-border::after,
    .insc-field-shell > input.has-content ~ .insc-focus-border::before,
    .insc-field-shell > input.has-content ~ .insc-focus-border::after,
    .insc-field-shell > textarea:focus ~ .insc-focus-border::before,
    .insc-field-shell > textarea:focus ~ .insc-focus-border::after,
    .insc-field-shell > textarea.has-content ~ .insc-focus-border::before,
    .insc-field-shell > textarea.has-content ~ .insc-focus-border::after {
      width: 100%;
    }

    .insc-field-shell > input:focus ~ .insc-focus-border i::before,
    .insc-field-shell > input:focus ~ .insc-focus-border i::after,
    .insc-field-shell > input.has-content ~ .insc-focus-border i::before,
    .insc-field-shell > input.has-content ~ .insc-focus-border i::after,
    .insc-field-shell > textarea:focus ~ .insc-focus-border i::before,
    .insc-field-shell > textarea:focus ~ .insc-focus-border i::after,
    .insc-field-shell > textarea.has-content ~ .insc-focus-border i::before,
    .insc-field-shell > textarea.has-content ~ .insc-focus-border i::after {
      height: 100%;
    }

    .turma-wrap {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .turma-wrap .turma-label {
      font-size: 11px;
      font-weight: 700;
      line-height: 1;
      color: #319e0d;
      text-transform: none;
      letter-spacing: 0.02em;
    }

    .turma-wrap select.esgotada {
      border-color: #fecaca;
      background: #fef2f2;
      color: #b91c1c;
    }

    .turma-wrap .turma-preco {
      font-size: 12px;
      color: #193073;
      font-weight: 700;
      line-height: 1.4;
    }

    .cupom-field-shell > input {
      padding-right: 88px;
    }

    .btn-aplicar-cupom {
      position: absolute;
      top: 50%;
      right: 6px;
      z-index: 3;
      min-width: 72px;
      min-height: 30px;
      border: 0;
      border-radius: 999px;
      background: #319e0d;
      color: #fff;
      font-family: var(--font-corpo);
      font-size: 11px;
      font-weight: 800;
      cursor: pointer;
      transform: translateY(-50%);
      transition: transform 0.18s, background 0.18s;
    }

    .btn-aplicar-cupom:hover { background: #258106; transform: translateY(-50%) scale(1.02); }
    .btn-aplicar-cupom:disabled { background: #cbd5e1; color: #64748b; cursor: not-allowed; transform: translateY(-50%); }

    .cupom-status {
      min-height: 18px;
      color: #64748b;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.45;
    }

    .cupom-status.ok { color: #15803d; }
    .cupom-status.error { color: #dc2626; }

    .promo-countdown-panel {
      position: relative;
      padding: 22px 20px 20px;
      border-radius: 16px;
      background: #ffffff;
      border: 1.5px solid rgba(49, 158, 13, 0.45);
      box-shadow: 0 8px 32px rgba(49, 158, 13, 0.10), 0 2px 8px rgba(0,0,0,0.06);
      height: 100%;
    }

    .promo-countdown-panel-inline {
      display: flex;
      flex-direction: column;
      justify-content: center;
      height: auto;
      min-height: 0;
      padding: 16px 20px;
      text-align: left;
    }

    .promo-countdown-panel[data-select-turma],
    .turma-orientacao-panel[data-select-turma] {
      cursor: pointer;
    }

    .promo-countdown-panel-inline .promo-head {
      justify-content: flex-start;
      margin-bottom: 12px;
    }

    .promo-countdown-panel-inline .promo-countdown-title {
      margin-bottom: 14px;
    }

    .promo-countdown-panel-inline::before,
    .promo-countdown-panel-inline .promo-countdown-art {
      display: none;
    }

    .promo-countdown-art {
      position: absolute;
      top: 4px;
      right: 4px;
      width: 76px;
      height: 76px;
      object-fit: contain;
      object-position: top right;
      pointer-events: none;
      z-index: 2;
      opacity: 1;
      mix-blend-mode: normal;
      image-rendering: auto;
    }

    .promo-countdown-panel::before {
      content: '';
      position: absolute;
      top: -30px;
      right: -24px;
      width: 110px;
      height: 110px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(49, 158, 13, 0.10) 0%, transparent 70%);
      pointer-events: none;
    }

    .promo-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
    }

    .promo-badge {
      display: inline-flex;
      align-items: center;
      padding: 5px 10px;
      border-radius: 999px;
      background: rgba(49, 158, 13, 0.10);
      border: 1px solid rgba(49, 158, 13, 0.35);
      font-size: 10px;
      font-weight: 800;
      color: var(--green);
      text-transform: uppercase;
      letter-spacing: 0.8px;
    }

    .promo-countdown-title {
      font-size: 13px;
      font-weight: 700;
      color: #475569;
      letter-spacing: 0.3px;
      margin-bottom: 14px;
    }

    .promo-timer-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 8px;
    }

    .promo-unit {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-height: 68px;
      border-radius: 10px;
      background: rgba(49, 158, 13, 0.06);
      border: 1px solid rgba(49, 158, 13, 0.18);
    }

    .promo-unit span {
      font-size: 32px;
      font-weight: 900;
      color: var(--green);
      font-variant-numeric: tabular-nums;
      line-height: 1;
    }

    .promo-unit small {
      font-size: 9px;
      font-weight: 700;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .turma-orientacao-panel {
      padding: 20px;
      border-radius: 16px;
      background: #fff;
      border: 1px solid #e2e8f0;
      box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
      position: relative;
      height: 100%;
    }

    .turma-orientacao-panel.active {
      border-color: rgba(49, 158, 13, 0.48);
      box-shadow: 0 12px 32px rgba(49, 158, 13, 0.12), 0 10px 28px rgba(15, 23, 42, 0.05);
    }

    .turma-orientacao-panel::before {
      content: '';
      position: absolute;
      left: 0;
      top: 18px;
      bottom: 18px;
      width: 4px;
      border-radius: 0 4px 4px 0;
      background: linear-gradient(180deg, var(--green) 0%, #166534 100%);
    }

    .orient-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 10px;
      padding-left: 8px;
    }

    .orient-icon {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f0fdf4;
      color: var(--green);
      font-size: 18px;
      flex-shrink: 0;
    }

    .orient-icon svg {
      display: block;
      width: 18px;
      height: 18px;
    }

    .orient-head > div:last-child {
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .orient-head strong {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      font-size: 12px;
      font-weight: 900;
      color: #193073;
      text-transform: uppercase;
      letter-spacing: 0.4px;
      line-height: 1.2;
    }

    .orient-head .turma-label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 3px 8px;
      border-radius: 999px;
      background: #e2e8f0;
      color: #475569;
      font-size: 10px;
      letter-spacing: 0.2px;
      line-height: 1.2;
      margin: 0;
      flex-shrink: 0;
    }

    .orient-head > div:last-child > span {
      display: block;
      font-size: 11px;
      color: #64748b;
      margin-top: 2px;
    }

    .orient-weekdays {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin: 12px 0 14px 8px;
    }

    .orient-age-row {
      margin: 12px 0 0 8px;
      color: #dc2626;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.25;
    }

    .orient-weekdays .wd {
      padding: 5px 10px;
      border-radius: 999px;
      background: #ecfdf5;
      border: 1px solid #bbf7d0;
      font-size: 10px;
      font-weight: 800;
      color: #166534;
      text-transform: uppercase;
      letter-spacing: 0.4px;
    }

    .orient-dias-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      padding-left: 8px;
    }

    .orient-dias-grid .dia-chip {
      min-width: 38px;
      height: 38px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
      border: 1px solid #dbe3ee;
      font-size: 12px;
      font-weight: 800;
      color: #193073;
      box-shadow: 0 2px 0 rgba(148, 163, 184, 0.15);
    }

    .orient-note {
      display: flex;
      align-items: flex-start;
      gap: 6px;
      margin-top: 14px;
      padding-left: 8px;
      font-size: 11px;
      color: #64748b;
      line-height: 1.45;
    }

    .orient-note svg {
      display: block;
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      margin-top: 0;
    }

    .orient-note span {
      min-width: 0;
    }

    .orient-note .orient-note-text {
      display: block;
      white-space: pre-line;
    }

    .insc-checkbox {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 11.5px;
      color: #94a3b8;
      line-height: 1.5;
      cursor: pointer;
    }

    .insc-checkbox input[type="checkbox"] {
      width: 15px;
      height: 15px;
      flex-shrink: 0;
      margin-top: 2px;
      accent-color: var(--green);
    }

    .btn-garantir {
      width: 100%;
      background: var(--green);
      color: #fff;
      border: none;
      border-radius: 6px;
      padding: 14px;
      font-family: var(--font-corpo);
      font-size: 14px;
      font-weight: 800;
      letter-spacing: 1px;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.2s;
      margin-top: 4px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 47px;
    }

    .btn-garantir:hover { background: var(--green-dark); }

    .btn-garantir:disabled,
    .pay-copy-btn:disabled {
      opacity: 0.9;
      cursor: not-allowed;
    }

    .btn-garantir.esgotado {
      background: #fef2f2;
      border: 1px solid #fecaca;
      color: #b91c1c;
      cursor: not-allowed;
      opacity: 1;
    }

    .btn-garantir.esgotado:hover {
      background: #fef2f2;
      border-color: #fecaca;
      color: #b91c1c;
    }

    .btn-garantir.is-loading,
    .pay-copy-btn.is-loading {
      pointer-events: none;
    }

    @keyframes loader_5191 {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    .loader {
      position: relative;
      width: 40px;
      height: 40px;
      display: inline-block;
    }

    .loader .square {
      background: #ddd;
      width: 10px;
      height: 10px;
      position: absolute;
      top: 50%;
      left: 50%;
      margin-top: -5px;
      margin-left: -5px;
    }

    .loader .square:nth-child(1) { margin-top: -25px; margin-left: -25px; animation: loader_5191 675ms ease-in-out 0s infinite alternate; }
    .loader .square:nth-child(2) { margin-top: -25px; animation: loader_5191 675ms ease-in-out 75ms infinite alternate; }
    .loader .square:nth-child(3) { margin-top: -25px; margin-left: 15px; animation: loader_5191 675ms ease-in-out 150ms infinite; }
    .loader .square:nth-child(4) { margin-left: -25px; animation: loader_5191 675ms ease-in-out 225ms infinite; }
    .loader .square:nth-child(5) { animation: loader_5191 675ms ease-in-out 300ms infinite; }
    .loader .square:nth-child(6) { margin-left: 15px; animation: loader_5191 675ms ease-in-out 375ms infinite; }
    .loader .square:nth-child(7) { margin-top: 15px; margin-left: -25px; animation: loader_5191 675ms ease-in-out 450ms infinite; }
    .loader .square:nth-child(8) { margin-top: 15px; animation: loader_5191 675ms ease-in-out 525ms infinite; }
    .loader .square:nth-child(9) { margin-top: 15px; margin-left: 15px; animation: loader_5191 675ms ease-in-out 600ms infinite; }

    /* ── Col 2: Pagamento ── */
    .insc-payment-col {
      padding: 24px;
      display: flex;
      flex-direction: column;
      gap: 16px;
      align-items: center;
      min-height: 100%;
    }

    .pay-head {
      width: 100%;
      text-align: center;
    }

    .pay-head h2 {
      font-size: 15px;
      font-weight: 800;
      color: #1a1a1a;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin: 0 0 14px;
    }

    .pay-head-divider {
      width: calc(100% + 48px);
      margin: 0 -24px 4px;
      height: 1px;
      background: #e2e8f0;
      flex-shrink: 0;
    }

    .pay-body {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 16px;
      align-items: center;
      flex: 1;
    }

    .insc-payment-col .pay-sub {
      font-size: 11px;
      color: #64748b;
      text-align: center;
      line-height: 1.55;
      width: 100%;
      margin-top: auto;
      padding-top: 14px;
      border-top: 1px solid #f1f5f9;
    }

    .insc-parcela-wrap {
      display: flex;
      justify-content: center;
      width: 100%;
      margin: 0 0 18px;
    }

    .insc-parcela-wrap .pay-parcela-badge {
      width: auto;
      min-width: 240px;
      max-width: 300px;
    }

    .pay-parcela-badge {
      position: relative;
      overflow: hidden;
      display: inline-grid;
      grid-template-columns: 56px 1fr;
      align-items: center;
      align-self: center;
      gap: 12px;
      width: auto;
      min-width: 240px;
      max-width: 300px;
      padding: 14px 16px;
      border-radius: 14px;
      background: linear-gradient(145deg, #991b1b 0%, #dc2626 38%, #ea580c 100%);
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: 0.2px;
      box-shadow: 0 4px 18px rgba(185, 28, 28, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.12);
      border: 2px solid #fb923c;
      animation: parcela-glow 2.5s ease-in-out infinite;
      isolation: isolate;
    }

    .pay-parcela-badge::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: linear-gradient(
        165deg,
        rgba(255, 255, 255, 0.38) 0%,
        rgba(255, 255, 255, 0.12) 22%,
        transparent 42%,
        transparent 68%,
        rgba(0, 0, 0, 0.08) 100%
      );
      pointer-events: none;
      z-index: 0;
    }

    .pay-parcela-badge::after {
      content: '';
      position: absolute;
      top: -20%;
      left: -120%;
      width: 55%;
      height: 140%;
      background: linear-gradient(
        105deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 35%,
        rgba(255, 255, 255, 0.55) 50%,
        rgba(255, 255, 255, 0.08) 65%,
        transparent 100%
      );
      transform: skewX(-18deg);
      animation: parcela-car-shine 3.2s ease-in-out infinite;
      pointer-events: none;
      z-index: 2;
    }

    .pay-parcela-badge > * {
      position: relative;
      z-index: 1;
    }

    .pay-parcela-badge strong {
      font-weight: 900;
      font-size: 15px;
      color: #fff;
    }

    .pay-parcela-badge .pay-parcela-valor {
      font-size: 24px;
      font-weight: 900;
      color: #ffedd5;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
      letter-spacing: -0.3px;
    }

    .pay-parcela-badge .pay-parcela-sub {
      display: block;
      margin-top: 3px;
      font-size: 12px;
      font-weight: 700;
      color: rgba(255, 255, 255, 0.92);
      text-transform: lowercase;
    }

    .pay-parcela-badge .pay-parcela-ico {
      flex-shrink: 0;
      width: 56px;
      height: 56px;
      border-radius: 12px;
      background: rgba(0, 0, 0, 0.18);
      border: 1px solid rgba(251, 146, 60, 0.55);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }

    .pay-parcela-badge .pay-parcela-ico svg {
      width: 38px;
      height: 38px;
      display: block;
    }

    .pay-parcela-badge .pay-parcela-text {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      text-align: left;
      min-width: 0;
    }

    .pay-parcela-badge .pay-parcela-top {
      font-size: 12px;
      line-height: 1.35;
      color: rgba(255, 255, 255, 0.95);
    }

    @keyframes parcela-glow {
      0%, 100% { box-shadow: 0 4px 18px rgba(185, 28, 28, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.12); }
      50% { box-shadow: 0 6px 26px rgba(234, 88, 12, 0.58), inset 0 1px 0 rgba(255, 255, 255, 0.12); }
    }

    @keyframes parcela-car-shine {
      0%, 72% { left: -120%; opacity: 0; }
      8% { opacity: 1; }
      38% { left: 140%; opacity: 1; }
      45%, 100% { left: 140%; opacity: 0; }
    }

    .pay-tabs {
      display: flex;
      width: 100%;
      border-radius: 6px;
      overflow: hidden;
      border: 1px solid #e2e8f0;
    }

    .pay-method-modal[hidden] {
      display: none;
    }

    .payment-modal-open {
      overflow: hidden;
    }

    .pay-method-modal {
      position: fixed;
      inset: 0;
      z-index: 10000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
    }

    .pay-method-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(15, 23, 42, 0.58);
      backdrop-filter: blur(4px);
    }

    .pay-method-dialog {
      position: relative;
      width: min(420px, 100%);
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      padding: 22px;
      box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
    }

    .pay-method-dialog h2 {
      margin: 0 34px 20px 0;
      font-family: var(--font-titulo);
      font-size: 22px;
      line-height: 1.2;
      color: #172033;
      letter-spacing: 0;
    }

    .pay-method-close {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 34px;
      height: 34px;
      border: 1px solid #e2e8f0;
      border-radius: 50%;
      background: #fff;
      color: #475569;
      font-size: 24px;
      line-height: 1;
      cursor: pointer;
    }

    .pay-method-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .pay-method-option {
      min-height: 84px;
      border: 1px solid #d8e1ec;
      border-radius: 8px;
      background: #f8fafc;
      color: #172033;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 12px 10px;
      font-family: var(--font-corpo);
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 0;
      cursor: pointer;
      transition: border-color 0.2s, background 0.2s, transform 0.2s;
    }

    .pay-method-option:hover,
    .pay-method-option:focus-visible,
    .pay-method-option.is-selected {
      background: #fff;
      border-color: var(--green);
      box-shadow: 0 0 0 2px rgba(49, 158, 13, 0.14);
      transform: translateY(-1px);
      outline: none;
    }

    .pay-method-option img {
      width: 34px;
      height: 34px;
      object-fit: contain;
      display: block;
    }

    .pay-method-card-icons {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 5px;
      min-height: 34px;
    }

    .pay-method-card-icons img {
      width: 30px;
      height: 30px;
    }

    .pay-method-continue {
      width: 100%;
      margin-top: 14px;
      border: none;
      border-radius: 999px;
      background: var(--green);
      color: #fff;
      padding: 12px 18px;
      font-family: var(--font-corpo);
      font-size: 13px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 0;
      cursor: pointer;
      transition: background 0.2s, transform 0.2s;
    }

    .pay-method-continue:hover {
      background: var(--green-dark);
      transform: translateY(-1px);
    }

    .pay-method-continue[hidden] {
      display: none;
    }

    .pay-tab {
      flex: 1;
      padding: 10px;
      font-family: var(--font-corpo);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      border: none;
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
      background: #f8f9fa;
      color: #64748b;
    }

    .pay-tab.active {
      background: var(--green);
      color: #fff;
    }

    .pay-qr {
      width: 130px;
      height: 130px;
      background: #1a1a1a;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 64px;
      border: 4px solid #fff;
      box-shadow: 0 0 0 2px #1a1a1a;
    }

    .pay-chave {
      font-size: 12px;
      color: #333;
      text-align: center;
      line-height: 1.6;
    }

    .pay-chave strong { color: #1a1a1a; }

    .pay-info {
      font-size: 11px;
      color: #64748b;
      text-align: center;
      line-height: 1.6;
    }

    .pay-mp-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      flex-wrap: wrap;
    }

    .pay-mp-logo {
      height: 16px;
      width: auto;
      display: block;
      filter: grayscale(100%);
      opacity: 0.55;
    }

    .btn-voltar {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: none;
      border: none;
      color: #64748b;
      font-size: 12px;
      cursor: pointer;
      margin-top: 12px;
      font-family: var(--font-corpo);
      padding: 0;
      transition: color 0.2s;
    }

    .btn-voltar:hover { color: #475569; }

    .btn-voltar svg { flex-shrink: 0; }

    .pay-copy-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #319e0d;
      color: #fff;
      border: none;
      border-radius: 50px;
      padding: 10px 20px;
      font-family: var(--font-corpo);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      cursor: pointer;
      transition: background 0.2s;
    }

    .pay-copy-btn:hover { background: var(--green-dark); }

    .pay-copy-btn--link {
      text-decoration: none;
      justify-content: center;
    }

    .pix-code-box {
      width: min(420px, 100%);
      display: flex;
      flex-direction: column;
      gap: 6px;
      text-align: left;
    }

    #pix-qr-img {
      width: 210px !important;
      height: 210px !important;
      max-width: calc(100vw - 96px) !important;
      object-fit: contain;
      background: #fff;
      padding: 16px;
      border: 1px solid #e2e8f0;
      border-radius: 0 !important;
      box-sizing: content-box;
      image-rendering: pixelated;
    }

    .pix-code-box span {
      font-size: 12px;
      font-weight: 800;
      color: #475569;
      text-transform: uppercase;
      letter-spacing: 0;
    }

    .pix-code-box textarea {
      width: 100%;
      min-height: 72px;
      resize: vertical;
      border: 1px solid #d8e1ec;
      border-radius: 8px;
      background: #f8fafc;
      color: #334155;
      padding: 10px 12px;
      font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
      font-size: 11px;
      line-height: 1.4;
      box-sizing: border-box;
    }

    .pay-copy-btn svg {
      flex-shrink: 0;
      width: 16px;
      height: 16px;
      max-width: none;
      color: #fff;
      fill: none;
      filter: none;
    }

    .pay-valor {
      font-size: 22px;
      font-weight: 900;
      color: #1a1a1a;
      text-align: center;
    }

    .pay-valor span {
      font-size: 13px;
      font-weight: 500;
      color: #64748b;
      display: block;
      margin-bottom: 2px;
    }

    /* ── Col 3: Confirmação ── */
    .insc-confirm-col {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 18px;
      text-align: center;
    }

    .insc-confirm-col h2 {
      font-size: 16px;
      font-weight: 900;
      color: #1a1a1a;
      text-transform: uppercase;
      line-height: 1.3;
    }

    .confirm-check {
      width: 64px;
      height: 64px;
      background: var(--green);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 36px;
      color: #fff;
      box-shadow: 0 4px 16px rgba(34,197,94,0.3);
    }
    .insc-confirm-col p {
      font-size: 13px;
      color: #555;
      line-height: 1.6;
    }

    .confirm-icons {
      display: flex;
      gap: 20px;
      margin-top: 4px;
    }

    .confirm-icons a {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      text-decoration: none;
      transition: transform 0.2s;
    }

    .confirm-icons a:hover { transform: scale(1.1); }
    .confirm-icons .ci-email { background: #e2e8f0; }
    .confirm-icons .ci-whats { background: #25d366; }

    /* Responsive inscrição */
    @media (max-width: 900px) {
      .inscricao-inner { grid-template-columns: 1fr; }

      .inscricao-layout {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .insc-side-info {
        grid-template-columns: 1fr;
      }

      .orientacao-promo-group {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 30px;
      }

      .orientacao-promo-group:last-child {
        margin-bottom: 0;
      }

      .promo-timer-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .promo-unit span {
        font-size: 26px;
      }

      .orient-icon {
        width: 34px;
        height: 34px;
      }

      .orient-icon svg {
        width: 17px;
        height: 17px;
      }

      .orient-note svg {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
      }
    }

    /* ─── SEÇÃO 5 — FAQ ─── */
    .faq {
      background-color: #f8f9fa;
      padding: 48px 24px;
      border-top: 1px solid #eee;
    }

    .faq-inner {
      max-width: 1200px;
      margin: 0 auto;
    }

    .faq-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      margin-top: 32px;
    }

    .faq-item {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      overflow: hidden;
    }

    .faq-question {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 14px 16px;
      background: none;
      border: none;
      cursor: pointer;
      text-align: left;
      font-family: var(--font-corpo);
      font-size: 13px;
      font-weight: 600;
      color: #1a1a1a;
      transition: background 0.15s;
    }

    .faq-question:hover {
      background: #f1f5f9;
    }

    .faq-question .faq-plus {
      flex-shrink: 0;
      width: 20px;
      height: 20px;
      border: 1.5px solid #94a3b8;
      border-radius: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      font-weight: 400;
      color: #64748b;
      transition: transform 0.2s, border-color 0.2s, color 0.2s;
      line-height: 1;
    }

    .faq-item.open .faq-plus {
      transform: rotate(45deg);
      border-color: var(--green);
      color: var(--green);
    }

    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease, padding 0.3s ease;
    }

    .faq-answer-inner {
      padding: 0 16px 14px;
      font-size: 12.5px;
      color: #555;
      line-height: 1.6;
    }

    .faq-item.open .faq-answer {
      max-height: 200px;
    }

    /* ─── CTA ATMP ─── */
    .atmp-cta {
      background: #fff;
      padding: 34px 24px 64px;
    }

    .atmp-cta-inner {
      max-width: 1180px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
      align-items: center;
      gap: 28px;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      overflow: hidden;
      background: #f8fafc;
      box-shadow: 0 18px 44px rgba(6, 36, 71, 0.08);
    }

    .atmp-cta-media {
      min-height: 260px;
      background: #eef4f8;
    }

    .atmp-cta-media img {
      width: 100%;
      height: 100%;
      min-height: 260px;
      object-fit: cover;
      object-position: center;
      display: block;
    }

    .atmp-cta-content {
      padding: 34px 34px 34px 6px;
      color: #062447;
    }

    .atmp-cta-kicker {
      display: inline-flex;
      margin-bottom: 10px;
      padding: 5px 10px;
      border: 1px solid rgba(49, 158, 13, 0.25);
      border-radius: 999px;
      background: #f0fdf4;
      color: #319e0d;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .atmp-cta-content h2 {
      margin: 0 0 12px;
      color: #062447;
      font-size: clamp(24px, 2.45vw, 32px);
      line-height: 1;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .atmp-cta-content p {
      max-width: 460px;
      margin: 0 0 22px;
      color: #334155;
      font-size: 16px;
      line-height: 1.48;
    }

    .atmp-cta-btn {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 20px;
      border-radius: 8px;
      background: #319e0d;
      color: #fff;
      font-size: 13px;
      font-weight: 900;
      text-decoration: none;
      text-transform: uppercase;
      box-shadow: 0 10px 18px rgba(49, 158, 13, 0.22);
      transition: background-color 0.2s, transform 0.12s;
    }

    .atmp-cta-btn:hover {
      background: #287f0c;
      transform: translateY(-1px);
    }

    /* Responsive FAQ */
    @media (max-width: 900px) {
      .faq-grid { grid-template-columns: repeat(2, 1fr); }
      .atmp-cta-inner {
        grid-template-columns: 1fr;
        gap: 0;
      }
      .atmp-cta-content {
        padding: 26px 24px 28px;
      }
    }

    @media (max-width: 480px) {
      .faq-grid { grid-template-columns: 1fr; }
      .atmp-cta {
        padding: 24px 14px 44px;
      }
      .atmp-cta-inner {
        border-radius: 10px;
      }
      .atmp-cta-media,
      .atmp-cta-media img {
        min-height: 190px;
      }
      .atmp-cta-content h2 {
        font-size: 23px;
        white-space: normal;
      }
      .atmp-cta-content p {
        font-size: 14px;
      }
      .atmp-cta-btn {
        width: 100%;
        text-align: center;
      }
    }

    /* ─── SEÇÃO 4 — 4 COLUNAS ─── */
    .secao4 {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      min-height: 380px;
      padding: 24px 24px 0;
      gap: 0;
      background-color: #f8f9fa;
      align-items: stretch;
    }

    /* --- Col 1: Como Funciona (dark) --- */
    .col-funciona {
      background: #031324;
      padding: 32px 28px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      border-radius: 25px 0 0 0;
    }

    .col-funciona h2 {
      font-size: 18px;
      font-weight: 900;
      color: #fff;
      text-transform: uppercase;
      line-height: 1.2;
      display: flex;
      align-items: flex-start;
      gap: 12px;
      justify-content: flex-start;
    }

    .col-funciona h2 .cal-icon,
    .col-funciona h2 img {
      flex-shrink: 0;
      margin-left: auto;
    }

    .funciona-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .funciona-list li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 13px;
      color: #cbd5e1;
      line-height: 1.4;
    }

    .funciona-list li .check {
      color: var(--green);
      font-size: 15px;
      flex-shrink: 0;
      margin-top: 1px;
    }

    /* --- Col 2: Para Quem É (branco + foto) --- */
    .col-paraquem {
      background: #fff;
      display: flex;
      flex-direction: column;
      border-radius: 0 25px 0 0;
      overflow: hidden;
    }

    .col-paraquem-top {
      padding: 28px 24px 20px;
      flex: 1;
    }

    .col-paraquem h2 {
      font-size: 15px;
      font-weight: 800;
      color: #319e0d;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 16px;
    }

    .paraquem-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 9px;
    }

    .paraquem-list li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 13px;
      color: #333;
      line-height: 1.4;
    }

    .paraquem-list li::before {
      content: '';
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #319e0d;
      flex-shrink: 0;
      margin-top: 3px;
    }

    .col-paraquem-foto {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }

    /* --- Col 3: Diferenciais (branco) --- */
    .col-diferenciais {
      background: #fff;
      padding: 28px 24px;
      border-left: 1px solid #eee;
      border-radius: 25px 0 0 0;
    }

    .col-diferenciais h2 {
      font-size: 15px;
      font-weight: 800;
      color: #193073;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .col-diferenciais h2::before {
      content: '●';
      color: var(--green);
      font-size: 10px;
    }

    .diferenciais-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .diferenciais-list li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 13px;
      color: #193073;
      line-height: 1.45;
    }

    .diferenciais-list li img {
      filter: invert(14%) sepia(72%) saturate(1200%) hue-rotate(200deg) brightness(80%) contrast(110%);
      flex-shrink: 0;
    }

    .diferenciais-list li .di-icon {
      font-size: 16px;
      flex-shrink: 0;
      margin-top: 1px;
      color: #1e3a8a;
    }

    /* Medalha */
    .medalha {
      margin-top: 18px;
      display: flex;
      justify-content: flex-end;
    }

    .medalha span {
      font-size: 42px;
    }

    /* --- Col 4: Ambiente (dark + foto) --- */
    .col-ambiente {
      background: #0a1520;
      display: flex;
      flex-direction: column;
      border-radius: 0 25px 0 0;
      overflow: hidden;
    }

    .col-ambiente-foto {
      width: 100%;
      height: 160px;
      object-fit: cover;
      object-position: center;
      display: block;
      opacity: 0.9;
    }

    .col-ambiente-content {
      padding: 20px 22px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      flex: 1;
    }

    .col-ambiente h2 {
      font-size: 13px;
      font-weight: 800;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 0.8px;
    }

    .col-ambiente p {
      font-size: 11px;
      color: #94a3b8;
      line-height: 1.6;
    }

    .petroshop-badge {
      margin-top: auto;
      padding-top: 12px;
      border-top: 1px solid rgba(255,255,255,0.1);
    }

    .petroshop-logo {
      border-radius: 10px;
      object-fit: contain;
      display: inline-block;
      vertical-align: middle;
    }

    .petroshop-logo-inline {
      height: 22px;
      width: auto;
      margin: 0 2px;
    }

    .petroshop-logo-badge {
      height: 40px;
      width: auto;
      display: block;
    }

    .petroshop-badge .ps-sub {
      font-size: 9px;
      font-weight: 600;
      color: #facc15;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-top: 2px;
    }

    /* Responsive seção 4 */
    @media (max-width: 1024px) {
      .secao4 {
        grid-template-columns: 1fr 1fr;
      }
    }

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

    /* ─── SEÇÃO 3 — O QUE O ALUNO VAI APRENDER ─── */
    .aprender {
      background-color: #ffffff;
      padding: 48px 24px;
      border-top: 1px solid #eee;
    }

    .aprender-inner {
      max-width: 1200px;
      margin: 0 auto;
    }

    .section-title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-bottom: 36px;
    }

    .section-title::before,
    .section-title::after {
      content: '';
      flex: 1;
      max-width: 80px;
      height: 2px;
      background-color: var(--green);
      border-radius: 2px;
    }

    .section-title h2 {
      font-size: clamp(12px, 2.8vw, 15px);
      font-weight: 800;
      color: #1a1a1a;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      text-align: center;
      line-height: 1.35;
    }

    .aprender-grid {
      display: grid;
      grid-template-columns: repeat(9, 1fr);
      gap: 12px;
    }

    .aprender-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 20px 10px 16px;
      text-align: center;
      cursor: default;
    }

    .aprender-card .ac-icon {
      width: 52px;
      height: 52px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 30px;
      color: #1e3a8a;
    }

    .aprender-card .ac-label {
      font-size: 10px;
      font-weight: 800;
      color: #193073;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      line-height: 1.4;
    }

    .aprender-card .ac-label-long {
      font-size: 8px;
      letter-spacing: 0.3px;
    }

    /* Responsive seção 3 */
    @media (max-width: 1024px) {
      .aprender-grid { grid-template-columns: repeat(5, 1fr); }
    }

    @media (max-width: 600px) {
      .section-title h2 { font-size: 13px; }
    }

    /* Responsive seção 2 */
    @media (max-width: 900px) {
      .sobre-inner {
        grid-template-columns: 1fr;
        gap: 32px;
      }
    }

    @media (max-width: 480px) {
      .sobre-icons {
        flex-wrap: wrap;
        gap: 16px;
      }
      .sobre-icons-divider { display: none; }
    }

    /* ─── RESPONSIVE ─── */
    @media (max-width: 900px) {
      header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        transition: transform 0.28s ease;
        will-change: transform;
      }

      body {
        padding-top: 60px;
      }

      .header-inner {
        gap: 12px;
        padding: 0 16px;
      }

      .menu-toggle { display: flex; }

      nav {
        display: flex;
        position: fixed;
        top: 68px;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding: 12px 16px 16px;
        background: var(--dark-nav);
        border-bottom: 1px solid rgba(255,255,255,0.08);
        box-shadow: 0 12px 32px rgba(0,0,0,0.35);
        z-index: 99;
        max-height: calc(100vh - 68px);
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-14px);
        transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
      }

      nav.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
      }

      nav a {
        padding: 12px 10px;
        font-size: 12px;
        border-radius: 6px;
        white-space: normal;
        opacity: 0;
        transform: translateY(-8px);
        transition: opacity 0.25s ease, transform 0.25s ease, background-color 0.2s, color 0.2s;
      }

      nav:not(.open) a {
        transition-delay: 0s;
      }

      nav.open a {
        opacity: 1;
        transform: translateY(0);
      }

      nav.open a:nth-child(1) { transition-delay: 0.04s; }
      nav.open a:nth-child(2) { transition-delay: 0.07s; }
      nav.open a:nth-child(3) { transition-delay: 0.10s; }
      nav.open a:nth-child(4) { transition-delay: 0.13s; }
      nav.open a:nth-child(5) { transition-delay: 0.16s; }
      nav.open a:nth-child(6) { transition-delay: 0.19s; }
      nav.open a:nth-child(7) { transition-delay: 0.22s; }
      nav.open a:nth-child(8) { transition-delay: 0.25s; }
      nav.open a:nth-child(9) { transition-delay: 0.28s; }

      nav a:hover { background: rgba(255,255,255,0.05); }

      .btn-cta {
        font-size: 10px;
        padding: 8px 14px;
        line-height: 1.25;
      }

      .hero {
        background: #fff;
        padding: 0;
      }

      .hero::before { display: none; }

      .hero-banner-mobile {
        display: block;
        width: 100%;
        aspect-ratio: 1 / 1;
        line-height: 0;
      }

      .hero-banner-mobile .hero-banner-slide {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
      }

      .hero-inner { display: none; }

      .loja-mobile-btn {
        display: flex;
        justify-content: center;
        padding: 16px 24px;
        background: #fff;
      }

      .loja-mobile-btn a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #0a0f1e;
        border: 1px solid rgba(255,255,255,0.12);
        color: #fff;
        font-family: var(--font-corpo);
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        padding: 11px 20px;
        border-radius: 50px;
        transition: background 0.2s, border-color 0.2s;
      }

      .loja-mobile-btn a:hover {
        background: #111827;
        border-color: rgba(255,255,255,0.25);
      }

      .loja-mobile-btn a img {
        width: 20px;
        height: 20px;
        object-fit: contain;
        filter: invert(1);
      }

      .secao4 {
        grid-template-columns: 1fr 1fr;
        padding: 16px 16px 0;
        gap: 0;
      }

      .col-funciona { border-radius: 20px 20px 0 0; }
      .col-paraquem { border-radius: 0 20px 0 0; }
      .col-diferenciais { border-radius: 20px 0 0 0; }
      .col-ambiente { border-radius: 0 0 20px 0; }
    }

    @media (max-width: 768px) {
      .sobre-inner,
      .footer-inner {
        grid-template-columns: 1fr;
        gap: 28px;
      }

      .sobre-icons {
        flex-wrap: wrap;
        gap: 16px;
      }

      .sobre-icons-divider { display: none; }

      .faq-grid { grid-template-columns: 1fr; }

      .galeria-grid {
        grid-template-columns: 1fr 1fr;
      }

      .secao4 { grid-template-columns: 1fr; }

      .col-funciona,
      .col-paraquem,
      .col-diferenciais,
      .col-ambiente {
        border-radius: 16px;
        border-left: none;
        margin-bottom: 12px;
      }

      .col-diferenciais { border-left: none; }

      .footer-inner { gap: 16px; }

      .footer-links-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 600px) {
      .header-inner { height: 60px; }

      nav { top: 60px; max-height: calc(100vh - 60px); }

      .logo img { height: 44px !important; }

      .btn-cta br { display: none; }

      .hero-headline { font-size: clamp(22px, 6.5vw, 28px); }

      .hero-buttons {
        flex-direction: column;
        align-items: stretch;
      }

      .sobre,
      .aprender,
      .galeria,
      .inscricao,
      .faq {
        padding-top: 36px;
        padding-bottom: 36px;
        padding-left: 16px;
        padding-right: 16px;
      }

      .section-title {
        gap: 10px;
        margin-bottom: 24px;
      }

      .section-title::before,
      .section-title::after { max-width: 40px; }

      .steps-indicator {
        --step-item-width: 92px;
        margin-bottom: 24px;
      }

      .step-item { width: 92px; }

      .step-item span { font-size: 10px; }

      .insc-card { padding: 20px 16px; }

      .pay-head-divider {
        width: calc(100% + 32px);
        margin-left: -16px;
        margin-right: -16px;
      }

      .form-row,
      .mp-form-row { grid-template-columns: 1fr; }

      .pay-tab { font-size: 11px; padding: 9px 6px; }

      .pay-valor { font-size: 20px; }

      .insc-parcela-wrap .pay-parcela-badge {
        width: auto;
        min-width: 220px;
        max-width: 280px;
        grid-template-columns: 44px 1fr;
        gap: 10px;
        padding: 11px 12px;
        border-radius: 12px;
      }

      .pay-parcela-badge .pay-parcela-ico {
        width: 44px;
        height: 44px;
        border-radius: 10px;
      }

      .pay-parcela-badge .pay-parcela-ico svg {
        width: 28px;
        height: 28px;
      }

      .pay-parcela-badge strong { font-size: 13px; }

      .pay-parcela-badge .pay-parcela-top { font-size: 11px; }

      .pay-parcela-badge .pay-parcela-valor { font-size: 18px; }

      .pay-parcela-badge .pay-parcela-sub { font-size: 10px; margin-top: 2px; }

      .play-btn { width: 54px; height: 54px; }

      .col-funciona h2 { font-size: 16px; flex-wrap: wrap; }

      .col-funciona h2 img {
        margin-left: 0;
        margin-top: 4px;
      }

      .funciona-list li,
      .paraquem-list li,
      .diferenciais-list li { font-size: 12.5px; }
    }

    @media (max-width: 400px) {
      .header-inner { padding: 0 12px; gap: 8px; }

      .btn-cta {
        padding: 8px 10px;
        font-size: 9px;
      }

      .galeria-grid { grid-template-columns: 1fr; }

      .steps-indicator {
        --step-item-width: 82px;
        --step-dot-size: 32px;
      }

      .step-num { font-size: 12px; }

      .step-item { width: 82px; }

      .insc-checkbox { font-size: 11px; }

      .pay-copy-btn {
        font-size: 11px;
        padding: 10px 14px;
        width: 100%;
        justify-content: center;
      }

      .faq-question { font-size: 12px; padding: 12px 14px; }
    }

    @media (max-width: 520px) {
      .pay-method-modal {
        align-items: flex-end;
        padding: 12px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
      }

      .pay-method-dialog {
        width: 100%;
        padding: 18px;
        border-radius: 8px;
        box-shadow: 0 -18px 55px rgba(15, 23, 42, 0.22);
      }

      .pay-method-dialog h2 {
        margin: 0 36px 16px 0;
        font-size: 18px;
        line-height: 1.25;
      }

      .pay-method-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }

      .pay-method-option {
        min-height: 76px;
        padding: 10px 8px;
        gap: 7px;
        font-size: 11px;
        line-height: 1.2;
      }

      .pay-method-option img {
        width: 30px;
        height: 30px;
      }

      .pay-method-card-icons {
        min-height: 30px;
      }

      .pay-method-card-icons img {
        width: 27px;
        height: 27px;
      }

      .pay-method-continue {
        margin-top: 12px;
        min-height: 46px;
        padding: 12px 16px;
      }
    }

    @media (max-width: 768px) {
      html, body { width: 100%; overflow-x: hidden; }

      .container,
      .header-inner,
      .hero-inner,
      .sobre-inner,
      .aprender-inner,
      .galeria-inner,
      .inscricao-inner,
      .faq-inner,
      .footer-inner {
        width: 100%;
        min-width: 0;
      }

      img, video, iframe { max-width: 100%; }

      .insc-grid,
      .insc-card,
      .insc-form-col,
      .form-row,
      .form-row > *,
      .insc-field-shell {
        min-width: 0;
      }

      .insc-field-shell > input,
      .insc-field-shell > textarea,
      .insc-form-col select {
        font-size: 16px;
      }

      .promo-countdown-panel,
      .pay-panel,
      .pix-panel,
      .cartao-panel {
        max-width: 100%;
      }

      .pay-tabs { width: 100%; }
      .pay-tab { min-width: 0; }
      .pix-qr-img { width: min(240px, 75vw); height: auto; }
    }

    @media (min-width: 769px) and (max-width: 1100px) {
      .header-inner,
      .hero-inner,
      .sobre-inner,
      .aprender-inner,
      .galeria-inner,
      .inscricao-inner,
      .faq-inner,
      .footer-inner {
        padding-right: 24px;
        padding-left: 24px;
      }

    }

    .carousel-wrap {
      position: relative;
    }

    .carousel-controls {
      display: none;
    }

    @media (max-width: 768px) {
      .carousel-wrap {
        margin: 0 -16px;
      }

      .carousel-track {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        gap: 12px;
        padding: 0 16px 4px;
        align-items: flex-start;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }

      .carousel-track::-webkit-scrollbar {
        display: none;
      }

      .carousel-slide {
        flex: 0 0 auto;
        width: min(220px, 78vw);
        scroll-snap-align: start;
        scroll-snap-stop: always;
        align-self: flex-start;
        height: auto;
        min-height: 0;
      }

      .aprender-grid {
        grid-template-columns: unset;
        align-items: stretch;
      }

      .aprender-card {
        width: min(220px, 78vw);
        height: 116px;
        min-height: 116px;
        max-height: 116px;
        justify-content: center;
        padding: 16px 10px 14px;
        gap: 10px;
        box-sizing: border-box;
      }

      .aprender-card .ac-icon {
        width: 52px;
        height: 52px;
        flex-shrink: 0;
      }

      .aprender-card .ac-icon img {
        width: 48px;
        height: 48px;
        object-fit: contain;
      }

      .aprender-card .ac-label {
        font-size: 10px;
        line-height: 1.2;
        max-width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 22px;
        text-align: center;
      }

      .aprender-card .ac-label-long {
        font-size: 7px;
        letter-spacing: 0;
        line-height: 1.15;
        white-space: nowrap;
      }

      .footer-logo img {
        height: 92px;
      }

      .carousel-controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        margin-top: 20px;
        padding: 0 16px;
      }

      .carousel-dots {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
      }

      .carousel-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: none;
        padding: 0;
        background: #d1d5db;
        cursor: pointer;
        transition: background-color 0.2s, transform 0.2s;
      }

      .carousel-dot.active {
        background: var(--green);
        transform: scale(1.2);
      }

      .carousel-arrow {
        flex-shrink: 0;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 1px solid #e2e8f0;
        background: #fff;
        color: #193073;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: border-color 0.2s, background-color 0.2s;
      }

      .carousel-arrow:hover {
        border-color: var(--green);
        background: #f0fdf4;
      }

      .carousel-arrow:disabled {
        opacity: 0.35;
        cursor: default;
      }

      .carousel-arrow svg {
        display: block;
      }
    }

/* ── Card form (Vindi) ─────────────────────────────────────────────────── */
.card-form {
  display: grid;
  gap: 20px;
}

/* Inputs do cartão seguem exatamente o padrão do sistema */
.card-form .insc-field-shell > input,
.card-form .insc-field-shell > select {
  width: 100%;
  padding: 14px 14px 10px;
  font-size: 16px;
  font-weight: 500;
  font-family: inherit;
  color: #1e293b;
  background: transparent;
  border: none;
  border-bottom: 2px solid #cbd5e1;
  border-radius: 0;
  outline: none;
  transition: border-color 0.3s;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.card-form .insc-field-shell > input:focus,
.card-form .insc-field-shell > select:focus {
  border-color: transparent;
}

/* Label flutuante para select */
.card-form .insc-field-shell > select ~ .insc-field-label,
.card-form .insc-field-shell > select.has-content ~ .insc-field-label {
  top: -17px;
  left: 0;
  color: #319e0d;
  font-size: 11px;
  font-weight: 700;
}

/* Seta do select */
.card-form .insc-field-shell--select::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-30%);
  width: 0; height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #64748b;
  pointer-events: none;
  z-index: 3;
}

/* Focus border para select */
.card-form .insc-field-shell > select:focus ~ .insc-focus-border::before,
.card-form .insc-field-shell > select:focus ~ .insc-focus-border::after,
.card-form .insc-field-shell > select.has-content ~ .insc-focus-border::before,
.card-form .insc-field-shell > select.has-content ~ .insc-focus-border::after { width: 100%; }
.card-form .insc-field-shell > select:focus ~ .insc-focus-border i::before,
.card-form .insc-field-shell > select:focus ~ .insc-focus-border i::after,
.card-form .insc-field-shell > select.has-content ~ .insc-focus-border i::before,
.card-form .insc-field-shell > select.has-content ~ .insc-focus-border i::after { height: 100%; }

.card-preview {
  background: linear-gradient(135deg, #1a1f4e 0%, #2d3a8c 100%);
  border-radius: 16px;
  padding: 22px 24px 20px;
  color: #fff;
  min-height: 158px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 8px 28px rgba(0,0,0,0.22);
  position: relative;
  overflow: hidden;
  user-select: none;
}

.card-preview::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 160px; height: 160px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  pointer-events: none;
}

.card-preview::after {
  content: '';
  position: absolute;
  bottom: -30px; left: -20px;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: rgba(255,255,255,0.04);
  pointer-events: none;
}

.card-preview-chip {
  width: 38px;
  height: 28px;
  background: linear-gradient(135deg, #d4a017 0%, #f0c040 100%);
  border-radius: 5px;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}

.card-preview-number {
  font-size: 17px;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-family: 'Courier New', monospace;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}

.card-preview-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  z-index: 1;
}

.card-preview-label {
  font-size: 9px;
  letter-spacing: 0.12em;
  opacity: 0.65;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.card-preview-name {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-preview-expiry {
  font-size: 14px;
  font-weight: 700;
}

/* Botão verde do sistema */
.pay-btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #319e0d 0%, #2a8a0b 100%);
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
  box-shadow: 0 4px 16px rgba(49,158,13,0.28);
  margin-top: 4px;
}

.pay-btn-primary:hover { opacity: 0.9; }
.pay-btn-primary:active { transform: scale(0.98); }
.pay-btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }

.insc-field-label--active {
  top: -17px !important;
  left: 0 !important;
  font-size: 11px !important;
  color: #319e0d !important;
  font-weight: 700 !important;
  transform: none !important;
}
