/* ==========================================================================
   I Max Media — Playful theme · Responsive
   ========================================================================== */

@media (max-width: 1199px) {
  .pol-1 { width: 260px; height: 300px; } .pol-1 .ph { height: 240px; }
  .pol-2 { width: 230px; height: 270px; } .pol-2 .ph { height: 210px; }
  .pol-3 { width: 240px; height: 230px; } .pol-3 .ph { height: 172px; }
}

@media (max-width: 991px) {
  section { padding: 88px 0; }
  .p-header .navbar-collapse { background: #fff; border: var(--border); border-radius: var(--r-lg); padding: 14px; margin-top: 12px; box-shadow: var(--hard); }
  .p-header .nav-link { padding: 12px 16px !important; }
  .p-header .nav-cta { margin-top: 10px; }
  .p-header .nav-cta .btn-p { width: 100%; }

  .p-hero { padding: 56px 0 110px; }
  .collage { height: 520px; margin-top: 56px; max-width: 560px; margin-left: auto; margin-right: auto; }
  .zig::before { left: 38px; }
  .zig-step { grid-template-columns: 76px 1fr; gap: 18px; }
  .zig-step:nth-child(odd) .z-num, .zig-step:nth-child(even) .z-num { grid-column: 1; }
  .zig-step:nth-child(odd) .z-card, .zig-step:nth-child(even) .z-card { grid-column: 2; }
  .story-card .sc-img { border-right: 0; border-bottom: var(--border); min-height: 280px; }
  .svc-detail { padding: 36px; }
  .hero-side-card { margin-top: 40px; transform: none; }
  .photo-stack { margin-top: 40px; }
  .legal-p .l-toc { position: static; margin-bottom: 28px; }
}

@media (max-width: 767px) {
  section { padding: 72px 0; }
  .container { padding-left: 16px; padding-right: 16px; }
  .p-lead { font-size: 1.05rem; }
  .collage { height: 460px; }
  .pol-1 { width: 210px; height: 250px; left: 0; } .pol-1 .ph { height: 190px; }
  .pol-2 { width: 190px; height: 230px; } .pol-2 .ph { height: 170px; }
  .pol-3 { width: 200px; height: 200px; right: 6%; } .pol-3 .ph { height: 142px; }
  .st-round { width: 96px; height: 96px; font-size: .8rem; }
  .st-pill { top: 250px; font-size: .82rem; }
  .st-star { width: 70px; height: 70px; font-size: 1.3rem; }
  .tick-grid { grid-template-columns: 1fr; }
  .svc-detail { padding: 26px 20px; }
  .svc-detail .sd-head { flex-direction: column; align-items: flex-start; }
  .cta-block { padding: 56px 22px; }
  .form-p { padding: 26px 18px; }
  .story-card .sc-body { padding: 28px 20px; }
  .legal-p .l-card { padding: 28px 20px; }
  .p-footer .f-col { margin-bottom: 32px; }
  .p-footer .f-bottom { flex-direction: column; text-align: center; }
}

@media (max-width: 576px) {
  .btn-p { width: 100%; }
  .p-hero .actions, .cta-block .actions { flex-direction: column; }
  .collage { height: 420px; }
  .pol-1 { width: 180px; height: 220px; } .pol-1 .ph { height: 160px; }
  .pol-2 { width: 165px; height: 205px; } .pol-2 .ph { height: 145px; }
  .pol-3 { width: 175px; height: 180px; right: 2%; } .pol-3 .ph { height: 124px; }
  .p-filters { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0 -16px 40px; padding: 4px 16px 10px; scrollbar-width: none; }
  .p-filters::-webkit-scrollbar { display: none; }
  .p-footer .f-bottom nav { flex-direction: column; gap: 8px; }
}
