.nhbpsn-media-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
  align-items: center;
  gap: clamp(42px, 7vw, 96px);
}

.nhbpsn-media-section__copy > :first-child { margin-top: 0; }
.nhbpsn-media-section__copy > :last-child { margin-bottom: 0; }
.nhbpsn-media-section__image { overflow: hidden; min-height: 360px; background: #dfe5e8; }
.nhbpsn-media-section__image img { display: block; width: 100%; height: 100%; min-height: 360px; object-fit: cover; }

.nhbpsn-safe-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 18px;
  padding: 13px 22px;
  border: 1px solid #c99a43;
  background: #0a2340;
  color: #fff;
  font-family: Manrope, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 800px) {
  .nhbpsn-media-section__grid { grid-template-columns: 1fr; }
  .nhbpsn-media-section__image,
  .nhbpsn-media-section__image img { min-height: 260px; }
}

/* Visual Builder public output. Theme-independent, responsive and deliberately bounded. */
.nhbpsn-visual-page {
  --nhbpsn-v-ink: #132438;
  --nhbpsn-v-muted: #5e6a76;
  --nhbpsn-v-accent: #c89a45;
  --nhbpsn-v-dark: #07182b;
  color: var(--nhbpsn-v-ink);
  font-family: inherit;
}

.nhbpsn-vsection { width: 100%; margin: 0; }
.nhbpsn-vsection--transparent { background-color: transparent; color: var(--nhbpsn-section-text, inherit); }
.nhbpsn-vsection--white { background: var(--nhbpsn-section-bg, #fff); color: var(--nhbpsn-section-text, inherit); }
.nhbpsn-vsection--light { background: var(--nhbpsn-section-bg, #f5f3ee); color: var(--nhbpsn-section-text, inherit); }
.nhbpsn-vsection--dark { background: var(--nhbpsn-section-bg, var(--nhbpsn-v-dark)); color: var(--nhbpsn-section-text, #fff); }
.nhbpsn-vsection--accent { background: var(--nhbpsn-section-bg, #c89a45); color: var(--nhbpsn-section-text, #07182b); }
.nhbpsn-vsection--compact { padding-block: clamp(28px, 4vw, 48px); }
.nhbpsn-vsection--normal { padding-block: clamp(48px, 7vw, 84px); }
.nhbpsn-vsection--large { padding-block: clamp(72px, 10vw, 132px); }

.nhbpsn-vsection__inner {
  display: grid;
  grid-template-columns: var(--nhbpsn-v-grid, repeat(var(--nhbpsn-v-columns, 1), minmax(0, 1fr)));
  align-items: start;
  width: min(var(--nhbpsn-section-max-width, 1180px), calc(100% - 40px));
  margin-inline: auto;
  gap: clamp(24px, 4vw, 64px);
}
.nhbpsn-vsection--cols-1 .nhbpsn-vsection__inner { --nhbpsn-v-columns: 1; }
.nhbpsn-vsection--cols-2 .nhbpsn-vsection__inner { --nhbpsn-v-columns: 2; }
.nhbpsn-vsection--cols-3 .nhbpsn-vsection__inner { --nhbpsn-v-columns: 3; }
.nhbpsn-vsection--cols-4 .nhbpsn-vsection__inner { --nhbpsn-v-columns: 4; gap: clamp(18px, 2.5vw, 34px); }
.nhbpsn-vsection--cols-2.nhbpsn-vsection--wide-left .nhbpsn-vsection__inner { grid-template-columns: minmax(0, 1.55fr) minmax(0, .75fr); }
.nhbpsn-vsection--cols-2.nhbpsn-vsection--wide-right .nhbpsn-vsection__inner { grid-template-columns: minmax(0, .75fr) minmax(0, 1.55fr); }

.nhbpsn-vcolumn > :first-child { margin-top: 0; }
.nhbpsn-vcolumn > :last-child { margin-bottom: 0; }
.nhbpsn-vheading { margin: 0 0 .55em; color: inherit; font-family: inherit; font-size: var(--nhbpsn-font-size); line-height: 1.08; text-wrap: balance; }
h1.nhbpsn-vheading { --nhbpsn-font-size: clamp(2.35rem, 6vw, 5rem); }
h2.nhbpsn-vheading { --nhbpsn-font-size: clamp(1.9rem, 4.2vw, 3.5rem); }
h3.nhbpsn-vheading { --nhbpsn-font-size: clamp(1.35rem, 2.5vw, 2rem); }
h4.nhbpsn-vheading { --nhbpsn-font-size: clamp(1.05rem, 1.8vw, 1.4rem); }
.nhbpsn-vtext { --nhbpsn-font-size: clamp(1rem, 1.25vw, 1.16rem); color: inherit; font-size: var(--nhbpsn-font-size); line-height: 1.72; }
.nhbpsn-vtext p { margin: 0 0 1em; }
.nhbpsn-vtext p:last-child { margin-bottom: 0; }
.nhbpsn-vheading a,
.nhbpsn-vtext a { color: inherit; }
.nhbpsn-block-link { display: block; text-decoration: none; }
.nhbpsn-vsection--dark .nhbpsn-vtext { color: rgba(255, 255, 255, .82); }

.nhbpsn-vimage { overflow: hidden; margin: 0 0 24px; border-radius: 2px; background: transparent; }
.nhbpsn-vimage > a { display: block; color: inherit; }
.nhbpsn-vimage img { display: block; width: 100%; height: var(--nhbpsn-image-height, auto); min-height: 0; max-height: 1200px; object-fit: var(--nhbpsn-image-fit, cover); }
.nhbpsn-vimage.nhbpsn-align-left { margin-right: auto; margin-left: 0; }
.nhbpsn-vimage.nhbpsn-align-center { margin-right: auto; margin-left: auto; }
.nhbpsn-vimage.nhbpsn-align-right { margin-right: 0; margin-left: auto; }
.nhbpsn-vimage-placeholder { display: grid; min-height: 220px; place-items: center; margin-bottom: 20px; background: #e1e5e7; color: #6c7780; }
.nhbpsn-vbutton-wrap { margin: 24px 0 0; }
.nhbpsn-vbutton { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border: 2px solid var(--nhbpsn-v-accent); border-radius: 2px; font-size: .82rem; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; transition: background .18s ease, color .18s ease; }
.nhbpsn-vbutton--solid { border-color: var(--nhbpsn-button-color, var(--nhbpsn-v-accent)); background: var(--nhbpsn-button-color, var(--nhbpsn-v-accent)); color: #07182b; }
.nhbpsn-vbutton--outline { border-color: var(--nhbpsn-button-color, var(--nhbpsn-v-accent)); background: transparent; color: var(--nhbpsn-button-color, inherit); }
.nhbpsn-vdivider { width: 100%; margin: 30px 0; border: 0; border-top: 1px solid currentColor; opacity: .22; }
.nhbpsn-vspacer--small { height: 20px; }
.nhbpsn-vspacer--medium { height: 48px; }
.nhbpsn-vspacer--large { height: 88px; }

.nhbpsn-site-header { position: relative; z-index: 999; width: 100%; }
.nhbpsn-site-header.is-sticky { position: sticky; top: var(--wp-admin--admin-bar--height, 0); }
.nhbpsn-site-footer { position: relative; z-index: 2; width: 100%; }
.nhbpsn-replace-theme-header #masthead,
.nhbpsn-replace-theme-header .site-header,
.nhbpsn-replace-theme-header header.wp-block-template-part { display: none !important; }
.nhbpsn-replace-theme-footer #colophon,
.nhbpsn-replace-theme-footer .site-footer,
.nhbpsn-replace-theme-footer footer.wp-block-template-part { display: none !important; }

.nhbpsn-vmenu { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; }
.nhbpsn-vmenu a { color: inherit; font-size: .9rem; font-weight: 700; text-decoration: none; }
.nhbpsn-vmenu a:hover { text-decoration: underline; text-underline-offset: 5px; }

.nhbpsn-ticker { overflow: hidden; width: 100%; white-space: nowrap; }
.nhbpsn-ticker > div { display: inline-flex; min-width: max-content; animation: nhbpsn-ticker var(--nhbpsn-ticker-speed, 25s) linear infinite; }
.nhbpsn-ticker span { padding-right: 5rem; font-weight: 700; letter-spacing: .04em; }
.nhbpsn-ticker:hover > div { animation-play-state: paused; }
@keyframes nhbpsn-ticker { to { transform: translateX(-50%); } }

.nhbpsn-carousel { position: relative; overflow: hidden; width: 100%; }
.nhbpsn-carousel__track { display: flex; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.nhbpsn-carousel__track::-webkit-scrollbar { display: none; }
.nhbpsn-carousel__slide { position: relative; flex: 0 0 100%; min-height: min(80vw, var(--nhbpsn-carousel-height, 620px)); overflow: hidden; scroll-snap-align: start; background: #18283a; color: #fff; }
.nhbpsn-carousel__slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .68; }
.nhbpsn-carousel__slide > div { position: relative; z-index: 1; display: flex; min-height: inherit; flex-direction: column; justify-content: flex-end; padding: clamp(32px, 7vw, 96px); background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.nhbpsn-carousel__slide h3 { margin: 0 0 12px; color: inherit; font-size: clamp(1.8rem, 4vw, 4rem); }
.nhbpsn-carousel__slide p { max-width: 720px; margin: 0 0 18px; font-size: clamp(1rem, 1.5vw, 1.25rem); }
.nhbpsn-carousel__slide a { align-self: flex-start; color: inherit; font-weight: 800; }
.nhbpsn-carousel__prev,
.nhbpsn-carousel__next { position: absolute; z-index: 3; top: 50%; width: 44px; height: 44px; transform: translateY(-50%); border: 0; border-radius: 50%; background: rgba(0,0,0,.58); color: #fff; font-size: 30px; cursor: pointer; }
.nhbpsn-carousel__prev { left: 16px; }
.nhbpsn-carousel__next { right: 16px; }

@media (max-width: 900px) {
	.nhbpsn-vsection:not(.nhbpsn-vsection--cols-1):not(.nhbpsn-vsection--cols-2) .nhbpsn-vsection__inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .nhbpsn-vsection--cols-3 .nhbpsn-vsection__inner,
  .nhbpsn-vsection--cols-4 .nhbpsn-vsection__inner { --nhbpsn-v-columns: 2; }
}

@media (max-width: 680px) {
  .nhbpsn-vsection__inner,
  .nhbpsn-vsection--cols-2.nhbpsn-vsection--wide-left .nhbpsn-vsection__inner,
	.nhbpsn-vsection--cols-2.nhbpsn-vsection--wide-right .nhbpsn-vsection__inner { grid-template-columns: 1fr !important; width: min(calc(100% - 28px), var(--nhbpsn-section-max-width, 1180px)); }
  .nhbpsn-vsection--cols-3 .nhbpsn-vsection__inner,
  .nhbpsn-vsection--cols-4 .nhbpsn-vsection__inner { --nhbpsn-v-columns: 1; }
  .nhbpsn-vsection--large { padding-block: 64px; }
  .nhbpsn-vspacer--large { height: 54px; }
  .nhbpsn-vmenu { justify-content: center !important; gap: 8px 14px; }
  .nhbpsn-carousel__slide { min-height: min(120vw, var(--nhbpsn-carousel-height, 480px)); }
}

@media (prefers-reduced-motion: reduce) {
  .nhbpsn-ticker > div { animation: none; }
  .nhbpsn-carousel__track { scroll-behavior: auto; }
}
