
:root{
  --ink:#211915; --wine:#5d1725; --wine2:#7c2538; --cream:#f6f0e7;
  --paper:#fffdf9; --gold:#aa8150; --muted:#71655d; --line:#ded2c5;
  --shadow:0 18px 55px rgba(31,20,13,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper);line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 38px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(120,95,75,.18)}
.nav{min-height:74px;display:flex;align-items:center;gap:20px}
.brand{font-weight:700;letter-spacing:.03em;text-decoration:none;font-size:1.25rem;white-space:nowrap}
.brand small{font-weight:400;color:var(--muted);font-size:.78rem;margin-left:.5rem}
.navlinks{display:flex;gap:17px;margin-left:auto;align-items:center;font-family:Arial,sans-serif;font-size:.88rem}
.navlinks a{text-decoration:none}
.navlinks a:hover{color:var(--wine)}
.lang-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-left:8px}
.lang-switch button{border:0;background:transparent;padding:7px 10px;cursor:pointer;font-weight:700;color:var(--muted)}
.lang-switch button.active{background:var(--wine);color:white}
.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:white;border-radius:8px;padding:7px 10px;font-size:1.1rem}
.hero{position:relative;min-height:76vh;display:grid;place-items:center;color:white;overflow:hidden;background:#271b17}
.hero:before{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(20,12,10,.78),rgba(20,12,10,.30)),
 url('images/hero-vigneto.jpg') center/cover no-repeat;transform:scale(1.015)}
.hero-content{position:relative;z-index:1;padding:90px 0;width:100%}
.eyebrow{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:#e8d7bd}
h1,h2,h3{line-height:1.1;margin:0 0 16px}
h1{font-size:clamp(3.25rem,8vw,7rem);max-width:850px;font-weight:500}
h1 em{display:block;font-size:.33em;font-style:normal;letter-spacing:.08em;text-transform:uppercase;margin-top:16px}
.hero p{font-size:clamp(1.08rem,2vw,1.35rem);max-width:650px;color:#f5ede3}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;text-decoration:none;padding:12px 18px;border-radius:999px;font-family:Arial,sans-serif;font-weight:700;font-size:.9rem;border:1px solid transparent}
.btn-primary{background:white;color:var(--wine)}
.btn-ghost{border-color:rgba(255,255,255,.65);color:white}
.btn-dark{background:var(--wine);color:white}
section{padding:92px 0}
.section-intro{max-width:790px;margin-bottom:42px}
.section-intro h2{font-size:clamp(2.2rem,5vw,4rem);font-weight:500}
.section-intro p{font-size:1.1rem;color:var(--muted)}
.story-grid,.method-grid,.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.photo-card{border-radius:4px;overflow:hidden;box-shadow:var(--shadow);background:#eee}
.photo-card img{width:100%;height:100%;object-fit:cover}
.tall{aspect-ratio:4/5}.wide{aspect-ratio:4/3}
.quote{border-left:3px solid var(--gold);padding-left:22px;font-size:1.35rem;font-style:italic}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.kpi{border-top:1px solid var(--line);padding-top:16px}
.kpi strong{display:block;font-size:2rem;color:var(--wine);line-height:1}
.kpi span{color:var(--muted);font-family:Arial,sans-serif;font-size:.82rem}
.band{background:var(--cream)}
.products{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.product{background:white;border:1px solid var(--line);box-shadow:0 10px 30px rgba(35,20,12,.05)}
.product-media{display:grid;grid-template-columns:1.15fr .85fr;min-height:370px}
.product-media img{width:100%;height:100%;object-fit:cover}
.product-media .label-img{object-fit:contain;padding:22px;background:#fff}
.product-body{padding:26px}
.product h3{font-size:2rem;font-weight:500}
.badge{display:inline-block;font-family:Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--gold);border-radius:999px;padding:5px 9px;color:#76552f;margin-bottom:12px}
.note{background:#fbf6ee;border:1px solid #e6d7c5;padding:16px 18px;border-radius:5px;color:#64584f;font-family:Arial,sans-serif;font-size:.9rem}
.route{background:#1b1513;color:white}
.route .section-intro p{color:#d6c9c0}
.route-image{background:#0f0d0c;border:1px solid #50433d;padding:22px;box-shadow:var(--shadow)}
.route-image img{margin:auto}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:24px;font-family:Arial,sans-serif}
.step{border-top:1px solid #74635a;padding-top:14px;color:#e6dbd3}
.step b{display:block;color:#d0aa77;margin-bottom:4px}
.experiences{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.experience{position:relative;overflow:hidden;min-height:390px;background:#222}
.experience img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.4s transform}
.experience:hover img{transform:scale(1.03)}
.experience:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,9,7,.80),rgba(14,9,7,.05) 70%)}
.experience div{position:absolute;z-index:2;bottom:0;padding:24px;color:white}
.experience h3{font-size:1.8rem}
.status{display:inline-block;background:#f1d9aa;color:#4b3218;padding:5px 9px;border-radius:999px;font-family:Arial,sans-serif;font-size:.72rem;font-weight:700;text-transform:uppercase}
.gallery{columns:3 280px;column-gap:14px}
.gallery img{width:100%;margin:0 0 14px;border-radius:3px;break-inside:avoid}
.contact-card{background:var(--wine);color:white;padding:38px}
.contact-card h2{font-size:3rem;font-weight:500}
.contact-card a{color:white}
.contact-details{font-family:Arial,sans-serif}
.contact-details p{margin:9px 0}
.map-link{display:block;border:1px solid rgba(255,255,255,.35);padding:14px;margin-top:20px;text-align:center;text-decoration:none}
footer{background:#181210;color:#ddd0c8;padding:38px 0;font-family:Arial,sans-serif;font-size:.84rem}
.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:#fff}
.small{font-size:.84rem;color:var(--muted);font-family:Arial,sans-serif}
[lang="en"] .lang-it{display:none!important}
[lang="it"] .lang-en{display:none!important}
@media(max-width:900px){
 .navlinks{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
 .navlinks.open{display:flex}.menu-btn{display:block}.lang-switch{margin-left:0}
 .story-grid,.method-grid,.contact-grid{grid-template-columns:1fr;gap:30px}
 .products{grid-template-columns:1fr}.experiences{grid-template-columns:1fr 1fr}
 .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 section{padding:66px 0}.hero{min-height:70vh}
 .experiences{grid-template-columns:1fr}.kpis{grid-template-columns:1fr}
 .product-media{grid-template-columns:1fr;min-height:0}.product-media img{max-height:360px}
 .steps{grid-template-columns:1fr}.brand small{display:none}
}
