/* ME mobile responsive override — generated, do not edit by hand */
@media (max-width: 820px) {
  html, body { max-width: 100vw !important; overflow-x: hidden !important; }
  img { max-width: 100% !important; height: auto !important; }
  /* container widths */
  [style*="max-width: 1280px"], [style*="max-width:1280px"],
  [style*="max-width: 1180px"], [style*="max-width:1180px"],
  [style*="max-width: 1120px"], [style*="max-width:1120px"],
  [style*="max-width: 980px"],  [style*="max-width:980px"],
  [style*="max-width: 900px"],  [style*="max-width:900px"] {
    max-width: 100% !important;
    width: 100% !important;
  }
  /* horizontal padding compression */
  [style*="padding: 100px 32px"], [style*="padding:100px 32px"]   { padding: 56px 18px !important; }
  [style*="padding: 120px 32px"], [style*="padding:120px 32px"]   { padding: 64px 18px !important; }
  [style*="padding: 84px 0 64px"]                                  { padding: 48px 0 36px !important; }
  [style*="padding: 18px 32px"], [style*="padding:18px 32px"]      { padding: 14px 16px !important; }
  [style*="padding: 60px 32px"], [style*="padding:60px 32px"]      { padding: 36px 18px !important; }
  [style*="padding: 40px 32px"], [style*="padding:40px 32px"]      { padding: 28px 18px !important; }
  [style*="padding: 36px"]                                          { padding: 22px !important; }
  [style*="padding: 48px"]                                          { padding: 28px !important; }
  /* grid → stack */
  [style*="grid-template-columns: repeat(4"]                        { grid-template-columns: 1fr 1fr !important; gap: 1px !important; }
  [style*="grid-template-columns: repeat(3"]                        { grid-template-columns: 1fr !important; gap: 12px !important; }
  [style*="grid-template-columns: repeat(2, 1fr)"]                  { grid-template-columns: 1fr !important; gap: 16px !important; }
  [style*="grid-template-columns: 120px 1fr"]                       { grid-template-columns: 1fr !important; gap: 12px !important; }
  [style*="grid-template-columns: 160px 1fr"]                       { grid-template-columns: 1fr !important; gap: 8px !important; }
  [style*="grid-template-columns: 2fr 1fr 1fr 1fr"]                 { grid-template-columns: 1fr !important; gap: 28px !important; }
  /* hero typography */
  [style*="font-size: 124px"]                                       { font-size: 44px !important; line-height: 1.04 !important; }
  [style*="font-size: 88px"]                                        { font-size: 40px !important; }
  [style*="font-size: 64px"]                                        { font-size: 32px !important; }
  [style*="font-size: 56px"]                                        { font-size: 28px !important; }
  [style*="font-size: 36px"]                                        { font-size: 22px !important; }
  /* nav */
  nav [style*="gap: 28px"]                                          { gap: 12px !important; flex-wrap: wrap !important; }
  nav [style*="gap: 12px"]                                          { gap: 8px !important; }
  /* tiny body text fix */
  p[style*="font-size: 18px"]                                       { font-size: 16px !important; line-height: 1.55 !important; }
  /* CTA buttons stay tappable */
  a[style*="padding: 18px 28px"], button[style*="padding: 18px 28px"] { padding: 14px 22px !important; min-height: 44px !important; }
  /* footer columns */
  footer [style*="display: grid"]                                   { gap: 28px !important; }
  /* card grid common pattern */
  [style*="display: grid"][style*="gap: 20px"]                      { grid-template-columns: 1fr !important; }
  /* keep images contained */
  [style*="position: absolute"][style*="width: 720px"],
  [style*="position: absolute"][style*="width: 700px"],
  [style*="position: absolute"][style*="width: 500px"]              { width: 280px !important; height: 280px !important; }
}

@media (max-width: 480px) {
  /* tighter on very small phones */
  [style*="font-size: 124px"]                                       { font-size: 38px !important; }
  [style*="font-size: 88px"]                                        { font-size: 32px !important; }
  [style*="padding: 100px 32px"]                                    { padding: 44px 14px !important; }
}

/* ===== 2026-05-04 PM: vertical-density patch =====
   ME pages were 4,800+px tall on iPhone (6 viewport-heights of scroll).
   Clamp min-height + section heights to feel impt.io-tidy on mobile. */
@media (max-width: 820px) {
  /* Clamp any min-height that's bigger than viewport */
  [style*="min-height: 920px"], [style*="min-height:920px"],
  [style*="min-height: 1000px"], [style*="min-height:1000px"],
  [style*="min-height: 100vh"]                                  { min-height: auto !important; }

  /* Tall sections clamp to natural content + reasonable max */
  section[style*="min-height"], div[style*="min-height: 920px"],
  div[style*="min-height:920px"], div[style*="min-height: 1000px"],
  div[style*="min-height:1000px"]                               { min-height: auto !important; padding-top: 36px !important; padding-bottom: 36px !important; }

  /* Fixed huge heights → auto */
  [style*="height: 920px"], [style*="height:920px"],
  [style*="height: 700px"], [style*="height:700px"],
  [style*="height: 800px"], [style*="height:800px"]             { height: auto !important; max-height: none !important; }

  /* Hero typography one notch tighter (was 44/40/32 — go to 36/32/26) */
  [style*="font-size: 124px"]                                   { font-size: 36px !important; line-height: 1.05 !important; }
  [style*="font-size: 88px"]                                    { font-size: 30px !important; line-height: 1.1 !important; }
  [style*="font-size: 64px"]                                    { font-size: 26px !important; line-height: 1.15 !important; }
  [style*="font-size: 56px"]                                    { font-size: 24px !important; }
  [style*="font-size: 40px"]                                    { font-size: 22px !important; }

  /* Vertical padding compression — section spacing tighter */
  [style*="padding: 100px"]   { padding-top: 40px !important; padding-bottom: 40px !important; }
  [style*="padding: 120px"]   { padding-top: 48px !important; padding-bottom: 48px !important; }
  [style*="padding: 140px"]   { padding-top: 56px !important; padding-bottom: 56px !important; }
  [style*="padding-top: 100px"]    { padding-top: 40px !important; }
  [style*="padding-top: 120px"]    { padding-top: 48px !important; }
  [style*="padding-bottom: 100px"] { padding-bottom: 40px !important; }
  [style*="padding-bottom: 120px"] { padding-bottom: 48px !important; }

  /* Margin compression on stacked sections */
  [style*="margin: 80px"]     { margin-top: 32px !important; margin-bottom: 32px !important; }
  [style*="margin: 100px"]    { margin-top: 40px !important; margin-bottom: 40px !important; }

  /* Img/svg/iframe never bigger than container */
  img, svg, iframe, video                                       { max-width: 100% !important; height: auto !important; }

  /* Any large absolutely-positioned graphic clamp to phone-friendly size */
  [style*="position: absolute"][style*="width:"][style*="px"]   { max-width: 280px !important; }
}

@media (max-width: 480px) {
  /* Tighter on small phones */
  [style*="padding: 100px"]   { padding-top: 32px !important; padding-bottom: 32px !important; }
  [style*="padding: 120px"]   { padding-top: 36px !important; padding-bottom: 36px !important; }
  [style*="font-size: 124px"] { font-size: 30px !important; }
  [style*="font-size: 88px"]  { font-size: 26px !important; }
}
