@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/qkB9XvYC6trAT55ZBi1ueQVIjQTD-JrIH2G7nytkHRyQ8p4wUje6bg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/qkB9XvYC6trAT55ZBi1ueQVIjQTD-JrIH2G7nytkHRyQ8p4wUje6bg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/qkB9XvYC6trAT55ZBi1ueQVIjQTD-JrIH2G7nytkHRyQ8p4wUje6bg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/qkB9XvYC6trAT55ZBi1ueQVIjQTD-JrIH2G7nytkHRyQ8p4wUje6bg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cY9XfjOCX1hbuyalUrK439vogqCz_goCYw7oReyJFYYzbA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cY9AfjOCX1hbuyalUrK4397yjA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cY9AfjOCX1hbuyalUrK4397yjA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cY9AfjOCX1hbuyalUrK4397yjA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --ink:#20241d;
  --parchment:#f7f2e4;
  --parchment-2:#efe7d3;
  --wine:#5c2a3c;
  --wine-deep:#40182a;
  --amber:#c17f34;
  --sage:#5f6e50;
  --blush:#e6b6a9;
  --line: rgba(32,36,29,0.16);
  box-sizing:border-box;
  padding-top: env(safe-area-inset-top,0px);
  padding-bottom: env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#efe9d8; --parchment:#1b1a16; --parchment-2:#242219; --line: rgba(239,233,216,0.18);
  }
}
:root[data-theme="dark"]{
  --ink:#efe9d8; --parchment:#1b1a16; --parchment-2:#242219; --line: rgba(239,233,216,0.18);
}
*{box-sizing:border-box;}
html{scroll-padding-top: env(safe-area-inset-top,0px); scroll-behavior:smooth;}
body{
  margin:0; background:var(--parchment); color:var(--ink);
  font-family:'Karla',sans-serif; font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Newsreader',serif; font-weight:500; margin:0; color:var(--ink);}
p{margin:0 0 1em;}
img{max-width:100%; display:block; border-radius:2px;}
a{color:inherit;}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
.narrow{max-width:640px;}

/* NAV */
header.nav{
  position:sticky; top:0; z-index:50;
  padding-top: calc(env(safe-area-inset-top,0px) + 14px);
  background:color-mix(in srgb, var(--parchment) 92%, transparent);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; padding:0 24px 14px; max-width:1080px; margin:0 auto;}
.brand{font-family:'Newsreader',serif; font-style:italic; font-size:1.25rem; letter-spacing:0.01em;}
.brand span{font-style:normal; display:block; font-family:'Karla',sans-serif; font-size:0.62rem; letter-spacing:0.14em; color:var(--sage); margin-top:2px;}
.nav-cta{
  background:var(--wine); color:#f7f2e4; text-decoration:none;
  padding:9px 16px; border-radius:100px; font-size:0.82rem; font-weight:600;
  white-space:nowrap;
}

/* HERO */
.hero{position:relative; overflow:hidden;}
.hero-grid{display:grid; grid-template-columns: 1.05fr 0.95fr; align-items:stretch; min-height:78vh;}
@media (max-width:860px){ .hero-grid{grid-template-columns:1fr; min-height:auto;} }
.hero-copy{display:flex; flex-direction:column; justify-content:center; padding:48px 24px 40px; gap:22px;}
.eyebrow{font-size:0.78rem; color:var(--wine); letter-spacing:0.02em;}
.hero h1{font-size:clamp(2.5rem,6vw,3.6rem); line-height:1.04; max-width:11ch;}
.hero h1 em{font-style:italic; color:var(--wine);}
.hero-sub{max-width:38ch; color:var(--ink); opacity:0.85; font-size:1.02rem;}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  padding:13px 22px; border-radius:100px; font-weight:600; font-size:0.92rem;
  border:1px solid var(--ink);
}
.btn-primary{background:var(--wine); color:#f7f2e4; border-color:var(--wine);}
.btn-ghost{background:transparent; color:var(--ink);}
.hero-photo{position:relative; min-height:340px;}
.hero-photo img{width:100%; height:100%; object-fit:cover; border-radius:0;}
.hero-photo::after{
  content:attr(data-badge); position:absolute; left:20px; bottom:20px;
  background:rgba(20,20,16,0.55); color:#f7f2e4; font-size:0.76rem; padding:7px 12px; border-radius:100px; letter-spacing:0.02em;
}

/* SECTION */
section{padding:72px 0;}
.section-head{display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:38px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.3rem);}
.section-head .tag{font-size:0.78rem; color:var(--sage); max-width:32ch;}
hr.rule{border:none; border-top:1px solid var(--line); margin:0 0 8px;}

/* CHI SIAMO */
.about{background:var(--parchment-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:44px; align-items:center;}
@media (max-width:780px){ .about-grid{grid-template-columns:1fr;} }
.about-grid img{border-radius:3px;}
.about-copy p{font-size:1.02rem;}
.pillbar{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px;}
.pill{border:1px solid var(--line); border-radius:100px; padding:7px 14px; font-size:0.78rem; color:var(--sage);}

/* ACQUISTO */
.buy-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:780px){ .buy-grid{grid-template-columns:1fr;} }
.buy-card{border:1px solid var(--line); padding:28px 24px; border-radius:3px; background:var(--parchment);}
.buy-card .num{font-family:'Newsreader',serif; font-style:italic; font-size:1.1rem; color:var(--amber); display:block; margin-bottom:10px;}
.buy-card h3{font-size:1.25rem; margin-bottom:10px;}
.buy-card p{font-size:0.92rem; opacity:0.82; margin-bottom:0;}
.notice{
  margin-top:26px; border-left:3px solid var(--wine); padding:14px 18px;
  font-size:0.9rem; background:var(--parchment-2); border-radius:0 3px 3px 0;
}

/* GALLERIA */
.gallery{
  display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:170px; gap:10px;
}
@media (max-width:780px){ .gallery{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px;} }
.gallery figure{margin:0; position:relative; overflow:hidden; border-radius:3px;}
.gallery img{width:100%; height:100%; object-fit:cover;}
.gallery figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:8px 10px;
  font-size:0.72rem; color:#f7f2e4; background:linear-gradient(0deg,rgba(20,18,14,0.75),transparent);
}
.g-tall{grid-row:span 2;}

/* CURA */
.care{background:var(--wine-deep); color:#f2e9de; border-radius:4px; padding:44px 32px;}
.care h2{color:#f2e9de;}
.care-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:30px; margin-top:26px;}
@media (max-width:780px){ .care-grid{grid-template-columns:1fr;} }
.care-col h3{font-size:1.02rem; font-family:'Karla',sans-serif; font-weight:700; color:var(--blush); margin-bottom:10px;}
.care-col p, .care-col li{font-size:0.9rem; opacity:0.92;}
.care-col ul{margin:0; padding-left:1.1em;}
.care-col li{margin-bottom:5px;}

/* RECENSIONI */
.reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:780px){ .reviews{grid-template-columns:1fr;} }
.review{border:1px solid var(--line); border-radius:3px; padding:24px;}
.stars{color:var(--amber); font-size:0.9rem; margin-bottom:12px; letter-spacing:2px;}
.review p{font-size:0.95rem; font-style:italic; font-family:'Newsreader',serif;}
.review .who{font-size:0.78rem; color:var(--sage); font-family:'Karla',sans-serif; font-style:normal;}

/* CONTATTI */
.contact{background:var(--parchment-2); border-top:1px solid var(--line);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;}
@media (max-width:780px){ .contact-grid{grid-template-columns:1fr;} }
.contact-list{list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:14px;}
.contact-list li{display:flex; gap:14px; font-size:0.95rem; align-items:baseline;}
.contact-list b{font-family:'Newsreader',serif; font-style:italic; min-width:90px; color:var(--wine);}

footer.site-footer{padding:30px 24px; text-align:center; font-size:0.76rem; color:var(--sage); border-top:1px solid var(--line);}

@media (prefers-reduced-motion: no-preference){
  .hero-copy, .hero-photo img{ animation: rise 0.9s ease both; }
  .hero-photo img{ animation-delay:0.12s; }
  @keyframes rise{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
}
a:focus-visible, button:focus-visible{outline:2px solid var(--wine); outline-offset:2px;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.map-link{display:inline-block;margin-top:14px;font-size:.9rem;color:var(--wine);}
@media (max-width:860px){.hero-copy.wrap{padding-left:24px!important;padding-top:28px;}}
.about-grid{grid-template-columns:1.1fr 0.9fr;}
.about-grid img.about-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 15%;}
@media (max-width:780px){.about-grid{grid-template-columns:1fr;}}
.gallery figcaption{background:linear-gradient(0deg,rgba(20,18,14,0.85),rgba(20,18,14,0.35) 70%,transparent);padding-top:22px;}
.gallery{grid-auto-flow:dense;}
.g-big{grid-column:span 2;grid-row:span 2;}
.g-wide{grid-column:span 2;}
.g-full{grid-column:1/-1;grid-row:span 2;background:#fff;}
