/* =====================
   Responsive rules
   ===================== */

  @media(min-width:993px) {
    .header-menu-wrap li ul {
      display: block!important
    }
  }
  @media(max-width:992px) {
    .headroom--top .header-menu-wrap,
    .headroom--unpinned .header-menu-wrap {
      display: none!important
    }
    .dropdown-plus {
      width: 49px;
      height: 49px;
      line-height: 49px;
      position: absolute;
      top: 0;
      right: 0;
      cursor: pointer
    }
    .dropdown-plus:before,
    .dropdown-plus:after {
      position: absolute;
      content: '';
      top: 24px;
      right: 18px;
      width: 13px;
      height: 1px;
      background-color: #fff
    }
    .dropdown-plus:after {
      -webkit-transform: rotate(90deg);
      -moz-transform: rotate(90deg);
      -o-transform: rotate(90deg);
      transform: rotate(90deg)
    }
    .dropdown-plus.dropdown-open:after {
      display: none
    }
    .mobile-menu-icon {
      display: block
    }
    .header-menu-wrap {
      display: none;
      background-color: #333;
      width: 100%;
      height: auto;
      padding: 0 20px;
      position: absolute;
      left: 0;
      top: 50px;
      z-index: 999
    }
    .header-menu-wrap ul li {
      display: block;
      border-bottom: 1px solid rgba(0, 0, 0, .04)
    }
    .header-menu-wrap ul li:first-child {
      border-top: 1px solid rgba(0, 0, 0, .04)
    }
    .header-menu-wrap ul li>a {
      padding: 10px 15px;
      height: inherit;
      line-height: inherit
    }
    .header-menu-wrap ul li ul li ul,
    .header-menu-wrap ul li ul {
      background-color: transparent;
      width: 100%;
      opacity: 1;
      padding: 0;
      visibility: visible;
      position: inherit;
      display: none;
      top: inherit;
      left: inherit;
      box-shadow: none
    }
    .header-menu-wrap li li {
      padding-left: 11px
    }
    .header-menu-wrap li li:last-child {
      border-bottom: none
    }
    .header-menu-wrap li li>a {
      color: #fff;
      font-size: 13px
    }
    .header-menu-wrap li li:hover>a {
      color: #666
    }
  }
  @media(max-width:580px) {
    .header-right a.menu-btn {
      line-height: 40px;
      font-size: 10px;
      padding: 0 25px
    }
    .primary-header .header-logo {
      max-width: 150px
    }
  }
  @media screen and (min-width: 1200px) {
    .header-logo img {
      height: 48px; /* ingrandimento */
    }
  }
  @media screen and (max-width: 767px) {
    .header-logo img {
      height: 32px;
    }
  }
  @media (max-width: 992px) {
  .primary-header .header-logo .brand-claim{ display: none; }
  }
  @media (max-width: 576px) {
  .service-section.intro-servizi p { font-size: 1.2rem; }
  }
  @media (min-width: 992px) {
    .projects-content p {
      font-size: 15px;
      line-height: 1.7;
    }
  }
  @media (min-width: 768px) and (max-width: 991px) {
    .navigation {
      padding: 0;
    }
    .logo {
      float: left;
    }
    .menu-bg .logo {
      padding-top: 29px;
    }
    .navbar-toggle {
      margin-right: 0;
      margin-top: -34px;
    }
    .navbar-default .navbar-nav li a {
      font-size: 12px;
      padding: 23px 10px;
    }
    .navbar-collapse {
      margin: 6px 0 0;
    }
    .navigation .navbar-collapse {
      padding: 0;
    }
    .navbar {
      margin-top: 0px;
    }
    .sidebar-gallery li {
      width: 14%;
    }
  }
  @media (max-width: 767px) {
    /*    .banner-text .font-55 {
      font-size: 50px;
      line-height: 50px;
    }*/
    .banner-text h3 {
      line-height: 50px;
    }

  }
  @media (max-width: 547px) {
    .banner-text .font-45 {
      font-size: 35px !important;
    }
  }
  @media (max-width: 991.98px) {
  .about-us .row{ row-gap:24px; }
    .about-us .timeline-col {
      order: -1;                 /* timeline sopra */
      text-align: center;
    }
    .about-us .timeline-col img {
      max-width: 65vw;           /* più piccola e proporzionata */
      margin: 0 auto 10px;
    }
    .about-us .story-col {
      padding-top: 4px;
    }
    .about-us h2 {
      text-align: center;
      font-size: 1.6rem;
      margin-bottom: .75rem;
    }
    .about-us p {
      text-align: left;           /* meglio su mobile della giustificazione */
      font-size: 1.02rem;
      line-height: 1.75;
    }
  }
  @media (max-width: 575.98px) {
  .about-us .timeline-col img{ max-width: 80vw; }
  .about-us h2{ font-size:1.4rem; }
  .about-us p{ font-size:1rem; }
  }
  @media (max-width: 991.98px) {
  .timeline-col { order: -1; margin-bottom: 18px; }
  .ev-tl-head .ev-tl-brand { font-size: 28px; }
  }
  @media (max-width: 991.98px) {
  .ev-head .ev-brand{ font-size:28px }
  .ev-tl::before{ left:106px }
  .ev-item{ grid-template-columns:90px 1fr; column-gap:20px }
  .ev-node{ left:-36px; width:28px; height:28px }
  .ev-node svg{ width:16px; height:16px }
  .ev-item-title{ font-size:18px }
  .ev-text{ font-size:14.5px; text-align:left }
  }
  @media (max-width: 991.98px) {
  .about-us .row{ row-gap:24px; }
  .about-us .timeline-col{ order:-1; text-align:center; }
  .about-us .timeline-col img{ max-width:65vw; margin:0 auto 10px; }
  .about-us .story-col{ padding-top:4px; }
  .about-us h2{ text-align:center; font-size:1.6rem; margin-bottom:.75rem; }
  .about-us p{ text-align:left; font-size:1.02rem; line-height:1.75; }
  }
  @media (max-width: 575.98px) {
  .about-us .timeline-col img{ max-width:80vw; }
  .about-us h2{ font-size:1.4rem; }
  .about-us p{ font-size:1rem; }
  }
  @media (max-width: 991.98px) {
  .partner-logos { justify-content:center; }
  }
@media (max-width: 900px){ .partners-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width: 560px){ .partners-grid{ grid-template-columns:1fr; } }
    @media (min-width: 768px) {
    .partner-logos{ grid-template-columns: repeat(3, minmax(0,1fr)); }
      /* neutralizza le classi bootstrap dentro la grid */
    .partner-logos > [class*="col-"]{ width: 100%; margin: 0; padding: 0; }
    }
    @media (max-width: 576px) {
    .valore-card{ padding:24px 20px; }
    .valori-icon{ max-height:80px; }
    }
    @media (max-width: 576px) {
      .about-text {
        padding-left: 16px;
        padding-right: 16px;
      }
      .about-cta {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 12px;
      }
      .about-cta .btn {
        margin: 0; /* annulla margini laterali auto */
      }
    }
    @media (max-width: 991.98px) {
    .timeline-col   { order: 1; margin-bottom: 16px; }
    .story-col      { order: 2; }
      .timeline-figure {
        position: static !important;   /* annulla eventuale absolute */
        transform: none !important;    /* annulla eventuali trasformazioni */
        margin: 0 auto;                /* centra l’immagine */
        max-width: 640px;              /* limite comodo su tablet */
        overflow: hidden;
      }
    }
    @media (max-width: 576px) {
    .about-text { padding-left:16px; padding-right:16px; }
      .about-cta  {
        display: flex; justify-content:center; align-items:center;
        gap: 12px; flex-wrap:wrap; margin-top:12px;
      }
    }
    @media (max-width: 576px) {
    .stats-grid{ grid-template-columns:1fr 1fr; }
    }
    @media (max-width:576px) {
    .stats-grid{ grid-template-columns:1fr 1fr; }
    }
    @media (min-width:992px) {
    .page-header.padding{ padding-top:96px; padding-bottom:96px; }
    }
    @media (max-width: 575.98px) {
      #services-hero .default-btn {
        padding: 14px 22px;
      }
    }
    @media (max-width: 991px) {
      #storia-evocons .col-lg-7,
      #storia-evocons .col-lg-5 {
        padding: 10px 15px;
      }
      #storia-evocons .about-side-img {
        margin-bottom: 30px;
      }
    }
    @media (min-width: 1200px) {
    #storia-evocons .about-side-img { max-width: 520px; }
    }
    @media (min-width: 992px) and (max-width: 1199.98px) {
    #storia-evocons .about-side-img { max-width: 480px; }
    }
    @media (min-width: 992px) {
    #storia-evocons .img-col { display: flex; justify-content: flex-end; }
    }
    @media (max-width: 991.98px) {
    #storia-evocons .img-col, #storia-evocons .text-col { padding: 10px 15px; }
    #storia-evocons .img-col { justify-content: center; }
    #storia-evocons .about-side-img { max-width: 520px; }
    }
    @media (max-width: 1199.98px) {
    .page-hero.about-hero { padding-top: 90px; padding-bottom: 72px; }
    .page-hero.about-hero h1 { font-size: 2.6rem; }
    .page-hero.about-hero p { max-width: 560px; }
    .page-hero.about-hero img { max-width: 100%; }
    }
    @media (max-width: 991.98px) {
      /* HERO */
    .page-hero.about-hero { padding-top: 78px; padding-bottom: 64px; }
    .page-hero.about-hero .row { row-gap: 26px; }
    .page-hero.about-hero h1 { font-size: 2.3rem; line-height: 1.22; text-align: center; }
      .page-hero.about-hero h6,
    .page-hero.about-hero p { text-align: center; }
    .page-hero.about-hero p { max-width: none; margin-left: auto; margin-right: auto; }
    .page-hero.about-hero img { margin-left: auto; margin-right: auto; border-radius: 14px; }

      /* APPROCCIO */
    #approccio { padding-top: 64px; padding-bottom: 64px; }
    #approccio .row { row-gap: 24px; }
      #approccio .section-heading,
    #approccio p { text-align: center; }
    #approccio img { max-width: 92%; }
    }
    @media (max-width: 767.98px) {
      /* HERO */
    .page-hero.about-hero { padding-top: 64px; padding-bottom: 54px; }
    .page-hero.about-hero h1 { font-size: 2.05rem; }
    .page-hero.about-hero p { font-size: 1rem; line-height: 1.55; padding: 0 6px; }
    .page-hero.about-hero img { border-radius: 12px; box-shadow: 0 6px 16px rgba(0,0,0,.18); }

      /* APPROCCIO */
    #approccio { padding-top: 54px; padding-bottom: 54px; }
    #approccio img { max-width: 94%; border-radius: 12px; }
    }
    @media (max-width: 575.98px) {
    .page-hero.about-hero { padding-top: 52px; padding-bottom: 44px; }
    .page-hero.about-hero h1 { font-size: 1.7rem; margin-bottom: 18px; }
    .page-hero.about-hero p { font-size: .98rem; }
    .page-hero.about-hero img { max-width: 96%; }
    #approccio img { max-width: 96%; }
    }
    @media (max-width: 768px) {
    body{ font-size: 16px; line-height: 1.8; }
    p, li{ font-size: 1.0625rem; line-height: 1.85; }
    }
    @media (prefers-reduced-motion: reduce) {
    .default-btn, .default-btn:hover{ transition: none; transform: none; }
    }
    @media (max-width: 1200px) {
      #main-slider .slider-content {
        max-width: 980px;
        padding-left: 6vw;
        padding-right: 6vw;
      }
      #main-slider .slider-content .dl-caption.big div {
        max-width: 860px;
      }
      #main-slider .overlay {
        background-color: rgba(0,0,0,0.58); /* leggermente più scuro per immagini “vive” */
      }
    }
    @media (max-width: 992px) {
      #main-slider .slider-content {
        max-width: 820px;
        padding-left: 7vw;
        padding-right: 7vw;
      }
      #main-slider .slider-content .dl-caption.big div {
        font-size: clamp(2rem, 2.4vw + 1rem, 3rem);
        max-width: 720px;
      }
      #main-slider .slider-content .dl-caption.small div {
        max-width: 600px;
      }
      /* CTA leggermente più grandi e ben distanziate */
      .default-btn {
        padding: 14px 22px;
        font-size: 0.95rem;
      }
    }
    @media (max-width: 768px) {
      #main-slider .slider-content-wrap {
        /* più respiro verticale per non schiacciare le righe */
        padding-top: 18vh;
        padding-bottom: 14vh;
      }
      #main-slider .slider-content {
        max-width: 92vw;
        padding-left: 4vw;
        padding-right: 4vw;
        text-align: left; /* resta coerente con il desktop; metti 'center' se preferisci */
      }
      #main-slider .slider-content .dl-caption.medium div {
        font-size: 0.95rem;
        letter-spacing: 0.8px;
      }
      #main-slider .slider-content .dl-caption.big div {
        font-size: clamp(1.8rem, 3.6vw + 0.8rem, 2.4rem);
        line-height: 1.2;
        max-width: 100%;
      }
      #main-slider .slider-content .dl-caption.small div {
        font-size: 1rem;
        line-height: 1.5;
        max-width: 100%;
      }
      /* CTA impilate */
      .dl-btn-group .default-btn {
        display: inline-block;
        margin-right: 0;
        margin-bottom: 10px;
        width: auto;
      }
      /* overlay un filo più scuro su mobile per aumentare leggibilità */
      #main-slider .overlay {
        background-color: rgba(0,0,0,0.62);
      }
    }
    @media (max-width: 576px) {
      #main-slider .slider-content-wrap {
        padding-top: 16vh;
        padding-bottom: 12vh;
      }
      #main-slider .slider-content {
        padding-left: 5vw;
        padding-right: 5vw;
        text-align: left;
      }
      #main-slider .slider-content .dl-caption.medium div {
        font-size: 0.9rem;
      }
      #main-slider .slider-content .dl-caption.big div {
        font-size: 1.8rem;
        line-height: 1.22;
      }
      #main-slider .slider-content .dl-caption.small div {
        font-size: 0.98rem;
      }
      .default-btn, .default-btn.outline {
        padding: 12px 18px;
        font-size: 0.92rem;
      }
    }
