{
  "reasoning": "Vecchio Forno è un forno artigianale abruzzese con forte identità tradizionale e calore visivo. Il dossier mostra una palette rosso/terra/ambra e un vibe warm-traditional, perfetto per il riferimento 02-warm-artisanal-heritage. Solo il banner è disponibile come immagine, quindi il sito si baserebbe molto su tipografia e colore con il banner come CTA strip centrale.",
  "selected_reference_style": "02-warm-artisanal-heritage",
  "astro_file": "---\nconst { data, copy, i, lang } = Astro.props;\nconst imgUrl = (p) => `${import.meta.env.BASE_URL.replace(/\\/$/, '')}/images/${p}`;\nconst palette = {\n  primary:    data.visual_identity?.color_palette?.primary    || '#C0392B',\n  secondary:  data.visual_identity?.color_palette?.secondary  || '#8B6F47',\n  accent:     data.visual_identity?.color_palette?.accent     || '#E8A020',\n  background: data.visual_identity?.color_palette?.background || '#FFFFFF',\n  text:       data.visual_identity?.color_palette?.text       || '#2C2C2C',\n};\n---\n<!DOCTYPE html>\n<html lang={lang}>\n<head>\n  <meta charset=\"UTF-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n  <title>{data.business_name}</title>\n  <meta name=\"description\" content={data.description} />\n  <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n  <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />\n  <link href=\"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap\" rel=\"stylesheet\" />\n</head>\n<body>\n\n<!-- HEADER -->\n<header class=\"site-header\">\n  <div class=\"header-inner\">\n    <div class=\"logo-area\">\n      {data.images.logo ? (\n        <a href=\"#home\">\n          <img src={imgUrl(data.images.logo.path)} alt={data.images.logo.alt || data.business_name} class=\"logo-img\" />\n        </a>\n      ) : (\n        <a href=\"#home\" class=\"logo-text\">\n          <span class=\"logo-name\">{data.business_name}</span>\n          <span class=\"logo-tagline-small\">{i.logo_sub}</span>\n        </a>\n      )}\n    </div>\n    <nav class=\"main-nav\" aria-label={i.nav_aria_label}>\n      <a href=\"#storia\">{i.nav_story}</a>\n      <a href=\"#prodotti\">{i.nav_products}</a>\n      <a href=\"#contatti\">{i.nav_contacts}</a>\n    </nav>\n    <a href=\"#contatti\" class=\"header-cta\">{i.cta_contact}</a>\n  </div>\n</header>\n\n<!-- HERO (no hero image: text-on-color fallback) -->\n<section class=\"hero-section\" id=\"home\">\n  <div class=\"hero-text-only\">\n    <p class=\"hero-eyebrow\">{copy.hero_eyebrow}</p>\n    <h1 class=\"hero-title\">{data.business_name}</h1>\n    <p class=\"hero-tagline\">{copy.hero_tagline}</p>\n    <div class=\"hero-actions\">\n      <a href=\"#prodotti\" class=\"btn-primary\">{i.cta_discover}</a>\n      <a href=\"#storia\" class=\"btn-secondary\">{i.cta_story}</a>\n    </div>\n  </div>\n</section>\n\n<!-- BANNER STRIP -->\n{data.images.banner && (\n  <section class=\"banner-section\">\n    <img\n      src={imgUrl(data.images.banner.path)}\n      alt={data.images.banner.alt}\n      class=\"banner-img\"\n    />\n    <div class=\"banner-overlay\">\n      <p class=\"banner-label\">{copy.banner_caption}</p>\n    </div>\n  </section>\n)}\n\n<!-- STORIA -->\n<section class=\"story-section\" id=\"storia\">\n  <div class=\"section-inner\">\n    <div class=\"section-header\">\n      <p class=\"section-eyebrow\">{i.section_eyebrow_story}</p>\n      <h2 class=\"section-title\">{i.section_title_story}</h2>\n    </div>\n    <div class=\"story-grid\">\n      <div class=\"story-text\">\n        <p class=\"story-intro\">{copy.story_intro}</p>\n        <p class=\"story-body\">{copy.story_paragraph}</p>\n        <p class=\"story-location\">{data.description}</p>\n      </div>\n      <div class=\"story-values\">\n        <div class=\"value-card\">\n          <span class=\"value-icon\">✦</span>\n          <h3>{i.value_title_craft}</h3>\n          <p>{copy.value_craft}</p>\n        </div>\n        <div class=\"value-card\">\n          <span class=\"value-icon\">✦</span>\n          <h3>{i.value_title_ingredients}</h3>\n          <p>{copy.value_ingredients}</p>\n        </div>\n        <div class=\"value-card\">\n          <span class=\"value-icon\">✦</span>\n          <h3>{i.value_title_tradition}</h3>\n          <p>{copy.value_tradition}</p>\n        </div>\n      </div>\n    </div>\n  </div>\n</section>\n\n<!-- TAGLINE BAND -->\n<section class=\"tagline-band\">\n  <div class=\"section-inner\">\n    <blockquote class=\"brand-tagline\">{data.tagline}</blockquote>\n  </div>\n</section>\n\n<!-- PRODOTTI -->\n<section class=\"products-section\" id=\"prodotti\">\n  <div class=\"section-inner\">\n    <div class=\"section-header\">\n      <p class=\"section-eyebrow\">{i.section_eyebrow_products}</p>\n      <h2 class=\"section-title\">{i.section_title_products}</h2>\n      <p class=\"section-intro\">{copy.products_intro}</p>\n    </div>\n    <div class=\"products-grid\">\n      {data.products_or_services.map((p) => (\n        <article class=\"product-card\">\n          <div class=\"product-card-inner\">\n            <h3 class=\"product-name\">{p.name}</h3>\n            <p class=\"product-desc\">{p.description}</p>\n          </div>\n        </article>\n      ))}\n    </div>\n  </div>\n</section>\n\n<!-- ARTIGIANALITA' STRIP -->\n<section class=\"craft-strip\">\n  <div class=\"section-inner craft-strip-inner\">\n    <div class=\"craft-item\">\n      <span class=\"craft-num\">01</span>\n      <p>{copy.craft_step_1}</p>\n    </div>\n    <div class=\"craft-divider\"></div>\n    <div class=\"craft-item\">\n      <span class=\"craft-num\">02</span>\n      <p>{copy.craft_step_2}</p>\n    </div>\n    <div class=\"craft-divider\"></div>\n    <div class=\"craft-item\">\n      <span class=\"craft-num\">03</span>\n      <p>{copy.craft_step_3}</p>\n    </div>\n  </div>\n</section>\n\n<!-- CONTATTI -->\n<section class=\"contacts-section\" id=\"contatti\">\n  <div class=\"section-inner\">\n    <div class=\"section-header\">\n      <p class=\"section-eyebrow\">{i.section_eyebrow_contacts}</p>\n      <h2 class=\"section-title\">{i.section_title_contacts}</h2>\n    </div>\n    <div class=\"contacts-grid\">\n      <div class=\"contact-block\">\n        <h3 class=\"contact-block-title\">{i.contact_where}</h3>\n        <p class=\"contact-detail\">{data.contacts.address}</p>\n      </div>\n      <div class=\"contact-block\">\n        <h3 class=\"contact-block-title\">{i.contact_phone_label}</h3>\n        <p class=\"contact-detail\">\n          <a href={`tel:${data.contacts.phone}`}>{data.contacts.phone}</a>\n        </p>\n        {data.contacts.fax && (\n          <p class=\"contact-detail contact-meta\">\n            <span>{i.contact_fax_label}:</span> {data.contacts.fax}\n          </p>\n        )}\n      </div>\n      <div class=\"contact-block\">\n        <h3 class=\"contact-block-title\">{i.contact_email_label}</h3>\n        <p class=\"contact-detail\">\n          <a href={`mailto:${data.contacts.email}`}>{data.contacts.email}</a>\n        </p>\n        {data.contacts.email_secondary && (\n          <p class=\"contact-detail\">\n            <a href={`mailto:${data.contacts.email_secondary}`}>{data.contacts.email_secondary}</a>\n          </p>\n        )}\n        {data.contacts.pec && (\n          <p class=\"contact-detail contact-meta\">\n            <span>{i.contact_pec_label}:</span> {data.contacts.pec}\n          </p>\n        )}\n      </div>\n      <div class=\"contact-block\">\n        <h3 class=\"contact-block-title\">{i.contact_legal_label}</h3>\n        {data.contacts.vat && (\n          <p class=\"contact-detail contact-meta\">\n            <span>{i.contact_vat_label}:</span> {data.contacts.vat}\n          </p>\n        )}\n        {data.contacts.rea && (\n          <p class=\"contact-detail contact-meta\">\n            <span>{i.contact_rea_label}:</span> {data.contacts.rea}\n          </p>\n        )}\n      </div>\n    </div>\n  </div>\n</section>\n\n<!-- FOOTER -->\n<footer class=\"site-footer\">\n  <div class=\"footer-inner\">\n    <div class=\"footer-brand\">\n      {data.images.logo ? (\n        <img src={imgUrl(data.images.logo.path)} alt={data.images.logo.alt || data.business_name} class=\"footer-logo\" />\n      ) : (\n        <span class=\"footer-logo-text\">{data.business_name}</span>\n      )}\n      <p class=\"footer-tag\">{copy.footer_tag}</p>\n    </div>\n    <div class=\"footer-nav\">\n      <a href=\"#storia\">{i.nav_story}</a>\n      <a href=\"#prodotti\">{i.nav_products}</a>\n      <a href=\"#contatti\">{i.nav_contacts}</a>\n    </div>\n    <div class=\"footer-legal\">\n      <p>{i.footer_legal} {data.contacts.vat}</p>\n      <p>{i.footer_credits}</p>\n    </div>\n  </div>\n</footer>\n\n</body>\n</html>\n\n<style define:vars={{\n  colorPrimary:    palette.primary,\n  colorSecondary:  palette.secondary,\n  colorAccent:     palette.accent,\n  colorBackground: palette.background,\n  colorText:       palette.text,\n}}>\n@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap');\n\n:root {\n  --color-primary:    var(--colorPrimary);\n  --color-secondary:  var(--colorSecondary);\n  --color-accent:     var(--colorAccent);\n  --color-background: var(--colorBackground);\n  --color-text:       var(--colorText);\n  --font-heading:     'Playfair Display', Georgia, serif;\n  --font-body:        'Inter', system-ui, sans-serif;\n  --cream:            #F5EFE4;\n  --cream-dark:       #EDE4D3;\n  --border-warm:      rgba(139, 111, 71, 0.2);\n}\n\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\nhtml { scroll-behavior: smooth; }\n\nbody {\n  font-family: var(--font-body);\n  color: var(--color-text);\n  background: var(--color-background);\n  line-height: 1.7;\n  font-size: 16px;\n}\n\na { color: inherit; text-decoration: none; }\n\n/* LAYOUT */\n.section-inner {\n  max-width: 1140px;\n  margin: 0 auto;\n  padding: 0 2rem;\n}\n\n/* HEADER */\n.site-header {\n  position: sticky;\n  top: 0;\n  z-index: 100;\n  background: var(--color-background);\n  border-bottom: 1px solid var(--border-warm);\n  padding: 0.9rem 2rem;\n}\n.header-inner {\n  max-width: 1140px;\n  margin: 0 auto;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1.5rem;\n}\n.logo-area { flex-shrink: 0; }\n.logo-img { height: 48px; width: auto; display: block; }\n.logo-text { display: flex; flex-direction: column; gap: 0.1rem; }\n.logo-name {\n  font-family: var(--font-heading);\n  font-size: 1.25rem;\n  font-weight: 600;\n  color: var(--color-primary);\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  line-height: 1.1;\n}\n.logo-tagline-small {\n  font-size: 0.6rem;\n  font-family: var(--font-body);\n  letter-spacing: 0.15em;\n  text-transform: uppercase;\n  color: var(--color-secondary);\n  font-weight: 500;\n}\n.main-nav {\n  display: flex;\n  gap: 2rem;\n  align-items: center;\n}\n.main-nav a {\n  font-size: 0.8rem;\n  font-weight: 500;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  color: var(--color-text);\n  transition: color 0.2s;\n}\n.main-nav a:hover { color: var(--color-primary); }\n.header-cta {\n  font-size: 0.75rem;\n  font-weight: 600;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  color: var(--color-background);\n  background: var(--color-primary);\n  padding: 0.55rem 1.2rem;\n  border: 1px solid var(--color-primary);\n  transition: background 0.2s, color 0.2s;\n}\n.header-cta:hover {\n  background: transparent;\n  color: var(--color-primary);\n}\n\n/* HERO */\n.hero-section {\n  min-height: 80vh;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: var(--cream);\n  position: relative;\n  overflow: hidden;\n}\n.hero-section::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(135deg, var(--cream) 0%, var(--cream-dark) 60%, rgba(192,57,43,0.08) 100%);\n}\n.hero-text-only {\n  position: relative;\n  z-index: 1;\n  text-align: center;\n  padding: 5rem 2rem;\n  max-width: 820px;\n}\n.hero-eyebrow {\n  font-size: 0.75rem;\n  font-weight: 500;\n  letter-spacing: 0.22em;\n  text-transform: uppercase;\n  color: var(--color-secondary);\n  margin-bottom: 1.2rem;\n}\n.hero-title {\n  font-family: var(--font-heading);\n  font-size: clamp(2.8rem, 7vw, 5.5rem);\n  font-weight: 600;\n  color: var(--color-primary);\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  line-height: 1.05;\n  margin-bottom: 1.5rem;\n}\n.hero-tagline {\n  font-family: var(--font-heading);\n  font-size: clamp(1rem, 2.2vw, 1.3rem);\n  font-style: italic;\n  color: var(--color-text);\n  max-width: 560px;\n  margin: 0 auto 2.5rem;\n  line-height: 1.65;\n}\n.hero-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }\n.btn-primary {\n  font-size: 0.8rem;\n  font-weight: 600;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n  color: var(--color-background);\n  background: var(--color-primary);\n  padding: 0.85rem 2rem;\n  border: 2px solid var(--color-primary);\n  transition: background 0.2s, color 0.2s;\n}\n.btn-primary:hover {\n  background: transparent;\n  color: var(--color-primary);\n}\n.btn-secondary {\n  font-size: 0.8rem;\n  font-weight: 600;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n  color: var(--color-primary);\n  background: transparent;\n  padding: 0.85rem 2rem;\n  border: 2px solid var(--color-primary);\n  transition: background 0.2s, color 0.2s;\n}\n.btn-secondary:hover {\n  background: var(--color-primary);\n  color: var(--color-background);\n}\n\n/* BANNER */\n.banner-section {\n  position: relative;\n  overflow: hidden;\n  max-height: 420px;\n}\n.banner-img {\n  width: 100%;\n  height: 420px;\n  object-fit: cover;\n  object-position: center;\n  display: block;\n}\n.banner-overlay {\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(to right, rgba(44,44,44,0.55) 0%, rgba(44,44,44,0.2) 60%, transparent 100%);\n  display: flex;\n  align-items: flex-end;\n  padding: 2.5rem 3rem;\n}\n.banner-label {\n  font-family: var(--font-heading);\n  font-style: italic;\n  font-size: clamp(1.1rem, 2.5vw, 1.6rem);\n  color: #fff;\n  max-width: 480px;\n  line-height: 1.5;\n  text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n\n/* STORIA */\n.story-section {\n  padding: 7rem 0;\n  background: var(--color-background);\n}\n.section-header {\n  text-align: center;\n  margin-bottom: 4rem;\n}\n.section-eyebrow {\n  font-size: 0.72rem;\n  font-weight: 500;\n  letter-spacing: 0.22em;\n  text-transform: uppercase;\n  color: var(--color-secondary);\n  margin-bottom: 0.8rem;\n}\n.section-title {\n  font-family: var(--font-heading);\n  font-size: clamp(1.8rem, 4vw, 2.8rem);\n  font-weight: 400;\n  color: var(--color-text);\n  letter-spacing: 0.04em;\n  line-height: 1.2;\n}\n.section-title strong {\n  font-weight: 600;\n  color: var(--color-primary);\n}\n.story-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 4rem;\n  align-items: start;\n}\n.story-intro {\n  font-family: var(--font-heading);\n  font-size: 1.2rem;\n  font-style: italic;\n  color: var(--color-primary);\n  margin-bottom: 1.2rem;\n  line-height: 1.55;\n}\n.story-body {\n  font-size: 1rem;\n  color: var(--color-text);\n  margin-bottom: 1.2rem;\n  line-height: 1.75;\n}\n.story-location {\n  font-size: 0.9rem;\n  color: var(--color-secondary);\n  line-height: 1.65;\n  border-left: 3px solid var(--color-accent);\n  padding-left: 1rem;\n  margin-top: 1.5rem;\n}\n.story-values {\n  display: flex;\n  flex-direction: column;\n  gap: 1.8rem;\n}\n.value-card {\n  padding: 1.5rem;\n  background: var(--cream);\n  border-left: 3px solid var(--color-primary);\n}\n.value-icon {\n  display: inline-block;\n  color: var(--color-accent);\n  font-size: 1rem;\n  margin-bottom: 0.5rem;\n}\n.value-card h3 {\n  font-size: 0.78rem;\n  font-weight: 600;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  color: var(--color-text);\n  margin-bottom: 0.5rem;\n}\n.value-card p {\n  font-size: 0.9rem;\n  color: var(--color-secondary);\n  line-height: 1.6;\n}\n\n/* TAGLINE BAND */\n.tagline-band {\n  background: var(--color-primary);\n  padding: 4rem 0;\n}\n.brand-tagline {\n  font-family: var(--font-heading);\n  font-style: italic;\n  font-size: clamp(1.1rem, 2.8vw, 1.65rem);\n  color: rgba(255,255,255,0.95);\n  text-align: center;\n  max-width: 750px;\n  margin: 0 auto;\n  line-height: 1.6;\n  letter-spacing: 0.01em;\n}\n\n/* PRODOTTI */\n.products-section {\n  padding: 7rem 0;\n  background: var(--cream);\n}\n.section-intro {\n  font-family: var(--font-heading);\n  font-style: italic;\n  font-size: 1.05rem;\n  color: var(--color-secondary);\n  max-width: 600px;\n  margin: 0.8rem auto 0;\n  line-height: 1.65;\n}\n.products-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n  gap: 1.5rem;\n  margin-top: 3.5rem;\n}\n.product-card {\n  background: var(--color-background);\n  border: 1px solid var(--border-warm);\n  transition: box-shadow 0.25s, transform 0.25s;\n}\n.product-card:hover {\n  box-shadow: 0 8px 32px rgba(139,111,71,0.12);\n  transform: translateY(-3px);\n}\n.product-card-inner { padding: 1.8rem; }\n.product-name {\n  font-family: var(--font-heading);\n  font-size: 1.15rem;\n  font-weight: 600;\n  color: var(--color-primary);\n  margin-bottom: 0.75rem;\n  line-height: 1.3;\n}\n.product-desc {\n  font-size: 0.9rem;\n  color: var(--color-text);\n  line-height: 1.65;\n}\n\n/* CRAFT STRIP */\n.craft-strip {\n  background: var(--color-secondary);\n  padding: 4.5rem 0;\n}\n.craft-strip-inner {\n  display: flex;\n  align-items: center;\n  gap: 2rem;\n  justify-content: center;\n  flex-wrap: wrap;\n}\n.craft-item {\n  flex: 1;\n  min-width: 200px;\n  max-width: 280px;\n  text-align: center;\n}\n.craft-num {\n  display: block;\n  font-family: var(--font-heading);\n  font-size: 2.2rem;\n  font-weight: 400;\n  color: var(--color-accent);\n  margin-bottom: 0.8rem;\n  line-height: 1;\n}\n.craft-item p {\n  font-size: 0.9rem;\n  color: rgba(255,255,255,0.9);\n  line-height: 1.6;\n}\n.craft-divider {\n  width: 1px;\n  height: 80px;\n  background: rgba(255,255,255,0.25);\n  flex-shrink: 0;\n}\n\n/* CONTATTI */\n.contacts-section {\n  padding: 7rem 0;\n  background: var(--color-background);\n}\n.contacts-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\n  gap: 2.5rem;\n  margin-top: 3rem;\n}\n.contact-block-title {\n  font-size: 0.72rem;\n  font-weight: 600;\n  letter-spacing: 0.2em;\n  text-transform: uppercase;\n  color: var(--color-secondary);\n  margin-bottom: 0.8rem;\n  padding-bottom: 0.5rem;\n  border-bottom: 2px solid var(--color-accent);\n  display: inline-block;\n}\n.contact-detail {\n  font-size: 0.95rem;\n  color: var(--color-text);\n  line-height: 1.65;\n  margin-bottom: 0.4rem;\n}\n.contact-detail a {\n  color: var(--color-primary);\n  text-decoration: underline;\n  text-decoration-color: rgba(192,57,43,0.3);\n  transition: text-decoration-color 0.2s;\n}\n.contact-detail a:hover {\n  text-decoration-color: var(--color-primary);\n}\n.contact-meta {\n  font-size: 0.82rem;\n  color: var(--color-secondary);\n}\n.contact-meta span {\n  font-weight: 600;\n  letter-spacing: 0.05em;\n}\n\n/* FOOTER */\n.site-footer {\n  background: var(--color-text);\n  padding: 3.5rem 2rem 2rem;\n}\n.footer-inner {\n  max-width: 1140px;\n  margin: 0 auto;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 2rem;\n  text-align: center;\n}\n.footer-logo { height: 40px; width: auto; filter: brightness(0) invert(1) opacity(0.85); }\n.footer-logo-text {\n  font-family: var(--font-heading);\n  font-size: 1.3rem;\n  font-weight: 600;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  color: rgba(255,255,255,0.9);\n}\n.footer-tag {\n  font-family: var(--font-heading);\n  font-style: italic;\n  font-size: 0.9rem;\n  color: rgba(255,255,255,0.55);\n  margin-top: 0.4rem;\n}\n.footer-nav {\n  display: flex;\n  gap: 2rem;\n  flex-wrap: wrap;\n  justify-content: center;\n}\n.footer-nav a {\n  font-size: 0.75rem;\n  font-weight: 500;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n  color: rgba(255,255,255,0.6);\n  transition: color 0.2s;\n}\n.footer-nav a:hover { color: rgba(255,255,255,0.95); }\n.footer-legal {\n  border-top: 1px solid rgba(255,255,255,0.1);\n  padding-top: 1.5rem;\n  width: 100%;\n  text-align: center;\n}\n.footer-legal p {\n  font-size: 0.75rem;\n  color: rgba(255,255,255,0.35);\n  line-height: 1.8;\n  letter-spacing: 0.04em;\n}\n\n/* RESPONSIVE */\n@media (max-width: 900px) {\n  .story-grid { grid-template-columns: 1fr; gap: 2.5rem; }\n  .craft-divider { display: none; }\n  .craft-strip-inner { flex-direction: column; }\n  .craft-item { max-width: 100%; }\n}\n@media (max-width: 680px) {\n  .header-inner { flex-wrap: wrap; gap: 0.8rem; }\n  .main-nav { gap: 1.2rem; }\n  .header-cta { display: none; }\n  .banner-section { max-height: 260px; }\n  .banner-img { height: 260px; }\n  .hero-actions { flex-direction: column; align-items: center; }\n}\n</style>",
  "content_schema": [
    {
      "key": "hero_eyebrow",
      "type": "text",
      "max_chars": 60,
      "description": "Breve etichetta sopra il titolo hero — evoca artigianalità e territorio. Esempio: 'Artigiani del gusto dal cuore d'Abruzzo'.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "hero_tagline",
      "type": "text",
      "max_chars": 160,
      "description": "Frase atmosferica e poetica nell'hero, in corsivo. Deve evocare tradizione, materie prime e genuinità senza citare fatti specifici.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "banner_caption",
      "type": "text",
      "max_chars": 120,
      "description": "Didascalia poetica sopra l'immagine banner della collezione prodotti. Evoca l'artigianalità e il gusto.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "story_intro",
      "type": "text",
      "max_chars": 160,
      "description": "Frase di apertura della sezione storia, in corsivo. Calda, narrativa, atmosferica.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "story_paragraph",
      "type": "richtext",
      "max_chars": 500,
      "description": "Paragrafo narrativo sulla storia e filosofia dell'azienda. Atmosferico, caldo, senza citare fatti verificabili specifici come anni di fondazione.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "value_craft",
      "type": "text",
      "max_chars": 120,
      "description": "Breve testo per la card valore 'Artigianalità' — evoca la lavorazione a mano e l'imperfezione come segno di qualità.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "value_ingredients",
      "type": "text",
      "max_chars": 120,
      "description": "Breve testo per la card valore 'Ingredienti' — evoca la ricerca delle materie prime migliori in Italia.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "value_tradition",
      "type": "text",
      "max_chars": 120,
      "description": "Breve testo per la card valore 'Tradizione' — evoca il legame con le ricette tradizionali abruzzesi.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "products_intro",
      "type": "text",
      "max_chars": 180,
      "description": "Frase introduttiva atmosferica nella sezione prodotti. Non elenca i prodotti, evoca il piacere e la varietà.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "craft_step_1",
      "type": "text",
      "max_chars": 100,
      "description": "Prima voce della strip artigianalità — breve frase evocativa sulla selezione delle materie prime.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "craft_step_2",
      "type": "text",
      "max_chars": 100,
      "description": "Seconda voce della strip artigianalità — breve frase sulla lavorazione a mano.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "craft_step_3",
      "type": "text",
      "max_chars": 100,
      "description": "Terza voce della strip artigianalità — breve frase sulla genuinità del prodotto finito.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    },
    {
      "key": "footer_tag",
      "type": "text",
      "max_chars": 80,
      "description": "Tagline poetica nel footer, in corsivo. Evoca la tradizione e l'artigianalità del forno.",
      "array_source": null,
      "is_array_item": false,
      "array_key": null,
      "field_name": null
    }
  ],
  "data_bindings": [
    "business_name",
    "tagline",
    "description",
    "contacts.address",
    "contacts.phone",
    "contacts.fax",
    "contacts.email",
    "contacts.email_secondary",
    "contacts.pec",
    "contacts.vat",
    "contacts.rea",
    "products_or_services[]",
    "images.logo",
    "images.banner",
    "visual_identity.color_palette.primary",
    "visual_identity.color_palette.secondary",
    "visual_identity.color_palette.accent",
    "visual_identity.color_palette.background",
    "visual_identity.color_palette.text"
  ],
  "ui_translations": {
    "nav_aria_label": "Navigazione principale",
    "nav_story": "La nostra storia",
    "nav_products": "Prodotti",
    "nav_contacts": "Contatti",
    "cta_discover": "Scopri i nostri prodotti",
    "cta_story": "La nostra storia",
    "cta_contact": "Contattaci",
    "section_eyebrow_story": "Chi siamo",
    "section_title_story": "Una tradizione artigianale",
    "section_eyebrow_products": "Le nostre specialità",
    "section_title_products": "I Nostri Prodotti",
    "section_eyebrow_contacts": "Dove siamo",
    "section_title_contacts": "Contatti",
    "value_title_craft": "Fatto a mano",
    "value_title_ingredients": "Ingredienti selezionati",
    "value_title_tradition": "Tradizione abruzzese",
    "contact_where": "Sede",
    "contact_phone_label": "Telefono",
    "contact_fax_label": "Fax",
    "contact_email_label": "Email",
    "contact_pec_label": "PEC",
    "contact_legal_label": "Dati legali",
    "contact_vat_label": "P.IVA",
    "contact_rea_label": "REA",
    "logo_sub": "Prodotto tipico italiano interamente fatto a mano",
    "footer_legal": "P.IVA",
    "footer_credits": "Prodotti artigianali italiani di alta qualità"
  }
}