@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{--cream:#f4efe5;--paper:#fbf9f4;--ink:#28241f;--muted:#756e65;--wine:#702d2a;--dark:#58211f;--gold:#c8a66b;--line:#d9d0c1}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}a{text-decoration:none;color:inherit}.header{height:120px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);position:sticky;top:0;z-index:20;background:#702d2a;backdrop-filter:blur(12px)}.brand img{width:330px;height:auto;display:block;image-rendering:auto}.header nav{display:flex;gap:34px;text-transform:uppercase;letter-spacing:.14em;font-size:10px}.header nav a{color:#fff}.header nav a:hover{color:#dfc58e}.menu{display:none;background:none;border:0;font-size:25px}
.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:48% 52%;background:var(--cream)}.hero-copy{padding:9vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.label{font-size:10px;letter-spacing:.22em;color:var(--wine);font-weight:700;margin-bottom:22px}.hero h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;letter-spacing:-.055em;line-height:.92}.hero h1{font-size:clamp(52px,6.4vw,96px);margin:0}.hero h1 em,h2 em{color:var(--wine)}.hero p{max-width:510px;color:var(--muted);line-height:1.8;font-size:14px;margin:30px 0}.actions{display:flex;gap:24px;align-items:center}.btn{display:inline-flex;padding:15px 22px;border:1px solid var(--wine);background:var(--wine);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.15em;cursor:pointer}.link{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--wine)}.hero-photo{min-height:650px;position:relative;display:grid;grid-template-rows:1fr 1fr;gap:12px;padding:9vw 5.5vw 9vw 0}.hero-photo-stack .hero-photo-item{position:relative;overflow:hidden}.hero-photo-stack img{display:block;width:100%;height:100%;object-fit:cover}.hero-photo-stack .date{right:30px;top:30px}.date{position:absolute;right:30px;top:30px;width:62px;height:62px;border:1px solid var(--gold);border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--cream);color:var(--ink);font-family:"Playfair Display",Georgia,serif;font-size:10px;letter-spacing:.12em;line-height:1.2}.date:after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:11px;height:1px;background:var(--gold)}.date strong{font-family:"Playfair Display";font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.ribbon{padding:16px 6%;background:var(--wine);color:white;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.section{padding:110px 9%}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.split h2,.section-head h2,.contact h2{font-size:clamp(48px,5.2vw,76px);margin:0}.copy p{color:var(--muted);line-height:1.8}.copy .lead,.contact .lead{font-size:22px;line-height:1.45;color:var(--ink)}.photo-small{height:290px;margin-top:40px;background-position:center;background-size:cover;filter:saturate(.8)}
.products{background:#e9e1d4}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-head>p{max-width:370px;color:var(--muted);font-size:13px;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper)}.card-img{height:390px;background-size:cover;background-position:center}.dark-img{filter:saturate(.7)}.card-body{padding:24px}.card-body>span{color:var(--wine);font-size:9px;letter-spacing:.2em}.card h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:30px;margin:11px 0}.card p{color:var(--muted);font-size:12px;line-height:1.7;min-height:102px}.card a{color:var(--wine);font-size:9px;text-transform:uppercase;letter-spacing:.15em}
.streghette{min-height:650px;background-size:cover;background-position:center;position:relative;color:#fff}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,27,23,.82),rgba(45,27,23,.18))}.streghette-copy{position:relative;z-index:1;padding:110px 9%;max-width:760px}.light{color:#dfc58e}.streghette h2{font-size:clamp(52px,6vw,86px);margin:0}.streghette h2 em{color:#dfc58e}.streghette p{max-width:500px;line-height:1.8;color:#eee1da}.light-btn{background:transparent;border-color:#fff;color:#fff;margin-top:15px}
.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.quality-grid h2{font-size:clamp(48px,5.3vw,76px);margin:0}.quality-grid p{color:var(--muted);font-size:14px;line-height:1.8}.quality-grid .lead{font-size:22px;color:var(--ink);line-height:1.45}.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.details{display:grid;gap:8px;margin-top:35px;color:var(--wine);font-size:13px}.hours{display:grid;gap:7px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.contact form{display:grid;gap:21px}.contact label{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.contact input,.contact textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 0;outline:none;font:inherit}.contact input:focus,.contact textarea:focus{border-color:var(--wine)}#status{color:var(--wine);font-size:12px}
footer{padding:18px 6%;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--wine);position:relative}footer:after{content:'';position:absolute;left:0;right:0;bottom:0;height:14px;background:var(--dark)}footer .footer-brand{display:flex;flex-direction:column;align-items:center;gap:2px;transform:translateY(-10px)}footer .footer-tagline{font-size:10px;letter-spacing:.04em;text-transform:none;line-height:1.4;transform:translate(7px,-6px)}footer .footer-contact{display:grid;grid-template-rows:33px 16.5px 16.5px;row-gap:14px;width:330px;box-sizing:border-box;text-transform:none;letter-spacing:.04em;line-height:1.5;font-size:11px;align-items:start}footer .footer-contact a{white-space:nowrap}footer a{color:#fff}footer a:hover{color:#dfc58e}footer img{width:330px;height:auto;transform:translateY(-6px)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:900px){.header nav{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero-photo{min-height:55vh;padding:7vw 7% 7vw 0}.split,.quality-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.cards{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head>p{margin-top:20px}}
@media(max-width:560px){.header{height:105px;padding:0 5%}.brand img{width:235px}.hero-copy{padding:72px 7%}.hero-photo{min-height:50vh;padding:6vw 6% 6vw 0}.ribbon{overflow:auto;justify-content:flex-start;white-space:nowrap}.section{padding:78px 7%}.cards{grid-template-columns:1fr}.card-img{height:360px}.streghette-copy{padding:80px 7%}.values{gap:18px}.actions{flex-wrap:wrap}footer{flex-wrap:wrap;gap:15px}footer .footer-brand{width:100%}footer .footer-contact{width:235px;order:3;display:grid;grid-template-rows:33px 16.5px 16.5px;row-gap:14px;font-size:11px;margin-left:0;align-items:start}footer img{width:235px}}

.brand{align-self:center;transform:translateY(-14px)}


/* Production photo section */
.process{background:#f4f0e8}
.process-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;margin-top:46px}
.process-grid figure{margin:0;overflow:hidden;background:#ddd}
.process-grid img{width:100%;height:100%;object-fit:cover;display:block}
.process-main{min-height:610px}
.process-side{display:grid;grid-template-rows:1fr auto;gap:22px}
.process-side figure{min-height:430px}
.process-caption{padding:22px 2px 8px;display:flex;flex-direction:column;gap:8px}
.process-caption span{font-size:10px;letter-spacing:.18em;color:var(--wine)}
.process-caption strong{font-family:Georgia,serif;font-size:23px;line-height:1.25;font-weight:400;color:var(--ink)}
@media(max-width:800px){
  .process-grid{grid-template-columns:1fr}
  .process-main{min-height:420px}
  .process-side{grid-template-rows:320px auto}
  .process-side figure{min-height:0}
}

.production-wide{margin:34px 0 0;overflow:hidden;background:#ddd}
.production-wide img{display:block;width:100%;height:560px;object-fit:cover;object-position:center 58%}
@media(max-width:800px){.production-wide img{height:390px}}


/* Dedicated inner pages */
.page-hero{padding:78px 9% 38px;background:var(--cream);border-bottom:1px solid var(--line)}
.page-hero .label{margin-bottom:18px}
.page-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(52px,6.5vw,92px);font-weight:500;letter-spacing:-.055em;line-height:.95;margin:0;max-width:900px}
.page-hero h1 em{color:var(--wine)}
.page-hero p{max-width:620px;color:var(--muted);font-size:16px;line-height:1.8;margin:28px 0 0}
.page-content{padding:54px 9% 88px}
.page-split{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}
.page-image{min-height:520px;background-size:cover;background-position:center}
.page-story-image{width:100%;height:300px;background-size:cover;background-position:center;margin-bottom:58px}
.page-copy h2,.page-section h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:clamp(50px,5.2vw,76px);letter-spacing:-.05em;line-height:.98;margin:0 0 22px}
.page-copy h2 em,.page-section h2 em{color:var(--wine)}
.page-copy p,.page-section p{color:var(--muted);font-size:14px;line-height:1.8}
.page-copy .lead,.page-section .lead{font-size:22px;line-height:1.45;color:var(--ink)}
.page-section{padding:88px 9%;background:var(--paper)}
.page-section.alt{background:#e9e1d4}
.page-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.page-card{background:var(--paper)}
.page-card img{display:block;width:100%;height:360px;object-fit:cover}
.page-card .body{padding:24px}
.page-card .body span{color:var(--wine);font-size:9px;letter-spacing:.2em}
.page-card h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:30px;margin:11px 0}
.page-card p{font-size:12px;line-height:1.7;min-height:90px}
.page-card a{display:inline-block;color:var(--wine);font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-top:10px}
.page-contact{background:var(--cream)}
.page-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.page-contact form{display:grid;gap:28px}
.page-contact label{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:#4f4740}
.page-contact input,.page-contact textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:16px 0;outline:none;font:inherit;font-size:17px;line-height:1.5}
.page-contact input:focus,.page-contact textarea:focus{border-color:var(--wine)}
.page-contact .details{display:grid;gap:8px;margin-top:35px;color:var(--wine);font-size:13px}
.page-contact .hours{display:grid;gap:7px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
@media(max-width:900px){.page-split,.page-contact-grid{grid-template-columns:1fr;gap:45px}.page-list{grid-template-columns:1fr 1fr}.page-image{min-height:420px}.page-story-image{height:260px;margin-bottom:45px}}
@media(max-width:560px){.page-hero{padding:62px 7% 50px}.page-content,.page-section{padding:70px 7%}.page-list{grid-template-columns:1fr}.page-card img{height:360px}.page-story-image{height:210px}}

.story-long{background:#fbf9f4}.story-copy{max-width:920px;margin:0 auto}.story-copy p{max-width:860px}.story-copy .label{margin-bottom:14px}




/* Product flavor mini-pages */
.explore{display:inline-block;background:none;border:0;padding:0;color:var(--wine);font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-top:10px;cursor:pointer}
body.modal-open{overflow:hidden}
.product-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:24px;overflow:hidden;box-sizing:border-box}
.product-modal.open{display:flex}
.product-modal-backdrop{position:absolute;inset:0;background:rgba(45,27,23,.72)}
.product-modal-card{position:relative;z-index:1;width:min(520px,100%);background:var(--cream);padding:48px 46px 44px;box-shadow:0 20px 70px rgba(0,0,0,.22);max-height:calc(100vh - 48px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box};max-height:calc(100vh - 48px);overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box
.product-modal-card h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:42px;margin:10px 0 28px;color:var(--ink)}
.product-modal-card ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(112,45,42,.2)}
.product-modal-card li{padding:14px 0;border-bottom:1px solid rgba(112,45,42,.2);font-size:14px;color:var(--ink)}
.flavor-trigger{display:block;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.flavor-trigger:hover{color:var(--wine)}
.flavor-photo{display:none;margin-top:24px;padding-top:24px;border-top:1px solid rgba(112,45,42,.2)}
.flavor-photo.open{display:block}
.flavor-photo img{display:block;width:100%;height:auto;max-height:62vh;object-fit:contain}
.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:30px;line-height:1;color:var(--wine);cursor:pointer}
@media(max-width:560px){.product-modal{padding:16px;align-items:flex-start;overflow:hidden}.product-modal-card{padding:42px 28px 30px;max-height:calc(100vh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.product-modal-card h2{font-size:36px;margin-bottom:24px}}

.home-copy-size{font-size:16px !important}

footer .footer-legal{line-height:1.5;display:grid;grid-template-rows:33px 16.5px 16.5px;row-gap:14px;padding-top:0}.footer-legal .footer-company{min-height:0;display:flex;align-items:flex-start;transform:translateY(16.5px);font-size:10.5px}.footer-policies{margin-top:0}

.legal-page{max-width:1100px;margin:0 auto}.legal-copy{max-width:820px}.legal-copy h2{font-size:clamp(30px,3vw,44px);margin:50px 0 16px}.legal-copy h2:first-of-type{margin-top:0}.legal-copy p{max-width:780px}.legal-copy a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}.footer-policies{display:inline-flex;gap:14px;margin-top:0;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.footer-policies a{text-decoration:none}

.footer-piva{font-size:10.5px}

.bio-certification{padding:130px 7vw;background:var(--paper)}
.bio-certification-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:380px 1fr;gap:130px;align-items:center}
.bio-logo-wrap{display:flex;align-items:center;justify-content:center}
.bio-logo-wrap img{display:block;width:210px;height:auto}
.bio-certification-copy h2{font-size:clamp(60px,5.8vw,84px);line-height:1.08;letter-spacing:-.045em;margin:10px 0 26px}
.bio-certification-copy p{max-width:650px}
.bio-certification-copy .lead{font-size:16px}
.bio-certification-copy .text-link{display:inline-block;margin-top:18px;color:var(--wine);font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}
@media(max-width:760px){
  .bio-certification{padding:90px 7%}
  .bio-certification-inner{grid-template-columns:1fr;gap:35px}
  .bio-logo-wrap{justify-content:flex-start}
  .bio-logo-wrap img{width:170px}
}

.prodotti-streghette-photo{width:100%;margin:0 0 34px;overflow:hidden;border-radius:2px}.prodotti-streghette-photo img{display:block;width:100%;height:360px;object-fit:cover;object-position:center} @media(max-width:760px){.prodotti-streghette-photo{margin-bottom:26px}.prodotti-streghette-photo img{height:240px}}


/* Product cards: three boxes side by side without gaps */
.products-grid,
.product-grid,
.products-cards {
  gap: 0 !important;
}


/* Product cards: force all three cards onto one row with no gap */
.products-grid,
.product-grid,
.products-cards,
.product-cards,
.product-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
}

.products-grid > *,
.product-grid > *,
.products-cards > *,
.product-cards > *,
.product-list > * {
  min-width: 0 !important;
}

/* Product selection: three cards side by side, contiguous */
.page-list{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}
.page-card{
  min-width:0;
}

/* Footer content: slight shift to the left */
footer .footer-inner{
  transform:translateX(-18px);
}
@media(max-width:760px){
  footer .footer-inner{
    transform:translateX(-8px);
  }
}

/* Footer: move the complete content block to the left */
footer .footer-inner{
  transform:translateX(-55px) !important;
}
@media(max-width:760px){
  footer .footer-inner{
    transform:translateX(-20px) !important;
  }
}

/* Footer logo: move only the logo further left */
footer .footer-brand img{
  transform:translateX(-25px);
}
@media(max-width:760px){
  footer .footer-brand img{
    transform:translateX(-12px);
  }
}

/* Footer logo: move only the logo further left */
footer .footer-brand img{
  transform:translateX(-55px) !important;
}
@media(max-width:760px){
  footer .footer-brand img{
    transform:translateX(-28px) !important;
  }
}

/* Footer tagline: place it further left, directly under the logo */
footer .footer-brand .footer-tagline{
  transform:translateX(-55px) !important;
  text-align:center;
}
@media(max-width:760px){
  footer .footer-brand .footer-tagline{
    transform:translateX(-28px) !important;
  }
}

/* Footer contact block: move it slightly left */
footer .footer-contact{
  transform:translateX(-18px);
}
@media(max-width:760px){
  footer .footer-contact{
    transform:translateX(-8px);
  }
}

/* Footer contact block: move it slightly lower */
footer .footer-contact{
  transform:translate(-18px, 10px);
}
@media(max-width:760px){
  footer .footer-contact{
    transform:translate(-8px, 8px);
  }
}


/* Mobile menu: make the hamburger dropdown visible and usable */
@media(max-width:900px){
  .header{
    position:sticky;
  }
  .header .menu{
    display:block;
    color:#fff;
    cursor:pointer;
    position:relative;
    z-index:22;
    padding:8px;
  }
  .header.open nav{
    display:flex;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    gap:0;
    padding:12px 7% 18px;
    background:var(--wine);
    border-top:1px solid rgba(255,255,255,.18);
    box-shadow:0 12px 28px rgba(0,0,0,.16);
  }
  .header.open nav a{
    display:block;
    padding:13px 0;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.12);
    font-size:11px;
    letter-spacing:.14em;
  }
  .header.open nav a:last-child{
    border-bottom:0;
  }
}

/* Mobile refinements requested */
@media(max-width:560px){
  /* Home: keep the production photo in its natural portrait framing */
  .process-main{
    min-height:0 !important;
  }
  .process-main img{
    width:100%;
    height:auto !important;
    object-fit:contain !important;
    object-position:center;
  }

  /* Prodotti: same single-column presentation as the Home cards */
  .page-list{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .page-card img{
    height:360px !important;
    object-fit:cover;
  }

  /* Footer: clean vertical mobile layout */
  footer{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:24px !important;
    padding:34px 7% 30px !important;
    text-align:center;
  }
  footer .footer-brand{
    width:100% !important;
    order:1 !important;
    align-items:center !important;
    transform:none !important;
  }
  footer .footer-brand img{
    width:235px !important;
    transform:none !important;
  }
  footer .footer-brand .footer-tagline{
    width:100%;
    transform:none !important;
    text-align:center !important;
    font-size:10px;
  }
  footer .footer-contact{
    width:auto !important;
    order:2 !important;
    display:grid !important;
    grid-template-rows:auto auto auto !important;
    row-gap:12px !important;
    margin:0 !important;
    transform:none !important;
    text-align:center !important;
    justify-items:center;
    font-size:11px;
  }
  footer .footer-legal{
    order:3 !important;
    display:grid !important;
    grid-template-rows:auto auto auto !important;
    row-gap:12px !important;
    padding:0 !important;
    transform:none !important;
    text-align:center;
    justify-items:center;
  }
  .footer-legal .footer-company{
    transform:none !important;
    font-size:10.5px;
  }
  .footer-piva{font-size:10.5px !important}
  .footer-policies{
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    font-size:10.5px !important;
  }
  footer > a:last-child{
    order:4 !important;
    margin-top:2px;
  }
}
