/* Auto-generated by scripts/css_mechanical_split.py
   Source: portal-home_part_01.css
   Part 2/2 - load order critical.
   Do not reorder or merge without re-running the splitter. */

  @media (max-width: 900px){
    .home-story-card,
    .home-story-card.is-reverse{
      grid-template-columns:1fr;
    }

    .home-story-card.is-reverse .home-story-media,
    .home-story-card.is-reverse .home-story-body{
      order:initial;
    }

    .home-story-media{
      min-height:210px;
    }

    .home-story-body{
      padding:22px 20px;
    }
  }

  .home-story-wrap{
    position:relative;
    z-index:1;
    padding-top:8px;
    overflow:hidden;
  }

  @media (max-width: 1180px){
    .home-search-form{
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .home-services{
      grid-template-columns:repeat(3, minmax(0, 1fr));
    }
  }

  @media (max-width: 760px){
    .home-shell{
      width:min(calc(100% - 24px), 1260px);
    }

    .home-hero{
      min-height:auto;
      border-radius:26px;
    }

    .home-hero-inner{
      padding:24px 14px 20px;
    }

    .home-panel-links{
      gap:10px 16px;
    }

    .home-panel-links a{
      font-size:14px;
    }

    .home-search-panel{
      padding:14px;
      border-radius:22px;
    }

    .home-search-form,
    .home-services{
      grid-template-columns:1fr;
    }
  }

  .home-story-actions .home-btn{
    text-decoration:none;
  }

  /* STEP 01: servizi coerenti desktop/mobile, senza forzature globali */
  .home-services{
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:16px;
    overflow:visible;
    padding-bottom:0;
  }

  .home-service{
    min-width:0;
  }


  .home-story-card{
    position:relative;
  }
  .home-story-card .home-story-card-link{
    display:none;
  }
  .home-story-card .home-story-body,
  .home-story-card .home-story-media{
    position:relative;
    z-index:2;
  }
  .home-story-card .home-story-actions,
  .home-story-card .home-story-actions a{
    position:relative;
    z-index:3;
    pointer-events:auto;
  }


  @media (hover: none) and (pointer: coarse){
    .home-service:hover,
    .home-story-card:hover,
    .home-btn:hover{
      transform:none !important;
      box-shadow:inherit !important;
      opacity:1 !important;
    }
  }


  @media (hover:none) and (pointer:coarse){
    .home-service,
    .home-service:hover,
    .home-btn,
    .home-btn:hover,
    .home-hero-nav a,
    .home-hero-nav a:hover{
      transform:none !important;
      transition:none !important;
      animation:none !important;
      touch-action:manipulation;
      -webkit-tap-highlight-color:rgba(var(--brand-rgb), .18);
    }
  }


  @media (hover:none) and (pointer:coarse){
    .home-service,
    .home-panel-links a,
    .home-story-actions a{
      transition:none !important;
      transform:none !important;
      touch-action:manipulation !important;
      -webkit-tap-highlight-color:rgba(var(--brand-rgb), .18);
    }

    .home-service:hover,
    .home-panel-links a:hover,
    .home-story-actions a:hover{
      transition:none !important;
      transform:none !important;
      box-shadow:var(--shadow-soft) !important;
    }
  }

  /* STEP 01 — Home premium/SEO/accessibilità */
  .home-hero-copy{
    max-width:880px;
    margin:0 auto 24px;
    color:var(--ink-strong);
  }

  .home-eyebrow{
    margin:0 0 8px;
    color:var(--brand-strong);
    font-family:var(--font-display);
    font-size:13px;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:uppercase;
  }

  .home-hero-copy h1{
    margin:0 auto;
    max-width:1080px;
    color:var(--ink-strong);
    font-family:var(--font-display);
    font-size:clamp(34px, 4.35vw, 56px);
    line-height:1.04;
    letter-spacing:-.045em;
    font-weight:520;
  }

  .home-title-break{
    display:block;
  }

  .home-hero-kicker{
    max-width:920px;
    margin:18px auto 0;
    color:var(--brand-strong);
    font-family:var(--font-display);
    font-size:clamp(11px, 1.05vw, 14px);
    line-height:1.65;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:800;
  }

  .home-search-panel{
    background:rgba(255,255,255,.68);
    border-color:rgba(var(--brand-rgb), .18);
    box-shadow:0 24px 70px rgba(var(--brand-rgb), .12);
  }

  .home-panel-links a{
    position:relative;
    padding-bottom:5px;
  }

  .home-panel-links a::after{
    content:"";
    position:absolute;
    left:50%;
    right:50%;
    bottom:0;
    height:2px;
    border-radius:999px;
    background:var(--brand);
    transition:.18s ease;
  }

  .home-panel-links a:hover::after{
    left:0;
    right:0;
  }

  .home-field input,
  .home-field select{
    background:rgba(255,255,255,.92);
  }

  .home-field input:focus,
  .home-field select:focus{
    border-color:rgba(var(--brand-rgb), .42);
    box-shadow:0 0 0 4px rgba(var(--brand-rgb), .10);
  }

  .home-submit,
  .home-btn-primary{
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }

  .home-submit:hover,
  .home-btn-primary:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 34px rgba(var(--brand-rgb), .24);
  }

  .home-service{
    position:relative;
    overflow:hidden;
  }

  .home-service::before{
    content:"";
    position:absolute;
    inset:-30% -20% auto auto;
    width:90px;
    height:90px;
    border-radius:999px;
    background:rgba(var(--brand-rgb), .08);
    transition:.18s ease;
  }

  .home-service:hover::before{
    transform:scale(1.25);
  }

  .home-service-icon,
  .home-service-title{
    position:relative;
    z-index:1;
  }

  .home-story-card{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  .home-story-card:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--brand-rgb), .20);
    box-shadow:0 22px 55px rgba(var(--brand-rgb), .13);
  }

  .home-story-actions{
    margin-top:18px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
  }

  .home-story-actions .home-btn{
    min-height:44px;
  }

  @media (max-width:1180px){
    .home-services{
      grid-template-columns:repeat(4, minmax(0, 1fr));
    }
  }

