/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ── 1080px: nascondi nav desktop, mostra burger ── */
@media(max-width:1080px){
  .nav,.header-cta{display:none}
  .burger{display:flex}
  .proc-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── 860px: layout a colonna singola per sezioni principali ── */
@media(max-width:860px){
  .stats .row{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:none}
  .stat:nth-child(odd){border-left:none}
  .about-grid{grid-template-columns:1fr;gap:48px}
  .about-figure{max-width:460px}
  .contact-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr}

  /* Hero HUD: compresso su tablet */
  .hero-hud{gap:clamp(12px,3vw,24px)}
  .hero-hud .h b{font-size:clamp(22px,5vw,36px)}
  .hero-hud .h span{font-size:11px}

  /* Phase rail: testo accorciato */
  .phase .pt span{display:none}

  /* Badge about: riposiziona su mobile */
  .about-figure .badge{left:0;bottom:24px;max-width:200px}
  .about-figure .deco{right:0;top:0}
}

/* ── 640px: mobile portrait ── */
@media(max-width:640px){
  /* Hero: riduce gap e font lead */
  .hero-inner{padding-bottom:24px}
  .hero-row{flex-direction:column;align-items:flex-start;gap:18px;margin-top:18px}
  .hero-row .lead{max-width:100%;font-size:15px;line-height:1.55}
  .hero-actions{gap:10px;align-self:flex-start;order:0}
  .hero-actions .btn{padding:12px 20px;font-size:14px}

  /* Hero HUD: 2 colonne */
  .hero-hud{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;padding:0}
  .hero-hud .h{padding:16px;background:var(--surface)}
  .hero-hud .h:nth-child(3){grid-column:1/-1}
  .hero-hud .h b{font-size:clamp(20px,8vw,32px)}

  /* Phase rail: nascondi su mobile piccolo */
  .phase-rail{display:none}

  /* Diorama: overflow gestito */
  .diorama-wrap{overflow-x:hidden}
  .diorama-steps{flex-wrap:wrap;gap:8px}
  .diorama-steps b{font-size:12px}

  /* About: pillar a colonna */
  .pillars{grid-template-columns:1fr}

  /* Stats: colonna singola */
  .stats .row{grid-template-columns:1fr}
  .stat{border-left:none !important;border-top:1px solid var(--line)}
  .stat:first-child{border-top:none}
}

/* ── 560px: small phones ── */
@media(max-width:560px){
  body{font-size:16px}
  .proc-grid,.pillars{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}

  /* Hero h1 (se presente) */
  .hero h1{font-size:clamp(44px,15vw,80px)}

  /* About badge: nasconde su schermi piccoli */
  .about-figure .badge{display:none}

  /* Footer bottom: colonna singola */
  .foot-bottom{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:40px}

  /* Footer top: più compatto */
  .foot-top{gap:28px;padding-bottom:36px}
  .foot-col h5{margin-bottom:12px}
}

/* ── Servizi pages — aggiuntive ── */
@media(max-width:640px){
  /* Hero servizio: titolo più compatto */
  .srv-hero-title{font-size:clamp(38px,12vw,64px) !important}
  .srv-hero-lead{font-size:15px}
  .srv-hero-tags{gap:6px}
  .srv-tag{font-size:11px;padding:5px 10px}

  /* Back link e breadcrumb */
  .srv-breadcrumb{font-size:12px}

  /* Accordion btn: padding ridotto su schermi piccoli */
  .srv-act-btn{padding:18px 20px;gap:12px}
  .srv-act-body p{padding:14px 20px 20px}
}

/* ── Floating CTA — telefono fisso su mobile ── */
.float-cta{display:none}

@media(max-width:1080px){
  .float-cta{
    display:flex;align-items:center;justify-content:center;
    position:fixed;bottom:24px;right:20px;z-index:69;
    width:54px;height:54px;
    background:var(--orange);color:#fff;border-radius:50%;
    box-shadow:0 4px 20px rgba(255,106,26,.50);
    transition:transform .25s var(--ease),box-shadow .25s var(--ease);
    text-decoration:none;
  }
  .float-cta:hover{
    transform:scale(1.08);
    box-shadow:0 6px 28px rgba(255,106,26,.70);
  }
  .float-cta svg{width:22px;height:22px;flex-shrink:0}
}
