/* Popup Sound — where Salient / WPBakery meet the site styles.
   popup-sound.css is scoped under body#ps so it outranks Salient. The rules below restore the
   browser defaults Salient's reset removes; :where() keeps them weaker than any site rule. */
#ps :where(img) { margin: 0; }
#ps :where(ul) { list-style: disc; margin: 1em 0; padding-left: 40px; }
#ps :where(ol) { list-style: decimal; margin: 1em 0; padding-left: 40px; }
#ps :where(li) { list-style: inherit; }
#ps :where(dd) { margin-left: 40px; padding-left: 0; }
#ps :where(dl) { margin: 1em 0; }
#ps :where(figure, blockquote) { margin: 1em 40px; }
#ps :where(strong, b) { font-weight: bolder; }
#ps :where(em, i) { font-style: italic; }
#ps :where(small) { font-size: smaller; }
#ps :where(h1, h2, h3, h4) { color: inherit; }
body#ps { --nectar-paragraph-bottom-spacing: 0; }

/* Page wrapper: rows run edge to edge */
#ps #ajax-content-wrap, #ps .container-wrap, #ps .ps-main { background: var(--bg); }
#ps .ps-main { padding: 0; margin: 0; }
#ps .ps-main > .container.main-content { max-width: none; width: 100%; padding: 0; margin: 0; }
#ps .ps-main > .container > .row { padding: 0; margin: 0; }

/* WPBakery rows: the builder's wrappers (column, inner, text block) step out of the layout,
   so each row lays out exactly like the original <section>. */
#ps .ps-row.wpb_row { box-sizing: border-box; margin: 0; width: auto; left: auto; }
#ps .ps-row > .row_col_wrap_12,
#ps .ps-row > .row_col_wrap_12 > .wpb_column,
#ps .ps-row > .row_col_wrap_12 > .wpb_column > .vc_column-inner,
#ps .ps-row > .row_col_wrap_12 > .wpb_column > .vc_column-inner > .wpb_wrapper,
#ps .ps-row > .row_col_wrap_12 > .wpb_column > .vc_column-inner > .wpb_wrapper > .wpb_text_column { display: contents; }
#ps .ps-row .wpb_text_column p:empty { display: none; }

/* Salient gives every row an empty background layer; with the wrappers stepped out it would sit on top
   of the content and swallow every click, so it only stays where it carries a photo. */
#ps .ps-row:not(.ps-has-bg) > .row-bg-wrap { display: none; }
#ps .ps-row > .row-bg-wrap { pointer-events: none; }

/* Row background photo = the original hero/CTA photo layer */
#ps .ps-row.ps-has-bg > .row-bg-wrap { position: absolute; inset: 0; z-index: -2; margin: 0; width: 100%; left: 0; }
#ps .ps-row.ps-has-bg > .row-bg-wrap .row-bg { background-size: cover; }
#ps .ps-row.cta--photo > .row-bg-wrap { z-index: -1; }
#ps .ps-row.cta--photo > .row-bg-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(12, 7, 22, 0.94) 0%, rgba(12, 7, 22, 0.78) 50%, rgba(12, 7, 22, 0.55) 100%), linear-gradient(0deg, rgba(232, 95, 176, 0.18), transparent 60%); }
#ps .ps-row.hero--photo::after { display: block; height: auto; visibility: visible; }
@media (max-width: 960px) {
  #ps .ps-row.hero--photo > .row-bg-wrap { position: relative; inset: auto; height: 62svh; min-height: 380px; flex: none; }
  #ps .ps-row.hero--photo > .row-bg-wrap .row-bg { background-position: 54% 18% !important; }
}

/* Salient defaults that only exist until its options are saved once (white page wrapper, 4px buttons). */
#ps .ocm-effect-wrap { background: var(--bg); }
#ps button.btn, #ps button.menu-toggle { border-radius: 999px !important; }
#ps .container-wrap button.btn[type="submit"] { padding: 16px 28px !important; }
