/* Chi siamo: ritratto dei fondatori, numeri che contano, luoghi. */
.ab-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 6vw, 100px); align-items: end; }
.ab-portrait { margin: 0; justify-self: end; width: min(440px, 100%); }
.ab-portrait .frame { aspect-ratio: 2 / 3; border-radius: 4px; }
.ab-portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter 1.2s var(--ease), transform 1.6s var(--ease); }
.ab-portrait:hover img { transform: scale(1.03); }
.ab-portrait .cap { margin-top: 12px; }

.ab-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); margin-bottom: clamp(40px, 6vw, 80px); }
.ab-facts b { font-variant-numeric: tabular-nums; color: var(--accent); }
.ab-places { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.ab-places li { position: relative; display: grid; gap: 8px; padding: 28px clamp(12px, 2vw, 26px) 0 0; }
.ab-places b { font: 300 clamp(1.5rem, 2.4vw, 2.2rem)/1 var(--sans); letter-spacing: -.02em; }
.ab-places span:not(.ab-pin) { font: italic 400 1.05rem/1.3 var(--serif); color: var(--mute); }
.ab-pin { position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 0 rgba(196, 168, 130, .5); animation: ab-pulse 2.6s ease-out infinite; }
.ab-places li:nth-child(2) .ab-pin { animation-delay: .6s; } .ab-places li:nth-child(3) .ab-pin { animation-delay: 1.2s; } .ab-places li:nth-child(4) .ab-pin { animation-delay: 1.8s; }
@keyframes ab-pulse { 0% { box-shadow: 0 0 0 0 rgba(196, 168, 130, .55); } 100% { box-shadow: 0 0 0 18px rgba(196, 168, 130, 0); } }

@media (max-width: 900px) {
  .ab-hero { grid-template-columns: 1fr; align-items: start; }
  .ab-portrait { justify-self: start; width: min(360px, 86%); }
  .ab-facts { grid-template-columns: 1fr; }
  .ab-places { grid-template-columns: 1fr 1fr; row-gap: 30px; }
}
@media (prefers-reduced-motion: reduce) { .ab-pin { animation: none; } }
