/* approf-carousel.css — carosello degli approfondimenti sotto l'hero della home.
   Stile "schede affiancate" (riferimento: carosello Case studies di ey.com, 14/09/2026), con i token di TOP:
   più schede visibili in fila con la successiva che sbuca a destra, foto a tutto campo con velo navy,
   testo bianco sovrapposto, etichetta in rame, descrizione, bottone bordato; sotto la fila i puntini
   (mantenuti) e le frecce tonde in basso a destra. */
.ac{padding:40px 0 8px;background:var(--ivory);--ac-gap:8px;--ac-w:calc((100% - 3*var(--ac-gap))/3.25)}
.ac-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}
.ac-head .eyebrow{margin:0}
.ac-frame{position:relative}
.ac-viewport{overflow:hidden}
.ac-track{display:flex;gap:var(--ac-gap);transition:transform .8s cubic-bezier(.4,0,.2,1);will-change:transform}
@media(prefers-reduced-motion:reduce){.ac-track{transition:none}}
.ac-slide{position:relative;flex:0 0 var(--ac-w);aspect-ratio:540/650;overflow:hidden;display:block;color:#fff;text-decoration:none;background:var(--navy);isolation:isolate}
.ac-slide picture{position:absolute;inset:0;z-index:0;display:block}
.ac-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.55) contrast(1.05);transform:scale(1.02);transition:transform 1.2s ease}
.ac-slide:hover img{transform:scale(1.07)}
/* velo navy: più scuro dove sta il testo, per la leggibilità; leggero schiarimento in alto per non spegnere la foto */
.ac-slide:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,39,71,.42) 0%,rgba(15,39,71,.62) 45%,rgba(11,29,54,.88) 100%)}
.ac-body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding:34px 30px}
.ac-title{font-size:clamp(1rem,1.45vw,1.3rem);font-weight:500;line-height:1.45;color:#fff;letter-spacing:-.005em;margin:0 0 20px;text-wrap:balance}
.ac-meta{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--copper);margin:0 0 6px}
.ac-desc{font-size:.84rem;line-height:1.55;color:#dbe4ec;margin:0 0 26px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ac-cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:11px 22px;border:1px solid rgba(255,255,255,.85);border-radius:2px;
  color:#fff;font-weight:700;font-size:.86rem;letter-spacing:.02em;transition:.2s}
.ac-slide:hover .ac-cta,.ac-slide:focus-visible .ac-cta{background:#fff;color:var(--navy);border-color:#fff}
.ac-slide:focus-visible{outline:3px solid var(--copper);outline-offset:2px}
/* riga sotto la fila: puntini (mantenuti) e frecce tonde a destra */
.ac-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;min-height:44px}
.ac-dots{display:flex;flex-wrap:wrap;gap:6px}
.ac-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(15,39,71,.28);cursor:pointer;transition:.2s}
.ac-dots button:hover{background:rgba(15,39,71,.5)}
.ac-dots button[aria-current="true"]{background:var(--copper)}
.ac-dots button:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.ac-arrows{display:flex;gap:10px;flex:0 0 auto}
.ac-nav{width:42px;height:42px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;transition:.2s}
.ac-nav:hover,.ac-nav:focus-visible{background:var(--copper);outline:0}
.ac-nav:focus-visible{box-shadow:0 0 0 3px rgba(184,115,51,.35)}
.ac-nav:disabled{background:#c9ccd1;color:#fff;cursor:default}
@media(max-width:1100px){.ac-body{padding:28px 24px}.ac-cta{padding:10px 18px;font-size:.82rem}}
@media(max-width:950px){.ac{--ac-w:calc((100% - 2*var(--ac-gap))/2.2)}}
@media(max-width:680px){
  .ac{padding-top:28px;--ac-w:calc((100% - var(--ac-gap))/1.12)}
  .ac-head{flex-direction:column;gap:4px}
  .ac-slide{aspect-ratio:4/5}
  .ac-body{padding:24px 20px}
  .ac-title{font-size:1.05rem}
  .ac-desc{-webkit-line-clamp:4}
  .ac-foot{flex-direction:column-reverse;align-items:stretch}
  .ac-arrows{justify-content:flex-end}
  .ac-dots{justify-content:center}
}
