/* ── Font locali (nessun dato inviato a Google) ── */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/outfit-latin-300-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/outfit-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/outfit-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/outfit-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/fraunces-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/fraunces-latin-wght-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

    :root {
    --bg:          #f5f0e8;
    --bg2:         #ede7da;
    --surface:     #faf7f2;
    --card:        #ffffff;
    --border:      #ddd8ce;
    --border-soft: #e8e3d8;
    --terra:       #8b4a2a;
    --terra-dim:   #c4876a;
    --terra-pale:  #f0ddd4;
    --ink:         #1e1a14;
    --ink-mid:     #4a4440;
    --ink-soft:    #7a7268;
    --gold:        #b8860b;
    --gold-bg:     #fef9ec;
    --teal:        #2a7a6a;
    --teal-bg:     #edf6f4;
    --radius:      12px;
    --shadow:      0 2px 12px rgba(30,26,20,.07), 0 1px 3px rgba(30,26,20,.05);
    --shadow-hov:  0 6px 24px rgba(30,26,20,.12), 0 2px 6px rgba(30,26,20,.07);
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;font-size:20px}
  @media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important;transform:none!important}
}
  body{background:var(--bg);color:var(--ink);font-family:'Outfit',system-ui,sans-serif;font-weight:400;line-height:1.65}

  /* ── Skip / focus ── */
  .skip{position:absolute;top:-999px;left:1rem;background:var(--terra);color:#fff;padding:.5rem 1.2rem;font-weight:500;z-index:9999;text-decoration:none;border-radius:8px}
  .skip:focus{top:1rem}
  :focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:4px}

  /* ── Header ── */
  header{position:sticky;top:0;z-index:300;background:#f5f0e8f0;backdrop-filter:blur(14px);border-bottom:1px solid var(--border);height:66px;display:flex;align-items:center;padding:0 2rem;gap:1.5rem;justify-content:space-between}
  .logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);flex-shrink:0}
  .logo-name{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:600;line-height:1;letter-spacing:-.01em}
  nav{display:flex;gap:1.8rem}
  nav a{color:var(--ink-soft);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:color .18s}
  nav a:hover{color:var(--terra)}
  .header-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
  .hc-btn{background:none;border:1px solid var(--border);color:var(--ink-soft);padding:0 .85rem;font-size:.72rem;font-family:'Outfit',sans-serif;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:8px;transition:all .18s;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .hc-btn:hover{border-color:var(--terra);color:var(--terra)}
  .ctrl-sep{width:1px;height:22px;background:var(--border);flex-shrink:0}
  .fs-group{display:flex;align-items:center;gap:.3rem}
  .fs-btn{background:none;border:1px solid var(--border);color:var(--ink-soft);width:34px;height:34px;font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0}
  .fs-btn:hover{border-color:var(--terra);color:var(--terra)}
  .fs-btn.active{background:var(--terra-pale);border-color:var(--terra-dim);color:var(--terra)}

  /* ── Hero ── */
  .hero{
    position:relative;overflow:hidden;
    min-height:380px;display:flex;align-items:center;justify-content:center;
    text-align:center;border-bottom:1px solid var(--border);
    background:linear-gradient(170deg,#f0e8d8 0%,#e4d8c4 40%,#cfc0a8 100%);
  }
  .hero::after{
    content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
    opacity:.045;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    background-size:300px 300px;
  }
  .hero::before{
    content:'';position:absolute;inset:0;z-index:0;
    background:radial-gradient(ellipse 80% 55% at 50% -10%, rgba(196,120,70,.22) 0%, transparent 65%);
    pointer-events:none;
  }
  .hero-content{position:relative;z-index:1;max-width:680px;padding:3.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:0}
  .hero-identity{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-bottom:1.2rem}
  .hero-identity svg{opacity:.9}
  .hero h1{font-family:'Outfit',sans-serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-.02em;margin:0}
  .hero-desc{font-size:1.5rem;color:var(--ink-mid);line-height:1.4;font-weight:300;max-width:560px;margin:0 auto}
  .hero-pills{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
  .hero-btn{
    display:inline-flex;align-items:center;
    padding:.65rem 1.8rem;border-radius:8px;
    font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:600;
    letter-spacing:.04em;text-decoration:none;transition:all .18s;
    background:var(--terra);color:#fff;border:2px solid var(--terra);
  }
  .hero-btn:hover{background:#7a3d20;border-color:#7a3d20;transform:translateY(-1px)}
  .hero-btn-sec{background:rgba(255,255,255,.55);color:var(--ink);border-color:rgba(255,255,255,.7);backdrop-filter:blur(4px)}
  .hero-btn-sec:hover{background:rgba(255,255,255,.8);border-color:rgba(255,255,255,.9);transform:translateY(-1px)}

  /* ── Progetto ── */
  .progetto{background:var(--surface);border-bottom:1px solid var(--border);padding:3.5rem 2rem}
  .progetto-inner{max-width:1100px;margin:0 auto}
  .progetto h2{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:300;color:var(--ink);margin-bottom:1.3rem;letter-spacing:-.01em}
  .progetto p{font-size:1.05rem;line-height:1.65;color:var(--ink-mid);font-weight:300;margin-bottom:1.1rem}
  .progetto p:last-child{margin-bottom:0}

  /* ── Catalog ── */
  .catalog-wrap{max-width:1100px;margin:0 auto;padding:3rem 2rem 4rem}
  .catalog-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
  .catalog-top h2{font-family:'Fraunces',serif;font-size:1.8rem;font-weight:300;color:var(--ink);letter-spacing:-.01em}
  #countLbl{font-size:.88rem;color:var(--ink-soft)}

  /* ── Filters ── */
  .filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
  .filt{background:var(--surface);border:1.5px solid var(--border);color:var(--ink-mid);padding:.45rem 1.2rem;border-radius:20px;cursor:pointer;font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.04em;transition:all .18s}
  .filt:hover{border-color:var(--terra-dim);color:var(--terra)}
  .filt.active{background:var(--terra);border-color:var(--terra);color:#fff}

  /* ── Empty state ── */
  .empty-state{display:none;padding:4.5rem 2rem;text-align:center}
  .empty-state.visible{display:block}
  .empty-state-title{font-family:'Fraunces',serif;font-size:2rem;font-weight:300;color:var(--ink-mid);margin-bottom:.6rem}
  .empty-state-sub{font-size:1rem;color:var(--ink-soft);font-weight:300}

  /* ── Grid ── */
  .opera-list{display:grid;grid-template-columns:1fr;gap:1.25rem}

  /* ── Card ── */
  .opera{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border-soft);overflow:hidden;transition:box-shadow .22s,transform .22s;display:flex;flex-direction:column}
  .opera:hover{box-shadow:var(--shadow-hov);transform:translateY(-2px)}
  .opera.disabled{opacity:.48;background:var(--bg2);box-shadow:none;pointer-events:none}
  .opera.hidden{display:none}

  .card-inner-h{
    display:grid;
    grid-template-columns:55fr 45fr;
    grid-template-rows:auto 1fr;
    flex:1;
  }
  .card-poster    { grid-column:1; grid-row:1; }
  .card-top       { grid-column:1; grid-row:2; }
  .card-credits   {
    grid-column:2; grid-row:1;
    background:var(--surface);
    border-left:1px solid var(--border-soft);
    display:flex; flex-direction:column; justify-content:center;
    padding:1.2rem 1.4rem;
  }
  .card-sponsor-footer {
    grid-column:2; grid-row:2;
    background:var(--surface);
    border-left:1px solid var(--border-soft);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:1.2rem 1.4rem;
    gap:.8rem;
    border-top:none;
    position:relative;
  }
  .card-sponsor-footer::before{
    content:'';
    position:absolute;
    top:0; left:1.4rem; right:1.4rem;
    height:1px;
    background:var(--border-soft);
  }

  /* ── Poster ── */
  .card-poster{position:relative;width:100%;padding-bottom:56.25%;overflow:hidden;background:var(--bg2);flex-shrink:0}
  .card-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
  .card-poster-badges{position:absolute;top:.7rem;right:.7rem;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}
  .badge-tipo{font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.18rem .6rem;border-radius:4px}
  .badge-tipo.corto       {background:#3058c0;color:#fff}
  .badge-tipo.documentario{background:var(--teal);color:#fff}
  .badge-tipo.film        {background:var(--terra);color:#fff}
  .badge-tipo.teatro      {background:#6a3ab4;color:#fff}
  .badge-coming{font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:rgba(0,0,0,.55);color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.3);padding:.18rem .6rem;border-radius:4px;backdrop-filter:blur(4px)}
  .opera.disabled .card-poster::after{content:'';position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(139,74,42,.12) 8px,rgba(139,74,42,.12) 16px)}

  /* ── Card zones ── */
  .card-top{padding:1.1rem 1.3rem .9rem;display:flex;flex-direction:column;min-width:0;}

  .card-meta-heading{
    font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
    color:var(--terra);font-weight:600;text-align:center;
    padding:.65rem 0;
    border-bottom:1px solid var(--border-soft);
    margin-bottom:.5rem;
  }
  .card-meta{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.28rem .6rem;
    padding-top:.5rem;
  }
  .card-meta-label{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--terra-dim);font-weight:600;word-break:break-word;align-self:baseline;padding-top:.05em}
  .card-meta-value{font-size:.9rem;color:var(--ink-mid);align-self:baseline}

  .card-sponsor-logo{
    width:80%;max-width:80%;aspect-ratio:3/1;border-radius:6px;overflow:hidden;
    display:flex;align-items:center;justify-content:center;background:transparent;
  }
  .card-sponsor-logo img{max-width:70%;max-height:70%;width:auto;height:auto;display:block;object-fit:contain;}
  .card-sponsor-logo a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}

  .card-footer{display:flex;flex-wrap:wrap;gap:.6rem;padding:.9rem 1.3rem;background:var(--surface);flex-shrink:0;justify-content:center;border-top:1px solid var(--border-soft)}
  .card-footer-btns{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.4rem}

  .card-header-box{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.7rem;}
  .card-header-text{flex:1;min-width:0}
  .card-title{font-family:'Fraunces',serif;font-size:1.45rem;font-weight:400;color:var(--ink);line-height:1.2;letter-spacing:-.01em;word-break:break-word;margin-bottom:.15rem}
  .card-regista{font-size:.84rem;color:var(--ink-soft);margin:0}
    .regista-link{color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--border-soft);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}
    .regista-link:hover{color:var(--terra);text-decoration-color:var(--terra)}
  .card-year{font-size:.72rem;font-weight:500;color:var(--ink-soft);background:var(--bg);border:1px solid var(--border);padding:.15rem .55rem;border-radius:4px;letter-spacing:.05em;flex-shrink:0;align-self:center;white-space:nowrap;margin-top:.1rem}

  .card-sinossi{font-size:1rem;line-height:1.5;color:var(--ink-mid);font-weight:300;margin-bottom:0;margin-top:.75rem;display:inline}
  .card-meta-link{font-size:.78rem;color:var(--terra);text-decoration:underline;text-decoration-color:var(--terra-pale);text-underline-offset:3px;display:inline;white-space:nowrap;transition:color .15s,text-decoration-color .15s}
  .card-meta-link:hover{text-decoration-color:var(--terra)}
  .card-sinossi-wrap{margin-top:.75rem;margin-bottom:.65rem;line-height:1.5}
  .card-spacer{flex:1;min-height:.5rem}

  /* ── Buttons ── */
  .btn{display:inline-flex;align-items:center;gap:.45rem;border:1.5px solid var(--border);background:var(--card);color:var(--ink-mid);padding:.5rem .95rem;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.04em;cursor:pointer;border-radius:8px;transition:all .18s;text-decoration:none;white-space:nowrap}
  .btn svg{flex-shrink:0}
  .btn:hover{background:var(--terra);border-color:var(--terra);color:#fff}
  .btn.btn-video{border-color:var(--terra-dim);color:var(--terra);background:var(--terra-pale)}
  .btn.btn-video:hover{background:var(--terra);border-color:var(--terra);color:#fff}
  .btn.btn-audio{border-color:#b8a060;color:var(--gold);background:var(--gold-bg)}
  .btn.btn-audio:hover{background:var(--gold);border-color:var(--gold);color:#fff}
  .btn.btn-ext{border-color:var(--border);color:var(--ink-soft);background:transparent;font-size:.74rem}
  .btn.btn-ext:hover{background:var(--bg);border-color:var(--border-soft);color:var(--ink)}
  .btn[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}

  /* ── Lightbox ── */
  .lb{position:fixed;inset:0;z-index:500;background:rgba(30,26,20,.75);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:1.5rem}
  .lb.open{display:flex}
  .lb-panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 24px 64px rgba(30,26,20,.22);width:100%;max-width:820px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
  .lb-head{padding:1rem 1.3rem;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:1rem;flex-shrink:0}
  .lb-titles{flex:1;min-width:0}
  .lb-title{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:400;color:var(--ink)}
  .lb-sub{font-size:.8rem;color:var(--ink-soft);margin-top:.2rem}
  .lb-head-btns{display:flex;gap:.5rem;flex-shrink:0}
  .lb-btn{background:var(--bg);border:1px solid var(--border);color:var(--ink-soft);width:36px;height:36px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;transition:all .15s}
  .lb-btn:hover{background:var(--terra-pale);border-color:var(--terra-dim);color:var(--terra)}
  .lb-body{flex:1;overflow-y:auto;min-height:0}
  .lb-video-wrap{background:#000;line-height:0;position:relative}
  .lb-video{width:100%;max-height:62vh;display:block}
  .lb-audio-wrap{padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.4rem}
  .lb-audio-title{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:400;color:var(--ink);text-align:center}
  .lb-audio-meta{font-size:.84rem;color:var(--ink-soft);text-align:center}
  audio{width:100%;max-width:460px;accent-color:var(--terra)}

  /* ── Sostieni ── */
  .infostrip{background:var(--bg2);border-top:1px solid var(--border);padding:3.5rem 2rem}
  .infostrip-heading{text-align:center;margin-bottom:2.5rem}
  .infostrip-heading h3{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:300;color:var(--ink);letter-spacing:-.01em}
  .infostrip-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.5rem}
  .info-item{display:flex;gap:1rem;align-items:flex-start}
  .info-ico{flex-shrink:0;width:44px;height:44px;background:var(--terra-pale);border-radius:10px;display:flex;align-items:center;justify-content:center}
  .info-item h4{font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:.35rem}
  .info-item p{font-size:.9rem;color:var(--ink-soft);line-height:1.7;font-weight:300}
  .infostrip-cta{text-align:center;margin-top:2.8rem}
  .btn-cta{display:inline-flex;align-items:center;gap:.55rem;background:var(--terra);color:#fff;border:none;padding:.75rem 2rem;font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.04em;border-radius:8px;cursor:pointer;text-decoration:none;transition:background .18s,transform .15s}
  .btn-cta:hover{background:#7a3d20;transform:translateY(-1px)}

  /* ── Footer ── */
  footer{background:var(--bg);border-top:1px solid var(--border);padding:2.5rem 2rem}
  .footer-main{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:2rem;align-items:start;}
  .footer-logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);margin-bottom:.4rem}
  .footer-logo-name{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1}
  .footer-col1-meta{font-size:.76rem;color:var(--ink-soft);line-height:1.7;padding-left:calc(40px + .7rem)}
  .footer-col{display:flex;flex-direction:column;gap:.55rem}
  .footer-col a{color:var(--ink-soft);text-decoration:none;font-size:.84rem;font-weight:400;transition:color .15s}
  .footer-col a:hover{color:var(--terra)}
  @media(max-width:600px){.footer-main{grid-template-columns:1fr;gap:1.4rem}}

  p strong{color:var(--terra);font-weight:600}

  /* ── High contrast ── */
  body.hc{--bg:#fff;--bg2:#f0f0ee;--surface:#fff;--card:#fff;--border:#666;--border-soft:#999;--terra:#7a1a00;--terra-dim:#a03010;--terra-pale:#fce8e0;--ink:#000;--ink-mid:#111;--ink-soft:#333;--gold:#6a4800;--gold-bg:#fffadd;--teal:#004d3a;--teal-bg:#e0f5f0}

  /* ── Hamburger ── */
  .menu-btn{display:none;align-items:center;gap:.45rem;background:none;border:1px solid var(--border);color:var(--ink-soft);padding:0 .75rem;height:34px;border-radius:8px;cursor:pointer;font-family:'Outfit',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:all .18s;flex-shrink:0;}
  .menu-btn:hover{border-color:var(--terra);color:var(--terra)}
  .menu-btn svg{flex-shrink:0;transition:transform .2s}
  .menu-btn[aria-expanded="true"] svg{transform:rotate(90deg)}

  /* ── Mobile menu ── */
  .mobile-menu{display:none;position:fixed;top:66px;left:0;right:0;z-index:299;background:#f5f0e8f8;backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:1.2rem 2rem 1.5rem;flex-direction:column;gap:.2rem;box-shadow:0 8px 24px rgba(30,26,20,.1);}
  .mobile-menu.open{display:flex}
  .mobile-menu .mob-nav{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.9rem}
  .mobile-menu .mob-nav a{color:var(--ink-soft);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:.55rem 0;border-bottom:1px solid var(--border-soft);transition:color .15s;}
  .mobile-menu .mob-nav a:last-child{border-bottom:none}
  .mobile-menu .mob-nav a:hover{color:var(--terra)}
  .mobile-menu .mob-controls{display:flex;align-items:center;gap:.5rem;padding-top:.6rem;border-top:1px solid var(--border-soft);}
  .mobile-menu .mob-label{font-size:.68rem;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-weight:500;margin-right:.2rem;}
  .mobile-menu .mob-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;margin:0 .3rem}

  @media(max-width:780px){
    nav{display:none}
    .header-controls{display:none}
    .menu-btn{display:flex}
    .card-inner-h{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;}
    .card-poster         { grid-column:1; grid-row:1; }
    .card-top            { grid-column:1; grid-row:2; }
    .card-credits        { grid-column:1; grid-row:3; border-left:none; border-top:1px solid var(--border-soft); justify-content:flex-start; }
    .card-sponsor-footer { grid-column:1; grid-row:4; border-left:none; }
    .card-sponsor-footer::before{ left:1.3rem; right:1.3rem; }
  }
  @media(max-width:520px){
    header{padding:0 1rem}
    .catalog-wrap{padding:2rem 1rem 3rem}
    .mobile-menu{padding:1.2rem 1rem 1.5rem}
  }

    /* ── Modale Privacy ── */
    .pm{position:fixed;inset:0;z-index:500;background:rgba(30,26,20,.75);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:1.5rem}
    .pm.open{display:flex}
    .pm-panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 24px 64px rgba(30,26,20,.22);width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
    .pm-head{padding:1rem 1.3rem;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
    .pm-title{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:400;color:var(--ink)}
    .pm-close{background:var(--bg);border:1px solid var(--border);color:var(--ink-soft);width:36px;height:36px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;transition:all .15s}
    .pm-close:hover{background:var(--terra-pale);border-color:var(--terra-dim);color:var(--terra)}
    .pm-body{flex:1;overflow-y:auto;padding:1.8rem 1.5rem;min-height:0}
    .pm-body h3{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:400;color:var(--ink);margin:1.4rem 0 .5rem}
    .pm-body h3:first-child{margin-top:0}
    .pm-body p{font-size:.93rem;line-height:1.8;color:var(--ink-mid);font-weight:300;margin-bottom:.9rem}
    .pm-body p:last-child{margin-bottom:0}
    .pm-body a{color:var(--terra);text-underline-offset:3px}

