1<!doctype html> 2<html lang="en"> 3 <head> 4 <!-- lp-rev: força full-reload das abas conectadas quando muda (vite) --> 5 <meta charset="UTF-8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <title>Snew â Autonomous Creative Team for E-commerce</title> 8 <style> 9 html, body { margin: 0; background: #fff; } 10 html.dark, html.dark body { background: #212122; color-scheme: dark; } 11 .snew-boot { min-height: 100vh; color: #161616; font: 600 24px/1 system-ui, sans-serif; letter-spacing: -.06em; } 12 .snew-boot__mark { position: fixed; top: 24px; left: clamp(20px, 4vw, 56px); } 13 .snew-boot__pulse { position: fixed; inset: 50% auto auto 50%; width: 28px; height: 4px; border-radius: 999px; background: #dceff6; transform: translate(-50%, -50%); animation: snew-boot-pulse 1s ease-in-out infinite alternate; } 14 @keyframes snew-boot-pulse { to { width: 52px; opacity: .45; } } 15 @media (prefers-reduced-motion: reduce) { .snew-boot__pulse { animation: none; } } 16 </style> 17
17<script> 18 (function () { 19 try { 20 document.documentElement.classList.remove("dark"); 21 document.documentElement.style.colorScheme = "light"; 22 var requested = new URLSearchParams(location.search).get("lang"); 23 var stored = localStorage.getItem("app_language"); 24 var timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; 25 var brazil = /-BR\b/i.test((navigator.languages || [navigator.language]).join(" ")) 26 || ["America/Sao_Paulo", "America/Bahia", "America/Fortaleza", "America/Recife", "America/Maceio", "America/Araguaina", "America/Belem", "America/Santarem", "America/Manaus", "America/Boa_Vista", "America/Porto_Velho", "America/Rio_Branco", "America/Eirunepe", "America/Cuiaba", "America/Campo_Grande", "America/Noronha"].indexOf(timezone) >= 0; 27 var portuguese = requested === "pt" || requested === "pt-BR" 28 || (!requested && stored === "pt-BR") 29 || (!requested && stored !== "en" && brazil); 30 document.documentElement.lang = portuguese ? "pt-BR" : "en"; 31 if (portuguese) document.title = "Snew â Time Criativo Autônomo para E-commerce"; 32 } catch (_) {} 33 })(); 34 </script>
34 35 <meta 36 name="description" 37 content="Snew turns products into on-brand campaign images, videos and content with an autonomous creative team built for e-commerce." 38 > 39 <meta name="author" content="Snew" /> 40 <meta name="robots" content="index, follow, max-image-preview:large" /> 41 <meta name="theme-color" content="#ffffff" /> 42 <link rel="canonical" href="https://snew.ai/" /> 43 <link rel="alternate" hreflang="en" href="https://snew.ai/?lang=en" /> 44 <link rel="alternate" hreflang="pt-BR" href="https://snew.ai/?lang=pt-BR" /> 45 <link rel="alternate" hreflang="x-default" href="https://snew.ai/" /> 46
46<script> 47 // The public surface uses the 600 face above the fold. Do not make the 48 // private app download it on every route before React knows what it needs. 49 (() => { 50 const publicHost = location.hostname === "snew.ai" || location.hostname === "www.snew.ai"; 51 const landingPath = location.pathname === "/landing" || location.pathname.startsWith("/landing-"); 52 if (!publicHost && !landingPath) return; 53 const preload = document.createElement("link"); 54 preload.rel = "preload"; 55 preload.href = "/fonts/BDOGrotesk-600-Latin.woff2"; 56 preload.as = "font"; 57 preload.type = "font/woff2"; 58 preload.crossOrigin = "anonymous"; 59 document.head.appendChild(preload); 60 })(); 61 </script>
61 62 <link rel="preload" href="/landing-floating/optimized/product-1.webp" as="image" type="image/webp" fetchpriority="high"> 63 <link rel="preconnect" href="https://fonts.googleapis.com"> 64 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 65 <link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'"> 66 <noscript> 67 <link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet"> 68 </noscript> 69 70 <meta property="og:type" content="website" /> 71 <meta property="og:site_name" content="Snew" /> 72 <meta property="og:url" content="https://snew.ai/" /> 73 <meta property="og:locale" content="en_US" /> 74 <meta property="og:locale:alternate" content="pt_BR" /> 75 <meta property="og:title" content="Snew â Autonomous Creative Team for E-commerce" /> 76 <meta 77 property="og:description" 78 content="Snew turns products into on-brand campaign images, videos and content with an autonomous creative team built for e-commerce." 79 /> 80 <meta property="og:image" content="https://snew.ai/og/snew-og-en.png" /> 81 <meta property="og:image:secure_url" content="https://snew.ai/og/snew-og-en.png" /> 82 <meta property="og:image:type" content="image/png" /> 83 <meta property="og:image:width" content="1200" /> 84 <meta property="og:image:height" content="630" /> 85 <meta property="og:image:alt" content="Snew, the autonomous creative team for e-commerce brands" /> 86 <meta name="twitter:card" content="summary_large_image" /> 87 <meta name="twitter:title" content="Snew â Autonomous Creative Team for E-commerce" /> 88 <meta 89 name="twitter:description" 90 content="Snew turns products into on-brand campaign images, videos and content with an autonomous creative team built for e-commerce." 91 /> 92 <meta name="twitter:image" content="https://snew.ai/og/snew-og-en.png" /> 93 <meta name="twitter:image:alt" content="Snew, the autonomous creative team for e-commerce brands" /> 94 95
95<script type="application/ld+json"> 96 { 97 "@context": "https://schema.org", 98 "@graph": [ 99 { 100 "@type": "Organization", 101 "@id": "https://snew.ai/#organization", 102 "name": "Snew", 103 "legalName": "Superskills LLC", 104 "url": "https://snew.ai/", 105 "email": "[email protected]" 106 }, 107 { 108 "@type": "WebSite", 109 "@id": "https://snew.ai/#website", 110 "url": "https://snew.ai/", 111 "name": "Snew", 112 "publisher": { "@id": "https://snew.ai/#organization" }, 113 "inLanguage": ["en", "pt-BR"] 114 }, 115 { 116 "@type": "SoftwareApplication", 117 "@id": "https://snew.ai/#software", 118 "name": "Snew", 119 "url": "https://snew.ai/", 120 "description": "An autonomous creative agent for e-commerce brands that creates on-brand images, videos and campaigns.", 121 "applicationCategory": "BusinessApplication", 122 "applicationSubCategory": "Creative automation", 123 "operatingSystem": "Web", 124 "publisher": { "@id": "https://snew.ai/#organization" }, 125 "offers": [ 126 { 127 "@type": "Offer", 128 "name": "Starter monthly plan", 129 "url": "https://snew.ai/pricing", 130 "price": "35", 131 "priceCurrency": "USD", 132 "availability": "https://schema.org/OnlineOnly" 133 }, 134 { 135 "@type": "Offer", 136 "name": "Pro monthly plan", 137 "url": "https://snew.ai/pricing", 138 "price": "99", 139 "priceCurrency": "USD", 140 "availability": "https://schema.org/OnlineOnly" 141 } 142 ] 143 } 144 ] 145 } 146 </script>
146 147 <!-- 148 FAVICON · o SVG primeiro, o .ico como rede. 149 150 O SVG é nÃtido em qualquer densidade e é o que o Chrome, o Safari e o 151 Firefox atuais escolhem; o `.ico` fica para navegador antigo e para o 152 atalho que alguém já tenha salvo. Ordem importa: o browser usa a ÃLTIMA 153 declaração que entende, então o fallback vem antes. 154 --> 155 <link rel="icon" type="image/x-icon" href="/favicon.ico?v=blue-20260909"> 156 <link rel="icon" type="image/svg+xml" href="/favicon.svg?v=blue-20260909"> 157 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=blue-20260909"> 158
158<script type="module" crossorigin src="/assets/index-L9AYrVUw.js"></script>
158 159 <link rel="stylesheet" crossorigin href="/assets/index-DnDj_hub.css"> 160</head> 161 162 <body> 163 <div id="root"> 164 <div class="snew-boot" role="status" aria-label="Snew"> 165 <span class="snew-boot__mark">snew</span> 166 <span class="snew-boot__pulse" aria-hidden="true"></span> 167 </div> 168 </div> 169 </body> 170</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.