*{margin:0;padding:0;box-sizing:border-box}
:root{
  --blu:#4A8FA8;
  --blu-dark:#2C5F72;
  --blu-deeper:#1A3D4D;
  --blu-light:#D6E8EF;
  --ardesia:#3D4F58;
  --ocra:#E8A838;
  --bianco:#F4F7F9;
  --testo:#1C2B33;
}
body{font-family:'Inter',sans-serif;background:var(--bianco);color:var(--testo);line-height:1.6}
a{color:var(--blu-dark)}

/* NAV (come la home) */
nav{background:var(--blu-deeper);display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:68px;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,0.2);gap:16px}
.nav-logo img{height:40px;display:block;filter:brightness(0) invert(1)}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500}
.nav-links a:hover{color:var(--ocra)}
.nav-cta{background:var(--ocra);color:#fff;padding:9px 22px;border-radius:4px;font-size:13px;font-weight:600;text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap}
.nav-cta:hover{background:#c98b1e}

/* HERO */
.hero{background-color:var(--blu-deeper);background-size:cover;background-position:center;min-height:440px;display:flex;align-items:center;padding:64px 48px 48px;position:relative;border-bottom:3px solid var(--ocra)}
.hero-content{max-width:620px}
.breadcrumb{font-size:12px;color:rgba(255,255,255,0.55);margin-bottom:18px;letter-spacing:0.04em}
.breadcrumb a{color:rgba(255,255,255,0.75);text-decoration:none}
.hero h1{font-family:'Playfair Display',serif;color:#fff;font-size:46px;line-height:1.12;margin-bottom:20px}
.hero h1 em{color:var(--ocra);font-style:normal}
.hero-sub{color:rgba(255,255,255,0.75);font-size:17px;margin-bottom:30px;max-width:520px}
.btn-primary{background:var(--ocra);color:#fff;padding:14px 28px;border-radius:4px;font-size:14px;font-weight:600;text-decoration:none;letter-spacing:0.05em;text-transform:uppercase;display:inline-block}
.btn-primary:hover{background:#c98b1e}
.credito{position:absolute;right:16px;bottom:8px;font-size:10px;color:rgba(255,255,255,0.45)}
.credito a{color:rgba(255,255,255,0.6)}

/* CONTENUTI */
main{max-width:1100px;margin:0 auto;padding:0 24px}
.intro{max-width:760px;margin:56px auto 8px;font-size:17px;color:var(--ardesia)}
.intro p{margin-bottom:14px}
.section-eyebrow{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--blu);font-weight:600;margin-bottom:10px;text-align:center}
.section-title{font-family:'Playfair Display',serif;font-size:32px;line-height:1.2;text-align:center;margin-bottom:32px}
.gruppi-wrap{padding:48px 0 24px}
.gruppi{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.gruppo{background:#fff;border:1px solid rgba(74,143,168,0.2);border-left:3px solid var(--blu);border-radius:6px;padding:20px 22px}
.gruppo h3{font-size:16px;color:var(--blu-deeper);margin-bottom:6px}
.gruppo p{font-size:14px;color:#5b6e78}
.nota{text-align:center;margin-top:24px;font-size:14px;color:var(--ardesia)}

.cta-band{background:var(--blu-dark);border-radius:10px;padding:36px 40px;margin:40px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h2{font-family:'Playfair Display',serif;color:#fff;font-size:26px;margin-bottom:6px}
.cta-band p{color:rgba(255,255,255,0.72);font-size:15px}

.faq{max-width:760px;margin:0 auto;padding:24px 0 40px}
.faq details{background:#fff;border:1px solid rgba(74,143,168,0.2);border-radius:6px;margin-bottom:10px;padding:16px 20px}
.faq summary{cursor:pointer;font-weight:600;color:var(--blu-deeper)}
.faq details p{margin-top:10px;font-size:15px;color:var(--ardesia)}

.altre{padding:8px 0 64px}
.altre-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.altre-links a{background:var(--blu-light);color:var(--blu-deeper);text-decoration:none;padding:10px 16px;border-radius:20px;font-size:14px;font-weight:500}
.altre-links a:hover{background:var(--ocra);color:#fff}

/* FOOTER */
footer{background:var(--blu-deeper);padding:36px 48px;display:flex;align-items:center;justify-content:space-between;border-top:3px solid var(--blu);flex-wrap:wrap;gap:20px}
.footer-logo img{height:36px;filter:brightness(0) invert(1);opacity:0.85}
.footer-copy{color:rgba(255,255,255,0.45);font-size:12px;line-height:1.8;text-align:right}
.footer-copy a{color:rgba(255,255,255,0.7);text-decoration:none}

@media(max-width:900px){
  nav{padding:0 16px}
  .nav-links{display:none}
  .nav-cta{padding:8px 14px;font-size:12px}
  .hero{padding:48px 16px 40px;min-height:auto}
  .hero h1{font-size:32px}
  .intro{margin-top:40px;font-size:16px}
  main{padding:0 16px}
  .section-title{font-size:26px}
  .cta-band{padding:28px 22px}
  footer{padding:28px 16px;flex-direction:column;text-align:center}
  .footer-copy{text-align:center}
}
@media(max-width:480px){
  .nav-logo img{height:32px}
  .hero h1{font-size:27px}
}
