  /* Palette dal manifesto 2027 (proposta KOB, ottobre 2026) */
  :root{
    --bg:#efeee9;
    --ink:#1c1b1a;
    --muted:#6b6a66;
    --line:rgba(28,27,26,.14);
    --sage:#94a088;
    --sage-l:#c3c8b6;
    --terra:#e4663a;
    --apricot:#e8a06e;
    --brown:#7a2e1e;
    --poster:#9aa28a;
    --maxw:1320px;
    --ease:cubic-bezier(.22,1,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-weight:400;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
  ::selection{background:var(--terra);color:#fff}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  [lang="ar"]{font-family:'Noto Sans Arabic',sans-serif;font-weight:300;direction:rtl;text-align:right}

  /* ---------- CHROME ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
    padding:1.1rem clamp(1.4rem,4vw,3rem);background:var(--bg);border-bottom:1px solid transparent;transition:border-color .4s}
  header.scrolled{border-color:var(--line)}
  header.over{background:transparent;color:#fff}
  header.over .brand span,header.over .lang a{color:rgba(255,255,255,.7)}
  header.over .lang a.active{color:#fff}
  .brand{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
  .brand span{font-weight:400;color:var(--muted)}
  .lang{display:flex;gap:.8rem;font-size:.78rem}
  .lang a{color:var(--muted)}
  .lang a.active{color:var(--ink)}

  .dots{position:fixed;right:clamp(1rem,2.4vw,2rem);top:50%;transform:translateY(-50%);z-index:60;
    display:flex;flex-direction:column;gap:1.1rem}
  .dots button{background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:.7rem;
    color:rgba(28,27,26,.3);justify-content:flex-end;font:inherit}
  .dots .lbl{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;opacity:0;transform:translateX(6px);transition:.4s var(--ease)}
  .dots .tick{width:22px;height:1px;background:currentColor;transition:.4s var(--ease)}
  .dots button:hover .lbl{opacity:1;transform:none}
  .dots button.active{color:var(--ink)}
  .dots button.active .tick{width:40px;height:2px;background:var(--terra)}
  .dots button.active .lbl{opacity:1;transform:none}
  .dots.on-dark button{color:rgba(239,238,233,.35)}
  .dots.on-dark button.active{color:var(--bg)}
  .progress{position:fixed;left:0;top:0;height:2px;background:var(--terra);z-index:70;width:0}

  /* ---------- LAYOUT ---------- */
  section{position:relative;padding:0 clamp(1.4rem,5vw,4rem)}
  .wrap{max-width:var(--maxw);margin:0 auto;width:100%}
  .eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brown)}
  .block{padding-top:9rem;padding-bottom:9rem}
  .display{font-weight:300;font-size:clamp(2.6rem,6.4vw,5.6rem);letter-spacing:-.035em;line-height:1;margin-top:1.4rem}
  .display em{font-style:normal;font-weight:200;color:var(--brown);display:block}
  .lead{color:var(--muted);max-width:50ch;font-size:clamp(1rem,1.3vw,1.1rem)}
  .lead + .lead{margin-top:1rem}
  .lead[lang="ar"]{margin-left:auto;margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--line);line-height:2}
  .grid2{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,5rem);align-items:end}
  @media(min-width:900px){.grid2{grid-template-columns:1fr 1fr}}

  /* ---------- HERO ---------- */
  /* hero a tutto schermo: fondo = colore del manifesto, il manifesto occupa l'intera altezza */
  #hero{padding:0;height:100vh;height:100svh;min-height:620px;background:var(--poster);color:#fff;position:relative;overflow:hidden}
  .hero-poster{position:absolute;top:4.6rem;bottom:0;right:clamp(0rem,6vw,8rem);height:calc(100% - 4.6rem)}  /* parte sotto la testata: il menu non copre il titolo del manifesto */
  .hero-poster img{height:100%;width:auto;max-width:none;opacity:0;transform:translateY(24px);transition:opacity 1.4s var(--ease),transform 1.8s var(--ease)}
  .hero-poster.in img{opacity:1;transform:none}
  .hero-text{position:relative;z-index:2;height:100%;max-width:min(52vw,760px);padding:7rem clamp(1.4rem,5vw,4rem) 3.4rem;
    display:flex;flex-direction:column;justify-content:flex-end;gap:2.2rem}
  #hero .eyebrow{color:var(--brown)}
  .hero-head{display:flex;align-items:flex-end;gap:clamp(1.2rem,2.4vw,2.2rem);margin-top:1.4rem}
  .hero-logo{height:clamp(8rem,13vw,12.5rem);width:auto;flex:0 0 auto}
  .hero-dates{font-weight:200;font-size:clamp(2rem,3.4vw,3.5rem);letter-spacing:-.04em;line-height:1}
  .hero-dates span{color:var(--brown)}
  .hero-meta p{font-size:.98rem;color:rgba(255,255,255,.92)}
  .hero-meta [lang="ar"]{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.35)}
  .hero-meta [lang="ar"] b{font-weight:400;font-size:1.1rem;display:block}
  .hero-meta [lang="ar"] span{display:block;color:rgba(255,255,255,.85);font-size:.9rem;line-height:1.9}
  .btnrow{display:flex;gap:1.6rem;flex-wrap:wrap;align-items:center}
  .btn{font-weight:500;font-size:.88rem;display:inline-flex;gap:.6rem;padding:.95rem 1.5rem;background:var(--ink);color:var(--bg);transition:background .3s}
  .btn:hover{background:var(--terra)}
  .link{font-size:.88rem;border-bottom:1px solid currentColor;padding-bottom:.15rem}
  .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  @media(max-width:900px){
    #hero{height:auto;min-height:0}
    .hero-poster{position:relative;top:auto;right:auto;height:auto;padding-top:3.6rem}
    .hero-poster img{width:100%;height:auto}
    .hero-text{max-width:none;height:auto;padding-top:2.4rem}
    .hero-head{flex-direction:column;align-items:flex-start;gap:1.4rem}
    .hero-logo{height:8.5rem}
  }

  /* ---------- HOMMAGE (citazione) ---------- */
  .hommage{display:grid;grid-template-columns:1fr;gap:.8rem 3rem;margin-top:4rem;padding-top:1.6rem;border-top:1px solid var(--line)}
  @media(min-width:900px){.hommage{grid-template-columns:14rem 1fr}}
  .hommage p{color:var(--muted);max-width:64ch;font-size:.98rem}

  /* ---------- FIGURES ---------- */
  .figs{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:5rem}
  @media(min-width:900px){.figs{grid-template-columns:repeat(4,1fr)}}
  .fig{padding:2rem 1.4rem 0 0}
  .fig b{display:block;font-weight:200;font-size:clamp(2.8rem,5.4vw,4.4rem);letter-spacing:-.05em;line-height:1}
  .fig:nth-child(even) b{color:var(--brown)}
  .fig span{display:block;margin-top:.7rem;color:var(--muted);font-size:.86rem;max-width:22ch}

  /* ---------- BANDS ---------- */
  .band{padding-top:8rem;padding-bottom:8rem}
  .band.sage{background:var(--sage);color:#fff}
  .band.sage .eyebrow{color:var(--brown)}
  .band.sage .display em{color:var(--brown)}
  .band.sage .lead{color:rgba(255,255,255,.9)}
  .band.dark{background:var(--ink);color:var(--bg)}
  .band.dark .eyebrow{color:var(--apricot)}
  .band.dark .display em{color:var(--apricot)}
  .band.dark .lead{color:rgba(239,238,233,.7)}
  .band.dark .lead[lang="ar"]{border-color:rgba(239,238,233,.16)}
  /* home: dal fondo chiaro del blocco 01 al salvia della palette, a campiture piene */
  .tint-1{background:#e4e5dc}
  .tint-2{background:#d9dbcf}
  .tint-3{background:#ced1c3}
  .band.terra{background:var(--terra);color:var(--ink)}
  .band.terra .eyebrow,.band.terra .display em{color:var(--ink)}
  .band.terra .display em{font-weight:200}
  .band.terra .lead{color:var(--ink)}

  .pillars{display:grid;grid-template-columns:1fr;border-top:1px solid rgba(239,238,233,.18);margin-top:4rem}
  @media(min-width:860px){.pillars{grid-template-columns:repeat(3,1fr)}}
  .pillar{padding:1.8rem 2rem 0 0}
  .pillar .no{font-size:.72rem;letter-spacing:.1em;color:var(--apricot)}
  .pillar h3{font-weight:400;font-size:1.3rem;margin-top:.7rem}
  .pillar p{font-size:.88rem;margin-top:.4rem;color:rgba(239,238,233,.65);max-width:32ch}

  /* ---------- MANIFESTE ---------- */
  .mocks{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:3.4rem}
  @media(min-width:900px){.mocks{grid-template-columns:1fr 1fr}}
  .mocks figure .ph{aspect-ratio:4/3;overflow:hidden;border-radius:10px}
  .mocks img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
  .mocks figure:hover img{transform:scale(1.03)}
  .mocks figcaption{display:flex;gap:1rem;margin-top:1rem;font-size:.92rem}
  .mocks figcaption b{font-weight:300;color:var(--brown)}
  .mocks figcaption span{color:var(--muted)}

  /* ---------- PROGRAMME ---------- */
  .soon{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);margin-top:4rem}
  @media(min-width:860px){.soon{grid-template-columns:repeat(4,1fr)}}
  .soon div{padding:1.6rem 1.6rem 0 0}
  .soon b{display:block;font-weight:400;font-size:1.1rem}
  .soon span{color:var(--muted);font-size:.86rem}
  .sub{margin-top:6rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
  .sub h3{font-weight:300;font-size:1.6rem;letter-spacing:-.02em}
  .filters{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.82rem}
  .filters button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;padding:.2rem 0;border-bottom:1px solid transparent}
  .filters button.active,.filters button:hover{color:var(--ink);border-color:var(--terra)}
  .films{display:grid;grid-template-columns:1fr;gap:2.4rem 1.4rem;margin-top:2.2rem}
  @media(min-width:640px){.films{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1080px){.films{grid-template-columns:repeat(3,1fr)}}
  .film.hide{display:none}
  .film .ph{aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:var(--sage-l)}
  .film img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.95);transition:filter .6s,transform 1s var(--ease)}
  .film:hover img{filter:none;transform:scale(1.03)}
  .film .cat{margin-top:1rem;font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brown)}
  .film[data-c="maroc"] .cat{color:var(--terra)}
  .film h3{font-weight:400;font-size:1.3rem;letter-spacing:-.01em;margin-top:.35rem}
  .film p{color:var(--muted);font-size:.86rem}

  /* ---------- EDITIONS ---------- */
  .strip{display:flex;gap:1rem;margin-top:3.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin}
  .strip figure{flex:0 0 auto;height:clamp(220px,30vw,340px);scroll-snap-align:start}
  .strip img{height:100%;width:auto;border-radius:10px}
  .editions{margin-top:3rem;border-top:1px solid var(--line)}
  .ed{display:grid;grid-template-columns:5rem 1fr auto;gap:1.4rem;align-items:baseline;padding:1.3rem 0;
    border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
  .ed:hover{padding-left:.8rem}
  .ed .y{font-weight:300;font-size:1.4rem;letter-spacing:-.02em}
  .ed .t{color:var(--muted);font-size:.92rem}
  .ed .a{font-size:.8rem;color:var(--brown)}
  .ed.now .y{color:var(--terra)}

  /* ---------- CONTACT ---------- */
  .cinfo{margin-top:3rem;display:flex;gap:3rem;flex-wrap:wrap;font-size:.95rem}
  .cinfo div span{display:block;font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:.4rem}
  .cinfo a{border-bottom:1px solid var(--ink)}
  footer{padding:2.4rem clamp(1.4rem,5vw,4rem);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
    font-size:.74rem;color:rgba(239,238,233,.55);background:var(--ink)}
  footer nav{display:flex;gap:1.4rem}
  footer a:hover{color:var(--bg)}

  /* reveal */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

  @media(max-width:760px){.dots{display:none}.brand span{display:none}}
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    .reveal,.hero-poster img{opacity:1;transform:none}
  }

  /* =====================================================================
     SITO MULTIPAGINA — componenti aggiunti
     ===================================================================== */

  /* menu */
  header{gap:2rem}
  .menu{display:flex;gap:1.6rem;font-size:.84rem;margin-left:auto}
  .menu a{color:var(--muted);padding:.2rem 0;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
  .menu a:hover{color:var(--ink)}
  .menu a.current{color:var(--ink);border-color:var(--terra)}
  header.over .menu a{color:rgba(255,255,255,.75)}
  header.over .menu a:hover,header.over .menu a.current{color:#fff}
  .menu-btn{display:none;background:none;border:0;font:inherit;font-size:.84rem;color:inherit;cursor:pointer;padding:.2rem 0}
  @media(max-width:900px){
    .menu-btn{display:block;margin-left:auto}
    .menu{position:fixed;inset:0;z-index:80;background:var(--ink);flex-direction:column;justify-content:center;gap:.4rem;
      padding:0 clamp(1.4rem,5vw,4rem);margin:0;transform:translateY(-100%);transition:transform .6s var(--ease)}
    .menu.open{transform:none}
    .menu a,header.over .menu a{color:var(--bg);font-weight:200;font-size:clamp(2.4rem,11vw,4rem);letter-spacing:-.04em;line-height:1.15;border:0}
    .menu a.current{color:var(--apricot)}
    .menu-close{position:absolute;top:1.1rem;right:clamp(1.4rem,4vw,3rem);background:none;border:0;color:var(--bg);font:inherit;font-size:.84rem;cursor:pointer}
    .lang{display:none}
  }
  @media(min-width:901px){.menu-close{display:none}}

  /* hero interna */
  .page-hero{background:var(--poster);color:#fff;min-height:68vh;display:flex;align-items:flex-end;padding-top:9rem;padding-bottom:4.4rem}
  .page-hero .eyebrow{color:var(--brown)}
  .page-hero .display{font-size:clamp(3rem,8vw,7.4rem)}
  .page-hero .display em{color:var(--brown)}
  .page-hero .lead{color:rgba(255,255,255,.92);margin-top:2rem}
  .page-hero .row{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;flex-wrap:wrap}
  .page-hero .meta{font-size:.92rem;color:rgba(255,255,255,.92);display:grid;gap:.3rem;text-align:left}
  .page-hero .meta b{font-weight:500}

  /* testo lungo */
  .prose{max-width:66ch}
  .prose p{color:var(--muted);font-size:1.02rem}
  .prose p + p{margin-top:1.1rem}
  .prose h3{font-weight:400;font-size:1.3rem;letter-spacing:-.01em;color:var(--ink);margin:2.4rem 0 .8rem}
  .prose ul{list-style:none;margin-top:1rem;border-top:1px solid var(--line)}
  .prose li{padding:.75rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
  .cols2{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,6rem);align-items:start;margin-top:3rem}
  @media(min-width:900px){.cols2{grid-template-columns:1fr 1.25fr}}
  .figure{border-radius:10px;overflow:hidden;aspect-ratio:3/2}
  .figure img{width:100%;height:100%;object-fit:cover}
  .sticky{position:sticky;top:6rem}

  /* citazioni / messaggi */
  .quotes{display:grid;grid-template-columns:1fr;gap:3.4rem;margin-top:4rem}
  .quote{display:grid;grid-template-columns:5.5rem 1fr;gap:1.6rem;align-items:start;padding-top:2rem;border-top:1px solid var(--line)}
  .quote img{width:5.5rem;aspect-ratio:1;object-fit:cover;border-radius:50%;filter:grayscale(1)}
  .quote blockquote{font-weight:300;font-size:clamp(1.25rem,2.2vw,1.75rem);letter-spacing:-.02em;line-height:1.3;max-width:40ch}
  .quote cite{display:block;margin-top:1rem;font-style:normal;font-size:.85rem;color:var(--muted)}
  .quote details{margin-top:1.2rem}
  .quote summary{cursor:pointer;font-size:.86rem;color:var(--brown);list-style:none}
  .quote summary::-webkit-details-marker{display:none}
  .quote details[open] summary{margin-bottom:1rem}
  .quote .prose{margin-top:.4rem}

  /* programma giorno per giorno */
  .schedule{margin-top:3.4rem;border-top:1px solid var(--line)}
  .day{display:grid;grid-template-columns:1fr;gap:1rem 3rem;padding:2.4rem 0;border-bottom:1px solid var(--line)}
  @media(min-width:900px){.day{grid-template-columns:13rem 1fr}}
  .day-head b{display:block;font-weight:200;font-size:3.6rem;letter-spacing:-.05em;line-height:1}
  .day-head span{display:block;font-size:.92rem;margin-top:.4rem}
  .day-head small{display:block;color:var(--muted);font-size:.8rem;margin-top:.2rem}
  .slot{display:grid;grid-template-columns:4.6rem 1fr;gap:1.2rem;padding:1rem 0;border-top:1px solid var(--line)}
  .slot:first-child{border-top:0;padding-top:.4rem}
  .slot time{font-variant-numeric:tabular-nums;color:var(--brown);font-size:.95rem;padding-top:.1rem}
  .slot .k{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
  .slot h4{font-weight:400;font-size:1.15rem;letter-spacing:-.01em;margin-top:.15rem}
  .slot p{color:var(--muted);font-size:.86rem;margin-top:.2rem;max-width:70ch}
  .slot.event h4{font-weight:300;color:var(--muted)}

  /* volti (registi) */
  .faces{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1.2rem;margin-top:3rem}
  @media(min-width:700px){.faces{grid-template-columns:repeat(4,1fr)}}
  @media(min-width:1100px){.faces{grid-template-columns:repeat(6,1fr)}}
  .face .ph{aspect-ratio:3/4;overflow:hidden;border-radius:10px;background:var(--sage-l)}
  .face img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s}
  .face:hover img{filter:none}
  .face h4{font-weight:400;font-size:.98rem;margin-top:.7rem}
  .face span{font-size:.8rem;color:var(--muted)}

  /* galleria + lightbox */
  .gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:3rem}
  @media(min-width:760px){.gallery{grid-template-columns:repeat(4,1fr)}}
  .gallery button{border:0;padding:0;background:var(--sage-l);aspect-ratio:3/2;overflow:hidden;border-radius:8px;cursor:zoom-in}
  .gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
  .gallery button:hover img{transform:scale(1.04)}
  .lightbox{position:fixed;inset:0;z-index:90;background:rgba(28,27,26,.96);display:none;align-items:center;justify-content:center;padding:4rem 1.4rem}
  .lightbox.open{display:flex}
  .lightbox img{max-width:100%;max-height:100%;border-radius:6px}
  .lightbox button{position:absolute;background:none;border:0;color:var(--bg);font:inherit;font-size:.9rem;cursor:pointer;padding:1rem}
  .lb-close{top:.6rem;right:1rem}.lb-prev{left:.4rem;top:50%}.lb-next{right:.4rem;top:50%}

  /* loghi partner: il multiply elimina i fondi bianchi dei file */
  .logos-group{display:grid;grid-template-columns:1fr;gap:1rem 3rem;padding:2rem 0;border-top:1px solid var(--line)}
  @media(min-width:900px){.logos-group{grid-template-columns:13rem 1fr}}
  .logos-group h4{font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);padding-top:1rem}
  .logos{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 1.6rem}
  @media(min-width:640px){.logos{grid-template-columns:repeat(4,1fr)}}
  .logos figure{display:flex;flex-direction:column;gap:.7rem}
  .logo-box{height:64px;display:flex;align-items:center}
  .logos img{max-width:100%;object-fit:contain;opacity:.9}
  .logos figcaption{font-size:.74rem;color:var(--muted);line-height:1.35}

  /* organigramma */
  .roles{display:grid;grid-template-columns:1fr;margin-top:3rem;border-top:1px solid var(--line)}
  @media(min-width:760px){.roles{grid-template-columns:repeat(2,1fr);column-gap:3rem}}
  @media(min-width:1100px){.roles{grid-template-columns:repeat(3,1fr)}}
  .role{padding:1.2rem 0;border-bottom:1px solid var(--line)}
  .role span{display:block;font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brown)}
  .role b{display:block;font-weight:400;font-size:1.06rem;margin-top:.35rem}
  .role small{display:block;color:var(--muted);font-size:.84rem}

  /* schede edizioni */
  .ed-cards{display:grid;grid-template-columns:1fr;gap:3rem 1.4rem;margin-top:3.4rem}
  @media(min-width:760px){.ed-cards{grid-template-columns:repeat(2,1fr)}}
  .ed-card .ph{aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:var(--sage-l)}
  .ed-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
  .ed-card:hover img{transform:scale(1.03)}
  .ed-card .y{display:block;font-weight:200;font-size:3rem;letter-spacing:-.05em;line-height:1;margin-top:1.2rem}
  .ed-card.now .y{color:var(--terra)}
  .ed-card h3{font-weight:400;font-size:1.15rem;margin-top:.4rem}
  .ed-card p{color:var(--muted);font-size:.9rem;margin-top:.3rem;max-width:46ch}

  /* contatti */
  .contact-grid{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);margin-top:3rem}
  @media(min-width:900px){.contact-grid{grid-template-columns:repeat(4,1fr)}}
  .contact-grid div{padding:1.6rem 1.6rem 1.6rem 0}
  .contact-grid span{display:block;font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
  .contact-grid a,.contact-grid p{display:inline-block;margin-top:.5rem;font-size:1.05rem}
  .contact-grid a{border-bottom:1px solid var(--ink)}
  .pager{display:flex;justify-content:space-between;gap:1rem;padding:3rem 0;border-top:1px solid var(--line);font-size:.92rem}
  .pager a{color:var(--muted)}.pager a:hover{color:var(--ink)}
  .lang a[aria-disabled]{cursor:default}

  /* =====================================================================
     ARABO — impaginazione da destra a sinistra
     ===================================================================== */
  [dir="rtl"] body{font-family:'Noto Sans Arabic','Inter',system-ui,sans-serif;line-height:1.8}
  [dir="rtl"] .display,[dir="rtl"] .hero-dates,[dir="rtl"] .fig b,[dir="rtl"] .day-head b,[dir="rtl"] .ed .y,
  [dir="rtl"] .ed-card .y,[dir="rtl"] .quote blockquote,[dir="rtl"] .sub h3,[dir="rtl"] .film h3,[dir="rtl"] .menu a{letter-spacing:0}
  [dir="rtl"] .display,[dir="rtl"] .hero-dates{font-weight:300;line-height:1.25}
  [dir="rtl"] .display em{font-weight:300}
  [dir="rtl"] .eyebrow,[dir="rtl"] .brand,[dir="rtl"] .film .cat,[dir="rtl"] .slot .k,[dir="rtl"] .role span,[dir="rtl"] .logos-group h4,
  [dir="rtl"] .contact-grid span,[dir="rtl"] .cinfo div span,[dir="rtl"] .dots .lbl,[dir="rtl"] .edition{letter-spacing:0;text-transform:none;font-size:.82rem}
  [dir="rtl"] .brand{font-size:.86rem}
  [dir="rtl"] .hero-poster{right:auto;left:clamp(0rem,6vw,8rem)}
  [dir="rtl"] .dots{right:auto;left:clamp(1rem,2.4vw,2rem)}
  [dir="rtl"] .ed:hover{padding-left:0;padding-right:.8rem}
  [dir="rtl"] .fig{padding:2rem 0 0 1.4rem}
  [dir="rtl"] .pillar{padding:1.8rem 0 0 2rem}
  [dir="rtl"] .soon div{padding:1.6rem 0 0 1.6rem}
  [dir="rtl"] .contact-grid div{padding:1.6rem 0 1.6rem 1.6rem}
  [dir="rtl"] .page-hero .meta{text-align:right}
  [dir="rtl"] .lb-prev{left:auto;right:.4rem}
  [dir="rtl"] .lb-next{right:auto;left:.4rem}
  [dir="rtl"] .menu-close{right:auto;left:clamp(1.4rem,4vw,3rem)}
  [dir="rtl"] .film h3,[dir="rtl"] .slot h4,[dir="rtl"] .face h4,[dir="rtl"] .role b{unicode-bidi:plaintext}
  /* blocco in francese sotto la hero araba */
  .hero-meta [lang="fr"]{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.35);text-align:left;font-family:'Inter',sans-serif}
  .hero-meta [lang="fr"] b{font-weight:400;font-size:1.05rem;display:block}
  .hero-meta [lang="fr"] span{display:block;color:rgba(255,255,255,.85);font-size:.9rem;line-height:1.7}

  /* lingue dentro il menu mobile (la barra lingue in testata si nasconde sotto i 900px) */
  .menu-lang{display:none}
  @media(max-width:900px){
    .menu .menu-lang{display:flex;gap:1.4rem;margin-top:2.4rem}
    .menu .menu-lang a{font-size:.95rem;font-weight:400;letter-spacing:0;line-height:1.4;color:rgba(239,238,233,.6)}
    .menu .menu-lang a.active{color:var(--bg);border-bottom:1px solid var(--terra)}
  }

  /* ---------- schede film ---------- */
  a.film{display:block}
  a.film h3{transition:color .3s}
  a.film:hover h3{color:var(--brown)}
  .slot h4 a{border-bottom:1px solid var(--line);transition:border-color .3s}
  .slot h4 a:hover{border-color:var(--terra)}
  .film-hero .display{font-size:clamp(2.6rem,6.4vw,6rem)}
  .trailer{position:relative;display:block;width:100%;aspect-ratio:3/2;border:0;padding:0;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--ink)}
  .trailer img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .4s}
  .trailer:hover img{opacity:.9}
  .trailer span{position:absolute;left:1.4rem;bottom:1.2rem;display:inline-flex;align-items:center;gap:.7rem;
    padding:.8rem 1.2rem;background:var(--ink);color:var(--bg);font:inherit;font-size:.88rem}
  .trailer span::before{content:"";border-style:solid;border-width:.42rem 0 .42rem .7rem;border-color:transparent transparent transparent var(--terra)}
  .trailer-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;display:block;position:sticky;top:6rem}
  [dir="rtl"] .trailer span{left:auto;right:1.4rem}
  [dir="rtl"] .trailer span::before{border-width:.42rem .7rem .42rem 0;border-color:transparent var(--terra) transparent transparent}
  .trailer.sticky{position:sticky}

  /* ---------- logo a colori ---------- */
  .brand{display:flex;align-items:center;gap:.7rem}
  .brand-mark{height:30px;width:auto;flex:0 0 auto}
  .menu-mark{display:none}
  @media(max-width:900px){.menu .menu-mark{display:block;position:absolute;top:1rem;left:clamp(1.4rem,5vw,4rem);height:48px;width:auto}
    [dir="rtl"] .menu .menu-mark{left:auto;right:clamp(1.4rem,5vw,4rem)}}
  .foot-brand{display:flex;align-items:center;gap:.9rem}
  .foot-brand img{height:34px;width:auto}
  .hero-aside{display:flex;flex-direction:column;align-items:flex-start;gap:1.6rem}
  .hero-logo-color{height:clamp(9rem,16vw,14rem);width:auto}

  /* ---------- hero con foto in bicromia ---------- */
  .page-hero.has-img{position:relative;overflow:hidden}
  .page-hero .hero-img{position:absolute;top:0;right:0;width:46%;height:100%;object-fit:cover}
  .page-hero.has-img .wrap{position:relative;z-index:1}
  .page-hero.has-img .row{flex-direction:column;align-items:flex-start;gap:2.2rem}
  .page-hero.has-img .row > div,.page-hero.has-img .hero-aside{max-width:min(50%,620px)}
  .page-hero.has-img .display{font-size:clamp(2.8rem,6vw,6.2rem)}
  [dir="rtl"] .page-hero .hero-img{right:auto;left:0}
  @media(max-width:900px){
    .page-hero.has-img{flex-direction:column;align-items:stretch;padding-top:0}
    .page-hero .hero-img{position:static;width:calc(100% + 2 * clamp(1.4rem,5vw,4rem));max-width:none;height:46vh;margin:0 calc(-1 * clamp(1.4rem,5vw,4rem)) 2.6rem}
    .page-hero.has-img .row > div,.page-hero.has-img .hero-aside{max-width:none}
  }

  /* hero alternate: rosso scuro (bruno del manifesto) con testo tutto bianco */
  .page-hero.tone-red{background:var(--brown)}
  .page-hero.tone-red .display em{color:#fff}
  .page-hero.tone-red .eyebrow{color:var(--sage-l)}
  .logo-color-inline{height:clamp(8rem,12vw,11rem);width:auto;margin-bottom:2.4rem}
