/* Prinxer responsive layer. Overrides the desktop inline styles at tablet/phone
   widths via !important. Loaded in every page's <helmet>. */

/* Burger is hidden on desktop */
#siteHeader .px-burger { display: none; }

@media (max-width: 900px) {
  #site { box-shadow: none !important; }

  /* ---- Header / mobile nav ---- */
  #siteHeader { padding-left: 20px !important; padding-right: 20px !important; position: relative; }
  #siteHeader .px-burger {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 42px; height: 42px; border: 1px solid rgba(28,22,77,.18); border-radius: 10px;
    background: transparent; color: #1C164D; cursor: pointer; padding: 0;
  }
  #siteHeader .px-nav {
    position: absolute; top: 100%; left: 0; right: 0;
    display: none; flex-direction: column; align-items: stretch !important; gap: 0 !important;
    background: rgba(250,248,243,.985); backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid rgba(28,22,77,.13);
    padding: 6px 20px 18px; box-shadow: 0 30px 45px -22px rgba(18,13,51,.35);
  }
  #siteHeader .px-nav.open { display: flex; }
  #siteHeader .px-nav > a { padding: 14px 2px !important; border-bottom: 1px solid rgba(28,22,77,.08); font-size: 16px !important; }
  #siteHeader .px-nav > a:last-child {
    border-bottom: none; text-align: center; margin-top: 12px;
    border: 1px solid #1C164D !important; border-radius: 999px; padding: 13px !important;
  }
  #siteHeader .px-nav > a span[data-underline] { display: none !important; }

  /* ---- Stack every multi-column grid ---- */
  #site [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  #site [style*="grid-template-rows:repeat(3"] { grid-template-rows: auto !important; }

  /* ---- Reduce section horizontal padding (overrides shorthand) ---- */
  #site [style*=" 52px"] { padding-left: 22px !important; padding-right: 22px !important; }

  /* ---- Type scaling ---- */
  #site h1 { font-size: 40px !important; line-height: 1.08 !important; }
  #site h2 { font-size: 28px !important; }

  /* ---- Image-band overlays ---- */
  #site [style*="left:52px"] { left: 22px !important; right: 22px !important; }
  #site [style*="left:40px"] { left: 22px !important; right: 22px !important; }

  /* CTA bands: let button drop below text */
  #site [style*="justify-content:space-between"][style*="align-items:center"] { row-gap: 20px; }
}

@media (max-width: 560px) {
  #site h1 { font-size: 33px !important; }
  #site [style*=" 52px"] { padding-left: 16px !important; padding-right: 16px !important; }
  /* Big serif hero on the home page */
  #site [style*="font-size:76px"] { font-size: 34px !important; }
  #site [style*="font-size:66px"] { font-size: 32px !important; }
  #site [style*="font-size:60px"] { font-size: 31px !important; }
  /* tall photo bands shrink */
  #site [style*="height:560px"] { height: 340px !important; }
  #site [style*="height:520px"] { height: 320px !important; }
  #site [style*="height:440px"] { height: 300px !important; }
  #site [style*="height:420px"] { height: 300px !important; }
}
