:root {
  --bb-navy: #0d1d33;
  --bb-navy-soft: #172b46;
  --bb-blue: #075f9f;
  --bb-blue-bright: #1683c5;
  --bb-sky: #eaf3f8;
  --bb-mist: #f5f7f9;
  --bb-white: #ffffff;
  --bb-ink: #101b2c;
  --bb-copy: #354356;
  --bb-muted: #667386;
  --bb-line: #dbe3ea;
  --bb-star: #f1b62c;
  --bb-success: #176a3a;
  --bb-error: #b42318;
  --bb-container: 1240px;
  --bb-reading: 760px;
  --bb-radius: 8px;
  --bb-shadow: 0 18px 46px rgba(9, 29, 52, .12);
  --bb-header-height: 114px;
}

html { scroll-behavior: smooth; }
body.bb-redesign {
  margin: 0;
  overflow-x: clip;
  background: var(--bb-white);
  color: var(--bb-copy);
  font-family: "Source Sans Pro", Arial, sans-serif;
  line-height: 1.6;
  letter-spacing: 0;
}
body.bb-menu-open { overflow: hidden; }
.bb-redesign *, .bb-redesign *::before, .bb-redesign *::after { box-sizing: border-box; letter-spacing: 0; }
.bb-redesign img { max-width: 100%; }
.bb-redesign a { text-underline-offset: 4px; }
.bb-redesign :focus-visible { outline: 3px solid #4aa6df; outline-offset: 3px; }
.bb-skip-link {
  position: fixed;
  z-index: 2000;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  padding: 10px 14px;
  background: var(--bb-white);
  color: var(--bb-ink);
  border-radius: 6px;
  font-weight: 800;
}
.bb-skip-link:focus { transform: translateY(0); }

/* Global commands */
.bb-button,
#dm_content .dmButtonLink {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 11px 22px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  font: inherit;
  font-weight: 800 !important;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.bb-button:hover, #dm_content .dmButtonLink:hover { transform: translateY(-2px); }
.bb-button-primary, #dm_content .dmButtonLink { background: var(--bb-blue) !important; color: var(--bb-white) !important; }
.bb-button-primary:hover, #dm_content .dmButtonLink:hover { background: var(--bb-blue-bright) !important; color: var(--bb-white) !important; box-shadow: 0 10px 24px rgba(7, 95, 159, .18); }
.bb-button-outline { background: transparent; color: var(--bb-blue); border-color: var(--bb-blue) !important; }
.bb-button-outline:hover { background: var(--bb-sky); }
.bb-button-light { background: var(--bb-white); color: var(--bb-navy); }
#dm_content .dmButtonLink .text { color: inherit !important; white-space: normal !important; }
#dm_content .dmButtonLink .iconBg { display: none !important; }

/* Header */
.bb-site-header {
  position: sticky;
  z-index: 900;
  top: 0;
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid rgba(16, 27, 44, .08);
  transition: box-shadow .25s ease, background-color .25s ease;
}
.bb-site-header.is-scrolled {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 34px rgba(9, 29, 52, .12);
  backdrop-filter: blur(12px);
}
.bb-utility-bar { min-height: 30px; background: var(--bb-navy); color: var(--bb-white); }
.bb-utility-inner {
  width: min(var(--bb-container), calc(100% - 48px));
  min-height: 30px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  font-size: 12px;
}
.bb-service-area { display: flex; align-items: center; gap: 6px; }
.bb-service-area span, .bb-utility-promise { color: #b9c7d8; }
.bb-service-area strong { color: var(--bb-white); }
.bb-rating { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--bb-white); font-weight: 700; }
.bb-rating strong, .bb-stars { color: var(--bb-star); }
.bb-stars { font-size: 14px; line-height: 1; }
.bb-utility-promise { justify-self: end; }
.bb-header-main {
  width: min(1420px, calc(100% - 40px));
  min-height: 84px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 196px minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
  transition: min-height .25s ease;
}
.bb-logo { width: 184px; display: flex; align-items: center; transition: width .25s ease; }
.bb-logo img { width: 100%; height: auto; display: block; }
.bb-primary-nav { min-width: 0; align-self: stretch; }
.bb-primary-nav > ul { height: 100%; margin: 0; padding: 0; display: flex; align-items: stretch; justify-content: center; list-style: none; }
.bb-nav-item { position: relative; display: flex; align-items: center; }
.bb-nav-item > a {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 8px;
  color: var(--bb-ink);
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}
.bb-nav-item > a::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 17px;
  left: 8px;
  height: 2px;
  background: var(--bb-blue-bright);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s ease;
}
.bb-nav-item > a:hover, .bb-nav-item > a[aria-current="page"] { color: var(--bb-blue); }
.bb-nav-item > a:hover::after, .bb-nav-item > a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.bb-submenu-toggle { width: 22px; height: 40px; margin-left: -7px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.bb-submenu-toggle span::after { content: ""; width: 7px; height: 7px; display: inline-block; border-right: 2px solid var(--bb-navy); border-bottom: 2px solid var(--bb-navy); transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.bb-nav-item.is-open > .bb-submenu-toggle span::after { transform: rotate(225deg) translate(-2px, -1px); }
.bb-submenu {
  position: absolute;
  z-index: 20;
  top: calc(100% - 1px);
  left: 0;
  width: 284px;
  display: none;
  margin: 0;
  padding: 8px;
  background: var(--bb-white);
  border: 1px solid var(--bb-line);
  border-top: 3px solid var(--bb-blue);
  border-radius: 0 0 8px 8px;
  box-shadow: var(--bb-shadow);
  list-style: none;
}
.bb-submenu .bb-nav-item { display: block; }
.bb-submenu .bb-nav-item a { min-height: 42px; padding: 9px 12px; border-radius: 5px; white-space: normal; }
.bb-submenu .bb-nav-item a::after { content: none; }
.bb-submenu .bb-nav-item a:hover { background: var(--bb-sky); }
.bb-nav-item:hover > .bb-submenu, .bb-nav-item:focus-within > .bb-submenu, .bb-nav-item.is-open > .bb-submenu { display: block; }
.bb-header-actions { display: flex; align-items: center; gap: 16px; }
.bb-header-phone { display: grid; color: var(--bb-navy); text-align: right; text-decoration: none; line-height: 1.15; }
.bb-header-phone span { color: var(--bb-muted); font-size: 11px; font-weight: 700; }
.bb-header-phone strong { font-size: 16px; }
.bb-header-cta { min-width: 158px; }
.bb-site-header.is-scrolled .bb-utility-bar { display: none; }
.bb-site-header.is-scrolled .bb-header-main { min-height: 70px; }
.bb-site-header.is-scrolled .bb-logo { width: 164px; }
.bb-menu-button, .bb-mobile-actions, .bb-mobile-drawer, .bb-drawer-overlay { display: none; }

/* Builder reset: retain content and semantics, remove fixed canvas geometry. */
.bb-content-shell, .bb-content-shell #site_content, .bb-content-shell #dm_content { width: 100%; max-width: none; min-height: 0; margin: 0; padding: 0; background: var(--bb-white); }
#dm_content .bb-empty-row, #dm_content .bb-prelude-row { display: none !important; }
#dm_content [data-hidden-on-desktop][data-hidden-on-tablet][data-hidden-on-mobile],
#dm_content .dmform-title[hide="true"] { display: none !important; }
#dm_content .bb-content-row { position: relative; width: 100%; min-height: 0 !important; margin: 0 !important; scroll-margin-top: 90px; }
#dm_content .bb-content-row > .flex-widgets-container { display: none !important; }
#dm_content .bb-content-row > section { position: static !important; width: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
#dm_content .bb-content-row:not(.bb-hero-row) > section > .flex-element.grid {
  position: static !important;
  width: min(var(--bb-container), calc(100% - 48px)) !important;
  max-width: var(--bb-container) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 80px 0 !important;
  background: transparent !important;
}
#dm_content .bb-content-row :where(.flex-element.group, .flex-element.widget-wrapper) {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  transform: none !important;
}
#dm_content .bb-content-row :where(.flex-element.group) { display: block !important; }
#dm_content .bb-content-row [data-widget-type="image"] { overflow: hidden; }
#dm_content .bb-content-row .imageWidget, #dm_content .bb-content-row .imageWidget a { width: 100% !important; height: 100% !important; display: block !important; }
#dm_content .bb-content-row img[src] { display: block; visibility: visible !important; opacity: 1 !important; }
#dm_content .bb-content-row .imageWidget img { width: 100% !important; height: 100% !important; min-height: 320px; object-fit: cover; }
#dm_content .bb-content-row img.bb-image-error { background: var(--bb-sky); color: transparent; }
#dm_content h1, #dm_content h2, #dm_content h3, #dm_content h4, #dm_content h5, #dm_content h6 {
  margin-top: 0;
  color: var(--bb-ink) !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-style: normal !important;
  line-height: 1.08 !important;
}
#dm_content h1 { font-size: 62px !important; font-weight: 800 !important; }
#dm_content h2 { font-size: 44px !important; font-weight: 800 !important; }
#dm_content h3 { font-size: 31px !important; font-weight: 780 !important; }
#dm_content h4 { font-size: 24px !important; font-weight: 760 !important; }
#dm_content h5, #dm_content h6 { font-size: 20px !important; font-weight: 760 !important; }
#dm_content .dmNewParagraph h1 span, #dm_content .dmNewParagraph h2 span, #dm_content .dmNewParagraph h3 span, #dm_content .dmNewParagraph h4 span { color: inherit !important; font-size: inherit !important; line-height: inherit !important; }
#dm_content p, #dm_content li { color: var(--bb-copy); font-size: 18px; line-height: 1.7; }
#dm_content p { max-width: 74ch; }
#dm_content a { color: var(--bb-blue); }
#dm_content ul, #dm_content ol { padding-left: 24px; }
#dm_content li + li { margin-top: 5px; }

/* Hero */
#dm_content .bb-hero-row { min-height: 680px !important; overflow: hidden; background: var(--bb-navy); }
#dm_content .bb-hero-row > section, #dm_content .bb-hero-row > section > .flex-element.grid { min-height: 680px !important; }
#dm_content .bb-hero-row > section > .flex-element.grid {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 68px 24px !important;
  background-position: center !important;
  background-size: cover !important;
}
#dm_content .bb-hero-row > section > .flex-element.grid::before { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(7, 20, 37, .86) 0%, rgba(7, 20, 37, .65) 52%, rgba(7, 20, 37, .38) 100%); }
#dm_content .bb-hero-row .flex-element.group.bb-hero-layout {
  position: relative !important;
  z-index: 1;
  width: min(var(--bb-container), 100%) !important;
  max-width: var(--bb-container) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 420px !important;
  align-items: center !important;
  gap: 72px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
#dm_content .bb-hero-row .flex-element.group.bb-hero-copy { max-width: 680px !important; display: block !important; align-self: center !important; padding: 0 !important; color: var(--bb-white); }
#dm_content .bb-hero-copy h1, #dm_content .bb-hero-copy h1 span { margin: 0 0 28px !important; color: var(--bb-white) !important; font-size: 64px !important; line-height: 1 !important; text-align: left !important; text-shadow: 0 3px 18px rgba(0, 0, 0, .22); }
#dm_content .bb-hero-copy h1::after { content: ""; width: 64px; height: 3px; display: block; margin-top: 26px; background: #5ab0df; }
#dm_content .bb-hero-copy h2, #dm_content .bb-hero-copy h2 span { margin: 0 0 22px !important; color: var(--bb-white) !important; font-size: 28px !important; text-align: left !important; }
#dm_content .bb-hero-copy p, #dm_content .bb-hero-copy p span { margin: 4px 0 !important; color: var(--bb-white) !important; font-size: 18px !important; text-align: left !important; }
#dm_content .bb-hero-copy .dmButtonLink { min-width: 224px; margin-top: 28px !important; background: var(--bb-blue-bright) !important; }
#dm_content .bb-hero-copy .dmButtonLink { width: fit-content !important; max-width: 280px !important; }
#dm_content .bb-hero-row .flex-element.group.bb-hero-form {
  width: 100% !important;
  display: block !important;
  align-self: center !important;
  padding: 30px !important;
  background: rgba(255, 255, 255, .98) !important;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
}
#dm_content .bb-hero-form .dmform-title { display: none !important; }
#dm_content .bb-hero-form > .flex-element.group,
#dm_content .bb-hero-form .dmform,
#dm_content .bb-hero-form .dmform-wrapper {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#dm_content .bb-hero-form h5, #dm_content .bb-hero-form h5 span { margin: 0 0 20px !important; color: var(--bb-ink) !important; font-size: 25px !important; text-align: left !important; }
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row),
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) > section,
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) > section > .flex-element.grid { min-height: 330px !important; }
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) .bb-hero-layout { grid-template-columns: 1fr !important; }
body:not([data-template="home"]) #dm_content .bb-hero-copy h1, body:not([data-template="home"]) #dm_content .bb-hero-copy h1 span { font-size: 54px !important; }

/* Forms */
.bb-form { width: 100%; margin: 0; color: var(--bb-ink); scroll-margin-top: 110px; }
.bb-form-proof { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 9px; margin: 0 0 14px; padding: 0 0 13px; border-bottom: 1px solid rgba(77, 107, 132, .16); }
.bb-form-proof > span { grid-row: 1 / 3; color: var(--bb-star); font-size: 15px; line-height: 1; }
.bb-form-proof strong { color: var(--bb-ink); font-size: 13px; line-height: 1.25; }
.bb-form-proof small { color: var(--bb-muted); font-size: 11px; line-height: 1.35; }
.bb-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.bb-field { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.bb-field-wide { grid-column: 1 / -1; }
.bb-field label { color: var(--bb-ink); font-size: 13px; font-weight: 800; }
.bb-field label span { margin-left: 2px; color: var(--bb-error); }
.bb-field input, .bb-field select, .bb-field textarea {
  width: 100% !important;
  min-height: 49px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  background: var(--bb-mist) !important;
  color: var(--bb-ink) !important;
  border: 1px solid #c9d3dd !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font: inherit !important;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.bb-field textarea { min-height: 130px !important; resize: vertical; }
.bb-field input:focus, .bb-field select:focus, .bb-field textarea:focus { background: var(--bb-white) !important; border-color: var(--bb-blue-bright) !important; box-shadow: 0 0 0 3px rgba(22, 131, 197, .15) !important; outline: none; }
.bb-field.is-invalid input, .bb-field.is-invalid select, .bb-field.is-invalid textarea, .bb-consent.is-invalid { border-color: var(--bb-error) !important; }
.bb-field [aria-invalid="true"] { background: #fff7f6 !important; }
.bb-field-error { min-height: 0; color: var(--bb-error); font-size: 11px; font-weight: 700; line-height: 1.25; }
.bb-field-error:not(:empty) { min-height: 14px; }
.bb-form-actions { margin-top: 17px; display: flex; align-items: center; gap: 16px; }
.bb-form-actions .bb-button { min-width: 205px; }
.bb-form-compact .bb-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 11px; }
.bb-form-compact .bb-form-actions { align-items: stretch; flex-direction: column; }
.bb-form-compact .bb-form-actions .bb-button { width: 100%; }
.bb-form-privacy { margin: 0 !important; color: var(--bb-muted) !important; font-size: 12px !important; line-height: 1.45 !important; }
.bb-form-status { min-height: 22px; margin-top: 9px; color: var(--bb-muted); font-size: 14px; font-weight: 700; }
.bb-form-status.is-success { color: var(--bb-success); }
.bb-form-status.is-error { color: var(--bb-error); }
.bb-form.is-submitting .bb-button { cursor: wait; opacity: .72; }
.bb-consent { display: flex; align-items: flex-start; gap: 9px; padding: 7px; border: 1px solid transparent; border-radius: 6px; font-size: 14px; }
.bb-consent input { margin-top: 4px; }
#dm_content .bb-form-row:not(.bb-hero-row) .dmRespCol:has(.bb-form),
#dm_content .bb-form-row:not(.bb-hero-row) .flex-element.group:has(> .bb-form) { padding: 30px !important; background: var(--bb-white) !important; border: 1px solid var(--bb-line); border-radius: 8px; box-shadow: var(--bb-shadow); }

/* Home */
body[data-template="home"] #dm_content .bb-intro-row { background: var(--bb-white); }
body[data-template="home"] #dm_content .bb-intro-row > section > .grid { padding-top: 74px !important; padding-bottom: 74px !important; }
body[data-template="home"] #dm_content .bb-intro-row h3 { max-width: 760px; margin: 0 auto 48px; font-size: 42px !important; text-align: center !important; }
body[data-template="home"] #dm_content .bb-intro-row .grid > .group > .group > .group:last-child { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 64px !important; }
body[data-template="home"] #dm_content .bb-intro-row p { margin: 0; }
body[data-template="home"] #dm_content .bb-trust-row { background: var(--bb-sky); }
body[data-template="home"] #dm_content .bb-trust-row > section > .grid { padding-top: 78px !important; padding-bottom: 78px !important; }
body[data-template="home"] #dm_content .bb-trust-row h2 { max-width: 780px; margin: 0 0 46px; font-size: 44px !important; text-align: left !important; }
body[data-template="home"] #dm_content .bb-trust-row .grid > .group > .group > .group:last-child > .group { display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr) !important; align-items: center !important; gap: 72px !important; }
body[data-template="home"] #dm_content .bb-trust-row .imageWidget { border-radius: 8px; box-shadow: var(--bb-shadow); }
body[data-template="home"] #dm_content .bb-trust-row .imageWidget img { min-height: 520px; transition: transform .35s ease; }
body[data-template="home"] #dm_content .bb-trust-row .imageWidget:hover img { transform: scale(1.02); }
body[data-template="home"] #dm_content .bb-trust-row .wrapListbull { min-height: 70px; display: flex !important; align-items: center; gap: 14px; margin: 0 !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(7, 95, 159, .15); }
body[data-template="home"] #dm_content .bb-trust-row .IconBulletText { width: 38px !important; height: 38px !important; flex: 0 0 38px; }
body[data-template="home"] #dm_content .bb-services-row { background: var(--bb-white); border-bottom: 1px solid var(--bb-line); }
body[data-template="home"] #dm_content .bb-services-row > section > .grid { padding-top: 58px !important; padding-bottom: 58px !important; }
body[data-template="home"] #dm_content .bb-services-row .grid > .group { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body[data-template="home"] #dm_content .bb-services-secondary .grid > .group { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body[data-template="home"] #dm_content .bb-service-card { min-height: 330px; display: flex !important; flex-direction: column; align-items: flex-start; padding: 26px 38px !important; border-left: 1px solid var(--bb-line); }
body[data-template="home"] #dm_content .bb-service-card:first-child { border-left: 0; }
body[data-template="home"] #dm_content .bb-service-card svg { width: 48px !important; height: 48px !important; fill: var(--bb-blue) !important; transition: transform .25s ease; }
body[data-template="home"] #dm_content .bb-service-card:hover svg { transform: translateY(-4px); }
body[data-template="home"] #dm_content .bb-service-card h3 { margin: 25px 0 15px; font-size: 27px !important; text-align: left !important; }
body[data-template="home"] #dm_content .bb-service-card p { margin: 0 0 25px; font-size: 16px; text-align: left !important; }
body[data-template="home"] #dm_content .bb-service-card > .widget-wrapper:last-child { margin-top: auto !important; }
body[data-template="home"] #dm_content .bb-service-card .dmButtonLink { min-height: 38px !important; padding: 4px 0 !important; background: transparent !important; color: var(--bb-blue) !important; border-radius: 0 !important; border-bottom: 1px solid rgba(7, 95, 159, .45) !important; }
body[data-template="home"] #dm_content .bb-promo-row { padding: 56px 0; background: var(--bb-mist); }
body[data-template="home"] #dm_content .bb-promo-row > section > .grid { padding: 0 !important; }
body[data-template="home"] #dm_content .bb-promo-row .grid > .group { display: grid !important; grid-template-columns: 1.08fr .92fr !important; overflow: hidden; background-color: var(--bb-navy) !important; border-radius: 8px; box-shadow: var(--bb-shadow); }
body[data-template="home"] #dm_content .bb-promo-row .imageWidget img { min-height: 500px; }
body[data-template="home"] #dm_content .bb-promo-row .uw-Wrapper { height: 100%; display: flex !important; flex-direction: column; justify-content: center; padding: 54px !important; background-color: var(--bb-navy) !important; }
body[data-template="home"] #dm_content .bb-promo-row .uw-borderDash { border: 0 !important; outline: 0 !important; }
body[data-template="home"] #dm_content .bb-promo-row .uw-Image { width: 72px !important; height: 72px !important; min-height: 0 !important; object-fit: contain !important; }
body[data-template="home"] #dm_content .bb-promo-row p { color: var(--bb-white) !important; text-align: left !important; }
body[data-template="home"] #dm_content .bb-promo-row .uw-headline p { font-size: 36px !important; line-height: 1.1 !important; }
body[data-template="home"] #dm_content .bb-promo-row .uw-fineprint { color: #c5d1de !important; }

/* Galleries */
#dm_content .bb-gallery-row { background: var(--bb-mist); }
#dm_content .bb-gallery-row > section > .grid { padding-top: 70px !important; padding-bottom: 70px !important; }
#dm_content .bb-gallery-row h2, #dm_content .bb-gallery-row h3 { margin-bottom: 38px; }
#dm_content .dmPhotoGallery, #dm_content .dmPhotoGallery .layout-container { width: 100% !important; height: auto !important; min-height: 0 !important; }
#dm_content .dmPhotoGallery .layout-container { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: 12px; }
#dm_content .dmPhotoGallery .photogallery-row, #dm_content .dmPhotoGallery .photogallery-column { display: contents !important; }
#dm_content .dmPhotoGallery .photoGalleryThumbs { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important; overflow: hidden; aspect-ratio: 4 / 3; background: #dfe8ee; border-radius: 6px; transform: none !important; }
#dm_content .dmPhotoGallery .thumbnailInnerWrapper, #dm_content .dmPhotoGallery .image-container, #dm_content .dmPhotoGallery a[data-bb-gallery] { width: 100% !important; height: 100% !important; display: block !important; }
#dm_content .dmPhotoGallery a[data-bb-gallery] { position: relative !important; overflow: hidden; cursor: zoom-in; }
#dm_content .dmPhotoGallery a[data-bb-gallery]::after { content: "View project"; position: absolute; right: 10px; bottom: 10px; padding: 5px 9px; background: rgba(13, 29, 51, .82); color: var(--bb-white); border-radius: 5px; font-size: 12px; font-weight: 750; opacity: 0; transform: translateY(5px); transition: opacity .25s ease, transform .25s ease; }
#dm_content .dmPhotoGallery a[data-bb-gallery]:hover::after, #dm_content .dmPhotoGallery a[data-bb-gallery]:focus-visible::after { opacity: 1; transform: translateY(0); }
#dm_content .dmPhotoGallery img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; object-fit: cover; transition: transform .3s ease; }
#dm #dm_content .dmPhotoGallery.newPhotoGallery .photoGalleryThumbs .image-container a img[src] { display: block !important; }
#dm_content .dmPhotoGallery a:hover img { transform: scale(1.035); }
body[data-template="home"] #dm_content .bb-gallery-row .dmButtonLink { width: fit-content !important; min-width: 210px; display: flex !important; margin: 32px auto 0 !important; }
body[data-template="gallery"] #dm_content .bb-gallery-page-section { background: var(--bb-white); }
body[data-template="gallery"] #dm_content .bb-gallery-page-section > section > .grid { padding-top: 72px !important; padding-bottom: 92px !important; }
.bb-gallery-index { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; }
.bb-gallery-page-heading, .bb-gallery-controls, .bb-gallery-category-title, .bb-gallery-load-more { grid-column: 1 / -1; }
.bb-gallery-page-heading h3 { margin: 0 0 18px !important; font-size: 42px !important; }
.bb-gallery-category-title { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; }
.bb-gallery-category, .bb-gallery-category .dmPhotoGallery, .bb-gallery-category .layout-container, .bb-gallery-category .photogallery-row, .bb-gallery-category .photogallery-column { display: contents !important; }
.bb-gallery-controls { margin-bottom: 18px; }
.bb-gallery-filters { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 18px; border-bottom: 1px solid var(--bb-line); }
.bb-gallery-filter { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 15px; background: var(--bb-white); color: var(--bb-navy); border: 1px solid #b9c7d4; border-radius: 6px; font: inherit; font-weight: 750; cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.bb-gallery-filter small { min-width: 24px; padding: 2px 6px; background: rgba(7, 95, 159, .09); color: inherit; border-radius: 999px; font-size: 11px; line-height: 1.35; }
.bb-gallery-filter.is-active small { background: rgba(255, 255, 255, .2); }
.bb-gallery-filter:hover { border-color: var(--bb-blue); color: var(--bb-blue); }
.bb-gallery-filter.is-active { background: var(--bb-blue); color: var(--bb-white); border-color: var(--bb-blue); }
.bb-gallery-result { margin: 10px 0 0 !important; color: var(--bb-muted) !important; font-size: 14px !important; }
[data-bb-gallery-item][hidden] { display: none !important; }
.bb-gallery-load-more { min-width: 220px; min-height: 48px; justify-self: center; margin-top: 24px; padding: 10px 22px; background: var(--bb-navy); color: var(--bb-white); border: 0; border-radius: 7px; font: inherit; font-weight: 800; cursor: pointer; }
.bb-gallery-load-more:hover { background: var(--bb-blue); }
.bb-gallery-load-more[hidden] { display: none !important; }
.bb-gallery-lightbox { position: fixed; z-index: 1500; inset: 0; display: none; align-items: center; justify-content: center; padding: 42px 86px; background: rgba(4, 13, 25, .94); }
.bb-gallery-lightbox.is-open { display: flex; }
.bb-gallery-lightbox figure { width: min(1100px, 100%); max-height: 90vh; margin: 0; display: grid; justify-items: center; gap: 12px; }
.bb-gallery-lightbox img { width: auto; max-width: 100%; height: auto; max-height: calc(90vh - 60px); object-fit: contain; border-radius: 4px; }
.bb-gallery-lightbox figcaption { color: var(--bb-white); font-size: 14px; text-align: center; }
.bb-gallery-close, .bb-gallery-nav { position: absolute; display: grid; place-items: center; padding: 0; background: rgba(255, 255, 255, .1); color: var(--bb-white); border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; font: inherit; cursor: pointer; }
.bb-gallery-close { top: 20px; right: 20px; width: 44px; height: 44px; font-size: 30px; }
.bb-gallery-nav { top: 50%; width: 48px; height: 48px; font-size: 38px; transform: translateY(-50%); }
.bb-gallery-prev { left: 22px; }
.bb-gallery-next { right: 22px; }

/* Reviews, FAQ and blog */
body[data-template="home"] #dm_content .bb-testimonials-row { padding: 56px 0; background: var(--bb-sky); }
body[data-template="home"] #dm_content .bb-testimonials-row > section > .grid { padding: 0 !important; }
body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group { display: grid !important; grid-template-columns: .8fr 1.2fr !important; align-items: stretch; overflow: hidden; background: var(--bb-navy); border-radius: 8px; box-shadow: var(--bb-shadow); }
body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group > .group:first-child { display: flex !important; flex-direction: column; justify-content: center; padding: 54px !important; background-color: var(--bb-navy) !important; }
body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group > .group:first-child h3, body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group > .group:first-child p { color: var(--bb-white) !important; }
body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group > .group:last-child { padding: 34px !important; background-color: var(--bb-white) !important; }
body[data-template="home"] #dm_content .bb-testimonials-row [data-widget-type="graphic"] { width: 96px !important; height: 96px !important; margin-bottom: 24px !important; }
body[data-template="home"] #dm_content .bb-testimonials-row [data-widget-type="graphic"] .graphicWidget { width: 96px !important; height: 96px !important; }
body[data-template="home"] #dm_content .bb-testimonials-row .single-review { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
#dm_content .review, #dm_content [class*="review-item"], #dm_content .rev-dark [class*="review"] { padding: 22px !important; background: var(--bb-white) !important; color: var(--bb-ink) !important; border: 1px solid var(--bb-line); border-left: 3px solid var(--bb-blue); border-radius: 8px; box-shadow: 0 8px 22px rgba(9, 29, 52, .07); }
#dm_content .review *, #dm_content .rev-dark [class*="review"] * { color: inherit !important; }
body[data-template="home"] #dm_content .bb-faq-row { background: var(--bb-white); }
body[data-template="home"] #dm_content .bb-faq-row > section > .grid { width: min(980px, calc(100% - 48px)) !important; padding-top: 70px !important; padding-bottom: 70px !important; }
body[data-template="home"] #dm_content .bb-faq-row h3:first-of-type { margin-bottom: 18px; font-size: 42px !important; }
#dm_content .bb-accordion { margin-top: 34px !important; }
#dm_content .bb-accordion ul, #dm_content .bb-accordion ol { margin: 0 !important; padding: 0 !important; list-style: none !important; }
#dm_content .bb-accordion [data-grab="accordion-item-container"] { border-top: 1px solid var(--bb-line); }
#dm_content .bb-accordion [data-grab="accordion-item-container"]:last-child { border-bottom: 1px solid var(--bb-line); }
#dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] { position: relative !important; min-height: 60px; display: flex !important; align-items: center; padding: 15px 46px 15px 4px !important; color: var(--bb-ink); cursor: pointer; transition: color .2s ease, padding-left .2s ease; }
#dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"]:hover { padding-left: 10px !important; color: var(--bb-blue); }
#dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"]::after { content: "+"; position: absolute; right: 8px; width: 28px; height: 28px; display: grid; place-items: center; color: var(--bb-blue); border: 1px solid var(--bb-line); border-radius: 50%; font-size: 20px; line-height: 1; }
#dm_content .bb-accordion .is-open > [data-grab="accordion-item-title-wrapper"]::after { content: "−"; }
#dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] svg { display: none !important; }
#dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] h3,
#dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] h3 * { margin: 0 !important; font-size: 22px !important; line-height: 1.25 !important; }
#dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] + * { overflow: hidden; transition: max-height .28s ease, opacity .22s ease; }
#dm_content .bb-accordion [hidden] { display: none !important; }
body[data-template="home"] #dm_content .bb-blog-row { background: var(--bb-mist); }
body[data-template="home"] #dm_content .bb-blog-row h2 { margin-bottom: 40px; }
#dm_content .mainBlog > .inner { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
#dm_content .mainBlog > .inner > .postArticle[hidden] { display: none !important; }
#dm_content .mainBlog > .inner > .postArticle { overflow: hidden; background: var(--bb-white); border: 1px solid var(--bb-line); border-radius: 8px; box-shadow: 0 8px 24px rgba(9, 29, 52, .07); transition: transform .24s ease, box-shadow .24s ease; }
#dm_content .mainBlog > .inner > .postArticle:hover { transform: translateY(-4px); box-shadow: var(--bb-shadow); }
#dm_content .mainBlog > .more-posts-text-container { width: fit-content !important; min-height: 48px; display: flex !important; align-items: center; justify-content: center; margin: 34px auto 0 !important; padding: 10px 24px; background: var(--bb-blue); color: var(--bb-white); border-radius: 7px; font-weight: 800; text-decoration: none; cursor: pointer; }
#dm_content .mainBlog > .more-posts-text-container[hidden] { display: none !important; }

/* Internal templates */
#dm_content .bb-breadcrumb-row { background: var(--bb-white); border-bottom: 1px solid var(--bb-line); }
#dm_content .bb-content-row.bb-breadcrumb-row > section > .grid { min-height: 54px !important; padding: 0 !important; }
#dm_content [data-auto="runtime-breadcrumbs-widget"] .bc-root { width: 100%; min-height: 54px; display: flex !important; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px 0; color: var(--bb-muted); font-size: 14px; }
#dm_content [data-auto="runtime-breadcrumbs-widget"] .bc-item, #dm_content [data-auto="runtime-breadcrumbs-widget"] .bc-current-item, #dm_content [data-auto="runtime-breadcrumbs-widget"] .bc-separator { display: inline-flex !important; align-items: center; }
#dm_content [data-auto="runtime-breadcrumbs-widget"] .bc-separator { width: 14px !important; height: 14px !important; }
body:not([data-template="home"]) #dm_content .bb-page-body-row { background: var(--bb-white); }
body:not([data-template="home"]) #dm_content .bb-page-body-row:nth-of-type(even) { background: var(--bb-mist); }
#dm_content .bb-page-layout { display: grid !important; grid-template-columns: minmax(0, 1fr) 330px !important; align-items: start !important; gap: 62px !important; }
#dm_content .bb-page-main > .flex-element.widget-wrapper + .flex-element.widget-wrapper { margin-top: 34px !important; }
#dm_content .bb-page-main h2, #dm_content .bb-page-main h3 { max-width: 24ch; margin-top: 48px; margin-bottom: 16px; }
#dm_content .bb-page-main h2:first-child, #dm_content .bb-page-main h3:first-child { margin-top: 0; }
#dm_content .bb-page-main p, #dm_content .bb-page-main li { max-width: var(--bb-reading); }
#dm_content .bb-page-sidebar { position: sticky !important; top: 94px !important; display: grid !important; gap: 22px !important; }
#dm_content .bb-page-sidebar > .flex-element.group, #dm_content .bb-review-panel, #dm_content .bb-finance-panel { padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
#dm_content .bb-page-sidebar .uw-Wrapper { padding: 24px !important; background: var(--bb-white) !important; border: 1px solid var(--bb-line) !important; border-radius: 8px; box-shadow: 0 10px 28px rgba(9, 29, 52, .08); }
#dm_content .bb-page-sidebar .single-review { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
#dm_content .bb-page-sidebar .review { width: 100% !important; padding: 20px !important; }
#dm_content .bb-page-sidebar h2, #dm_content .bb-page-sidebar h3 { max-width: none; font-size: 28px !important; }
#dm_content .bb-page-sidebar .uw-Image { width: 100px !important; height: 70px !important; min-height: 0 !important; margin: 0 auto 18px !important; object-fit: contain !important; }
#dm_content .bb-page-sidebar .uw-headline p { color: var(--bb-ink) !important; font-size: 22px !important; font-weight: 800; text-align: left !important; }
#dm_content .bb-page-sidebar .uw-bodycopy p, #dm_content .bb-page-sidebar .uw-ctaleadin p, #dm_content .bb-page-sidebar .uw-fineprint { color: var(--bb-copy) !important; font-size: 15px !important; text-align: left !important; }
body[data-template="service"] #dm_content .bb-page-main .dmPhotoGallery .layout-container,
body[data-template="location"] #dm_content .bb-page-main .dmPhotoGallery .layout-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-template="article"] #dm_content .bb-article-row > section > .grid { width: min(960px, calc(100% - 48px)) !important; padding-top: 58px !important; padding-bottom: 58px !important; }
body[data-template="article"] #dm_content .bb-article-header { background: var(--bb-sky) !important; }
body[data-template="article"] #dm_content .bb-article-header > section,
body[data-template="article"] #dm_content .bb-article-header > section > .grid,
body[data-template="article"] #dm_content .bb-article-header .flex-element.group,
body[data-template="article"] #dm_content .bb-article-header .flex-element.widget-wrapper { background: transparent !important; }
body[data-template="article"] #dm_content .bb-article-header > section > .grid { padding-top: 72px !important; padding-bottom: 52px !important; }
body[data-template="article"] #dm_content .bb-article-title { max-width: 820px; margin: 0 0 18px !important; font-size: 54px !important; text-shadow: none !important; }
body[data-template="article"] #dm_content .bb-article-content { display: block !important; }
body[data-template="article"] #dm_content .bb-article-content > section { display: block !important; }
body[data-template="article"] #dm_content .bb-article-row p, body[data-template="article"] #dm_content .bb-article-row li { max-width: var(--bb-reading); margin-right: auto; margin-left: auto; }
body[data-template="article"] #dm_content .bb-article-row h1, body[data-template="article"] #dm_content .bb-article-row h2, body[data-template="article"] #dm_content .bb-article-row h3 { max-width: var(--bb-reading); margin-right: auto; margin-left: auto; }
body[data-template="article"] #dm_content .bb-article-row img { max-height: 560px; margin: 28px auto; object-fit: cover; border-radius: 8px; }
body[data-template="institutional"] #dm_content .bb-page-body-row .grid > .group { max-width: 1040px; margin: 0 auto !important; }

/* Legacy graphic widgets must not inherit the full width of their old canvas. */
body:not([data-template="home"]) #dm_content .bb-page-body-row .widget-wrapper[data-widget-type="graphic"],
body:not([data-template="home"]) #dm_content .bb-page-body-row .graphicWidget[data-widget-type="graphic"] {
  width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
}
body:not([data-template="home"]) #dm_content .bb-page-body-row .graphicWidget[data-widget-type="graphic"] > a,
body:not([data-template="home"]) #dm_content .bb-page-body-row .graphicWidget[data-widget-type="graphic"] svg {
  width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  max-height: 72px !important;
  display: block !important;
}

/* Recovered service groups from the legacy builder. */
#dm_content .bb-icon-card-row > section > .grid { padding-top: 58px !important; padding-bottom: 58px !important; }
#dm_content .bb-icon-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 22px !important;
}
#dm_content .bb-icon-card {
  min-height: 330px !important;
  display: flex !important;
  align-items: flex-start;
  flex-direction: column;
  padding: 32px !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(241, 248, 252, .92)) !important;
  border: 1px solid rgba(63, 105, 137, .16);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(9, 29, 52, .07);
  transition: transform .28s cubic-bezier(.2, .7, .2, 1), border-color .28s ease, box-shadow .28s ease;
}
#dm_content .bb-icon-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(36, 155, 215, .42);
  box-shadow: 0 20px 42px rgba(9, 49, 80, .13);
}
#dm #dm_content .bb-icon-card > .flex-element.widget-wrapper { margin: 0 !important; }
#dm #dm_content .bb-icon-card > .widget-wrapper[data-widget-type="graphic"] {
  width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  margin-bottom: 24px !important;
  padding: 15px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: linear-gradient(145deg, var(--bb-blue-deep), var(--bb-blue-electric)) !important;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(7, 95, 159, .2);
}
#dm #dm_content .bb-icon-card > .widget-wrapper[data-widget-type="graphic"] .graphicWidget,
#dm #dm_content .bb-icon-card > .widget-wrapper[data-widget-type="graphic"] .graphicWidget > a,
#dm #dm_content .bb-icon-card > .widget-wrapper[data-widget-type="graphic"] svg {
  width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
}
#dm #dm_content .bb-icon-card > .widget-wrapper[data-widget-type="graphic"] svg { fill: var(--bb-white) !important; }
#dm_content .bb-icon-card h2,
#dm_content .bb-icon-card h3 {
  max-width: none;
  margin: 0 0 14px !important;
  font-size: 28px !important;
  text-align: left !important;
}
#dm_content .bb-icon-card p {
  max-width: none;
  margin: 0 0 24px !important;
  color: var(--bb-copy) !important;
  font-size: 16px !important;
  text-align: left !important;
}
#dm_content .bb-icon-card > .widget-wrapper[data-widget-type="link"] { margin-top: auto !important; }
#dm_content .bb-icon-card .dmButtonLink {
  width: fit-content !important;
  min-width: 138px !important;
  height: 48px !important;
}

/* Footer */
.bb-footer-cta { background: var(--bb-blue); color: var(--bb-white); }
.bb-footer-cta-inner { width: min(var(--bb-container), calc(100% - 48px)); min-height: 174px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 42px; }
.bb-footer-cta span { font-size: 15px; font-weight: 750; }
.bb-footer-title { max-width: 680px; margin: 5px 0 0; color: var(--bb-white); font-size: 40px; font-weight: 800; line-height: 1.08; }
.bb-footer-cta-inner > div:last-child { display: flex; align-items: center; gap: 20px; }
.bb-footer-cta .bb-button-light { color: var(--bb-navy); }
.bb-footer-cta .bb-footer-phone { color: var(--bb-white); font-size: 18px; font-weight: 800; }
.bb-footer-main { background: var(--bb-navy); }
.bb-footer-grid { width: min(var(--bb-container), calc(100% - 48px)); margin: 0 auto; padding: 68px 0 38px; display: grid; grid-template-columns: 1.3fr 1.05fr 1fr 1fr; gap: 48px; }
.bb-footer-grid section { min-width: 0; }
.bb-footer-heading { margin: 0 0 15px; color: var(--bb-white); font-size: 17px; font-weight: 800; }
.bb-footer-grid p { color: #b9c7d8; font-size: 15px; line-height: 1.65; }
.bb-footer-grid a, .bb-text-button { color: var(--bb-white); }
.bb-footer-grid ul { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.bb-footer-grid li a { color: #c6d2df; text-decoration: none; transition: color .2s ease; }
.bb-footer-grid li a:hover { color: #75bee9; text-decoration: underline; }
.bb-footer-brand img { width: 220px; height: auto; padding: 8px; background: var(--bb-white); border-radius: 6px; }
.bb-footer-area { grid-column: 1 / -1; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .12); }
.bb-footer-area p { max-width: 1060px; }
.bb-footer-bottom { width: min(var(--bb-container), calc(100% - 48px)); margin: 0 auto; padding: 22px 0 30px; display: flex; justify-content: space-between; gap: 20px; color: #91a2b4; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13px; }
.bb-footer-bottom div { display: flex; gap: 18px; }
.bb-footer-bottom a { color: var(--bb-white); }

/* Real 404 response body. Apache serves this file through ErrorDocument. */
.bb-not-found { min-height: 560px; display: grid; place-items: center; padding: 80px 24px; background: var(--bb-mist); text-align: center; }
.bb-not-found > div { width: min(720px, 100%); }
.bb-not-found-code { margin: 0 0 8px; color: var(--bb-blue); font-size: 18px; font-weight: 800; }
.bb-not-found h1 { margin: 0 0 18px; color: var(--bb-ink); font-size: 52px; line-height: 1.05; }
.bb-not-found p { color: var(--bb-copy); font-size: 19px; }
.bb-not-found-actions { margin: 30px 0; display: flex; justify-content: center; gap: 12px; }
.bb-not-found nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 22px; }
.bb-not-found nav a { color: var(--bb-blue); font-weight: 700; }

/* Motion never hides complete sections. */
.bb-motion-ready [data-bb-reveal="item"] { opacity: 0; transform: translateY(14px); transition: opacity .42s ease, transform .48s cubic-bezier(.2, .7, .2, 1); }
.bb-motion-ready [data-bb-reveal="item"].is-visible { opacity: 1; transform: translateY(0); }

@media (min-width: 1181px) and (max-width: 1360px) {
  .bb-header-main { width: calc(100% - 24px); grid-template-columns: 142px minmax(0, 1fr) auto; gap: 10px; }
  .bb-logo { width: 140px; }
  .bb-nav-item > a { padding-right: 4px; padding-left: 4px; font-size: 12px; }
  .bb-nav-item > a::after { right: 4px; left: 4px; }
  .bb-submenu-toggle { width: 16px; }
  .bb-header-phone { grid-template-columns: 32px auto; column-gap: 7px; }
  .bb-header-phone .bb-phone-icon { width: 32px; height: 32px; padding: 8px; }
  .bb-header-phone strong { font-size: 13px; }
  .bb-header-cta { min-width: 138px; padding-right: 14px !important; padding-left: 14px !important; font-size: 13px; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-layout { grid-template-columns: minmax(0, 1fr) 400px !important; gap: 32px !important; }
  #dm_content .bb-hero-copy h1, #dm_content .bb-hero-copy h1 span { font-size: 56px !important; }
}

@media (max-width: 1180px) {
  .bb-primary-nav, .bb-header-actions { display: none; }
  .bb-header-main { width: calc(100% - 40px); min-height: 76px; grid-template-columns: 180px 1fr 48px; }
  .bb-menu-button { grid-column: 3; width: 46px; height: 46px; display: grid; place-content: center; gap: 5px; padding: 0; background: transparent; border: 1px solid var(--bb-line); border-radius: 7px; cursor: pointer; }
  .bb-menu-button span { width: 22px; height: 2px; display: block; background: var(--bb-navy); transition: transform .2s ease, opacity .2s ease; }
  .bb-menu-open .bb-menu-button span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .bb-menu-open .bb-menu-button span:nth-child(2) { opacity: 0; }
  .bb-menu-open .bb-menu-button span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .bb-mobile-drawer { position: fixed; z-index: 940; top: 0; right: 0; width: min(390px, 90vw); height: 100dvh; display: block; overflow-y: auto; padding: 0 22px 28px; background: var(--bb-white); box-shadow: -20px 0 50px rgba(9, 29, 52, .2); transform: translateX(110%); transition: transform .28s ease; }
  .bb-menu-open .bb-mobile-drawer { transform: translateX(0); }
  .bb-mobile-drawer-head { min-height: 76px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--bb-line); }
  .bb-mobile-drawer-head strong { color: var(--bb-ink); font-size: 20px; }
  .bb-mobile-drawer-head button { width: 42px; height: 42px; padding: 0; background: transparent; color: var(--bb-navy); border: 0; font-size: 30px; cursor: pointer; }
  .bb-mobile-drawer nav > ul, .bb-mobile-drawer .bb-submenu { position: static; width: 100%; margin: 0; padding: 12px 0; display: block; background: transparent; border: 0; box-shadow: none; list-style: none; }
  .bb-mobile-drawer .bb-nav-item { min-height: 50px; display: grid; grid-template-columns: 1fr 46px; align-items: center; border-bottom: 1px solid var(--bb-line); }
  .bb-mobile-drawer .bb-nav-item > a { min-height: 50px; padding: 10px 4px; font-size: 16px; }
  .bb-mobile-drawer .bb-nav-item > a::after { content: none; }
  .bb-mobile-drawer .bb-submenu-toggle { grid-column: 2; grid-row: 1; width: 46px; height: 46px; margin: 0; }
  .bb-mobile-drawer .bb-submenu { grid-column: 1 / -1; display: none; padding: 0 0 10px 16px; }
  .bb-mobile-drawer .is-open > .bb-submenu { display: block; }
  .bb-mobile-drawer .bb-submenu .bb-nav-item { min-height: 42px; border-bottom: 0; }
  .bb-mobile-drawer .bb-submenu a { min-height: 42px; padding: 8px 10px; color: var(--bb-copy); font-size: 14px; }
  .bb-mobile-drawer-actions { display: grid; gap: 12px; padding-top: 22px; }
  .bb-mobile-drawer-actions > a:first-child { color: var(--bb-navy); font-size: 20px; font-weight: 800; text-align: center; }
  .bb-drawer-overlay { position: fixed; z-index: 930; inset: 0; display: block; visibility: hidden; opacity: 0; background: rgba(5, 16, 29, .56); border: 0; cursor: pointer; transition: opacity .25s ease, visibility .25s ease; }
  .bb-menu-open .bb-drawer-overlay { visibility: visible; opacity: 1; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-layout { grid-template-columns: minmax(0, 1fr) 370px !important; gap: 46px !important; }
  #dm_content .bb-hero-copy h1, #dm_content .bb-hero-copy h1 span { font-size: 56px !important; }
}

@media (max-width: 900px) {
  :root { --bb-header-height: 76px; }
  .bb-utility-bar { display: none; }
  .bb-header-main { min-height: 76px; }
  .bb-site-header.is-scrolled .bb-header-main { min-height: 66px; }
  .bb-logo, .bb-site-header.is-scrolled .bb-logo { width: 170px; }
  #dm_content .bb-content-row:not(.bb-hero-row) > section > .grid { padding-top: 68px !important; padding-bottom: 68px !important; }
  #dm_content .bb-hero-row, #dm_content .bb-hero-row > section, #dm_content .bb-hero-row > section > .grid { min-height: 0 !important; }
  #dm_content .bb-hero-row > section > .grid { padding: 68px 24px !important; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 42px !important; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-copy,
  #dm_content .bb-hero-row .flex-element.group.bb-hero-form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 620px !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-self: start !important;
    box-sizing: border-box !important;
  }
  body[data-template="home"] #dm_content .bb-intro-row .grid > .group > .group > .group:last-child,
  body[data-template="home"] #dm_content .bb-trust-row .grid > .group > .group > .group:last-child > .group { grid-template-columns: 1fr !important; gap: 38px !important; }
  body[data-template="home"] #dm_content .bb-trust-row .imageWidget img { min-height: 430px; }
  body[data-template="home"] #dm_content .bb-services-row .grid > .group { grid-template-columns: 1fr !important; }
  body[data-template="home"] #dm_content .bb-service-card { min-height: 0; padding: 32px 8px !important; border-top: 1px solid var(--bb-line); border-left: 0; }
  body[data-template="home"] #dm_content .bb-service-card:first-child { border-top: 0; }
  body[data-template="home"] #dm_content .bb-promo-row .grid > .group { grid-template-columns: 1fr !important; }
  body[data-template="home"] #dm_content .bb-promo-row .uw-Wrapper { padding: 44px !important; }
  body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group { grid-template-columns: 1fr !important; }
  #dm_content .dmPhotoGallery .layout-container, .bb-gallery-index { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #dm_content .mainBlog > .inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #dm_content .bb-page-layout { grid-template-columns: 1fr !important; gap: 46px !important; }
  #dm_content .bb-icon-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #dm_content .bb-page-sidebar { position: static !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bb-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; }
}

@media (max-width: 620px) {
  body.bb-redesign { padding-bottom: 64px; }
  .bb-header-main { width: calc(100% - 28px); grid-template-columns: 152px 1fr 44px; }
  .bb-logo, .bb-site-header.is-scrolled .bb-logo { width: 150px; }
  .bb-menu-button { width: 42px; height: 42px; }
  .bb-mobile-actions { position: fixed; z-index: 880; right: 0; bottom: 0; left: 0; min-height: 64px; display: grid; grid-template-columns: 1fr 1fr; padding-bottom: env(safe-area-inset-bottom); background: var(--bb-white); border-top: 1px solid var(--bb-line); box-shadow: 0 -8px 24px rgba(9, 29, 52, .12); }
  .bb-mobile-actions a { display: flex; align-items: center; justify-content: center; padding: 10px; color: var(--bb-navy); font-size: 14px; font-weight: 800; text-align: center; text-decoration: none; }
  .bb-mobile-actions a:last-child { background: var(--bb-blue); color: var(--bb-white); }
  #dm_content .bb-content-row:not(.bb-hero-row) > section > .grid { width: calc(100% - 32px) !important; padding-top: 54px !important; padding-bottom: 54px !important; }
  #dm_content h1 { font-size: 42px !important; }
  #dm_content h2 { font-size: 34px !important; }
  #dm_content h3 { font-size: 27px !important; }
  #dm_content p, #dm_content li { font-size: 17px; }
  #dm_content .bb-hero-row > section > .grid { padding: 54px 16px !important; background-position: 56% center !important; }
  #dm_content .bb-hero-row > section > .grid::before { background: rgba(7, 20, 37, .72); }
  #dm_content .bb-hero-copy h1, #dm_content .bb-hero-copy h1 span, body:not([data-template="home"]) #dm_content .bb-hero-copy h1, body:not([data-template="home"]) #dm_content .bb-hero-copy h1 span { font-size: 44px !important; }
  #dm_content .bb-hero-copy h2, #dm_content .bb-hero-copy h2 span { font-size: 24px !important; }
  #dm_content .bb-hero-copy p, #dm_content .bb-hero-copy p span { font-size: 17px !important; }
  #dm_content .bb-hero-form { padding: 22px 18px !important; }
  #dm_content .bb-hero-form h5, #dm_content .bb-hero-form h5 span { font-size: 22px !important; }
  .bb-form-grid { grid-template-columns: 1fr; gap: 11px; }
  .bb-form-actions { align-items: stretch; flex-direction: column; }
  .bb-form-actions .bb-button { width: 100%; }
  body[data-template="home"] #dm_content .bb-intro-row h3, body[data-template="home"] #dm_content .bb-trust-row h2, body[data-template="home"] #dm_content .bb-faq-row h3:first-of-type { font-size: 34px !important; }
  body[data-template="home"] #dm_content .bb-trust-row .imageWidget img { min-height: 320px; }
  body[data-template="home"] #dm_content .bb-promo-row { padding: 40px 0; }
  body[data-template="home"] #dm_content .bb-promo-row > section > .grid { width: calc(100% - 32px) !important; }
  body[data-template="home"] #dm_content .bb-promo-row .imageWidget img { min-height: 300px; }
  body[data-template="home"] #dm_content .bb-promo-row .uw-Wrapper { padding: 32px 22px !important; }
  body[data-template="home"] #dm_content .bb-promo-row .uw-headline p { font-size: 30px !important; }
  body[data-template="home"] #dm_content .bb-testimonials-row { padding: 40px 0; }
  body[data-template="home"] #dm_content .bb-testimonials-row > section > .grid { width: calc(100% - 32px) !important; }
  body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group > .group:first-child, body[data-template="home"] #dm_content .bb-testimonials-row .grid > .group > .group:last-child { padding: 28px 22px !important; }
  #dm_content .dmPhotoGallery .layout-container, .bb-gallery-index { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  #dm_content .mainBlog > .inner { grid-template-columns: 1fr; }
  .bb-gallery-filters { flex-wrap: wrap; overflow: visible; gap: 7px; padding-bottom: 12px; }
  .bb-gallery-filter { flex: 1 1 calc(50% - 7px); justify-content: space-between; padding-right: 11px; padding-left: 11px; }
  .bb-gallery-lightbox { padding: 70px 10px 28px; }
  .bb-gallery-nav { top: auto; bottom: 16px; width: 44px; height: 44px; transform: none; }
  .bb-gallery-prev { left: 16px; }
  .bb-gallery-next { right: 16px; }
  #dm_content .bb-page-sidebar { grid-template-columns: 1fr; }
  #dm_content .bb-icon-card-grid { grid-template-columns: 1fr !important; }
  #dm_content .bb-icon-card { min-height: 0 !important; padding: 26px !important; }
  body[data-template="article"] #dm_content .bb-article-row > section > .grid { width: calc(100% - 32px) !important; }
  .bb-footer-cta-inner { width: calc(100% - 32px); min-height: 0; padding: 44px 0; align-items: flex-start; flex-direction: column; gap: 24px; }
  .bb-footer-title { font-size: 32px; }
  .bb-footer-cta-inner > div:last-child { width: 100%; align-items: flex-start; flex-direction: column; }
  .bb-footer-grid { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 34px; }
  .bb-footer-bottom { width: calc(100% - 32px); align-items: flex-start; flex-direction: column; }
  .bb-not-found { min-height: 460px; padding: 54px 18px; }
  .bb-not-found h1 { font-size: 38px; }
  .bb-not-found-actions { align-items: stretch; flex-direction: column; }
}

/* Final legacy-builder overrides: these remain last so old generated rules cannot
   reintroduce large section padding or button styling. */
#dm #dm_content .bb-content-row.bb-breadcrumb-row:not(.bb-hero-row) > section > .flex-element.grid {
  min-height: 54px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#dm #dm_content .mainBlog > a.more-posts-text-container {
  width: fit-content !important;
  min-width: 148px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 34px auto 0 !important;
  padding: 11px 24px !important;
  background: var(--bb-blue) !important;
  color: var(--bb-white) !important;
  border: 1px solid var(--bb-blue) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
#dm #dm_content .mainBlog > a.more-posts-text-container:hover {
  background: var(--bb-blue-dark) !important;
  border-color: var(--bb-blue-dark) !important;
  transform: translateY(-2px);
}
#dm #dm_content .mainBlog > a.more-posts-text-container .morePosts {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
body[data-template="article"] #dm #dm_content .bb-article-header,
body[data-template="article"] #dm #dm_content .bb-article-header > section,
body[data-template="article"] #dm #dm_content .bb-article-header > section > .grid {
  background-color: var(--bb-sky) !important;
  background-image: none !important;
  filter: none !important;
  opacity: 1 !important;
}
body[data-template="article"] #dm #dm_content .bb-article-title,
body[data-template="article"] #dm #dm_content .bb-article-title * {
  text-shadow: none !important;
  filter: none !important;
}

/* Premium visual refinement: presentation only; legacy content remains in place. */
:root {
  --bb-blue-deep: #064876;
  --bb-blue-electric: #249bd7;
  --bb-glass-line: rgba(255, 255, 255, .42);
  --bb-blue-glow: 0 16px 36px rgba(10, 111, 175, .24);
}

.bb-icon, .bb-phone-icon, .bb-button-icon, .bb-field-icon, .bb-benefit-icon, .bb-trust-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}
.bb-button, #dm_content .dmButtonLink { gap: 9px; overflow: hidden; }
.bb-button-primary, #dm_content .dmButtonLink {
  background-color: var(--bb-blue) !important;
  background-image: linear-gradient(112deg, var(--bb-blue-deep), var(--bb-blue) 50%, var(--bb-blue-electric)) !important;
  background-size: 180% 100% !important;
  box-shadow: 0 10px 26px rgba(7, 95, 159, .18);
  transition: transform .24s ease, background-position .34s ease, box-shadow .24s ease, filter .24s ease;
}
.bb-button-primary:hover, #dm_content .dmButtonLink:hover {
  background-position: 100% 0 !important;
  box-shadow: var(--bb-blue-glow);
  filter: brightness(1.04);
}
.bb-button .bb-button-icon, #dm_content .dmButtonLink .bb-phone-icon { transition: transform .24s ease; }
.bb-button:hover .bb-button-icon { transform: translateX(3px); }
#dm_content .dmButtonLink:hover .bb-phone-icon { transform: rotate(-8deg) scale(1.05); }

/* Header depth and mobile actions */
.bb-site-header { isolation: isolate; }
.bb-site-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(36, 155, 215, .56), transparent);
  opacity: 0;
  transition: opacity .25s ease;
}
.bb-site-header.is-scrolled::after { opacity: 1; }
.bb-header-phone {
  grid-template-columns: 36px auto;
  column-gap: 9px;
  align-items: center;
}
.bb-header-phone .bb-phone-icon {
  grid-row: 1 / 3;
  width: 36px;
  height: 36px;
  padding: 9px;
  background: var(--bb-sky);
  color: var(--bb-blue);
  border-radius: 50%;
}
.bb-header-phone:hover .bb-phone-icon { background: var(--bb-blue); color: var(--bb-white); }
.bb-header-main { grid-template-columns: 168px minmax(0, 1fr) auto; gap: 16px; }
.bb-logo { width: 158px; }
.bb-nav-item > a { padding-right: 5px; padding-left: 5px; font-size: 13px; }
.bb-nav-item > a::after { right: 5px; left: 5px; }
.bb-submenu-toggle { width: 18px; margin-left: -4px; }
.bb-header-actions { gap: 10px; }
.bb-header-cta { min-width: 154px; }
.bb-header-phone strong { font-size: 15px; }
.bb-mobile-header-call { display: none; }
.bb-mobile-drawer-head > a { width: 172px; display: block; }
.bb-mobile-drawer-head img { width: 100%; height: auto; display: block; }
.bb-mobile-drawer-actions > a:first-child, .bb-footer-phone { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }

/* Immersive hero: animated light pass, glass benefits and restrained depth. */
#dm_content .bb-hero-row { isolation: isolate; }
#dm_content .bb-hero-row > section > .flex-element.grid {
  background-color: var(--bb-navy) !important;
  background-position: center 46% !important;
}
#dm_content .bb-hero-row > section > .flex-element.grid::before {
  background:
    linear-gradient(90deg, rgba(5, 17, 34, .94) 0%, rgba(6, 37, 65, .79) 48%, rgba(7, 65, 104, .42) 100%),
    linear-gradient(180deg, rgba(5, 17, 34, .08), rgba(5, 17, 34, .4));
}
#dm_content .bb-hero-row > section > .flex-element.grid::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 0 42%, rgba(76, 181, 232, .13) 49%, transparent 56% 100%);
  background-size: 240% 100%;
  animation: bb-hero-light-pass 10s ease-in-out infinite;
}
#dm_content .bb-hero-copy::before {
  content: "BlueBird Fence Inc";
  min-height: 28px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  margin-bottom: 20px;
  padding: 5px 12px;
  background: rgba(43, 154, 211, .14);
  color: #a8ddf8;
  border: 1px solid rgba(111, 199, 241, .32);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
#dm_content .bb-hero-copy h1, #dm_content .bb-hero-copy h1 span {
  max-width: 15ch;
  margin-bottom: 20px !important;
  text-shadow: 0 10px 34px rgba(0, 0, 0, .34);
}
#dm_content .bb-hero-copy h1::after {
  width: 86px;
  height: 4px;
  margin-top: 24px;
  background: linear-gradient(90deg, #5bc0f0, rgba(91, 192, 240, .12));
  box-shadow: 0 0 18px rgba(91, 192, 240, .34);
}
#dm_content .bb-hero-benefits {
  max-width: 650px !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px !important;
}
#dm_content .bb-hero-benefits .bb-hero-benefit {
  min-height: 44px;
  width: auto !important;
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: rgba(7, 30, 53, .44);
  color: var(--bb-white) !important;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 7px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09);
  backdrop-filter: blur(9px);
  font-size: 14px !important;
  font-weight: 700;
  transition: transform .24s ease, border-color .24s ease, background-color .24s ease;
}
#dm_content .bb-hero-benefits .bb-hero-benefit:hover {
  transform: translateY(-2px);
  background: rgba(10, 92, 145, .48);
  border-color: rgba(101, 198, 241, .55);
}
#dm_content .bb-benefit-icon { width: 18px; height: 18px; color: #75cdf4; }
#dm_content .bb-hero-row .flex-element.group.bb-hero-form {
  position: relative !important;
  padding: 28px !important;
  background: rgba(250, 253, 255, .91) !important;
  border: 1px solid var(--bb-glass-line);
  box-shadow: 0 28px 72px rgba(2, 14, 28, .34), 0 0 42px rgba(31, 145, 207, .12);
  backdrop-filter: blur(18px) saturate(120%);
}
#dm_content .bb-hero-form::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 28px;
  left: 28px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #3db0e7, transparent);
  box-shadow: 0 0 16px rgba(61, 176, 231, .45);
}
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row),
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) > section,
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) > section > .flex-element.grid { min-height: 420px !important; }
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) .bb-hero-copy { max-width: 850px !important; }
body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) .bb-hero-copy h1 { max-width: 15ch; }

/* Refined forms with local icons and clear interaction states. */
.bb-form-grid { gap: 14px; }
.bb-field { position: relative; gap: 7px; }
.bb-field label {
  color: #26384d;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.bb-field-control { position: relative; }
.bb-field-icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 14px;
  color: #47708f;
  pointer-events: none;
  transform: translateY(-50%);
  transition: color .22s ease, transform .22s ease;
}
.bb-field-control-textarea .bb-field-icon { top: 17px; transform: none; }
.bb-field input, .bb-field select, .bb-field textarea {
  min-height: 52px !important;
  padding: 11px 14px 11px 44px !important;
  background: rgba(255, 255, 255, .78) !important;
  border-color: rgba(77, 107, 132, .28) !important;
  box-shadow: inset 0 1px 2px rgba(11, 35, 58, .025) !important;
}
.bb-field textarea { min-height: 124px !important; padding-top: 13px !important; }
.bb-field-control:hover input, .bb-field-control:hover select, .bb-field-control:hover textarea { border-color: rgba(7, 95, 159, .48) !important; }
.bb-field-control:focus-within .bb-field-icon { color: var(--bb-blue); transform: translateY(-50%) scale(1.06); }
.bb-field-control-textarea:focus-within .bb-field-icon { transform: scale(1.06); }
.bb-field input:focus, .bb-field select:focus, .bb-field textarea:focus {
  background: var(--bb-white) !important;
  border-color: var(--bb-blue-bright) !important;
  box-shadow: 0 0 0 4px rgba(22, 131, 197, .12), 0 8px 20px rgba(10, 82, 127, .07) !important;
}
.bb-form-actions .bb-button { min-height: 52px !important; }
.bb-form-compact .bb-form-grid { gap: 10px; }
.bb-form-compact .bb-form-actions { margin-top: 14px; }
.bb-form-compact .bb-form-privacy { text-align: center; }
.bb-field input::placeholder, .bb-field textarea::placeholder, .bb-zip-search input::placeholder { color: #6f7f90 !important; font-weight: 400 !important; opacity: 1; }
.bb-address-suggestions {
  position: absolute;
  z-index: 40;
  top: calc(100% - 1px);
  right: 0;
  left: 0;
  overflow: hidden;
  background: var(--bb-white);
  border: 1px solid rgba(77, 107, 132, .28);
  border-radius: 6px;
  box-shadow: 0 18px 38px rgba(7, 29, 52, .16);
}
.bb-address-suggestions[hidden], .bb-projects-near-you-result[hidden] { display: none !important; }
.bb-address-suggestion {
  width: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
  padding: 10px 13px;
  background: var(--bb-white);
  color: var(--bb-ink);
  border: 0;
  border-bottom: 1px solid var(--bb-line);
  text-align: left;
  cursor: pointer;
}
.bb-address-suggestion:last-child { border-bottom: 0; }
.bb-address-suggestion:hover, .bb-address-suggestion[aria-selected="true"] { background: #edf6fb; }
.bb-address-suggestion strong { font-size: 13px; line-height: 1.35; }
.bb-address-suggestion span { color: var(--bb-muted); font-size: 11px; line-height: 1.35; }
.bb-projects-near-you {
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid rgba(77, 107, 132, .16);
}
.bb-projects-near-you-intro { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 10px; }
.bb-projects-near-you-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  background: #eaf5fb;
  color: var(--bb-blue);
  border: 1px solid rgba(7, 95, 159, .16);
  border-radius: 6px;
}
.bb-projects-near-you-icon svg { width: 18px; height: 18px; }
.bb-projects-near-you-intro strong { display: block; color: var(--bb-ink); font-size: 14px; line-height: 1.3; }
.bb-projects-near-you-intro p { margin: 2px 0 0 !important; color: var(--bb-muted) !important; font-size: 11px !important; line-height: 1.4 !important; }
.bb-zip-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; margin-top: 11px; }
.bb-zip-search input {
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 9px 12px 9px 42px !important;
  background: rgba(255, 255, 255, .84) !important;
  color: var(--bb-ink) !important;
  border: 1px solid rgba(77, 107, 132, .28) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font: inherit !important;
}
.bb-zip-search input:focus { background: var(--bb-white) !important; border-color: var(--bb-blue-bright) !important; box-shadow: 0 0 0 4px rgba(22, 131, 197, .12) !important; outline: none; }
.bb-zip-search-button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  background: var(--bb-navy);
  color: var(--bb-white);
  border: 0;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color .22s ease, transform .22s ease, opacity .22s ease;
}
.bb-zip-search-button svg { width: 15px; height: 15px; }
.bb-zip-search-button:hover { background: var(--bb-blue); transform: translateY(-1px); }
.bb-zip-search-button:disabled { cursor: wait; opacity: .65; transform: none; }
.bb-location-status { min-height: 0; margin: 7px 0 0 !important; color: var(--bb-muted) !important; font-size: 11px !important; line-height: 1.4 !important; }
.bb-location-status:not(:empty) { min-height: 15px; }
.bb-location-status.is-error { color: #934230 !important; }
.bb-projects-near-you-result { margin-top: 11px; animation: bb-location-expand .3s ease-out both; }
.bb-projects-near-you-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 8px; }
.bb-projects-near-you-copy strong { color: var(--bb-ink); font-size: 14px; line-height: 1.3; }
.bb-projects-near-you-copy span { flex: 0 0 auto; color: var(--bb-blue); font-size: 11px; font-weight: 800; }
.bb-project-map { height: 245px; overflow: hidden; background: #e8eef2; border: 1px solid rgba(77, 107, 132, .2); border-radius: 8px; }
.bb-map-privacy { margin: 6px 0 0 !important; color: var(--bb-muted) !important; font-size: 10px !important; line-height: 1.4 !important; }
.bb-project-map .leaflet-popup-content-wrapper { border-radius: 8px; box-shadow: 0 12px 28px rgba(7, 29, 52, .16); }
.bb-project-map .leaflet-popup-content { margin: 12px 14px; color: var(--bb-ink); font: 12px/1.45 Arial, sans-serif; }
.bb-project-map .leaflet-popup-content strong { color: var(--bb-blue); font-size: 13px; }
.bb-project-map .leaflet-control-attribution { font-size: 8px; }

@keyframes bb-location-expand {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* High-contrast trust icons and gentle interaction. */
body[data-template="home"] #dm_content .bb-trust-row {
  background: linear-gradient(135deg, #eef7fb 0%, #e3f0f7 100%);
}
body[data-template="home"] #dm_content .bb-trust-row .bb-trust-benefit {
  transition: transform .24s ease, border-color .24s ease;
}
body[data-template="home"] #dm_content .bb-trust-row .bb-trust-benefit:hover { transform: translateX(6px); border-color: rgba(7, 95, 159, .38); }
body[data-template="home"] #dm_content .bb-trust-row .IconBulletText { display: none !important; }
body[data-template="home"] #dm_content .bb-trust-row .bb-trust-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  padding: 10px;
  background: linear-gradient(145deg, var(--bb-blue), var(--bb-blue-bright));
  color: var(--bb-white);
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 7px;
  box-shadow: 0 8px 20px rgba(7, 95, 159, .22), inset 0 1px 0 rgba(255, 255, 255, .22);
}

/* Gallery presentation: the existing filtering and HTML remain unchanged. */
body[data-template="gallery"] #dm_content .bb-gallery-page-section {
  background: linear-gradient(180deg, #f5f9fc 0, var(--bb-white) 320px);
}
.bb-gallery-page-heading { position: relative !important; padding-bottom: 22px !important; }
.bb-gallery-page-heading::before {
  content: "Project Gallery";
  display: block;
  margin-bottom: 8px;
  color: var(--bb-blue);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.bb-gallery-page-heading::after {
  content: "";
  width: 88px;
  height: 3px;
  display: block;
  background: linear-gradient(90deg, var(--bb-blue), var(--bb-blue-electric), transparent);
  box-shadow: 0 0 14px rgba(36, 155, 215, .2);
}
.bb-gallery-page-heading h3 { margin-bottom: 14px !important; }
.bb-gallery-controls {
  margin-bottom: 26px;
  padding: 12px 14px 9px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(90, 120, 145, .16);
  border-radius: 8px;
  box-shadow: 0 12px 34px rgba(9, 29, 52, .07);
  backdrop-filter: blur(12px);
}
.bb-gallery-filters { padding-bottom: 11px; border-bottom-color: rgba(90, 120, 145, .16); }
.bb-gallery-filter {
  position: relative;
  overflow: hidden;
  background: rgba(242, 247, 250, .82);
  border-color: rgba(84, 111, 133, .24);
  transition: transform .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.bb-gallery-filter:hover { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(7, 95, 159, .1); }
.bb-gallery-filter.is-active {
  background-color: var(--bb-blue);
  background-image: linear-gradient(110deg, var(--bb-blue-deep), var(--bb-blue-electric));
  box-shadow: 0 9px 22px rgba(7, 95, 159, .22);
}
#dm_content .dmPhotoGallery .photoGalleryThumbs {
  border: 1px solid rgba(79, 111, 137, .16);
  box-shadow: 0 9px 24px rgba(9, 29, 52, .08);
  transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease, border-color .3s ease;
}
#dm_content .dmPhotoGallery .photoGalleryThumbs:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(36, 155, 215, .48);
  box-shadow: 0 18px 34px rgba(9, 49, 80, .16), 0 0 0 1px rgba(36, 155, 215, .08);
}
#dm_content .dmPhotoGallery a[data-bb-gallery]::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(5, 21, 38, .58));
  opacity: 0;
  transition: opacity .3s ease;
}
#dm_content .dmPhotoGallery a[data-bb-gallery]::after { z-index: 2; }
#dm_content .dmPhotoGallery a[data-bb-gallery]:hover::before, #dm_content .dmPhotoGallery a[data-bb-gallery]:focus-visible::before { opacity: 1; }
.bb-gallery-load-more {
  background-image: linear-gradient(112deg, var(--bb-navy), var(--bb-blue));
  box-shadow: 0 10px 24px rgba(9, 29, 52, .14);
  transition: transform .22s ease, box-shadow .22s ease, background-position .3s ease;
}
.bb-gallery-load-more:hover { transform: translateY(-2px); box-shadow: var(--bb-blue-glow); }
.bb-copy-toggle { display: none; }

/* Entry choreography remains optional and never controls indexable content. */
.bb-motion-ready [data-bb-reveal="item"] {
  transition-delay: var(--bb-reveal-delay, 0ms);
  transition-duration: .58s;
  transition-timing-function: cubic-bezier(.2, .72, .2, 1);
}
.bb-motion-ready .bb-hero-copy, .bb-motion-ready .bb-hero-form {
  opacity: 1;
  transform: none;
}
.bb-motion-ready.bb-page-ready .bb-hero-copy { animation: bb-hero-arrive .48s ease-out both; }
.bb-motion-ready.bb-page-ready .bb-hero-form { animation: bb-hero-arrive .54s .06s ease-out both; }

@keyframes bb-hero-light-pass {
  0%, 24% { background-position: 140% 0; opacity: .5; }
  62%, 100% { background-position: -100% 0; opacity: 1; }
}

@keyframes bb-hero-arrive {
  from { opacity: .82; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1181px) and (max-width: 1360px) {
  .bb-header-main { width: calc(100% - 24px); grid-template-columns: 142px minmax(0, 1fr) auto; gap: 10px; }
  .bb-logo { width: 140px; }
  .bb-nav-item > a { padding-right: 4px; padding-left: 4px; font-size: 12px; }
  .bb-nav-item > a::after { right: 4px; left: 4px; }
  .bb-submenu-toggle { width: 16px; }
  .bb-header-phone { grid-template-columns: 32px auto; column-gap: 7px; }
  .bb-header-phone .bb-phone-icon { width: 32px; height: 32px; padding: 8px; }
  .bb-header-phone strong { font-size: 13px; }
  .bb-header-cta { min-width: 138px; padding-right: 14px !important; padding-left: 14px !important; font-size: 13px; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-layout { grid-template-columns: minmax(0, 1fr) 360px !important; gap: 38px !important; }
  #dm_content .bb-hero-copy h1, #dm_content .bb-hero-copy h1 span { font-size: 56px !important; }
}

@media (max-width: 1180px) {
  .bb-mobile-header-call {
    grid-column: 2;
    justify-self: end;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    background: var(--bb-sky);
    color: var(--bb-blue);
    border: 1px solid rgba(7, 95, 159, .18);
    border-radius: 7px;
  }
  .bb-header-main { grid-template-columns: 180px 1fr 48px 48px; gap: 10px; }
  .bb-menu-button { grid-column: 4; }
}

@media (max-width: 900px) {
  #dm_content .bb-hero-row > section > .flex-element.grid { background-position: 60% center !important; }
  #dm_content .bb-hero-row > section > .flex-element.grid::before {
    background: linear-gradient(90deg, rgba(5, 17, 34, .93), rgba(6, 38, 67, .76) 66%, rgba(7, 65, 104, .54));
  }
  #dm_content .bb-hero-benefits { max-width: 600px !important; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-form { background: rgba(251, 253, 255, .96) !important; }
}

@media (max-width: 620px) {
  .bb-header-main { grid-template-columns: minmax(132px, 1fr) 42px 42px; gap: 8px; }
  .bb-mobile-header-call { grid-column: 2; width: 42px; height: 42px; }
  .bb-menu-button { grid-column: 3; }
  .bb-mobile-actions { background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px); }
  .bb-mobile-actions a { gap: 7px; }
  .bb-mobile-actions a:first-child { color: var(--bb-blue); }
  .bb-mobile-actions a:last-child { background-image: linear-gradient(112deg, var(--bb-blue-deep), var(--bb-blue-electric)); box-shadow: inset 1px 0 rgba(255, 255, 255, .16); }
  .bb-mobile-actions .bb-phone-icon, .bb-mobile-actions .bb-button-icon { width: 18px; height: 18px; }
  #dm_content .bb-hero-row > section > .flex-element.grid { padding-top: 48px !important; padding-bottom: 54px !important; }
  #dm_content .bb-hero-copy::before { margin-bottom: 16px; }
  #dm_content .bb-hero-copy h1, #dm_content .bb-hero-copy h1 span { max-width: 13ch; }
  #dm_content .bb-hero-benefits { gap: 7px; }
  #dm_content .bb-hero-benefits .bb-hero-benefit { min-height: 40px; padding: 7px 10px !important; font-size: 13px !important; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-form { padding: 22px 16px !important; }
  #dm_content .bb-hero-row .flex-element.group.bb-hero-layout { gap: 30px !important; }
  .bb-form-proof { margin-bottom: 11px; padding-bottom: 10px; }
  .bb-form-compact .bb-form-grid { grid-template-columns: 1fr; gap: 8px; }
  .bb-form-compact .bb-field { gap: 4px; }
  .bb-form-compact .bb-field label { font-size: 10px; }
  .bb-form-compact .bb-form-actions { margin-top: 11px; gap: 10px; }
  .bb-field input, .bb-field select { min-height: 50px !important; }
  body[data-template="home"] #dm_content .bb-intro-row > section > .grid,
  body[data-template="home"] #dm_content .bb-trust-row > section > .grid,
  body[data-template="home"] #dm_content .bb-services-row > section > .grid,
  body[data-template="home"] #dm_content .bb-gallery-row > section > .grid,
  body[data-template="home"] #dm_content .bb-faq-row > section > .grid { padding-top: 46px !important; padding-bottom: 46px !important; }
  body[data-template="home"] #dm_content .bb-intro-row h3,
  body[data-template="home"] #dm_content .bb-trust-row h2 { margin-bottom: 30px !important; }
  #dm_content .bb-mobile-collapsible { position: relative; transition: max-height .28s ease; }
  #dm_content .bb-mobile-collapsible.is-collapsed { max-height: 8.1em; overflow: hidden; }
  #dm_content .bb-mobile-collapsible.is-collapsed::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 44px; background: linear-gradient(transparent, var(--bb-white)); pointer-events: none; }
  body[data-template="home"] #dm_content .bb-faq-row .bb-mobile-collapsible.is-collapsed::after { background: linear-gradient(transparent, var(--bb-white)); }
  .bb-copy-toggle { min-height: 42px; display: inline-flex; align-items: center; margin: 8px 0 20px; padding: 7px 0; background: transparent; color: var(--bb-blue); border: 0; border-bottom: 1px solid rgba(7, 95, 159, .35); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
  body[data-template="home"] #dm_content .bb-service-card p { margin-bottom: 0; }
  #dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] { min-height: 56px; padding-top: 12px !important; padding-bottom: 12px !important; }
  #dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] h3,
  #dm_content .bb-accordion [data-grab="accordion-item-title-wrapper"] h3 * { font-size: 19px !important; line-height: 1.3 !important; }
  body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row),
  body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) > section,
  body:not([data-template="home"]) #dm_content .bb-hero-row:not(.bb-form-row) > section > .flex-element.grid { min-height: 350px !important; }
  .bb-gallery-controls { margin-right: -4px; margin-left: -4px; padding: 10px 10px 7px; }
  .bb-gallery-page-heading h3 { font-size: 36px !important; }
}

/* UX refinement: cleaner forms, verified financing offer and unified support panels. */
.bb-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.bb-field { gap: 4px; }
.bb-form-grid { gap: 13px 15px; }
.bb-form-compact .bb-form-grid { gap: 12px 14px; }
.bb-field input, .bb-field select, .bb-field textarea {
  min-width: 0 !important;
  box-sizing: border-box !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}
.bb-form-compact .bb-field input,
.bb-form-compact .bb-field select { font-size: 14px !important; }
.bb-field input::placeholder, .bb-field textarea::placeholder {
  color: #778596 !important;
  font-weight: 400 !important;
  opacity: 1;
}
#dm #dm_content .bb-field input::placeholder,
#dm #dm_content .bb-field textarea::placeholder {
  color: #778596 !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}
.bb-field select:invalid { color: #778596 !important; font-weight: 400 !important; }
.bb-field-error:not(:empty) { margin-top: 2px; }

/* The company name is a quiet editorial marker, not a pill. */
#dm_content .bb-hero-copy::before {
  min-height: 0;
  margin-bottom: 22px;
  padding: 1px 0 1px 12px;
  background: transparent;
  color: #b9e4f8;
  border: 0;
  border-left: 3px solid #54b6e5;
  border-radius: 0;
  font-size: 12px;
  letter-spacing: 0;
}
#dm_content .bb-hero-benefits .bb-financing-benefit {
  position: relative;
  overflow: hidden;
  flex: 0 0 320px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  width: 320px !important;
  min-height: 78px !important;
  padding: 15px 20px !important;
  justify-content: flex-start;
  gap: 18px !important;
  background:
    linear-gradient(135deg, rgba(28, 125, 80, .98) 0%, rgba(18, 96, 66, .95) 54%, rgba(9, 74, 53, .98) 100%);
  color: var(--bb-white) !important;
  border: 1px solid rgba(151, 239, 190, .72) !important;
  box-shadow:
    0 18px 42px rgba(2, 36, 25, .32),
    inset 0 1px rgba(255, 255, 255, .2),
    0 0 0 1px rgba(255, 255, 255, .06);
  font-size: 0 !important;
}
#dm_content .bb-hero-benefits .bb-financing-benefit::before {
  content: "";
  position: absolute;
  inset: -40% auto -40% -35%;
  width: 72%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
  transform: rotate(14deg);
  animation: bb-finance-shine 4.8s ease-in-out infinite;
}
#dm #dm_content p.bb-financing-benefit {
  color: transparent !important;
  font-size: 0 !important;
}
#dm_content .bb-hero-benefits .bb-financing-benefit::after {
  content: "12-Month 0% APR Financing*";
  position: relative;
  color: var(--bb-white);
  font-size: 23px;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: 0;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}
#dm_content .bb-financing-benefit .bb-benefit-icon {
  position: relative;
  flex: 0 0 32px;
  width: 32px !important;
  height: 32px !important;
  color: #d9ffe9;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .2));
}
#dm_content .bb-has-financing-offer .bb-hero-benefits::after {
  content: "*For qualified buyers, subject to approved credit. Terms, conditions, administrative fee and eligibility requirements apply.";
  flex: 0 0 100%;
  margin-top: 2px;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
}

/* Full-width seasonal campaign, with a contained editorial split. */
body[data-template="home"] #dm_content .bb-promo-row {
  padding: 0;
  background: var(--bb-navy);
}
body[data-template="home"] #dm_content .bb-promo-row > section > .grid {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
body[data-template="home"] #dm_content .bb-promo-row .grid > .group {
  width: min(1480px, 100%) !important;
  margin: 0 auto !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(460px, .92fr) !important;
  background: var(--bb-navy) !important;
  border-radius: 0;
  box-shadow: none;
}
body[data-template="home"] #dm_content .bb-promo-row .imageWidget img {
  min-height: 570px;
  max-height: 650px;
}
body[data-template="home"] #dm_content .bb-promo-row .uw-Wrapper {
  min-height: 570px;
  padding: clamp(48px, 5.4vw, 88px) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(36, 155, 215, .17), transparent 34%),
    var(--bb-navy) !important;
}
body[data-template="home"] #dm_content .bb-promo-row .uw-Inner { width: min(540px, 100%); }
body[data-template="home"] #dm_content .bb-promo-row .uw-AlignC {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
body[data-template="home"] #dm_content .bb-promo-row .uw-Image { display: none !important; }
body[data-template="home"] #dm_content .bb-promo-row .uw-headline p {
  max-width: 13ch;
  margin: 0 0 24px !important;
  font-size: clamp(38px, 3.4vw, 54px) !important;
  line-height: 1.02 !important;
  text-wrap: balance;
}
body[data-template="home"] #dm_content .bb-promo-row .uw-bodycopy p {
  max-width: 34ch;
  margin: 0 0 24px !important;
  color: #d7e2ed !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
}
body[data-template="home"] #dm_content .bb-promo-row .uw-ctaleadin p {
  margin: 0 0 8px !important;
  color: var(--bb-white) !important;
  font-size: 17px !important;
  font-weight: 800;
}
body[data-template="home"] #dm_content .bb-promo-row .uw-fineprint {
  max-width: 52ch;
  margin-bottom: 28px !important;
  color: #aebfd0 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}
body[data-template="home"] #dm_content .bb-promo-row .uw-CTA {
  width: fit-content !important;
  min-width: 235px !important;
  margin: 0 !important;
}

/* Contact and estimate pages keep their semantics but use a purpose-built layout. */
body[data-template="contact"] #dm_content .bb-special-form-row,
body[data-template="request-estimate"] #dm_content .bb-special-form-row {
  background: linear-gradient(180deg, #eef5f9 0%, #f8fafc 100%);
}
body[data-template="contact"] #dm_content .bb-hero-row:not(.bb-form-row),
body[data-template="contact"] #dm_content .bb-hero-row:not(.bb-form-row) > section,
body[data-template="contact"] #dm_content .bb-hero-row:not(.bb-form-row) > section > .flex-element.grid,
body[data-template="request-estimate"] #dm_content .bb-hero-row:not(.bb-form-row),
body[data-template="request-estimate"] #dm_content .bb-hero-row:not(.bb-form-row) > section,
body[data-template="request-estimate"] #dm_content .bb-hero-row:not(.bb-form-row) > section > .flex-element.grid {
  min-height: 300px !important;
}
body[data-template="contact"] #dm_content .bb-hero-row:not(.bb-form-row),
body[data-template="request-estimate"] #dm_content .bb-hero-row:not(.bb-form-row) {
  background: linear-gradient(118deg, #071d35 0%, #0a4773 100%);
}
body[data-template="contact"] #dm_content .bb-special-form-row > section > .grid,
body[data-template="request-estimate"] #dm_content .bb-special-form-row > section > .grid {
  width: min(1120px, calc(100% - 48px)) !important;
  padding-top: 72px !important;
  padding-bottom: 86px !important;
}
#dm_content .bb-special-form-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr) !important;
  align-items: start !important;
  gap: 72px !important;
}
body[data-template="request-estimate"] #dm_content .bb-special-form-layout {
  width: min(900px, 100%) !important;
  grid-template-columns: 1fr !important;
  margin: 0 auto !important;
}
#dm_content .bb-special-form-column {
  padding: clamp(28px, 4vw, 48px) !important;
  background: var(--bb-white) !important;
  border: 1px solid rgba(77, 107, 132, .2);
  border-top: 4px solid var(--bb-blue);
  border-radius: 8px;
  box-shadow: none;
}
#dm_content .bb-special-form-column h3 {
  margin: 0 0 26px !important;
  font-size: 34px !important;
}
#dm_content .bb-special-form-row .flex-element.group:has(> .bb-form),
#dm_content .bb-special-form-row .dmRespCol:has(.bb-form) {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#dm_content .bb-special-form-column .flex-element.group:has(.bb-form):not(.bb-special-form-column) {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#dm_content .bb-special-form-row .bb-form-grid { gap: 15px; }
#dm_content .bb-special-form-row .bb-form-actions { align-items: flex-start; }
#dm_content .bb-contact-details {
  padding: 10px 0 !important;
}
#dm_content .bb-contact-details > .widget-wrapper + .widget-wrapper { margin-top: 18px !important; }
#dm_content .bb-contact-details h3, #dm_content .bb-contact-details h4 {
  margin: 28px 0 10px !important;
  font-size: 23px !important;
}
#dm_content .bb-contact-details p, #dm_content .bb-contact-details a { font-size: 16px !important; }

/* Standard service sidebar: reviews first, financing second. */
#dm_content .bb-sidebar-standardized { gap: 20px !important; }
#dm_content .bb-review-summary {
  padding: 24px !important;
  background: var(--bb-navy) !important;
  color: var(--bb-white);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(9, 29, 52, .12);
}
#dm_content .bb-review-summary-label {
  display: block;
  margin-bottom: 9px;
  color: #a9bed2;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
#dm_content .bb-review-summary strong { display: block; color: var(--bb-white); font-size: 21px; }
#dm_content .bb-review-summary strong span { color: var(--bb-star); letter-spacing: 1px; }
#dm_content .bb-review-summary p { margin: 10px 0 18px !important; color: #d5e0eb !important; font-size: 15px !important; line-height: 1.5 !important; }
#dm_content .bb-review-summary a { color: var(--bb-white); font-weight: 800; }
#dm_content .bb-review-panel-standardized {
  padding: 24px !important;
  background: var(--bb-navy) !important;
  color: var(--bb-white) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(9, 29, 52, .12) !important;
}
#dm_content .bb-review-panel-standardized h2,
#dm_content .bb-review-panel-standardized h3,
#dm_content .bb-review-panel-standardized p { color: var(--bb-white) !important; }
#dm_content .bb-page-sidebar .bb-financing-offer-card {
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(155deg, #ffffff 0%, #eef7f2 100%) !important;
  border: 1px solid rgba(38, 118, 75, .24) !important;
  border-top: 4px solid #23814f !important;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(9, 29, 52, .1);
}
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-Inner { padding: 28px !important; }
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-Inner::before {
  content: attr(data-financing-offer);
  width: fit-content;
  display: block;
  margin: 0 0 22px;
  padding: 7px 10px;
  background: #e2f3e9;
  color: #176a3a;
  border: 1px solid rgba(35, 129, 79, .22);
  border-radius: 5px;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.3;
}
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-Inner::after {
  content: attr(data-financing-terms);
  display: block;
  margin-top: 18px;
  color: #617064;
  font-size: 10px;
  line-height: 1.45;
}
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-Image { display: none !important; }
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-headline p {
  margin: 0 0 12px !important;
  color: var(--bb-ink) !important;
  font-size: 0 !important;
  line-height: 1.15 !important;
}
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-headline p::after {
  content: "Finance Your Fence With 0% APR";
  display: block;
  color: var(--bb-ink);
  font-size: 25px;
  font-weight: 850;
  line-height: 1.15;
}
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-bodycopy p {
  margin: 0 0 20px !important;
  color: var(--bb-copy) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-ctaleadin p {
  margin: 0 0 16px !important;
  color: #176a3a !important;
  font-size: 15px !important;
  font-weight: 800;
}
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-fineprint { display: none !important; }
#dm_content .bb-page-sidebar .bb-financing-offer-card .uw-CTA {
  width: 100% !important;
  margin: 0 !important;
}

/* The provided logo is used directly; the footer receives the exact white alpha variant. */
.bb-logo { width: 174px; }
.bb-footer-brand img {
  width: 244px;
  padding: 0;
  background: transparent;
  border-radius: 0;
}

/* Hide legacy floating widgets inherited from the original Hibu build. */
#widget_vej,
#group_7in,
[data-external-id="1997567173"],
[data-external-id="1997567173"] *,
a[href="/contact"][data-element-type="dButtonLinkId"] .iconBg:has(.icon-star),
.ae-accessibility-widget,
#ae_app,
#ae_launcher,
#ae_toolbar,
[id^="ae_launcher"],
[class*="audioeye"][class*="launcher"],
[class*="audioeye"][class*="widget"],
[class*="accessibility-widget"],
[class*="accessibilityWidget"],
[class*="accessibe"],
[class*="acsb-widget"],
[id*="accessibility-widget"],
[id*="accessibilityWidget"],
[id*="accessibe"],
[id*="acsb"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#dm_content .bb-product-styles {
  position: relative;
  overflow: hidden;
  scroll-margin-top: 132px;
  padding: 82px 0 92px;
  background:
    radial-gradient(circle at 12% 8%, rgba(28, 144, 214, .12), transparent 30%),
    linear-gradient(180deg, #f8fbfe 0%, #eef6fb 100%);
  border-top: 1px solid rgba(12, 45, 75, .08);
  border-bottom: 1px solid rgba(12, 45, 75, .08);
}

#dm_content .bb-product-styles::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(90deg, rgba(9, 64, 112, .055) 1px, transparent 1px), linear-gradient(180deg, rgba(9, 64, 112, .045) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 72%, transparent);
}

#dm_content .bb-product-styles-inner {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

#dm_content .bb-product-styles-header {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(280px, .55fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 34px;
}

#dm_content .bb-section-eyebrow {
  grid-column: 1;
  display: inline-flex;
  width: fit-content;
  margin-bottom: 13px;
  color: var(--bb-blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#dm_content .bb-product-styles-header h2 {
  grid-column: 1;
  max-width: 780px;
  margin: 0 !important;
  color: var(--bb-ink) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.02 !important;
  text-align: left !important;
}

#dm_content .bb-product-styles-header p {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  max-width: 430px;
  margin: 0 !important;
  color: #5f7188 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

#dm_content .bb-product-styles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

#dm_content .bb-product-style-card {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(8, 51, 89, .12);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(10, 36, 64, .08);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

#dm_content .bb-product-style-card:hover {
  transform: translateY(-5px);
  border-color: rgba(28, 144, 214, .34);
  box-shadow: 0 24px 54px rgba(10, 36, 64, .13);
}

#dm_content .bb-product-style-media {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #fff, #f1f7fb);
}

#dm_content .bb-product-style-media::after {
  content: "";
  position: absolute;
  inset: auto 16px 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 98, 162, .28), transparent);
}

#dm_content .bb-product-style-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 14px;
  transition: transform .32s ease;
}

#dm_content .bb-product-style-card:hover .bb-product-style-media img {
  transform: scale(1.035);
}

#dm_content .bb-product-style-copy {
  min-height: 142px;
  padding: 20px 20px 22px;
}

#dm_content .bb-product-style-copy span {
  display: block;
  margin-bottom: 9px;
  color: var(--bb-blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#dm_content .bb-product-style-copy h3 {
  margin: 0 0 9px !important;
  color: var(--bb-ink) !important;
  font-size: 22px !important;
  line-height: 1.14 !important;
  text-align: left !important;
}

#dm_content .bb-product-style-copy p {
  margin: 0 !important;
  color: #607189 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

#dm_content .bb-product-style-media:focus-visible {
  outline: 3px solid rgba(28, 144, 214, .55);
  outline-offset: 3px;
}

#dm_content .bb-product-styles-wide .bb-product-styles-grid {
  grid-template-columns: 1fr;
}

#dm_content .bb-product-styles-wide .bb-product-style-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: stretch;
}

#dm_content .bb-product-styles-wide .bb-product-style-media {
  aspect-ratio: 5 / 1.05;
}

#dm_content .bb-product-styles-wide .bb-product-style-media img {
  padding: 18px;
}

#dm_content .bb-product-styles-wide .bb-product-style-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
}

#dm_content .bb-video-feature {
  position: relative;
  overflow: hidden;
  padding: 78px 0;
  background:
    radial-gradient(circle at 86% 14%, rgba(28, 144, 214, .16), transparent 30%),
    linear-gradient(135deg, #081a31 0%, #0d2d4f 48%, #075f9f 100%);
  color: #fff;
}

#dm_content .bb-video-feature::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}

#dm_content .bb-video-feature-inner {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 48px;
  align-items: center;
}

#dm_content .bb-video-feature .bb-section-eyebrow {
  color: #75d3ff;
}

#dm_content .bb-video-feature h2 {
  max-width: 560px;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.04 !important;
  text-align: left !important;
}

#dm_content .bb-video-feature p {
  max-width: 500px;
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

#dm_content .bb-video-frame {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
}

#dm_content .bb-video-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24);
}

#dm_content .bb-video-frame video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #061225;
  object-fit: cover;
}

@media (max-width: 767px) {
  #dm_content .bb-video-feature {
    padding: 54px 0;
  }

  #dm_content .bb-video-feature-inner {
    width: min(100% - 30px, 1180px);
  }

  #dm_content .bb-video-feature h2 {
    font-size: 34px !important;
  }

  #dm_content .bb-video-feature p {
    font-size: 16px !important;
  }

  #dm .flex-element.widget-wrapper[data-widget-type="link"]:has(> a[href="/contact"] .icon-star),
  #dm .flex-element.widget-wrapper[data-widget-type="link"]:has(> a[href="/contact"] .iconBg),
  #dm a[href="/contact"].dmButtonLink:has(.icon-star),
  #dm a[href="/contact"].dmButtonLink:has(.iconBg) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 1040px) {
  #dm_content .bb-product-styles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #dm_content .bb-product-styles-wide .bb-product-style-card { grid-template-columns: 1fr; }
  #dm_content .bb-product-styles-wide .bb-product-style-media { aspect-ratio: 4 / 1.4; }
  #dm_content .bb-video-feature-inner { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width: 1180px) {
  .bb-header-main { grid-template-columns: 180px 1fr 48px; }
  .bb-menu-button { grid-column: 3; }
  #dm_content .bb-special-form-layout { gap: 46px !important; }
}

@media (max-width: 900px) {
  #dm_content .bb-special-form-layout { grid-template-columns: 1fr !important; }
  #dm_content .bb-contact-details { padding-top: 6px !important; }
  body[data-template="home"] #dm_content .bb-promo-row .grid > .group { grid-template-columns: 1fr !important; }
  body[data-template="home"] #dm_content .bb-promo-row .uw-Wrapper { min-height: 0; padding: 54px 40px !important; }
}

@media (max-width: 620px) {
  .bb-header-main { grid-template-columns: minmax(132px, 1fr) 42px; }
  .bb-menu-button { grid-column: 2; }
  #dm_content .bb-hero-benefits .bb-financing-benefit {
    flex-basis: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    min-height: 64px !important;
    padding: 13px 16px !important;
  }
  #dm_content .bb-hero-benefits .bb-financing-benefit::after { font-size: 18px; }
  #dm_content .bb-has-financing-offer .bb-hero-benefits::after { font-size: 10px; }
  body[data-template="contact"] #dm_content .bb-special-form-row > section > .grid,
  body[data-template="request-estimate"] #dm_content .bb-special-form-row > section > .grid { width: calc(100% - 28px) !important; padding-top: 42px !important; padding-bottom: 52px !important; }
  #dm_content .bb-special-form-column { padding: 24px 18px !important; }
  #dm_content .bb-special-form-column h3 { font-size: 29px !important; }
  body[data-template="home"] #dm_content .bb-promo-row > section > .grid { width: 100% !important; }
  body[data-template="home"] #dm_content .bb-promo-row .imageWidget img { min-height: 300px; max-height: 360px; }
  body[data-template="home"] #dm_content .bb-promo-row .uw-Wrapper { padding: 42px 22px !important; }
  body[data-template="home"] #dm_content .bb-promo-row .uw-headline p { font-size: 38px !important; }
  .bb-projects-near-you { margin-top: 13px; padding-top: 13px; }
  .bb-projects-near-you-intro { grid-template-columns: 32px minmax(0, 1fr); gap: 9px; }
  .bb-projects-near-you-icon { width: 32px; height: 32px; }
  .bb-zip-search { grid-template-columns: 1fr; gap: 7px; margin-top: 10px; }
  .bb-zip-search-button { width: 100%; }
  .bb-projects-near-you-copy { align-items: flex-start; flex-direction: column; gap: 2px; }
  .bb-project-map { height: 220px; }
  #dm_content .bb-product-styles { padding: 54px 0 62px; }
  #dm_content .bb-product-styles-inner { width: min(100% - 30px, 1180px); }
  #dm_content .bb-product-styles-header { grid-template-columns: 1fr; gap: 12px; margin-bottom: 24px; }
  #dm_content .bb-product-styles-header p { grid-column: 1; grid-row: auto; }
  #dm_content .bb-product-styles-header h2 { font-size: 34px !important; }
  #dm_content .bb-product-styles-grid { grid-template-columns: 1fr; gap: 14px; }
  #dm_content .bb-product-style-copy { min-height: 0; padding: 18px; }
  #dm_content .bb-product-style-copy h3 { font-size: 21px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bb-redesign *, .bb-redesign *::before, .bb-redesign *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@keyframes bb-finance-shine {
  0%, 58% { transform: translateX(0) rotate(14deg); opacity: 0; }
  68% { opacity: .72; }
  100% { transform: translateX(265%) rotate(14deg); opacity: 0; }
}
