
:root{--green:#142317;--green2:#1f3523;--cream:#f4f0e7;--paper:#fffdf8;--gold:#c9a56a;--ink:#171b18;--muted:#6c746d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
img{display:block;max-width:100%}a{text-decoration:none;color:inherit}
.topbar{position:fixed;z-index:20;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(20,35,23,.9);backdrop-filter:blur(16px);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.wordmark{font-family:Georgia,serif;font-size:1.28rem;letter-spacing:.13em}.topbar nav{display:flex;align-items:center;gap:1.5rem;font-size:.95rem}.cta-small{border:1px solid rgba(255,255,255,.55);padding:.55rem .9rem;border-radius:999px}.menu-btn{display:none;background:none;border:0;color:white;font-size:1.6rem}
.hero{height:min(880px,92vh);min-height:620px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,10,.82),rgba(8,18,10,.28) 60%,rgba(8,18,10,.15))}
.hero-copy{position:absolute;left:8vw;bottom:12vh;max-width:700px}.kicker{font-size:.78rem;letter-spacing:.2em;font-weight:800;margin:0 0 1rem}.kicker.dark{color:#31543a}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;margin:0;line-height:1.02}h1{font-size:clamp(3.1rem,7vw,6.7rem);letter-spacing:-.04em}.hero-copy>p:not(.kicker){font-size:1.1rem;line-height:1.6;max-width:570px;margin:1.4rem 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;border-radius:999px;font-weight:700}.btn-primary{background:#fff;color:var(--green)}.btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}.darkbtn{background:var(--green);color:#fff}
.intro{padding:8rem 8vw 4rem;max-width:1050px}.intro h2{font-size:clamp(2.4rem,5vw,4.6rem);letter-spacing:-.03em}.intro>p:last-child{font-size:1.15rem;line-height:1.7;color:var(--muted);max-width:800px}
.categories{padding:0 0 7rem}.category{padding:3rem 0 4rem}.category-head{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end;padding:0 8vw 1.6rem}.category-head h3{font-size:clamp(2.1rem,4.5vw,4rem)}.category-head>p{color:var(--muted);line-height:1.6;margin:0 0 .4rem}
.slider{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,34vw);gap:14px;overflow-x:auto;padding:0 8vw 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-inline:contain}.slide{margin:0;scroll-snap-align:start;border-radius:18px;overflow:hidden;background:#ddd;aspect-ratio:4/5}.slide img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.slide:hover img{transform:scale(1.025)}
.atmosphere{background:var(--green);color:white;padding:7rem 0}.atmosphere-copy{padding:0 8vw 2rem;max-width:860px}.atmosphere h2{font-size:clamp(2.8rem,5vw,5rem)}.atmosphere-copy>p:last-child{max-width:680px;line-height:1.7;color:#dce4dd}.slider.wide{grid-auto-columns:minmax(300px,38vw)}.slider.wide .slide{aspect-ratio:4/5}
.booking{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:7rem 8vw;background:var(--cream)}.booking h2{font-size:clamp(2.7rem,5vw,4.7rem)}.booking p:last-child{color:var(--muted);font-size:1.05rem}
.contact{display:grid;grid-template-columns:1fr 260px;gap:3rem;align-items:center;padding:7rem 8vw;background:#0d1710;color:white}.contact h2{font-size:clamp(2.2rem,4.4vw,4.2rem);line-height:1.12}.logo{width:230px;border-radius:50%;justify-self:end}
footer{display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 5vw;background:#09110b;color:#cdd5cf;font-size:.86rem}
@media(max-width:800px){
  .topbar{height:64px;padding:0 5vw}.menu-btn{display:block}.topbar nav{position:absolute;top:64px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:1.2rem 5vw 1.5rem;background:rgba(20,35,23,.97)}.topbar nav.open{display:flex}
  .hero{min-height:640px}.hero-copy{left:6vw;right:6vw;bottom:9vh}.hero-copy>p:not(.kicker){font-size:1rem}
  .intro{padding:6rem 6vw 3rem}.category-head{grid-template-columns:1fr;padding:0 6vw 1.2rem;gap:.7rem}.slider{grid-auto-columns:78vw;padding:0 6vw 14px}.slider.wide{grid-auto-columns:82vw}
  .booking{grid-template-columns:1fr;padding:5rem 6vw}.contact{grid-template-columns:1fr;padding:5rem 6vw}.logo{justify-self:start;width:160px}footer{flex-direction:column;padding:1.2rem 6vw}
}

/* Copertina ZIP 3: solo foto, senza grafica o testo */
.hero-photos{background:#111}
.hero-slideshow{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-slide.active{opacity:1}

/* Testo elegante sopra le 3 foto scorrevoli */
.hero-shade{
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.42));
}
.hero-welcome{
  position:relative; z-index:3;
  max-width:900px; margin:0 auto; padding:0 24px;
  text-align:center; color:#fff;
  text-shadow:0 2px 16px rgba(0,0,0,.55);
}
.hero-welcome h1{
  margin:0 0 14px;
  font-size:clamp(2rem,5vw,4.7rem);
  line-height:1.03;
  font-weight:700;
  letter-spacing:-.03em;
}
.hero-welcome p{
  margin:0 auto;
  max-width:760px;
  font-size:clamp(1rem,2vw,1.35rem);
  line-height:1.5;
  font-weight:400;
}
@media (max-width:700px){
  .hero-welcome{padding:0 20px}
  .hero-welcome h1{font-size:clamp(2rem,10vw,3.2rem)}
  .hero-welcome p{font-size:1.05rem}
}

/* Aggiornamento hero: grafica elegante AL CENTRO della prima pagina */
.hero-welcome{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:4 !important;
  width:min(88%, 820px) !important;
  margin:0 !important;
  padding:28px 30px !important;
  text-align:center !important;
  color:#fff !important;
  background:rgba(18,28,22,.42) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:22px !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.28) !important;
  text-shadow:0 2px 14px rgba(0,0,0,.52) !important;
}
.hero-welcome h1{
  margin:0 0 12px !important;
  font-size:clamp(2rem,4.8vw,4.2rem) !important;
  line-height:1.05 !important;
}
.hero-welcome p{
  margin:0 auto !important;
  max-width:680px !important;
  font-size:clamp(1rem,1.8vw,1.3rem) !important;
  line-height:1.5 !important;
}
@media (max-width:700px){
  .hero-welcome{
    width:86% !important;
    padding:22px 18px !important;
    border-radius:18px !important;
  }
  .hero-welcome h1{
    font-size:clamp(1.8rem,8.8vw,2.8rem) !important;
  }
  .hero-welcome p{
    font-size:1rem !important;
  }
}
