
/* ============================================================
   AI REAL MODEL — Lezione 01 · AI Creator per i Brand
   Motore costruito sulla Parte 2 del design system.
   Griglia 12 × 64 / gutter 32 / margini 80 — 12×64 + 11×32 = 1120 ✓
   Ritmo verticale su 8px (la linea di base fissa è incompatibile con Anton 0.9)
   Scala tipografica base 24px (18pt), rapporto 1,333
   IL TESTO È QUELLO ORIGINALE DI HANNA — non si tocca.
   ============================================================ */
:root{
  --fuchsia:#FF2E9A;
  --indigo:#5D00FF;
  --lime:#CFFF04;
  --bg:#0D0D0D;
  --card:#1C1C1C;
  --border:rgba(255,255,255,.12);
  --text:#F2F2F2;
  --muted:rgba(242,242,242,.5);
  --ink:#0D0D0D;
  --display:'Anton',Impact,sans-serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --t-title:96px;
  --t-h1:64px;
  --t-h2:48px;
  --t-key:32px;
  --t-body:24px;
  --t-meta:16px;
  --col:64px;
  --gut:32px;
  --pad:80px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:#000;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}

#stage{position:fixed;inset:0;display:grid;place-items:center;background:#000}
.slide{position:absolute;width:1280px;height:720px;background:var(--bg);color:var(--text);
  overflow:hidden;display:none;transform-origin:center center}
.slide.on{display:block}

.brandbar{position:absolute;top:0;left:0;right:0;height:5px;z-index:3;
  background:linear-gradient(90deg,var(--fuchsia) 0 33.33%,var(--indigo) 33.33% 66.66%,var(--lime) 66.66% 100%)}
.pad{position:absolute;inset:var(--pad);display:flex;flex-direction:column;z-index:2}
.pad > *{flex:none}
.grow{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
.foot{position:absolute;left:var(--pad);right:var(--pad);bottom:32px;z-index:3;display:flex;justify-content:space-between;
  align-items:center;font-size:var(--t-meta);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.foot b{font-family:var(--display);font-weight:400;letter-spacing:.14em;color:var(--text);font-size:18px}
.kicker{display:flex;align-items:center;height:40px;gap:12px;font-size:var(--t-meta);font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--lime)}
.kicker i{width:32px;height:2px;background:var(--lime);display:block}

.display{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:.01em}
h1.display{font-size:var(--t-title)}
h2.display{font-size:var(--t-h1)}
.hl{color:var(--fuchsia)}
.body{font-size:var(--t-body);line-height:32px;color:rgba(242,242,242,.85)}
.body b{color:var(--text);font-weight:700}
.key{font-size:var(--t-key);line-height:40px;font-weight:600;color:var(--lime);
  border-left:3px solid var(--lime);padding-left:24px}
.src{font-size:var(--t-meta);line-height:24px;color:var(--muted)}
.src a{color:var(--lime);text-decoration:none}
.lbl{font-size:var(--t-meta);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lime)}

/* larghezze = n colonne: 96n − 32 */
.c4{max-width:352px}.c6{max-width:544px}.c7{max-width:640px}.c8{max-width:736px}.c12{max-width:1120px}
.gap8{height:8px}.gap16{height:16px}.gap24{height:24px}.gap32{height:32px}.gap48{height:48px}

/* tessere */
.tiles{display:grid;gap:var(--gut)}
.tiles.n3{grid-template-columns:repeat(3,1fr)}
.tiles.n4{grid-template-columns:repeat(4,1fr)}
.tiles.n5{grid-template-columns:repeat(5,1fr)}
.tile{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px 24px;
  display:flex;align-items:center;gap:16px;font-size:var(--t-body);line-height:32px;font-weight:700;
  color:var(--text);min-height:0}
/* tessera-foto: foto in cover, testo dentro una pastiglia lime (regola del design system) */
.tile.foto{border:0;padding:0;background-size:cover;background-position:center 20%;align-items:flex-end}
.tile.foto span{margin:16px;background:var(--lime);color:var(--ink);border-radius:999px;padding:8px 16px;
  font-size:var(--t-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.2}

/* schede con etichetta */
.cards{display:grid;gap:var(--gut)}
.cards.n2{grid-template-columns:repeat(2,1fr)}
.cards.n3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;
  display:flex;flex-direction:column;justify-content:center;gap:16px}
.card p,.card li{font-size:var(--t-body);line-height:32px;color:rgba(242,242,242,.85)}
.card ul{list-style:none}
.card.main{border-color:rgba(207,255,4,.45)}
/* In una riga di schede il contenuto parte dall'alto: così etichette e paragrafi
   di tutte le schede stanno sulla stessa linea. Centrare ogni scheda per conto suo
   le disallinea fra loro. */
.cards .card,.cards .job{justify-content:flex-start}

/* righe «etichetta a sinistra, testo a destra»: 4 colonne + 8 colonne.
   Serve quando il testo è lungo: in una scheda da 352px stanno 25 caratteri,
   qui ne stanno 51 — dentro la regola 45–60 del design system. */
.righe{display:flex;flex-direction:column;justify-content:center}
.righe > div{display:grid;grid-template-columns:352px 736px;gap:var(--gut);
  padding:24px 0;border-top:1px solid var(--border)}
.righe > div:last-child{border-bottom:1px solid var(--border)}
.righe .lbl{padding-top:4px}
.righe p{font-size:var(--t-body);line-height:32px;color:rgba(242,242,242,.85)}

/* chip */
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{font-size:var(--t-meta);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--border);border-radius:999px;padding:0 20px;height:48px;display:flex;align-items:center;
  color:rgba(242,242,242,.9)}
.chip.fx{border-color:rgba(255,46,154,.45);color:var(--fuchsia)}

/* elenco domande */
ol.passi{list-style:none;counter-reset:p}
ol.passi li{counter-increment:p;position:relative;padding-left:64px;font-size:var(--t-key);line-height:40px;
  font-weight:600;margin-bottom:16px}
ol.passi li:last-child{margin-bottom:0}
ol.passi li::before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:0;
  width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,46,154,.45);color:var(--fuchsia);
  font-family:var(--display);font-size:22px;line-height:1;display:grid;place-items:center}

/* catena di passi */
.catena{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.catena .step{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:14px 22px;
  font-size:var(--t-meta);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.catena .step.on{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.catena .ar{color:var(--lime);font-size:18px;line-height:1}

/* numeri */
.numeri{display:grid;gap:var(--gut)}
.numeri.n3{grid-template-columns:repeat(3,1fr)}
.numeri.n2{grid-template-columns:repeat(2,1fr)}
.numeri .n{font-family:var(--display);font-size:88px;line-height:.85;color:var(--lime)}
.numeri p{margin-top:16px;font-size:var(--t-body);line-height:32px;color:rgba(242,242,242,.85)}
.statbig{font-family:var(--display);font-size:176px;line-height:.85;color:var(--lime)}

/* schede lavoro */
.job{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;
  display:flex;flex-direction:column;gap:8px}
/* un solo accento per scheda: lo prende il compenso, il resto resta neutro */
.job .org{font-size:var(--t-meta);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.job h4{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:28px;line-height:1;margin-top:4px}
.job .loc{font-size:var(--t-meta);line-height:24px;color:var(--muted)}
.job .pay{font-family:var(--display);font-size:28px;color:var(--lime);margin-top:4px}
.job .tags{font-size:var(--t-meta);line-height:24px;color:rgba(242,242,242,.7);margin-top:8px}
.job .spent{font-size:var(--t-meta);line-height:24px;color:var(--muted)}
.job a.lnk{margin-top:auto;padding-top:12px;font-size:var(--t-meta);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(242,242,242,.85);text-decoration:none}

/* listino */
.prezzi{background:var(--card);border:1px dashed rgba(255,255,255,.25);border-radius:16px;padding:28px;
  display:flex;flex-direction:column;justify-content:center}
.prezzi .t{font-size:var(--t-meta);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fuchsia);margin-bottom:16px}
.prezzi .riga{display:flex;justify-content:space-between;gap:24px;padding:16px 0;
  border-bottom:1px solid var(--border);font-size:var(--t-body);line-height:32px;color:var(--muted)}
.prezzi .riga:last-child{border-bottom:0}

/* hub: la capsula è legata alla riga da una linea, non galleggia sopra di essa */
.hub{display:flex;flex-direction:column;gap:24px}
.hub .testa{display:flex;align-items:center;gap:24px}
.hub .core{background:var(--lime);color:var(--ink);border-radius:999px;padding:16px 40px;flex:none;
  font-family:var(--display);font-size:28px;letter-spacing:.03em;text-transform:uppercase}
.hub .linea{flex:1;height:2px;background:var(--lime)}

/* foto */
.bleed{position:absolute;top:0;bottom:0;right:0;width:480px;background-size:cover;background-position:center 18%;z-index:1}
.bleed.stretta{width:400px}
.foto3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut)}
/* i tre riquadri hanno il formato che dichiarano: 9:16, 3:4, 16:9 */
.formati{display:flex;gap:var(--gut);align-items:flex-end}
.formati .ph{height:136px}
.formati .r916{aspect-ratio:9/16}
.formati .r34{aspect-ratio:3/4}
.formati .r169{aspect-ratio:16/9}
.foto4{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:var(--gut)}
.foto4.destra{position:absolute;right:var(--pad);top:var(--pad);bottom:var(--pad);width:352px;z-index:2}
.ph{border-radius:16px;background-size:cover;background-position:center 20%;position:relative}
.ph em{position:absolute;left:16px;bottom:16px;font-style:normal;font-family:var(--display);font-size:16px;
  letter-spacing:.1em;background:var(--lime);color:var(--ink);padding:6px 12px;border-radius:999px}

#hud{position:fixed;right:22px;bottom:18px;display:flex;gap:8px;align-items:center;z-index:9}
#hud button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  background:rgba(28,28,28,.8);color:#F2F2F2;font-size:15px;cursor:pointer;line-height:1}
#hud button:hover{border-color:var(--lime);color:var(--lime)}
#num{font-size:11px;font-weight:700;letter-spacing:.16em;color:rgba(242,242,242,.55);padding:0 10px;
  font-variant-numeric:tabular-nums}

@page{size:1280px 720px;margin:0}
@media print{
  html,body{overflow:visible;background:#fff;height:auto}
  #hud{display:none!important}
  #stage{position:static;display:block}
  .slide{position:relative;display:block!important;transform:none!important;
    width:1280px;height:720px;break-after:page;page-break-after:always}
  .slide:last-child{break-after:auto;page-break-after:auto}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* --- aggiunte del motore --- */
.card p.forte{font-family:var(--display);font-weight:400;font-size:32px;line-height:1;
  text-transform:uppercase;color:var(--lime)}
.chips .chip{flex:none}
.foto4.destra.stretta{width:272px}
.sep{color:var(--lime);opacity:.65}
