/* =========================================================
   MB COMPANY — Il gioco sul sito
   Le quattro scene dei passi (home e «Come funziona»), l'eroe
   cinematico, gli strumenti compatti, l'assaggio dell'Academy.
   Nero, bianco, arancione. I colori li hanno solo gli avatar:
   sono i reparti, e sono l'unica cosa colorata di proposito.

   Il movimento e' tutto CSS: niente JavaScript per far girare un
   anello o far battere un cursore. Si ferma da solo con
   prefers-reduced-motion, come il resto del sito.
   ========================================================= */

/* =========================================================
   L'EROE CINEMATICO — titolo al centro, la scena sotto
   ========================================================= */
.hero--cine{align-items:flex-start;padding:150px 0 0;min-height:auto}
.hero--cine .hero__content{display:block;text-align:center}
.hero--cine .hero__testo{max-width:none}
.hero--cine .hero__title{font-size:clamp(34px,5vw,72px);line-height:1.12;margin:0 0 26px}
.hero--cine .hero__sub{max-width:44ch;margin:0 auto 38px;font-size:clamp(15px,1.2vw,17px)}
.hero--cine .hero__actions{justify-content:center}
/* La pioggia dell'eroe cinematico: al centro, non spostata a destra come
   quando il titolo stava a sinistra. */
.hero--cine .hero__rain{
  opacity:.9;
  -webkit-mask-image:radial-gradient(80% 75% at 50% 40%,#000 25%,transparent 85%);
  mask-image:radial-gradient(80% 75% at 50% 40%,#000 25%,transparent 85%);
}
.hero--cine .hero__fade{
  background:
    radial-gradient(60% 50% at 50% 28%,rgba(0,0,0,.72),transparent 70%),
    linear-gradient(to bottom,rgba(0,0,0,.7),transparent 22%,transparent 70%,#000 100%);
}
/* il bottone pieno: l'unico arancione pieno della pagina */
.btn--pieno{background:var(--arancio);color:#000;font-weight:500;box-shadow:0 18px 40px -14px rgba(255,122,26,.55)}
.btn--pieno:hover{color:#000;box-shadow:0 22px 46px -14px rgba(255,122,26,.75)}
.btn--pieno svg{color:#000}

/* la scena grande sotto al titolo */
.hero__scena--grande{
  position:relative;z-index:2;width:min(900px,100%);height:clamp(300px,42vw,560px);
  margin:20px auto 0;
  -webkit-mask-image:none;mask-image:none;background:none;aspect-ratio:auto;max-height:none;
}
.hero__scena--grande canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__hud{
  position:absolute;left:28px;top:56px;z-index:3;
  display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border-radius:999px;
  background:rgba(0,0,0,.6);border:1px solid var(--line-2);
  font-family:var(--f-display);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);
}
.hero__hud i{width:6px;height:6px;border-radius:50%;background:var(--arancio);box-shadow:0 0 10px var(--arancio-2);animation:tagBattito 2.4s var(--ease) infinite}
.hero--cine .hero__scroll{display:none}
.hero--cine::after{content:'';position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(to bottom,transparent,#000);pointer-events:none;z-index:2}
@media (max-width:700px){
  .hero--cine{padding-top:132px}
  .hero__hud{left:14px;top:20px;font-size:8.5px}
  .hero--cine .hero__actions{flex-direction:column;align-items:stretch}
  .hero--cine .hero__actions .btn{width:100%}
}

/* =========================================================
   I QUATTRO PASSI
   ========================================================= */
.passi__testa{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.passi__testa .sez__titolo{margin-bottom:0}
.passi__livello{min-width:min(320px,100%)}
.passi__livello > span{
  display:flex;justify-content:space-between;margin-bottom:10px;
  font-family:var(--f-display);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);
}
.passi__livello > span b{font-weight:400;color:var(--arancio)}
.passi__barra{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.passi__barra span{position:relative;height:5px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.passi__barra i{position:absolute;inset:0;background:var(--arancio);transform:scaleX(0);transform-origin:left}
.is-in .passi__barra i,.passi__barra.is-in i{animation:riempi 1.1s var(--ease-out) both;animation-delay:calc(var(--i) * .45s)}
@keyframes riempi{to{transform:scaleX(1)}}

.grid--passi{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:54px}
@media (max-width:1180px){.grid--passi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid--passi{grid-template-columns:1fr}}
.passo{
  position:relative;display:flex;flex-direction:column;gap:6px;overflow:hidden;
  padding:22px 22px 26px;
  transition:transform .55s var(--ease-out),box-shadow .5s var(--ease);
}
.passo:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--arancio-3),0 40px 80px -44px rgba(0,0,0,1)}
.passo__n{font-family:var(--f-display);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--arancio);margin-top:8px}
.passo__t{font-size:clamp(16px,1.5vw,19px);letter-spacing:.01em;margin:4px 0 0}
.passo__riga{margin:6px 0 0;font-size:13px;line-height:1.7;color:var(--ink-3)}
.passi__coda{display:flex;align-items:center;gap:22px;margin-top:44px;flex-wrap:wrap}

/* ── le scene: 300 di altezza, larghe quanto la scheda ── */
.scena{position:relative;height:280px;width:100%;overflow:hidden}

/* 1 · il selettore che orbita.
   L'anello gira; ogni pillola sta sul suo angolo (--a) e ruota al contrario
   dello stesso angolo piu' il giro, cosi' resta sempre dritta. */
.scena--scegli .orbita{position:absolute;left:50%;top:50%;width:0;height:0;animation:orbita 60s linear infinite}
/* Il raggio: 86px, non di piu'. A 1440px la scheda e' larga 292 e dentro
   restano 248: con una pillola larga 70 il bordo esterno arriva a 86+35=121,
   che ci sta. A 96 le pillole a sinistra e a destra si tagliavano. */
.orbita__posto{position:absolute;left:0;top:0;transform-origin:0 0;transform:rotate(var(--a)) translate(var(--r,86px))}
.orbita__pillola{
  display:inline-block;transform:translate(-50%,-50%) rotate(calc(-1 * var(--a)));
  animation:controorbita 60s linear infinite;
  padding:5px 9px;border-radius:999px;font-size:10px;white-space:nowrap;
  color:var(--ink-2);background:rgba(0,0,0,.75);border:1px solid rgba(255,255,255,.14);
}
.orbita__pillola.e-scelta{color:#000;background:var(--arancio);border-color:var(--arancio);box-shadow:0 0 18px var(--arancio-2)}
.orbita__anello{position:absolute;left:50%;top:50%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(255,255,255,.14)}
.orbita__centro{position:absolute;left:50%;top:50%;width:78px;height:90px;transform:translate(-50%,-50%);display:grid;place-items:center}
.orbita__centro svg{position:absolute;inset:0;width:100%;height:100%}
.orbita__centro path{fill:rgba(255,122,26,.08);stroke:var(--arancio);stroke-width:3}
.orbita__centro span{position:relative;font-family:var(--f-display);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-align:center;line-height:1.5}
@keyframes orbita{to{transform:rotate(360deg)}}
@keyframes controorbita{from{transform:translate(-50%,-50%) rotate(calc(-1 * var(--a)))}to{transform:translate(-50%,-50%) rotate(calc(-360deg - var(--a)))}}

/* 2 · la squadra che entra negli slot */
.avatar{
  display:inline-grid;place-items:center;flex:none;
  width:var(--px,44px);height:var(--px,44px);border-radius:50%;
  font-family:var(--f-display);font-size:calc(var(--px,44px) / 4.4);color:#000;
  background:var(--tinta,#6b6b73);box-shadow:0 0 0 3px #000,0 0 0 4px rgba(255,255,255,.12);
}
.avatar--vuoto{background:none;color:var(--arancio);border:1px dashed var(--arancio-2);box-shadow:none;font-family:var(--f-body);font-size:18px}
.avatar--ceo{--px:40px;background:var(--arancio);box-shadow:0 0 18px var(--arancio-2)}
.scena--squadra{display:grid;place-items:center}
.slot__griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px}
.slot{display:flex;flex-direction:column;align-items:center;gap:7px;opacity:0;transform:translateY(14px)}
.is-in .slot,.scena--squadra.is-in .slot{animation:entra .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * .12s + .2s)}
.slot--assumi{opacity:1;transform:none;animation:none}
.slot > span:last-child{font-size:10px;color:var(--ink-3);white-space:nowrap}
.slot--assumi > span:last-child{color:var(--arancio)}
@keyframes entra{to{opacity:1;transform:none}}

/* 3 · la console del CEO */
.scena--ordine{display:flex;flex-direction:column;justify-content:center;gap:12px}
.ceo{display:flex;align-items:center;gap:12px}
.ceo b{display:block;font-size:12.5px;color:#fff;font-weight:500}
.ceo i{display:block;font-style:normal;font-size:11px;color:var(--ink-3)}
.ordine{padding:13px 15px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line-2);font-size:13px;line-height:1.5;color:#fff}
.cursore{display:inline-block;width:7px;height:14px;margin-left:3px;vertical-align:-2px;background:var(--arancio);animation:cursore 1s steps(1) infinite}
@keyframes cursore{0%,49%{opacity:1}50%,100%{opacity:0}}
.schierati{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:var(--ink-3)}
.schierati em{font-style:normal;font-family:var(--f-display);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--arancio)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 3px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line-2);color:#fff;font-size:11px}
.chip .avatar{box-shadow:none}
.chip--nota{padding:4px 9px;color:var(--ink-3)}

/* 4 · l'ufficio che vive: tre corsie in prospettiva, i puntini che corrono */
.scena--ufficio{padding:0}
.corsia{
  position:absolute;left:calc(50% - var(--w) / 2);top:calc(60px + var(--k) * 58px);
  --w:calc(70% + var(--k) * 12%);width:var(--w);height:1px;
  background:linear-gradient(to right,transparent,rgba(255,255,255,.4),transparent);
}
.corsia em{position:absolute;left:0;top:-16px;font-style:normal;font-family:var(--f-display);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4)}
.punto{position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#fff;animation:corsa var(--t,9s) linear infinite;animation-delay:calc(-1 * var(--d,0s))}
.punto--ceo{background:var(--arancio);box-shadow:0 0 8px var(--arancio-2)}
@keyframes corsa{from{left:0}to{left:calc(100% - 7px)}}
.stati{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.stato{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;font-size:10px;color:var(--ink-2);background:rgba(0,0,0,.6);border:1px solid var(--line-2)}
.stato i{width:6px;height:6px;border-radius:50%;background:var(--tinta,#fff);animation:tagBattito 2.4s var(--ease) infinite}

/* =========================================================
   LIVE SERVICE COMPATTO — icona e nome, otto in due colonne
   ========================================================= */
.live__due{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,84px);align-items:start}
@media (max-width:900px){.live__due{grid-template-columns:1fr}}
.live__claim--stretto{font-size:clamp(26px,3.6vw,50px)}
.live__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:56px}
@media (max-width:900px){.live__tiles{padding-top:0}}
@media (max-width:480px){.live__tiles{grid-template-columns:1fr}}
.tile{
  display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;
  transition:transform .45s var(--ease-out),box-shadow .4s var(--ease);
}
.tile .ico{width:40px;height:40px;border-radius:12px;margin:0;color:var(--arancio)}
.tile b{font-weight:400;font-size:13.5px;color:#fff}
.tile:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--arancio-3),0 30px 60px -34px rgba(0,0,0,1)}
.tile .segni{margin:0 0 0 auto;min-height:0;gap:10px}
.tile--presto{background:none;border:1px dashed rgba(255,255,255,.14);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.tile--presto .ico,.tile--presto b{color:var(--ink-3)}

/* =========================================================
   L'ACADEMY IN HOME — i marchi e un percorso, un colore solo
   ========================================================= */
.acad-teaser{position:relative;overflow:hidden}
.acad-teaser::after{content:'';position:absolute;right:-120px;top:60px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(56,112,224,.14),transparent 60%);pointer-events:none}
.acad-teaser .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,84px);align-items:center}
@media (max-width:900px){.acad-teaser .wrap{grid-template-columns:1fr}}
.acad-teaser .label::before{background:linear-gradient(to right,var(--blu),var(--blu-3))}
.marchi{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.marchio-q{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.marchio-q svg{width:26px;height:26px;fill:#fff}
.marchio-q .mono{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;font-family:var(--f-display);font-size:9px;color:#fff}
.marchio-q .mono svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(255,255,255,.45);stroke-width:4.5}
.marchio-q .mono b{position:relative;font-weight:400}
.btn--blu{background:var(--blu);color:#fff;font-weight:500;box-shadow:0 18px 40px -14px rgba(56,112,224,.6)}
.btn--blu:hover{box-shadow:0 22px 46px -14px rgba(56,112,224,.8)}
.percorso-q{padding:clamp(24px,3vw,38px);box-shadow:inset 0 0 0 1px var(--blu-3),0 26px 60px -28px rgba(0,0,0,.95)}
.percorso-q__testa{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-family:var(--f-display);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--blu-chiaro)}
.percorso-q__testa svg{width:22px;height:22px;fill:#fff}
.nodi{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.nodi::before{content:'';position:absolute;left:34px;right:34px;top:26px;height:1px;background:linear-gradient(to right,var(--blu),var(--blu-3) 50%,var(--line-2))}
.nodo{position:relative;text-align:center}
.nodo > span{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;font-family:var(--f-display);font-size:11px;color:rgba(255,255,255,.3);background:rgba(255,255,255,.04);box-shadow:0 0 0 4px #0a0a0d,inset 0 0 0 1px var(--line-2)}
.nodo--acceso > span{color:#fff;background:var(--blu);box-shadow:0 0 0 4px #0a0a0d,0 0 24px var(--blu-2)}
.nodo b{display:block;margin-top:12px;font-family:var(--f-display);font-weight:400;font-size:12px;color:var(--ink-3)}
.nodo--acceso b{color:#fff}
.nodo small{display:block;margin-top:4px;font-size:11px;color:var(--ink-3)}

/* =========================================================
   CHI SIAMO, IN UNA RIGA
   ========================================================= */
.chi{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
@media (max-width:900px){.chi{grid-template-columns:1fr}}
.chi__lead{max-width:52ch;margin:0;font-size:clamp(15px,1.35vw,18px);line-height:1.65;color:var(--ink-2)}
.chi__contatti{margin:22px 0 0;font-size:13.5px;color:var(--ink-3)}
.chi__contatti a{color:var(--ink-2)}
.chi__contatti a:hover{color:var(--arancio)}
.chi__azione{display:flex;flex-direction:column;gap:12px;min-width:280px}
.chi__azione small{text-align:center;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-4)}

/* =========================================================
   LA PAGINA «COME FUNZIONA»
   ========================================================= */
.cf-hero{position:relative;padding:190px 0 96px;overflow:hidden}
/* Il testo sta SOPRA la sfumatura (.hero__fade e' assoluta, z-index 1): un
   .wrap senza posizione finiva sotto, e il titolo si leggeva a fatica
   dietro un velo nero. Nella home lo fa .hero__content; qui .wrap e' nudo. */
.cf-hero .wrap{position:relative;z-index:2}
.cf-hero .hero__rain{opacity:.45;-webkit-mask-image:radial-gradient(60% 70% at 80% 40%,#000 10%,transparent 75%);mask-image:radial-gradient(60% 70% at 80% 40%,#000 10%,transparent 75%)}
.cf-hero__t{font-size:clamp(30px,4vw,52px);line-height:1.18;max-width:18ch;margin:0 0 26px}
.cf-hero__t span{color:var(--arancio)}
.cf-hero__sub{max-width:52ch;margin:0 0 34px;font-size:clamp(15px,1.2vw,17px);line-height:1.7;color:var(--ink-2)}
.cf-passo{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,84px);align-items:center}
.cf-passo--inverso{grid-template-columns:1.1fr 1fr}
.cf-passo--inverso > div:first-child{order:2}
@media (max-width:960px){.cf-passo,.cf-passo--inverso{grid-template-columns:1fr}.cf-passo--inverso > div:first-child{order:0}}
.cf-passo__n{font-family:var(--f-display);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--arancio)}
.cf-passo .sez__titolo{margin:14px 0 22px}
.cf-passo__p{max-width:44ch;margin:0 0 18px;font-size:15px;line-height:1.75;color:var(--ink-2)}
.cf-passo__p + .cf-passo__p{font-size:13.5px;color:var(--ink-3);margin-bottom:0}
.cf-scena{padding:30px 32px}
.cf-scena .scena{height:340px}
.cf-scena .orbita__posto{--r:118px}
.cf-scena .slot__griglia{grid-template-columns:repeat(4,minmax(0,1fr))}
/* Sul telefono la scheda e' larga 270 pixel dentro: quattro colonne fanno
   50 l'una e i mestieri piu' lunghi («Competitive») uscivano dal bordo.
   Tre colonne, tre righe: ci stanno tutte e nove le persone. */
@media (max-width:480px){.cf-scena .slot__griglia{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* La didascalia sotto la scena della squadra: i colori degli avatar sono
   l'unica cosa colorata della pagina, e vanno spiegati una volta. Piccola e
   centrata come una didascalia, non come un paragrafo. */
.cf-scena__nota{margin:18px 0 0;font-size:12px;line-height:1.6;color:var(--ink-3);text-align:center}
.cf-scena--nera{padding:0;background:#08080b;min-height:420px}
.cf-scena--nera .scena{height:420px}
.cf-domande{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:900px){.cf-domande{grid-template-columns:1fr}}
.cf-domanda{padding:26px 26px 24px}
.cf-domanda h3{font-size:13.5px;letter-spacing:.04em;line-height:1.5;margin:0 0 10px;text-transform:none}
.cf-domanda h3::before{content:'?';display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:7px;font-family:var(--f-display);font-size:11px;color:var(--arancio);box-shadow:inset 0 0 0 1px var(--arancio-3);vertical-align:middle}
.cf-domanda p{margin:0;font-size:13px;line-height:1.7;color:var(--ink-3)}
.cf-cosa{padding:clamp(24px,3vw,38px)}
.cf-cosa__eti{margin:0 0 18px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-4)}
.cf-cosa__riga{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:13.5px}
.cf-cosa__riga span:first-child{color:#fff}
.cf-cosa__riga span:last-child{color:var(--arancio)}
.cf-cosa__riga--dopo span:last-child{color:var(--ink-3)}
.cf-nota{max-width:44ch;margin:0 0 34px;padding:12px 16px;border-radius:12px;font-size:13px;line-height:1.6;color:var(--ink-3);background:var(--glass);border:1px dashed var(--line-2)}

@media (prefers-reduced-motion:reduce){
  .orbita,.orbita__pillola,.punto,.cursore,.stato i,.hero__hud i{animation:none!important}
  .slot{opacity:1;transform:none}
  .passi__barra i{transform:none}
}
