
.home-hero{min-height:420px}
.home-hero .hero-copy-inner{max-width:610px}
.home-hero .hero-copy h1{font-size:clamp(2.8rem,4.3vw,4.8rem);line-height:.96;letter-spacing:-.045em}
.home-hero .hero-copy h1 span{color:#a74635}
.home-hero .intro{max-width:590px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-actions a.professional-btn{background:#c53227;border:1px solid #c53227;color:#fff}
.hero-actions a.patient-btn{background:rgba(197,50,39,.08);border:1px solid #c53227;color:#a53b31}
.main-nav .nav-pill{padding:9px 15px;border-radius:999px;line-height:1}
.main-nav .nav-patient{background:#f2d4ca;color:#9f3027}
.main-nav .nav-prof{background:#d8e7f2;color:#2f526b}

.audience-entry{padding:18px 0 12px;background:#fff}
.audience-heading{text-align:center;margin:0 auto 15px}
.audience-heading h2{margin:0;color:#1f2730;font-size:clamp(1.65rem,2.5vw,2.35rem);letter-spacing:-.035em}
.audience-heading p{margin:5px 0 0;color:#68717a;font-size:.92rem}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.audience-card{min-height:244px;display:grid;grid-template-columns:55% 45%;border-radius:8px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 8px 20px rgba(30,36,40,.06)}
.audience-card-copy{padding:22px 24px;display:flex;flex-direction:column;align-items:flex-start}
.audience-label{font-size:.68rem;font-weight:800;letter-spacing:.14em;margin-bottom:15px}
.audience-label:after{content:"";display:block;width:30px;height:1px;margin-top:8px;background:rgba(255,255,255,.75)}
.audience-card h3{margin:0 0 10px;font-size:1.5rem;line-height:1.04;font-weight:400}
.audience-card h3 strong{font-weight:800}
.audience-card p{margin:0;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.93)}
.audience-cta{margin-top:auto;border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:8px 14px;display:inline-flex;gap:8px;align-items:center;font-size:.81rem;font-weight:700}
.audience-professional{background:linear-gradient(120deg,#2d4b60 0,#365b70 100%)}
.audience-patient{background:linear-gradient(120deg,#9f4c3e 0,#b7614d 100%)}
.audience-photo{background-size:cover;background-repeat:no-repeat;min-height:100%}
.audience-prof-photo{background-image:linear-gradient(90deg,rgba(45,75,96,.18),rgba(45,75,96,0)),url('/img/home-professionista-knt.png');background-position:center 50%}
.audience-patient-photo{background-image:linear-gradient(90deg,rgba(159,76,62,.16),rgba(159,76,62,0)),url('/img/home-paziente-knt.png');background-position:center 37%}

.home-principles{padding:10px 0 14px}
.home-principles .principle-grid{gap:0}
.home-principles .principle{text-align:center;padding:9px 18px;border-right:1px solid #e5e1dd}
.home-principles .principle:last-child{border-right:0}
.home-principles .principle h2{margin:4px 0 2px;font-size:.98rem}
.home-principles .principle p{margin:0;font-size:.8rem;color:#68717a}
.home-icon{font-size:1.6rem;line-height:1;color:#17202a}

.partners-band{margin-top:2px;background:#f7efe6;border-top:1px solid #eee4da;border-bottom:1px solid #eee4da;padding:16px 0}
.partners-inner{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:28px}
.partners-title{color:#a05b1d;font-size:1.08rem;line-height:1.08;border-right:1px solid #d8c9ba;padding-right:28px}
.partners-title strong,.partners-title span{display:block}
.partners-note{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;text-align:center}
.partners-note span{min-height:58px;display:flex;align-items:center;justify-content:center;padding:9px 10px;background:#fff;border:1px solid #eadfd5;border-radius:6px;font-size:.76rem;color:#555;font-weight:700}

.home-footer{background:#252525;color:#cfcfcf}
.home-footer .footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding-top:16px;padding-bottom:16px}
.home-footer img{max-width:145px;filter:grayscale(1) brightness(1.9)}
.footer-links{display:flex;gap:10px;align-items:center;font-size:.76rem}
.footer-links a{color:#ddd;text-decoration:none}
.footer-tagline{text-align:right;font-size:.76rem;color:#c7c7c7}

@media(max-width:820px){
.audience-grid{grid-template-columns:1fr}
.partners-inner{grid-template-columns:1fr}
.partners-title{border-right:0;border-bottom:1px solid #d8c9ba;padding:0 0 12px}
.partners-note{grid-template-columns:repeat(2,1fr)}
.home-footer .footer-inner{grid-template-columns:1fr;text-align:center}
.footer-tagline{text-align:center}.footer-links{justify-content:center}
}
@media(max-width:560px){
.home-hero{min-height:auto}
.audience-card{grid-template-columns:60% 40%;min-height:230px}
.audience-card-copy{padding:18px 16px}
.audience-card h3{font-size:1.3rem}
.audience-card p{font-size:.8rem}
.home-principles .principle-grid{grid-template-columns:repeat(2,1fr)}
.partners-note{grid-template-columns:1fr 1fr}
}


/* =========================================================
   HOME v6 cumulativa — immagini + sfumature + menu compatto
   ========================================================= */

/* HERO: nuova immagine con fusione morbida verso il testo */
.home-hero{
  position:relative;
  overflow:hidden;
}
.home-hero .hero-image{
  position:relative;
  background-image:url('/img/home-hero-knt-network.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.home-hero .hero-image::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(250,248,245,.98) 0%,
      rgba(250,248,245,.82) 9%,
      rgba(250,248,245,.34) 20%,
      rgba(250,248,245,.06) 31%,
      rgba(250,248,245,0) 42%);
}
.home-hero .hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.03) 0%,
      rgba(255,255,255,0) 75%,
      rgba(255,255,255,.10) 100%);
}

/* CARD PROFESSIONISTI / PAZIENTI: immagine integrata nel colore */
.audience-card{
  position:relative;
  isolation:isolate;
}
.audience-card-copy{
  z-index:2;
}
.audience-photo{
  position:relative;
  z-index:1;
}
.audience-prof-photo{
  background-image:url('/img/home-professionista-knt.png') !important;
  background-size:cover !important;
  background-position:center center !important;
}
.audience-patient-photo{
  background-image:url('/img/home-paziente-knt.png') !important;
  background-size:cover !important;
  background-position:center 52% !important;
}
.audience-prof-photo::before,
.audience-patient-photo::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.audience-prof-photo::before{
  background:linear-gradient(90deg,
    rgba(45,75,96,.72) 0%,
    rgba(45,75,96,.42) 18%,
    rgba(45,75,96,.12) 42%,
    rgba(45,75,96,0) 67%);
}
.audience-patient-photo::before{
  background:linear-gradient(90deg,
    rgba(159,76,62,.72) 0%,
    rgba(159,76,62,.42) 18%,
    rgba(159,76,62,.12) 42%,
    rgba(159,76,62,0) 67%);
}

/* MENU desktop più corto e leggibile */
@media (min-width:1101px){
  .site-header .header-inner{
    gap:24px;
  }
  .site-header .main-nav{
    gap:16px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap;
  }
  .site-header .main-nav > a,
  .site-header .main-nav > .nav-item > a{
    font-size:.84rem !important;
  }
  .site-header .main-nav > a[href="/"]{
    display:none !important;
  }
  .site-header .main-nav > a[href="/pages/contatti.html"]{
    display:none !important;
  }
  .site-header .main-nav .nav-pill{
    padding:10px 15px !important;
    font-size:.80rem !important;
  }
}

/* Mobile/tablet: non alteriamo la struttura del menu */
@media (max-width:1100px){
  .site-header .main-nav > a[href="/"],
  .site-header .main-nav > a[href="/pages/contatti.html"]{
    display:block;
  }
}


/* =========================================================
   HOME v7 — rifiniture immagini + menu armonico
   ========================================================= */

/* Hero senza i due CTA: più pulita e con maggiore respiro */
.home-hero .hero-copy-inner{
  padding-bottom:22px;
}

/* Card: fusione più morbida tra colore e immagine */
.audience-card{
  grid-template-columns:50% 50% !important;
}
.audience-prof-photo,
.audience-patient-photo{
  position:relative;
  overflow:hidden;
}
.audience-prof-photo{
  background-image:url('/img/home-professionista-knt.png') !important;
  background-size:cover !important;
  background-position:center center !important;
}
.audience-patient-photo{
  background-image:url('/img/home-paziente-knt.png') !important;
  background-size:cover !important;
  background-position:center 52% !important;
}

/* Gradiente verso l'immagine per eliminare lo stacco netto */
.audience-prof-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(45,75,96,.96) 0%,
    rgba(45,75,96,.72) 12%,
    rgba(45,75,96,.34) 28%,
    rgba(45,75,96,.08) 48%,
    rgba(45,75,96,0) 66%);
  pointer-events:none;
}
.audience-patient-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(159,76,62,.96) 0%,
    rgba(159,76,62,.72) 12%,
    rgba(159,76,62,.34) 28%,
    rgba(159,76,62,.08) 48%,
    rgba(159,76,62,0) 66%);
  pointer-events:none;
}

/* Menu desktop: più coerente con la pagina, senza pill e senza sovraffollamento */
@media (min-width:1101px){
  .site-header .header-inner{
    gap:30px !important;
  }
  .site-header .main-nav{
    gap:22px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap;
    align-items:center;
  }
  .site-header .main-nav > a{
    display:inline-flex !important;
    align-items:center;
    min-height:38px;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#333 !important;
    font-size:.84rem !important;
    font-weight:700;
    position:relative;
  }
  .site-header .main-nav > a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:1px;
    height:2px;
    background:#b63f32;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s ease;
  }
  .site-header .main-nav > a:hover::after,
  .site-header .main-nav > a.active::after{
    transform:scaleX(1);
  }
}

/* Tablet/mobile: manteniamo tutte le voci disponibili */
@media (max-width:1100px){
  .site-header .main-nav > a{
    display:block !important;
  }
}


/* =========================================================
   HOME v8 — sfumature card + menu armonizzato
   ========================================================= */

/* HEADER: logo e menu percepiti come un unico blocco */
.site-header .header-inner{
  max-width:1540px;
  margin:0 auto;
  padding-left:34px;
  padding-right:34px;
}

@media (min-width:1101px){
  .site-header .brand{
    position:relative;
    padding-right:30px;
    margin-right:0;
  }
  .site-header .brand::after{
    content:"";
    position:absolute;
    top:20%;
    right:0;
    width:1px;
    height:60%;
    background:rgba(38,45,50,.15);
  }

  .site-header .main-nav{
    flex:1;
    display:flex !important;
    align-items:center;
    justify-content:flex-start;
    gap:18px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap;
    margin-left:0 !important;
  }

  .site-header .main-nav > a{
    display:inline-flex !important;
    align-items:center;
    min-height:42px;
    padding:0 !important;
    background:transparent !important;
    border-radius:0 !important;
    color:#303336 !important;
    font-size:.78rem !important;
    font-weight:700;
    letter-spacing:.01em;
    position:relative;
  }

  .site-header .main-nav > a:not(.nav-pill)::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:2px;
    height:2px;
    background:#b84034;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s ease;
  }

  .site-header .main-nav > a:not(.nav-pill):hover::after,
  .site-header .main-nav > a.active:not(.nav-pill)::after{
    transform:scaleX(1);
  }

  .site-header .main-nav .nav-pill{
    margin-left:4px;
    padding:11px 18px !important;
    border-radius:999px !important;
    font-size:.76rem !important;
    line-height:1 !important;
  }

  .site-header .main-nav .nav-patient{
    background:#f4d7d0 !important;
    color:#a52e24 !important;
  }

  .site-header .main-nav .nav-prof{
    background:#dbe8f3 !important;
    color:#31566f !important;
  }

  /* porta le due pill verso destra senza creare il grande vuoto a sinistra */
  .site-header .main-nav .nav-patient{
    margin-left:auto;
  }
}

/* CARD: transizione colore→immagine molto più lunga e morbida */
.audience-card{
  grid-template-columns:48% 52% !important;
}

.audience-prof-photo,
.audience-patient-photo{
  position:relative;
  overflow:hidden;
}

.audience-prof-photo::before,
.audience-patient-photo::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}

.audience-prof-photo::before{
  background:
    linear-gradient(90deg,
      rgba(45,75,96,1) 0%,
      rgba(45,75,96,.97) 9%,
      rgba(45,75,96,.88) 18%,
      rgba(45,75,96,.70) 30%,
      rgba(45,75,96,.47) 42%,
      rgba(45,75,96,.25) 54%,
      rgba(45,75,96,.10) 66%,
      rgba(45,75,96,0) 80%);
}

.audience-patient-photo::before{
  background:
    linear-gradient(90deg,
      rgba(159,76,62,1) 0%,
      rgba(159,76,62,.97) 9%,
      rgba(159,76,62,.88) 18%,
      rgba(159,76,62,.70) 30%,
      rgba(159,76,62,.47) 42%,
      rgba(159,76,62,.25) 54%,
      rgba(159,76,62,.10) 66%,
      rgba(159,76,62,0) 80%);
}

/* ulteriore velo orizzontale per fondere ancora l'immagine nel fondo */
.audience-prof-photo::after,
.audience-patient-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:linear-gradient(180deg,
    rgba(255,255,255,.03) 0%,
    rgba(255,255,255,0) 58%,
    rgba(0,0,0,.04) 100%);
}

@media (max-width:1280px) and (min-width:1101px){
  .site-header .main-nav{gap:14px !important;}
  .site-header .main-nav > a{font-size:.72rem !important;}
  .site-header .main-nav .nav-pill{padding:10px 14px !important;font-size:.70rem !important;}
  .site-header .brand{padding-right:20px;}
}

@media (max-width:1100px){
  .site-header .brand::after{display:none;}
  .site-header .main-nav .nav-patient{margin-left:0;}
  .site-header .main-nav > a{display:block !important;}
}


/* =========================================================
   HOME v9 — allineamento al mockup approvato
   ========================================================= */

/* ---------- HEADER ---------- */
.site-header{
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 1px 0 rgba(34,40,45,.08) !important;
}
.site-header .header-inner{
  max-width:1520px !important;
  margin:0 auto !important;
  padding-left:44px !important;
  padding-right:44px !important;
  gap:34px !important;
}
.site-header .brand{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
}
.site-header .brand::after{display:none !important;}

@media (min-width:1101px){
  .site-header .main-nav{
    flex:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:28px !important;
    margin:0 !important;
    white-space:nowrap !important;
  }
  .site-header .main-nav > a{
    display:inline-flex !important;
    align-items:center !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#2e3438 !important;
    font-size:.78rem !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    position:relative !important;
  }
  .site-header .main-nav > a:not(.nav-pill)::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:2px !important;
    height:2px !important;
    background:#b43e32 !important;
    transform:scaleX(0) !important;
    transform-origin:left !important;
    transition:transform .18s ease !important;
  }
  .site-header .main-nav > a:not(.nav-pill):hover::after{
    transform:scaleX(1) !important;
  }
  .site-header .main-nav .nav-patient{
    margin-left:auto !important;
  }
  .site-header .main-nav .nav-pill{
    padding:12px 22px !important;
    min-height:auto !important;
    border-radius:999px !important;
    font-size:.76rem !important;
    font-weight:800 !important;
  }
  .site-header .main-nav .nav-patient{
    background:#f7deda !important;
    color:#a52c23 !important;
  }
  .site-header .main-nav .nav-prof{
    background:#dcebf7 !important;
    color:#285978 !important;
  }
}

/* ---------- HERO: un'unica composizione, senza linea di separazione ---------- */
.home-hero{
  position:relative !important;
  min-height:500px !important;
  overflow:hidden !important;
  background:#f7f5f1 !important;
  display:block !important;
}
.home-hero .hero-image{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:68% !important;
  height:100% !important;
  z-index:0 !important;
  background-image:url('/img/home-hero-knt-network.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.home-hero .hero-image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,
      #f7f5f1 0%,
      rgba(247,245,241,.99) 10%,
      rgba(247,245,241,.94) 18%,
      rgba(247,245,241,.78) 28%,
      rgba(247,245,241,.52) 39%,
      rgba(247,245,241,.27) 50%,
      rgba(247,245,241,.08) 61%,
      rgba(247,245,241,0) 72%) !important;
  pointer-events:none !important;
}
.home-hero .hero-image::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,0) 72%,
      rgba(247,245,241,.08) 100%) !important;
  pointer-events:none !important;
}
.home-hero .hero-copy{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  max-width:1520px !important;
  min-height:500px !important;
  margin:0 auto !important;
  padding:0 44px !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
}
.home-hero .hero-copy-inner{
  width:min(44%,650px) !important;
  max-width:650px !important;
  padding:34px 0 38px !important;
  background:transparent !important;
}
.home-hero .hero-copy h1{
  font-size:clamp(3rem,4.7vw,5.25rem) !important;
  line-height:.95 !important;
  margin-bottom:26px !important;
}
.home-hero .intro{
  max-width:610px !important;
  font-size:1.06rem !important;
  line-height:1.52 !important;
}

/* ---------- ACCESSO PROFESSIONISTI / PAZIENTI ---------- */
.audience-entry{
  padding:20px 0 16px !important;
}
.audience-heading{
  margin-bottom:16px !important;
}
.audience-grid{
  gap:16px !important;
}
.audience-card{
  position:relative !important;
  display:block !important;
  min-height:250px !important;
  overflow:hidden !important;
  border-radius:8px !important;
  isolation:isolate !important;
  box-shadow:0 10px 24px rgba(28,35,40,.06) !important;
}
.audience-card-copy{
  position:relative !important;
  z-index:3 !important;
  width:48% !important;
  min-height:250px !important;
  padding:24px 28px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}
.audience-photo{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.audience-prof-photo{
  background-image:url('/img/home-professionista-knt.png') !important;
  background-position:center center !important;
}
.audience-patient-photo{
  background-image:url('/img/home-paziente-knt.png') !important;
  background-position:center 52% !important;
}

/* Fondo colore sull'intera card */
.audience-professional{
  background:#315b73 !important;
}
.audience-patient{
  background:#b05a48 !important;
}

/* Fusione continua testo→immagine: niente giuntura verticale */
.audience-professional::before,
.audience-patient::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.audience-professional::before{
  background:
    linear-gradient(90deg,
      rgba(49,91,115,1) 0%,
      rgba(49,91,115,.99) 25%,
      rgba(49,91,115,.95) 35%,
      rgba(49,91,115,.82) 44%,
      rgba(49,91,115,.62) 52%,
      rgba(49,91,115,.40) 60%,
      rgba(49,91,115,.19) 69%,
      rgba(49,91,115,.05) 78%,
      rgba(49,91,115,0) 88%) !important;
}
.audience-patient::before{
  background:
    linear-gradient(90deg,
      rgba(176,90,72,1) 0%,
      rgba(176,90,72,.99) 25%,
      rgba(176,90,72,.95) 35%,
      rgba(176,90,72,.82) 44%,
      rgba(176,90,72,.62) 52%,
      rgba(176,90,72,.40) 60%,
      rgba(176,90,72,.19) 69%,
      rgba(176,90,72,.05) 78%,
      rgba(176,90,72,0) 88%) !important;
}

/* neutralizza i vecchi overlay della photo */
.audience-prof-photo::before,
.audience-prof-photo::after,
.audience-patient-photo::before,
.audience-patient-photo::after{
  display:none !important;
}

@media (max-width:1280px) and (min-width:1101px){
  .site-header .header-inner{
    padding-left:28px !important;
    padding-right:28px !important;
    gap:26px !important;
  }
  .site-header .main-nav{gap:20px !important;}
  .site-header .main-nav > a{font-size:.72rem !important;}
  .site-header .main-nav .nav-pill{
    padding:10px 16px !important;
    font-size:.70rem !important;
  }
}

@media (max-width:1100px){
  .home-hero .hero-image{
    width:100% !important;
    opacity:.34 !important;
  }
  .home-hero .hero-image::before{
    background:linear-gradient(90deg,
      rgba(247,245,241,.98) 0%,
      rgba(247,245,241,.92) 55%,
      rgba(247,245,241,.55) 100%) !important;
  }
  .home-hero .hero-copy{
    padding:0 24px !important;
  }
  .home-hero .hero-copy-inner{
    width:min(80%,650px) !important;
  }
  .audience-card-copy{
    width:58% !important;
  }
}

@media (max-width:620px){
  .home-hero{min-height:470px !important;}
  .home-hero .hero-copy{min-height:470px !important;}
  .home-hero .hero-copy-inner{width:100% !important;}
  .audience-card-copy{width:66% !important;padding:20px !important;}
}


/* =========================================================
   HOME v10 — replica più fedele del mockup approvato
   ========================================================= */

/* ===== HEADER ===== */
.site-header{
  background:#fff !important;
  box-shadow:0 1px 0 rgba(28,34,39,.08) !important;
}
.site-header .header-inner{
  width:min(1540px,calc(100% - 64px)) !important;
  max-width:1540px !important;
  margin:0 auto !important;
  padding:0 !important;
  gap:46px !important;
}
.site-header .brand{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
}
.site-header .brand img{
  width:auto !important;
  max-width:185px !important;
}
.site-header .brand::after{display:none !important;}

@media (min-width:1101px){
  .site-header .main-nav{
    flex:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:25px !important;
    margin:0 !important;
    white-space:nowrap !important;
  }
  .site-header .main-nav > a{
    display:inline-flex !important;
    align-items:center !important;
    min-height:66px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border-radius:0 !important;
    color:#273039 !important;
    font-size:.76rem !important;
    font-weight:750 !important;
    letter-spacing:.01em !important;
    text-transform:none !important;
    position:relative !important;
  }
  .site-header .main-nav > a:not(.nav-pill):not(.nav-search)::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:8px !important;
    height:2px !important;
    background:#b64337 !important;
    transform:scaleX(0) !important;
    transform-origin:left !important;
    transition:transform .18s ease !important;
  }
  .site-header .main-nav > a:not(.nav-pill):not(.nav-search):hover::after{
    transform:scaleX(1) !important;
  }

  .site-header .main-nav .nav-search{
    width:28px !important;
    min-height:66px !important;
    justify-content:center !important;
    margin-left:6px !important;
  }
  .site-header .main-nav .nav-search span{
    width:14px;
    height:14px;
    border:2px solid #24303a;
    border-radius:50%;
    position:relative;
    display:block;
  }
  .site-header .main-nav .nav-search span::after{
    content:"";
    position:absolute;
    width:7px;
    height:2px;
    background:#24303a;
    right:-6px;
    bottom:-3px;
    transform:rotate(45deg);
    transform-origin:left center;
    border-radius:2px;
  }

  .site-header .main-nav .nav-patient{
    margin-left:auto !important;
  }
  .site-header .main-nav .nav-pill{
    min-height:auto !important;
    padding:13px 24px !important;
    border-radius:999px !important;
    font-size:.74rem !important;
    font-weight:800 !important;
  }
  .site-header .main-nav .nav-patient{
    background:#f7deda !important;
    color:#ad3026 !important;
  }
  .site-header .main-nav .nav-prof{
    background:#dcecf8 !important;
    color:#226087 !important;
  }
}

/* ===== HERO: proporzioni del mockup, non 4 righe ===== */
.home-hero{
  position:relative !important;
  display:block !important;
  min-height:480px !important;
  overflow:hidden !important;
  background:#f7f5f1 !important;
}
.home-hero .hero-image{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:69% !important;
  height:100% !important;
  z-index:0 !important;
  background:url('/img/home-hero-knt-network.png') center center/cover no-repeat !important;
}
.home-hero .hero-image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(90deg,
    #f7f5f1 0%,
    rgba(247,245,241,.99) 8%,
    rgba(247,245,241,.94) 15%,
    rgba(247,245,241,.81) 23%,
    rgba(247,245,241,.60) 32%,
    rgba(247,245,241,.38) 41%,
    rgba(247,245,241,.19) 50%,
    rgba(247,245,241,.07) 59%,
    rgba(247,245,241,0) 68%) !important;
}
.home-hero .hero-image::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0) 80%,rgba(247,245,241,.06)) !important;
}
.home-hero .hero-copy{
  position:relative !important;
  z-index:2 !important;
  width:min(1540px,calc(100% - 64px)) !important;
  max-width:1540px !important;
  min-height:480px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
}
.home-hero .hero-copy-inner{
  width:48% !important;
  max-width:700px !important;
  padding:32px 0 34px !important;
  background:transparent !important;
}
.home-hero .hero-copy h1{
  font-size:clamp(3rem,4.25vw,4.55rem) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;
  margin:10px 0 24px !important;
}
.home-hero .intro{
  max-width:600px !important;
  font-size:1.02rem !important;
  line-height:1.52 !important;
}

/* ===== DUE CARD: immagine a tutta card + colore che si dissolve ===== */
.audience-entry{
  padding:18px 0 14px !important;
}
.audience-heading{
  margin:0 auto 14px !important;
}
.audience-heading h2{
  font-size:clamp(1.8rem,2.5vw,2.45rem) !important;
}
.audience-grid{
  gap:16px !important;
}
.audience-card{
  position:relative !important;
  display:block !important;
  min-height:245px !important;
  overflow:hidden !important;
  border-radius:8px !important;
  isolation:isolate !important;
  box-shadow:0 9px 22px rgba(28,35,40,.06) !important;
}
.audience-photo{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.audience-prof-photo{
  background-image:url('/img/home-professionista-knt.png') !important;
  background-position:center center !important;
}
.audience-patient-photo{
  background-image:url('/img/home-paziente-knt.png') !important;
  background-position:center 52% !important;
}
.audience-card-copy{
  position:relative !important;
  z-index:3 !important;
  width:47% !important;
  min-height:245px !important;
  padding:22px 26px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  background:transparent !important;
}
.audience-professional{
  background:#315b73 !important;
}
.audience-patient{
  background:#b65e4a !important;
}
.audience-professional::before,
.audience-patient::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.audience-professional::before{
  background:linear-gradient(90deg,
    rgba(49,91,115,1) 0%,
    rgba(49,91,115,1) 22%,
    rgba(49,91,115,.97) 31%,
    rgba(49,91,115,.87) 40%,
    rgba(49,91,115,.69) 49%,
    rgba(49,91,115,.48) 58%,
    rgba(49,91,115,.27) 67%,
    rgba(49,91,115,.12) 75%,
    rgba(49,91,115,.03) 83%,
    rgba(49,91,115,0) 90%) !important;
}
.audience-patient::before{
  background:linear-gradient(90deg,
    rgba(182,94,74,1) 0%,
    rgba(182,94,74,1) 22%,
    rgba(182,94,74,.97) 31%,
    rgba(182,94,74,.87) 40%,
    rgba(182,94,74,.69) 49%,
    rgba(182,94,74,.48) 58%,
    rgba(182,94,74,.27) 67%,
    rgba(182,94,74,.12) 75%,
    rgba(182,94,74,.03) 83%,
    rgba(182,94,74,0) 90%) !important;
}
.audience-prof-photo::before,
.audience-prof-photo::after,
.audience-patient-photo::before,
.audience-patient-photo::after{
  display:none !important;
}

/* responsive */
@media (max-width:1320px) and (min-width:1101px){
  .site-header .header-inner{
    width:min(100% - 40px,1540px) !important;
    gap:30px !important;
  }
  .site-header .main-nav{gap:18px !important;}
  .site-header .main-nav > a{font-size:.69rem !important;}
  .site-header .main-nav .nav-pill{padding:11px 17px !important;font-size:.68rem !important;}
}
@media (max-width:1100px){
  .site-header .header-inner{
    width:calc(100% - 32px) !important;
  }
  .home-hero .hero-copy{
    width:calc(100% - 40px) !important;
  }
  .home-hero .hero-copy-inner{
    width:72% !important;
  }
  .home-hero .hero-image{
    width:100% !important;
    opacity:.38 !important;
  }
  .home-hero .hero-image::before{
    background:linear-gradient(90deg,rgba(247,245,241,.98),rgba(247,245,241,.84) 58%,rgba(247,245,241,.44)) !important;
  }
  .audience-card-copy{width:58% !important;}
  .site-header .main-nav .nav-search{display:none !important;}
}
@media (max-width:620px){
  .home-hero{min-height:455px !important;}
  .home-hero .hero-copy{min-height:455px !important;}
  .home-hero .hero-copy-inner{width:100% !important;}
  .audience-card-copy{width:68% !important;padding:18px !important;}
}


/* =========================================================
   HOME v11 — header/menu più armonico e compatto
   ========================================================= */

.site-header{
  height:78px !important;
  min-height:78px !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(34,40,45,.08) !important;
}

.site-header .header-inner{
  width:min(1560px,calc(100% - 56px)) !important;
  max-width:1560px !important;
  height:78px !important;
  min-height:78px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:34px !important;
}

.site-header .brand{
  flex:0 0 190px !important;
  width:190px !important;
  max-width:190px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 24px 0 0 !important;
  position:relative !important;
}

.site-header .brand::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:0 !important;
  top:18px !important;
  bottom:18px !important;
  width:1px !important;
  height:auto !important;
  background:#e1e4e6 !important;
}

.site-header .brand img{
  display:block !important;
  width:166px !important;
  max-width:166px !important;
  height:auto !important;
}

@media (min-width:1101px){
  .site-header .main-nav{
    flex:1 1 auto !important;
    height:78px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:22px !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .site-header .main-nav > a{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:42px !important;
    min-height:42px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#2d3439 !important;
    font-size:.78rem !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:.005em !important;
    text-transform:none !important;
    position:relative !important;
  }

  .site-header .main-nav > a:not(.nav-pill)::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:2px !important;
    height:2px !important;
    background:#b54135 !important;
    transform:scaleX(0) !important;
    transform-origin:center !important;
    transition:transform .18s ease !important;
  }

  .site-header .main-nav > a:not(.nav-pill):hover::after{
    transform:scaleX(1) !important;
  }

  /* separazione morbida tra navigazione e accessi utente */
  .site-header .main-nav .nav-patient{
    margin-left:auto !important;
  }

  .site-header .main-nav .nav-pill{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    width:auto !important;
    min-width:132px !important;
    padding:0 20px !important;
    border-radius:999px !important;
    font-size:.73rem !important;
    font-weight:800 !important;
    line-height:42px !important;
    box-shadow:none !important;
  }

  .site-header .main-nav .nav-patient{
    background:#f7dfda !important;
    color:#a63127 !important;
  }

  .site-header .main-nav .nav-prof{
    min-width:126px !important;
    background:#dceaf5 !important;
    color:#315c77 !important;
  }

  .site-header .main-nav .nav-pill:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 5px 14px rgba(40,50,58,.08) !important;
  }
}

@media (max-width:1360px) and (min-width:1101px){
  .site-header .header-inner{
    width:calc(100% - 36px) !important;
    gap:26px !important;
  }

  .site-header .brand{
    flex-basis:170px !important;
    width:170px !important;
    max-width:170px !important;
    padding-right:18px !important;
  }

  .site-header .brand img{
    width:150px !important;
    max-width:150px !important;
  }

  .site-header .main-nav{
    gap:16px !important;
  }

  .site-header .main-nav > a{
    font-size:.70rem !important;
  }

  .site-header .main-nav .nav-pill{
    min-width:118px !important;
    padding:0 15px !important;
    font-size:.68rem !important;
  }
}

@media (max-width:1100px){
  .site-header{
    height:auto !important;
    min-height:0 !important;
  }

  .site-header .header-inner{
    width:calc(100% - 32px) !important;
    height:auto !important;
    min-height:68px !important;
    gap:0 !important;
  }

  .site-header .brand{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    padding:0 !important;
  }

  .site-header .brand::after{
    display:none !important;
  }

  .site-header .brand img{
    width:145px !important;
    max-width:145px !important;
  }

  .site-header .main-nav .nav-pill{
    min-width:0 !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    line-height:normal !important;
  }
}


/* =========================================================
   HOME v12 — menu armonizzato come mockup approvato
   ========================================================= */

.site-header{
  height:82px !important;
  min-height:82px !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(30,36,40,.08) !important;
}

.site-header .header-inner{
  width:min(1580px,calc(100% - 56px)) !important;
  max-width:1580px !important;
  height:82px !important;
  min-height:82px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
}

.site-header .brand{
  flex:0 0 210px !important;
  width:210px !important;
  max-width:210px !important;
  margin:0 !important;
  padding:0 28px 0 0 !important;
  position:relative !important;
}

.site-header .brand::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:0 !important;
  top:18px !important;
  bottom:18px !important;
  width:1px !important;
  background:#dde1e4 !important;
}

.site-header .brand img{
  width:176px !important;
  max-width:176px !important;
  height:auto !important;
  display:block !important;
}

@media (min-width:1101px){
  .site-header .main-nav{
    flex:1 1 auto !important;
    height:82px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:26px !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
  }

  .site-header .main-nav > a{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:42px !important;
    min-height:42px !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#2d3439 !important;
    font-size:.78rem !important;
    font-weight:650 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    position:relative !important;
  }

  .site-header .main-nav > a:not(.nav-pill)::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:1px !important;
    height:2px !important;
    background:#b64035 !important;
    transform:scaleX(0) !important;
    transform-origin:center !important;
    transition:transform .18s ease !important;
  }

  .site-header .main-nav > a:not(.nav-pill):hover::after{
    transform:scaleX(1) !important;
  }

  /* I due accessi utente hanno la stessa tipografia e lo stesso peso visivo */
  .site-header .main-nav .nav-patient{
    margin-left:auto !important;
  }

  .site-header .main-nav .nav-pill{
    height:42px !important;
    min-height:42px !important;
    min-width:142px !important;
    padding:0 20px !important;
    border-radius:999px !important;
    font-size:.74rem !important;
    font-weight:750 !important;
    line-height:1 !important;
    background:#fff !important;
    box-shadow:none !important;
    transition:background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
  }

  .site-header .main-nav .nav-patient{
    color:#b52f28 !important;
    border:1.5px solid #df7b74 !important;
  }

  .site-header .main-nav .nav-prof{
    color:#2f6b95 !important;
    border:1.5px solid #84b5dc !important;
  }

  .site-header .main-nav .nav-patient:hover{
    background:#fff6f4 !important;
    transform:translateY(-1px) !important;
    box-shadow:0 5px 14px rgba(181,47,40,.08) !important;
  }

  .site-header .main-nav .nav-prof:hover{
    background:#f3f9fd !important;
    transform:translateY(-1px) !important;
    box-shadow:0 5px 14px rgba(47,107,149,.08) !important;
  }
}

@media (max-width:1380px) and (min-width:1101px){
  .site-header .header-inner{
    width:calc(100% - 36px) !important;
    gap:26px !important;
  }

  .site-header .brand{
    flex-basis:186px !important;
    width:186px !important;
    max-width:186px !important;
    padding-right:20px !important;
  }

  .site-header .brand img{
    width:160px !important;
    max-width:160px !important;
  }

  .site-header .main-nav{
    gap:18px !important;
  }

  .site-header .main-nav > a{
    font-size:.70rem !important;
  }

  .site-header .main-nav .nav-pill{
    min-width:126px !important;
    padding:0 16px !important;
    font-size:.68rem !important;
  }
}

@media (max-width:1100px){
  .site-header{
    height:auto !important;
    min-height:0 !important;
  }

  .site-header .header-inner{
    width:calc(100% - 32px) !important;
    height:auto !important;
    min-height:68px !important;
    gap:0 !important;
  }

  .site-header .brand{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    padding:0 !important;
  }

  .site-header .brand::after{
    display:none !important;
  }

  .site-header .brand img{
    width:145px !important;
    max-width:145px !important;
  }

  .site-header .main-nav .nav-pill{
    min-width:0 !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    line-height:normal !important;
    border-radius:0 !important;
  }
}


/* =========================================================
   HOME v13 — menu definitivo su mockup
   ========================================================= */
.site-header{
  height:82px !important;
  min-height:82px !important;
  background:#fff !important;
  border-top:3px solid #2f3132 !important;
  box-shadow:0 1px 0 rgba(30,36,40,.08) !important;
}
.site-header .header-inner{
  width:min(1580px,calc(100% - 56px)) !important;
  max-width:1580px !important;
  height:79px !important;
  min-height:79px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
}
.site-header .brand{
  flex:0 0 210px !important;
  width:210px !important;
  max-width:210px !important;
  margin:0 !important;
  padding:0 28px 0 0 !important;
  position:relative !important;
}
.site-header .brand::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:0 !important;
  top:17px !important;
  bottom:17px !important;
  width:1px !important;
  background:#dfe3e5 !important;
}
.site-header .brand img{
  display:block !important;
  width:176px !important;
  max-width:176px !important;
  height:auto !important;
}

@media (min-width:1101px){
  .site-header .main-nav{
    flex:1 1 auto !important;
    height:79px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:25px !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
  }

  .site-header .main-nav > a,
  .site-header .main-nav > a:link,
  .site-header .main-nav > a:visited{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#293138 !important;
    font-family:inherit !important;
    font-size:.78rem !important;
    font-style:normal !important;
    font-weight:650 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    text-decoration:none !important;
    position:relative !important;
  }

  .site-header .main-nav > a:not(.nav-pill)::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:1px !important;
    height:2px !important;
    background:#b54237 !important;
    transform:scaleX(0) !important;
    transform-origin:center !important;
    transition:transform .18s ease !important;
  }
  .site-header .main-nav > a:not(.nav-pill):hover::after{
    transform:scaleX(1) !important;
  }

  .site-header .main-nav .nav-patient{
    margin-left:auto !important;
  }

  /* Specificità volutamente alta per neutralizzare vecchie regole del menu paziente */
  .site-header .header-inner .main-nav > a.nav-pill,
  .site-header .header-inner .main-nav > a.nav-pill:link,
  .site-header .header-inner .main-nav > a.nav-pill:visited{
    box-sizing:border-box !important;
    height:42px !important;
    min-height:42px !important;
    min-width:148px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    background:#fff !important;
    font-family:inherit !important;
    font-size:.74rem !important;
    font-style:normal !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    text-decoration:none !important;
  }

  .site-header .header-inner .main-nav > a.nav-patient,
  .site-header .header-inner .main-nav > a.nav-patient:link,
  .site-header .header-inner .main-nav > a.nav-patient:visited{
    color:#c3312c !important;
    border:1.5px solid #df625c !important;
    background:#fff !important;
  }

  .site-header .header-inner .main-nav > a.nav-prof,
  .site-header .header-inner .main-nav > a.nav-prof:link,
  .site-header .header-inner .main-nav > a.nav-prof:visited{
    color:#276a98 !important;
    border:1.5px solid #6ea9d6 !important;
    background:#fff !important;
  }

  .site-header .header-inner .main-nav > a.nav-patient:hover{
    background:#fff7f6 !important;
    border-color:#c3312c !important;
  }
  .site-header .header-inner .main-nav > a.nav-prof:hover{
    background:#f5faff !important;
    border-color:#276a98 !important;
  }
}

@media (max-width:1380px) and (min-width:1101px){
  .site-header .header-inner{width:calc(100% - 36px) !important;gap:25px !important;}
  .site-header .brand{flex-basis:185px !important;width:185px !important;max-width:185px !important;padding-right:20px !important;}
  .site-header .brand img{width:158px !important;max-width:158px !important;}
  .site-header .main-nav{gap:17px !important;}
  .site-header .main-nav > a{font-size:.70rem !important;}
  .site-header .header-inner .main-nav > a.nav-pill{min-width:126px !important;padding:0 16px !important;font-size:.68rem !important;}
}

@media (max-width:1100px){
  .site-header{height:auto !important;min-height:0 !important;}
  .site-header .header-inner{width:calc(100% - 32px) !important;height:auto !important;min-height:68px !important;gap:0 !important;}
  .site-header .brand{flex:0 0 auto !important;width:auto !important;max-width:none !important;padding:0 !important;}
  .site-header .brand::after{display:none !important;}
  .site-header .brand img{width:145px !important;max-width:145px !important;}
}


/* HOME v14 — blocco finale pill paziente/professionisti */
@media (min-width:1101px){
  body .site-header .header-inner .main-nav > a.nav-patient,
  body .site-header .header-inner .main-nav > a.nav-prof{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    background:#fff !important;
    font-family:inherit !important;
    font-size:.74rem !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  body .site-header .header-inner .main-nav > a.nav-patient{
    color:#c3312c !important;
    border:1.5px solid #df625c !important;
  }

  body .site-header .header-inner .main-nav > a.nav-prof{
    color:#276a98 !important;
    border:1.5px solid #6ea9d6 !important;
  }
}


/* =========================================================
   HOME v15 — Partner con loghi reali; rimossa fascia principi
   ========================================================= */

.home-principles{
  display:none !important;
}

.partners-band{
  margin-top:0 !important;
  background:#f7efe6 !important;
  border-top:1px solid #eadfd5 !important;
  border-bottom:1px solid #eadfd5 !important;
  padding:22px 0 !important;
}

.partners-inner{
  display:grid !important;
  grid-template-columns:280px 1fr !important;
  gap:34px !important;
  align-items:center !important;
}

.partners-title{
  color:#a05b1d !important;
  font-size:1.18rem !important;
  line-height:1.08 !important;
  padding-right:28px !important;
  border-right:1px solid #d8c9ba !important;
}

.partners-title strong,
.partners-title span{
  display:block !important;
}

.partners-title strong{
  font-size:1.22rem !important;
  font-weight:800 !important;
}

.partners-title span{
  margin-top:3px !important;
  font-weight:500 !important;
}

.partners-logos{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

.partner-card{
  min-height:118px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid #e8ddd3 !important;
  border-radius:10px !important;
  padding:16px 20px !important;
  box-shadow:0 4px 14px rgba(40,35,30,.035) !important;
}

.partner-logo{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  max-height:82px !important;
  object-fit:contain !important;
}

.partner-logo-fifs{
  max-height:88px !important;
}

.partner-logo-unifi{
  max-height:76px !important;
}

.partner-logo-tan{
  max-height:88px !important;
}

@media(max-width:900px){
  .partners-inner{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .partners-title{
    border-right:0 !important;
    border-bottom:1px solid #d8c9ba !important;
    padding:0 0 14px !important;
  }
}

@media(max-width:620px){
  .partners-logos{
    grid-template-columns:1fr !important;
  }
  .partner-card{
    min-height:104px !important;
  }
}


/* =========================================================
   HOME v16 — Partner: loghi originali ad alta qualità
   ========================================================= */
.partners-band{
  padding:20px 0 !important;
}

.partners-logos{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.partner-card{
  min-height:128px !important;
  padding:14px 24px !important;
  overflow:hidden !important;
}

.partner-card .partner-logo{
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
}

.partner-card .partner-logo-fifs{
  max-height:100px !important;
  max-width:78% !important;
}

.partner-card .partner-logo-unifi{
  max-height:96px !important;
  max-width:88% !important;
}

.partner-card .partner-logo-tan{
  max-height:104px !important;
  max-width:80% !important;
}

@media(max-width:620px){
  .partner-card{
    min-height:118px !important;
  }
}


/* =========================================================
   HOME v16.1 — Partner su fascia continua, senza card bianche
   ========================================================= */

.partners-band{
  background:#f7efe6 !important;
  padding:22px 0 !important;
  border-top:1px solid #eadfd5 !important;
  border-bottom:1px solid #eadfd5 !important;
}

.partners-inner{
  grid-template-columns:300px 1fr !important;
  gap:34px !important;
  align-items:center !important;
}

.partners-title{
  border-right:1px solid #d5c7b8 !important;
  padding-right:30px !important;
  color:#9d5a1b !important;
}

.partners-logos{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  align-items:center !important;
}

.partner-card{
  position:relative !important;
  min-height:112px !important;
  padding:10px 30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  /* niente box/card */
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* separatori verticali tra i 3 partner */
.partner-card + .partner-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:18% !important;
  bottom:18% !important;
  width:1px !important;
  background:#d5c7b8 !important;
}

.partner-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto !important;
}

/* dimensioni equilibrate */
.partner-logo-fifs{
  max-height:94px !important;
  max-width:78% !important;
}

.partner-logo-unifi{
  max-height:86px !important;
  max-width:88% !important;
  /* il file originale UNIFI è bianco su trasparenza:
     questo lo rende nero senza alterare la geometria del logo */
  filter:brightness(0) !important;
}

.partner-logo-tan{
  max-height:96px !important;
  max-width:76% !important;
}

@media(max-width:900px){
  .partners-inner{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .partners-title{
    border-right:0 !important;
    border-bottom:1px solid #d5c7b8 !important;
    padding:0 0 14px !important;
  }
}

@media(max-width:620px){
  .partners-logos{
    grid-template-columns:1fr !important;
  }

  .partner-card{
    min-height:96px !important;
    padding:12px 20px !important;
  }

  .partner-card + .partner-card::before{
    top:0 !important;
    bottom:auto !important;
    left:12% !important;
    right:12% !important;
    width:auto !important;
    height:1px !important;
  }
}

/* HOME v18 — armonizzazione tipografica card Professionisti / Pazienti */
@media (min-width:621px){
  .audience-professional .audience-card-copy,
  .audience-patient .audience-card-copy{
    padding:22px 26px !important;
  }
  .audience-professional .audience-label,
  .audience-patient .audience-label{
    margin-bottom:15px !important;
  }
  .audience-patient h3{
    font-size:1.38rem !important;
    line-height:1.04 !important;
    letter-spacing:-.018em !important;
  }
  .audience-patient h3 strong{
    white-space:nowrap !important;
  }
  .audience-professional p,
  .audience-patient p{
    line-height:1.45 !important;
  }
}

/* HOME v19 — CTA delle card in basso a destra */
@media (min-width:621px){
  .audience-professional .audience-card-copy,
  .audience-patient .audience-card-copy{
    width:100% !important;
    box-sizing:border-box !important;
  }
  .audience-professional .audience-label,
  .audience-professional h3,
  .audience-professional p,
  .audience-patient .audience-label,
  .audience-patient h3,
  .audience-patient p{
    max-width:47% !important;
  }
  .audience-professional .audience-cta,
  .audience-patient .audience-cta{
    position:absolute !important;
    right:26px !important;
    bottom:22px !important;
    margin-top:0 !important;
    z-index:5 !important;
  }
}

/* HOME v21 — titolo Professionisti su due righe equilibrate */
@media (min-width:621px){
  .audience-professional h3{
    max-width:68% !important;
  }
  .audience-professional h3 strong{
    white-space:nowrap !important;
  }
}
