:root{
  --bg:#0f1311;
  --card:#171c19;
  --txt:#eaf2ec;
  --muted:#b8c7bd;

  --brand:#2FA84F;
  --brand2:#7ED957;

  --line:rgba(255,255,255,.10);
  --shadow: 0 18px 45px rgba(0,0,0,.35);
  --radius:18px;
}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(1200px 600px at 10% 0%, rgba(47,168,79,.18), transparent 60%),
              radial-gradient(900px 500px at 90% 10%, rgba(126,217,87,.16), transparent 60%),
              var(--bg);
  color:var(--txt);
  line-height:1.55;
}

a{color:inherit;text-decoration:none}
.container{width:min(1120px, 92%); margin:0 auto}
.pill{
  display:inline-flex; gap:.5rem; align-items:center;
  padding:.35rem .65rem;
  border-radius:999px;
  background: rgba(47,168,79,.08);
  border:1px solid rgba(47,168,79,.25);
  color:#9fe0b4;
  font-size:.9rem;
  backdrop-filter: blur(8px);
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.55rem;
  padding:.9rem 1.05rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:var(--txt);
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
  transition: transform .15s ease, background .15s ease, border .15s ease;
  cursor:pointer;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.22)}
.btn.primary{
  background: linear-gradient(135deg, #2FA84F, #7ED957);
  border:0;
}
.btn.primary:hover{filter: brightness(1.04)}
.btn.small{padding:.7rem .9rem; font-size:.95rem}

header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(11,18,32,.55);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 0;
}
.brand{
  display:flex; align-items:center; gap:.75rem;
}
.brand img{width:42px;height:42px; border-radius:10px}
.brand strong{letter-spacing:.2px}
.navlinks{
  display:flex; align-items:center; gap:1rem;
}
.navlinks a{
  color:var(--muted);
  padding:.55rem .7rem;
  border-radius:999px;
}
.navlinks a:hover{background: rgba(255,255,255,.06); color: var(--txt)}
.navcta{display:flex; gap:.6rem; align-items:center}

.menu-btn{display:none}
@media (max-width: 900px){
  .navlinks{display:none}
  .menu-btn{display:inline-flex}
  .mobile{
    display:none;
    padding:0 0 1rem 0;
  }
  .mobile.open{display:block}
  .mobile a{
    display:block;
    padding:.85rem .2rem;
    border-bottom:1px solid var(--line);
    color:var(--muted);
  }
  .mobile a:hover{color:var(--txt)}
}

.hero{
  padding: 3.2rem 0 2.2rem;
  background:
    linear-gradient(rgba(15,19,17,.80), rgba(15,19,17,.92)),
    url("../img/reali/pdc-shenling-doppia.jpg") center/cover no-repeat;
}

.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 2rem;
  align-items:center;
}
@media(max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
}
h1{
  font-size: clamp(2.05rem, 3.2vw, 3.2rem);
  line-height:1.08;
  margin:.8rem 0 1rem;
}
.lead{color:var(--muted); font-size:1.1rem; margin:0 0 1.3rem}
.hero-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero-card .img{
  height: 240px;
  background: url("../img/reali/centrale-termica.jpg") center/cover no-repeat;
  border-bottom:1px solid var(--line);
}
.hero-card .pad{padding:1.1rem 1.1rem 1.2rem}
.kpis{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:.8rem; margin-top:1rem;
}
.kpi{
  background: rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius: 14px;
  padding:.85rem .85rem;
}
.kpi b{display:block; font-size:1.05rem}
.kpi span{color:var(--muted); font-size:.92rem}

section{padding: 2.4rem 0}
.section-title{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:1rem; margin-bottom:1.1rem;
}
.section-title h2{margin:0; font-size:1.7rem}
.section-title p{margin:0; color:var(--muted)}
.grid3{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.grid2{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1rem;
}

@media(max-width: 900px){ .grid3{grid-template-columns:1fr} .grid2{grid-template-columns:1fr} }
.card{
  background: rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.1rem 1.1rem;
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
}
.card h3{margin:.1rem 0 .45rem}
.card p{margin:0; color:var(--muted)}
.badges{display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.8rem}
.badges .pill{font-size:.85rem}

.split{
  display:grid; grid-template-columns: 1fr 1fr; gap:1.2rem; align-items:start;
}
@media(max-width: 900px){ .split{grid-template-columns:1fr} }
.quote{
  background: linear-gradient(135deg, rgba(39,209,168,.12), rgba(58,160,255,.10));
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.2rem;
}
.quote p{margin:.2rem 0; color:var(--txt)}
.quote small{color:var(--muted)}

.form{
  display:grid; gap:.8rem;
}
.input{
  width:100%;
  padding:.95rem 1rem;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color:var(--txt);
  outline:none;
}
textarea.input{min-height:130px; resize:vertical}
.form .row{
  display:grid; grid-template-columns:1fr 1fr; gap:.8rem;
}
@media(max-width: 700px){ .form .row{grid-template-columns:1fr} }

footer{
  border-top:1px solid var(--line);
  padding: 1.8rem 0;
  color:var(--muted);
}
.foot{
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--txt)}
.note{font-size:.9rem;color:var(--muted)}

.whatsapp-fab{
  position:fixed;
  right: 18px;
  bottom: 18px;
  z-index: 60;
}


/* --- PRO Enhancements --- */
:root{
  --bg:#0f1311;
  --card:#171c19;
  --txt:#eaf2ec;
  --muted:#b8c7bd;

  --brand:#2FA84F;
  --brand2:#7ED957;

  --line:rgba(255,255,255,.10);
  --shadow: 0 18px 45px rgba(0,0,0,.35);
  --radius:18px;
}


body{font-family: var(--font-body); letter-spacing: .1px}
h1,h2,h3,strong{font-family: var(--font-title)}
.card{background: rgba(255,255,255,.045)}
.btn{font-weight:600}
.premium-bar{
  display:flex; flex-wrap:wrap; gap:.6rem; align-items:center;
  padding:.9rem 1rem;
  border:1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.035);
}
.premium-bar b{white-space:nowrap}
.list{
  margin:.8rem 0 0; padding:0; list-style:none;
}
.list li{
  padding:.55rem 0;
  border-bottom:1px solid var(--line);
  color:var(--muted);
}
.list li:last-child{border-bottom:0}
details.faq{
  border:1px solid var(--line);
  border-radius:14px;
  padding:.85rem 1rem;
  background: rgba(255,255,255,.035);
}
details.faq + details.faq{margin-top:.7rem}
details.faq summary{
  cursor:pointer;
  font-weight:700;
  color:var(--txt);
}
details.faq p{margin:.6rem 0 0; color:var(--muted)}


/* PRO gallery */
#realizzazioni .photo{
  height: 220px;
  background-size: cover;
  background-position: center;
  border-bottom:1px solid var(--line);
}
#realizzazioni .section-head{margin-bottom:1rem}
@media (max-width: 720px){
  #realizzazioni .photo{height:190px}
}


/* PRO landing form */
.section{padding:2.4rem 0}
.section.alt{background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));}
.section-head{margin-bottom:1rem}
.pill{display:inline-block; padding:.35rem .65rem; border:1px solid var(--line); border-radius:999px; font-size:.85rem; color:var(--muted)}
.lead{font-size:1.05rem; line-height:1.6; color:rgba(255,255,255,.78); max-width:52ch}
.hero-cta{display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.2rem}
.field{display:block; margin:.7rem 0}
.field span{display:block; font-size:.9rem; color:var(--muted); margin-bottom:.35rem}
.field input,.field textarea{
  width:100%;
  padding:.85rem .9rem;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(0,0,0,.22);
  color: var(--text);
}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.45)}
.form-actions{display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1rem}
.note.small{font-size:.85rem; opacity:.85}
.mini-gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem}
.mini-gallery .mini{height:90px; border-radius:14px; border:1px solid var(--line); background-size:cover; background-position:center}
@media (max-width:720px){
  .lead{font-size:1rem}
  .mini-gallery .mini{height:80px}
}
