*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#222;background:#f5f3ef;line-height:1.6}.header{height:82px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:sticky;top:0;z-index:20;border-bottom:1px solid #e6e2dc}.brand{display:flex;align-items:center;height:58px}.brand img{width:54px;height:54px;object-fit:contain}.header nav{display:flex;gap:28px}.header nav a{color:#333;text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.header nav a:hover{opacity:.55}.hero{height:78vh;min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.18))}.hero-content{position:relative;z-index:2;color:#fff;max-width:780px;margin-left:8vw;padding-right:30px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;margin:0 0 18px}.eyebrow.dark{color:#777}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.05;margin:0 0 22px;font-weight:600;letter-spacing:-.03em}.hero p:not(.eyebrow){font-size:19px;max-width:650px;color:#eee;margin:0 0 30px}.button{display:inline-block;text-decoration:none;color:#222;background:#fff;padding:13px 24px;font-size:12px;font-weight:700;letter-spacing:.14em}.section{padding:110px 8vw}.section-title{max-width:820px;margin-bottom:48px}.section-title.centered{text-align:center;margin-left:auto;margin-right:auto}.section h2,.contact h2{font-size:clamp(34px,4vw,54px);line-height:1.12;margin:0 0 18px;font-weight:600;letter-spacing:-.025em}.section-title>p:last-child{color:#666;font-size:18px;max-width:700px}.company-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:stretch}.company-photo{overflow:hidden;background:#ddd}.company-photo img{width:100%;height:100%;display:block;object-fit:cover}.company-photo.large{grid-row:span 2;min-height:620px}.company-text{padding:20px 15px;font-size:18px;color:#4c4c4c}.company-photo.family{height:auto;align-self:start}.company-photo.family img{height:auto;object-fit:contain}.dark-section{background:#232323;color:#fff}.dark-section .eyebrow{color:#aaa}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1150px;margin:0 auto}.features article{border-top:1px solid #666;padding-top:22px}.features span{font-size:13px;color:#aaa;letter-spacing:.1em}.features h3{font-size:29px;margin:12px 0 10px}.features p{color:#c9c9c9;margin:0}.photo-grid{display:grid;gap:30px}.machines{grid-template-columns:repeat(2,1fr)}.products{grid-template-columns:repeat(3,1fr)}figure{margin:0;background:#fff;overflow:hidden}figure img{width:100%;height:430px;object-fit:cover;display:block}figcaption{padding:15px 18px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#555}.machines figure img{height:500px}.gallery-section{background:#eeece7}.contact{background:#ddd9d1;padding:100px 8vw;display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:start}.contact>div:first-child{max-width:700px}.contact-card{background:#fff;padding:34px;font-size:16px;box-shadow:0 10px 30px rgba(0,0,0,.05)}.contact-card p{margin:0 0 20px}.contact-card a{color:#222}.hours{border-top:1px solid #ddd;padding-top:20px}footer{text-align:center;background:#1f1f1f;color:#aaa;padding:28px;font-size:13px}@media(max-width:800px){.header{padding:0 5vw}.header nav{display:none}.section{padding:75px 6vw}.hero-content{margin-left:6vw}.company-grid,.features,.machines,.products,.contact{grid-template-columns:1fr}.company-photo.large{grid-row:auto;min-height:380px}.company-photo.family{height:400px}.contact{gap:35px}.machines figure img,.products figure img{height:360px}.hero{min-height:650px}.hero h1{font-size:44px}}

.materials-section{background:#f5f3ef}
.materials-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.materials-grid article{background:#fff;padding:25px 20px;min-height:235px;border-top:3px solid #2b2b2b}
.materials-grid span{font-size:12px;color:#888;letter-spacing:.1em}
.materials-grid h3{font-size:25px;margin:14px 0 10px}
.materials-grid p{font-size:15px;line-height:1.6;color:#666;margin:0}
@media(max-width:1050px){.materials-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.materials-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.materials-grid{grid-template-columns:1fr}}

/* Foto prodotti: manteniamo l'inquadratura originale senza ritagli */
.products figure{background:#fff}
.products figure img{height:auto;aspect-ratio:auto;object-fit:contain;display:block;width:100%}
.products figcaption{padding:16px 18px 18px;font-size:14px;letter-spacing:.04em;text-transform:none;color:#444;border-top:1px solid #eee}

/* Foto famiglia: sempre visibile per intero */
.company-photo.family{background:#f1efeb}
.company-photo.family img{width:100%;height:auto;display:block;object-fit:contain}


/* Modulo contatti */
.contact-layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:34px;align-items:start}
.contact-form-card{background:#fff;padding:34px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.contact-form-card h3{font-size:30px;margin:0 0 8px;font-weight:600}
.form-intro{color:#666;margin:0 0 24px;font-size:15px}
.contact-form-card form{display:flex;flex-direction:column;gap:16px}
.contact-form-card label{display:flex;flex-direction:column;gap:7px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#444}
.contact-form-card input,.contact-form-card textarea{width:100%;border:1px solid #d7d3cc;background:#faf9f7;padding:13px 14px;font:inherit;font-size:15px;letter-spacing:0;text-transform:none;font-weight:400;color:#222;outline:none;transition:border-color .2s,background .2s}
.contact-form-card textarea{resize:vertical;min-height:145px}
.contact-form-card input:focus,.contact-form-card textarea:focus{border-color:#555;background:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-button{align-self:flex-start;border:0;background:#232323;color:#fff;padding:14px 24px;font-size:12px;font-weight:700;letter-spacing:.14em;cursor:pointer}
.form-button:hover{opacity:.82}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-card{order:2}.contact-form-card{order:1}}
@media(max-width:520px){.form-row{grid-template-columns:1fr}}
