/* ISA responsive layer - overrides desktop inline styles below 1024px.
   !important is required throughout: the export uses inline styles. */

@media (max-width: 1024px) {
  [style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
  h1[style*="font-size:82px"], h1[style*="font-size:78px"], h1[style*="font-size:76px"] { font-size: 54px !important; }
  [style*="font-size:60px"] { font-size: 46px !important; }
}

@media (max-width: 640px) {
  header nav, header > div > div:last-child { display: none !important; }
  .isa-burger { display: flex !important; }
  header > div { padding: 18px 20px !important; }

  h1[style*="font-size:82px"], h1[style*="font-size:78px"], h1[style*="font-size:76px"] { font-size: 38px !important; }
  [style*="font-size:60px"] { font-size: 34px !important; }
  [style*="font-size:48px"], [style*="font-size:46px"], [style*="font-size:44px"] { font-size: 30px !important; }
  [style*="font-size:42px"], [style*="font-size:40px"] { font-size: 28px !important; }
  [style*="font-size:34px"] { font-size: 24px !important; }
  [style*="font-size:22px"] { font-size: 18px !important; }

  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:.9fr 1.1fr"],
  [style*="grid-template-columns:.8fr 1.2fr"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns:64px 1fr"] { display: block !important; text-align: center !important; }
  [style*="grid-template-columns:64px 1fr"] * { text-align: center !important; }
  [style*="grid-template-columns:64px 1fr"] > div:first-child { display: inline-block !important; margin: 0 auto 14px !important; }

  [style*="padding:104px 40px"], [style*="padding:96px 40px"] { padding: 56px 22px !important; }
  [style*="padding:72px 40px 56px"] { padding: 44px 22px 36px !important; }
  [style*="padding:56px 40px"] { padding: 36px 22px !important; }
  [style*="padding:48px 40px 32px"] { padding: 32px 22px 24px !important; }
  [style*="padding:28px 40px"] { padding: 20px 22px !important; }
  [style*="padding:20px 40px 40px"] { padding: 16px 22px 28px !important; }

  figure[style*="flex:0 0 calc((100% - 80px)/3)"] { flex: 0 0 calc(50% - 10px) !important; }
  figure figcaption div[style*="font-size:24px"] { font-size: 16px !important; }
  figure figcaption div[style*="font-size:22px"] { font-size: 15px !important; }
  figure figcaption div[style*="font-size:11px"] { font-size: 9.5px !important; letter-spacing: .06em !important; }

  footer > div { flex-direction: column !important; text-align: center !important; justify-content: center !important; }
  footer > div > div { justify-content: center !important; }

  input, textarea, button { font-size: 16px !important; }
  form button[type="submit"] { display: block !important; margin-left: auto !important; margin-right: auto !important; }

  a[style*="transition:transform"] { transform: none !important; }

  /* How-it-works steps (home): centered text, 03 centered spanning both columns */
  [style*="grid-template-columns:repeat(3,1fr);gap:0"] > div { text-align: center !important; border-left: none !important; padding: 18px 10px !important; }
  [style*="grid-template-columns:repeat(3,1fr);gap:0"] > div:nth-child(3) { grid-column: 1 / -1 !important; max-width: 75% !important; justify-self: center !important; }

  #heroVideo { object-position: 15% 30% !important; }

  /* home hero legibility over video */
  p[style*="font-size:22px"][style*="color:#41505c"] { color: #1b2a3a !important; }
  div[style*="z-index:2"][style*="max-width:1280px"] { background: rgba(245,241,232,.42) !important; }


  .isa-lead-row { flex-wrap: wrap !important; justify-content: center !important; row-gap: 20px !important; }
  figure.isa-ceo { flex: 0 0 72% !important; }
}

.isa-burger { display: none; background: none; border: none; cursor: pointer; padding: 8px; flex-direction: column; gap: 5px; }
.isa-burger span { display: block; width: 24px; height: 2px; background: #1b2a3a; transition: transform .25s ease, opacity .25s ease; }
.isa-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.isa-burger.open span:nth-child(2) { opacity: 0; }
.isa-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.isa-mobilemenu { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #f5f1e8; z-index: 49; padding: 110px 30px 40px; flex-direction: column; gap: 26px; }
.isa-mobilemenu.open { display: flex; }
.isa-mobilemenu a { font-family: 'IBM Plex Mono', monospace; font-size: 20px; letter-spacing: .14em; text-transform: uppercase; color: #1b2a3a; text-decoration: none; border-bottom: 1px solid #ddd5c4; padding-bottom: 14px; }
.isa-mobilemenu a.cur { color: #c42b28; }
.isa-mobilemenu .isa-mphone { margin-top: auto; font-family: 'IBM Plex Mono', monospace; font-size: 18px; color: #1b2a3a; border-bottom: 2px solid #c42b28; align-self: flex-start; padding-bottom: 4px; }
@media (prefers-reduced-motion: reduce) { .isa-burger span { transition: none; } }
