/* =========================================================
   LANDING / WELCOME LSPD – STILE JOINLAPD
   ========================================================= */

/* HERO --------------------------------------------------- */

.lp-hero{
    background: linear-gradient(to bottom, #0b274f 0%, #072040 80%, #061a33 100%);
    padding: 40px 0 36px;         
  }
  
  .lp-hero__layout{
    display:grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
    gap:24px;
    align-items:stretch;
  }
  
  @media(max-width:960px){
    .lp-hero__layout{
      grid-template-columns: 1fr;
    }
  }
  
  .lp-hero__head{
    gap:8px;
  }
  
  .lp-hero__crest{
    width:200px;
    height:200px;
    object-fit:contain;   
    display:block;
    margin-bottom:12px;
    margin-left: 175px;
    filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));
  }
  
  .lp-hero__kicker{
    font-family:"Roboto Condensed",sans-serif;
    font-size:1.05rem;                 
    font-weight:700;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:#ffd666;
    margin-left: 105px;
    margin-bottom:8px;
  }
  
  .lp-hero__title{
    font-family:"Roboto Condensed",sans-serif;
    font-size:clamp(2.8rem,5vw,4.2rem);  
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-weight:900;
    color:#ffffff !important;          
    text-shadow:0 2px 8px rgba(0,0,0,0.45);
    margin-bottom:8px;
  }
  
  .lp-hero__lead{
    margin:12px 0 18px;
    max-width:34rem;
    color:#eaf2ff;
    font-size:1.05rem;    
    line-height:1.55;
  }

  
  .lp-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:4px;
  }
  
  /* dimensione pulsanti hero (usa le tue .btn esistenti) */
  .btn.btn--xl{
    padding:11px 18px;
    font-size:0.9rem;
    border-radius:12px;
  }
  
  /* SLIDER HERO -------------------------------------------- */
  
  .lp-slider{
    position:relative;
    border-radius:14px;
    overflow:hidden;
    border:3px solid #2b6ed8;
    box-shadow:0 10px 24px rgba(0,0,0,.45);
    min-height:260px;
  }
  
  .lp-slides{
    list-style:none;
    margin:0;
    padding:0;
    height:100%;
  }
  
  .lp-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .4s ease;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-image:var(--bg);
  }
  .lp-slide.is-active{opacity:1;}
  
  .lp-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,.55);
    border:none;
    color:#fff;
    width:34px;
    height:34px;
    border-radius:50%;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
  }
  .lp-prev{left:10px;}
  .lp-next{right:10px;}
  .lp-nav:hover{background:rgba(0,0,0,.75);}
  
  .lp-dots{
    position:absolute;
    left:50%;
    bottom:10px;
    transform:translateX(-50%);
    display:flex;
    gap:6px;
  }
  .lp-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    border:1px solid #ffffff;
    background:transparent;
    cursor:pointer;
    opacity:.6;
  }
  .lp-dot.is-active{
    background:#ffffff;
    opacity:1;
  }
  
  /* SEZIONI PRINCIPALI – CARD TIPO JOINLAPD ---------------- */
  
  .lp-sections{
    background:#004190;
    padding:28px 0 36px;
  }
  
  .lp-sections__grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:18px;
  }
  
  @media(max-width:900px){
    .lp-sections__grid{
      grid-template-columns:1fr;
    }
  }
  
  .lp-card{
    position:relative;
    display:block;
    height:200px;
    border:3px solid #2b6ed8;
    overflow:hidden;
    background:#002960;
    text-decoration:none;
    color:#ffffff;
  }
  
  .lp-card::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:var(--bg-image);
    background-size:cover;
    background-position:center;
    opacity:.78;
    transition:transform .25s ease;
  }
  
  .lp-card::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:58%;
    background:linear-gradient(to top, rgba(0,0,0,.9), transparent);
  }
  
  .lp-card__overlay{
    position:absolute;
    left:16px;
    right:16px;
    bottom:14px;
    z-index:1;
  }
  
  .lp-card__title{
    font-family:"Roboto Condensed",sans-serif;
    font-size:1.25rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:700;
  }
  
  .lp-card__subtitle{
    margin-top:4px;
    font-size:0.76rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
  }
  
  .lp-card:hover::before{
    transform:scale(1.04);
  }
  
  /* STRISCIA STEP TIPO "HIRING PROCESS" -------------------- */
  
  .lp-steps{
    background:#004190;
    border-top:1px solid #295aa6;
    padding:10px 0 32px;
  }
  
  .lp-steps__title{
    font-family:"Roboto Condensed",sans-serif;
    font-size:0.85rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:#e5edf8;
    margin-bottom:10px;
  }
  
  .lp-steps__row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  
  .lp-step{
    flex:1 1 150px;
    display:flex;
    align-items:center;
    background:#0052b3;
    border:1px solid #2b6ed8;
    min-height:44px;
  }
  
  .lp-step__num{
    width:40px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ffffff;
    color:#004190;
    font-weight:700;
    font-size:18px;
  }
  
  .lp-step__label{
    padding:0 10px;
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.12em;
  }
  
  /* ACCESSIBILITÀ PICCOLA */
  .visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    border:0;
  }
  

  