.ab { padding:0 24px 20px; max-width:1400px; margin:0 auto; scroll-margin-top:56px; }
.ab-title { font-size:clamp(44px,9vw,120px); font-weight:800; letter-spacing:-0.03em;
  line-height:0.92; text-transform:uppercase; color:var(--white); }
.ab-contact h3 { font-size:clamp(34px,7vw,86px); font-weight:800; letter-spacing:-0.03em;
  line-height:0.92; text-transform:uppercase; padding-bottom:24px; color:var(--white); }
.ab-top { display:grid; grid-template-columns:1.1fr .9fr; gap:40px; padding:44px 0 52px;
  align-items:start; }
.ab-title-legacy { font-size:clamp(44px,9vw,120px); font-weight:800; letter-spacing:-0.03em;
  line-height:0.92; text-transform:uppercase; color:var(--white); }
.ab .acc { color:var(--red); }
.ab-bio { font-size:18px; line-height:1.5; max-width:60ch; padding:24px 0 22px;
  color:var(--white); }
.facts { display:flex; gap:18px; flex-wrap:wrap; }
.facts .hot { color:var(--red); }
.ab-portrait { width:100%; max-width:520px; aspect-ratio:1/1.1; object-fit:cover;
  transition:transform 280ms ease; }
.ab-portrait:hover { transform:scale(1.015); }
.cv-link { padding-top:20px; display:flex; gap:22px; flex-wrap:wrap; }
.cv-link a { font-size:11px; font-weight:700; letter-spacing:normal;
  text-transform:uppercase; color:var(--red); transition:color 160ms ease; }
.cv-link a:hover { color:var(--white); }
.ab-contact { padding:20px 0 60px; }
.ab-contact h2 { font-size:clamp(34px,7vw,86px); font-weight:800; letter-spacing:-0.03em;
  line-height:0.92; text-transform:uppercase; padding-bottom:24px; color:var(--white); }
.ab-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.ab-intro { font-size:16px; max-width:52ch; padding-bottom:26px; color:var(--white); }
.social { list-style:none; display:grid; gap:14px; }
.social a { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:700;
  letter-spacing:normal; color:var(--white); transition:color 160ms ease; }
.social a:hover { color:var(--red); }
.social a > span:nth-child(2) { flex:1; }
.social .si svg { width:18px; height:18px; display:block; }
form { display:grid; gap:7px; }
form label { font-size:10px; font-weight:700; letter-spacing:normal;
  text-transform:uppercase; color:var(--muted); padding-top:10px; }
/* niente cornici: i campi si riconoscono dal fondo appena piu' chiaro */
form input, form textarea { font:inherit; padding:12px 14px; border:none;
  background:#141414; color:var(--white); width:100%; }
form input::placeholder, form textarea::placeholder { color:#5a5a5a; }
form input:focus, form textarea:focus { background:#1c1c1c; outline:none; }
form textarea { min-height:130px; resize:vertical; }
form button { margin-top:18px; padding:14px 0; background:none; color:var(--red);
  font-size:11px; font-weight:700; letter-spacing:normal; text-transform:uppercase;
  text-align:left; transition:color 160ms ease; }
form button:hover:not(:disabled) { color:var(--white); }
form button:disabled { opacity:.55; cursor:default; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.status { font-size:12px; font-weight:700; min-height:1.3em; padding-top:8px; }
@media (max-width:900px) {
  .ab { padding-left:16px; padding-right:16px; }
  .ab-top, .ab-grid { grid-template-columns:1fr; gap:26px; }
  .ab-portrait { max-width:100%; aspect-ratio:1/1; }
}
