:root{
  --green:#a0ce4e; --green-dark:#339966; --blue:#015ab2; --brown:#4d3717;
  --text:#747474; --heading:#333; --grey:#f8f8f8; --line:#e0dede;
  --footer:#363839; --footer-2:#282a2b; --footer-text:#8c8989;
  --wrap:1100px; --header-h:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;font:16px/1.7 Raleway,Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--green)}
h1,h2,h3{color:var(--heading);font-weight:400;line-height:1.3;margin:0 0 .6em}
strong{font-weight:700}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:820px;margin-left:auto;margin-right:auto}
.center{text-align:center}
.skip{position:absolute;left:-9999px}
.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:200}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.logo img{height:auto;width:170px}
.nav{display:flex;gap:28px}
.nav a{color:var(--heading);text-decoration:none;font-size:15px;padding:24px 0;border-top:3px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav a.is-active{color:var(--green);border-top-color:var(--green)}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--heading);margin:5px 0}

/* Hero */
.hero{position:relative;background:var(--grey);padding:0 30px}
.hero img{width:100%;max-height:550px;object-fit:cover}
.hero-title{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);margin:0;
  background:rgba(255,255,255,.75);padding:.15em .8em;font:400 clamp(24px,3.4vw,44px)/1.3 Georgia,"Times New Roman",serif;color:#333;white-space:nowrap}

/* Sezioni */
.sec{padding:50px 0}
.sec-grey{background:var(--grey);padding:30px 0 20px}
.sec-texture{background:var(--grey) url(/assets/img/bkgd_bw2.jpg) center/cover;padding:40px 0}
.title{font-size:clamp(26px,3vw,36px)}
.sep{border:0;border-top:1px solid var(--line);margin:24px auto 0;max-width:820px}
#prestazioni .sep{margin:10px auto 36px}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:820px;margin:0 auto}
.align-center{align-items:center}

.card{background:#fff;padding:30px;box-shadow:0 2px 10px rgba(0,0,0,.08);max-width:360px;justify-self:center}
.values{text-align:center;color:var(--heading);font-size:18px}
.values p{margin:0 0 14px}
.values p:last-child{margin:0}
.values strong{display:block;color:var(--green-dark)}
.values-logo{margin:0 auto;max-width:260px}

.checklist ul{list-style:none;margin:0;padding:0}
.checklist li{position:relative;padding-left:26px;margin-bottom:8px;font-size:14px;line-height:1.5}
.checklist li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;
  background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat}

.band-blue{position:relative;background:var(--blue);padding:34px 20px;text-align:center}
.band-blue h2{color:#fff;margin:0;font-size:clamp(22px,2.4vw,28px)}
.band-blue::after{content:"";position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);
  border:14px solid transparent;border-bottom:0;border-top-color:var(--blue)}
.service p{margin:0;color:var(--heading);font-size:18px}
.service strong{display:block}
.phone{font-size:clamp(22px,2.5vw,28px);color:var(--heading);margin:30px 0 0}
.phone a{color:inherit;text-decoration:none}

.band-green{background:var(--green);color:#fff;padding:40px 0;font-size:18px}
.cols-5x1000{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:center;max-width:860px}
.cols-5x1000 p{margin:0 0 14px}

.cols-mandorlo{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;max-width:820px;margin:0 auto 30px}
.mandorlo-head h2{color:var(--brown);font-weight:700;font-size:clamp(24px,2.6vw,30px)}
.mandorlo-head .sub{color:var(--brown);font-weight:600;font-size:17px;margin:0}
.mandorlo-text{font-size:14px}
.mandorlo-text .lead{font-size:18px;color:var(--heading)}
.mandorlo-text h3{font-size:15px;text-transform:uppercase;margin-top:1.4em}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;text-transform:uppercase;
  font-size:13px;font-weight:700;padding:10px 22px;margin-top:10px;transition:background .2s}
.btn:hover{background:#8bb83c}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery a{display:block;overflow:hidden}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}
.gallery a:hover img{transform:scale(1.04)}

#contattaci{padding:30px 20px}
.btn-outline{display:inline-block;border:2px solid var(--heading);color:var(--heading);text-decoration:none;
  text-transform:uppercase;font-size:13px;font-weight:600;padding:12px 24px;transition:background .2s,color .2s;word-break:break-word}
.btn-outline:hover{background:var(--heading);color:#fff}

/* Footer */
.site-footer{color:var(--footer-text);font-size:14px}
.footer-main{background:var(--footer);padding:40px 20px}
.footer-logo{margin:0 auto 16px;width:200px}
.footer-main p{margin:0}
.footer-copy{background:var(--footer-2);color:var(--text);padding:16px 20px;font-size:12px}
.footer-copy a{color:var(--footer-text)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lightbox img{max-width:90vw;max-height:88vh}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:44px;cursor:pointer;padding:10px 18px;line-height:1}
.lb-close{top:10px;right:10px}
.lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.lb-next{right:10px;top:50%;transform:translateY(-50%)}

/* Pagina privacy */
.page{padding:50px 0 60px}
.page h1{font-size:34px}
.page h2{font-size:24px;margin-top:1.6em}
.page h3{font-size:18px;margin-top:1.2em}

/* Responsive */
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid #eee}
  .nav.open{display:flex}
  .nav a{padding:14px 20px;border-top:1px solid #eee}
  .nav a:hover,.nav a.is-active{border-top-color:#eee}
  .gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .hero{padding:0}
  .hero img{height:280px}
  .cols-2,.cols-3,.cols-5x1000,.cols-mandorlo{grid-template-columns:1fr;gap:24px}
  .cols-5x1000 img{max-width:220px;margin:0 auto}
  .band-green{text-align:center}
  .checklist{max-width:340px}
}
