@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Jost:wght@200;300;400;500&display=swap');

:root{
  --verde:#3D5938; --verde-m:#4A6741; --verde-c:#6A9460;
  --rosa:#C4899A; --rosa-sc:#96506E; --rosa-p:#F5EAF0;
  --beige:#C4A882; --crema:#FAFAF6; --avorio:#F2E4D3;
  --testo:#2E2E26; --grigio:#8A8A78; --scuro:#202D26;
  --radius:10px;
  --shadow:0 10px 34px rgba(32,45,38,.1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--crema);color:var(--testo);overflow-x:hidden}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:400}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* ---------- NAV ---------- */
.top-nav{
  position:absolute;top:0;left:0;right:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px 32px;
}
.top-nav .brand{display:flex;align-items:center;gap:10px;color:var(--crema)}
.top-nav .brand img{width:34px;height:34px;object-fit:contain}
.top-nav .brand span{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:.02em}
.top-nav .back{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--crema);
  opacity:.85;border:1px solid rgba(250,250,246,.4);padding:9px 16px;border-radius:30px;
  transition:opacity .2s;
}
.top-nav .back:hover{opacity:1}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:78vh;display:flex;align-items:flex-end;
  color:var(--crema);padding:90px 0 64px;
  background:linear-gradient(180deg, rgba(32,45,38,.2) 0%, rgba(32,45,38,.35) 45%, rgba(32,45,38,.88) 100%),
             url('img/acqua-luogo.jpg') center/cover no-repeat;
}
.hero-eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--avorio);opacity:.85;margin-bottom:14px}
.hero h1{font-size:clamp(42px,7vw,72px);line-height:1.05;margin-bottom:16px}
.hero h1 em{color:var(--rosa);font-style:italic}
.hero-sub{font-size:clamp(15px,2vw,18px);font-weight:300;max-width:520px;line-height:1.6;opacity:.94}

/* ---------- INTRO ---------- */
.intro{padding:80px 0 40px;text-align:center}
.intro-kicker{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(20px,3vw,26px);
  color:var(--verde-m);max-width:640px;margin:0 auto 22px;line-height:1.4;
}
.intro p{max-width:620px;margin:0 auto;font-size:15px;line-height:1.85;color:var(--grigio)}

/* ---------- CASE ---------- */
.case{padding:40px 0 90px}
.case-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:20px;
}
.casa-card{
  background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column;
}
.casa-photo{
  height:260px;position:relative;cursor:pointer;
  background:linear-gradient(135deg,var(--rosa-p) 0%,var(--avorio) 100%);
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;
}
.casa-photo svg{width:44px;height:44px;stroke:var(--rosa-sc);opacity:.55}
.casa-photo .tag,.casa-photo .photo-count{
  position:absolute;top:14px;right:14px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(255,255,255,.88);color:var(--rosa-sc);padding:5px 10px;border-radius:20px;
}

/* ---------- GALLERY STRIP ---------- */
.casa-gallery{
  display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;margin-top:2px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
}
.casa-gallery img{
  flex:0 0 64px;height:64px;object-fit:cover;border-radius:8px;cursor:pointer;
  scroll-snap-align:start;transition:transform .15s;
}
.casa-gallery img:active{transform:scale(.94)}

/* ---------- LIGHTBOX ---------- */
.lightbox{
  position:fixed;inset:0;background:rgba(20,26,20,.96);z-index:1000;
  display:none;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s;
}
.lightbox.open{display:flex;opacity:1}
.lightbox img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:4px}
.lb-close,.lb-prev,.lb-next{
  position:absolute;background:rgba(255,255,255,.12);color:var(--crema);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;font-size:22px;line-height:1;
}
.lb-close{top:20px;right:20px}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-next{right:16px;top:50%;transform:translateY(-50%)}
.lb-counter{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  color:rgba(250,250,246,.7);font-size:12px;letter-spacing:.06em;
}
@media (max-width:600px){
  .lb-prev{left:6px}
  .lb-next{right:6px}
}
.casa-body{padding:30px 28px 32px;display:flex;flex-direction:column;gap:14px;flex:1}
.casa-body h3{font-size:26px;color:var(--verde)}
.casa-body .desc{font-size:14.5px;line-height:1.75;color:var(--testo);opacity:.85}
.casa-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:2px}
.casa-meta .m{font-size:12px;color:var(--grigio);display:flex;align-items:center;gap:6px}
.casa-meta .m svg{width:14px;height:14px;stroke:var(--verde-c)}
.casa-actions{margin-top:auto;padding-top:10px;display:flex;gap:10px;flex-wrap:wrap}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;background:var(--verde);color:var(--crema);
  padding:12px 22px;border-radius:30px;font-size:12.5px;letter-spacing:.03em;
}
.btn-primary svg{width:14px;height:14px;stroke:var(--crema)}
.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--verde);
  padding:11px 21px;border-radius:30px;font-size:12.5px;letter-spacing:.03em;
  border:1px solid rgba(61,89,56,.3);
}

/* ---------- CIRCUITO / CONTATTO ---------- */
.circuito{
  background:var(--verde);color:var(--crema);padding:70px 0;text-align:center;
}
.circuito h2{font-size:clamp(26px,4vw,34px);margin-bottom:16px}
.circuito p{max-width:560px;margin:0 auto 26px;font-size:14.5px;line-height:1.8;opacity:.9}
.circuito .btn-primary{background:var(--crema);color:var(--verde)}
.circuito .btn-primary svg{stroke:var(--verde)}

/* ---------- FOOTER ---------- */
footer{background:var(--scuro);padding:40px 24px;text-align:center}
.f-back{display:inline-block;margin-bottom:18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,250,246,.6)}
.f-copy{font-size:.62rem;letter-spacing:.1em;color:rgba(250,250,246,.35);margin-bottom:8px}
.f-legal{font-size:.6rem;letter-spacing:.06em;color:rgba(250,250,246,.55);line-height:1.7;max-width:640px;margin:0 auto}

@media (max-width:760px){
  .case-grid{grid-template-columns:1fr}
  .top-nav{padding:20px}
  .top-nav .brand span{display:none}
}
