@media (max-width: 1180px) {
  .ni-main-nav ul { gap: 18px; }
  .ni-main-nav a { font-size: 13.5px; }
  .ni-header-logo img { width: 112px; }
  .ni-home-logo {
    width: min(42vw, 520px);
    right: 34px;
    top: 70px;
  }
  .ni-home-claim {
    font-size: clamp(29px, 2.7vw, 40px);
    max-width: 410px;
  }
  .ni-news-grid { gap: 26px; }
}

@media (max-width: 900px) {
  :root { --ni-header-h: 82px; }

  .ni-site-header { overflow: visible; }
  .ni-header-inner {
    position: relative;
    min-height: var(--ni-header-h);
    padding: 10px 20px;
    align-items: center;
  }
  .ni-header-logo img { width: 122px; }
  .ni-menu-toggle { display: inline-flex; margin-left: auto; }

  .ni-main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    padding: 10px 20px 18px;
    background: rgba(255,255,255,.99);
    border-top: 1px solid rgba(87,87,86,.08);
    border-bottom: 1px solid rgba(87,87,86,.12);
    box-shadow: 0 12px 22px rgba(0,0,0,.07);
  }
  .ni-site-header.ni-menu-open .ni-main-nav { display: block; }
  .ni-main-nav ul {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .ni-main-nav li { width: 100%; }
  .ni-main-nav a {
    display: block;
    width: 100%;
    padding: 13px 4px;
    font-size: 16px;
    line-height: 1.2;
    border-bottom: 1px solid rgba(127,48,64,.08);
  }
  .ni-main-nav li:last-child a { border-bottom: 0; }
  .ni-main-nav a::after { display: none; }

  /* Home: niente sovrapposizioni su mobile/tablet */
  .ni-home-hero,
  .ni-home-hero__inner {
    min-height: 0 !important;
  }
  .ni-home-hero {
    background-position: center center;
    background-size: cover;
  }
  .ni-home-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding: 34px 22px 30px;
  }
  .ni-home-logo,
  .ni-home-claim,
  .ni-social-box,
  .ni-home-evidence-card {
    position: static !important;
    inset: auto !important;
    transform: none;
  }
  .ni-home-logo {
    order: 1;
    width: min(100%, 520px);
    max-width: 100%;
    margin: 0 auto;
  }
  .ni-home-evidence-card {
    order: 2;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 20px 22px 22px;
  }
  .ni-home-evidence-card p {
    -webkit-line-clamp: 3;
  }
  .ni-home-claim {
    order: 3;
    width: 100%;
    max-width: none;
    margin: 4px 0 0;
    font-size: clamp(27px, 6.7vw, 36px);
    line-height: 1.15;
  }
  .ni-social-box {
    order: 4;
    align-self: flex-end;
    margin-top: 2px;
    font-size: 17px;
  }
  .ni-social-icons { margin-top: 9px; }

  .ni-news-strip__body { padding: 28px 22px 48px; }
  .ni-news-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "center" "left" "right";
    gap: 18px;
  }
  .ni-news-card {
    width: 100%;
    min-height: 0;
    border-radius: 18px;
    padding: 22px;
  }

  .ni-evidence-archive,
  .ni-single-article,
  .ni-project-content {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

@media (max-width: 560px) {
  :root { --ni-header-h: 78px; }
  .ni-header-inner { padding: 9px 16px; }
  .ni-header-logo img { width: 118px; }
  .ni-main-nav { padding-left: 16px; padding-right: 16px; }

  .ni-home-hero__inner {
    gap: 20px;
    padding: 26px 16px 26px;
  }
  .ni-home-logo { width: min(92%, 430px); }
  .ni-home-evidence-card {
    padding: 18px 18px 20px;
    border-radius: 17px;
  }
  .ni-home-evidence-card__badge { font-size: 24px; }
  .ni-home-evidence-card h2 { font-size: 24px; }
  .ni-home-evidence-card p { font-size: 16px; line-height: 1.45; }
  .ni-home-claim {
    font-size: clamp(26px, 8vw, 34px);
  }
  .ni-social-box {
    align-self: flex-start;
    text-align: left;
  }
  .ni-social-icons { justify-content: flex-start; }

  .ni-news-strip__titlebar h2,
  .ni-news-strip__label { font-size: 27px; }
  .ni-news-card--placeholder span { font-size: 24px; }
  .ni-news-card--featured strong,
  .ni-news-card--dynamic strong { font-size: 23px; }
  .ni-news-card--featured span,
  .ni-news-card--dynamic span {
    font-size: 18px;
    margin-top: 16px;
  }
}
