/* restore.css - fixes layered on top of the rescued Squarespace theme.
   Loaded after site.css/static.css so these win. */

/* ------------------------------------------------------------------ images
   The theme fades images in only once its own loader marks them .loaded.
   restore.js adds that class, but guarantee visibility either way so a
   stalled loader can never leave a blank frame. */
img[data-src],
img[data-image] {
  opacity: 1;
}

/* --------------------------------------------------------------- overflow
   Squarespace's layout engine builds columns with .sqs-row gutters of
   margin:0 -17px, expecting the parent to carry matching padding. On this
   page it doesn't, so every full-width row sits 17px proud on each side and
   the document ends up ~2px wider than the viewport - enough for a stray
   horizontal scrollbar at >=768px.

   overflow-x:clip (rather than hidden) contains it without turning the
   wrapper into a scroll container, so the fixed header and any sticky
   offsets keep behaving. */
#siteWrapper {
  overflow-x: clip;
}

/* Belt and braces for browsers without overflow:clip support. */
@supports not (overflow: clip) {
  #siteWrapper {
    overflow-x: hidden;
  }
}

/* ------------------------------------------------------------- responsive
   The theme is already responsive; these only harden the edges at the
   narrow end, where long unbroken strings (the email address in the footer)
   and oversized media could still force the page wider than the screen. */
img,
video,
iframe {
  max-width: 100%;
}

@media screen and (max-width: 640px) {
  /* Long addresses/URLs shouldn't be able to widen the layout. */
  .sqs-block-content a[href^="mailto:"],
  .sqs-block-html p {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
}
