{"id":6,"date":"2026-02-10T20:16:16","date_gmt":"2026-02-10T23:16:16","guid":{"rendered":"https:\/\/wavstudio.com.br\/?page_id=6"},"modified":"2026-02-10T20:23:11","modified_gmt":"2026-02-10T23:23:11","slug":"home","status":"publish","type":"page","link":"https:\/\/wavstudio.com.br\/index.php\/home\/","title":{"rendered":"WAV"},"content":{"rendered":"\n<!doctype html>\n<html lang=\"pt-BR\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\n  <title>WAV Studio \u2014 V\u00eddeo, VFX e Produ\u00e7\u00e3o Audiovisual<\/title>\n  <meta name=\"description\" content=\"WAV Studio \u2014 Produ\u00e7\u00e3o audiovisual, edi\u00e7\u00e3o, motion, VFX e p\u00f3s-produ\u00e7\u00e3o. Est\u00e9tica neon: verde e preto. Contato e or\u00e7amento.\" \/>\n  <meta name=\"theme-color\" content=\"#00ff7b\" \/>\n  <style>\n    :root{\n      --bg:#050607;\n      --bg2:#070a0b;\n      --panel:rgba(8,12,10,.70);\n      --panel2:rgba(10,16,12,.88);\n      --text:rgba(232,255,244,.92);\n      --muted:rgba(232,255,244,.64);\n      --line:rgba(0,255,123,.14);\n      --shadow: 0 18px 50px rgba(0,0,0,.55);\n\n      --neon:#00ff7b;\n      --neon2:#7cff00;\n      --cyan:#00f5ff;\n      --mag:#ff2bd6;\n\n      --radius:18px;\n      --max:1160px;\n      --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n      --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\",\"Segoe UI Emoji\";\n    }\n\n    *{ box-sizing:border-box; }\n    html,body{ height:100%; }\n    body{\n      margin:0;\n      background:\n        radial-gradient(1200px 700px at 75% 10%, rgba(0,255,123,.12), transparent 55%),\n        radial-gradient(900px 600px at 15% 15%, rgba(0,245,255,.08), transparent 55%),\n        radial-gradient(1100px 700px at 50% 80%, rgba(255,43,214,.06), transparent 58%),\n        linear-gradient(180deg, var(--bg), var(--bg2));\n      color:var(--text);\n      font-family:var(--sans);\n      overflow-x:hidden;\n    }\n\n    a{ color:inherit; text-decoration:none; }\n    .wrap{ max-width:var(--max); margin:0 auto; padding: 0 20px; }\n\n    \/* subtle grid + scanlines *\/\n    .fx-grid{\n      position:fixed; inset:0; pointer-events:none; z-index:0;\n      background:\n        linear-gradient(to right, rgba(0,255,123,.06) 1px, transparent 1px),\n        linear-gradient(to bottom, rgba(0,255,123,.05) 1px, transparent 1px);\n      background-size: 60px 60px;\n      mask-image: radial-gradient(700px 500px at 50% 20%, black 35%, transparent 72%);\n      opacity:.55;\n    }\n    .fx-scan{\n      position:fixed; inset:-50vh 0; pointer-events:none; z-index:0;\n      background: repeating-linear-gradient(\n        to bottom,\n        rgba(255,255,255,.04),\n        rgba(255,255,255,.04) 1px,\n        transparent 1px,\n        transparent 7px\n      );\n      mix-blend-mode: overlay;\n      opacity:.16;\n      animation: scan 9s linear infinite;\n    }\n    @keyframes scan{\n      from{ transform: translateY(0); }\n      to{ transform: translateY(50vh); }\n    }\n\n    \/* top nav *\/\n    header{\n      position:sticky; top:0; z-index:10;\n      backdrop-filter: blur(10px);\n      background: linear-gradient(180deg, rgba(5,6,7,.85), rgba(5,6,7,.35));\n      border-bottom: 1px solid rgba(0,255,123,.12);\n    }\n    .nav{\n      display:flex; align-items:center; justify-content:space-between;\n      padding: 14px 0;\n      gap:14px;\n    }\n    .brand{\n      display:flex; align-items:center; gap:12px;\n      letter-spacing:.08em;\n      font-weight:800;\n      text-transform:uppercase;\n      white-space:nowrap;\n    }\n    .logo{\n      width:34px; height:34px; border-radius: 10px;\n      background: radial-gradient(circle at 30% 30%, rgba(0,255,123,.95), rgba(0,255,123,.18) 55%, rgba(0,0,0,.2) 70%),\n                  linear-gradient(135deg, rgba(0,245,255,.18), rgba(255,43,214,.12));\n      border: 1px solid rgba(0,255,123,.22);\n      box-shadow: 0 0 22px rgba(0,255,123,.18);\n      position:relative;\n      overflow:hidden;\n    }\n    .logo::after{\n      content:\"\";\n      position:absolute; inset:-60% -60%;\n      background: conic-gradient(from 180deg, rgba(0,255,123,.0), rgba(0,255,123,.55), rgba(0,245,255,.35), rgba(255,43,214,.28), rgba(0,255,123,.0));\n      animation: spin 6.5s linear infinite;\n      filter: blur(10px);\n      opacity:.6;\n    }\n    @keyframes spin{ to{ transform: rotate(360deg); } }\n\n    .navlinks{\n      display:flex; gap:18px; align-items:center;\n      font-family:var(--mono);\n      font-size: 13px;\n      color: var(--muted);\n    }\n    .navlinks a{\n      padding: 8px 10px;\n      border-radius: 12px;\n      border: 1px solid transparent;\n      transition: .18s ease;\n    }\n    .navlinks a:hover{\n      color: var(--text);\n      border-color: rgba(0,255,123,.20);\n      background: rgba(0,255,123,.06);\n      box-shadow: 0 0 18px rgba(0,255,123,.10);\n    }\n\n    .btn{\n      display:inline-flex; align-items:center; justify-content:center; gap:10px;\n      padding: 12px 14px;\n      border-radius: 14px;\n      border:1px solid rgba(0,255,123,.24);\n      background: linear-gradient(180deg, rgba(0,255,123,.14), rgba(0,255,123,.06));\n      box-shadow: 0 16px 40px rgba(0,0,0,.35);\n      color: var(--text);\n      font-weight:700;\n      font-family:var(--mono);\n      letter-spacing:.03em;\n      transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease;\n      cursor:pointer;\n      user-select:none;\n      white-space:nowrap;\n    }\n    .btn:hover{\n      transform: translateY(-1px);\n      border-color: rgba(0,255,123,.40);\n      box-shadow: 0 18px 52px rgba(0,0,0,.45), 0 0 26px rgba(0,255,123,.14);\n    }\n    .btn:active{ transform: translateY(0); }\n    .btn.secondary{\n      border-color: rgba(232,255,244,.18);\n      background: linear-gradient(180deg, rgba(232,255,244,.08), rgba(232,255,244,.03));\n      color: rgba(232,255,244,.88);\n    }\n\n    \/* hero *\/\n    main{ position:relative; z-index:1; }\n    .hero{\n      position:relative;\n      padding: 54px 0 26px;\n      overflow:hidden;\n    }\n    .heroGrid{\n      display:grid;\n      grid-template-columns: 1.2fr .8fr;\n      gap: 26px;\n      align-items:stretch;\n    }\n\n    .heroCard{\n      border-radius: var(--radius);\n      border: 1px solid rgba(0,255,123,.16);\n      background:\n        radial-gradient(700px 260px at 28% 20%, rgba(0,255,123,.12), transparent 62%),\n        radial-gradient(500px 220px at 80% 40%, rgba(0,245,255,.08), transparent 62%),\n        linear-gradient(180deg, rgba(8,12,10,.75), rgba(6,8,7,.55));\n      box-shadow: var(--shadow);\n      padding: 26px;\n      position:relative;\n      overflow:hidden;\n    }\n    .heroCard::before{\n      content:\"\";\n      position:absolute; inset:-2px;\n      background: linear-gradient(90deg, rgba(0,255,123,.0), rgba(0,255,123,.18), rgba(0,245,255,.12), rgba(255,43,214,.10), rgba(0,255,123,.0));\n      opacity:.45;\n      filter: blur(18px);\n      transform: translateX(-35%);\n      animation: sheen 7.5s ease-in-out infinite;\n      pointer-events:none;\n    }\n    @keyframes sheen{\n      0%,100%{ transform: translateX(-45%); }\n      50%{ transform: translateX(35%); }\n    }\n\n    .kicker{\n      display:inline-flex; align-items:center; gap:10px;\n      font-family: var(--mono);\n      color: rgba(0,255,123,.88);\n      font-weight:700;\n      letter-spacing:.06em;\n      text-transform:uppercase;\n      font-size:12px;\n      padding: 8px 10px;\n      border: 1px solid rgba(0,255,123,.20);\n      border-radius: 999px;\n      background: rgba(0,255,123,.06);\n    }\n    .dot{\n      width:10px; height:10px; border-radius:50%;\n      background: var(--neon);\n      box-shadow: 0 0 18px rgba(0,255,123,.55);\n      animation: pulse 1.8s ease-in-out infinite;\n    }\n    @keyframes pulse{\n      0%,100%{ transform: scale(1); opacity:.9; }\n      50%{ transform: scale(1.25); opacity:1; }\n    }\n\n    h1{\n      margin: 14px 0 10px;\n      font-size: clamp(34px, 4.1vw, 62px);\n      line-height:1.02;\n      letter-spacing:-.02em;\n    }\n    .glitch{\n      position:relative;\n      display:inline-block;\n      text-shadow: 0 0 20px rgba(0,255,123,.16);\n    }\n    .glitch::before, .glitch::after{\n      content: attr(data-text);\n      position:absolute; left:0; top:0;\n      opacity:.65;\n      clip-path: inset(0 0 0 0);\n      pointer-events:none;\n    }\n    .glitch::before{\n      transform: translate(1px, 0);\n      color: rgba(0,245,255,.55);\n      animation: glitch1 3.2s infinite linear;\n    }\n    .glitch::after{\n      transform: translate(-1px, 0);\n      color: rgba(255,43,214,.45);\n      animation: glitch2 2.7s infinite linear;\n    }\n    @keyframes glitch1{\n      0%, 100%{ clip-path: inset(0 0 0 0); }\n      10%{ clip-path: inset(10% 0 65% 0); }\n      12%{ clip-path: inset(0 0 0 0); }\n      38%{ clip-path: inset(45% 0 20% 0); }\n      40%{ clip-path: inset(0 0 0 0); }\n      72%{ clip-path: inset(15% 0 55% 0); }\n      74%{ clip-path: inset(0 0 0 0); }\n    }\n    @keyframes glitch2{\n      0%, 100%{ clip-path: inset(0 0 0 0); }\n      18%{ clip-path: inset(60% 0 15% 0); }\n      20%{ clip-path: inset(0 0 0 0); }\n      52%{ clip-path: inset(22% 0 52% 0); }\n      54%{ clip-path: inset(0 0 0 0); }\n      86%{ clip-path: inset(8% 0 70% 0); }\n      88%{ clip-path: inset(0 0 0 0); }\n    }\n\n    .lead{\n      margin: 0 0 18px;\n      font-size: 16px;\n      line-height:1.65;\n      color: var(--muted);\n      max-width: 62ch;\n    }\n\n    .ctaRow{ display:flex; gap:12px; flex-wrap:wrap; margin-top: 14px; }\n    .metaRow{\n      margin-top: 18px;\n      display:flex; gap:10px; flex-wrap:wrap;\n      color: rgba(232,255,244,.70);\n      font-family: var(--mono);\n      font-size: 12px;\n    }\n    .pill{\n      border:1px solid rgba(232,255,244,.14);\n      background: rgba(232,255,244,.04);\n      padding: 8px 10px;\n      border-radius: 999px;\n    }\n    .pill strong{ color: rgba(0,255,123,.86); font-weight:800; }\n\n    .heroSide{\n      border-radius: var(--radius);\n      border: 1px solid rgba(0,255,123,.14);\n      background: linear-gradient(180deg, rgba(8,12,10,.55), rgba(6,8,7,.35));\n      box-shadow: var(--shadow);\n      overflow:hidden;\n      position:relative;\n      min-height: 360px;\n    }\n    #fxCanvas{\n      width:100%;\n      height:100%;\n      display:block;\n      background:\n        radial-gradient(900px 340px at 50% 35%, rgba(0,255,123,.10), transparent 60%),\n        radial-gradient(600px 280px at 70% 30%, rgba(0,245,255,.08), transparent 62%),\n        radial-gradient(650px 320px at 40% 70%, rgba(255,43,214,.06), transparent 65%);\n    }\n    .hud{\n      position:absolute; inset: 14px 14px auto 14px;\n      display:flex; justify-content:space-between; align-items:flex-start;\n      gap:10px;\n      pointer-events:none;\n    }\n    .hud .badge{\n      font-family: var(--mono);\n      font-size: 12px;\n      color: rgba(232,255,244,.72);\n      border: 1px solid rgba(0,255,123,.16);\n      background: rgba(0,0,0,.24);\n      padding: 8px 10px;\n      border-radius: 999px;\n      backdrop-filter: blur(8px);\n    }\n    .hud .badge b{ color: rgba(0,255,123,.90); }\n    .hudRight{\n      display:flex; flex-direction:column; gap:10px; align-items:flex-end;\n    }\n\n    \/* sections *\/\n    section{ padding: 26px 0; }\n    .sectionTitle{\n      display:flex; align-items:baseline; justify-content:space-between;\n      gap: 12px;\n      margin: 10px 0 14px;\n    }\n    h2{\n      margin:0;\n      font-size: 20px;\n      letter-spacing:.02em;\n    }\n    .hint{\n      font-family:var(--mono);\n      font-size: 12px;\n      color: rgba(232,255,244,.58);\n    }\n\n    .grid{\n      display:grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 14px;\n    }\n    .card{\n      border-radius: var(--radius);\n      border: 1px solid rgba(0,255,123,.14);\n      background: linear-gradient(180deg, rgba(10,16,12,.70), rgba(6,8,7,.42));\n      box-shadow: 0 20px 50px rgba(0,0,0,.35);\n      padding: 16px;\n      position:relative;\n      overflow:hidden;\n    }\n    .card::after{\n      content:\"\";\n      position:absolute; inset:-2px;\n      background: radial-gradient(280px 120px at 30% 10%, rgba(0,255,123,.12), transparent 60%),\n                  radial-gradient(200px 120px at 80% 20%, rgba(0,245,255,.08), transparent 60%),\n                  radial-gradient(220px 120px at 60% 90%, rgba(255,43,214,.06), transparent 60%);\n      opacity:.85;\n      pointer-events:none;\n    }\n    .card > *{ position:relative; z-index:1; }\n    .cardTop{\n      display:flex; align-items:center; justify-content:space-between; gap:10px;\n      margin-bottom:10px;\n    }\n    .tag{\n      font-family:var(--mono);\n      font-size: 12px;\n      color: rgba(0,255,123,.84);\n      border: 1px solid rgba(0,255,123,.18);\n      background: rgba(0,255,123,.05);\n      padding: 6px 10px;\n      border-radius: 999px;\n      white-space:nowrap;\n    }\n    .spark{\n      width:10px; height:10px; border-radius: 50%;\n      background: rgba(0,255,123,.9);\n      box-shadow: 0 0 24px rgba(0,255,123,.40);\n      opacity:.9;\n    }\n    .card h3{\n      margin:0 0 8px;\n      font-size: 16px;\n      letter-spacing:.01em;\n    }\n    .card p{\n      margin:0;\n      color: rgba(232,255,244,.68);\n      line-height:1.6;\n      font-size: 14px;\n    }\n\n    \/* portfolio tiles *\/\n    .tiles{\n      display:grid;\n      grid-template-columns: repeat(12, 1fr);\n      gap: 14px;\n    }\n    .tile{\n      grid-column: span 4;\n      border-radius: var(--radius);\n      border: 1px solid rgba(0,255,123,.14);\n      background:\n        linear-gradient(180deg, rgba(10,16,12,.68), rgba(6,8,7,.42));\n      min-height: 160px;\n      position:relative;\n      overflow:hidden;\n      box-shadow: 0 20px 50px rgba(0,0,0,.35);\n      cursor: pointer;\n      transition: transform .14s ease, border-color .18s ease, box-shadow .18s ease;\n    }\n    .tile:hover{\n      transform: translateY(-2px);\n      border-color: rgba(0,255,123,.30);\n      box-shadow: 0 24px 70px rgba(0,0,0,.48), 0 0 24px rgba(0,255,123,.10);\n    }\n    .tile .thumb{\n      position:absolute; inset:0;\n      background:\n        radial-gradient(500px 220px at var(--x,60%) var(--y,30%), rgba(0,255,123,.22), transparent 55%),\n        radial-gradient(520px 220px at 20% 70%, rgba(0,245,255,.12), transparent 58%),\n        radial-gradient(520px 220px at 80% 85%, rgba(255,43,214,.10), transparent 60%),\n        linear-gradient(135deg, rgba(0,0,0,.0), rgba(0,0,0,.25));\n      filter: saturate(1.2);\n    }\n    .tile .frame{\n      position:absolute; inset:12px;\n      border-radius: 14px;\n      border: 1px solid rgba(232,255,244,.12);\n      background: rgba(0,0,0,.22);\n      backdrop-filter: blur(10px);\n      overflow:hidden;\n    }\n    .tile .frame::before{\n      content:\"\";\n      position:absolute; inset:-40%;\n      background: conic-gradient(from 90deg, rgba(0,255,123,.0), rgba(0,255,123,.35), rgba(0,245,255,.25), rgba(255,43,214,.22), rgba(0,255,123,.0));\n      animation: spin 9s linear infinite;\n      opacity:.55;\n      filter: blur(16px);\n    }\n    .tile .info{\n      position:absolute; left:12px; right:12px; bottom:12px;\n      padding: 12px;\n      border-radius: 14px;\n      border: 1px solid rgba(0,255,123,.14);\n      background: rgba(0,0,0,.35);\n      backdrop-filter: blur(10px);\n      display:flex; align-items:flex-end; justify-content:space-between; gap:10px;\n    }\n    .tile .info b{\n      display:block;\n      font-size: 14px;\n      letter-spacing:.01em;\n    }\n    .tile .info span{\n      display:block;\n      font-family:var(--mono);\n      font-size: 12px;\n      color: rgba(232,255,244,.62);\n      margin-top: 4px;\n    }\n    .tile .chip{\n      font-family:var(--mono);\n      font-size: 12px;\n      padding: 6px 10px;\n      border-radius: 999px;\n      border: 1px solid rgba(232,255,244,.14);\n      color: rgba(232,255,244,.72);\n      background: rgba(232,255,244,.04);\n      white-space:nowrap;\n    }\n\n    \/* collaborators + process *\/\n    .twoCol{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 14px;\n    }\n    .list{\n      margin:0; padding-left: 18px;\n      color: rgba(232,255,244,.70);\n      line-height:1.7;\n      font-size: 14px;\n    }\n    .list li{ margin: 6px 0; }\n    .accent{\n      color: rgba(0,255,123,.88);\n      font-weight: 800;\n    }\n\n    \/* footer \/ contact *\/\n    .contactBox{\n      border-radius: var(--radius);\n      border: 1px solid rgba(0,255,123,.18);\n      background:\n        radial-gradient(900px 300px at 25% 20%, rgba(0,255,123,.14), transparent 58%),\n        radial-gradient(700px 260px at 70% 30%, rgba(0,245,255,.10), transparent 60%),\n        linear-gradient(180deg, rgba(10,16,12,.76), rgba(6,8,7,.44));\n      box-shadow: var(--shadow);\n      padding: 18px;\n      display:flex; align-items:center; justify-content:space-between;\n      gap: 14px;\n      flex-wrap:wrap;\n    }\n    .contactBox .left b{\n      display:block; font-size: 16px;\n      margin-bottom: 6px;\n    }\n    .contactBox .left span{\n      color: rgba(232,255,244,.70);\n      font-size: 14px;\n      line-height:1.6;\n    }\n\n    footer{\n      padding: 26px 0 42px;\n      color: rgba(232,255,244,.54);\n      font-family:var(--mono);\n      font-size: 12px;\n    }\n    .footRow{\n      display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;\n      border-top: 1px solid rgba(0,255,123,.12);\n      padding-top: 14px;\n    }\n\n    \/* responsive *\/\n    @media (max-width: 980px){\n      .heroGrid{ grid-template-columns: 1fr; }\n      .heroSide{ min-height: 320px; }\n      .grid{ grid-template-columns: 1fr; }\n      .tiles{ grid-template-columns: repeat(6, 1fr); }\n      .tile{ grid-column: span 6; }\n      .twoCol{ grid-template-columns: 1fr; }\n      .navlinks{ display:none; }\n    }\n\n    \/* reduced motion *\/\n    @media (prefers-reduced-motion: reduce){\n      .fx-scan, .logo::after, .heroCard::before, .glitch::before, .glitch::after{ animation:none !important; }\n      .btn{ transition:none; }\n    }\n  <\/style>\n<\/head>\n\n<body>\n  <div class=\"fx-grid\" aria-hidden=\"true\"><\/div>\n  <div class=\"fx-scan\" aria-hidden=\"true\"><\/div>\n\n  <header>\n    <div class=\"wrap\">\n      <div class=\"nav\">\n        <a class=\"brand\" href=\"#top\" aria-label=\"WAV Studio\">\n          <span class=\"logo\" aria-hidden=\"true\"><\/span>\n          <span>WAV Studio<\/span>\n        <\/a>\n\n        <nav class=\"navlinks\" aria-label=\"Navega\u00e7\u00e3o\">\n          <a href=\"#servicos\">servi\u00e7os<\/a>\n          <a href=\"#processo\">processo<\/a>\n          <a href=\"#contato\">contato<\/a>\n        <\/nav>\n\n        <a class=\"btn\" href=\"#contato\">\n          <span aria-hidden=\"true\">\u27f6<\/span>\n          <span>seu projeto<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/header>\n\n  <main id=\"top\">\n    <section class=\"hero\">\n      <div class=\"wrap\">\n        <div class=\"heroGrid\">\n          <div class=\"heroCard\">\n            <div class=\"kicker\"><span class=\"dot\" aria-hidden=\"true\"><\/span>produ\u00e7\u00e3o audiovisual \u2022 v\u00eddeo \u2022 vfx<\/div>\n\n            <h1>\n              <span class=\"glitch\" data-text=\"WAV Studio\">\n                WAV Studio\n              <\/span>\n              <br\/>\n              <span style=\"color:rgba(232,255,244,.86)\">Frames com<\/span>\n              <span style=\"color:rgba(0,255,123,.92)\">impacto<\/span>\n              <span style=\"color:rgba(232,255,244,.86)\">.<\/span>\n            <\/h1>\n\n            <p class=\"lead\">\n              Produtora com pegada criativa e tecnol\u00f3gica: <span class=\"accent\">capta\u00e7\u00e3o<\/span>, <span class=\"accent\">edi\u00e7\u00e3o<\/span>,\n              <span class=\"accent\">motion<\/span>, <span class=\"accent\">VFX<\/span> e p\u00f3s-produ\u00e7\u00e3o. Voc\u00ea traz a ideia \u2014 a WAV entrega o filme.\n            <\/p>\n\n            <div class=\"ctaRow\">\n              <a class=\"btn\" href=\"#portfolio\">\n                <span aria-hidden=\"true\">\u25b6<\/span>\n                <span>ver trabalhos<\/span>\n              <\/a>\n              <a class=\"btn secondary\" href=\"#servicos\">\n                <span aria-hidden=\"true\">\u2726<\/span>\n                <span>servi\u00e7os<\/span>\n              <\/a>\n            <\/div>\n\n            <div class=\"metaRow\" aria-label=\"Destaques\">\n              <span class=\"pill\"><strong>VFX<\/strong> comp \/ cleanups \/ tracking<\/span>\n              <span class=\"pill\"><strong>V\u00eddeo<\/strong> social \/ institucional \/ ads<\/span>\n              <span class=\"pill\"><strong>Tech<\/strong> pipeline + automa\u00e7\u00e3o<\/span>\n            <\/div>\n          <\/div>\n\n\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section id=\"servicos\">\n      <div class=\"wrap\">\n        <div class=\"sectionTitle\">\n          <h2>Servi\u00e7os<\/h2>\n          <div class=\"hint\">do briefing ao delivery \u2014 com est\u00e9tica e precis\u00e3o<\/div>\n        <\/div>\n\n        <div class=\"grid\">\n          <article class=\"card\">\n            <div class=\"cardTop\">\n              <span class=\"tag\">produ\u00e7\u00e3o<\/span>\n              <span class=\"spark\" aria-hidden=\"true\"><\/span>\n            <\/div>\n            <h3>Capta\u00e7\u00e3o &#038; dire\u00e7\u00e3o<\/h3>\n            <p>Planejamento, roteiro, set e dire\u00e7\u00e3o para conte\u00fado com linguagem moderna (vertical, widescreen e tudo no meio).<\/p>\n          <\/article>\n\n          <article class=\"card\">\n            <div class=\"cardTop\">\n              <span class=\"tag\">p\u00f3s<\/span>\n              <span class=\"spark\" aria-hidden=\"true\"><\/span>\n            <\/div>\n            <h3>Edi\u00e7\u00e3o &#038; finaliza\u00e7\u00e3o<\/h3>\n            <p>Ritmo, sound design base, tratamento, legendas e vers\u00f5es. Entrega limpa, r\u00e1pida e consistente.<\/p>\n          <\/article>\n\n          <article class=\"card\">\n            <div class=\"cardTop\">\n              <span class=\"tag\">vfx<\/span>\n              <span class=\"spark\" aria-hidden=\"true\"><\/span>\n            <\/div>\n            <h3>VFX &#038; Motion<\/h3>\n            <p>Composi\u00e7\u00e3o, tracking, cleanups, FX e motion graphics para elevar o \u201cvalor percebido\u201d do v\u00eddeo.<\/p>\n          <\/article>\n        <\/div>\n      <\/div>\n    <\/section>\n\n  \n    <section id=\"processo\">\n      <div class=\"wrap\">\n        <div class=\"sectionTitle\">\n          <h2>Processo<\/h2>\n          <div class=\"hint\">simples, r\u00e1pido e com checkpoints objetivos<\/div>\n        <\/div>\n\n        <div class=\"grid\">\n          <article class=\"card\">\n            <div class=\"cardTop\"><span class=\"tag\">1<\/span><span class=\"spark\" aria-hidden=\"true\"><\/span><\/div>\n            <h3>Briefing e objetivo<\/h3>\n            <p>Qual mensagem, p\u00fablico, formato e refer\u00eancia visual. Sem isso, n\u00e3o existe \u201cbom v\u00eddeo\u201d.<\/p>\n          <\/article>\n          <article class=\"card\">\n            <div class=\"cardTop\"><span class=\"tag\">2<\/span><span class=\"spark\" aria-hidden=\"true\"><\/span><\/div>\n            <h3>Execu\u00e7\u00e3o<\/h3>\n            <p>Capta\u00e7\u00e3o e\/ou p\u00f3s, com alinhamento de est\u00e9tica e ritmo. Entregas parciais quando necess\u00e1rio.<\/p>\n          <\/article>\n          <article class=\"card\">\n            <div class=\"cardTop\"><span class=\"tag\">3<\/span><span class=\"spark\" aria-hidden=\"true\"><\/span><\/div>\n            <h3>Entrega e vers\u00f5esing<\/h3>\n            <p>Export otimizado (Reels\/Shorts\/Ads\/YouTube) + pacotes de vers\u00f5es para rodar campanha.<\/p>\n          <\/article>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section id=\"contato\">\n      <div class=\"wrap\">\n        <div class=\"contactBox\">\n          <div class=\"left\">\n            <b>Vamos produzir seu pr\u00f3ximo v\u00eddeo?<\/b>\n            <span>\n              Envie briefing, refer\u00eancia e prazo. Resposta r\u00e1pida com escopo e estimativa.\n            <\/span>\n          <\/div>\n          <div class=\"ctaRow\">\n            <a class=\"btn\" id=\"mailBtn\" href=\"mailto:contato@wavstudio.com.br?subject=Or%C3%A7amento%20-%20WAV%20Studio&#038;body=Oi%20WAV!%0A%0AQuero%20um%20or%C3%A7amento%3A%0A-%20Tipo%20de%20v%C3%ADdeo%3A%0A-%20Dura%C3%A7%C3%A3o%3A%0A-%20Formato%20(9%3A16%2F16%3A9)%3A%0A-%20Prazo%3A%0A-%20Refer%C3%AAncias%20(link)%3A%0A%0AObrigado!\">\n              <span aria-hidden=\"true\">\u2709<\/span>\n              <span>contato@wavstudio.com.br<\/span>\n            <\/a>\n            <button class=\"btn secondary\" id=\"copyBtn\" type=\"button\">\n              <span aria-hidden=\"true\">\u29c9<\/span>\n              <span>copiar e-mail<\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <footer>\n          <div class=\"footRow\">\n            <div>\u00a9 <span id=\"year\"><\/span> WAV Studio \u2014 v\u00eddeo \u2022 p\u00f3s \u2022 VFX<\/div>\n            <div style=\"opacity:.9\">neon\/black landing \u2022 HTML5 canvas<\/div>\n          <\/div>\n        <\/footer>\n      <\/div>\n    <\/section>\n  <\/main>\n\n  <script>\n    \/\/ ===== Small UX helpers\n    document.getElementById(\"year\").textContent = String(new Date().getFullYear());\n\n    document.getElementById(\"copyBtn\").addEventListener(\"click\", async () => {\n      const email = \"contato@wavstudio.com.br\";\n      try{\n        await navigator.clipboard.writeText(email);\n        flashMode(\"copied\");\n      }catch(e){\n        \/\/ fallback\n        const ta = document.createElement(\"textarea\");\n        ta.value = email;\n        ta.style.position = \"fixed\";\n        ta.style.left = \"-9999px\";\n        document.body.appendChild(ta);\n        ta.select();\n        document.execCommand(\"copy\");\n        ta.remove();\n        flashMode(\"copied\");\n      }\n    });\n\n    \/\/ portfolio tile hover spotlight\n    const tiles = document.getElementById(\"tiles\");\n    tiles.addEventListener(\"pointermove\", (e) => {\n      const t = e.target.closest(\".tile\");\n      if(!t) return;\n      const r = t.getBoundingClientRect();\n      const x = ((e.clientX - r.left) \/ r.width) * 100;\n      const y = ((e.clientY - r.top) \/ r.height) * 100;\n      t.style.setProperty(\"--x\", x + \"%\");\n      t.style.setProperty(\"--y\", y + \"%\");\n    });\n\n    \/\/ ===== Canvas neon wavefield (HTML5)\n    const canvas = document.getElementById(\"fxCanvas\");\n    const ctx = canvas.getContext(\"2d\", { alpha: true });\n\n    let w = 0, h = 0, dpr = 1;\n    function resize(){\n      dpr = Math.min(window.devicePixelRatio || 1, 2);\n      const rect = canvas.getBoundingClientRect();\n      w = Math.max(1, Math.floor(rect.width));\n      h = Math.max(1, Math.floor(rect.height));\n      canvas.width = Math.floor(w * dpr);\n      canvas.height = Math.floor(h * dpr);\n      ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n    }\n    window.addEventListener(\"resize\", resize, { passive: true });\n    resize();\n\n    \/\/ particles\n    const rand = (a,b)=>a+Math.random()*(b-a);\n    const particles = [];\n    const P = 68;\n\n    for(let i=0;i<P;i++){\n      particles.push({\n        x: rand(0,w),\n        y: rand(0,h),\n        vx: rand(-0.22,0.22),\n        vy: rand(-0.18,0.18),\n        r: rand(1.2,2.6),\n        hue: Math.random() < .72 ? \"neon\" : (Math.random()<.5 ? \"cyan\" : \"mag\"),\n        a: rand(0.45,0.95)\n      });\n    }\n\n    function colorFor(p){\n      if(p.hue === \"neon\") return `rgba(0,255,123,${p.a})`;\n      if(p.hue === \"cyan\") return `rgba(0,245,255,${p.a})`;\n      return `rgba(255,43,214,${p.a})`;\n    }\n\n    \/\/ fps counter\n    const fpsEl = document.getElementById(\"fps\");\n    const modeEl = document.getElementById(\"mode\");\n    let lastT = performance.now();\n    let acc = 0, frames = 0;\n\n    function flashMode(text){\n      modeEl.textContent = text;\n      modeEl.style.color = \"rgba(0,255,123,.9)\";\n      setTimeout(()=>{\n        modeEl.textContent = \"cinematic\";\n        modeEl.style.color = \"\";\n      }, 900);\n    }\n\n    \/\/ animation params\n    let t = 0;\n    const prefersReduced = window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n    function draw(){\n      const now = performance.now();\n      const dt = Math.min(0.05, (now - lastT) \/ 1000);\n      lastT = now;\n\n      acc += dt; frames++;\n      if(acc >= 0.5){\n        fpsEl.textContent = String(Math.round(frames \/ acc));\n        acc = 0; frames = 0;\n      }\n\n      if(prefersReduced){\n        \/\/ keep it light: render a static-ish frame\n        t += 0.003;\n      }else{\n        t += dt;\n      }\n\n      \/\/ clear with a soft fade (trail)\n      ctx.fillStyle = \"rgba(0,0,0,0.20)\";\n      ctx.fillRect(0,0,w,h);\n\n      \/\/ wave lines\n      const lines = 6;\n      const step = 10;\n      for(let k=0;k<lines;k++){\n        const y0 = (h*(0.22 + k*0.12));\n        ctx.beginPath();\n        for(let x=0; x<=w; x+=step){\n          const nx = x \/ w;\n          const f1 = Math.sin((nx*8.0) + (t*1.5) + k*0.7);\n          const f2 = Math.cos((nx*3.2) - (t*1.0) + k*0.9);\n          const amp = 12 + k*3;\n          const y = y0 + (f1*amp) + (f2*(amp*0.55));\n          if(x===0) ctx.moveTo(x, y);\n          else ctx.lineTo(x, y);\n        }\n        const a = 0.22 + k*0.06;\n        ctx.strokeStyle = k % 3 === 0 ? `rgba(0,255,123,${a})` : (k % 3 === 1 ? `rgba(0,245,255,${a})` : `rgba(255,43,214,${a*.85})`);\n        ctx.lineWidth = 1.35;\n        ctx.stroke();\n      }\n\n      \/\/ particles + links\n      for(const p of particles){\n        p.x += p.vx * (prefersReduced ? 0.2 : 1);\n        p.y += p.vy * (prefersReduced ? 0.2 : 1);\n\n        \/\/ flow field influence (subtle)\n        const fx = Math.sin((p.y\/h)*6 + t*0.9) * 0.015;\n        const fy = Math.cos((p.x\/w)*5 - t*0.8) * 0.012;\n        p.vx = (p.vx * 0.995) + fx;\n        p.vy = (p.vy * 0.995) + fy;\n\n        if(p.x < -20) p.x = w+20;\n        if(p.x > w+20) p.x = -20;\n        if(p.y < -20) p.y = h+20;\n        if(p.y > h+20) p.y = -20;\n\n        \/\/ point\n        ctx.beginPath();\n        ctx.fillStyle = colorFor(p);\n        ctx.arc(p.x, p.y, p.r, 0, Math.PI*2);\n        ctx.fill();\n      }\n\n      \/\/ links (limited for perf)\n      for(let i=0;i<particles.length;i++){\n        const a = particles[i];\n        for(let j=i+1;j<particles.length;j++){\n          const b = particles[j];\n          const dx = a.x-b.x, dy = a.y-b.y;\n          const dist2 = dx*dx + dy*dy;\n          const maxD = 120;\n          if(dist2 < maxD*maxD){\n            const dist = Math.sqrt(dist2);\n            const alpha = (1 - (dist\/maxD)) * 0.15;\n            ctx.strokeStyle = `rgba(0,255,123,${alpha})`;\n            ctx.lineWidth = 1;\n            ctx.beginPath();\n            ctx.moveTo(a.x,a.y);\n            ctx.lineTo(b.x,b.y);\n            ctx.stroke();\n          }\n        }\n      }\n\n      \/\/ vignette\n      const g = ctx.createRadialGradient(w*0.5,h*0.45, Math.min(w,h)*0.08, w*0.5,h*0.45, Math.max(w,h)*0.72);\n      g.addColorStop(0, \"rgba(0,0,0,0)\");\n      g.addColorStop(1, \"rgba(0,0,0,0.55)\");\n      ctx.fillStyle = g;\n      ctx.fillRect(0,0,w,h);\n\n      requestAnimationFrame(draw);\n    }\n    \/\/ first paint (black)\n    ctx.fillStyle = \"rgba(0,0,0,1)\";\n    ctx.fillRect(0,0,10,10);\n    requestAnimationFrame(draw);\n\n    \/\/ click tiles to simulate opening a case (replace with real links)\n    document.querySelectorAll(\".tile\").forEach(tile=>{\n      tile.addEventListener(\"click\", ()=>{\n        const title = tile.getAttribute(\"data-title\") || \"Projeto\";\n        const sub = tile.getAttribute(\"data-sub\") || \"\";\n        flashMode(title.toLowerCase());\n        \/\/ Replace this with real URL\n        \/\/ window.open(\"https:\/\/...\", \"_blank\", \"noopener,noreferrer\");\n        alert(`${title}\\n${sub}\\n\\nSubstitua este alerta por um link\/iframe real do seu trabalho.`);\n      });\n    });\n  <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>WAV Studio \u2014 V\u00eddeo, VFX e Produ\u00e7\u00e3o Audiovisual WAV Studio servi\u00e7os processo contato \u27f6 seu projeto produ\u00e7\u00e3o audiovisual \u2022 v\u00eddeo \u2022 vfx WAV Studio Frames com impacto . Produtora com pegada criativa e tecnol\u00f3gica: capta\u00e7\u00e3o, edi\u00e7\u00e3o, motion, VFX e p\u00f3s-produ\u00e7\u00e3o. Voc\u00ea traz a ideia \u2014 a WAV entrega o filme. \u25b6 ver trabalhos \u2726 servi\u00e7os [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"blank","meta":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/pages\/6"}],"collection":[{"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":4,"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":12,"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/pages\/6\/revisions\/12"}],"wp:attachment":[{"href":"https:\/\/wavstudio.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}