
html { overflow-x: hidden; }
body { min-width: 320px; overflow-x: hidden; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #d8b77a; outline-offset: 3px; }
@media (max-width: 900px) {
  .nav-wrap { padding-left: 24px; padding-right: 24px; }
  .main-nav { gap: 18px; }
  .hero-content { padding-left: 8vw; }
  .hero-image { background-position: 58% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(23,19,29,.94) 0%, rgba(23,19,29,.72) 52%, rgba(23,19,29,.2) 100%); }
  .about, .faq { gap: 48px; }
  .process-inner { gap: 50px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .nav-wrap { height: 72px; padding: 0 20px; }
  .menu-toggle { display: flex; }
  .main-nav { position: absolute; top: 72px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 20px 20px; background: #17131d; border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 18px 30px rgba(0,0,0,.25); }
  .main-nav.open { display: flex; }
  .main-nav > a:not(.nav-cta) { min-height: 48px; display: flex; align-items: center; padding: 12px 4px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .main-nav .nav-cta { min-height: 48px; justify-content: center; margin-top: 12px; }
  .hero { min-height: 100svh; min-height: 100dvh; }
  .hero-image { background-position: 66% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(23,19,29,.96) 0%, rgba(23,19,29,.82) 58%, rgba(23,19,29,.48) 100%), linear-gradient(0deg, rgba(23,19,29,.62), transparent 68%); }
  .hero-content { width: 100%; padding: 120px 24px 100px; text-shadow: 0 2px 18px rgba(0,0,0,.28); }
  .hero h1 { max-width: 12ch; font-size: clamp(40px, 11vw, 60px); letter-spacing: -1.8px; line-height: 1.08; }
  .hero-content > p { max-width: 440px; font-size: 15px; line-height: 1.7; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero-note { margin-top: 34px; }
  .hero-caption { right: 20px; bottom: 20px; font-size: 8px; letter-spacing: 1.5px; }
  .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 24px 20px; }
  .trust-strip > div { font-size: 11px; }
  .section-pad { padding: 76px 22px; }
  .about, .faq { grid-template-columns: 1fr; gap: 38px; }
  .about-visual { width: 100%; max-width: 480px; margin: 0 auto; }
  .about-copy h2, .section-heading h2, .process-copy h2, .promise h2, .faq-heading h2, .closing h2 { font-size: clamp(36px, 9vw, 48px); }
  .service-grid { grid-template-columns: 1fr; gap: 14px; }
  .testimonial-grid { grid-template-columns: 1fr; gap: 14px; }
  .testimonial-card { min-height: 0; padding: 26px 24px; }
  .testimonial-card p { min-height: 0; }
  .service-card { min-height: 0; padding: 26px 24px; }
  .process-inner { grid-template-columns: 1fr; gap: 38px; }
  .steps { gap: 22px; }
  .step { gap: 18px; }
  .promise-inner { padding: 40px 24px; }
  .promise-points { grid-template-columns: 1fr; gap: 18px; }
  .faq-item summary { gap: 14px; font-size: 14px; }
  .closing { min-height: 540px; }
  .closing-content { padding: 76px 22px; }
  .site-footer { padding: 40px 22px 0; }
  .footer-main { align-items: flex-start; flex-direction: column; gap: 16px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; padding: 20px 0; }
  .floating-wa { right: 14px; bottom: 14px; min-height: 48px; padding: 0 16px; }
}
@media (max-width: 390px) {
  .hero-content { padding-left: 20px; padding-right: 20px; }
  .hero h1 { max-width: 11ch; font-size: 38px; line-height: 1.1; }
  .hero-content > p { max-width: 34ch; font-size: 14px; line-height: 1.65; }
  .hero-actions .button { max-width: 100%; white-space: normal; text-align: center; }
  .hero-note { max-width: 100%; }
  .hero-note small { line-height: 1.6; }
  .button { padding: 14px 18px; font-size: 12px; }
  .trust-strip { padding-left: 16px; padding-right: 16px; }
  .section-pad { padding-left: 18px; padding-right: 18px; }
  .faq-item summary { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
