@media (max-width: 1200px) {
  .wrap { padding: 0 24px; }
}

@media (max-width: 992px) {
  .wrap { padding: 0 20px; }
  .sec { padding: 70px 0; }
  .sec-sm { padding: 50px 0; }
  .pw-h1 { font-size: clamp(2rem, 5vw, 2.8rem); }
  .pw-h2 { font-size: clamp(1.5rem, 4vw, 2rem); }
  .pw-sub { margin-bottom: 36px; }
}

@media (max-width: 768px) {
  .wrap { padding: 0 16px; }
  .sec { padding: 56px 0; }
  .sec-sm { padding: 40px 0; }
  body { padding-top: 72px; }
  .pw-h1 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .pw-sub { font-size: .95rem; }
  .pw-btn { padding: 12px 24px; font-size: .84rem; }
  .back-to-top { bottom: 20px; right: 20px; width: 40px; height: 40px; }
}

@media (max-width: 576px) {
  .pw-h1 { font-size: clamp(1.4rem, 7vw, 1.8rem); }
  .pw-h2 { font-size: clamp(1.2rem, 5vw, 1.5rem); }
}

.pw-footer .pw-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1.4fr 1.4fr;
  gap: 48px;
  margin-bottom: 56px;
}

@media (max-width: 1024px) {
  .pw-footer .pw-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}

@media (max-width: 600px) {
  .pw-footer .pw-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .pw-footer { padding: 56px 0 24px; }
  .pw-footer-bottom { flex-direction: column; text-align: center; }
  .pw-footer-legal { justify-content: center; }
}

@media print {
  .navbar-custom, .pw-footer, .back-to-top, .nav-overlay { display: none !important; }
  body { padding-top: 0 !important; color: #000; background: #fff; }
  .wrap { max-width: 100%; padding: 0; }
  a[href]::after { content: " (" attr(href) ")"; font-size: .8em; color: #666; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .rv, .rl, .rr { opacity: 1 !important; transform: none !important; }
}

:focus-visible {
  outline: 2px solid var(--pw-orange);
  outline-offset: 3px;
}

button:focus-visible, a:focus-visible {
  outline: 2px solid var(--pw-orange);
  outline-offset: 3px;
}
