/* Handwerk-page-only extra styles (page-specific, not in shared style.css) */
@media (max-width:800px){ .pain-grid{ grid-template-columns:1fr; } }
@media (max-width:900px){ .process-list{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .process-list{ grid-template-columns:1fr; } }
@media (max-width:860px){ .process-grid{ grid-template-columns:1fr; } }



  .hero-stat{
    display:inline-flex; align-items:baseline; gap:10px;
    background:var(--paper-2); border:1px solid var(--line);
    border-radius:10px; padding:14px 20px; margin-top:8px;
  }

  .hero-stat .n{ font-size:28px; font-weight:800; color:var(--blue); }

  .hero-stat .l{ font-size:13px; color:var(--text-2); }


  /* ---------- Pains ---------- */
  .pains{ background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

  .pains .sub{ max-width:560px; margin-bottom:48px; font-size:16px; color:var(--text-2); }

  .pain-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
 .pain-grid{ grid-template-columns:1fr; }

  .pain-card{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:30px 26px; }

  .pain-card .tag{ font-size:12.5px; color:var(--blue); font-weight:700; margin-bottom:14px; display:block; }

  .pain-card h3{ font-size:18px; font-weight:700; margin-bottom:10px; letter-spacing:-0.01em; }

  .pain-card p{ font-size:14.5px; color:var(--text-2); }

  .service-row ul{ list-style:none; font-size:14px; color:var(--navy); }

  .service-row li{ margin-bottom:10px; display:flex; gap:10px; align-items:baseline; }

  .service-row li::before{ content:"•"; color:var(--blue); font-weight:700; }


  /* ---------- Process ---------- */
  .process{ background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

  .process-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; }
 .process-list{ grid-template-columns:1fr 1fr; }
 .process-list{ grid-template-columns:1fr; }

  .step{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:26px 22px; }

  .step .num{ font-size:13px; font-weight:700; color:var(--blue); margin-bottom:14px; }

  .step h3{ font-size:16.5px; margin-bottom:8px; font-weight:700; letter-spacing:-0.01em; }

  .step p{ font-size:13.5px; color:var(--text-2); }

  .pain-grid .reveal:nth-child(2){ transition-delay:0.08s; }

  .pain-grid .reveal:nth-child(3){ transition-delay:0.16s; }

  .process-list .reveal:nth-child(2){ transition-delay:0.06s; }

  .process-list .reveal:nth-child(3){ transition-delay:0.12s; }

  .process-list .reveal:nth-child(4){ transition-delay:0.18s; }

  .process-grid{ display:grid; grid-template-columns:1fr 280px; gap:48px; align-items:start; }
 .process-grid{ grid-template-columns:1fr; }

  .process-photo{ border-radius:14px; overflow:hidden; box-shadow:0 12px 32px rgba(0,28,69,0.14); }

  .process-photo img{ width:100%; height:auto; display:block; }


  /* ---------- Pain card icons ---------- */
  .pain-icon{
    width:38px; height:38px; border-radius:9px; background:var(--paper-2);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }

  .pain-icon svg{ width:20px; height:20px; }


  /* ---------- Card hover lift ---------- */
  .pain-card, .ref-card, .step{ transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }

  .pain-card:hover, .ref-card:hover, .step:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(0,28,69,0.08);
    border-color:#C7D6EA;
  }


  /* ---------- Reference avatar ---------- */
  .ref-avatar{
    width:42px; height:42px; border-radius:50%;
    background:var(--navy); color:#fff; font-family:'Source Serif 4', serif; font-weight:700; font-size:17px;
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }