      *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

      /* ===== TEMA SCURO (default) ===== */
      :root {
        --bg-base:      #0a0906;
        --bg-card:      #1a1612;
        --bg-card2:     #2c2318;
        --oro:          #c9a84c;
        --oro-chiaro:   #e8cc7a;
        --testo-primo:  #f5f0e8;
        --testo-secondo:#faf7f2;
        --testo-terzo:  #8a7e6f;
        --rosso-lacca:  #8b2020;
        --bordo:        rgba(201,168,76,.2);
        --bordo-forte:  rgba(201,168,76,.35);
        --header-bg1:   rgba(10,9,6,.98);
        --header-bg2:   rgba(26,22,18,.95);
        --langbar-bg:   rgba(10,9,6,.97);
        --ai-bg:        rgba(26,22,18,.8);
        --ai-input-bg:  rgba(10,9,6,.8);
        --ai-output-bg: rgba(10,9,6,.6);
        --chi-sono-bg1: rgba(44,35,24,.4);
        --chi-sono-bg2: rgba(26,22,18,.6);
        --footer-bg:    rgba(10,9,6,.98);
        --shadow-oro:   rgba(201,168,76,.15);
        --font-display: 'Cinzel', serif;
        --font-body:    'Cormorant Garamond', serif;
        --font-text:    'EB Garamond', serif;
        --font-ja:      'Noto Serif JP', serif;
        --font-zh:      'Noto Serif SC', serif;
        --T: 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
      }

      /* ===== TEMA CHIARO ===== */
      html.tema-chiaro {
        --bg-base:      #f7f3eb;
        --bg-card:      #fffdf8;
        --bg-card2:     #f0ebe0;
        --oro:          #9e6e1a;
        --oro-chiaro:   #b8820f;
        --testo-primo:  #1a1208;
        --testo-secondo:#2a1e0e;
        --testo-terzo:  #6b5c42;
        --rosso-lacca:  #8b2020;
        --bordo:        rgba(120,85,25,.2);
        --bordo-forte:  rgba(120,85,25,.4);
        --header-bg1:   rgba(247,243,235,.98);
        --header-bg2:   rgba(240,235,224,.96);
        --langbar-bg:   rgba(247,243,235,.97);
        --ai-bg:        rgba(255,253,248,.9);
        --ai-input-bg:  rgba(247,243,235,.95);
        --ai-output-bg: rgba(240,235,224,.7);
        --chi-sono-bg1: rgba(220,210,190,.3);
        --chi-sono-bg2: rgba(240,235,224,.5);
        --footer-bg:    rgba(240,235,224,.98);
        --shadow-oro:   rgba(120,85,25,.12);
      }

      html { scroll-behavior: smooth; }
      body {
        background: var(--bg-base);
        color: var(--testo-primo);
        font-family: var(--font-text); font-size: 18px; line-height: 1.75; overflow-x: hidden;
        transition: background var(--T), color var(--T);
      }
      body.lang-ja { font-family: var(--font-ja); }
      body.lang-zh { font-family: var(--font-zh); }
      body::before {
        content: ''; position: fixed; inset: 0;
        background-image: radial-gradient(ellipse at 20% 20%, rgba(201,168,76,.04) 0%, transparent 50%), radial-gradient(ellipse at 80% 80%, rgba(139,32,32,.03) 0%, transparent 50%);
        pointer-events: none; z-index: 0;
        transition: opacity var(--T);
      }
      html.tema-chiaro body::before {
        background-image: radial-gradient(ellipse at 20% 20%, rgba(180,140,60,.06) 0%, transparent 50%), radial-gradient(ellipse at 80% 80%, rgba(200,180,140,.05) 0%, transparent 50%);
      }

      /* ===== THEME TOGGLE BUTTON ===== */
      .theme-toggle {
        position: fixed; top: 0; left: 0; z-index: 1001;
        display: flex; align-items: center; gap: .5rem;
        background: var(--langbar-bg);
        border-right: 1px solid var(--bordo);
        border-bottom: 1px solid var(--bordo);
        padding: .4rem .9rem;
        backdrop-filter: blur(8px);
        cursor: pointer;
        transition: all var(--T);
      }
      .theme-toggle:hover { background: var(--bg-card2); }
      .theme-toggle-icon {
        width: 28px; height: 16px;
        border: 1px solid var(--oro);
        border-radius: 8px;
        position: relative;
        transition: all var(--T);
        background: transparent;
        flex-shrink: 0;
      }
      .theme-toggle-icon::before {
        content: '';
        position: absolute;
        top: 2px; left: 2px;
        width: 10px; height: 10px;
        border-radius: 50%;
        background: var(--oro);
        transition: transform var(--T), background var(--T);
      }
      html.tema-chiaro .theme-toggle-icon::before {
        transform: translateX(12px);
      }
      .theme-toggle-label {
        font-family: var(--font-display);
        font-size: .52rem; letter-spacing: .2em;
        text-transform: uppercase; color: var(--oro);
        white-space: nowrap;
      }

      /* LANG BAR */
      .lang-bar {
        position: fixed; top: 0; right: 0; z-index: 1000;
        display: flex; align-items: center; flex-wrap: wrap;
        background: var(--langbar-bg);
        border-left: 1px solid var(--bordo);
        border-bottom: 1px solid var(--bordo);
        padding: .4rem .8rem; gap: .1rem;
        backdrop-filter: blur(8px);
        transition: background var(--T), border-color var(--T);
      }
      .lang-btn {
        background: none; border: none; cursor: pointer;
        font-family: var(--font-display); font-size: .58rem;
        letter-spacing: .15em; text-transform: uppercase;
        color: var(--testo-terzo); padding: .3rem .45rem;
        transition: color var(--T); position: relative;
      }
      .lang-btn::after {
        content: ''; position: absolute; bottom: 0; left: 50%;
        transform: translateX(-50%); width: 0; height: 1px;
        background: var(--oro); transition: width var(--T);
      }
      .lang-btn:hover { color: var(--oro-chiaro); }
      .lang-btn:hover::after, .lang-btn.active::after { width: 80%; }
      .lang-btn.active { color: var(--oro); }
      .lang-sep { color: var(--bordo); font-size: .6rem; }

      /* HEADER */
      header { position: relative; z-index: 10; border-bottom: 1px solid var(--bordo-forte); background: linear-gradient(180deg, var(--header-bg1), var(--header-bg2)); backdrop-filter: blur(8px); padding-top: 2.5rem; transition: background var(--T), border-color var(--T); }
      .header-inner { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
      .header-top { display: flex; justify-content: space-between; align-items: center; padding: .6rem 0; border-bottom: 1px solid var(--bordo); font-family: var(--font-display); font-size: .65rem; letter-spacing: .18em; color: var(--testo-terzo); text-transform: uppercase; }
      .header-logo { text-align: center; padding: 2.5rem 0 1.5rem; animation: fadeUp .8s ease .1s forwards; opacity: 0; }
      .logo-ornamento { display: flex; align-items: center; justify-content: center; gap: 1.5rem; margin-bottom: .5rem; opacity: .6; }
      .logo-ornamento::before, .logo-ornamento::after { content: ''; height: 1px; width: 80px; background: linear-gradient(90deg,transparent,var(--oro),transparent); }
      .logo-sigla { font-family: var(--font-display); font-size: .6rem; letter-spacing: .4em; color: var(--oro); text-transform: uppercase; }
      .logo-titolo { font-family: var(--font-display); font-size: clamp(2.8rem,6vw,5rem); font-weight: 400; letter-spacing: .15em; color: var(--testo-primo); line-height: 1; text-shadow: 0 2px 40px var(--shadow-oro); transition: color var(--T), text-shadow var(--T); }
      .logo-titolo span { color: var(--oro); }
      .logo-sottotitolo { font-family: var(--font-body); font-size: .95rem; letter-spacing: .25em; color: var(--testo-terzo); margin-top: .75rem; font-style: italic; }
      nav { display: flex; justify-content: center; flex-wrap: wrap; padding: .5rem 0; animation: fadeUp .8s ease .25s forwards; opacity: 0; }
      nav a { font-family: var(--font-display); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--testo-terzo); text-decoration: none; padding: .6rem 1.4rem; border-right: 1px solid var(--bordo); transition: color var(--T); position: relative; }
      nav a:last-child { border-right: none; }
      nav a::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 0; height: 1px; background: var(--oro); transition: width var(--T); }
      nav a:hover { color: var(--oro-chiaro); }
      nav a:hover::after { width: 60%; }

      /* HERO */
      .hero { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 5rem 2rem 4rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
      .hero-editoriale { border-left: 2px solid var(--oro); padding-left: 2rem; animation: fadeUp .8s ease .3s forwards; opacity: 0; }
      .hero-label { font-family: var(--font-display); font-size: .6rem; letter-spacing: .35em; text-transform: uppercase; color: var(--oro); display: block; margin-bottom: 1rem; }
      .hero-titolo { font-family: var(--font-body); font-size: clamp(2rem,3.5vw,2.8rem); font-weight: 300; line-height: 1.25; color: var(--testo-secondo); margin-bottom: 1.5rem; }
      .hero-titolo em { font-style: italic; color: var(--oro-chiaro); }
      .hero-testo { font-size: 1.05rem; color: var(--testo-terzo); line-height: 1.9; margin-bottom: 1.5rem; }
      .firma-editoriale { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--bordo); background: rgba(201,168,76,.04); margin-top: 2rem; transition: border-color var(--T); }
      html.tema-chiaro .firma-editoriale { background: rgba(120,85,25,.04); }
      .firma-monogramma { font-family: var(--font-display); font-size: 1.8rem; color: var(--oro); line-height: 1; min-width: 2.5rem; text-align: center; }
      .firma-nome { font-family: var(--font-display); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--testo-primo); display: block; }
      .firma-ruolo { font-family: var(--font-body); font-size: .85rem; color: var(--testo-terzo); font-style: italic; }

      /* AI BOX */
      .hero-ai { background: var(--ai-bg); border: 1px solid var(--bordo); padding: 2rem; position: relative; animation: fadeUp .8s ease .45s forwards; opacity: 0; transition: background var(--T), border-color var(--T); }
      .hero-ai::before { content: 'AI'; position: absolute; top: -.7rem; right: 1.5rem; background: var(--bg-card); border: 1px solid var(--bordo-forte); font-family: var(--font-display); font-size: .55rem; letter-spacing: .3em; color: var(--oro); padding: .15rem .6rem; text-transform: uppercase; transition: background var(--T); }
      .ai-label { font-family: var(--font-display); font-size: .6rem; letter-spacing: .3em; text-transform: uppercase; color: var(--oro); margin-bottom: .8rem; display: block; }
      .ai-hint { font-size: .88rem; color: var(--testo-terzo); margin-bottom: 1.2rem; line-height: 1.7; }
      .ai-form { display: flex; flex-direction: column; gap: .8rem; }
      .ai-select, .ai-input { background: var(--ai-input-bg); border: 1px solid var(--bordo); color: var(--testo-primo); font-family: var(--font-text); font-size: .95rem; padding: .8rem 1rem; outline: none; transition: border-color var(--T), background var(--T), color var(--T); width: 100%; appearance: none; }
      .ai-select:focus, .ai-input:focus { border-color: var(--oro); }
      .ai-input { resize: vertical; min-height: 80px; }
      .ai-btn { background: transparent; border: 1px solid var(--oro); color: var(--oro); font-family: var(--font-display); font-size: .65rem; letter-spacing: .3em; text-transform: uppercase; padding: .9rem 1.5rem; cursor: pointer; transition: all var(--T); position: relative; overflow: hidden; }
      .ai-btn::before { content: ''; position: absolute; inset: 0; background: var(--oro); transform: translateX(-100%); transition: transform var(--T); z-index: 0; }
      .ai-btn:hover::before { transform: translateX(0); }
      .ai-btn:hover { color: var(--bg-base); }
      .ai-btn span { position: relative; z-index: 1; }
      .ai-btn:disabled { opacity: .5; cursor: not-allowed; }
      .ai-output { margin-top: 1.2rem; padding: 1.2rem; background: var(--ai-output-bg); border-left: 2px solid var(--oro); font-size: .95rem; line-height: 1.8; color: var(--testo-primo); display: none; transition: background var(--T); }
      .ai-output.visible { display: block; }
      .ai-output-firma { margin-top: .8rem; font-family: var(--font-display); font-size: .55rem; letter-spacing: .25em; text-transform: uppercase; color: var(--testo-terzo); text-align: right; border-top: 1px solid var(--bordo); padding-top: .6rem; }
      .ai-loading { display: flex; gap: .4rem; align-items: center; justify-content: center; padding: 1rem; }
      .ai-loading span { width: 6px; height: 6px; border-radius: 50%; background: var(--oro); animation: pulse 1.2s ease-in-out infinite; }
      .ai-loading span:nth-child(2) { animation-delay: .2s; }
      .ai-loading span:nth-child(3) { animation-delay: .4s; }
      @keyframes pulse { 0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1} }

      /* DIVISORE */
      .divisore { display: flex; align-items: center; justify-content: center; gap: 1.5rem; padding: 2rem; max-width: 1280px; margin: 0 auto; }
      .divisore::before, .divisore::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg,transparent,var(--bordo-forte),transparent); }
      .divisore-simbolo { font-family: var(--font-display); color: var(--oro); font-size: .8rem; letter-spacing: .5em; text-transform: uppercase; white-space: nowrap; }

      /* SEZIONI */
      .sezione { max-width: 1280px; margin: 0 auto; padding: 2rem 2rem 4rem; position: relative; z-index: 1; }
      .sezione-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 2.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--bordo); }
      .sezione-titolo { font-family: var(--font-display); font-size: .7rem; letter-spacing: .35em; text-transform: uppercase; color: var(--oro); }
      .sezione-link { font-family: var(--font-display); font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--testo-terzo); text-decoration: none; transition: color var(--T); background: none; border: none; cursor: pointer; }
      .sezione-link:hover { color: var(--oro); }

      /* ARTICOLI */
      .articoli-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2px; background: var(--bordo); }
      .articolo-card { background: var(--bg-card); padding: 2rem; transition: background var(--T); cursor: pointer; position: relative; overflow: hidden; }
      .articolo-card::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--oro); transform: scaleX(0); transform-origin: left; transition: transform var(--T); }
      .articolo-card:hover { background: var(--bg-card2); }
      .articolo-card:hover::before { transform: scaleX(1); }
      .articolo-card.featured { grid-row: span 2; }
      .card-categoria { font-family: var(--font-display); font-size: .55rem; letter-spacing: .3em; text-transform: uppercase; color: var(--oro); display: block; margin-bottom: .8rem; }
      .card-titolo { font-family: var(--font-body); font-weight: 400; color: var(--testo-secondo); margin-bottom: .8rem; line-height: 1.3; font-size: 1.15rem; }
      .articolo-card.featured .card-titolo { font-size: clamp(1.4rem,2.5vw,2rem); }
      .card-estratto { font-size: .9rem; color: var(--testo-terzo); line-height: 1.7; margin-bottom: 1.2rem; }
      .articolo-card.featured .card-estratto { font-size: 1rem; }
      .card-meta { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-display); font-size: .55rem; letter-spacing: .15em; text-transform: uppercase; color: var(--testo-terzo); padding-top: 1rem; border-top: 1px solid var(--bordo); }
      .card-autore { color: var(--oro); }
      .badge-ai { display: inline-flex; align-items: center; gap: .3rem; background: rgba(201,168,76,.08); border: 1px solid var(--bordo); font-family: var(--font-display); font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--oro); padding: .2rem .5rem; margin-bottom: .5rem; }
      .badge-ai::before { content: '◈'; font-size: .6rem; }
      html.tema-chiaro .badge-ai { background: rgba(120,85,25,.07); }

      /* CHI SONO */
      .chi-sono { position: relative; z-index: 1; background: linear-gradient(135deg, var(--chi-sono-bg1), var(--chi-sono-bg2)); border-top: 1px solid var(--bordo); border-bottom: 1px solid var(--bordo); transition: background var(--T); }
      .chi-sono-inner { max-width: 1280px; margin: 0 auto; padding: 5rem 2rem; display: grid; grid-template-columns: auto 1fr; gap: 5rem; align-items: start; }
      .chi-sono-label { font-family: var(--font-display); font-size: .65rem; letter-spacing: .4em; text-transform: uppercase; color: var(--oro); writing-mode: vertical-rl; transform: rotate(180deg); align-self: center; opacity: .7; }
      .chi-sono-titolo { font-family: var(--font-body); font-size: clamp(1.8rem,3vw,2.5rem); font-weight: 300; color: var(--testo-secondo); margin-bottom: 2rem; line-height: 1.2; }
      .chi-sono-testo { font-size: 1.05rem; line-height: 1.9; color: var(--testo-terzo); margin-bottom: 1.5rem; max-width: 68ch; }
      .chi-sono-testo strong { color: var(--testo-primo); font-weight: 500; }
      .discipline-lista { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
      .disciplina-tag { font-family: var(--font-display); font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; color: var(--testo-terzo); border: 1px solid var(--bordo); padding: .3rem .8rem; transition: all var(--T); }
      .disciplina-tag:hover { color: var(--oro); border-color: var(--oro); }

      /* NOTIZIE */
      .aggregatore { max-width: 1280px; margin: 0 auto; padding: 2rem 2rem 4rem; position: relative; z-index: 1; }
      .notizie-lista { display: flex; flex-direction: column; }
      .notizia-item { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: start; padding: 1.5rem 0; border-bottom: 1px solid var(--bordo); transition: all var(--T); cursor: pointer; }
      .notizia-item:hover { background: rgba(201,168,76,.04); padding-left: .5rem; }
      html.tema-chiaro .notizia-item:hover { background: rgba(120,85,25,.04); }
      .notizia-num { font-family: var(--font-display); font-size: .65rem; color: var(--bordo-forte); padding-top: .2rem; min-width: 1.5rem; }
      .notizia-titolo { font-family: var(--font-body); font-size: 1.1rem; color: var(--testo-secondo); transition: color var(--T); }
      .notizia-item:hover .notizia-titolo { color: var(--oro-chiaro); }
      html.tema-chiaro .notizia-item:hover .notizia-titolo { color: var(--oro); }
      .notizia-fonte { font-family: var(--font-display); font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; color: var(--testo-terzo); margin-top: .3rem; }
      .notizia-data { font-family: var(--font-display); font-size: .55rem; color: var(--testo-terzo); white-space: nowrap; padding-top: .3rem; }

      /* FOOTER */
      footer { position: relative; z-index: 1; background: var(--footer-bg); border-top: 1px solid var(--bordo); padding: 4rem 2rem 2rem; transition: background var(--T); }
      .footer-inner { max-width: 1280px; margin: 0 auto; }
      .footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4rem; padding-bottom: 3rem; border-bottom: 1px solid var(--bordo); margin-bottom: 2rem; }
      .footer-desc { font-size: .9rem; color: var(--testo-terzo); line-height: 1.8; max-width: 35ch; margin: .8rem 0 1.5rem; }
      .footer-col-titolo { font-family: var(--font-display); font-size: .6rem; letter-spacing: .3em; text-transform: uppercase; color: var(--oro); margin-bottom: 1.2rem; }
      .footer-links { list-style: none; }
      .footer-links li { margin-bottom: .6rem; }
      .footer-links a { font-size: .9rem; color: var(--testo-terzo); text-decoration: none; transition: color var(--T); }
      .footer-links a:hover { color: var(--oro-chiaro); }
      html.tema-chiaro .footer-links a:hover { color: var(--oro); }
      .footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
      .copyright { font-family: var(--font-display); font-size: .58rem; letter-spacing: .15em; color: var(--testo-terzo); text-transform: uppercase; }
      .copyright strong { color: var(--oro); }
      .copyright a { color: var(--oro); text-decoration: none; }
      .ai-disclaimer { font-family: var(--font-display); font-size: .55rem; color: var(--testo-terzo); opacity: .6; text-transform: uppercase; max-width: 50ch; text-align: right; line-height: 1.6; }

      /* ===== ARTE NEL MONDO ===== */
      .anm-label {
        font-family: var(--font-display); font-size: .58rem;
        letter-spacing: .35em; text-transform: uppercase;
        color: var(--testo-terzo); margin-bottom: 1.2rem;
        padding-left: .2rem;
      }
      .anm-grid {
        display: grid; grid-template-columns: 2fr 1fr 1fr;
        gap: 2px; background: var(--bordo); margin-bottom: 2.5rem;
      }
      .anm-card {
        background: var(--bg-card); padding: 2rem;
        transition: background var(--T); cursor: pointer;
        position: relative; overflow: hidden;
      }
      .anm-card::after {
        content: ''; position: absolute; top: 0; left: 0;
        width: 3px; height: 0; background: var(--oro);
        transition: height var(--T);
      }
      .anm-card:hover { background: var(--bg-card2); }
      .anm-card:hover::after { height: 100%; }
      .anm-featured { grid-row: span 2; }

      .anm-bottom {
        display: grid; grid-template-columns: 1fr 1.6fr; gap: 3rem;
        margin-top: .5rem;
      }

      /* AGENDA */
      .agenda-box {
        border: 1px solid var(--bordo);
        padding: 1.8rem; background: var(--bg-card);
        transition: background var(--T), border-color var(--T);
      }
      .agenda-titolo {
        font-family: var(--font-display); font-size: .62rem;
        letter-spacing: .3em; text-transform: uppercase;
        color: var(--oro); margin-bottom: 1.4rem; display: block;
      }
      .agenda-lista { display: flex; flex-direction: column; gap: 0; }
      .agenda-item {
        padding: .9rem 0; border-bottom: 1px solid var(--bordo);
        transition: padding-left var(--T);
      }
      .agenda-item:last-child { border-bottom: none; }
      .agenda-item:hover { padding-left: .4rem; }
      .agenda-evento {
        font-family: var(--font-body); font-size: 1.05rem;
        color: var(--testo-secondo); font-weight: 500; line-height: 1.2;
      }
      .agenda-data {
        font-family: var(--font-display); font-size: .55rem;
        letter-spacing: .15em; color: var(--oro); margin-top: .2rem;
        text-transform: uppercase;
      }
      .agenda-luogo {
        font-family: var(--font-display); font-size: .52rem;
        letter-spacing: .12em; color: var(--testo-terzo);
        text-transform: uppercase; margin-top: .1rem;
      }

      /* NOTIZIE INTERNAZIONALI */
      .intl-news-box {
        border: 1px solid var(--bordo); padding: 1.8rem;
        background: var(--bg-card);
        transition: background var(--T), border-color var(--T);
      }
      .intl-news-header {
        display: flex; justify-content: space-between;
        align-items: baseline; margin-bottom: 1.4rem;
      }
      .intl-item {
        display: flex; align-items: baseline; gap: 1rem;
        padding: .85rem 0; border-bottom: 1px solid var(--bordo);
        transition: all var(--T); cursor: pointer;
      }
      .intl-item:last-child { border-bottom: none; }
      .intl-item:hover { padding-left: .3rem; }
      .intl-paese {
        font-family: var(--font-display); font-size: .58rem;
        letter-spacing: .1em; color: var(--oro); white-space: nowrap;
        min-width: 6rem; flex-shrink: 0;
      }
      .intl-titolo {
        font-family: var(--font-body); font-size: 1rem;
        color: var(--testo-secondo); line-height: 1.4;
        transition: color var(--T);
      }
      .intl-item:hover .intl-titolo { color: var(--oro); }
      @keyframes fadeUp { from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)} }

      /* RESPONSIVE */
      @media(max-width:900px){
        .hero{grid-template-columns:1fr;gap:2.5rem}
        .articoli-grid{grid-template-columns:1fr}
        .articolo-card.featured{grid-row:auto}
        .anm-grid{grid-template-columns:1fr}
        .anm-card.anm-featured{grid-row:auto}
        .anm-bottom{grid-template-columns:1fr;gap:2rem}
        .chi-sono-inner{grid-template-columns:1fr;gap:2rem}
        .chi-sono-label{writing-mode:horizontal-tb;transform:none}
        .footer-top{grid-template-columns:1fr;gap:2rem}
        .footer-bottom{flex-direction:column;text-align:center}
        .ai-disclaimer{text-align:center;max-width:none}
        .lang-bar{max-width:220px}
      }

      /* ── SMARTPHONE (fino a 600px) ── */
      @media(max-width:600px){
        .hero { padding: 2rem 1.2rem; }
        .sezione { padding: 1.5rem 1.2rem 3rem; }
        .aggregatore { padding: 1.5rem 1.2rem 3rem; }
        .header-inner { padding: 1rem; }
        .logo-titolo { font-size: 2.4rem; letter-spacing:.08em; }
        nav { flex-wrap: wrap; }
        nav a { padding: .5rem .8rem; font-size:.6rem; }
        .hero-ai { padding: 1.5rem 1.2rem; }
        .ai-input { min-height: 60px; font-size:.9rem; }
        .articoli-grid { gap: 1px; }
        .articolo-card { padding: 1.4rem; }
        .anm-grid { gap: 1px; }
        .anm-card { padding: 1.4rem; }
        .agenda-box, .intl-news-box { padding: 1.2rem; }
        .chi-sono-inner { padding: 3rem 1.2rem; }
        .notizia-item { grid-template-columns: auto 1fr; gap: 1rem; padding: 1rem 0; }
        .theme-toggle { padding: .3rem .6rem; }
        .lang-bar { max-width: 180px; padding: .3rem .5rem; }
        .lang-btn { padding: .25rem .3rem; font-size:.52rem; }
        .footer-top { padding-bottom: 2rem; }
        .firma-editoriale { flex-direction: column; gap: .5rem; }
      }

      /* ── TOUCH: rimuove tap highlight blu su iOS/Android ── */
      * { -webkit-tap-highlight-color: transparent; }
      a, button, [onclick] { touch-action: manipulation; }

      ::-webkit-scrollbar{width:6px}
      ::-webkit-scrollbar-track{background:var(--nero)}
      ::-webkit-scrollbar-thumb{background:rgba(201,168,76,.3)}
      ::-webkit-scrollbar-thumb:hover{background:var(--oro)}

      /* FIRMA EMAIL */
      .firma-email {
        display: block;
        margin-top: .45rem;
        font-family: var(--font-display);
        font-size: .58rem;
        letter-spacing: .18em;
        color: var(--oro);
        text-decoration: none;
        text-transform: lowercase;
        transition: color var(--T), opacity var(--T);
        opacity: .85;
      }
      .firma-email:hover { color: var(--oro-chiaro); opacity: 1; }

      /* CONTATTI SECTION */
      .contatti-inner {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 4rem;
        align-items: center;
        padding: 2rem 0 3rem;
      }
      .contatti-firma {
        text-align: center;
        border: 1px solid var(--bordo);
        background: var(--bg-card);
        padding: 2.5rem 2rem;
        transition: background var(--T), border-color var(--T);
      }
      .contatti-email-btn {
        display: inline-flex;
        align-items: center;
        gap: .6rem;
        background: transparent;
        border: 1px solid var(--oro);
        color: var(--oro);
        font-family: var(--font-display);
        font-size: .62rem;
        letter-spacing: .18em;
        text-transform: lowercase;
        text-decoration: none;
        padding: .75rem 1.4rem;
        transition: all var(--T);
        margin-bottom: 1rem;
      }
      .contatti-email-btn:hover {
        background: var(--oro);
        color: var(--bg-base);
      }
      .contatti-sito {
        margin-top: .5rem;
      }
      .contatti-sito a {
        font-family: var(--font-display);
        font-size: .58rem;
        letter-spacing: .18em;
        color: var(--testo-terzo);
        text-decoration: none;
        transition: color var(--T);
      }
      .contatti-sito a:hover { color: var(--oro); }
      @media(max-width:600px){
        .contatti-inner { grid-template-columns: 1fr; gap: 2rem; }
      }

      /* ===== BARRA CONTROLLI CENTRALE ===== */
      .ctrl-bar {
        position: fixed; top: 0; left: 50%; transform: translateX(-50%);
        z-index: 1000;
        display: flex; align-items: center; gap: .15rem;
        background: var(--langbar-bg);
        border-left: 1px solid var(--bordo);
        border-right: 1px solid var(--bordo);
        border-bottom: 1px solid var(--bordo);
        padding: .35rem .7rem;
        backdrop-filter: blur(8px);
        transition: background var(--T), border-color var(--T);
        white-space: nowrap;
      }
      .ctrl-sep { width:1px; height:14px; background:var(--bordo-forte); margin:0 .35rem; }
      .ctrl-btn {
        background: none; border: 1px solid transparent;
        color: var(--oro); font-family: var(--font-display);
        font-size: .5rem; letter-spacing: .18em; text-transform: uppercase;
        padding: .25rem .55rem; cursor: pointer;
        transition: all var(--T); border-radius: 2px;
      }
      .ctrl-btn:hover { border-color: var(--bordo-forte); background: var(--bg-card2); }
      .ctrl-lbl { color: var(--testo-terzo); font-size:.42rem; letter-spacing:.22em; padding:.25rem .3rem; font-family:var(--font-display); }


      /* ══ BRUNETTI AI GENERATORE © Riccardo Brunetti ══ */
      .bai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:1.2rem 1.8rem .9rem;border-bottom:1px solid var(--bordo);background:rgba(10,9,6,.55);flex-wrap:wrap}
      .bai-eyebrow{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:.5rem;letter-spacing:.35em;color:var(--oro);opacity:.75;margin-bottom:.45rem;text-transform:uppercase}
      .bai-dot{width:6px;height:6px;border-radius:50%;background:#4caf80;flex-shrink:0;animation:baiP 2s ease-in-out infinite}
      @keyframes baiP{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}
      .bai-title{font-family:var(--font-display);font-size:clamp(.9rem,2.5vw,1.15rem);letter-spacing:.12em;text-transform:uppercase;color:var(--oro);display:block;margin-bottom:.4rem}
      .bai-title em{font-style:italic;font-family:var(--font-body);color:var(--oro-chiaro);text-transform:none;letter-spacing:normal}
      .bai-hint{font-size:.85rem;color:var(--testo-terzo);line-height:1.65}
      .bai-status{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:.5rem;letter-spacing:.22em;color:var(--testo-terzo);flex-shrink:0;padding-top:.2rem}
      .bai-modes-lbl{font-family:var(--font-display);font-size:.48rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro);opacity:.6;padding:.85rem 1.8rem .45rem}
      .bai-modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:5px;padding:0 1.8rem .85rem}
      .bai-mode{display:flex;align-items:center;gap:7px;padding:.6rem .85rem;border:1px solid var(--bordo);background:transparent;color:var(--testo-terzo);font-family:var(--font-text);font-size:.87rem;cursor:pointer;transition:all .25s;text-align:left}
      .bai-mode:hover{color:var(--testo-primo);border-color:var(--bordo-forte);background:rgba(201,168,76,.07)}
      .bai-mode.active{color:var(--oro);border-color:var(--oro);background:rgba(201,168,76,.1)}
      .bai-mode span{font-size:.88rem;flex-shrink:0;line-height:1}
      .bai-prog{height:2px;background:rgba(201,168,76,.07)}
      .bai-prog-bar{height:100%;background:linear-gradient(90deg,#9c70d8,var(--oro),#4cb8c4);width:0;transition:width .3s ease}
      .bai-form{display:flex;flex-direction:column;gap:.7rem;padding:.9rem 1.8rem}
      .bai-think{display:none;align-items:center;gap:10px;padding:.7rem 1.8rem;font-family:var(--font-display);font-size:.5rem;letter-spacing:.3em;color:#9c70d8}
      .bai-think.on{display:flex}
      .bai-think-dot{width:7px;height:7px;border-radius:50%;background:#9c70d8;animation:baiP 1.3s ease-in-out infinite;flex-shrink:0}
      .bai-out-head{display:none;align-items:center;gap:7px;margin-bottom:.8rem;flex-wrap:wrap}
      .bai-out-head.on{display:flex}
      .bai-badge{font-family:var(--font-display);font-size:.47rem;letter-spacing:.28em;padding:.18rem .65rem;border:1px solid var(--bordo-forte);color:var(--oro);background:rgba(201,168,76,.08)}
      .bai-badge-mode{font-family:var(--font-display);font-size:.47rem;letter-spacing:.22em;padding:.18rem .65rem;border:1px solid rgba(156,112,216,.4);color:#9c70d8;background:rgba(156,112,216,.08)}
      @media(max-width:640px){.bai-head,.bai-form,.bai-think{padding-left:1rem;padding-right:1rem}.bai-modes-lbl{padding-left:1rem}.bai-modes{grid-template-columns:1fr 1fr;padding:0 1rem .8rem}}

      /* ══ BRUNETTI CIPHER + ALGORITHM — integrazione widget ══
         © Riccardo Brunetti — riccardobrunetti.it             */
      .bai-algo-bar{display:flex;align-items:center;gap:8px;padding:.45rem 1.8rem;background:rgba(119,68,187,.07);border-bottom:1px solid rgba(119,68,187,.18);font-family:var(--font-display);font-size:.44rem;letter-spacing:.28em;color:rgba(156,112,216,.8);flex-wrap:wrap}
      .bai-algo-dot{width:5px;height:5px;border-radius:50%;background:#9c70d8;animation:baiP 2.2s ease-in-out infinite;flex-shrink:0}
      .bai-algo-hash{font-family:'JetBrains Mono',monospace,sans-serif;font-size:.4rem;color:rgba(156,112,216,.55);margin-left:auto;letter-spacing:.05em}
      .bai-mem-bar{display:none;align-items:center;gap:7px;padding:.4rem 1.8rem;background:rgba(201,168,76,.04);border-top:1px solid var(--bordo);font-family:var(--font-display);font-size:.44rem;letter-spacing:.22em;color:var(--testo-terzo);flex-wrap:wrap}
      .bai-mem-bar.on{display:flex}
      .bai-mem-tag{background:rgba(119,68,187,.1);border:1px solid rgba(119,68,187,.28);color:rgba(156,112,216,.9);padding:.1rem .45rem;font-family:'JetBrains Mono',monospace,sans-serif;font-size:.38rem;letter-spacing:.08em}
      .bai-score-row{display:flex;gap:10px;padding:.35rem 1.8rem .6rem;flex-wrap:wrap}
      .bai-score-item{font-family:var(--font-display);font-size:.42rem;letter-spacing:.18em;color:var(--testo-terzo)}
      .bai-score-item span{color:var(--oro)}

      /* ===== TAB MONDO / ITALIA — Notizie Culturali (aggiunta) ===== */
      .tabs-bar { display: flex; gap: .6rem; justify-content: center; margin: 0 auto 2.5rem; max-width: 1280px; padding: 0 2rem; }
      .tab-btn {
        font-family: var(--font-display); font-size: .68rem; letter-spacing: .25em; text-transform: uppercase;
        color: var(--testo-terzo); background: transparent; border: 1px solid var(--bordo);
        padding: .8rem 1.8rem; cursor: pointer; transition: all var(--T);
      }
      .tab-btn:hover { border-color: var(--bordo-forte); color: var(--testo-primo); }
      .tab-btn.active { color: var(--oro); border-color: var(--oro); background: rgba(201,168,76,.08); }
      .tab-panel { display: none; }
      .tab-panel.active { display: block; }
      @media(max-width:600px){ .tabs-bar{ padding: 0 1.2rem; flex-wrap: wrap; } .tab-btn{ flex:1; padding:.7rem .5rem; font-size:.6rem; } }

      /* ===== TEASER CARD (hub → pagine satellite) ===== */
      .teaser-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; background: var(--bordo); max-width: 1280px; margin: 0 auto 2rem; }
      .teaser-card { background: var(--bg-card); padding: 2rem; text-decoration: none; display: block; transition: background var(--T); position: relative; }
      .teaser-card:hover { background: var(--bg-card2); }
      .teaser-icona { font-family: var(--font-display); font-size: 1.6rem; color: var(--oro); display:block; margin-bottom: .8rem; }
      .teaser-titolo { font-family: var(--font-display); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--testo-primo); display: block; margin-bottom: .6rem; }
      .teaser-testo { font-size: .88rem; color: var(--testo-terzo); line-height: 1.6; }
      .teaser-link { font-family: var(--font-display); font-size: .55rem; letter-spacing: .2em; color: var(--oro); text-transform: uppercase; display:block; margin-top: 1rem; }
      @media(max-width:900px){ .teaser-grid{ grid-template-columns:1fr; } }
