@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --ink:#1b2b1b; --muted:#64705f; --olive:#2c6b20; --deep:#173a18; --red:#c73a20; --cream:#f5f1e8; --line:rgba(27,43,27,.18); --sans:'DM Sans', Arial, sans-serif; --serif:'Playfair Display', Georgia, serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--cream); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.6; }
img { display:block; width:100%; height:100%; object-fit:cover; }
a { color:inherit; text-decoration:none; }
.section-pad { padding-left:clamp(24px,7vw,110px); padding-right:clamp(24px,7vw,110px); }
.site-header { position:fixed; z-index:10; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; min-height:86px; padding:0 clamp(24px,4vw,64px); color:#fff; transition:background .35s, color .35s, min-height .35s; }
.site-header.scrolled { background:rgba(23,58,24,.96); min-height:72px; }
.brand, .footer-brand { display:flex; align-items:center; gap:12px; font-weight:600; line-height:1.05; text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.brand em, .footer-brand em { font-family:var(--serif); font-size:15px; font-style:italic; text-transform:none; letter-spacing:.02em; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; border:1px solid currentColor; border-radius:50%; font-family:var(--serif); font-size:22px; font-style:italic; }
.main-nav { display:flex; gap:clamp(20px,3vw,48px); margin-left:auto; margin-right:clamp(20px,4vw,64px); font-size:12px; text-transform:uppercase; letter-spacing:.11em; }
.main-nav a { opacity:.85; transition:opacity .2s; }.main-nav a:hover { opacity:1; }
.header-cta { border-bottom:1px solid currentColor; padding-bottom:4px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }.header-cta span { margin-left:9px; }
.menu-toggle { display:none; background:none; border:0; color:currentColor; }
.hero, .contact { position:relative; min-height:100svh; overflow:hidden; color:#fff; }
.hero-image { position:absolute; inset:0; background: url('materiale/IMG OK/DSC06970-12.jpg') 50px center / auto 128% no-repeat; background-color:#263b1c; transform:scale(1.04); animation:heroZoom 10s ease-out both; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(13,38,18,.9) 0%, rgba(13,38,18,.65) 35%, rgba(13,38,18,.06) 75%), linear-gradient(0deg,rgba(0,0,0,.35),transparent 50%); }
.hero-content { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; min-height:100svh; max-width:730px; padding:150px clamp(24px,9vw,140px) 90px; }
.eyebrow, .section-label { margin:0 0 22px; color:var(--red); text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:700; }.hero .eyebrow { color:#f2b24d; }
h1,h2,h3,p { margin-top:0; }.hero h1 { margin-bottom:24px; font:500 clamp(52px,7.5vw,112px)/.94 var(--serif); letter-spacing:-.045em; }.hero h1 span, h2 em { color:#e9a945; font-style:italic; }
.hero-copy { max-width:450px; color:rgba(255,255,255,.86); font-size:17px; line-height:1.7; }.button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; width:max-content; margin-top:20px; padding:15px 18px; border:1px solid currentColor; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; transition:background .25s, color .25s, transform .25s; }.button span { font-size:18px; line-height:1; }.button:hover { background:#fff; color:var(--deep); transform:translateY(-3px); }.button-light { color:#fff; }
.hero-note { position:absolute; right:clamp(24px,6vw,90px); bottom:36px; display:flex; gap:28px; color:rgba(255,255,255,.82); text-transform:uppercase; letter-spacing:.13em; font-size:10px; }.scroll-cue { position:absolute; left:clamp(24px,4vw,64px); bottom:36px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.7); font-size:10px; text-transform:uppercase; letter-spacing:.18em; transform:rotate(-90deg); transform-origin:left center; }.scroll-cue span { display:block; width:34px; border-top:1px solid currentColor; }
.intro { display:grid; grid-template-columns:1fr minmax(300px, .9fr) minmax(320px, 1.1fr); gap:clamp(30px,7vw,110px); align-items:center; padding-top:clamp(90px,12vw,190px); padding-bottom:clamp(90px,12vw,190px); }.intro-kicker { align-self:start; padding-top:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.13em; font-size:10px; }.intro-copy h2, .specialita h2, .story h2, .contact h2 { font:500 clamp(42px,5vw,72px)/1 var(--serif); letter-spacing:-.05em; }.intro-copy h2 { margin-bottom:28px; }.intro-copy > p:not(.section-label), .story-copy > p, .contact-content > p { color:var(--muted); max-width:370px; }.text-link { display:inline-flex; align-items:center; gap:18px; margin-top:22px; padding-bottom:6px; border-bottom:1px solid var(--ink); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:700; }.intro-photo { position:relative; height:min(48vw,610px); min-height:400px; }.intro-photo img { object-position:center; }.image-caption { position:absolute; left:0; bottom:0; padding:12px 16px; background:var(--olive); color:#fff; text-transform:uppercase; letter-spacing:.14em; font-size:10px; }
.specialita { background:var(--deep); color:#fff; padding-top:clamp(90px,11vw,160px); padding-bottom:0; }.specialita-head { display:grid; grid-template-columns:1fr minmax(320px,1.4fr) minmax(240px,.8fr); gap:clamp(20px,5vw,90px); align-items:end; }.light-label { color:#f2b24d; }.specialita h2 { margin:0; }.specialita-head > p { margin:0; color:rgba(255,255,255,.62); font-size:15px; }.product-grid { display:grid; grid-template-columns:1.35fr .85fr .85fr; gap:2px; max-width:1400px; margin:clamp(55px,8vw,100px) auto 0; padding:0 clamp(24px,4vw,64px); }.product-grid article { min-width:0; }.product-image { overflow:hidden; height:clamp(300px,40vw,590px); background:#d6c7a5; }.product-card .product-image { height:clamp(260px,31vw,460px); }.product-image img { transition:transform .7s cubic-bezier(.2,.7,.2,1); }.product-grid article:hover .product-image img { transform:scale(1.05); }.product-feature .product-image img { object-position:center; }.product-card--red .product-image img { object-position:center 45%; }.product-card--olive .product-image img { object-position:center 40%; }.product-meta { display:grid; grid-template-columns:38px 1fr 20px; gap:10px; align-items:center; padding:18px 2px; border-bottom:1px solid rgba(255,255,255,.27); }.product-meta span { color:#f2b24d; font-size:10px; letter-spacing:.1em; }.product-meta h3 { margin:0; font:500 clamp(18px,2vw,25px) var(--serif); }.product-arrow { font-size:20px; text-align:right; }.distribution-line { display:flex; align-items:center; gap:20px; padding-top:28px; padding-bottom:28px; color:rgba(255,255,255,.58); text-transform:uppercase; letter-spacing:.14em; font-size:10px; }.distribution-line .line { flex:1; height:1px; background:rgba(255,255,255,.25); }
.story { display:grid; grid-template-columns:minmax(300px,1fr) minmax(320px,.85fr); gap:clamp(45px,10vw,170px); align-items:center; padding-top:clamp(100px,13vw,200px); padding-bottom:clamp(100px,13vw,200px); }.story-visual { position:relative; height:min(60vw,730px); }.story-visual img { object-position:center; }.story-stamp { position:absolute; right:-28px; bottom:12%; display:flex; align-items:center; justify-content:center; flex-direction:column; width:140px; height:140px; background:#f2b24d; border-radius:50%; color:var(--deep); transform:rotate(8deg); text-align:center; text-transform:uppercase; letter-spacing:.11em; font-size:9px; line-height:1.3; }.story-stamp strong { font:500 56px/.8 var(--serif); letter-spacing:-.08em; }.story-copy h2 { margin-bottom:25px; }.values { margin-top:48px; border-top:1px solid var(--line); }.values > div { display:grid; grid-template-columns:30px 1fr; column-gap:14px; padding:18px 0; border-bottom:1px solid var(--line); }.values span { color:var(--red); font-size:10px; }.values strong { font:500 20px var(--serif); }.values p { grid-column:2; margin:3px 0 0; color:var(--muted); font-size:13px; }
.contact { min-height:75svh; }.contact-image { position:absolute; inset:0; background:url('materiale/IMG OK/DSC06921-29.jpg') center 43%/cover; }.contact-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(23,58,24,.94),rgba(23,58,24,.72) 47%,rgba(23,58,24,.15)); }.contact-content { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; min-height:75svh; }.contact h2 { margin:0 0 26px; }.contact-content > p { color:rgba(255,255,255,.78); }.contact-actions { display:flex; align-items:center; gap:34px; margin-top:18px; }.contact-phone { display:flex; flex-direction:column; color:#fff; }.contact-phone span { color:rgba(255,255,255,.64); text-transform:uppercase; font-size:10px; letter-spacing:.12em; }.contact-phone strong { font:500 22px var(--serif); }
.site-footer { display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; padding-top:55px; padding-bottom:25px; }.footer-brand { color:var(--deep); }.footer-address,.footer-links { color:var(--muted); font-size:12px; line-height:1.8; }.footer-links { display:flex; flex-direction:column; align-items:flex-end; }.footer-links a:first-child { color:var(--red); }.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; padding-top:22px; margin-top:25px; border-top:1px solid var(--line); color:var(--muted); text-transform:uppercase; letter-spacing:.11em; font-size:9px; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s ease; }.reveal.is-visible { opacity:1; transform:none; }
@keyframes heroZoom { from { transform:scale(1.12); } to { transform:scale(1.04); } }
@media (max-width: 800px) { .site-header { min-height:72px; }.main-nav,.header-cta { display:none; }.menu-toggle { display:flex; flex-direction:column; gap:7px; padding:8px 0 8px 18px; }.menu-toggle span { display:block; width:25px; border-top:1px solid currentColor; }.site-header.menu-open { background:var(--deep); }.site-header.menu-open .main-nav { position:absolute; display:flex; flex-direction:column; align-items:flex-end; gap:18px; top:72px; left:0; right:0; padding:22px 24px 28px; background:var(--deep); margin:0; }.hero-content { width:100%; padding-top:125px; padding-right:30px; }.hero h1 { max-width:100%; font-size:clamp(46px,12.5vw,76px); letter-spacing:-.08em; overflow-wrap:anywhere; }.hero-copy { max-width:310px; font-size:15px; }.hero-note { left:56px; right:auto; bottom:28px; flex-direction:column; gap:3px; }.scroll-cue { left:20px; bottom:128px; }.hero-image { background-image:url('materiale/IMG OK/DSC06970-18.jpg'); background-position:20% center; background-size:auto 100%; }.intro { grid-template-columns:1fr; gap:38px; }.intro-kicker { grid-row:1; }.intro-photo { min-height:430px; }.specialita-head { grid-template-columns:1fr; gap:24px; }.specialita-head > p { max-width:400px; }.product-grid { grid-template-columns:1fr 1fr; padding:0 24px; gap:30px 8px; }.product-feature { grid-column:1/-1; }.product-feature .product-image { height:110vw; max-height:570px; }.product-card .product-image { height:58vw; }.story { grid-template-columns:1fr; gap:60px; }.story-visual { height:105vw; max-height:680px; }.story-stamp { right:-8px; }.contact-content { padding-top:100px; padding-bottom:100px; }.contact-actions { align-items:flex-start; flex-direction:column; gap:22px; }.site-footer { grid-template-columns:1fr 1fr; }.footer-links { align-items:flex-start; }.footer-bottom { grid-column:1/-1; flex-direction:column; gap:5px; } }
@media (max-width: 800px) { .site-header { min-height:72px; }.main-nav,.header-cta { display:none; }.menu-toggle { display:flex; flex-direction:column; gap:7px; padding:8px 0 8px 18px; }.menu-toggle span { display:block; width:25px; border-top:1px solid currentColor; }.site-header.menu-open { background:var(--deep); }.site-header.menu-open .main-nav { position:absolute; display:flex; flex-direction:column; align-items:flex-end; gap:18px; top:72px; left:0; right:0; padding:22px 24px 28px; background:var(--deep); margin:0; }.hero-content { width:100%; padding-top:125px; padding-right:30px; }.hero h1 { max-width:100%; font-size:clamp(46px,12.5vw,76px); letter-spacing:-.08em; overflow-wrap:anywhere; }.hero-copy { max-width:310px; font-size:15px; }.hero-note { left:56px; right:auto; bottom:28px; flex-direction:column; gap:3px; }.scroll-cue { left:20px; bottom:128px; }.intro { grid-template-columns:1fr; gap:38px; }.intro-kicker { grid-row:1; }.intro-photo { min-height:430px; }.specialita-head { grid-template-columns:1fr; gap:24px; }.specialita-head > p { max-width:400px; }.product-grid { grid-template-columns:1fr 1fr; padding:0 24px; gap:30px 8px; }.product-feature { grid-column:1/-1; }.product-feature .product-image { height:110vw; max-height:570px; }.product-card .product-image { height:58vw; }.story { grid-template-columns:1fr; gap:60px; }.story-visual { height:105vw; max-height:680px; }.story-stamp { right:-8px; }.contact-content { padding-top:100px; padding-bottom:100px; }.contact-actions { align-items:flex-start; flex-direction:column; gap:22px; }.site-footer { grid-template-columns:1fr 1fr; }.footer-links { align-items:flex-start; }.footer-bottom { grid-column:1/-1; flex-direction:column; gap:5px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.hero-image,.reveal { animation:none; transition:none; }.reveal { opacity:1; transform:none; }.product-image img,.button { transition:none; } }
