:root{
  --bg:#fbf7ef; --text:#24170f; --muted:#6b5a4b; --accent:#8b1e16; --accent2:#c79a54; --card:#fffaf2;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial, Helvetica, sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:inherit}
img{max-width:100%}
.nav{position:absolute;z-index:10;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;color:white}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;text-shadow:0 2px 14px #000}
.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#fff}
.nav-links{display:flex;gap:16px;align-items:center}
.nav-links a{color:white;text-decoration:none;font-weight:700;text-shadow:0 2px 12px #000}
.hero{position:relative;min-height:92vh;overflow:hidden;background:#1e130d;color:white}
.hero-image{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)),url('assets/hero1.jpg') center/cover no-repeat}
.hero-content{position:relative;z-index:2;max-width:760px;padding:38vh 5vw 80px}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:800;color:var(--accent2)}
h1{font-size:clamp(2.5rem,8vw,5.7rem);line-height:.95;margin:10px 0 18px}
h2{font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:8px 0 18px}
h3{font-size:1.45rem}
.hero-content p:not(.eyebrow){font-size:clamp(1.05rem,2.5vw,1.35rem);max-width:610px}
.btn{display:inline-flex;padding:13px 20px;border:1px solid rgba(255,255,255,.8);border-radius:999px;text-decoration:none;font-weight:800;margin:8px 8px 0 0;background:rgba(255,255,255,.08);backdrop-filter:blur(5px)}
.btn.primary{background:var(--accent);border-color:var(--accent)}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:0;background:rgba(0,0,0,.35);color:white;width:44px;height:44px;border-radius:50%;font-size:34px;line-height:1;cursor:pointer}
.slider-btn.prev{left:16px}.slider-btn.next{right:16px}
.dots{position:absolute;left:0;right:0;bottom:18px;display:flex;gap:8px;justify-content:center;z-index:4}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer}
.dots button.active{background:white;transform:scale(1.25)}
main{overflow:hidden}
section{padding:72px 5vw}
.intro{text-align:center;max-width:1180px;margin:auto}
.intro>p{max-width:760px;margin-left:auto;margin-right:auto;color:var(--muted)}
.gallery-slider{position:relative;margin-top:34px}
.gallery-track{display:flex;gap:18px;overflow-x:auto;touch-action:pan-y;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 0 22px}
.gallery-track img{flex:0 0 82%;height:360px;object-fit:cover;border-radius:24px;scroll-snap-align:center;cursor:zoom-in;box-shadow:0 18px 45px rgba(50,30,10,.18);user-select:none;-webkit-user-drag:none}
.gallery-slider .slider-btn{background:rgba(36,23,15,.55)}
.gallery-slider .dots{bottom:-10px}
.gallery-slider .dots button{background:rgba(36,23,15,.25)}
.gallery-slider .dots button.active{background:var(--accent)}
.hint{font-size:.95rem}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1100px;margin:auto;padding-top:20px}
.cards article,.prosciutto,.contact{background:var(--card);border:1px solid rgba(139,30,22,.12);border-radius:28px;box-shadow:0 18px 45px rgba(50,30,10,.08)}
.cards article{padding:30px}
.cards li{margin:8px 0}
.prosciutto{max-width:1100px;margin:40px auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;padding:42px}
.contact{max-width:1100px;margin:40px auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:34px}
.contact iframe{width:100%;height:360px;border:0;border-radius:22px}.house-photo{grid-column:2}.house-photo img{width:100%;max-height:520px;object-fit:contain;object-position:center;border-radius:22px;background:#f1e4d0;display:block;box-shadow:0 14px 34px rgba(50,30,10,.12)}
footer{text-align:center;padding:28px;color:var(--muted)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}.no-scroll{overflow:hidden}
.lightbox img{max-height:88vh;max-width:96vw;border-radius:18px;object-fit:contain}
.close{position:absolute;right:22px;top:18px;background:transparent;border:0;color:white;font-size:48px;cursor:pointer}
@media(min-width:800px){.gallery-track img{flex-basis:42%}}
@media(min-width:1120px){.gallery-track img{flex-basis:31%}}
@media(max-width:760px){
  .nav{padding:12px 18px}.brand span{font-size:.95rem}.brand img{width:40px;height:40px}
  .hero-content{padding-top:32vh}
  .slider-btn{display:none}
  section{padding:54px 20px}
  .gallery-track img{height:280px}
  .cards,.prosciutto,.contact{grid-template-columns:1fr}.house-photo{grid-column:1}
  .prosciutto,.contact{padding:26px}
}
