{"id":327,"date":"2026-05-25T12:22:21","date_gmt":"2026-05-25T12:22:21","guid":{"rendered":"https:\/\/www.cottini1925.cybeartest.it\/home\/"},"modified":"2026-08-27T14:23:22","modified_gmt":"2026-08-27T14:23:22","slug":"home","status":"publish","type":"page","link":"https:\/\/www.cottini1925.cybeartest.it\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\n<style id=\"cot-hello-reset\">\nbody.elementor-template-canvas { padding:0 !important; margin:0 !important; }\nheader.site-header { max-width:none !important; width:100% !important; }\nfooter.site-footer { max-width:none !important; width:100% !important; }\nmain { max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important; }\nhtml, body { margin:0 !important; padding:0 !important; }\nhtml { margin-top:0 !important; }\n\n\/* Button hover overrides (Claude design fidelity) *\/\n.btn-trade, a.btn-trade {\n  font-family:'Epilogue','Helvetica Neue',Arial,sans-serif !important;\n  font-size:11px !important; letter-spacing:.28em !important; text-transform:uppercase !important;\n  background:#BF863C !important; color:#F1E6DD !important;\n  padding:11px 22px !important; border:1px solid #BF863C !important; border-radius:999px !important;\n  transition: background .85s cubic-bezier(.22,1,.36,1), border-color .85s cubic-bezier(.22,1,.36,1), color .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1), box-shadow .85s cubic-bezier(.22,1,.36,1) !important;\n  text-decoration: none !important;\n  display: inline-block !important;\n}\n.btn-trade:hover, a.btn-trade:hover {\n  background:#A06E32 !important; border-color:#A06E32 !important;\n  color:#F1E6DD !important;\n  transform: translateY(-1px) !important;\n  box-shadow: 0 8px 18px -8px rgba(67,44,32,.4) !important;\n  text-decoration: none !important;\n}\n\n.btn-pill, a.btn-pill {\n  display:inline-flex !important; align-items:center !important; gap:14px !important;\n  font-family:'Epilogue','Helvetica Neue',Arial,sans-serif !important;\n  font-size:11.5px !important; letter-spacing:.3em !important; text-transform:uppercase !important;\n  background:#BF863C !important; color:#F1E6DD !important;\n  padding:14px 30px !important; border:none !important; border-radius:999px !important;\n  transition: background 1s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.22,1,.36,1), box-shadow 1s cubic-bezier(.22,1,.36,1) !important;\n  text-decoration: none !important;\n}\n.btn-pill:hover, a.btn-pill:hover {\n  background:#A06E32 !important;\n  color:#F1E6DD !important;\n  transform: translateY(-1px) !important;\n  box-shadow: 0 10px 22px -10px rgba(67,44,32,.45) !important;\n  text-decoration: none !important;\n}\n.btn-pill svg, a.btn-pill svg {\n  transition: transform 1.4s cubic-bezier(.6,.04,.2,1) !important;\n}\n.btn-pill:hover svg, a.btn-pill:hover svg {\n  transform: translateX(10px) !important;\n}\n\n\/* Disable any Hello Elementor button styling that interferes *\/\na.btn-trade:focus, a.btn-pill:focus {\n  outline: 2px solid #BF863C !important;\n  outline-offset: 3px !important;\n}\n\n.hero-h1 .w { margin-right: .28em !important; }\n.hero-h1 .w:last-child { margin-right: 0 !important; }\nh1.hero-h1 { max-width: 20ch !important; }\n<\/style>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400;1,8..60,500&#038;family=Epilogue:wght@400;500;600&#038;display=swap\" rel=\"stylesheet\">\n<style>\n\/* ---------------- TOKENS ---------------- *\/\n:root{\n  --cream:#F1E6DD;\n  --cream-2:#FAF4EC;\n  --cream-3:#E9DCCF;\n  --gold:#BF863C;\n  --gold-dark:#A06E32;\n  --gold-light:#D9A862;\n  --logo-gold:#654916;\n  --brand:#654916;\n  --bordeaux:#521419;\n  --brown:#432C20;\n  --brown-deep:#2E1E15;\n  --ink:#1A1209;\n  --ink-2:#3A2A1F;\n\n  --serif:\"Source Serif 4\",\"Minion Pro\",\"EB Garamond\",Georgia,serif;\n  --sans:\"Epilogue\",\"Helvetica Neue\",Arial,sans-serif;\n\n  --ease:cubic-bezier(.165,.84,.44,1);\n  --ease-soft:cubic-bezier(.22,1,.36,1); \/* expo-out: more languid for hovers *\/\n  --ease-graceful:cubic-bezier(.6,.04,.2,1); \/* soft S-curve, slow start + soft landing *\/\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:auto;scroll-padding-top:90px} \/* JS handles smooth scroll *\/\nhtml,body{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}\nbody{overflow-x:hidden}\nimg{max-width:100%;display:block}\na{color:inherit;text-decoration:none}\nbutton{font:inherit;cursor:pointer}\n\n\/* selection *\/\n::selection{background:var(--gold);color:var(--cream)}\n\n\/* ---------------- BRAND LOGO (real artwork via CSS mask) ---------------- *\/\n.brand-logo{\n  display:block;flex:none;\n  background-color:var(--brand);\n  -webkit-mask-image:url(\"https:\/\/www.cottini1925.cybeartest.it\/wp-content\/uploads\/2026\/05\/logo-cottini.svg\");\n          mask-image:url(\"https:\/\/www.cottini1925.cybeartest.it\/wp-content\/uploads\/2026\/05\/logo-cottini.svg\");\n  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;\n  -webkit-mask-position:center;mask-position:center;\n  -webkit-mask-size:contain;mask-size:contain;\n  transition:background-color .9s var(--ease-soft);\n}\n.brand-logo--mark{\n  -webkit-mask-image:url(\"https:\/\/www.cottini1925.cybeartest.it\/wp-content\/uploads\/2026\/05\/logo-cottini-mark.svg\");\n          mask-image:url(\"https:\/\/www.cottini1925.cybeartest.it\/wp-content\/uploads\/2026\/05\/logo-cottini-mark.svg\");\n}\n.brand-logo--light{background-color:var(--cream)}\n.brand-logo--gold{background-color:var(--gold)}\n.brand-logo--brand{background-color:var(--brand)}\n\n\/* sizes \u2014 preserve 190:155 aspect of the full logo *\/\n.brand-logo--xs{width:30px;height:30px}                 \/* mark *\/\n.brand-logo--sm{width:34px;height:34px}                 \/* mark in scroll disc *\/\n.brand-logo--md{width:69px;height:56px}                 \/* header full *\/\n.brand-logo--md.brand-logo--mark{width:42px;height:42px}\n.brand-logo--lg{width:122px;height:100px}               \/* footer full *\/\n\n\/* ---------------- LOGO (placeholder wordmark) ---------------- *\/\n.logo{display:inline-flex;align-items:center;gap:14px;color:var(--logo-gold)}\n.logo .quad{width:34px;height:34px;color:currentColor;flex:none}\n.logo .wm{font-family:var(--serif);font-style:italic;font-weight:500;line-height:1;letter-spacing:.02em}\n.logo .wm-top{font-size:22px;display:block}\n.logo .wm-bot{font-family:var(--sans);font-style:normal;font-weight:500;font-size:10px;letter-spacing:.42em;display:block;margin-top:4px;color:inherit}\n.logo--light{color:var(--cream)}\n.logo--footer{color:var(--cream)}\n.logo--footer .quad{width:42px;height:42px}\n.logo--footer .wm-top{font-size:26px}\n\n\/* ---------------- HEADER ---------------- *\/\n.site-header{\n  position:fixed;inset:0 0 auto 0;z-index:50;\n  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;\n  padding:18px 40px;\n  transition:background .6s var(--ease-soft), backdrop-filter .6s var(--ease-soft), border-color .6s var(--ease-soft), padding .6s var(--ease-soft);\n  border-bottom:1px solid transparent;\n}\n.site-header.scrolled{\n  background:rgba(241,230,221,.82);\n  backdrop-filter:blur(14px);\n  -webkit-backdrop-filter:blur(14px);\n  border-bottom-color:rgba(140,119,81,.18);\n  padding:12px 40px;\n}\n.site-header .logo--light{transition:opacity .3s var(--ease);}\n.site-header.scrolled .logo--light{opacity:0;pointer-events:none;position:absolute;left:40px;top:14px}\n.site-header .logo--dark{opacity:0;pointer-events:none;position:absolute;left:40px;top:14px;transition:opacity .3s var(--ease)}\n.site-header.scrolled .logo--dark{opacity:1;pointer-events:auto;position:static}\n\n.site-nav{justify-self:center;display:flex;gap:32px}\n.site-nav a{\n  font-family:var(--serif);font-size:15.5px;color:var(--cream);\n  position:relative;padding:6px 2px;letter-spacing:.005em;\n  transition:color .75s var(--ease-soft);\n}\n.site-nav a::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .85s var(--ease-soft);opacity:.6}\n.site-nav a:hover::after{transform:scaleX(1)}\n.site-header.scrolled .site-nav a{color:var(--ink)}\n\n.header-right{justify-self:end;display:flex;align-items:center;gap:22px}\n.lang{font-family:var(--sans);font-size:11px;letter-spacing:.32em;color:var(--cream);display:flex;gap:8px;align-items:center;transition:color .3s var(--ease)}\n.lang .sep{opacity:.45}\n.lang .active{font-weight:600;border-bottom:1px solid currentColor;padding-bottom:2px}\n.site-header.scrolled .lang{color:var(--ink)}\n\n.btn-trade{\n  font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;\n  background:var(--gold);color:var(--cream);\n  padding:11px 22px;border:1px solid var(--gold);border-radius:999px;\n  transition:background .85s var(--ease-soft), border-color .85s var(--ease-soft), color .85s var(--ease-soft), transform .85s var(--ease-soft), box-shadow .85s var(--ease-soft);\n}\n.btn-trade:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(67,44,32,.4)}\n\n\/* ---------------- HERO ---------------- *\/\n.hero{\n  position:relative;min-height:100vh;background:var(--cream);\n  overflow:visible;\n}\n.hero-photo{position:absolute;inset:0;overflow:hidden;z-index:1}\n.hero-photo img{width:100%;height:120%;object-fit:cover;transform:translate3d(0,0,0) scale(1.08);will-change:transform}\n\/* veil top-left for legibility + dedicated top veil so the header always reads *\/\n.hero-photo::before{\n  content:\"\";position:absolute;inset:0;\n  background:\n    linear-gradient(180deg, rgba(20,12,7,.58) 0%, rgba(20,12,7,.34) 16%, rgba(20,12,7,0) 34%),\n    linear-gradient(135deg, rgba(20,12,7,.62) 0%, rgba(20,12,7,.28) 38%, rgba(20,12,7,0) 64%);\n  z-index:2;\n}\n\/* cream crescent bottom *\/\n.hero-photo::after{\n  content:\"\";position:absolute;\n  left:-32%;right:-32%;bottom:-72%;\n  height:94%;width:164%;\n  background:var(--cream);\n  border-radius:50%;\n  filter:drop-shadow(0 -22px 36px rgba(46,30,21,.75)) drop-shadow(0 -6px 12px rgba(46,30,21,.4));\n  z-index:3;\n}\n\n.hero-text{\n  position:absolute;top:172px;left:5vw;right:5vw;max-width:880px;z-index:4;color:var(--cream);\n}\n.eyebrow{\n  font-family:var(--sans);font-size:11px;letter-spacing:.42em;text-transform:uppercase;\n  color:var(--gold-light);display:inline-flex;align-items:center;gap:14px;\n}\n.rule{display:inline-block;width:48px;height:1px;background:var(--gold-light);vertical-align:middle}\n.rule-h{display:block;width:48px;height:1px;background:var(--gold);margin-bottom:18px}\n\nh1.hero-h1{\n  font-family:var(--serif);font-style:italic;font-weight:500;\n  font-size:clamp(40px,4.6vw,72px);line-height:1.06;letter-spacing:-.008em;\n  text-wrap:balance;color:var(--cream);\n  margin:18px 0 22px;max-width:14ch;\n}\nh1.hero-h1 .w{display:inline-block;opacity:0;transform:translateY(28px);animation:rise 1.1s var(--ease) forwards}\n@keyframes rise{to{opacity:1;transform:translateY(0)}}\n\n.hero-sub{\n  font-family:var(--serif);font-size:18px;line-height:1.55;max-width:46ch;\n  color:rgba(241,230,221,.86);font-weight:400;margin:0 0 32px;\n}\n.hero-cta{\n  position:relative;\n  display:inline-flex;align-items:center;gap:14px;\n  font-family:var(--sans);font-size:12px;letter-spacing:.32em;text-transform:uppercase;\n  color:var(--cream);padding:14px 0;\n  transition:color 1s var(--ease-soft);\n}\n.hero-cta::after{\n  content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;\n  background:var(--gold-light);transform-origin:left center;transform:scaleX(1);\n  transition:transform 1.4s var(--ease-graceful), background-color 1s var(--ease-soft);\n}\n.hero-cta:hover{color:var(--gold-light)}\n.hero-cta:hover::after{transform:scaleX(1.14)}\n.hero-cta svg{transition:transform 1.4s var(--ease-graceful)}\n.hero-cta:hover svg{transform:translateX(14px)}\n\n\/* ---------------- SCORRI DISC ---------------- *\/\n.scroll-disc{\n  position:absolute;left:50%;bottom:calc(22% - 60px);transform:translateX(-50%);\n  width:120px;height:120px;border-radius:50%;background:var(--cream);\n  z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;\n  box-shadow:\n    0 28px 50px -14px rgba(67,44,32,.45),\n    0 6px 14px rgba(67,44,32,.18),\n    inset 0 0 0 1px rgba(140,119,81,.45);\n  color:var(--logo-gold);\n  transition:transform .85s var(--ease-soft), box-shadow .85s var(--ease-soft);\n  cursor:pointer;\n}\n.scroll-disc:hover{transform:translate(-50%,3px);box-shadow:0 18px 32px -12px rgba(67,44,32,.4),0 4px 10px rgba(67,44,32,.16),inset 0 0 0 1px rgba(140,119,81,.45)}\n.scroll-disc .quad{width:36px;height:36px;animation:bounce 2.4s var(--ease) infinite}\n.scroll-disc .label{font-family:var(--sans);font-size:12px;letter-spacing:.38em;color:var(--brand);font-weight:500;padding-left:.38em}\n.scroll-disc-mark{animation:bounce 2.4s var(--ease) infinite}\n@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}\n\n\/* ---------------- SECTION: VALORI ---------------- *\/\n.valori{padding:0 56px 30px;background:var(--cream);position:relative}\n.valori-inner{display:grid;grid-template-columns:38% 1fr;gap:80px;align-items:start;max-width:1320px;margin:0 auto;padding-top:40px}\n.valori-text h2{\n  font-family:var(--serif);font-style:italic;font-weight:500;\n  font-size:clamp(34px,3.2vw,52px);line-height:1.08;letter-spacing:-.008em;\n  color:var(--ink);margin:18px 0 22px;text-wrap:balance;max-width:14ch;\n}\n.valori-text p{font-size:17px;line-height:1.7;color:var(--ink-2);max-width:38ch;margin:0 0 28px}\n.valori-text .link-cta{\n  position:relative;\n  font-family:var(--sans);font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;\n  color:var(--gold-dark);padding-bottom:6px;\n  display:inline-flex;align-items:center;gap:10px;\n  transition:color 1s var(--ease-soft)\n}\n.valori-text .link-cta::after{\n  content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;\n  background:currentColor;transform-origin:left center;transform:scaleX(1);\n  transition:transform 1.4s var(--ease-graceful);\n}\n.valori-text .link-cta:hover{color:var(--gold)}\n.valori-text .link-cta:hover::after{transform:scaleX(1.18)}\n.valori-text .link-cta svg{transition:transform 1.4s var(--ease-graceful)}\n.valori-text .link-cta:hover svg{transform:translateX(14px)}\n\n.cards{display:grid;grid-template-columns:1fr 1fr;gap:48px 56px}\n.card{display:flex;flex-direction:column;align-items:flex-start;gap:18px}\n.card-icon{\n  position:relative;width:86px;height:86px;display:grid;place-items:center;\n  border-radius:50%;\n  transition:transform .9s var(--ease-soft);\n}\n.card-icon::before{\n  content:\"\";position:absolute;inset:0;border-radius:50%;\n  border:1px solid rgba(140,119,81,.4);\n  transition:transform .9s var(--ease-soft), border-color .9s var(--ease-soft);\n}\n.card-icon .ring{\n  position:absolute;inset:7px;border-radius:50%;\n  border:1px solid var(--gold);\n  display:grid;place-items:center;\n  background:var(--cream-2);\n  transition:transform .9s var(--ease-soft), background-color .9s var(--ease-soft);\n}\n.card-icon svg{width:32px;height:32px;color:var(--gold);transition:transform .9s var(--ease-soft)}\n.card:hover .card-icon::before{transform:scale(1.08)}\n.card:hover .card-icon .ring{transform:scale(1.04)}\n.card h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;letter-spacing:-.005em;margin:0;color:var(--ink)}\n.card p{font-family:var(--serif);font-style:italic;font-weight:400;font-size:15.5px;line-height:1.55;color:var(--ink-2);margin:0;max-width:28ch}\n\n.valori-divider{\n  display:flex;align-items:center;justify-content:center;gap:18px;\n  margin:32px auto 0;max-width:520px;color:var(--gold);\n}\n.valori-divider .line{flex:1;height:1px;background:currentColor;opacity:.45}\n.valori-divider .quad{width:22px;height:22px}\n\n\/* ---------------- SECTION: NUMERI ---------------- *\/\n.numeri{\n  position:relative;padding:160px 56px 180px;\n  background:var(--brown-deep);color:var(--cream);overflow:hidden;\n}\n.numeri .bg{position:absolute;inset:0;overflow:hidden;z-index:0}\n.numeri .bg img{width:100%;height:120%;object-fit:cover;opacity:.55;will-change:transform}\n.numeri .veil{\n  position:absolute;inset:0;z-index:1;\n  background:linear-gradient(180deg, rgba(46,30,21,.55) 0%, rgba(46,30,21,.78) 50%, rgba(46,30,21,.55) 100%);\n}\n.numeri::before, .numeri::after{\n  content:\"\";position:absolute;left:-32%;right:-32%;width:164%;\n  background:var(--cream);border-radius:50%;\n  z-index:3;height:60%;\n  filter:drop-shadow(0 -22px 36px rgba(46,30,21,.6)) drop-shadow(0 -6px 12px rgba(46,30,21,.35));\n}\n.numeri::before{top:-46%}\n.numeri::after{bottom:-46%;filter:drop-shadow(0 22px 36px rgba(46,30,21,.6)) drop-shadow(0 6px 12px rgba(46,30,21,.35))}\n\n.numeri-inner{position:relative;z-index:4;max-width:1180px;margin:0 auto;text-align:center}\n.numeri .eyebrow{color:var(--gold-light)}\n.numeri h2{\n  font-family:var(--serif);font-style:italic;font-weight:500;\n  font-size:clamp(34px,3.4vw,54px);line-height:1.1;letter-spacing:-.008em;\n  margin:20px auto 12px;max-width:18ch;text-wrap:balance;color:var(--cream);\n}\n.numeri .lede{font-size:17px;line-height:1.65;max-width:54ch;margin:0 auto 80px;color:rgba(241,230,221,.78)}\n.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:48px}\n.stat{display:flex;flex-direction:column;align-items:center;gap:14px}\n.stat .num{\n  font-family:var(--serif);font-style:italic;font-weight:500;\n  font-size:clamp(48px,5.4vw,88px);line-height:1;letter-spacing:-.012em;\n  color:var(--cream);\n}\n.stat .div{width:32px;height:1px;background:var(--gold-light)}\n.stat .lab{font-family:var(--serif);font-style:italic;font-weight:400;font-size:14.5px;letter-spacing:.02em;color:rgba(241,230,221,.78);max-width:14ch;text-align:center;line-height:1.4}\n\n\/* ---------------- SECTION: CTA FINALE ---------------- *\/\n.cta-final{padding:60px 56px 0;background:var(--cream);position:relative;text-align:center}\n.cta-final .rule-h{margin:18px auto 28px}\n.cta-final h2{\n  font-family:var(--serif);font-style:italic;font-weight:500;\n  font-size:clamp(34px,3.4vw,56px);line-height:1.08;letter-spacing:-.008em;\n  color:var(--ink);margin:0 auto 22px;max-width:18ch;text-wrap:balance;\n}\n.cta-final p{font-size:17px;line-height:1.65;max-width:56ch;margin:0 auto 36px;color:var(--ink-2)}\n.btn-pill{\n  display:inline-flex;align-items:center;gap:14px;\n  font-family:var(--sans);font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;\n  background:var(--gold);color:var(--cream);padding:14px 30px;border:none;border-radius:999px;\n  transition:background 1s var(--ease-soft), transform 1s var(--ease-soft), box-shadow 1s var(--ease-soft);\n}\n.btn-pill:hover{background:var(--gold-dark);transform:translateY(-1px);box-shadow:0 10px 22px -10px rgba(67,44,32,.45)}\n.btn-pill svg{transition:transform 1.4s var(--ease-graceful)}\n.btn-pill:hover svg{transform:translateX(10px)}\n\n.family-crescent{\n  position:relative;width:min(960px,92vw);aspect-ratio:2\/1;margin:80px auto -1px;\n  background:var(--gold);\n  clip-path:ellipse(50% 100% at 50% 100%);\n  filter:drop-shadow(0 -8px 26px rgba(46,30,21,.4)) drop-shadow(0 -2px 8px rgba(46,30,21,.25));\n}\n.family-crescent::before{\n  content:\"\";position:absolute;inset:5px;background:var(--cream);\n  clip-path:ellipse(50% 100% at 50% 100%);\n}\n.family-crescent img{\n  position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 18px);object-fit:cover;\n  clip-path:ellipse(50% 100% at 50% 100%);\n}\n\n\/* ---------------- FOOTER ---------------- *\/\n.site-footer{background:var(--brown);color:var(--cream);padding:80px 56px 0;position:relative;z-index:2}\n.foot-grid{\n  display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:56px;\n  max-width:1320px;margin:0 auto;padding-bottom:60px;\n  border-bottom:1px solid rgba(217,168,98,.22);\n}\n.foot-grid h4{\n  font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;\n  color:var(--gold-light);font-weight:500;margin:0 0 22px;\n}\n.foot-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}\n.foot-grid li a, .foot-grid p, .foot-grid address{font-family:var(--serif);font-size:16px;color:var(--cream);line-height:1.55;font-style:normal}\n.foot-grid li a{position:relative;display:inline-block}\n.foot-grid li a{transition:color .75s var(--ease-soft)}\n.foot-grid li a:hover{color:var(--gold-light)}\n.foot-grid li a::after{content:\"\";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--gold-light);transition:width .85s var(--ease-soft)}\n.foot-grid li a:hover::after{width:100%}\n.foot-grid address{font-style:normal}\n.foot-grid .col-logo{display:flex;flex-direction:column;gap:20px}\n.foot-grid .col-logo p{font-style:italic;color:rgba(241,230,221,.75);font-size:15px;max-width:30ch;margin:0}\n\n.foot-bottom{\n  max-width:1320px;margin:0 auto;padding:24px 0 28px;\n  display:flex;justify-content:space-between;align-items:center;gap:24px;\n  font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(241,230,221,.55);\n}\n.foot-bottom a{transition:color .75s var(--ease-soft)}\n.foot-bottom a:hover{color:var(--gold-light)}\n.foot-bottom .links{display:flex;gap:24px}\n\n\/* ---------------- SCROLL PROGRESS ---------------- *\/\n.scroll-prog{\n  position:fixed;left:0;top:0;bottom:0;width:3px;z-index:90;pointer-events:none;\n  background:rgba(140,119,81,.08);\n}\n.scroll-prog::before{\n  content:\"\";position:absolute;left:0;top:0;width:100%;height:var(--p, 0%);\n  background:linear-gradient(180deg, var(--gold-light), var(--gold));\n  transition:height .2s linear;\n}\n\n\/* ---------------- HERO SCROLL TRANSFORM ---------------- *\/\n.hero-text{will-change:transform,opacity}\n.hero-photo img{will-change:transform}\n\n\/* ---------------- CARD HORIZONTAL ENTRY ---------------- *\/\n[data-card]{will-change:transform,opacity}\n\n\/* ---------------- GRAIN ---------------- *\/\n.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.07;mix-blend-mode:multiply;\n  background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'\/><feColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.08 0 0 0 0 0.05 0 0 0 1 0'\/><\/filter><rect width='100%' height='100%' filter='url(%23n)'\/><\/svg>\");\n}\n\n\/* ---------------- REVEALS ---------------- *\/\n.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease), transform 1.2s var(--ease)}\n.reveal.in{opacity:1;transform:translateY(0)}\n.anim-fade{opacity:0;transition:opacity 1.2s var(--ease)}\n.anim-fade.in{opacity:1}\n.anim-zoom{opacity:0;transform:scale(1.08);transition:opacity 1.2s var(--ease), transform 1.4s var(--ease)}\n.anim-zoom.in{opacity:1;transform:scale(1)}\n\n\/* focus *\/\na:focus-visible, button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}\n\n\/* ---------------- RESPONSIVE ---------------- *\/\n@media (max-width:1180px){\n  .valori-inner{grid-template-columns:1fr;gap:48px}\n  .valori-text p, .valori-text h2{max-width:none}\n  .cards{gap:40px 40px}\n}\n@media (max-width:960px){\n  .site-nav{display:none}\n  .site-header{grid-template-columns:1fr auto;padding:14px 24px}\n  .site-header.scrolled{padding:10px 24px}\n  .hero{min-height:88vh}\n  .hero-text{top:130px;left:24px;right:24px}\n  .scroll-disc{width:96px;height:96px}\n  .scroll-disc .quad{width:30px;height:30px}\n  .scroll-disc .label{font-size:10.5px}\n  .valori,.numeri,.cta-final,.site-footer{padding-left:24px;padding-right:24px}\n  .stats{grid-template-columns:1fr 1fr;gap:48px 32px}\n  .foot-grid{grid-template-columns:1fr;gap:40px}\n}\n@media (max-width:560px){\n  .cards{grid-template-columns:1fr;gap:32px}\n  .hero-photo::after{height:84%;bottom:-66%}\n  .numeri{padding:120px 24px 140px}\n  .numeri::before, .numeri::after{height:50%}\n}\n\n@media (prefers-reduced-motion:reduce){\n  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}\n  h1.hero-h1 .w{opacity:1;transform:none}\n}\n<\/style>\n\n\n<!-- Quadrifoglio sprite (4-petal knot, stylized) -->\n<svg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\">\n  <symbol id=\"quad\" viewBox=\"0 0 100 100\" fill=\"currentColor\" fill-rule=\"evenodd\">\n    <!-- four teardrop petals meeting at center, with center void -->\n    <path d=\"M50 6 C 62 6 70 18 70 32 C 70 42 62 46 50 50 C 38 46 30 42 30 32 C 30 18 38 6 50 6 Z\"\/>\n    <path d=\"M94 50 C 94 62 82 70 68 70 C 58 70 54 62 50 50 C 54 38 58 30 68 30 C 82 30 94 38 94 50 Z\"\/>\n    <path d=\"M50 94 C 38 94 30 82 30 68 C 30 58 38 54 50 50 C 62 54 70 58 70 68 C 70 82 62 94 50 94 Z\"\/>\n    <path d=\"M6 50 C 6 38 18 30 32 30 C 42 30 46 38 50 50 C 46 62 42 70 32 70 C 18 70 6 62 6 50 Z\"\/>\n    <circle cx=\"50\" cy=\"50\" r=\"4\" fill=\"var(--cream,#F1E6DD)\"\/>\n  <\/symbol>\n  <symbol id=\"ic-quality\" viewBox=\"0 0 70.87 70.87\"><g> <path class=\"ci-disc\" d=\"M70.87,35.43c0,19.57-15.86,35.43-35.43,35.43S0,55,0,35.43,15.86,0,35.43,0s35.43,15.86,35.43,35.43\"\/> <path class=\"ci-line\" d=\"M29.73,37.33c0,2.63-2.13,4.76-4.76,4.76s-4.76-2.13-4.76-4.76,2.13-4.76,4.76-4.76,4.76,2.13,4.76,4.76ZM34.49,32.57c-2.63,0-4.76,2.13-4.76,4.76s2.13,4.76,4.76,4.76,4.76-2.13,4.76-4.76-2.13-4.76-4.76-4.76ZM44.01,32.57c-2.63,0-4.76,2.13-4.76,4.76s2.13,4.76,4.76,4.76,4.76-2.13,4.76-4.76-2.13-4.76-4.76-4.76ZM29.72,40.87c-2.63,0-4.76,2.13-4.76,4.76s2.13,4.76,4.76,4.76,4.76-2.13,4.76-4.76-2.13-4.76-4.76-4.76ZM39.25,40.87c-2.63,0-4.76,2.13-4.76,4.76s2.13,4.76,4.76,4.76,4.76-2.13,4.76-4.76-2.13-4.76-4.76-4.76ZM29.72,24.29c-2.63,0-4.76,2.13-4.76,4.76s2.13,4.76,4.76,4.76,4.76-2.13,4.76-4.76-2.13-4.76-4.76-4.76ZM39.25,24.29c-2.63,0-4.76,2.13-4.76,4.76s2.13,4.76,4.76,4.76,4.76-2.13,4.76-4.76-2.13-4.76-4.76-4.76ZM34.49,49.3c-2.63,0-4.76,2.13-4.76,4.76s2.13,4.76,4.76,4.76,4.76-2.13,4.76-4.76-2.13-4.76-4.76-4.76ZM44.35,26.22c1.16-.57,2.31-1.52,3.34-3.02,0,0-1.79-1.5-3.99-1.39,0,0,4.94-1.78,4.15-8.45h0c-6.67-.8-8.61,3.98-8.61,3.98.11-2.21-1.39-3.99-1.39-3.99-7.09,4.88-1.97,12.37-1.97,12.37M34.49,27.81c0-8.98-6.46-11.5-6.46-11.5\"\/> <\/g><\/symbol>\n  <symbol id=\"ic-respect\" viewBox=\"0 0 70.87 70.87\"><g> <path class=\"ci-disc\" d=\"M70.87,35.43c0,19.57-15.86,35.43-35.43,35.43S0,55,0,35.43,15.86,0,35.43,0s35.43,15.86,35.43,35.43\"\/> <path class=\"ci-line\" d=\"M50.36,26.01c1.92,2.86,3.04,6.31,3.04,10.01,0,9.93-8.05,17.97-17.97,17.97s-17.97-8.05-17.97-17.97,8.05-17.97,17.97-17.97c1.65,0,3.26.22,4.78.64M45.58,50.72c-.96-4.79-5.19-8.39-10.25-8.39s-9.27,3.58-10.25,8.35M25.01,26.6c0,11.72,10.14,9.88,10.14,9.88,0-11.09-10.14-9.88-10.14-9.88ZM28.17,29.5l6.86,6.86M51.8,15.49c-17.1.55-13.94,15.26-13.94,15.26,16.18-.52,13.94-15.26,13.94-15.26ZM47.58,20.34l-9.68,10.32s-4.1,4.56-2.57,11.67\"\/> <\/g><\/symbol>\n  <symbol id=\"ic-tradition\" viewBox=\"0 0 70.87 70.87\"><g> <path class=\"ci-disc\" d=\"M70.87,35.43c0,19.57-15.86,35.43-35.43,35.43S0,55,0,35.43,15.86,0,35.43,0s35.43,15.86,35.43,35.43\"\/> <path class=\"ci-line\" d=\"M45.56,52.08h-20.26v-2.48h20.26v2.48ZM45.56,18.79h-20.26v2.48h20.26v-2.48ZM43.31,21.27v5.19c0,1.35-.88,2.68-2.17,3.97l-3.02,3.02c-1.26,1.26-1.29,2.28,0,3.56s2.44,2.66,3.47,3.74,1.71,1.71,1.71,4.69v4.15M27.56,49.6v-4.15c0-2.98.68-3.61,1.71-4.69s2.19-2.46,3.47-3.74,1.26-2.3,0-3.56l-3.02-3.02c-1.29-1.29-2.17-2.62-2.17-3.97v-5.19M41.91,49.6l-6.47-7.53-6.47,7.53M40.46,27.99h-5.03s-5.03,0-5.03,0l5.03,5.64,5.03-5.64ZM35.43,33.63v8.44\"\/> <\/g><\/symbol>\n  <symbol id=\"ic-people\" viewBox=\"0 0 70.87 70.87\"><g> <path class=\"ci-disc\" d=\"M70.87,35.43c0,19.57-15.86,35.43-35.43,35.43S0,55,0,35.43,15.86,0,35.43,0s35.43,15.86,35.43,35.43\"\/> <path class=\"ci-line\" d=\"M29.58,34.55c0,2.74-2.22,4.97-4.97,4.97s-4.97-2.22-4.97-4.97,2.22-4.97,4.97-4.97,4.97,2.22,4.97,4.97ZM33.89,49.77c0-4.93-4-8.93-8.93-8.93s-8.93,4-8.93,8.93M45.57,29.59c-2.74,0-4.97,2.22-4.97,4.97s2.22,4.97,4.97,4.97,4.97-2.22,4.97-4.97-2.22-4.97-4.97-4.97ZM54.84,49.77c0-4.93-4-8.93-8.93-8.93s-8.93,4-8.93,8.93M34.96,17.74c-2.74,0-4.97,2.22-4.97,4.97s2.22,4.97,4.97,4.97,4.97-2.22,4.97-4.97-2.22-4.97-4.97-4.97ZM41.62,31.61c-1.62-1.62-3.85-2.62-6.32-2.62s-4.91,1.1-6.54,2.85\"\/> <\/g><\/symbol>\n  <symbol id=\"arrow\" viewBox=\"0 0 24 12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n    <path d=\"M0 6 L22 6 M16 1 L22 6 L16 11\"\/>\n  <\/symbol>\n<\/svg>\n\n<!-- ============ HEADER ============ -->\n<header class=\"site-header\" role=\"banner\">\n  <a href=\"\/en\/\" class=\"logo logo--light\" aria-label=\"Cottini 1925 \u2014 Home\">\n    <span class=\"brand-logo brand-logo--md brand-logo--light\"><\/span>\n  <\/a>\n  <a href=\"\/en\/\" class=\"logo logo--dark\" aria-label=\"Cottini 1925 \u2014 Home\">\n    <span class=\"brand-logo brand-logo--md brand-logo--brand\"><\/span>\n  <\/a>\n\n  <nav class=\"site-nav\" aria-label=\"Main navigation\">\n    <a href=\"\/en\/\" aria-current=\"page\">Home<\/a>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/about-us\/\">About us<\/a>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/our-brands\/\">Our brands<\/a>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/sustainability\/\">Sustainability<\/a>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/trade-area\/\">Trade Area<\/a>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/press-area\/\">Press Area<\/a>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/contacts\/\">Contacts<\/a>\n  <\/nav>\n\n  <div class=\"header-right\">\n    <div class=\"lang\" aria-label=\"Language\">\n      <a href=\"\/\" data-it=\"\/\">IT<\/a><span class=\"sep\">\u00b7<\/span><a class=\"active\" href=\"\/en\/\">EN<\/a>\n    <\/div>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/trade-area\/\" class=\"btn-trade\">Trade Login<\/a>\n  <\/div>\n<\/header>\n\n<style id=\"cot-home-fix\">\n\/* Home fine-tuning (Cottini) *\/\n.cta-final{padding:52px 24px 60px}\n.cta-final .rule-h{margin:0 auto 18px}\n.cta-final h2{font-size:clamp(25px,2.4vw,36px);margin:0 auto 14px;max-width:42ch}\n.cta-final p{margin:0 auto 24px}\n.valori-text p{margin-bottom:0}\n<\/style>\n\n<style id=\"cot-icone-fix\">\n\/* Icone definitive fornite dal cliente (27\/08\/2026).\n   I file sono dischi oro pieni con tratto bianco: l icona SOSTITUISCE anello e cerchio\n   decorativo invece di starci dentro, altrimenti si otterrebbe un doppio cerchio.\n   Il fill usa var(--gold) del design system al posto del #bf873c del file: differenza\n   impercettibile, ma tiene la palette allineata al resto del sito. *\/\n.ci-disc{fill:var(--gold)}\n.ci-line{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:.6px}\n\/* Home - sezione Valori: il disco riempie il posto di .card-icon (86px). *\/\n.card-icon::before{display:none}\n.card-icon .ring{inset:0;border:none;background:none}\n.card-icon svg{width:86px;height:86px}\n<\/style>\n<style id=\"cot-lang-fix\">\n\/* Selettore di lingua reso funzionante (WPML, 27\/08\/2026): erano <span> inerti. *\/\n.lang a{color:inherit;text-decoration:none;transition:opacity .3s var(--ease)}\n.lang a:not(.active){opacity:.62}\n.lang a:hover{opacity:1}\n<\/style>\n<style id=\"cot-mobile-fix\">\n\/* ============================================================\n   SOLO MOBILE - 27\/08\/2026\n   Ogni regola di questo blocco vive dentro una media query:\n   sopra i 960px il rendering desktop resta identico a prima.\n   ============================================================ *\/\n\n\/* Gli elementi del menu mobile sono creati dal bootstrap JS.\n   Questa guardia garantisce che su desktop non compaiano mai. *\/\n@media (min-width:961px){\n  .cot-burger,.cot-mnav{display:none !important}\n}\n\n@media (max-width:960px){\n\n  \/* --- pulsante hamburger --- *\/\n  .cot-burger{\n    display:inline-flex;align-items:center;justify-content:center;\n    width:44px;height:44px;flex:0 0 44px;margin:0 -10px 0 -2px;\n    background:none;border:0;padding:0;color:inherit;cursor:pointer;\n    -webkit-tap-highlight-color:transparent;\n  }\n  .cot-burger i{display:block;position:relative;width:22px;height:1px;background:currentColor}\n  .cot-burger i::before,.cot-burger i::after{\n    content:\"\";position:absolute;left:0;width:22px;height:1px;background:currentColor;\n  }\n  .cot-burger i::before{top:-7px}\n  .cot-burger i::after{top:7px}\n\n  \/* --- pannello di navigazione --- *\/\n  .cot-mnav{\n    position:fixed;inset:0;z-index:60;background:var(--cream);\n    display:flex;flex-direction:column;padding:18px 24px 34px;\n    opacity:0;visibility:hidden;transform:translateY(-10px);\n    transition:opacity .4s var(--ease-soft),transform .4s var(--ease-soft),visibility .4s;\n    overflow-y:auto;-webkit-overflow-scrolling:touch;\n  }\n  .cot-mnav.is-open{opacity:1;visibility:visible;transform:none}\n  body.cot-menu-open{overflow:hidden}\n\n  .cot-mnav-top{display:flex;align-items:center;justify-content:space-between;min-height:44px}\n  .cot-mnav-top .brand-logo{width:104px;height:38px}\n  .cot-mnav-x{\n    width:44px;height:44px;margin-right:-10px;\n    background:none;border:0;padding:0;color:var(--brand);cursor:pointer;\n    display:grid;place-items:center;-webkit-tap-highlight-color:transparent;\n  }\n  .cot-mnav-x i{display:block;position:relative;width:20px;height:1px;background:transparent}\n  .cot-mnav-x i::before,.cot-mnav-x i::after{\n    content:\"\";position:absolute;left:0;top:0;width:20px;height:1px;background:var(--brand);\n  }\n  .cot-mnav-x i::before{transform:rotate(45deg)}\n  .cot-mnav-x i::after{transform:rotate(-45deg)}\n\n  .cot-mnav-links{display:flex;flex-direction:column;margin:26px 0 0}\n  .cot-mnav-links a{\n    font-family:var(--serif);font-style:italic;font-weight:500;\n    font-size:clamp(24px,7vw,32px);line-height:1.2;color:var(--ink);\n    text-decoration:none;padding:14px 0;\n    border-bottom:1px solid rgba(140,119,81,.18);\n  }\n  .cot-mnav-links a:first-child{border-top:1px solid rgba(140,119,81,.18)}\n  .cot-mnav-links a[aria-current]{color:var(--gold-dark)}\n\n  .cot-mnav-foot{\n    margin-top:auto;padding-top:30px;\n    display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;\n  }\n  .cot-mnav-foot .lang{color:var(--ink-2)}\n  .cot-mnav-foot .btn-trade{white-space:nowrap}\n\n  \/* --- aree di tocco del selettore lingua ---\n     erano 16x20px: sotto la soglia utilizzabile con il pollice --- *\/\n  .lang{gap:2px}\n  .lang a{padding:12px 8px}\n\n  \/* ---------- 2\u00b0 giro mobile, 27\/08\/2026 ---------- *\/\n\n  \/* Trade Login fuori dall'header: su 390px occupava 114px e andava a capo\n     su due righe. Resta nel menu a tutto schermo, dove ha spazio. *\/\n  \/* il reset del tema impone display:inline-block !important sul bottone:\n     serve la stessa forza per toglierlo dall'header su mobile *\/\n  .site-header .btn-trade{display:none !important}\n\n  \/* Selettore lingua: la voce attiva era piu bassa dell'altra perche il\n     design le toglie padding sotto per fare spazio al filetto. Pareggio\n     le due scatole, cosi le basi del testo coincidono. *\/\n  .lang a{padding:12px 8px}\n  .lang a.active{padding-bottom:11px;border-bottom-width:1px}\n\n  \/* Hamburger: seguiva il colore del testo dell'header, che resta scuro\n     anche sopra le foto. Ora e' chiaro sull'immagine e scuro sul crema,\n     come fanno gia' menu e selettore lingua. Tratti ispessiti a 2px. *\/\n  .cot-burger{color:var(--cream)}\n  .site-header.scrolled .cot-burger{color:var(--ink)}\n  .cot-burger i,.cot-burger i::before,.cot-burger i::after{height:2px;border-radius:2px}\n  .cot-burger i{box-shadow:0 1px 5px rgba(46,30,21,.45)}\n  .cot-burger i::before,.cot-burger i::after{box-shadow:0 1px 5px rgba(46,30,21,.45)}\n  .site-header.scrolled .cot-burger i,\n  .site-header.scrolled .cot-burger i::before,\n  .site-header.scrolled .cot-burger i::after{box-shadow:none}\n\n  \/* Lampo viola al tocco: e' l'evidenziazione predefinita del browser.\n     Sostituita con un oro trasparente della palette. *\/\n  a,button,[role=\"button\"],input[type=\"submit\"],summary{\n    -webkit-tap-highlight-color:rgba(191,134,60,.20);\n  }\n\n  \/* Home, sezione Valori: le quattro schede erano una sotto l'altra.\n     Due colonne. *\/\n  .cards{grid-template-columns:1fr 1fr;gap:34px 16px}\n  .card-icon{width:74px;height:74px}\n  .card-icon svg{width:74px;height:74px}\n  .card h3{font-size:20px}\n\n  \/* Chi siamo, \"Perche scegliere i nostri vini\": i numeri 01\/02\/03 sono\n     posizionati 104px sopra la scheda. In colonna singola con 40px di\n     distanza finivano sopra il testo della scheda precedente, e il primo\n     sconfinava sul filetto della sezione. *\/\n  .perche-grid{gap:132px;padding-top:124px}\n  \/* i due filetti verticali separano le colonne: in colonna singola\n     tagliavano il contenuto a meta *\/\n  .perche-grid::before,.perche-grid::after{display:none}\n\n  \/* Chi siamo, blocco decorativo dei pillar: allineato a sinistra e alto\n     240px fissi, su mobile lasciava un vuoto con marchio, filetto e frase\n     sparpagliati. Composizione centrata e compattata. *\/\n  .pillar-deco{min-height:0;margin-top:34px;align-items:center;text-align:center}\n  .pillar-deco-mark{width:64px;height:64px}\n  .pillar-deco-rule{margin:16px auto 14px}\n  .pillar-deco-line{margin:0 auto 16px}\n\n  \/* ---------- 3o giro, 27\/08\/2026 ----------\n     Il lampo viola al tocco del burger non era la tap-highlight del\n     browser (gia' neutralizzata) ma il reset del tema:\n     button:hover,button:focus{background-color:#c36;color:#fff}\n     con specificita' 0-1-1, superiore a .cot-burger. Neutralizzato qui\n     per il burger e per la X del pannello, gli unici due <button>\n     introdotti dal menu mobile. *\/\n  .cot-burger:hover,.cot-burger:focus,.cot-burger:active{\n    background:none;background-color:transparent;color:var(--cream);\n    text-decoration:none;\n  }\n  .site-header.scrolled .cot-burger:hover,\n  .site-header.scrolled .cot-burger:focus,\n  .site-header.scrolled .cot-burger:active{color:var(--ink)}\n  .cot-mnav-x:hover,.cot-mnav-x:focus,.cot-mnav-x:active{\n    background:none;background-color:transparent;color:var(--brand);\n    text-decoration:none;\n  }\n}\n\n\/* --- schede risorse a colonna singola sui telefoni ---\n   a 390px la griglia 2x2 lasciava colonne da ~150px, con testi\n   spezzati su sette righe --- *\/\n@media (max-width:560px){\n  .pcat-grid{grid-template-columns:1fr}\n  .pcat{border-right:none}\n  .pcat:nth-child(2n){border-right:none}\n}\n<\/style>\n<main id=\"main\">\n\n<!-- ============ HERO ============ -->\n<section class=\"hero\" aria-label=\"Opening\">\n  <div class=\"hero-photo\">\n    <img decoding=\"async\" src=\"https:\/\/www.cottini1925.cybeartest.it\/wp-content\/uploads\/2026\/08\/hero-home-radici-profonde.jpg\" alt=\"\" data-parallax=\"hero\" onerror=\"this.onerror=null;this.src='assets\/hero-landscape.svg'\">\n  <\/div>\n\n  <div class=\"hero-text\">\n    <span class=\"eyebrow\"><span class=\"rule\"><\/span>Cottini \u00b7 since 1925<\/span>\n    <h1 class=\"hero-h1\" data-split>Deep roots, forward vision<\/h1>\n    <p class=\"hero-sub anim-fade\" data-delay=\"900\">Since 1925, we have been crafting wine in Verona, blending tradition, innovation, and respect for nature.<\/p>\n    <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/about-us\/\" class=\"hero-cta anim-fade\" data-delay=\"1100\">Discover our story <svg width=\"22\" height=\"11\" aria-hidden=\"true\"><use href=\"#arrow\"\/><\/svg><\/a>\n  <\/div>\n\n  <a href=\"#valori\" class=\"scroll-disc\" aria-label=\"Scroll to explore\">\n    <span class=\"brand-logo brand-logo--mark brand-logo--sm brand-logo--brand scroll-disc-mark\"><\/span>\n    <span class=\"label\">SCROLL<\/span>\n  <\/a>\n<\/section>\n\n<!-- ============ VALORI ============ -->\n<section class=\"valori\" id=\"valori\" aria-labelledby=\"valori-title\">\n  <div class=\"valori-inner\">\n    <div class=\"valori-text\">\n      <span class=\"eyebrow reveal\" style=\"color:var(--gold-dark)\"><span class=\"rule\" style=\"background:var(--gold-dark)\"><\/span>The way we make wine<\/span>\n      <h2 id=\"valori-title\" class=\"reveal\" data-delay=\"120\">Our values, our commitment.<\/h2>\n      <p class=\"reveal\" data-delay=\"220\">Every wine begins with a conscious choice: quality, sustainability, and respect for the land.<\/p>\n    <\/div>\n\n    <div class=\"cards\">\n      <article class=\"card\" data-card data-delay=\"0\">\n        <div class=\"card-icon\"><div class=\"ring\"><svg aria-hidden=\"true\"><use href=\"#ic-quality\"\/><\/svg><\/div><\/div>\n        <h3>Quality<\/h3>\n        <p>Uncompromising.<\/p>\n      <\/article>\n      <article class=\"card\" data-card data-delay=\"180\">\n        <div class=\"card-icon\"><div class=\"ring\"><svg aria-hidden=\"true\"><use href=\"#ic-respect\"\/><\/svg><\/div><\/div>\n        <h3>Respect<\/h3>\n        <p>For nature.<\/p>\n      <\/article>\n      <article class=\"card\" data-card data-delay=\"360\">\n        <div class=\"card-icon\"><div class=\"ring\"><svg aria-hidden=\"true\"><use href=\"#ic-tradition\"\/><\/svg><\/div><\/div>\n        <h3>Tradition<\/h3>\n        <p>Reimagined.<\/p>\n      <\/article>\n      <article class=\"card\" data-card data-delay=\"540\">\n        <div class=\"card-icon\"><div class=\"ring\"><svg aria-hidden=\"true\"><use href=\"#ic-people\"\/><\/svg><\/div><\/div>\n        <h3>People<\/h3>\n        <p>At the core.<\/p>\n      <\/article>\n    <\/div>\n  <\/div>\n\n  <div class=\"valori-divider reveal\">\n    <span class=\"line\"><\/span>\n    <span class=\"brand-logo brand-logo--mark brand-logo--xs brand-logo--gold\" style=\"width:22px;height:22px\"><\/span>\n    <span class=\"line\"><\/span>\n  <\/div>\n<\/section>\n\n<!-- ============ NUMERI ============ -->\n<section class=\"numeri\" aria-label=\"Cottini by the numbers\">\n  <div class=\"bg\"><img decoding=\"async\" src=\"https:\/\/www.cottini1925.cybeartest.it\/wp-content\/uploads\/2026\/05\/cellar-barricaia.jpg\" alt=\"\" data-parallax=\"numeri\" onerror=\"this.onerror=null;this.src='assets\/barricaia.svg'\"><\/div>\n  <div class=\"veil\"><\/div>\n\n  <div class=\"numeri-inner\">\n    <div class=\"stats\">\n      <div class=\"stat reveal\" data-delay=\"120\">\n        <span class=\"num\" data-counter data-target=\"1925\" data-from=\"1850\" data-step=\"1\" data-interval=\"22\" data-format=\"int\">0<\/span>\n        <span class=\"div\"><\/span>\n        <span class=\"lab\">Where our story began<\/span>\n      <\/div>\n      <div class=\"stat reveal\" data-delay=\"270\">\n        <span class=\"num\" data-counter data-target=\"4\" data-from=\"0\" data-step=\"1\" data-interval=\"240\" data-format=\"int\">0<\/span>\n        <span class=\"div\"><\/span>\n        <span class=\"lab\">Estates in the most renowned areas<\/span>\n      <\/div>\n      <div class=\"stat reveal\" data-delay=\"420\">\n        <span class=\"num\" data-counter data-target=\"3.5\" data-from=\"0\" data-step=\"0.1\" data-interval=\"50\" data-format=\"m\">0<\/span>\n        <span class=\"div\"><\/span>\n        <span class=\"lab\">Bottles produced every year<\/span>\n      <\/div>\n      <div class=\"stat reveal\" data-delay=\"570\">\n        <span class=\"num\" data-counter data-target=\"20\" data-from=\"0\" data-step=\"1\" data-interval=\"80\" data-format=\"plus\">0<\/span>\n        <span class=\"div\"><\/span>\n        <span class=\"lab\">Countries we export to<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ CTA FINALE ============ -->\n<section class=\"cta-final\" aria-labelledby=\"cta-title\">\n  <span class=\"eyebrow reveal\" style=\"color:var(--gold-dark)\"><span>The family<\/span><\/span>\n  <span class=\"rule-h reveal\" data-delay=\"100\"><\/span>\n  <h2 id=\"cta-title\" class=\"reveal\" data-delay=\"160\">A family story,<br>from the heart of Valpolicella to the world.<\/h2>\n  <p class=\"reveal\" data-delay=\"240\">Discover what makes our wines unique.<\/p>\n  <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/about-us\/\" class=\"btn-pill reveal\" data-delay=\"320\">About us <svg width=\"22\" height=\"11\" aria-hidden=\"true\"><use href=\"#arrow\"\/><\/svg><\/a>\n<\/section>\n\n<\/main>\n\n<!-- ============ FOOTER ============ -->\n<footer class=\"site-footer\" role=\"contentinfo\">\n  <div class=\"foot-grid\">\n    <div class=\"col-logo\">\n      <a href=\"\/en\/\" class=\"logo logo--footer\" aria-label=\"Cottini 1925\">\n        <span class=\"brand-logo brand-logo--lg brand-logo--light\"><\/span>\n      <\/a>\n      \n    <\/div>\n    <div>\n      <h4>Private areas<\/h4>\n      <ul>\n        <li><a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/trade-area\/\">Trade Area<\/a><\/li>\n        <li><a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/press-area\/\">Press Area<\/a><\/li>\n      <\/ul>\n    <\/div>\n    <div>\n      <h4>Where we are<\/h4>\n      <address>San Pietro in Cariano, Verona, Italy<\/address>\n      \n    <\/div>\n    <div>\n      <h4>Get in touch<\/h4>\n      <ul>\n        <li><a href=\"mailto:info@cottinivini.com\">info@cottinivini.com<\/a><\/li>\n        <li><a href=\"tel:+390456280157\">+39 045 6280157<\/a><\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n  <div class=\"foot-bottom\">\n    <span>\u00a9 1925\u20132026 COTTINI S.P.A. \u00b7 P.IVA 02790400234<\/span>\n    <div class=\"links\">\n      <a href=\"https:\/\/www.cottini1925.cybeartest.it\/en\/?page_id=3\">Privacy<\/a>\n      <a href=\"#\">Cookies<\/a>\n      <a href=\"#\">Credits<\/a>\n    <\/div>\n  <\/div>\n<\/footer>\n\n<div class=\"grain\" aria-hidden=\"true\"><\/div>\n<div class=\"scroll-prog\" aria-hidden=\"true\"><\/div>\n\n\n\n<script>\n(function(){\n  var b64 = \"CihmdW5jdGlvbigpewogIGNvbnN0IHJlZHVjZWQgPSBtYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM7CgogIC8qIDEpIEhlYWRlciBzY3JvbGxlZCBzdGF0ZSAqLwogIGNvbnN0IGhkciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaXRlLWhlYWRlcicpOwogIGNvbnN0IHNldFNjcm9sbGVkID0gKCkgPT4gaGRyLmNsYXNzTGlzdC50b2dnbGUoJ3Njcm9sbGVkJywgd2luZG93LnNjcm9sbFkgPiA0MCk7CiAgc2V0U2Nyb2xsZWQoKTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2V0U2Nyb2xsZWQsIHtwYXNzaXZlOnRydWV9KTsKCiAgLyogMikgU3BsaXQgSDEgaW50byA8c3BhbiBjbGFzcz0idyI+ICovCiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc3BsaXRdJykuZm9yRWFjaChlbD0+ewogICAgY29uc3QgcmF3ID0gZWwudGV4dENvbnRlbnQ7CiAgICBlbC50ZXh0Q29udGVudD0nJzsKICAgIGxldCBpPTA7CiAgICByYXcuc3BsaXQoJ1xuJykuZm9yRWFjaCgobGluZSxsaSxhcnIpPT57CiAgICAgIGxpbmUudHJpbSgpLnNwbGl0KC9ccysvKS5mb3JFYWNoKHdvcmQ9PnsKICAgICAgICBjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKICAgICAgICBzLmNsYXNzTmFtZT0ndyc7CiAgICAgICAgcy50ZXh0Q29udGVudD13b3JkKycgJzsKICAgICAgICBzLnN0eWxlLmFuaW1hdGlvbkRlbGF5PSg4MCArIGkqMTEwKSsnbXMnOwogICAgICAgIGlmKHJlZHVjZWQpe3Muc3R5bGUuYW5pbWF0aW9uPSdub25lJztzLnN0eWxlLm9wYWNpdHk9MTtzLnN0eWxlLnRyYW5zZm9ybT0nbm9uZSd9CiAgICAgICAgZWwuYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgaSsrOwogICAgICB9KTsKICAgICAgaWYobGk8YXJyLmxlbmd0aC0xKSBlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpKTsKICAgIH0pOwogIH0pOwoKICAvKiAzKSBSZXZlYWwg4oCUIElPIHdpdGggc2Nyb2xsIGZhbGxiYWNrICovCiAgY29uc3QgcmV2ZWFsRWxzID0gWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yZXZlYWwsIC5hbmltLWZhZGUsIC5hbmltLXpvb20nKV07CiAgY29uc3QgY2FyZEVscyA9IFsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1jYXJkXScpXTsKICBjYXJkRWxzLmZvckVhY2goZWw9PnsgZWwuc3R5bGUub3BhY2l0eT0nMCc7IGVsLnN0eWxlLnRyYW5zZm9ybT0ndHJhbnNsYXRlWSgyOHB4KSc7CiAgICBlbC5zdHlsZS50cmFuc2l0aW9uPSdvcGFjaXR5IDEuMXMgdmFyKC0tZWFzZSksIHRyYW5zZm9ybSAxLjJzIHZhcigtLWVhc2UpJzsgfSk7CgogIGNvbnN0IHRyaWdnZXJSZXZlYWwgPSAoZWwpPT57CiAgICBpZihlbC5kYXRhc2V0LnJldmVhbGVkKSByZXR1cm47CiAgICBlbC5kYXRhc2V0LnJldmVhbGVkID0gJzEnOwogICAgY29uc3QgZCA9IHBhcnNlSW50KGVsLmRhdGFzZXQuZGVsYXl8fCcwJywxMCk7CiAgICBzZXRUaW1lb3V0KCgpPT57CiAgICAgIGlmKGVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1jYXJkJykpewogICAgICAgIGVsLnN0eWxlLm9wYWNpdHk9JzEnOyBlbC5zdHlsZS50cmFuc2Zvcm09J3RyYW5zbGF0ZVkoMCknOwogICAgICB9IGVsc2UgewogICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ2luJyk7CiAgICAgIH0KICAgIH0sIHJlZHVjZWQ\/MDpkKTsKICB9OwoKICBjb25zdCBpc1Zpc2libGUgPSAoZWwsIG1hcmdpbkJvdHRvbT0wLjA4KT0+ewogICAgY29uc3QgciA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgY29uc3QgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7CiAgICBpZihyLmJvdHRvbSA8IDAgfHwgci50b3AgPiB2aCkgcmV0dXJuIGZhbHNlOwogICAgY29uc3QgdmlzaWJsZSA9IE1hdGgubWluKHIuYm90dG9tLCB2aCkgLSBNYXRoLm1heChyLnRvcCwgMCk7CiAgICByZXR1cm4gdmlzaWJsZSAvIE1hdGgubWluKHIuaGVpZ2h0LCB2aCkgPj0gMC4xNSAmJiByLnRvcCA8IHZoICogKDEgLSBtYXJnaW5Cb3R0b20pOwogIH07CgogIGNvbnN0IGNoZWNrQWxsID0gKCk9PnsKICAgIFsuLi5yZXZlYWxFbHMsIC4uLmNhcmRFbHNdLmZvckVhY2goZWw9PnsgaWYoaXNWaXNpYmxlKGVsKSkgdHJpZ2dlclJldmVhbChlbCk7IH0pOwogIH07CgogIHRyeXsKICAgIGNvbnN0IGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKT0+ewogICAgICBlbnRyaWVzLmZvckVhY2goZT0+eyBpZihlLmlzSW50ZXJzZWN0aW5nKSB0cmlnZ2VyUmV2ZWFsKGUudGFyZ2V0KTsgfSk7CiAgICB9LHt0aHJlc2hvbGQ6MC4xNSxyb290TWFyZ2luOicwcHggMHB4IC04JSAwcHgnfSk7CiAgICBbLi4ucmV2ZWFsRWxzLCAuLi5jYXJkRWxzXS5mb3JFYWNoKGVsPT5pby5vYnNlcnZlKGVsKSk7CiAgfWNhdGNoKGUpe30KCiAgLy8gU2Nyb2xsL2xvYWQgZmFsbGJhY2sgZW5zdXJlcyBjb250ZW50IHJldmVhbHMgZXZlbiBpZiBJTyBtaXNmaXJlcwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjaGVja0FsbCwge3Bhc3NpdmU6dHJ1ZX0pOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgY2hlY2tBbGwpOwogIHNldFRpbWVvdXQoY2hlY2tBbGwsIDIwMCk7CiAgc2V0VGltZW91dChjaGVja0FsbCwgMTIwMCk7CgogIC8vIEZpbmFsIHNhZmV0eTogYW55dGhpbmcgc3RpbGwgaGlkZGVuIDRzIGFmdGVyIGxvYWQgZ2V0cyBoYXJkLXNob3duLgogIC8vIChCZWx0LWFuZC1icmFjZXMgYWdhaW5zdCBlbnZpcm9ubWVudHMgd2hlcmUgdHJhbnNpdGlvbnMgc2lsZW50bHkgc3RhbGwuKQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCk9PnsKICAgIHNldFRpbWVvdXQoKCk9PnsKICAgICAgWy4uLnJldmVhbEVscywgLi4uY2FyZEVsc10uZm9yRWFjaChlbD0+ewogICAgICAgIGNvbnN0IG9wID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKGVsKS5vcGFjaXR5KTsKICAgICAgICBpZihvcCA8IDAuOTkpewogICAgICAgICAgZWwuc3R5bGUudHJhbnNpdGlvbiA9ICdub25lJzsKICAgICAgICAgIGVsLnN0eWxlLm9wYWNpdHkgPSAnMSc7CiAgICAgICAgICBlbC5zdHlsZS50cmFuc2Zvcm0gPSAnbm9uZSc7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sIDQwMDApOwogIH0pOwoKICAvKiA1KSBDb3VudGVyIGFuaW1hdGlvbiDigJQgSU8gKyBzY3JvbGwgZmFsbGJhY2sgKi8KICBjb25zdCBmbXQgPSAodmFsLCB0eXBlKT0+ewogICAgaWYodHlwZT09PSdtJykgcmV0dXJuIHZhbC50b0ZpeGVkKDEpLnJlcGxhY2UoJy4nLCcsJykrJ00nOwogICAgaWYodHlwZT09PSdwbHVzJykgcmV0dXJuIE1hdGgucm91bmQodmFsKSsnKyc7CiAgICByZXR1cm4gU3RyaW5nKE1hdGgucm91bmQodmFsKSk7CiAgfTsKICBjb25zdCBjb3VudGVyRWxzID0gWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWNvdW50ZXJdJyldOwogIGNvbnN0IHJ1bkNvdW50ZXIgPSAoZWwpPT57CiAgICBpZihlbC5kYXRhc2V0LmNvdW50ZWQpIHJldHVybjsKICAgIGVsLmRhdGFzZXQuY291bnRlZCA9ICcxJzsKICAgIGNvbnN0IHRhcmdldCA9IHBhcnNlRmxvYXQoZWwuZGF0YXNldC50YXJnZXQpOwogICAgY29uc3QgZnJvbSA9IHBhcnNlRmxvYXQoZWwuZGF0YXNldC5mcm9tfHwnMCcpOwogICAgY29uc3Qgc3RlcCA9IHBhcnNlRmxvYXQoZWwuZGF0YXNldC5zdGVwfHwnMScpOwogICAgY29uc3QgaW50ZXJ2YWwgPSBwYXJzZUludChlbC5kYXRhc2V0LmludGVydmFsfHwnMzAnLDEwKTsKICAgIGNvbnN0IHR5cGUgPSBlbC5kYXRhc2V0LmZvcm1hdHx8J2ludCc7CiAgICBpZihyZWR1Y2VkKXsgZWwudGV4dENvbnRlbnQgPSBmbXQodGFyZ2V0LHR5cGUpOyByZXR1cm47IH0KICAgIGxldCB2ID0gZnJvbTsgZWwudGV4dENvbnRlbnQgPSBmbXQodix0eXBlKTsKICAgIGNvbnN0IHQgPSBzZXRJbnRlcnZhbCgoKT0+ewogICAgICB2ICs9IHN0ZXA7CiAgICAgIGlmKChzdGVwPjAgJiYgdj49dGFyZ2V0KSB8fCAoc3RlcDwwICYmIHY8PXRhcmdldCkpewogICAgICAgIHYgPSB0YXJnZXQ7IGVsLnRleHRDb250ZW50ID0gZm10KHYsdHlwZSk7IGNsZWFySW50ZXJ2YWwodCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZWwudGV4dENvbnRlbnQgPSBmbXQodix0eXBlKTsKICAgICAgfQogICAgfSwgaW50ZXJ2YWwpOwogIH07CiAgY29uc3QgY291bnRlclZpc2libGUgPSAoZWwpPT57CiAgICBjb25zdCByID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBjb25zdCB2aCA9IHdpbmRvdy5pbm5lckhlaWdodDsKICAgIGlmKHIuYm90dG9tIDwgMCB8fCByLnRvcCA+IHZoKSByZXR1cm4gZmFsc2U7CiAgICByZXR1cm4gci50b3AgPCB2aCAqIDAuNjU7CiAgfTsKICBjb25zdCBjaGVja0NvdW50ZXJzID0gKCk9PnsgY291bnRlckVscy5mb3JFYWNoKGVsPT57IGlmKGNvdW50ZXJWaXNpYmxlKGVsKSkgcnVuQ291bnRlcihlbCk7IH0pOyB9OwogIHRyeXsKICAgIGNvbnN0IGNvdW50SU8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpPT57CiAgICAgIGVudHJpZXMuZm9yRWFjaChlPT57IGlmKGUuaXNJbnRlcnNlY3RpbmcpIHJ1bkNvdW50ZXIoZS50YXJnZXQpOyB9KTsKICAgIH0se3RocmVzaG9sZDowLjM1fSk7CiAgICBjb3VudGVyRWxzLmZvckVhY2goZWw9PmNvdW50SU8ub2JzZXJ2ZShlbCkpOwogIH1jYXRjaChlKXt9CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrQ291bnRlcnMsIHtwYXNzaXZlOnRydWV9KTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGNoZWNrQ291bnRlcnMpOwogIHNldFRpbWVvdXQoY2hlY2tDb3VudGVycywgNDAwKTsKCiAgLyogNikgUGFyYWxsYXggKyBzY3JvbGwtZHJpdmVuIHNlY3Rpb24gImRlcHRoIiArIGhlcm8gZmFkZSArIHByb2dyZXNzIGJhciAqLwogIGNvbnN0IHByb2dCYXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Nyb2xsLXByb2cnKTsKICBjb25zdCBoZXJvVGV4dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5oZXJvLXRleHQnKTsKICBjb25zdCBoZXJvU2VjID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmhlcm8nKTsKICBpZighcmVkdWNlZCl7CiAgICBjb25zdCBwYXJhbGxheE5vZGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcGFyYWxsYXhdJyk7CiAgICAvLyBJbm5lciBjb250ZW50IGJsb2NrcyB0aGF0IHNob3VsZCBzdWJ0bHkgbGlmdCBvbiB2aWV3cG9ydCBjZW50ZXIgcGFzcwogICAgY29uc3QgbGlmdEVscyA9IFsKICAgICAgLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnZhbG9yaS1pbm5lciwgLm51bWVyaS1pbm5lcicpCiAgICBdOwogICAgbGlmdEVscy5mb3JFYWNoKGVsID0+IHsgZWwuc3R5bGUud2lsbENoYW5nZSA9ICd0cmFuc2Zvcm0nOyB9KTsKICAgIGxldCB0aWNraW5nID0gZmFsc2U7CiAgICBsZXQgbGFzdFNjcm9sbCA9IHdpbmRvdy5zY3JvbGxZOwogICAgbGV0IHZlbG9jaXR5ID0gMDsKICAgIGNvbnN0IG1hcCA9ICh2YWwsIGluTWluLCBpbk1heCwgb3V0TWluLCBvdXRNYXgpID0+CiAgICAgIG91dE1pbiArICgodmFsIC0gaW5NaW4pICogKG91dE1heCAtIG91dE1pbikpIC8gKGluTWF4IC0gaW5NaW4pOwogICAgY29uc3QgdXBkYXRlID0gKCk9PnsKICAgICAgY29uc3QgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7CiAgICAgIGNvbnN0IHN5ID0gd2luZG93LnNjcm9sbFk7CiAgICAgIHZlbG9jaXR5ID0gdmVsb2NpdHkgKiAwLjg1ICsgKHN5IC0gbGFzdFNjcm9sbCkgKiAwLjE1OwogICAgICBsYXN0U2Nyb2xsID0gc3k7CiAgICAgIGNvbnN0IHZlbEJvb3N0ID0gTWF0aC5taW4oMSwgTWF0aC5hYnModmVsb2NpdHkpIC8gNjApOwoKICAgICAgLy8gUHJvZ3Jlc3MgYmFyCiAgICAgIGNvbnN0IGRvY0ggPSBNYXRoLm1heCgxLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gdmgpOwogICAgICBjb25zdCBwID0gTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgc3kgLyBkb2NIKSk7CiAgICAgIGlmKHByb2dCYXIpIHByb2dCYXIuc3R5bGUuc2V0UHJvcGVydHkoJy0tcCcsIChwKjEwMCkudG9GaXhlZCgyKSsnJScpOwoKICAgICAgLy8gSGVybyB0ZXh0IGZhZGUgKyBsaWZ0IGFzIHlvdSBzY3JvbGwgaW50byBWYWxvcmkKICAgICAgaWYoaGVyb1RleHQgJiYgaGVyb1NlYyl7CiAgICAgICAgY29uc3QgaGVyb0ggPSBoZXJvU2VjLm9mZnNldEhlaWdodDsKICAgICAgICBjb25zdCB0ID0gTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgc3kgLyAoaGVyb0ggKiAwLjcpKSk7CiAgICAgICAgY29uc3QgZWFzZWQgPSB0ICogdDsKICAgICAgICBoZXJvVGV4dC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoMCwgJHstc3kqMC4zMn1weCwgMCkgc2NhbGUoJHsxIC0gZWFzZWQqMC4wNn0pYDsKICAgICAgICBoZXJvVGV4dC5zdHlsZS5vcGFjaXR5ID0gKDEgLSBlYXNlZCAqIDEuMTUpLnRvRml4ZWQoMyk7CiAgICAgIH0KCiAgICAgIHBhcmFsbGF4Tm9kZXMuZm9yRWFjaChub2RlPT57CiAgICAgICAgY29uc3Qga2luZCA9IG5vZGUuZGF0YXNldC5wYXJhbGxheDsKICAgICAgICBpZihraW5kPT09J2hlcm8nKXsKICAgICAgICAgIGNvbnN0IHkgPSBzeSAqIDAuMjg7CiAgICAgICAgICBub2RlLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUzZCgwLCAke3l9cHgsIDApIHNjYWxlKCR7MS4wOCArIE1hdGgubWluKC4wNiwgc3kvODAwMCl9KWA7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGNvbnN0IHJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAgICAgaWYocmVjdC5ib3R0b20gPCAtMjAwIHx8IHJlY3QudG9wID4gdmgrMjAwKSByZXR1cm47CiAgICAgICAgICBjb25zdCBwcCA9IDEgLSAocmVjdC50b3AgLyB2aCk7CiAgICAgICAgICBjb25zdCByYW5nZSA9IGtpbmQ9PT0nbnVtZXJpJyA\/IFstNTAsNDVdIDogWy0zMCwyOF07CiAgICAgICAgICBjb25zdCB5ID0gbWFwKE1hdGgubWF4KDAsTWF0aC5taW4oMS41LHBwKSksIDAsIDEuNSwgcmFuZ2VbMF0sIHJhbmdlWzFdKTsKICAgICAgICAgIG5vZGUuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKDAsICR7eX1weCwgMClgOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICAvLyBTZWN0aW9uIGRlcHRoIGxpZnQg4oCUIGlubmVyIGNvbnRlbnQgcmlzZXMgYXMgaXQgcGFzc2VzIHZpZXdwb3J0IGNlbnRlcgogICAgICBsaWZ0RWxzLmZvckVhY2goZWw9PnsKICAgICAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgaWYocmVjdC5ib3R0b20gPCAtMjAwIHx8IHJlY3QudG9wID4gdmgrMjAwKSByZXR1cm47CiAgICAgICAgY29uc3QgY2VudGVyID0gcmVjdC50b3AgKyByZWN0LmhlaWdodC8yOwogICAgICAgIGNvbnN0IGRpc3QgPSAoY2VudGVyIC0gdmgvMikgLyB2aDsKICAgICAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGRpc3QpKTsKICAgICAgICBjb25zdCBsaWZ0ID0gY2xhbXBlZCAqIC0yOCAqICgxICsgdmVsQm9vc3QqMC42KTsKICAgICAgICBlbC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoMCwgJHtsaWZ0fXB4LCAwKWA7CiAgICAgIH0pOwoKICAgICAgLy8gQ2FyZCBob3Jpem9udGFsLXN0YWdnZXIgZW50cnkgKGFsdGVybmF0aW5nIGxlZnQvcmlnaHQpCiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWNhcmRdJykuZm9yRWFjaCgoY2FyZCwgaSk9PnsKICAgICAgICBjb25zdCByZWN0ID0gY2FyZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICBjb25zdCBlbnRlciA9IDEgLSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCAocmVjdC50b3AgLSB2aCowLjIpIC8gKHZoKjAuNjUpKSk7CiAgICAgICAgaWYoY2FyZC5kYXRhc2V0LnJldmVhbGVkICE9PSAnMScgJiYgZW50ZXIgPiAwLjA1KXsKICAgICAgICAgIC8vIGluaXRpYWwgZHJhbWF0aWMgb2Zmc2V0IChvbmx5IGJlZm9yZSByZXZlYWwpCiAgICAgICAgICBjb25zdCBkaXIgPSAoaSAlIDIgPT09IDApID8gLTEgOiAxOwogICAgICAgICAgY29uc3QgayA9IDEgLSBlbnRlcjsKICAgICAgICAgIGNhcmQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKCR7ZGlyICogayAqIDM2fXB4LCAke2sqNDB9cHgsIDApYDsKICAgICAgICAgIGNhcmQuc3R5bGUub3BhY2l0eSA9IGVudGVyLnRvRml4ZWQoMyk7CiAgICAgICAgfQogICAgICB9KTsKCiAgICAgIHRpY2tpbmcgPSBmYWxzZTsKICAgIH07CiAgICBjb25zdCByZXF1ZXN0VXBkYXRlID0gKCk9PnsgaWYoIXRpY2tpbmcpeyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodXBkYXRlKTsgdGlja2luZyA9IHRydWU7IH0gfTsKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCByZXF1ZXN0VXBkYXRlLCB7cGFzc2l2ZTp0cnVlfSk7CiAgICB1cGRhdGUoKTsKCiAgICAvKiA2YikgTEVOSVMtTElLRSBJTkVSVElBTCBTTU9PVEggU0NST0xMCiAgICAgICBMaXN0ZW4gdG8gd2hlZWwgKyB0b3VjaCwgYWR2YW5jZSB0aGUgYWN0dWFsIHdpbmRvdy5zY3JvbGxZIHRvd2FyZCBhIHRhcmdldCB3aXRoIGVhc2luZy4gKi8KICAgIGxldCB0YXJnZXQgPSB3aW5kb3cuc2Nyb2xsWTsKICAgIGxldCBjdXJyZW50ID0gd2luZG93LnNjcm9sbFk7CiAgICBsZXQgcmFmSWQgPSBudWxsOwogICAgY29uc3QgZWFzZSA9IDAuMDg1OwogICAgY29uc3QgbWluRGVsdGEgPSAwLjU7CiAgICBjb25zdCBpc0Zvcm1GaWVsZCA9IChlbCk9PnsKICAgICAgaWYoIWVsKSByZXR1cm4gZmFsc2U7CiAgICAgIGNvbnN0IHQgPSBlbC50YWdOYW1lOwogICAgICByZXR1cm4gdD09PSdJTlBVVCcgfHwgdD09PSdURVhUQVJFQScgfHwgdD09PSdTRUxFQ1QnIHx8IGVsLmlzQ29udGVudEVkaXRhYmxlOwogICAgfTsKICAgIGNvbnN0IGxvb3AgPSAoKT0+ewogICAgICBjb25zdCBkID0gdGFyZ2V0IC0gY3VycmVudDsKICAgICAgaWYoTWF0aC5hYnMoZCkgPCBtaW5EZWx0YSl7CiAgICAgICAgY3VycmVudCA9IHRhcmdldDsKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgY3VycmVudCk7CiAgICAgICAgcmFmSWQgPSBudWxsOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBjdXJyZW50ICs9IGQgKiBlYXNlOwogICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgY3VycmVudCk7CiAgICAgIHJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApOwogICAgfTsKICAgIGNvbnN0IGtpY2sgPSAoKT0+eyBpZihyYWZJZCA9PT0gbnVsbCkgcmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7IH07CiAgICBjb25zdCBtYXhTY3JvbGwgPSAoKT0+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQgLSB3aW5kb3cuaW5uZXJIZWlnaHQ7CiAgICBsZXQgdXNlckludGVycnVwdGluZyA9IGZhbHNlOwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgKGUpPT57CiAgICAgIGlmKGlzRm9ybUZpZWxkKGUudGFyZ2V0KSkgcmV0dXJuOwogICAgICAvLyBob25vciBtb2RpZmllcnMgKHpvb20sIGhvcml6b250YWwpCiAgICAgIGlmKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpIHJldHVybjsKICAgICAgLy8gcHJldmVudCB0aGUgbmF0aXZlIGluc3RhbnQganVtcAogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIC8vIHN5bmMgY3VycmVudCBpZiB1c2VyIGp1c3Qgc2Nyb2xsZWQgd2l0aCBhcnJvdyBrZXlzIC8gc2Nyb2xsYmFyCiAgICAgIGlmKE1hdGguYWJzKHdpbmRvdy5zY3JvbGxZIC0gY3VycmVudCkgPiA0KXsgY3VycmVudCA9IHdpbmRvdy5zY3JvbGxZOyB0YXJnZXQgPSBjdXJyZW50OyB9CiAgICAgIC8vIGFjY2VsZXJhdGUgcGVyIGRlbHRhOyBsaW5lLW1vZGUgZGVsdGFzIChlLmRlbHRhTW9kZT09PTEpIG5lZWQgc2NhbGluZwogICAgICBjb25zdCBzY2FsZSA9IGUuZGVsdGFNb2RlID09PSAxID8gMTggOiAoZS5kZWx0YU1vZGUgPT09IDIgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiAxKTsKICAgICAgdGFyZ2V0ICs9IGUuZGVsdGFZICogc2NhbGUgKiAwLjk7CiAgICAgIHRhcmdldCA9IE1hdGgubWF4KDAsIE1hdGgubWluKG1heFNjcm9sbCgpLCB0YXJnZXQpKTsKICAgICAga2ljaygpOwogICAgfSwge3Bhc3NpdmU6ZmFsc2V9KTsKICAgIC8vIFRvdWNoIOKAlCBrZWVwIG5hdGl2ZSBtb21lbnR1bSAobW9iaWxlKQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCAoKT0+eyB1c2VySW50ZXJydXB0aW5nID0gdHJ1ZTsgdGFyZ2V0ID0gd2luZG93LnNjcm9sbFk7IGN1cnJlbnQgPSB3aW5kb3cuc2Nyb2xsWTsgfSwge3Bhc3NpdmU6dHJ1ZX0pOwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgICAoKT0+eyB1c2VySW50ZXJydXB0aW5nID0gZmFsc2U7IH0pOwogICAgLy8gS2V5Ym9hcmQgKHNwYWNlLCBwYWdlIHVwL2Rvd24sIGFycm93cywgaG9tZS9lbmQpCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKT0+ewogICAgICBpZihpc0Zvcm1GaWVsZChlLnRhcmdldCkpIHJldHVybjsKICAgICAgY29uc3QgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7CiAgICAgIGxldCBkZWx0YSA9IDA7CiAgICAgIHN3aXRjaChlLmtleSl7CiAgICAgICAgY2FzZSAnQXJyb3dEb3duJzogZGVsdGEgPSA4MDsgYnJlYWs7CiAgICAgICAgY2FzZSAnQXJyb3dVcCc6ICAgZGVsdGEgPSAtODA7IGJyZWFrOwogICAgICAgIGNhc2UgJ1BhZ2VEb3duJzogIGRlbHRhID0gdmggKiAwLjg1OyBicmVhazsKICAgICAgICBjYXNlICdQYWdlVXAnOiAgICBkZWx0YSA9IC12aCAqIDAuODU7IGJyZWFrOwogICAgICAgIGNhc2UgJyAnOiAgICAgICAgIGRlbHRhID0gZS5zaGlmdEtleSA\/IC12aCowLjg1IDogdmgqMC44NTsgYnJlYWs7CiAgICAgICAgY2FzZSAnSG9tZSc6ICAgICAgdGFyZ2V0ID0gMDsgY3VycmVudCA9IHdpbmRvdy5zY3JvbGxZOyBraWNrKCk7IGUucHJldmVudERlZmF1bHQoKTsgcmV0dXJuOwogICAgICAgIGNhc2UgJ0VuZCc6ICAgICAgIHRhcmdldCA9IG1heFNjcm9sbCgpOyBjdXJyZW50ID0gd2luZG93LnNjcm9sbFk7IGtpY2soKTsgZS5wcmV2ZW50RGVmYXVsdCgpOyByZXR1cm47CiAgICAgICAgZGVmYXVsdDogcmV0dXJuOwogICAgICB9CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgaWYoTWF0aC5hYnMod2luZG93LnNjcm9sbFkgLSBjdXJyZW50KSA+IDQpeyBjdXJyZW50ID0gd2luZG93LnNjcm9sbFk7IHRhcmdldCA9IGN1cnJlbnQ7IH0KICAgICAgdGFyZ2V0ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4obWF4U2Nyb2xsKCksIHRhcmdldCArIGRlbHRhKSk7CiAgICAgIGtpY2soKTsKICAgIH0pOwogIH0KCiAgLyogNykgQ3VzdG9tIHNtb290aC1zY3JvbGwgZm9yIGluLXBhZ2UgYW5jaG9ycyAoc2xvd2VyLCBncmFjZWZ1bCkgKi8KICBjb25zdCBlYXNlT3V0UXVpbnQgPSB0ID0+IDEgLSBNYXRoLnBvdygxIC0gdCwgNSk7CiAgY29uc3Qgc21vb3RoU2Nyb2xsVG8gPSAodGFyZ2V0WSwgZHVyYXRpb249MTMwMCk9PnsKICAgIGNvbnN0IHN0YXJ0WSA9IHdpbmRvdy5zY3JvbGxZOwogICAgY29uc3QgZGlzdCA9IHRhcmdldFkgLSBzdGFydFk7CiAgICBpZihNYXRoLmFicyhkaXN0KSA8IDQpIHJldHVybjsKICAgIGNvbnN0IHQwID0gcGVyZm9ybWFuY2Uubm93KCk7CiAgICBjb25zdCBzdGVwID0gKG5vdyk9PnsKICAgICAgY29uc3QgcCA9IE1hdGgubWluKDEsIChub3cgLSB0MCkgLyBkdXJhdGlvbik7CiAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCBzdGFydFkgKyBkaXN0ICogZWFzZU91dFF1aW50KHApKTsKICAgICAgaWYocCA8IDEpIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICAgIH07CiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7CiAgfTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZePSIjIl0nKS5mb3JFYWNoKGE9PnsKICAgIGEuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSk9PnsKICAgICAgY29uc3QgaHJlZiA9IGEuZ2V0QXR0cmlidXRlKCdocmVmJyk7CiAgICAgIGlmKCFocmVmIHx8IGhyZWYgPT09ICcjJykgcmV0dXJuOwogICAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGhyZWYpOwogICAgICBpZighdGFyZ2V0KSByZXR1cm47CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgY29uc3QgaGVhZGVyT2Zmc2V0ID0gNzA7CiAgICAgIGNvbnN0IHkgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFkgLSBoZWFkZXJPZmZzZXQ7CiAgICAgIGlmKHJlZHVjZWQpIHdpbmRvdy5zY3JvbGxUbygwLCB5KTsKICAgICAgZWxzZSBzbW9vdGhTY3JvbGxUbyh5LCAxNDAwKTsKICAgIH0pOwogIH0pOwp9KSgpOwoKLyogSWwgbGluayBJVCBkZWwgc2VsZXR0b3JlIHZhIHJpc2NyaXR0byBsYXRvIGNsaWVudDogV1BNTCByaXNjcml2ZSBnbGkgaHJlZiBpbnRlcm5pCiAgIGluIGZhc2UgZGkgc2FsdmF0YWdnaW8gZSBsbyByaW1hcHBlcmViYmUgc3VsbGEgdmVyc2lvbmUgaW5nbGVzZS4gKi8KKGZ1bmN0aW9uKCl7dmFyIGw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmxhbmcgYVtkYXRhLWl0XScpO2lmKGwpe2wuc2V0QXR0cmlidXRlKCdocmVmJywgbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaXQnKSk7fX0pKCk7CgovKiAtLS0tIE1lbnUgbW9iaWxlICgyNy8wOC8yMDI2KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDb3N0cnVpdG8gaW50ZXJhbWVudGUgcXVpLCBhIHJ1bnRpbWU6IGlsIG1hcmt1cCBkZWxsZSBwYWdpbmUgbm9uIGNhbWJpYSwKICAgZSBpbCBDU1MgbG8gbW9zdHJhIHNvbG8gc290dG8gaSA5NjBweC4gSWwgZGVza3RvcCByZXN0YSBpbnRvY2NhdG8uICAgICAgICovCihmdW5jdGlvbigpewogIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb3QtYnVyZ2VyJykpIHJldHVybjsKICB2YXIgaGVhZGVyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaXRlLWhlYWRlcicpOyBpZighaGVhZGVyKSByZXR1cm47CiAgdmFyIHJpZ2h0PWhlYWRlci5xdWVyeVNlbGVjdG9yKCcuaGVhZGVyLXJpZ2h0Jyk7CiAgdmFyIG5hdj1oZWFkZXIucXVlcnlTZWxlY3RvcignLnNpdGUtbmF2Jyk7CiAgaWYoIXJpZ2h0fHwhbmF2KSByZXR1cm47CiAgdmFyIEVOPShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJyl8fCcnKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2VuJyk9PT0wOwogIHZhciBMPXthcHJpOkVOPydPcGVuIG1lbnUnOidBcHJpIGlsIG1lbnUnLCBjaGl1ZGk6RU4\/J0Nsb3NlIG1lbnUnOidDaGl1ZGkgaWwgbWVudSd9OwoKICB2YXIgYnRuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGJ0bi50eXBlPSdidXR0b24nOyBidG4uY2xhc3NOYW1lPSdjb3QtYnVyZ2VyJzsKICBidG4uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyxMLmFwcmkpOwogIGJ0bi5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCdmYWxzZScpOwogIGJ0bi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnLCdjb3QtbW5hdicpOwogIGJ0bi5pbm5lckhUTUw9JzxpPjwvaT4nOwogIHJpZ2h0LmFwcGVuZENoaWxkKGJ0bik7CgogIHZhciBwYW5lbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCduYXYnKTsKICBwYW5lbC5jbGFzc05hbWU9J2NvdC1tbmF2JzsgcGFuZWwuaWQ9J2NvdC1tbmF2JzsKICBwYW5lbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCBuYXYuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyl8fCcnKTsKCiAgdmFyIHRvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgdG9wLmNsYXNzTmFtZT0nY290LW1uYXYtdG9wJzsKICB2YXIgZGFyaz1oZWFkZXIucXVlcnlTZWxlY3RvcignLmxvZ28tLWRhcmsnKTsKICBpZihkYXJrKSB0b3AuYXBwZW5kQ2hpbGQoZGFyay5jbG9uZU5vZGUodHJ1ZSkpOwogIHZhciB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIHgudHlwZT0nYnV0dG9uJzsgeC5jbGFzc05hbWU9J2NvdC1tbmF2LXgnOyB4LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsTC5jaGl1ZGkpOwogIHguaW5uZXJIVE1MPSc8aT48L2k+JzsKICB0b3AuYXBwZW5kQ2hpbGQoeCk7CiAgcGFuZWwuYXBwZW5kQ2hpbGQodG9wKTsKCiAgdmFyIGxpbmtzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBsaW5rcy5jbGFzc05hbWU9J2NvdC1tbmF2LWxpbmtzJzsKICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG5hdi5xdWVyeVNlbGVjdG9yQWxsKCdhJyksIGZ1bmN0aW9uKGEpeyBsaW5rcy5hcHBlbmRDaGlsZChhLmNsb25lTm9kZSh0cnVlKSk7IH0pOwogIHBhbmVsLmFwcGVuZENoaWxkKGxpbmtzKTsKCiAgdmFyIGZvb3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGZvb3QuY2xhc3NOYW1lPSdjb3QtbW5hdi1mb290JzsKICB2YXIgbGFuZz1oZWFkZXIucXVlcnlTZWxlY3RvcignLmxhbmcnKTsgaWYobGFuZykgZm9vdC5hcHBlbmRDaGlsZChsYW5nLmNsb25lTm9kZSh0cnVlKSk7CiAgdmFyIHRyYWRlPWhlYWRlci5xdWVyeVNlbGVjdG9yKCcuYnRuLXRyYWRlJyk7IGlmKHRyYWRlKSBmb290LmFwcGVuZENoaWxkKHRyYWRlLmNsb25lTm9kZSh0cnVlKSk7CiAgcGFuZWwuYXBwZW5kQ2hpbGQoZm9vdCk7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYW5lbCk7CgogIGZ1bmN0aW9uIGFwcmkoKXsKICAgIHBhbmVsLmNsYXNzTGlzdC5hZGQoJ2lzLW9wZW4nKTsgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdjb3QtbWVudS1vcGVuJyk7CiAgICBidG4uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywndHJ1ZScpOyBidG4uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyxMLmNoaXVkaSk7CiAgfQogIGZ1bmN0aW9uIGNoaXVkaSgpewogICAgcGFuZWwuY2xhc3NMaXN0LnJlbW92ZSgnaXMtb3BlbicpOyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2NvdC1tZW51LW9wZW4nKTsKICAgIGJ0bi5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCdmYWxzZScpOyBidG4uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyxMLmFwcmkpOwogIH0KICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBwYW5lbC5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLW9wZW4nKT9jaGl1ZGkoKTphcHJpKCk7IH0pOwogIHguYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjaGl1ZGkpOwogIHBhbmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSl7IGlmKGUudGFyZ2V0LmNsb3Nlc3QgJiYgZS50YXJnZXQuY2xvc2VzdCgnYScpKSBjaGl1ZGkoKTsgfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpeyBpZihlLmtleT09PSdFc2NhcGUnKSBjaGl1ZGkoKTsgfSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7IGlmKHdpbmRvdy5pbm5lcldpZHRoPjk2MCkgY2hpdWRpKCk7IH0pOwp9KSgpOwo=\";\n  try {\n    var bin = atob(b64);\n    var bytes = new Uint8Array(bin.length);\n    for(var i=0;i<bin.length;i++) bytes[i] = bin.charCodeAt(i);\n    var code = new TextDecoder(\"utf-8\").decode(bytes);\n    var s = document.createElement(\"script\");\n    s.text = code;\n    document.body.appendChild(s);\n  } catch(e) { console.error(\"Cottini script bootstrap error:\", e); }\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Home About us Our brands Sustainability Trade Area Press Area Contacts IT\u00b7EN Trade Login Cottini \u00b7 since 1925 Deep roots, forward vision Since 1925, we have been crafting wine in Verona, blending tradition, innovation, and respect for nature. Discover our story SCROLL The way we make wine Our values, our commitment. Every wine begins with [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-327","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/pages\/327","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/comments?post=327"}],"version-history":[{"count":9,"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/pages\/327\/revisions"}],"predecessor-version":[{"id":447,"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/pages\/327\/revisions\/447"}],"wp:attachment":[{"href":"https:\/\/www.cottini1925.cybeartest.it\/en\/wp-json\/wp\/v2\/media?parent=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}