const APPLE_SANS_AS = "-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif";
const APPLE_TEXT_AS = "-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter', sans-serif";
const VideoAdsSection = () => {
const videos = Ads.filter(a => a.kind === "video");
const bp = useBreakpoint();
const isMobile = bp === "mobile";
const isTablet = bp === "tablet";
const cols = isMobile ? 1 : isTablet ? 2 : 3;
const tileH = isMobile ? 520 : 540;
return (
Costruiti per il feed.
Testati sul mercato.>}
lede="Ogni ad qui sotto è andato live su Meta, TikTok o YouTube negli ultimi 90 giorni. Script, visual ed editing — tutto AI-assisted, tutto diretto da umani."
/>
{videos.map((ad, i) => (
))}
);
};
const VIDEO_STATS = [
{ metric: "4.7× ROAS", sub: "finestra 30 giorni" },
{ metric: "-62% CPA", sub: "vs. top ad precedente" },
{ metric: "2.4M views", sub: "primi 15 giorni" },
{ metric: "9.1% CTR", sub: "media paid social" },
{ metric: "$28 CPA", sub: "da $70" },
{ metric: "6.2× ROAS", sub: "settimana Black Friday" },
];
const VideoCard = ({ ad, stat, tileH = 540 }) => (
);
const ImageAdsSection = () => {
const images = Ads.filter(a => a.kind === "image");
const bp = useBreakpoint();
const isMobile = bp === "mobile";
const isTablet = bp === "tablet";
const cols = isMobile ? 1 : isTablet ? 2 : 3;
return (
Stesso sistema.
Immagini che fermano lo scroll.>}
lede="Statiche per i brand che hanno bisogno di volume — pronte per Meta, Pinterest, LinkedIn, Google e molto altro."
/>
{images.map((ad) => (
{/* Square 1:1 aspect holder — padding-bottom trick gives height = width */}
{ad.brand} · {ad.platform}
))}
{/* Inline CTA */}
);
};
const SectionHead = ({ eyebrow, title, lede, center = true, light = false }) => {
const bp = useBreakpoint();
const isMobile = bp === "mobile";
return (
{eyebrow && (
{eyebrow}
)}
{title}
{lede && (
{lede}
)}
);
};
window.VideoAdsSection = VideoAdsSection;
window.ImageAdsSection = ImageAdsSection;
window.SectionHead = SectionHead;