/* ===== PrivacyHome - Daniele Santaera ===== */

:root{
  --arancio:#E8662A;
  --arancio-scuro:#C9531E;
  --grigio:#3F4045;
  --grigio-chiaro:#6B6C71;
  --bg:#FAFAF8;
  --bianco:#FFFFFF;
  --bordo:#E6E4DF;
  --max:1140px;
  --r:10px;
}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--grigio);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--arancio);text-decoration:none}
a:hover{color:var(--arancio-scuro)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ===== Header ===== */
header{
  background:var(--bianco);
  border-bottom:1px solid var(--bordo);
  position:sticky;top:0;z-index:100;
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  height:78px;
}
.nav img{height:42px;width:auto;display:block}
.menu{display:flex;gap:34px;align-items:center;list-style:none}
.menu a{
  color:var(--grigio);font-weight:500;font-size:.96rem;
  letter-spacing:.01em;transition:color .15s;
}
.menu a:hover,.menu a.active{color:var(--arancio)}
.menu .btn-nav{
  background:var(--arancio);color:#fff;padding:10px 20px;border-radius:var(--r);
}
.menu .btn-nav:hover{background:var(--arancio-scuro);color:#fff}
.burger{display:none;background:none;border:0;cursor:pointer;font-size:1.6rem;color:var(--grigio)}

/* ===== Hero ===== */
.hero{
  padding:96px 0 88px;
  background:
    radial-gradient(900px 400px at 85% -10%, rgba(232,102,42,.10), transparent 60%),
    var(--bg);
}
.hero .eyebrow{
  display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--arancio);margin-bottom:20px;
}
.hero h1{
  font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12;font-weight:800;
  color:var(--grigio);max-width:18ch;letter-spacing:-.02em;
}
.hero h1 span{color:var(--arancio)}
.hero p{
  font-size:1.18rem;color:var(--grigio-chiaro);max-width:56ch;margin:26px 0 38px;
}
.cta-row{display:flex;gap:16px;flex-wrap:wrap}

.btn{
  display:inline-block;font-weight:600;font-size:1rem;
  padding:15px 30px;border-radius:var(--r);transition:.18s;cursor:pointer;border:0;
}
.btn-primary{background:var(--arancio);color:#fff}
.btn-primary:hover{background:var(--arancio-scuro);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--grigio);border:1.5px solid var(--bordo)}
.btn-ghost:hover{border-color:var(--arancio);color:var(--arancio)}

/* ===== Sezioni ===== */
.section{padding:84px 0}
.section.alt{background:var(--bianco);border-block:1px solid var(--bordo)}
.section-head{max-width:60ch;margin-bottom:52px}
.section-head .eyebrow{
  font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--arancio);display:block;margin-bottom:14px;
}
.section-head h2{font-size:clamp(1.7rem,3.5vw,2.3rem);font-weight:800;color:var(--grigio);letter-spacing:-.01em}
.section-head p{margin-top:16px;font-size:1.08rem;color:var(--grigio-chiaro)}

/* ===== Card servizi ===== */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.card{
  background:var(--bianco);border:1px solid var(--bordo);border-radius:14px;
  padding:38px 34px;transition:.2s;
}
.section.alt .card{background:var(--bg)}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(63,64,69,.08);border-color:#dcd9d2}
.card .num{
  font-size:.85rem;font-weight:700;color:var(--arancio);letter-spacing:.1em;
  display:block;margin-bottom:16px;
}
.card h3{font-size:1.32rem;font-weight:700;margin-bottom:12px;color:var(--grigio)}
.card p{color:var(--grigio-chiaro);font-size:1rem}
.card ul{margin-top:16px;padding-left:20px;color:var(--grigio-chiaro)}
.card li{margin-bottom:6px}

/* ===== Banda corsi ===== */
.banda{
  background:var(--grigio);color:#fff;border-radius:18px;
  padding:54px 48px;display:flex;align-items:center;justify-content:space-between;
  gap:40px;flex-wrap:wrap;
}
.banda h2{font-size:1.8rem;font-weight:800;max-width:20ch;letter-spacing:-.01em}
.banda p{color:#C9CACE;margin-top:12px;max-width:46ch}
.banda .btn-primary{white-space:nowrap}

/* Variante chiara (Privacy Home Academy) */
.banda-chiara{
  background:var(--bianco);color:var(--grigio);border:1px solid var(--bordo);
  flex-direction:column;align-items:flex-start;gap:24px;
}
.banda-chiara h2{color:var(--grigio)}
.banda-chiara p{color:var(--grigio-chiaro);max-width:none}
.banda-corsi{margin-top:16px;padding-left:20px;display:grid;gap:10px}
.banda-corsi li{color:var(--grigio-chiaro);line-height:1.55}
.banda-corsi strong{color:var(--grigio)}

/* ===== Form contatti ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.info-block h3{font-size:1.05rem;font-weight:700;margin-bottom:6px;color:var(--grigio)}
.info-block p{color:var(--grigio-chiaro);margin-bottom:24px;font-size:.98rem}
.info-block .label{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--arancio);font-weight:600;
}

form{display:grid;gap:18px}
.field{display:grid;gap:7px}
.field label{font-size:.9rem;font-weight:600;color:var(--grigio)}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;border:1.5px solid var(--bordo);border-radius:var(--r);
  font-family:inherit;font-size:1rem;color:var(--grigio);background:var(--bianco);transition:.15s;
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--arancio);box-shadow:0 0 0 3px rgba(232,102,42,.12);
}
.field textarea{resize:vertical;min-height:130px}
.consenso{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--grigio-chiaro)}
.consenso input{width:auto;margin-top:4px}
.note{font-size:.82rem;color:var(--grigio-chiaro)}

/* ===== Footer ===== */
footer{background:var(--grigio);color:#C9CACE;padding:56px 0 34px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px}
footer img{height:36px;margin-bottom:16px;filter:brightness(0) invert(1)}
footer h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
footer a{color:#C9CACE;display:block;margin-bottom:9px;font-size:.95rem}
footer a:hover{color:var(--arancio)}
footer .pi{font-size:.9rem;line-height:1.7}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding-top:24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:.85rem;color:#9A9BA0;
}

/* ===== Responsive ===== */
@media(max-width:860px){
  .grid,.contact-grid,.foot-grid{grid-template-columns:1fr}
  .menu{
    display:none;position:absolute;top:78px;left:0;right:0;
    background:#fff;flex-direction:column;gap:0;border-bottom:1px solid var(--bordo);
    padding:8px 0;
  }
  .menu.open{display:flex}
  .menu li{width:100%}
  .menu a{display:block;padding:14px 24px}
  .menu .btn-nav{margin:8px 24px;text-align:center}
  .burger{display:block}
  .banda{padding:40px 30px}
  .section{padding:60px 0}
  .hero{padding:64px 0 56px}
}

/* ===== Certificazioni ===== */
.cert-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:8px;
}
.cert{
  background:var(--bianco);border:1px solid var(--bordo);border-radius:14px;
  padding:32px 26px;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:18px;transition:.2s;
}
.cert:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(63,64,69,.08);border-color:#dcd9d2}
.cert .logo{
  flex:0 0 auto;height:130px;display:flex;align-items:center;justify-content:center;
}
.cert .logo img{max-height:130px;max-width:100%;width:auto;object-fit:contain}
.cert p{font-size:.96rem;color:var(--grigio);line-height:1.5;margin:0}
@media(max-width:860px){
  .cert-grid{grid-template-columns:1fr}
}

/* ===== Software realizzati ===== */
.sw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sw-card{
  background:var(--bianco);border:1px solid var(--bordo);border-radius:14px;
  padding:32px 28px;text-align:left;cursor:pointer;transition:.2s;
  font-family:inherit;display:flex;flex-direction:column;align-items:flex-start;
}
.sw-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(63,64,69,.10);border-color:#dcd9d2}
.sw-icon{display:inline-flex;width:64px;height:64px;margin-bottom:18px;line-height:1}
.sw-icon svg{width:100%;height:100%}
.sw-icon img{width:100%;height:100%;object-fit:contain;border-radius:14px}
.sw-card h3{font-size:1.3rem;font-weight:700;color:var(--grigio);margin-bottom:10px}
.sw-card p{color:var(--grigio-chiaro);font-size:.98rem;margin-bottom:18px;flex-grow:1}
.sw-more{color:var(--arancio);font-weight:600;font-size:.95rem}

/* Modale software */
.sw-modal{display:none;position:fixed;inset:0;z-index:300;align-items:center;justify-content:center;padding:24px}
.sw-modal.open{display:flex}
.sw-modal-bg{position:absolute;inset:0;background:rgba(40,40,44,.55);backdrop-filter:blur(2px)}
.sw-modal-box{
  position:relative;background:var(--bianco);border-radius:16px;
  max-width:760px;width:100%;max-height:88vh;overflow-y:auto;padding:40px;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.sw-close{
  position:absolute;top:16px;right:18px;background:none;border:0;cursor:pointer;
  font-size:2rem;line-height:1;color:var(--grigio-chiaro);transition:.15s;
}
.sw-close:hover{color:var(--grigio)}
.sw-modal-box h3{font-size:1.7rem;font-weight:800;color:var(--grigio);margin-bottom:6px}
.sw-modal-box .sw-sub{color:var(--grigio-chiaro);font-size:1.05rem;margin-bottom:24px}
.sw-modal-box h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--arancio);font-weight:700;margin:24px 0 12px}
.sw-feat{padding-left:20px;display:grid;gap:8px}
.sw-feat li{color:var(--grigio);line-height:1.5}
.sw-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}
.sw-gallery img{
  width:100%;height:auto;border:1px solid var(--bordo);border-radius:8px;cursor:zoom-in;transition:.15s;
}
.sw-gallery img:hover{border-color:var(--arancio);transform:scale(1.02)}

/* Lightbox zoom */
.sw-lightbox{display:none;position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.85);
  align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.sw-lightbox.open{display:flex}
.sw-lightbox img{max-width:95%;max-height:92vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}

@media(max-width:860px){
  .sw-grid{grid-template-columns:1fr}
  .sw-modal-box{padding:28px 22px}
  .sw-gallery{grid-template-columns:repeat(2,1fr)}
}

/* ===== WhatsApp flottante ===== */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:200;
  display:flex;align-items:center;gap:10px;
  background:#25D366;color:#fff;font-weight:600;font-size:.95rem;
  padding:13px 20px 13px 16px;border-radius:50px;
  box-shadow:0 8px 24px rgba(37,211,102,.4);transition:.2s;
}
.wa-float:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px rgba(37,211,102,.5)}
.wa-float svg{width:24px;height:24px;flex-shrink:0}
@media(max-width:600px){
  .wa-float span{display:none}
  .wa-float{padding:15px;border-radius:50%}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto}
}
