 @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
 :root{
      --primary:#0f2a44;
      --accent:#ff6b00;
      --bg:#f7f9fb;
      --text:#1b1f24;
      --muted:#5f6b7a;
      --border:#e5e7eb;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family: "Poppins", sans-serif;;color:var(--text);line-height:1.6;background:#fff}
    a{color:var(--accent);text-decoration:none}
    header{background:linear-gradient(135deg,var(--primary),#163d63);color:#fff}
    .hero .moreInfo{margin:10px 0 0;color:var(--muted);font-size:.85rem}

   .soloMobile{display: none;}
    #superHeader{background:#fff; padding: 6px;}
    #superHeader #logo {
        background: url(https://labforweb-vod.b-cdn.net/immagini/loghi/logo-labforweb-firma-email.png) 0 0 no-repeat;
        width: 200px;
        height: 60px;
        background-size: contain;
        display: block;
        margin: 0 auto;
        position: static;
    }

    .container{max-width:1100px;margin:0 auto;padding:32px 20px}
    .hero{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}
    .hero h1{font-size:2.2rem;line-height:1.2;margin:0 0 12px}
    .hero p{font-size:.9rem;opacity:.95;margin:0 0 10px}
    .hero .btn.primary{font-size: .95rem;}
    .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
    .elenco{flex-direction: column;margin-top:16px}
    .btn{padding:12px 18px;border-radius:10px;font-weight:600;border:1px solid transparent;cursor:pointer}
    .elenco .btn{max-width: 230px;}
    .btn.primary{background:var(--accent);color:#fff}
    .btn.ghost{background:transparent;border-color:#fff;color:#fff}
    .btn.outline{background:#fff;border-color:var(--border);color:var(--text)}
    .trust{margin-top:14px;font-size:.9rem;opacity:.9}

    .richiediVerificaBox{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}


    .muted{ color: var(--muted); }
    .max78ch{max-width:78ch}
    .modal__body .muted{font-size: .85em;}
    .modal__body p:nth-of-type(1){font-size: .85em; margin-top: 0;}

.choice{
  background:#cfe0f2;
  border:1px solid #b6cde6;
  border-radius:10px;
  padding:20px;
  position:relative;
  margin-top: 30px ;
}

.choice::before{
  content:\"\\1F4CC  Scelta rapida\"; /* puntina */
  display:block;
  background:#0f2a44;
  color:#fff;
  font-weight:600;
  padding:8px 14px;
  border-radius:12px 12px 0 0;
  position:absolute;
  top:-18px;
  left:20px;
  font-size:.85rem;
}
    .choice__head h3{ font-size:1.2rem;margin:10px 0 6px }
    .choice__head p{margin:0;color:var(--muted)}
    .choice__head+.grid-2{margin-top:14px}
    .choice__head+.grid-2 ul{margin:10px 0 0;padding-left:18px}
    .cta.marginTop14{margin-top:14px}

    section{padding:20px 0}
    section.alt{background:var(--bg)}
    section.alt>.container>div{align-items:stretch}

    h2{font-size:1.8rem;margin:0 0 12px}
    h3{margin:0 0 8px}
    h3#requisitiTitle{margin:0}
    .grid{display:grid;gap:24px}
    .grid-3{grid-template-columns:repeat(3,1fr)}
    .grid-2{grid-template-columns:repeat(2,1fr)}
    .card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px}
    .pill{display:inline-block;background:#eef2f7;color:#334155;padding:6px 10px;border-radius:999px;font-size:.85rem}

    header .card{color:#163d63}
    header h3{margin-top:12px}

   /* HERO layout */
.target-hero { gap: 28px; }

.target-badge{
  display:inline-flex;
  align-items:center;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .85rem;
  background: #eef3f8;
  color: #0f2a44;
  border: 1px solid #d6e0ea;
}

.target-title{
  margin: 12px 0 10px;
  font-size: 1.9rem;
  line-height: 1.15;
}

.target-lead{
  max-width: 70ch;
  margin-bottom: 14px;
}

/* LEFT list as “stacked cards” */
.target-list{
  display: grid;
  gap: 8px;
  margin: 8px 0 30px;
}

.target-item{
  background: #ffffff;
  border-radius: 16px;
  padding: 6px 16px;
  position: relative;
}

.target-item h3{
  margin: 0 0 6px;
  font-size: 1.05rem;
}

.target-item p{
  margin: 0;
}

/* little accent line */
.target-item::before{
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 999px;
  background: #0f2a44;
  opacity: .9;
}

/* RIGHT media */
.target-media__frame{
  padding: 10px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, rgba(15,42,68,.08), rgba(255,107,0,.10));
}

.target-media__img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(15,42,68,.10);
}

/* chips overlay */
.target-chips{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 12px;
}

.target-chip{
  border-radius: 14px;
  padding: 12px 12px;
  border: 1px solid rgba(15,42,68,.10);
}

.target-chip__k{
  font-weight: 800;
  color: #0f2a44;
  font-size: .92rem;
}

.target-chip__v{
  color: var(--muted);
  font-size: .92rem;
  margin-top: 4px;
}


 

    .steps{counter-reset:step}
    .step{position:relative;padding-left:44px}
    .step::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}

    /* FAQ with transition */
    .faq{border:1px solid var(--border);border-radius:10px;overflow:hidden;}
    .faq-q{width:100%;text-align:left;padding:16px 18px;border:0;background:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:600;cursor:pointer; font-size: 1em;}
    .faq-a{border-top:1px solid var(--border);max-height:0;opacity:0;overflow:hidden;transition:max-height 280ms ease, opacity 220ms ease}
    .faq-a.open{opacity:1;background:#fff}
    .faq-inner{padding:0 18px 16px}
    .chev{font-size:18px}

    /* Form */
    form{display:grid;gap:14px}
    label{font-size:.9rem;font-weight:600}
    input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);font-size:1rem}
    textarea{min-height:90px}
    .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .privacy{font-size:.85rem;color:var(--muted);margin:10px 0 0}
    p.privacy{margin:10px 0 0}

    input[type="checkbox"]{width:auto;}

    /* Modal */
    .modal{position:fixed;inset:0;display:none;z-index:9999}
    .modal[aria-hidden="false"]{display:block}
    .modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
    .modal__panel{position:relative;max-width:860px; max-height: 90vh; margin:6vh auto;background:#fff;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:auto}

    .modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}
    .modal__close{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:22px;line-height:1;cursor:pointer}
    .modal__body{padding:16px 18px}
    .modal__body ul{margin:10px 0 0;padding-left:18px}
    .step{border-bottom: 2px dashed #cfe0f2; padding-bottom: 12px;}
    .step h3,.step p{margin:0}
    #cosa-facciamo,#faq{background: #eee}
    #cosa-facciamo .card{position: relative;}
    #cosa-facciamo .card i.icon{font-style: normal; font-size: 1.8em; position: absolute; top:10px; right:10px}


.cal-acc{
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.cal-item{
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.cal-q{
  width: 100%;
  border: 0;
  background: #fff;
  cursor: pointer;
  padding: 16px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: left;
}

.cal-q[aria-expanded="true"]{
  background: #dbe7f3;
}

.cal-q__title{
  font-weight: 800;
  color: var(--text);
}

.cal-q__meta{
  margin-top: 8px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.cal-pill{
  display: inline-block;
  background: #eef3f8;
  border: 1px solid #d6e0ea;
  color: #0f2a44;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .88rem;
}

.cal-pill--soft{
  background: #fff;
  border-color: var(--border);
  color: var(--muted);
}

.cal-q__right{
  display: flex;
  align-items: center;
  gap: 10px;
}

.cal-chevron{
  font-size: 18px;
  line-height: 1;
  color: var(--muted);
  width: 20px;
  text-align: center;
}

.cal-a{
  border-top: 1px solid var(--border);
  padding: 0;
  background-color: #eef3f8;
}

.cal-a .muted{margin-bottom: 0; font-size: .85em; padding: 0 6px;}
#scelta .muted{margin-bottom: 0;}
#scelta .grid{margin-top: 20px;}


.cal-inner{
  padding: 14px 16px 16px;
}

.cal-inner .card{border:0; padding:0; background-color: transparent; border-radius: 0;}

.cal-tablewrap{
  overflow: auto;
}

.cal-table{
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.cal-table th, .cal-table td{
  padding: 7px 10px;
  border-bottom: 1px solid #a8cbec;
  vertical-align: top;
  font-size: .9rem;
}

.cal-table td:last-child{font-size: .8em;}

.cal-table th{
  text-align: left;
  color: #eee;
  font-weight: 800;
  background: #0b2034;
  position: sticky;
  top: 0;
}



@media (max-width: 900px){
  .cal-q__right .cal-enroll{ display:none; } /* su mobile puoi spostare CTA dentro al pannello se vuoi */
}


    #faq p{color:var(--muted);}

    #contatto{background: #dbe7f3}
    
    #cosa-facciamo .card{color:#0f2a44;border: 1px solid #cfe0f2;}
    #cosa-facciamo .bigco-box{ margin-top:22px;background: #cfe0f2;color:#0f2a44;}

    .elenco-contatti{font-size:1.2em; line-height: 1.8em;}
    .elenco-contatti a{font-weight: bold;}
    .boxInfo{margin-top: 40px;}
    .boxInfo img{max-width:250px}
    .boxInfo p{margin:0; color:#5f6b7a}
    .boxRegione{margin-top: 50px;}
    .boxRegione p{margin-top: 8px;}
    .boxCtaInForm{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

      /* Blocco sede: video responsive e pulito */
    .sede-video{
      padding: 0;
      overflow: hidden;      
    }

    .sede-video__el{
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      object-fit: cover;      
    }

    .boxMappa iframe{
      border:0;
      width: 100%;
      height: 180px;
    }


    footer{background:#0b2034;color:#cbd5e1}
    footer a{color:#fff}

    footer ul{list-style:none;padding:0; margin:0;}
    footer ul li{padding:3px 0 0;}
    footer a{text-decoration: underline;}




    


#iscrizioneModal h3{margin:0}
#iscrizioneModal .card{margin:0; padding: 0 0 25px; border-radius:0; border: 0;}
#iscrizioneModal .card div{display:flex;flex-wrap:wrap; gap: 8px;}



    @media (max-width:900px){
      .hero{grid-template-columns:1fr}
      .grid-3,.grid-2,.form-grid{grid-template-columns:1fr}
      .hero h1{font-size:1.9rem}
      .modal__panel{margin:2vh 14px; font-size: .95em;}
      .target-title{ font-size: 1.55rem; }
      .noMobile{display: none;}
      .soloMobile{display: block;}
      .soloMobile .boxRegione{margin-top: 0;}
    }

