const PRODUCERS = [ { name: 'La Cadalora', region: 'Trentino', mono: 'serif-caps', logo: 'https://images.squarespace-cdn.com/content/v1/589b041c1e5b6c546fd6d6ec/1498729827440-YWY1Z9EA03KMD9GWLVCH/Cadalora+col+nero+960px+%230.png' }, { name: 'Prendina', region: 'Lombardia', mono: 'serif-italic', logo: 'https://marcdegrazia.com/wp-content/uploads/2021/07/logo_prendoina.png' }, { name: 'San Cristofaro', region: 'Franciacorta', mono: 'serif-caps', logo: 'https://www.sancristoforo.eu/franciacorta/wp-content/uploads/2020/06/SC_logo_white-2.png', logoInvert: true }, { name: 'Terre del Faet', region: 'Collio', mono: 'script' }, { name: 'Tenuta Stella', region: 'Friuli', mono: 'serif-caps', logo: 'https://www.tenutastellacollio.it/cms/wp-content/themes/tenutastella/images/stella.png' }, { name: 'Cavalchina', region: 'Veneto', mono: 'serif-italic', logo: 'https://marcdegrazia.com/wp-content/uploads/2021/05/logo_cavalchina.png' }, { name: 'Martignago', region: 'Asolo', mono: 'serif-caps', logo: 'https://martignago.wine/wp-content/uploads/2022/02/logo-martignago-vinaioli-1.png' }, { name: "Torre d'Orti", region: 'Valpolicella', mono: 'serif-italic', logo: 'https://marcdegrazia.com/wp-content/uploads/2021/07/logo_torre_dorti-1.png' }, { name: 'Cascina Sot', region: 'Barolo', mono: 'initials', logo: 'https://cascinasot.com/wp-content/uploads/CascinaSot_Nero@05x.png' }, { name: 'La Smeralda', region: 'Colline Novaresi', mono: 'script', logo: 'https://www.cantinalasmeralda.it/cdn/shop/files/La-Smeralda-Logo.png?v=1730739788&width=300' }, { name: 'Malabaila', region: 'Roero', mono: 'serif-italic', logo: 'https://marcdegrazia.com/wp-content/uploads/2021/05/logo_malabaila-1.png' }, { name: 'Negri', region: 'Piemonte', mono: 'serif-caps', logo: 'https://marcdegrazia.com/wp-content/uploads/2022/10/logo_negri.png' }, { name: 'Le Origini dal 1919', region: 'Emilia Romagna', mono: 'serif-italic', logo: 'https://www.tenutaleorigini1919.it/wp-content/uploads/2024/02/logo-tenuta-le-origini-1919-modena.png', logoBoost: true }, { name: 'Tenuta La Viola', region: 'Romagna', mono: 'serif-caps', logo: 'https://www.consorziovinidiromagna.it/wpsite/wp-content/uploads/tenuta-la-viola.png' }, { name: 'Barbicaia', region: 'Montepulciano', mono: 'serif-caps', logo: 'https://marcdegrazia.com/wp-content/uploads/2021/11/logo_barbicaia.png' }, { name: 'G. Meletti Cavallari', region: 'Bolgheri', mono: 'initials', logo: 'https://giorgiomeletticavallari.com/wp-content/uploads/2016/05/logo_meletti.png' }, { name: 'Girasasso', region: 'Toscana', mono: 'script' }, { name: 'Il Fauno', region: 'Bolgheri', mono: 'serif-caps' }, { name: 'Il Palazzino', region: 'Chianti Classico', mono: 'serif-caps', logo: 'https://marcdegrazia.com/wp-content/uploads/2021/07/logo_il_palazzino.png' }, { name: 'Il Pino', region: 'Montalcino', mono: 'serif-italic', logo: 'https://marcdegrazia.com/wp-content/uploads/2021/05/logo_del_pino.png' }, { name: 'Villa i Cipressi', region: 'Montalcino', mono: 'script', logo: 'https://marcdegrazia.com/wp-content/uploads/2024/05/logo_VILLA_I_CIPRESSI.png' }, { name: 'Villanoviana', region: 'Bolgheri', mono: 'serif-caps', logo: 'https://villanoviana.it/wp-content/uploads/2020/06/VILLANOVIANA_logo-1-1.png' }, { name: 'New producer', region: 'Bolgheri', mono: 'serif-caps', logo: 'https://static.wixstatic.com/media/d11548_ca1a158d43234674aba474b4c3454180~mv2.png' }, { name: 'Villa Ligi', region: 'Pergola', mono: 'serif-italic', logo: 'https://www.villaligi.it/img/logo-villa-ligi.png' }, { name: 'Zena', region: 'Castelli di Jesi', mono: 'initials', logo: 'https://zenavini.it/wp-content/uploads/2023/07/logo-zena-450.png' }, { name: 'Filomusi', region: 'Abruzzo', mono: 'script', logo: 'https://www.filomusiguelfi.it/wp-content/uploads/2019/08/cropped-logoprova6sito-1-2.png' }, { name: 'San Donatino', region: 'Chianti Classico', mono: 'serif-caps', logo: 'https://www.sandonatino.com/wp-content/uploads/2024/06/logo-san-donatino.svg', logoBoost: true }, { name: 'Neri', region: 'Piemonte', mono: 'serif-caps', logo: 'https://www.pscdn.it/img/169/25/04/11244-logo-footer.webp' }, ]; const LANGUAGES = [ { code: 'en', label: 'EN' }, ]; function ProducerLogo({ p }) { const [failed, setFailed] = React.useState(false); if (p.logo && !failed) { return (
{p.name} setFailed(true)} />
{p.region}
); } const initials = p.name .split(/[\s']/).filter(Boolean) .map(w => w[0]) .join('') .toUpperCase() .slice(0, 3); if (p.mono === 'initials') { return (
{initials} {p.name}
{p.region}
); } if (p.mono === 'script') { return (
{p.name}
est. · {p.region}
); } if (p.mono === 'serif-caps') { return (
{p.name}
{p.region} · Italia
); } // serif-italic const [first, ...rest] = p.name.split(' '); return (
{first}{rest.length ? ' ' + rest.join(' ') : ''}
— {p.region} —
); } const HERO_IMG = (typeof window !== 'undefined' && window.__resources && window.__resources.heroImg) || 'https://images.unsplash.com/photo-1504279577054-acfeccf8fc52?w=2000&q=80'; const MID_IMG = (typeof window !== 'undefined' && window.__resources && window.__resources.midImg) || 'https://images.unsplash.com/photo-1506377247377-2a5b3b417ebb?w=2000&q=80'; const R = (typeof window !== 'undefined' && window.__resources) || {}; const JOURNAL = [ { href: 'journal-neri.html', img: 'https://marcdegrazia.com/wp-content/uploads/2026/01/header_neri.jpg', kicker: 'Producer profile', date: 'April 2026', title: 'Neri \u2014 Etna Nord, fourth generation.', excerpt: 'Over a century ago, a knight named Vincenzo returned from America and bought volcanic land above Linguaglossa. His great-grandchildren are still there \u2014 making wine at 600 metres on the north-east slope.', }, { href: 'journal-villanoviana.html', img: 'https://villanoviana.it/wp-content/uploads/2025/10/DSC04388_botte.jpg', kicker: 'Producer profile', date: 'March 2026', title: 'Villanoviana \u2014 built from scratch in Bolgheri.', excerpt: 'Marco Belli and Barbara Monacelli bought raw land near the famous cypress avenue in 2006. No existing winery, no inherited vines \u2014 and now some of the most serious wine in the appellation.', }, { href: 'Journal-Post.html', img: 'https://images.squarespace-cdn.com/content/v1/589b041c1e5b6c546fd6d6ec/1489404279520-FFY77GIF37Z2GNFSGUAT/La+Cadalora+-+Panorama+Primavera.jpg', kicker: 'Producer profile', date: 'February 2026', title: 'La Cadalora \u2014 Vallagarina, cru by cru.', excerpt: 'The Tomasi family farms twelve hectares above the Adige at altitudes from 180 to 350 metres. Five named crus, seven wines, and a pre-phylloxera indigenous variety that almost nobody else still makes.', }, ]; function Header({ lang, setLang, t }) { const [navOpen, setNavOpen] = React.useState(false); const close = () => setNavOpen(false); return (
Enovia Selections
); } function ProducerSlider({ producers, label, count }) { const trackRef = React.useRef(null); const [paused, setPaused] = React.useState(false); const manualOffsetRef = React.useRef(0); // px, relative to zero = animation start const loopWidthRef = React.useRef(0); // compute one-loop width once on mount/layout React.useEffect(() => { const el = trackRef.current; if (!el) return; const update = () => { loopWidthRef.current = el.scrollWidth / 2; }; update(); const ro = new ResizeObserver(update); ro.observe(el); return () => ro.disconnect(); }, []); const applyPausedState = (isPaused) => { const el = trackRef.current; if (!el) return; if (isPaused) { // Freeze at current visual position, kill animation const m = new DOMMatrix(getComputedStyle(el).transform); manualOffsetRef.current = m.m41; el.style.animation = 'none'; el.style.transform = `translate3d(${m.m41}px, 0, 0)`; } else { // Resume from animation start (simpler, avoids animation-delay math drift) el.style.animation = ''; el.style.transform = ''; manualOffsetRef.current = 0; } }; const togglePause = () => { const next = !paused; setPaused(next); applyPausedState(next); }; const step = (dir) => { const el = trackRef.current; if (!el) return; // Force paused state if not already if (!paused) { setPaused(true); applyPausedState(true); } const cell = el.querySelector('.plogo-cell'); if (!cell) return; const cs = getComputedStyle(cell); const w = cell.offsetWidth + parseFloat(cs.marginLeft || 0) + parseFloat(cs.marginRight || 0); const loop = loopWidthRef.current || (el.scrollWidth / 2); let next = manualOffsetRef.current + (dir === 'next' ? -w : w); // keep within [-loop, 0] for seamless looping if (next <= -loop) next += loop; if (next > 0) next -= loop; manualOffsetRef.current = next; el.style.transform = `translate3d(${next}px, 0, 0)`; }; const onEnter = () => { if (paused) return; const el = trackRef.current; if (el) el.style.animationPlayState = 'paused'; }; const onLeave = () => { if (paused) return; const el = trackRef.current; if (el) el.style.animationPlayState = 'running'; }; return (
{[...producers, ...producers].map((p, i) => (
= producers.length}>
))}
{count}
); } function ContactTabs({ t }) { const [tab, setTab] = React.useState('importer'); return ( <>
{tab === 'importer' && ( )} {tab === 'producer' && (
For Italian winemakers

If you make wine worth drinking,
we would like to meet you.

We add one or two growers to the book each year — no more. The list below is not a checklist; it is how we think. Read it, and if you still recognise your cellar in it, write to us. A real person reads every message.

What we look for

  • A family, or something close to it. We prefer domaines where the person who takes the call is also the person who picks the grapes.
  • A place that means something. Native grapes, honest appellations, a slope we can point to on a map.
  • Wines that taste of somewhere. We will forgive a short label before we will forgive an anonymous wine.
  • Production at human scale. Five thousand to a hundred and fifty thousand bottles, give or take.
  • An opening in the Benelux. We can’t fight an existing importer for your stock. We’d rather find a grower who needs us.

What we won’t do

  • Private label or contract bottlings. We sell wines with a grower’s name on the front.
  • Industrial volumes at industrial prices. That market is well served. It isn’t us.
  • Exclusivity we can’t honour. If we can’t place your wines properly, we won’t hold them back from someone who can.
  • Six-month payment terms. You get paid when the wine ships. Always.
  • Silence. If we pass, we write back and tell you why.
How to write

A paragraph is enough. Tell us who you are, where you are, and which wine you would pour first. Send a tech sheet if you have one — otherwise just a photo of the label works.

Write to growers@enoviaselections.com
)} ); } function Listino() { const [lang, setLang] = React.useState('en'); React.useEffect(() => { try { localStorage.setItem('enovia-lang', lang); } catch {} document.documentElement.lang = lang; }, [lang]); const t = STRINGS[lang] || STRINGS.en; return (
{/* =============== HERO — full-bleed photograph =============== */}
{t.eyebrow}

{t.hero_l1}{t.hero_em}{t.hero_l2}

{t.hero_caption}
{/* =============== PAPER BODY =============== */}
{/* MANIFESTO — no kicker, no signoff */}

{t.m1}

{t.m2}

{t.m3_line}

{/* CHAPTER I */}
{t.ch1_n}

{t.ch1_h}

{t.ch1_p}

{/* ============ PRODUCER LOGO SLIDER — full width, continuous marquee ============ */} {/* MID-BREAK PHOTO */}
{t.cap_mid}
{/* CATALOGUE LINK */} {/* HOW WE WORK */}
{t.ch2_n}

{t.ch2_h}

{t.ch2_p}

{t.how.map(([n, h, p], i) => (
{n}

{h}

{p}

))}
{/* JOURNAL TEASER */} {/* EVENTS — teaser + link to dedicated page */} {/* GROWERS TEASER — visual break between events and contact */}
For Italian winemakers

If you make wine worth drinking,
we would like to meet you.

We add one or two growers to the book each year — no more. A real person reads every message.

Find out how to apply →
{/* CONTACT */}
); } window.Listino = Listino;