:root{
  --green:#214d1a;--green2:#2f6425;--cream:#f6f2ea;--paper:#fffdf8;--ink:#27231d;--muted:#6e685d;--gold:#b38a38;--line:#ded4c2;--shadow:0 18px 45px rgba(33,77,26,.12);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Trebuchet MS",Arial,sans-serif;line-height:1.6}.container{width:min(1180px,calc(100% - 42px));margin:auto}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.demo-ribbon{position:fixed;z-index:50;right:18px;bottom:18px;background:rgba(33,77,26,.92);color:white;padding:10px 14px;border-radius:999px;font-size:12px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.topbar{background:var(--green);color:white;font-size:13px}.topbar-inner{display:flex;gap:16px;align-items:center;min-height:34px}.topbar a{opacity:.95}.topbar .spacer{flex:1}.navbar{background:rgba(255,253,248,.93);border-bottom:1px solid rgba(33,77,26,.12);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:86px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{font-family:Georgia,serif;font-weight:bold;letter-spacing:2px;font-size:31px;color:var(--green);text-shadow:0 1px 0 #fff}.brand-sub{font-size:11px;text-transform:uppercase;line-height:1.25;color:#4b4a40}.menu{display:flex;align-items:center;gap:22px;font-size:14px}.menu a{position:relative}.menu a:after{content:"";position:absolute;left:0;bottom:-8px;height:2px;width:0;background:var(--gold);transition:.25s}.menu a:hover:after{width:100%}.search{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:white}.search input{border:0;padding:9px 12px;width:160px;outline:0}.search button{border:0;background:var(--green);color:white;padding:0 12px;cursor:pointer}.menu-toggle{display:none;border:0;background:var(--green);color:white;border-radius:10px;padding:9px 12px;font-size:20px}
.hero{min-height:560px;position:relative;display:grid;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('img/hero-stabilimento.jpg') center/cover no-repeat;filter:sepia(.16) saturate(.9) brightness(.78)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,35,20,.84),rgba(20,35,20,.45) 48%,rgba(20,35,20,.16)),linear-gradient(0deg,rgba(0,0,0,.2),transparent)}.hero-content{position:relative;color:white;padding:74px 0}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:bold;color:var(--green2);margin:0 0 12px}.hero .eyebrow{color:#d5c081}.hero h1{font-family:Georgia,serif;font-size:clamp(44px,7vw,82px);line-height:.98;margin:0;max-width:820px;font-weight:500}.hero h1 span{color:#d7b96b}.flourish{width:230px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:28px 0;position:relative}.flourish:before{content:"✦";position:absolute;left:118px;top:-14px;color:#d7b96b}.lead{font-family:Georgia,serif;font-size:22px;max-width:640px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:bold;font-size:13px;letter-spacing:.05em;text-transform:uppercase;transition:.25s;cursor:pointer;border:1px solid transparent}.btn-primary{background:var(--green);color:white}.btn-primary:hover{background:#173812;transform:translateY(-2px)}.btn-ghost{border-color:rgba(255,255,255,.8);color:white;background:rgba(255,255,255,.08)}.btn-ghost:hover{background:white;color:var(--green)}.btn-outline{background:white;border-color:var(--green);color:var(--green)}.btn-outline:hover{background:var(--green);color:white}
section{padding:88px 0}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:360px 1fr;gap:80px;align-items:start}.intro h2,.centered-heading h2,.award h2,.today h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,52px);line-height:1.08;font-weight:400;margin:0 0 20px;color:var(--green)}.intro-text{font-size:18px;max-width:760px}.short-line{width:70px;height:2px;background:var(--gold);margin:22px 0}.centered-heading{text-align:center;max-width:760px;margin:0 auto 48px}.centered-heading .section-kicker{color:var(--gold)}.centered-heading p{color:var(--muted)}.compact{margin-bottom:30px}.timeline-section{background:var(--cream);border-block:1px solid var(--line)}.timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;position:relative}.timeline:before{content:"";position:absolute;left:7%;right:7%;top:36px;height:1px;background:var(--line)}.milestone{position:relative;z-index:1;border:0;background:transparent;text-align:center;padding:0 8px;cursor:pointer;color:var(--ink)}.milestone .icon{margin:auto;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--green);color:white;font-size:26px;box-shadow:0 6px 0 rgba(179,138,56,.35);transition:.25s}.milestone:hover .icon{transform:translateY(-5px);background:var(--green2)}.milestone strong{display:block;font-family:Georgia,serif;font-size:32px;margin-top:16px;color:var(--green)}.milestone em{display:block;font-style:normal;font-weight:bold;margin-bottom:7px}.milestone small{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.roots{background:var(--paper)}.photo-mosaic{display:grid;grid-template-columns:1fr 1.75fr 1fr;gap:22px;align-items:stretch}.mosaic-card,.award-media button{border:0;padding:0;background:transparent;cursor:pointer;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.mosaic-card img{width:100%;height:100%;object-fit:cover;transition:.45s}.mosaic-card:hover img,.award-media button:hover img,.catalog-card:hover img{transform:scale(1.045)}.mosaic-card.wide{min-height:380px}.caption{text-align:center;color:var(--muted);font-style:italic;margin-top:18px}.award{background:#f0eadf}.award-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center}.award-copy{background:var(--paper);padding:48px;border-radius:var(--radius);box-shadow:var(--shadow)}.award-media{display:grid;grid-template-columns:1fr 1fr;gap:22px}.award-media img{height:430px;width:100%;object-fit:cover;transition:.45s}.catalogs{background:var(--paper)}.catalog-row{display:grid;grid-template-columns:repeat(8,1fr);gap:18px}.catalog-card{display:block;text-align:center}.catalog-card img{height:210px;width:100%;object-fit:cover;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.1);transition:.35s}.catalog-card span{display:inline-block;margin-top:12px;font-family:Georgia,serif;font-size:22px;color:var(--green)}.center-button{text-align:center;margin-top:34px}.today{background:linear-gradient(90deg,var(--cream),#fff)}.today-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.today-image img{border-radius:var(--radius);box-shadow:var(--shadow);height:480px;width:100%;object-fit:cover}.today-copy{position:relative;background:rgba(255,255,255,.7);padding:50px;border-radius:var(--radius);border:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.stats div{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;text-align:center}.stats strong{display:block;font-family:Georgia,serif;color:var(--green);font-size:30px}.stats span{font-size:12px;text-transform:uppercase;color:var(--muted)}.cta-band{background:var(--green);color:white;text-align:center;padding:42px 0}.cta-band h2{font-family:Georgia,serif;font-size:38px;margin:0 0 6px;font-weight:400}.cta-band p{margin:0;opacity:.86}.footer{background:#e9e9e4;padding:54px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:36px}.footer h3{color:var(--green);margin:0 0 14px}.footer a{display:block;color:#3f473a;margin:6px 0}.copyright{text-align:center;background:var(--green);color:white;margin-top:46px;padding:14px;font-size:13px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.lightbox{position:fixed;inset:0;background:rgba(9,18,9,.88);z-index:100;display:none;align-items:center;justify-content:center;padding:28px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1100px,92vw);max-height:90vh}.lightbox img{max-height:82vh;margin:auto;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.4)}.lightbox figcaption{color:white;text-align:center;margin-top:14px}.lightbox-close{position:absolute;top:20px;right:26px;border:0;background:white;color:var(--green);font-size:34px;border-radius:50%;width:52px;height:52px;cursor:pointer}
@media (max-width:980px){.menu-toggle{display:block}.menu{position:absolute;left:0;right:0;top:86px;background:var(--paper);display:none;flex-direction:column;align-items:flex-start;padding:22px;width:100%;box-shadow:var(--shadow)}.menu.open{display:flex}.search input{width:220px}.intro-grid,.award-grid,.today-grid{grid-template-columns:1fr;gap:32px}.timeline{grid-template-columns:repeat(2,1fr)}.timeline:before{display:none}.photo-mosaic{grid-template-columns:1fr}.catalog-row{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:520px}.award-media img{height:330px}}
@media (max-width:620px){.container{width:min(100% - 28px,1180px)}.topbar-inner{gap:8px;flex-wrap:wrap;padding:8px 0}.brand-mark{font-size:25px}.brand-sub{display:none}.hero h1{font-size:38px}.hero-content{padding:50px 0}.lead{font-size:19px}.catalog-row{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.award-media{grid-template-columns:1fr}.section{padding:62px 0}.demo-ribbon{display:none}}
