/* ============================================================
   RESPONSIIVISUUS
   ============================================================ */
@media (max-width: 1100px) {
  .hero-page-grid { grid-template-columns: 1fr; gap: 32px; }
  .hero-page-grid:has(.tt-hero-visual) > .hero-page-inner { padding-bottom: 0; }
  .hero-image:has(.tt-hero-visual) { justify-content: center; }
  .tt-hero-visual { max-width: 560px; margin: 0 auto; }
  .threat-head { grid-template-columns: 1fr; gap: 32px; align-items: start; }
  .split-section { grid-template-columns: 1fr; gap: 48px; }
  .split-section.flip { direction: ltr; }
  .emergency-inner { grid-template-columns: 1fr; gap: 48px; }
  .huoleton-grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 760px) {
  .tp-row { grid-template-columns: 1fr; }
  .tp-cols { display: none; }
  .tp-arrow { height: 34px; }
  .tp-arrow svg { transform: rotate(90deg); }
  .tp-list { gap: 28px; }
  .duty-split { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .container { padding: 0 20px; }
  .hero-page { padding: 120px 0 60px; }
  .hero-page:has(.tt-hero-visual) { padding-bottom: 48px; }
  .tt-hero-visual { display: flex; flex-direction: column; }
  .block { padding: 70px 0; }
  .threat-band,
  .emergency-band,
  .huoleton-band,
  .cta-band { padding: 80px 0; }
  .section-head { margin-bottom: 40px; }
  .hero-cta-row { flex-direction: column; align-items: stretch; }
  .btn-primary,
  .btn-secondary,
  .btn-emergency { justify-content: center; }
  .tt-hero-visual { max-width: 100%; margin: 0; }
  .night-log {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    margin: 16px 0 0;
    animation: none;
    z-index: 2;
  }
  .threat-facts { grid-template-columns: 1fr 1fr; gap: 14px; }
  .tp-threat,
  .tp-shield { padding: 18px 20px; }
  .tier-card { flex-wrap: wrap; }
  .tier-price { text-align: left; }
  .faq-item summary { font-size: 16px; }
}
