:root{
      --text:#0f172a;
      --muted:#475569;
      --line:#e2e8f0;
      --accent:#1d4ed8;
      --accent2:#0b2a6f;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff}
    a{color:inherit}
    .wrap{max-width:980px;margin:0 auto;padding:28px 20px 56px}
    .topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
    .brand{font-weight:600;letter-spacing:-0.02em;display:flex;align-items:center;gap:10px}
    .mark{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px rgba(29,78,216,.10)}
    .nav{display:flex;gap:16px;font-size:14px;color:var(--muted)}
    .nav a{text-decoration:none}
    .nav a:hover{color:var(--text)}
    main{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;padding-top:40px}
    @media (max-width:880px){main{grid-template-columns:1fr;gap:28px}.nav{display:none}}
    .kicker{font-size:12px;color:var(--accent);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
    h1{margin:0 0 10px;font-size:40px;line-height:1.1;letter-spacing:-0.03em}
    .sub{margin:0 0 18px;color:var(--muted);font-size:16px;line-height:1.6;max-width:56ch}
    .trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:13px}
    .trust span{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff}
    .card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}
    .card h2{margin:0 0 12px;font-size:16px;letter-spacing:-0.01em}
    form{display:grid;gap:10px}
    .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    @media (max-width:520px){.row{grid-template-columns:1fr}}
    input,select,button{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:14px;outline:none}
    input:focus,select:focus{border-color:rgba(29,78,216,.55);box-shadow:0 0 0 4px rgba(29,78,216,.10)}
    button{border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;padding:12px 14px}
    button:hover{background:var(--accent2)}
    .hint{font-size:12px;color:var(--muted);line-height:1.5;margin-top:6px}
    .checks{display:grid;gap:10px;margin-top:6px}
    .check{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.45}
    .check input{width:16px;height:16px;margin-top:2px}
    .check a{color:var(--accent);text-decoration:underline}
    footer{border-top:1px solid var(--line);margin-top:56px;padding-top:18px;color:var(--muted);font-size:12.5px;line-height:1.5}
    #cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:none;box-shadow:0 10px 30px rgba(15,23,42,.08);max-width:980px;margin:0 auto}
    .cookie-inner{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:12.5px;line-height:1.35}
    .cookie-actions{display:flex;gap:8px}
    .btn-ghost{background:#fff;color:var(--text);border:1px solid var(--line)}

/* --- Added: hero image beside text --- */
.hero-left{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.hero-image img{
  width:100%;
  max-width:420px;
  height:auto;
  display:block;
}
@media (max-width:880px){
  .hero-left{align-items:center;text-align:center}
}

/* --- Generic pages --- */
.page-header{padding-top:40px}
.page-title{margin:0 0 10px;font-size:34px;line-height:1.15;letter-spacing:-0.03em}
.page-sub{margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.6;max-width:70ch}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px}
.faq-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;display:flex;gap:12px;align-items:flex-start}
.faq-icon{font-size:18px;line-height:1;flex:0 0 auto}
.faq-question{font-weight:650;margin:0 0 6px}
.faq-answer{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

/* Testimonianze */
.t-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}
.t-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}
.t-top{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.t-avatar{font-size:18px}
.t-name{font-weight:650}
.t-quote{margin:0;color:var(--muted);font-style:italic;line-height:1.55}

/* Legal pages */
.legal{padding-top:24px}
.legal .doc{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px}
.legal .doc p{color:var(--muted);line-height:1.6}
.legal .doc h1,.legal .doc h2,.legal .doc h3{color:var(--text);letter-spacing:-0.02em}
.legal .doc a{color:var(--accent);text-decoration:underline}

/* Thank you */
.thanks{padding-top:60px;display:flex;justify-content:center}
.thanks .box{border:1px solid var(--line);border-radius:14px;background:#fff;padding:28px;max-width:560px;text-align:center}
.thanks h1{font-size:28px;margin:0 0 10px}
.thanks p{margin:0;color:var(--muted)}

/* --- Premium Banking Style --- */

.premium-block{
  margin-top:70px;
}

.premium-card{
  max-width:540px;
  margin:0 auto;
  background:#ffffff;
  border:1px solid #e6edf5;
  border-radius:16px;
  padding:28px;
  box-shadow:0 12px 30px rgba(15,23,42,0.05);
}

.premium-title{
  font-size:18px;
  font-weight:600;
  letter-spacing:-0.01em;
  margin-bottom:22px;
}

.premium-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.premium-table td{
  padding:10px 0;
  border-bottom:1px solid #eef3f8;
}

.premium-table td:first-child{
  color:#52637a;
  font-weight:500;
}

.premium-table td:last-child{
  text-align:right;
  font-weight:600;
  color:#0f172a;
}

.premium-note{
  margin-top:18px;
  font-size:12px;
  color:#6b7c93;
}

.premium-legal{
  margin-top:60px;
}

.premium-legal-heading{
  font-size:15px;
  font-weight:600;
  color:#0f172a;
}

.premium-legal-content{
  margin-top:16px;
  font-size:13px;
  color:#475569;
  line-height:1.7;
  max-width:760px;
}

details summary::-webkit-details-marker{
  display:none;
}

details summary:after{
  content:" +";
  font-weight:600;
}

details[open] summary:after{
  content:" –";
}
