/* ============================================================
   Global reset + mobile edge-to-edge fix.
   Eliminates the white margins / horizontal scrolling that the
   original WordPress blocks produced on mobile devices.
   ============================================================ */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;      /* kill horizontal scroll from oversized children */
  background: #000;        /* no white strips behind content */
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
}

main {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;        /* contain any 100vw / transform overflow per section */
}

/* Media should never exceed the viewport */
img,
video,
iframe,
svg,
canvas,
embed,
object {
  max-width: 100%;
}

/* Guard against elements that hard-code 100vw (which includes the scrollbar
   width and causes a sliver of horizontal scroll on some browsers). */
.im-page,
header.imv-header,
footer.im-footer {
  max-width: 100%;
}

/* ---------- Legal pages (privacy / terms / refund) ---------- */
.im-legal {
  background: #000;
  color: #e7e7ee;
  /* Match the Home page typography */
  font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  padding: clamp(64px, 9vw, 120px) clamp(18px, 4vw, 48px);
  line-height: 1.7;
}
.im-legal-wrap {
  max-width: 860px;
  margin: 0 auto;
}
.im-legal h1 {
  font-family: 'Archivo', 'Hanken Grotesk', sans-serif;
  font-weight: 800;
  font-size: clamp(30px, 5vw, 46px);
  line-height: 1.15;
  letter-spacing: -.5px;
  margin: 0 0 28px;
  color: #fff;
}
.im-legal h3,
.im-legal h5 {
  font-family: 'Instrument Sans', sans-serif;
  font-weight: 600;
  color: #fff;
  margin: 34px 0 10px;
}
.im-legal h3 { font-size: 21px; }
.im-legal h5 { font-size: 17px; }
.im-legal p { margin: 0 0 16px; color: #c4c4cf; }
.im-legal a { color: #8ea2ff; text-decoration: none; }
.im-legal a:hover { text-decoration: underline; }
.im-legal ul { padding-left: 20px; margin: 0 0 16px; color: #c4c4cf; }
.im-legal li { margin: 0 0 8px; }
.im-legal hr { border: none; border-top: 1px solid #22222b; margin: 26px 0; }
.im-legal strong { color: #fff; }
