      @font-face {
        font-family: "Urbanist";
        font-style: normal;
        font-weight: 100 900;
        font-display: swap;
        src:
          url("../assets/fonts/urbanist.woff2") format("woff2"),
          url("../assets/fonts/urbanist.ttf") format("truetype");
      }

      *,
      *::before,
      *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }
      html {
        scroll-behavior: smooth;
        /* Trava a rolagem lateral no mobile: estados iniciais das animações
           .reveal-left/right (translateX) vazam além da borda do viewport */
        overflow-x: hidden;
      }
      body {
        font-family: "Urbanist", sans-serif;
        color: #1a2336;
        overflow-x: hidden;
        line-height: 1.6;
        background: #fff;
      }

      :root {
        --teal: #00b8a0;
        --teal2: #008c7a;
        --blue: #2b7fe1;
        --blue2: #1a5dbe;
        --purple: #7b5ea7;
        --gold: #f5a800;
        --gold2: #c99200;
        --off: #f7f9fc;
        --gray: #8492a6;
        --dark: #111827;
        --dark2: #1f2937;
        --text: #1a2336;
        --text2: #4b5568;
      }

      /* ══════════════════════════════
   HERO WRAPPER + NAV FLUTUANTE
══════════════════════════════ */
      .hero-section {
        min-height: 100vh;
        background: linear-gradient(
          135deg,
          #d8eaff 0%,
          #e8f2ff 20%,
          #f0ecff 50%,
          #fff5e8 80%,
          #ffe8d0 100%
        );
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
      }

      /* Círculos decorativos de fundo */
      .hero-section::before {
        content: "";
        position: absolute;
        width: 600px;
        height: 600px;
        border-radius: 50%;
        border: 1px solid rgba(43, 127, 225, 0.15);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
      }
      .hero-section::after {
        content: "";
        position: absolute;
        width: 900px;
        height: 900px;
        border-radius: 50%;
        border: 1px solid rgba(43, 127, 225, 0.08);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
      }

      /* blobs coloridos */
      .hblob {
        position: absolute;
        border-radius: 50%;
        filter: blur(80px);
        pointer-events: none;
        animation: blobFloat 8s ease-in-out infinite alternate;
      }
      .hb1 {
        width: 500px;
        height: 500px;
        background: rgba(43, 127, 225, 0.14);
        top: -150px;
        left: -150px;
        animation-delay: 0s;
      }
      .hb2 {
        width: 500px;
        height: 500px;
        background: rgba(0, 184, 160, 0.1);
        bottom: -150px;
        right: -100px;
        animation-delay: 3s;
      }
      .hb3 {
        width: 400px;
        height: 400px;
        background: rgba(255, 180, 80, 0.12);
        top: 20%;
        right: -150px;
        animation-delay: 5s;
      }
      .hb4 {
        width: 350px;
        height: 350px;
        background: rgba(123, 94, 167, 0.08);
        bottom: 10%;
        left: -100px;
        animation-delay: 2s;
      }
      @keyframes blobFloat {
        0% {
          transform: translate(0, 0) scale(1);
        }
        100% {
          transform: translate(25px, 20px) scale(1.07);
        }
      }

      /* NAV — card flutuante */
      nav {
        position: fixed;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 500;
        width: min(calc(100% - 60px), 1100px);
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 24px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(20px);
        border-radius: 100px;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
        transition: box-shadow 0.3s;
      }
      nav.scrolled {
        box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
      }

      .nav-logo {
        display: flex;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        cursor: pointer;
      }
      .nav-logo-shield {
        width: 32px;
        height: 40px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 1px;
      }
      .nav-piece {
        width: 100%;
        height: 100%;
        object-fit: fill;
        transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
      }
      .nav-p1 {
        transform: translate(0, 0);
      }
      .nav-p2 {
        transform: translate(0, 0);
      }
      .nav-p3 {
        transform: translate(0, 0);
      }
      .nav-p4 {
        transform: translate(0, 0);
      }

      .nav-logo:hover .nav-p1 {
        transform: translate(-1px, -1px);
      }
      .nav-logo:hover .nav-p2 {
        transform: translate(1px, -1px);
      }
      .nav-logo:hover .nav-p3 {
        transform: translate(-1px, 1px);
      }
      .nav-logo:hover .nav-p4 {
        transform: translate(1px, 1px);
      }

      .nav-brand {
        font-size: 18px;
        font-weight: 800;
        color: var(--blue);
        letter-spacing: -0.3px;
      }
      .nav-brand em {
        color: var(--dark);
        font-style: normal;
        font-weight: 400;
      }

      .nav-links {
        display: flex;
        align-items: center;
        gap: 32px;
      }
      .nav-links a {
        color: var(--text2);
        text-decoration: none;
        font-size: 15px;
        font-weight: 500;
        transition: color 0.2s;
      }
      .nav-links a:hover {
        color: var(--blue);
      }
      .btn-nav {
        background: var(--blue);
        color: #fff !important;
        padding: 10px 24px;
        border-radius: 50px;
        font-weight: 700 !important;
        font-size: 15px !important;
        transition:
          background 0.2s,
          transform 0.15s !important;
        box-shadow: 0 4px 16px rgba(43, 127, 225, 0.3);
      }
      .btn-nav:hover {
        background: var(--blue2) !important;
        transform: translateY(-1px);
      }

      /* HERO CONTEÚDO */
      .hero-content {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 108px 5% 32px;
        width: 100%;
        flex: 1;
        justify-content: center;
      }

      /* Logo interativa */
      .interactive-logo {
        width: 160px;
        height: 200px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 2px;
        margin: 0 auto 40px;
        cursor: pointer;
        filter: drop-shadow(0 8px 32px rgba(0, 0, 0, 0.12));
        animation: fadeUp 0.8s ease 0.1s both;
      }
      .piece {
        width: 100%;
        height: 100%;
        object-fit: fill;
        display: block;
        transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
      }
      .piece-1 {
        transform: translate(-2px, -2px);
      }
      .piece-2 {
        transform: translate(2px, -2px);
      }
      .piece-3 {
        transform: translate(-2px, 2px);
      }
      .piece-4 {
        transform: translate(2px, 2px);
      }

      .interactive-logo:hover .piece-1 {
        transform: translate(-4px, -4px);
      }
      .interactive-logo:hover .piece-2 {
        transform: translate(4px, -4px);
      }
      .interactive-logo:hover .piece-3 {
        transform: translate(-4px, 4px);
      }
      .interactive-logo:hover .piece-4 {
        transform: translate(4px, 4px);
      }

      .hero-h1 {
        font-size: clamp(24px, 2.5vw, 38px);
        font-weight: 800;
        line-height: 1.3;
        color: #1a2336;
        margin-bottom: 16px;
        max-width: 800px;
        animation: fadeUp 0.8s ease 0.3s both;
      }
      .hero-teal {
        color: var(--teal);
      }

      .hero-sub {
        font-size: 17px;
        font-weight: 400;
        color: var(--text2);
        margin-bottom: 36px;
        max-width: 500px;
        animation: fadeUp 0.8s ease 0.45s both;
      }

      .hero-btn-wrap {
        animation: fadeUp 0.8s ease 0.6s both;
      }
      .btn-hero {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: var(--blue);
        color: #fff;
        padding: 16px 44px;
        border-radius: 50px;
        font-size: 17px;
        font-weight: 700;
        text-decoration: none;
        box-shadow: 0 8px 32px rgba(43, 127, 225, 0.4);
        transition:
          background 0.2s,
          transform 0.2s,
          box-shadow 0.2s;
      }
      .btn-hero:hover {
        background: var(--blue2);
        transform: translateY(-2px);
        box-shadow: 0 12px 40px rgba(43, 127, 225, 0.5);
      }

      .hero-feats {
        display: flex;
        align-items: center;
        margin-top: 32px;
        animation: fadeUp 0.8s ease 0.75s both;
      }
      .hero-feat {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        font-weight: 500;
        color: var(--text2);
        padding: 0 32px;
      }
      .hero-feat svg {
        width: 22px;
        height: 22px;
        stroke: var(--teal);
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        flex-shrink: 0;
      }
      .hero-feat-sep {
        width: 1px;
        height: 28px;
        background: rgba(0, 0, 0, 0.12);
        flex-shrink: 0;
      }

      /* ── Layout em duas colunas (texto + mosaico de vídeos) ── */
      .hero-grid {
        width: 100%;
        max-width: 1180px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
        gap: 48px;
        align-items: center;
      }
      .hero-col-text {
        text-align: left;
        animation: fadeUp 0.8s ease 0.2s both;
      }
      .hero-col-text .hero-h1 {
        font-size: clamp(28px, 3.4vw, 46px);
        line-height: 1.18;
        max-width: 560px;
        margin-bottom: 20px;
      }
      .hero-accent {
        color: #5b9bd5;
      }
      .hero-col-text .hero-sub {
        font-size: 18px;
        max-width: 460px;
      }
      .hero-col-text .hero-sub strong {
        color: #1a2336;
        font-weight: 700;
      }

      /* Mosaico de vídeos */
      .hero-col-media {
        animation: fadeUp 0.8s ease 0.4s both;
      }
      .hero-mosaic {
        position: relative;
        width: 100%;
        max-width: 560px;
        aspect-ratio: 100 / 84;
        margin-left: auto;
      }
      /* As imagens já trazem moldura/sombra embutidas — não adiciono
         borda nem box-shadow extra. Só uma sombra suave via drop-shadow
         (respeita a transparência dos PNGs) para uniformizar a profundidade. */
      .mosaic-card {
        position: absolute;
        width: 54%;
        filter: drop-shadow(0 12px 26px rgba(20, 40, 80, 0.18));
        transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
      }
      .mosaic-card img {
        width: 100%;
        height: auto;
        display: block;
      }
      .mosaic-card:hover {
        z-index: 5;
        transform: translateY(-6px) scale(1.03);
      }
      /* posicionamento entrelaçado: 2×2 com a coluna direita elevada,
         respiros entre as linhas e sobreposição só nos cantos */
      .mc-1 {
        top: 16%;
        left: 0;
        z-index: 2;
      }
      .mc-2 {
        top: 0;
        left: 46%;
        z-index: 3;
      }
      .mc-3 {
        top: 60%;
        left: 0;
        z-index: 1;
      }
      .mc-4 {
        top: 44%;
        left: 46%;
        z-index: 4;
      }

      /* Barra de selos como pílula azul */
      .hero-feats {
        background: #5b9bd5;
        padding: 14px 14px;
        border-radius: 100px;
        box-shadow: 0 10px 30px rgba(91, 155, 213, 0.35);
      }
      .hero-feats .hero-feat {
        color: #fff;
      }
      .hero-feats .hero-feat svg {
        stroke: #fff;
      }
      .hero-feats .hero-feat-sep {
        background: rgba(255, 255, 255, 0.4);
      }

      @keyframes fadeUp {
        from {
          opacity: 0;
          transform: translateY(28px);
        }
        to {
          opacity: 1;
          transform: none;
        }
      }

      /* ══════════════════════════════
   STRIPE
══════════════════════════════ */
      .stripe {
        height: 16px;
        /* fica colada na base do hero (empurrada pelo margin-top auto
           no contexto flex), visível já na primeira dobra */
        width: 100%;
        margin-top: auto;
        /* blocos sólidos (hard-stops) replicando a BARRA do design */
        background: linear-gradient(
          90deg,
          var(--purple) 0 16.666%,
          var(--gold) 16.666% 33.333%,
          var(--teal) 33.333% 50%,
          var(--blue) 50% 66.666%,
          var(--purple) 66.666% 83.333%,
          var(--gold) 83.333% 100%
        );
      }

      /* ══════════════════════════════
   SEÇÕES GERAIS
══════════════════════════════ */
      section {
        padding: 100px 5%;
        position: relative;
      }
      .s-off {
        background: var(--off);
      }
      .s-light {
        background: #fff;
      }
      .s-dark {
        background: var(--dark);
        color: #fff;
      }
      .s-blue {
        background: linear-gradient(135deg, var(--blue2), #0d2f7a);
        color: #fff;
      }
      .s-teal {
        background: linear-gradient(135deg, var(--teal2), #005a50);
        color: #fff;
      }

      .s-label {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--teal);
        margin-bottom: 12px;
        display: block;
      }
      .s-dark .s-label,
      .s-blue .s-label,
      .s-teal .s-label {
        color: rgba(255, 255, 255, 0.5);
      }
      .s-title1 {
        font-size: clamp(26px, 3.5vw, 48px);
        font-weight: 900;
        line-height: 1.08;
        letter-spacing: -1.5px;
        margin-bottom: 8px;
      }
      .s-title2 {
        font-size: clamp(16px, 1.8vw, 22px);
        font-weight: 600;
        color: var(--text2);
        margin-bottom: 24px;
        line-height: 1.4;
      }
      .s-dark .s-title2,
      .s-blue .s-title2,
      .s-teal .s-title2 {
        color: rgba(255, 255, 255, 0.6);
      }
      .sec-center {
        text-align: center;
      }

      /* ══════════════════════════════
   CONCEITO
══════════════════════════════ */
      #conceito {
        background: var(--off);
      }
      .conceito-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 72px;
        align-items: center;
        max-width: 1100px;
        margin: 0 auto;
      }
      .conceito-text p {
        font-size: 16px;
        color: var(--text2);
        line-height: 1.82;
        margin-top: 16px;
      }
      .conceito-img {
        border-radius: 24px;
        overflow: hidden;
        aspect-ratio: 4/5;
        box-shadow: 0 24px 64px rgba(0, 0, 0, 0.12);
      }
      .conceito-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.5s;
      }
      .conceito-img:hover img {
        transform: scale(1.03);
      }

      /* Stats */
      .stats-row {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        max-width: 900px;
        margin: 64px auto 0;
      }
      .stat-card {
        background: #fff;
        border-radius: 24px;
        padding: 44px 24px;
        text-align: center;
        position: relative;
        overflow: hidden;
        border: 1.5px solid rgba(0, 0, 0, 0.06);
        transition:
          transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
          box-shadow 0.4s,
          background 0.3s,
          border-color 0.3s;
        cursor: default;
      }
      .stat-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 5px;
        border-radius: 24px 24px 0 0;
        transition: height 0.3s;
      }
      .stat-card::after {
        content: "";
        position: absolute;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        bottom: -50px;
        right: -40px;
        opacity: 0;
        transform: scale(0.7);
        transition:
          opacity 0.35s,
          transform 0.4s;
      }
      .stat-card:nth-child(1)::before {
        background: var(--teal);
      }
      .stat-card:nth-child(2)::before {
        background: var(--blue);
      }
      .stat-card:nth-child(3)::before {
        background: var(--gold);
      }
      .stat-card:nth-child(4)::before {
        background: var(--purple);
      }
      .stat-card:nth-child(1)::after {
        background: radial-gradient(
          circle,
          rgba(0, 184, 160, 0.15),
          transparent 70%
        );
      }
      .stat-card:nth-child(2)::after {
        background: radial-gradient(
          circle,
          rgba(43, 127, 225, 0.15),
          transparent 70%
        );
      }
      .stat-card:nth-child(3)::after {
        background: radial-gradient(
          circle,
          rgba(245, 168, 0, 0.15),
          transparent 70%
        );
      }
      .stat-card:nth-child(4)::after {
        background: radial-gradient(
          circle,
          rgba(123, 94, 167, 0.15),
          transparent 70%
        );
      }
      .stat-card:hover {
        transform: translateY(-10px) scale(1.02);
        box-shadow: 0 24px 56px rgba(0, 0, 0, 0.12);
      }
      .stat-card:nth-child(1):hover {
        background: rgba(0, 184, 160, 0.04);
        border-color: rgba(0, 184, 160, 0.25);
      }
      .stat-card:nth-child(2):hover {
        background: rgba(43, 127, 225, 0.04);
        border-color: rgba(43, 127, 225, 0.25);
      }
      .stat-card:nth-child(3):hover {
        background: rgba(245, 168, 0, 0.04);
        border-color: rgba(245, 168, 0, 0.25);
      }
      .stat-card:nth-child(4):hover {
        background: rgba(123, 94, 167, 0.04);
        border-color: rgba(123, 94, 167, 0.25);
      }
      .stat-card:hover::before {
        height: 6px;
      }
      .stat-card:hover::after {
        opacity: 1;
        transform: scale(1);
      }
      .stat-val {
        font-size: 52px;
        font-weight: 900;
        letter-spacing: -2px;
        line-height: 1;
        margin-bottom: 12px;
        transition: transform 0.35s;
      }
      .stat-card:hover .stat-val {
        transform: scale(1.06);
      }
      .stat-card:nth-child(1) .stat-val {
        color: var(--teal);
      }
      .stat-card:nth-child(2) .stat-val {
        color: var(--blue);
      }
      .stat-card:nth-child(3) .stat-val {
        color: var(--gold2);
      }
      .stat-card:nth-child(4) .stat-val {
        color: var(--purple);
      }
      .stat-val sup {
        font-size: 0.45em;
        vertical-align: super;
        letter-spacing: 0;
      }
      .stat-label {
        font-size: 14px;
        color: var(--text2);
        font-weight: 500;
        line-height: 1.5;
      }

      /* ══════════════════════════════
   MVV
══════════════════════════════ */
      #mvv {
        background: #fff;
        text-align: center;
      }
      .mvv-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        max-width: 1000px;
        margin: 56px auto 0;
      }
      .mvv-card {
        border-radius: 20px;
        padding: 44px 32px;
        position: relative;
        overflow: hidden;
        text-align: left;
        transition:
          transform 0.35s,
          box-shadow 0.35s;
      }
      .mvv-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.13);
      }
      .mvv-card.missao {
        background: var(--blue);
        color: #fff;
      }
      .mvv-card.visao {
        background: var(--teal);
        color: #fff;
      }
      .mvv-card.valores {
        background: var(--purple);
        color: #fff;
      }
      .mvv-deco {
        position: absolute;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.07);
        bottom: -40px;
        right: -40px;
      }
      .mvv-icon-wrap {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.15);
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 22px;
      }
      .mvv-icon-wrap svg {
        width: 26px;
        height: 26px;
        stroke: #fff;
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .mvv-ttl {
        font-size: 20px;
        font-weight: 900;
        margin-bottom: 8px;
      }
      .mvv-sub {
        font-size: 13px;
        opacity: 0.75;
        font-weight: 600;
        margin-bottom: 14px;
        line-height: 1.3;
      }
      .mvv-txt {
        font-size: 14px;
        line-height: 1.72;
        opacity: 0.82;
      }

      /* ══════════════════════════════
   O QUE FAZEMOS
══════════════════════════════ */
      #fazemos {
        background: var(--off);
        text-align: center;
      }
      .faz-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
        max-width: 1100px;
        margin: 56px auto 0;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
      }
      .faz-card {
        padding: 56px 32px 48px;
        position: relative;
        overflow: hidden;
        text-align: left;
        min-height: 360px;
        display: flex;
        flex-direction: column;
        transition:
          filter 0.3s,
          transform 0.3s;
      }
      .faz-card:hover {
        filter: brightness(1.08);
        transform: translateY(-4px);
      }
      .faz-card:nth-child(1) {
        background: #00b8a0;
      }
      .faz-card:nth-child(2) {
        background: #2b7fe1;
      }
      .faz-card:nth-child(3) {
        background: #7b5ea7;
      }
      .faz-card:nth-child(4) {
        background: #f5a800;
      }
      .faz-deco {
        position: absolute;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.08);
        bottom: -50px;
        right: -50px;
        pointer-events: none;
      }
      .faz-card:nth-child(4) .faz-deco {
        background: rgba(0, 0, 0, 0.06);
      }
      .faz-num {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.55);
        margin-bottom: 28px;
      }
      .faz-card:nth-child(4) .faz-num {
        color: rgba(0, 0, 0, 0.4);
      }
      .faz-title {
        font-size: 21px;
        font-weight: 800;
        color: #fff;
        margin-bottom: 16px;
        line-height: 1.25;
      }
      .faz-card:nth-child(4) .faz-title {
        color: rgba(0, 0, 0, 0.85);
      }
      .faz-txt {
        font-size: 15px;
        color: rgba(255, 255, 255, 0.85);
        line-height: 1.78;
      }
      .faz-card:nth-child(4) .faz-txt {
        color: rgba(0, 0, 0, 0.7);
      }

      /* ══════════════════════════════
   VÍDEOS
══════════════════════════════ */
      #videos {
        padding: 100px 0;
        overflow: hidden;
        background: var(--off);
      }
      .videos-header {
        padding: 0 5%;
        text-align: center;
        margin-bottom: 48px;
      }
      .vc-wrap {
        position: relative;
        overflow: hidden;
      }
      .vc-wrap::before,
      .vc-wrap::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 80px;
        z-index: 2;
        pointer-events: none;
      }
      .vc-wrap::before {
        left: 0;
        background: linear-gradient(to right, var(--off), transparent);
      }
      .vc-wrap::after {
        right: 0;
        background: linear-gradient(to left, var(--off), transparent);
      }
      .video-track {
        display: flex;
        gap: 20px;
        width: max-content;
        animation: vscroll 55s linear infinite;
        padding: 8px 0 24px;
      }
      .video-track:hover {
        animation-play-state: paused;
      }
      @keyframes vscroll {
        from {
          transform: translateX(0);
        }
        to {
          transform: translateX(-50%);
        }
      }
      .v-card {
        min-width: 300px;
        flex-shrink: 0;
        background: #fff;
        border: 1.5px solid rgba(0, 0, 0, 0.07);
        border-radius: 18px;
        overflow: hidden;
        text-decoration: none;
        color: var(--text);
        transition:
          transform 0.3s,
          box-shadow 0.3s,
          border-color 0.3s;
      }
      .v-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 48px rgba(0, 0, 0, 0.12);
        border-color: var(--blue);
      }
      .v-thumb {
        position: relative;
        aspect-ratio: 16/9;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        background: #111;
      }
      .v-thumb img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition:
          transform 0.4s,
          filter 0.3s;
        filter: brightness(0.88);
      }
      .v-card:hover .v-thumb img {
        transform: scale(1.06);
        filter: brightness(0.7);
      }
      .v-ep {
        position: absolute;
        top: 10px;
        left: 10px;
        background: rgba(0, 0, 0, 0.35);
        color: #fff;
        backdrop-filter: blur(6px);
        font-size: 11px;
        font-weight: 700;
        padding: 3px 10px;
        border-radius: 50px;
        z-index: 1;
      }
      .v-play {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.95);
        display: flex;
        align-items: center;
        justify-content: center;
        transition:
          transform 0.25s,
          box-shadow 0.25s;
        position: relative;
        z-index: 1;
      }
      .v-card:hover .v-play {
        transform: scale(1.14);
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
      }
      .v-play::after {
        content: "";
        border-style: solid;
        border-width: 9px 0 9px 17px;
        border-color: transparent transparent transparent var(--blue2);
        margin-left: 3px;
      }
      .v-info {
        padding: 22px;
      }
      .v-serie {
        font-size: 11px;
        color: var(--teal);
        font-weight: 800;
        letter-spacing: 2px;
        text-transform: uppercase;
        margin-bottom: 10px;
      }
      .v-title {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 12px;
      }
      .v-dur {
        font-size: 13px;
        color: var(--gray);
      }
      .videos-cta {
        text-align: center;
        margin-top: 40px;
        padding: 0 5%;
      }

      /* ══════════════════════════════
   CURADORIA
══════════════════════════════ */
      #curadoria {
        background: #fff;
        text-align: center;
      }
      .cur-intro {
        font-size: 16px;
        color: var(--text2);
        line-height: 1.8;
        max-width: 760px;
        margin: 0 auto 16px;
      }
      .med-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        max-width: 860px;
        margin: 48px auto 0;
      }
      .med-card {
        background: var(--off);
        border: 1.5px solid rgba(0, 0, 0, 0.07);
        border-radius: 22px;
        padding: 36px;
        position: relative;
        overflow: hidden;
        transition:
          transform 0.35s,
          box-shadow 0.35s,
          border-color 0.35s;
        text-align: left;
      }
      .med-card::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 4px;
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.4s;
      }
      .med-card:nth-child(1)::after {
        background: var(--blue);
      }
      .med-card:nth-child(2)::after {
        background: var(--teal);
      }
      .med-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 52px rgba(0, 0, 0, 0.1);
      }
      .med-card:hover::after {
        transform: scaleX(1);
      }
      .med-avatar {
        width: 68px;
        height: 68px;
        border-radius: 50%;
        overflow: hidden;
        margin-bottom: 18px;
        flex-shrink: 0;
      }
      .med-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .med-name {
        font-size: 18px;
        font-weight: 800;
        margin-bottom: 4px;
      }
      .med-crm {
        font-size: 12px;
        color: var(--teal);
        font-weight: 700;
        letter-spacing: 1px;
        margin-bottom: 14px;
      }
      .med-bio {
        font-size: 14px;
        color: var(--text2);
        line-height: 1.75;
      }
      .med-tag {
        display: inline-block;
        margin-top: 14px;
        background: rgba(0, 184, 160, 0.1);
        border: 1px solid rgba(0, 184, 160, 0.25);
        color: var(--teal2);
        font-size: 12px;
        font-weight: 700;
        padding: 5px 14px;
        border-radius: 50px;
      }

      /* ══════════════════════════════
   TEMPORADAS
══════════════════════════════ */
      #temporadas {
        background: var(--off);
        text-align: center;
      }
      .temp-intro {
        font-size: 16px;
        color: var(--text2);
        max-width: 620px;
        margin: 0 auto 48px;
        line-height: 1.75;
      }
      .temp-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        max-width: 920px;
        margin: 0 auto;
      }
      .temp-card {
        border-radius: 24px;
        padding: 44px 36px;
        position: relative;
        overflow: hidden;
        transition:
          transform 0.4s,
          box-shadow 0.4s;
        text-align: left;
      }
      .temp-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 28px 60px rgba(0, 0, 0, 0.15);
      }
      .temp-card.disp {
        background: var(--blue);
        color: #fff;
      }
      .temp-card.soon {
        background: #fff;
        border: 1.5px solid rgba(0, 0, 0, 0.07);
      }
      .temp-glow {
        position: absolute;
        width: 280px;
        height: 280px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.08);
        bottom: -70px;
        right: -70px;
      }
      .temp-season {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 3px;
        text-transform: uppercase;
        margin-bottom: 12px;
        opacity: 0.65;
      }
      .temp-card.soon .temp-season {
        color: var(--text2);
      }
      .temp-title {
        font-size: 28px;
        font-weight: 900;
        letter-spacing: -1px;
        line-height: 1.1;
        margin-bottom: 14px;
      }
      .temp-card.soon .temp-title {
        color: var(--text);
      }
      .temp-desc {
        font-size: 15px;
        line-height: 1.75;
        margin-bottom: 24px;
        opacity: 0.82;
      }
      .temp-card.soon .temp-desc {
        color: var(--text2);
        opacity: 1;
      }
      .badge-disp {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: rgba(255, 255, 255, 0.2);
        color: #fff;
        border: 1px solid rgba(255, 255, 255, 0.3);
        font-size: 12px;
        font-weight: 700;
        padding: 7px 16px;
        border-radius: 50px;
      }
      .badge-soon {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: rgba(245, 184, 0, 0.1);
        color: var(--gold2);
        border: 1px solid rgba(245, 184, 0, 0.3);
        font-size: 12px;
        font-weight: 700;
        padding: 7px 16px;
        border-radius: 50px;
      }
      .temp-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-top: 16px;
        background: rgba(255, 255, 255, 0.95);
        color: var(--blue);
        padding: 12px 24px;
        border-radius: 50px;
        font-size: 14px;
        font-weight: 800;
        text-decoration: none;
        transition: all 0.2s;
      }
      .temp-btn:hover {
        background: #fff;
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
      }

      /* ══════════════════════════════
   APOIADORES
══════════════════════════════ */
      #apoiadores {
        background: #fff;
        text-align: center;
        padding: 80px 5%;
      }
      .apo-wrap {
        position: relative;
        overflow: hidden;
        margin: 48px 0 40px;
      }
      .apo-wrap::before,
      .apo-wrap::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 80px;
        z-index: 2;
        pointer-events: none;
      }
      .apo-wrap::before {
        left: 0;
        background: linear-gradient(to right, #fff, transparent);
      }
      .apo-wrap::after {
        right: 0;
        background: linear-gradient(to left, #fff, transparent);
      }
      .apo-track {
        display: flex;
        gap: 16px;
        width: max-content;
        animation: apo 25s linear infinite;
        padding: 8px 0;
      }
      .apo-track:hover {
        animation-play-state: paused;
      }
      @keyframes apo {
        from {
          transform: translateX(0);
        }
        to {
          transform: translateX(-50%);
        }
      }
      .apo-item {
        flex-shrink: 0;
        background: #fff;
        border: 1.5px solid rgba(0,0,0,.07);
        border-radius: 50px;
        padding: 10px 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 52px;
        min-width: 120px;
        transition: all .25s;
        cursor: default;
      }
      .apo-item img {
        max-width: 90px;
        max-height: 28px;
        object-fit: contain;
        filter: grayscale(20%);
        opacity: .85;
        transition: filter .3s, opacity .3s;
      }
      .apo-item:hover img { filter: grayscale(0%); opacity: 1; }
      .apo-item:hover {
        border-color: var(--blue);
        color: var(--blue);
        transform: scale(1.04);
      }
      .apo-cta {
        margin-top: 8px;
      }

      /* ══════════════════════════════
   PARCEIROS
══════════════════════════════ */
      #parceiros {
        background: var(--dark);
        color: #fff;
        padding: 100px 5%;
      }
      .parc-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 80px;
        align-items: start;
        max-width: 1100px;
        margin: 0 auto;
      }
      .parc-title {
        font-size: clamp(36px, 4vw, 60px);
        font-weight: 900;
        line-height: 1.05;
        color: #fff;
        margin-top: 16px;
        margin-bottom: 20px;
        letter-spacing: -1.5px;
      }
      .parc-desc {
        font-size: 16px;
        color: rgba(255, 255, 255, 0.6);
        line-height: 1.78;
        max-width: 400px;
      }
      .parc-perks {
        display: flex;
        flex-direction: column;
        gap: 14px;
        margin-top: 32px;
      }
      .perk {
        display: flex;
        align-items: center;
        gap: 14px;
        font-size: 15px;
        color: rgba(255, 255, 255, 0.75);
      }
      .perk-dot {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: var(--teal);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 12px;
        color: #fff;
        font-weight: 800;
      }
      .form-card {
        background: rgba(255, 255, 255, 0.06);
        border: 1.5px solid rgba(255, 255, 255, 0.1);
        border-radius: 24px;
        padding: 44px;
        backdrop-filter: blur(8px);
      }
      .form-title {
        font-size: 20px;
        font-weight: 800;
        color: #fff;
        margin-bottom: 28px;
      }
      .form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .f-group {
        margin-bottom: 18px;
      }
      .f-group label {
        display: block;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.45);
        margin-bottom: 8px;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
      }
      .f-group input {
        width: 100%;
        background: rgba(255, 255, 255, 0.07);
        border: 1.5px solid rgba(255, 255, 255, 0.12);
        border-radius: 12px;
        padding: 13px 16px;
        color: #fff;
        font-size: 15px;
        font-family: "Urbanist", sans-serif;
        font-weight: 500;
        outline: none;
        transition: border-color 0.2s;
      }
      .f-group input::placeholder {
        color: rgba(255, 255, 255, 0.22);
      }
      .f-group input:focus {
        border-color: var(--teal);
      }
      .btn-form {
        width: 100%;
        background: var(--teal);
        color: #fff;
        border: none;
        border-radius: 50px;
        padding: 16px;
        font-size: 16px;
        font-weight: 800;
        cursor: pointer;
        font-family: "Urbanist", sans-serif;
        transition:
          background 0.2s,
          transform 0.15s;
        margin-top: 8px;
      }
      .btn-form:hover {
        background: var(--teal2);
        transform: translateY(-2px);
      }
      .form-note {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.25);
        text-align: center;
        margin-top: 14px;
      }
      /* Estados de validação e integração do formulário */
      .f-group input.invalid {
        border-color: #ff6b6b;
      }
      .field-error {
        display: none;
        font-size: 12px;
        font-weight: 600;
        color: #ff8585;
        margin-top: 6px;
      }
      .field-error.show {
        display: block;
      }
      .f-group.consent {
        margin-top: 4px;
      }
      .f-group .consent-label {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 0;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.6);
        text-transform: none;
        letter-spacing: 0;
        cursor: pointer;
      }
      .consent-label input[type="checkbox"] {
        width: 18px;
        height: 18px;
        margin-top: 1px;
        flex-shrink: 0;
        accent-color: var(--teal);
        cursor: pointer;
      }
      .consent-label a {
        color: var(--teal);
        text-decoration: underline;
      }
      .form-status {
        display: none;
        font-size: 14px;
        font-weight: 600;
        text-align: center;
        margin-top: 16px;
        padding: 12px 14px;
        border-radius: 12px;
      }
      .form-status.show {
        display: block;
      }
      .form-status.success {
        color: #fff;
        background: var(--teal2);
      }
      .form-status.error {
        color: #ff8585;
        background: rgba(255, 107, 107, 0.12);
        border: 1px solid rgba(255, 107, 107, 0.3);
      }
      .btn-form:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
      }

      /* ══════════════════════════════
   FOOTER
══════════════════════════════ */
      footer {
        background: var(--dark2);
        color: rgba(255, 255, 255, 0.6);
        padding: 56px 5% 32px;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
      }
      .foot-top {
        max-width: 1100px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 2fr 1fr 1fr;
        gap: 56px;
        padding-bottom: 48px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
      }
      .foot-logo-row {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 16px;
      }
      .foot-shield {
        width: 29px;
        height: 36px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 2px;
      }
      .foot-shield img {
        width: 100%;
        height: 100%;
        object-fit: fill;
      }
      .foot-brand-name {
        font-size: 16px;
        font-weight: 800;
        color: #fff;
      }
      .foot-brand-name em {
        font-style: normal;
        font-weight: 400;
        color: rgba(255, 255, 255, 0.45);
      }
      .foot-brand p {
        font-size: 14px;
        color: rgba(255, 255, 255, 0.5);
        line-height: 1.72;
        max-width: 280px;
        margin-bottom: 24px;
      }
      .soc-row {
        display: flex;
        gap: 10px;
      }
      .soc-btn {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        background: rgba(255, 255, 255, 0.07);
        border: 1px solid rgba(255, 255, 255, 0.1);
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.5);
        transition: all 0.2s;
      }
      .soc-btn:hover {
        background: var(--blue);
        border-color: var(--blue);
        color: #fff;
        transform: translateY(-2px);
      }
      .soc-btn svg {
        width: 16px;
        height: 16px;
        fill: currentColor;
      }
      .foot-col h5 {
        font-size: 11px;
        font-weight: 800;
        color: rgba(255, 255, 255, 0.3);
        text-transform: uppercase;
        letter-spacing: 3px;
        margin-bottom: 20px;
      }
      .foot-col a {
        display: block;
        color: rgba(255, 255, 255, 0.5);
        text-decoration: none;
        font-size: 14px;
        margin-bottom: 12px;
        transition: color 0.2s;
      }
      .foot-col a:hover {
        color: #fff;
      }
      .foot-bottom {
        max-width: 1100px;
        margin: 28px auto 0;
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.25);
        flex-wrap: wrap;
        gap: 8px;
      }

      /* ══════════════════════════════
   REVEAL
══════════════════════════════ */
      .reveal {
        opacity: 0;
        transform: translateY(48px);
        transition:
          opacity 0.8s ease,
          transform 0.8s ease;
      }
      .reveal.vis {
        opacity: 1;
        transform: translateY(0);
      }
      .reveal-left {
        opacity: 0;
        transform: translateX(-56px);
        transition:
          opacity 0.8s ease,
          transform 0.8s ease;
      }
      .reveal-left.vis {
        opacity: 1;
        transform: translateX(0);
      }
      .reveal-right {
        opacity: 0;
        transform: translateX(56px);
        transition:
          opacity 0.8s ease,
          transform 0.8s ease;
      }
      .reveal-right.vis {
        opacity: 1;
        transform: translateX(0);
      }
      .reveal-scale {
        opacity: 0;
        transform: scale(0.88);
        transition:
          opacity 0.7s ease,
          transform 0.7s ease;
      }
      .reveal-scale.vis {
        opacity: 1;
        transform: scale(1);
      }
      .d1 {
        transition-delay: 0.1s;
      }
      .d2 {
        transition-delay: 0.22s;
      }
      .d3 {
        transition-delay: 0.34s;
      }
      .d4 {
        transition-delay: 0.46s;
      }

      /* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
      @media (max-width: 900px) {
        nav {
          width: calc(100% - 32px);
          border-radius: 20px;
          gap: 16px;
        }
        /* Esconde os links de âncora, mas mantém o CTA "Seja parceiro" */
        .nav-links a:not(.btn-nav) {
          display: none;
        }
        .nav-links {
          gap: 0;
        }
        .btn-nav {
          padding: 9px 18px;
          font-size: 14px !important;
        }
        .conceito-grid,
        .med-grid,
        .temp-grid,
        .parc-layout,
        .form-row,
        .foot-top {
          grid-template-columns: 1fr;
        }
        .faz-grid {
          grid-template-columns: 1fr 1fr;
        }
        .stats-row {
          grid-template-columns: 1fr 1fr;
        }
        .mvv-grid {
          grid-template-columns: 1fr;
        }
        section {
          padding: 72px 5%;
        }
      }
      /* Hero: empilha texto + mosaico em tablet/mobile */
      @media (max-width: 900px) {
        .hero-grid {
          grid-template-columns: 1fr;
          gap: 36px;
        }
        .hero-col-text {
          text-align: center;
        }
        .hero-col-text .hero-h1,
        .hero-col-text .hero-sub {
          max-width: 600px;
          margin-left: auto;
          margin-right: auto;
        }
        .hero-mosaic {
          position: static;
          aspect-ratio: auto;
          max-width: 560px;
          margin: 0 auto;
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 16px;
        }
        .mc-1,
        .mc-2,
        .mc-3,
        .mc-4 {
          position: static;
          width: auto;
          top: auto;
          left: auto;
        }
      }
      @media (max-width: 520px) {
        .faz-grid,
        .stats-row,
        .mvv-grid {
          grid-template-columns: 1fr;
        }
        .hero-feats {
          flex-direction: column;
          gap: 16px;
        }
        .hero-feat-sep {
          display: none;
        }
      }

      /* ALIGNMENT FIX FOR SHIELD PIECES */
      .piece-1,
      .nav-p1,
      .foot-shield img:nth-child(1) {
        object-position: right bottom;
      }
      .piece-2,
      .nav-p2,
      .foot-shield img:nth-child(2) {
        object-position: left bottom;
      }
      .piece-3,
      .nav-p3,
      .foot-shield img:nth-child(3) {
        object-position: right top;
      }
      .piece-4,
      .nav-p4,
      .foot-shield img:nth-child(4) {
        object-position: left top;
        margin-left: -6.4%;
        width: 106.95%;
        height: 100%;
        object-fit: fill;
        max-width: none;
      }
    
      .hero-dante-credit{font-size:12px;font-weight:500;color:#7A8FA6;margin-top:32px;letter-spacing:.04em;opacity:.9;animation:fadeUp .8s ease .95s both;}
