/* ================================================================
   Qualitti Sviluppo · Workshop landing — RESPONSIVE LAYER
   Mobile-first refinements + touch optimizations
   Breakpoints: 1024 / 860 / 640 / 540 / 420
   ================================================================ */

@media (max-width:1024px){
  :root{ --pad: clamp(18px, 4vw, 36px); }
  section{padding:80px 0}
  .stats-strip{margin-top:72px}
  .speaker{padding:36px;gap:36px}
  .speaker-photo-wrap{width:240px;height:240px}
  .speaker-photo{width:220px;height:220px}
}

@media (max-width:860px){
  /* HEADER */
  .nav-inner{height:60px;gap:10px}
  .brand-logo{height:28px}
  .nav-burger{display:block}
  .nav-cta{padding:9px 14px;font-size:13px;min-height:40px}
  .lang-btn span#lang-current{display:none}
  .lang-btn{padding:8px 11px}

  /* MOBILE MENU DRAWER */
  .nav-links{
    position:fixed;top:60px;left:0;right:0;
    background:rgba(10,9,7,.96);
    backdrop-filter:blur(18px) saturate(160%);
    -webkit-backdrop-filter:blur(18px) saturate(160%);
    border-bottom:1px solid var(--line);
    flex-direction:column;gap:0;
    padding:14px 20px 22px;
    transform:translateY(-110%);opacity:0;
    transition:transform .3s ease, opacity .25s ease;
    pointer-events:none;z-index:49;
  }
  .nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav-links a{
    padding:14px 4px;font-size:16px;color:var(--text);
    border-bottom:1px solid var(--line);
    min-height:48px;display:flex;align-items:center;
  }
  .nav-links a:last-child{border-bottom:none}
  .nav-links a::after{display:none}

  /* HERO */
  .hero{padding:40px 0 56px}
  .hero-pill{font-size:12px;padding:7px 14px}
  .hero-title{font-size:clamp(40px,11vw,80px);line-height:.96}
  .hero-sub{font-size:17px;margin-top:24px;line-height:1.5}
  .hero-meta{gap:6px;margin-top:28px}
  .meta-chip{font-size:12px;padding:7px 12px}
  .hero-cta{margin-top:32px;flex-direction:column;align-items:stretch;gap:10px}
  .btn{justify-content:center;padding:15px 22px;font-size:15px;min-height:50px}

  .stats-strip{
    grid-template-columns:repeat(2,1fr);gap:32px 20px;
    margin-top:52px;padding:32px 0;
  }
  .stat-num{font-size:clamp(32px,9vw,48px)}
  .stat-label{font-size:12.5px}

  /* SECTIONS */
  section{padding:64px 0}
  .section-head{margin-bottom:40px}
  .section-title{font-size:clamp(30px,7vw,42px);line-height:1.05}
  .section-lead{font-size:16px;margin-top:16px}

  /* PAIN */
  .pain-grid{grid-template-columns:1fr;gap:14px}
  .pain-cell{padding:28px 24px}
  .pain-stat{font-size:42px;margin-top:14px}

  /* CHAPTERS */
  .chapters{gap:14px}
  .chapter{grid-column:span 12;padding:26px 22px}
  .chapter-title{font-size:21px}
  .chapter-tags{margin-top:14px}

  /* DEMO */
  .demo-frame{padding:24px 18px}
  .flow{grid-template-columns:1fr;gap:12px}
  .flow-step::after{display:none}
  .flow-step{padding:20px}
  .demo-output{margin-top:28px}
  .demo-code{font-size:11.5px;padding:18px;line-height:1.65}
  .demo-bar{padding:10px 14px;font-size:11px}
  .demo-bar-title{
    font-size:11px;max-width:55%;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }

  /* SPEAKER */
  .speaker{grid-template-columns:1fr;padding:28px 24px;gap:24px;text-align:center}
  .speaker-photo-wrap{width:200px;height:200px;margin:0 auto}
  .speaker-photo{width:200px;height:200px}
  .speaker-name{font-size:clamp(26px,7vw,36px);margin-top:12px}
  .speaker-title{font-size:15.5px;margin-bottom:20px}
  .speaker-bio{font-size:15px;line-height:1.65;margin-bottom:18px}
  .speaker-creds{justify-content:center;gap:6px}
  .cred{font-size:11px;padding:5px 10px}

  /* WHY */
  .why-grid{grid-template-columns:1fr;gap:14px}
  .why-card{padding:26px 22px}

  /* COMPARE */
  .compare{grid-template-columns:1fr}
  .compare-side{padding:28px 24px}
  .compare-title{font-size:19px;margin-bottom:18px}
  .compare-list li{padding:12px 0;font-size:14px}

  /* FINAL CTA */
  .final-cta{padding:44px 24px}
  .final-title{font-size:clamp(28px,7.5vw,42px)}
  .final-sub{font-size:15.5px;margin-bottom:28px}
  .final-cta .hero-cta{flex-direction:column;align-items:stretch}
  .final-info{gap:14px 18px;margin-top:28px;padding-top:28px;font-size:12px}

  /* FOOTER */
  footer{padding:36px 0 28px;font-size:12px}
  .foot{flex-direction:column;align-items:center;text-align:center;gap:14px}
  .foot-links{justify-content:center;gap:14px;font-size:12.5px}
}

@media (max-width:640px){
  .hero-title{font-size:clamp(40px,12vw,68px)}
  .meta-chip svg{width:13px;height:13px}
  .meta-chip{padding:6px 10px;font-size:11.5px}
  .hero-pill{font-size:11.5px;padding:6px 12px;letter-spacing:.04em}
  .stats-strip{padding:28px 0;gap:28px 16px}
  .stat-label br{display:none}
  .neural-canvas{opacity:.5}
}

@media (max-width:540px){
  .neural-canvas{display:none}
}

@media (max-width:420px){
  :root{ --pad: 16px; --r-lg: 16px; --r-md: 12px }
  .nav-inner{height:56px;gap:8px}
  .brand-logo{height:24px}
  .nav-right{gap:8px}
  .nav-cta{padding:8px 12px;font-size:12px;min-height:38px}
  .nav-cta svg{width:12px;height:12px}
  .lang-btn{padding:7px 9px;font-size:12px}
  .lang-flag{width:16px;height:11px}
  .nav-burger{width:36px;height:36px}
  .nav-burger span{left:9px;right:9px}
  .nav-burger span:nth-child(1){top:11px}
  .nav-burger span:nth-child(2){top:17px}
  .nav-burger span:nth-child(3){top:23px}
  .nav-burger.open span:nth-child(1),
  .nav-burger.open span:nth-child(3){top:17px}
  .nav-links{top:56px}
  .hero{padding:28px 0 44px}
  .hero-title{font-size:42px;letter-spacing:-.035em}
  .hero-sub{font-size:15.5px}
  .hero-meta{margin-top:22px}
  .stats-strip{grid-template-columns:1fr 1fr;gap:24px 14px}
  .stat-num{font-size:32px}
  .pain-stat{font-size:34px}
  .chapter-title{font-size:19px}
  .speaker-photo-wrap,.speaker-photo{width:180px;height:180px}
  .demo-frame{padding:20px 16px}
  .flow-step{padding:18px}
  .demo-code{font-size:11px;padding:14px}
  .compare-title{font-size:17px}
  .compare-list li{font-size:13.5px}
  .final-cta{padding:36px 18px;border-radius:18px}
  .final-info{
    gap:12px 16px;flex-direction:column;
    align-items:flex-start;text-align:left;
    width:fit-content;margin-left:auto;margin-right:auto;
  }
  .final-info > span{justify-content:flex-start;width:100%}
}

/* === Touch device tweaks (no hover) === */
@media (hover:none) and (pointer:coarse){
  .pulse-card:hover::before,
  .pulse-card:hover::after{animation:none;opacity:0}
  .pulse-card:active{
    border-color:rgba(242,84,27,.5) !important;
    transform:scale(.995);
    transition:transform .15s ease, border-color .15s ease;
  }
  .btn:active{transform:scale(.97)}
  .nav-cta:active{transform:scale(.97)}
  .nav-links a::after{display:none}
  .lang-opt{min-height:44px}
  .meta-chip{min-height:36px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  .neural-canvas{display:none}
}
