/* Original Imweb styles remain in each imported page. These rules replace only
   platform runtime layout/visibility work, keeping the supplied design intact. */
.nav._inline_menu_container { visibility: visible !important; }
._widget_data [style*="visibility: hidden"] { visibility: visible; }
.widget._board .ma-item, .widget.board .ma-item { visibility: visible !important; }
html:not([data-imweb-reference]) :is(.animated, ._animated, ._ds_animated) { visibility: visible !important; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 2px solid #749ec8; outline-offset: 4px; }
.local-menu-backdrop { display: none; }
#local-mobile-nav { display: none; }
/* Match the captured header's fixed overlay when the native header controller
   is absent. Logo/color changes are driven by the local scroll handler. */
#doz_header { position: relative; width: 100%; z-index: 1000; }
.new_header_overlay #doz_header { position: absolute; top: 0; left: 0; }
#doz_header .new_fixed_header { display: none !important; }
html:not([data-imweb-reference]) ._inline_menu_container .viewport-nav { display: flex; align-items: center; }
html:not([data-imweb-reference]) ._inline_menu_container .viewport-nav > li { flex: 0 0 auto; }
/* The original board's masonry controller sets these dimensions after load. */
._list_wrap, ._list_container, .list-style-card { visibility: visible !important; }
.local-board-grid { display: grid !important; grid-template-columns: repeat(var(--local-columns, 3), minmax(0, 1fr)); }
.local-board-grid > .list-style-card { display: block !important; width: 100% !important; position: relative !important; left: auto !important; top: auto !important; }
.local-board-grid .card_wrapper { width: 100%; aspect-ratio: var(--local-ratio, 1); }
.local-board-grid .card-head { width: 100%; height: 100%; }
.local-board-grid { row-gap: 20px; }
/* The unavailable Vimeo source has no usable poster in this archive. */
#boff-mobile-video-source, #boff-vimeo-mo-source { pointer-events: none; }
.local-lightbox { position: fixed; inset: 0; z-index: 200000; background: #06101be8; display: grid; place-items: center; padding: 44px 20px; }
.local-lightbox img { max-width: 95vw; max-height: 85vh; object-fit: contain; }
.local-lightbox button { position: absolute; right: 20px; top: 14px; background: transparent; color: white; border: 0; font-size: 32px; cursor: pointer; }
@media(max-width: 991px) {
  .local-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #local-mobile-nav { position: fixed; inset: 0 0 0 auto; width: min(340px, 86vw); background: #fff; color: #182d4c; z-index: 150001; overflow-y: auto; padding: 28px 26px 90px; }
  #local-mobile-nav a { display: block; color: #182d4c; text-decoration: none; padding: 14px 0; border-bottom: 1px solid #e7ebef; font-size: 18px; }
  #local-mobile-nav .local-submenu a { padding: 10px 0 10px 16px; font-size: 14px; }
  #local-mobile-nav button { display: block; margin: 0 0 18px auto; border: 0; background: transparent; font-size: 28px; color: inherit; }
  .local-menu-open #local-mobile-nav { display: block; }
  .local-menu-open .local-menu-backdrop { display: block; position: fixed; inset: 0; background: #0007; z-index: 150000; border: 0; width: 100%; }
  body.local-menu-open { overflow: hidden; }
  .local-menu-open #dct-quick-menu,
  .local-menu-open #decent-mobile-footer { visibility: hidden; }
}
@media(max-width: 600px) {
  .local-board-grid { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Article pages have no hero under the overlay header. Reserve its actual height
   so the original title and body begin below the navigation at every viewport. */
body.doz_sys[data-local-article] #doz_header { position: relative !important; background: #1e1e51; }

#doz_header .global-dropdown.open > .dropdown-menu { display: block !important; opacity: 1; visibility: visible; }

/* Shared corporate-center spacing: 1480px content, 104px desktop / 20px mobile gutters. */
body {
  --content-width: 1480px;
  --page-gutter: 104px;
  --content-box: min(var(--content-width), calc(100% - 2 * var(--page-gutter)));
}
@media (max-width: 767px) { body { --page-gutter: 20px; } }

/* Override captured per-section widths; full-bleed backgrounds remain on sections. */
body.doz_sys .section_wrap > main > .inside,
body.doz_sys #doz_footer .inside,
body.doz_sys #doz_header .inline-inside {
  box-sizing: border-box;
  width: var(--content-box) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
/* Custom widgets already sit inside the section's content box. */
body.doz_sys .inside :is(.home-list-inner, .wl-inner, .wl-panel-inner, .la-inner, .vision-section, .value-section, .ds-one__inner) {
  width: 100% !important;
  max-width: none !important;
  padding-inline: 0 !important;
}
/* Preserve the archived reading measure for article bodies. */
body.doz_sys.full_board_view .section_wrap > main > .inside {
  max-width: 1000px !important;
}

/* These two widgets own full-bleed backgrounds, so inset their inner content. */
body.doz_sys #decent-why-immersive :is(.wl-inner, .wl-panel-inner),
body.doz_sys #decent-lead-attorney .la-inner {
  width: var(--content-box) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body.doz_sys #doz_header #inline_header_mobile .inline-inside {
  padding-inline: 0 !important;
}

/* Use the same unscaled viewport and content gutters across screen sizes. */
body.doz_sys:not(.video_fullpage):not(.admin) { zoom: 1 !important; }

@media (min-width: 992px) and (max-width: 1400px) {
  body.doz_sys #doz_header #inline_header_normal a._header_dropdown {
    padding-inline: 16px !important;
  }
}
@media (min-width: 992px) {
  body.doz_sys #doz_header #inline_header_normal .viewport-nav.desktop {
    display: flex;
    flex-wrap: nowrap;
  }
}

/* Light blue distinguishes article titles from their descriptions on the home page. */
body#doz_body.ic-home .ic-columns :is(.case-feature-copy h3, .case-row h3),
body#doz_body.ic-home [data-decent-column-skin] :is(.ic-feature h3, .ic-row h3) {
  color: #b7d8ff;
}
body#doz_body.ic-home .ic-columns a:hover h3,
body#doz_body.ic-home [data-decent-column-skin] .ic-layout a:hover h3 {
  color: #d5eaff;
}
body#doz_body.ic-home .ic-mobile-card h3 {
  color: #356b9e;
}

/* Case listing card typography. */
body#doz_body .ic-design .page-cases #cases .case-result-card h3 {
  font-size: 20px;
}
body#doz_body .ic-design .page-cases #cases .case-result-card strong {
  font-size: 16px;
}
@media (max-width: 767px) {
  body#doz_body .ic-design .page-cases #cases .case-result-card h3 {
    font-size: 20px;
  }
  body#doz_body .ic-design .page-cases #cases .case-result-card strong {
    font-size: 16px;
  }
  body#doz_body .ic-design .page-cases #cases .case-result-card .case-description {
    font-size: 14px;
  }
}

/* The platform entrance-animation controller is absent locally. Its pending
   opacity otherwise leaves loaded profile photos permanently transparent. */
html[data-local-reference="imweb"] ._widget_data.wg_animated {
  visibility: visible;
  opacity: 1;
}

/* Imweb enables overlay headers separately at desktop and mobile breakpoints. */
@media (max-width: 991px) {
  html[data-local-reference="imweb"] body:not(.new_header_overlay_mobile) #doz_header {
    position: static;
  }
}
@media (min-width: 992px) {
  html[data-local-reference="imweb"] body:not(.new_header_overlay) #doz_header {
    position: static;
  }
}
