/* Harbor Light formatting contract, loaded after component CSS. */
.theme-harbor {
  --esafe-font-primary: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --esafe-font-secondary: "Source Sans 3", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --esafe-heading-color: #1e5476;
  --esafe-text-color: #0f2330;
  --esafe-muted-color: #5a6a75;
  --esafe-border-color: #d4dee6;
  --esafe-space-1: 4px;
  --esafe-space-2: 8px;
  --esafe-space-3: 12px;
  --esafe-space-4: 16px;
  --esafe-space-5: 20px;
  --esafe-space-6: 24px;
  --esafe-space-8: 32px;
  --esafe-space-10: 40px;
  --esafe-space-12: 48px;
  --esafe-space-16: 64px;
}

/* Plugin-owned Tool Page content follows the Harbor Light type and spacing contract. */
.theme-harbor .toolPluginSection {
  width: 100%;
  margin-top: var(--esafe-space-8);
}

.theme-harbor .toolPluginOutput {
  width: 100%;
  min-width: 0;
  margin-top: var(--esafe-space-6);
}

.theme-harbor .toolPluginOutput:first-child,
.theme-harbor .toolPluginSection > .toolPluginOutput {
  margin-top: 0;
}

.theme-harbor .toolPluginOutput > .esafe-plugin-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}

.theme-harbor .toolPluginOutput :is(p, li, label, input, select, textarea) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0;
}

.theme-harbor .toolPluginOutput :is(button, [type="button"], [type="submit"], .esafe-soft-button) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 14px;
  line-height: 19.6px;
  letter-spacing: 0;
}

.theme-harbor .toolPluginOutput :is(h2, .esafe-h2, .esafe-vets-news-title) {
  font: 600 18px/1.25 var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .toolPluginOutput :is(h3, .esafe-h3, .esafe-ga-title, .esafe-vets-directory-card-title) {
  font-family: var(--esafe-font-secondary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.theme-harbor .originalToolImage {
  width: min(100%, 720px);
  margin: var(--esafe-space-6) 0;
  overflow: hidden;
}

.theme-harbor .originalToolImage img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
}

.theme-harbor .missingKidsTool .originalToolImage {
  width: min(100%, 420px);
}

.theme-harbor :is(.toolActionRow, .toolActionGrid) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--esafe-space-3);
  margin: var(--esafe-space-6) 0;
}

.theme-harbor .toolActionGrid .esafeButton {
  flex: 1 1 190px;
}

.theme-harbor .toolChecklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--esafe-space-4) var(--esafe-space-8);
}

.theme-harbor .toolChecklist p {
  margin: 0;
}

.theme-harbor .toolIntegrationState {
  width: 100%;
  padding: var(--esafe-space-5);
  border-left: 4px solid #1e5476;
  background: #f5f8fb;
  color: var(--esafe-text-color);
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .coordinateFinder {
  width: 100%;
}

.theme-harbor .coordinateFields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--esafe-space-4);
}

.theme-harbor .coordinateFields label {
  display: grid;
  gap: var(--esafe-space-2);
  font: 600 14px/19.6px var(--esafe-font-primary);
}

.theme-harbor .coordinateFields input {
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 6px;
  background: #fff;
  color: var(--esafe-text-color);
}

.theme-harbor .coordinateStatus {
  margin: 0 0 var(--esafe-space-4);
}

.theme-harbor .coordinateMap {
  width: 100%;
  min-height: 440px;
  aspect-ratio: 16 / 8;
  overflow: hidden;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
}

@media (max-width: 767px) {
  .theme-harbor .toolChecklist,
  .theme-harbor .coordinateFields {
    grid-template-columns: 1fr;
  }

  .theme-harbor :is(.toolActionRow, .toolActionGrid) {
    align-items: stretch;
  }

  .theme-harbor :is(.toolActionRow, .toolActionGrid) .esafeButton {
    width: 100%;
    flex-basis: 100%;
  }

  .theme-harbor .coordinateMap {
    min-height: 360px;
    aspect-ratio: 4 / 5;
  }
}

.theme-harbor :is(.esafePage, .esafe-plugin-wrap, .esafe-everify-public, .esafe-everify-public-record) {
  font-family: var(--esafe-font-primary);
  font-synthesis: none;
}

.theme-harbor :is(.esafePage, .esafe-plugin-wrap, .esafe-everify-public, .esafe-everify-public-record) :is(h1, h2, h3, h4) {
  font-family: var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .leaflet-container,
.theme-harbor .leaflet-container a {
  font-family: var(--esafe-font-primary) !important;
}

.theme-harbor :is(.elementor-location-search, .elementor-location-archive) .elementor-search-form__submit,
.theme-harbor .e-search-submit {
  font-family: var(--esafe-font-primary) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
}

.theme-harbor :is(.toolPrimaryShell, .esafe-plugin-wrap, .esafe-everify-public, .esafe-everify-public-record) *,
body.theme-harbor > .esafe-gbi-wrap * {
  box-sizing: border-box;
  min-width: 0;
}

body.theme-harbor > .esafe-gbi-wrap {
  width: min(calc(100% - 32px), 1140px);
  max-width: 1140px;
  margin: var(--esafe-space-6) auto;
}

body.theme-harbor > .esafe-gbi-wrap :is(p, li, dd, a) {
  overflow-wrap: break-word;
}

/* The E-Verify tool card uses the same edge-to-edge media treatment as every other tool card. */
.theme-harbor .toolCard--e-verify .featureVisual {
  display: block !important;
  overflow: hidden !important;
  background: #dce6ed !important;
}

.theme-harbor .toolCard--e-verify .featureVisual img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Do not compound generic tool-section margins inside the E-Verify sequence. */
.theme-harbor .toolPrimaryContent.everifyContent {
  padding: 0 !important;
}

.theme-harbor .everifyContent > .toolPageSection {
  width: min(100%, 900px);
  max-width: 900px;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: var(--esafe-space-8) clamp(20px, 4vw, var(--esafe-space-12));
  border-top: 1px solid var(--esafe-border-color);
}

.theme-harbor .everifyContent .toolPageSection > :last-child {
  margin-bottom: 0;
}

.theme-harbor .everifyContent .eyebrow {
  margin: 0 0 var(--esafe-space-2);
  font: 800 12px/1.4 var(--esafe-font-primary);
  letter-spacing: .08em;
}

.theme-harbor .everifyContent h2 {
  margin: 0 0 var(--esafe-space-4);
  font: 600 18px/1.25 var(--esafe-font-secondary);
  color: var(--esafe-heading-color);
}

.theme-harbor .everifyContent h3 {
  margin: 0 0 var(--esafe-space-2);
  font: 600 16px/1.25 var(--esafe-font-secondary);
  color: var(--esafe-heading-color);
}

.theme-harbor .everifyContent .toolPageSection > :is(p, ul, ol) {
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .everifyContent .toolPageSection > :is(p, ul, ol) + :is(p, ul, ol) {
  margin-top: var(--esafe-space-4);
}

/* Five steps use a balanced 3/2 grid with stable reading widths. */
.theme-harbor .everifyProcess {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--esafe-space-4);
  margin: var(--esafe-space-6) 0;
  padding: 0;
  list-style: none;
}

.theme-harbor .everifyProcess li {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-content: start;
  align-items: start;
  gap: var(--esafe-space-3);
  min-height: 0;
  margin: 0 !important;
  padding: var(--esafe-space-5);
  overflow: hidden;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #f5f8fb;
}

.theme-harbor .everifyProcess li:nth-last-child(-n + 2) {
  grid-column: span 3;
}

.theme-harbor .everifyProcess li > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--esafe-heading-color);
  color: #fff;
  font: 600 14px/1 var(--esafe-font-primary);
}

.theme-harbor .everifyProcess li > div {
  min-width: 0;
}

.theme-harbor .everifyProcess :is(h3, p) {
  max-width: 100%;
  margin: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.theme-harbor .everifyProcess h3 {
  margin-bottom: var(--esafe-space-2);
}

.theme-harbor .everifyProcess p {
  font: 400 15px/24px var(--esafe-font-primary);
}

/* Pagination is the controlled 13px exception to the general 14px action. */
.theme-harbor :is(.esafePageNumbers, .esafe-pagination-container, .esafe-pagination-wrap) :is(a, button) {
  min-width: 30px;
  min-height: 30px;
  padding: 6px 9px;
  font: 300 13px/1 var(--esafe-font-primary) !important;
}

/* JavaScript portals open overlays to document.body. */
.esafeModalOverlay:not([hidden]),
.esafe-everify-modal-overlay.open,
.esafe-everify-help-overlay.open {
  position: fixed !important;
  inset: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .theme-harbor .everifyProcess {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .theme-harbor .everifyProcess li {
    grid-column: auto;
  }

  .theme-harbor .everifyProcess li:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 8px);
    justify-self: center;
  }
}

@media (max-width: 600px) {
  body.theme-harbor > .esafe-gbi-wrap {
    width: min(calc(100% - 24px), 1140px);
    margin: var(--esafe-space-4) auto;
  }

  .theme-harbor .everifyContent > .toolPageSection {
    padding: var(--esafe-space-6) var(--esafe-space-4);
  }

  .theme-harbor .everifyProcess {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-left: 0 !important;
  }

  .theme-harbor .everifyProcess li,
  .theme-harbor .everifyProcess li:last-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 0 !important;
    justify-self: stretch !important;
  }

  .theme-harbor .toolPrimaryFeature > .featureVisual {
    height: 100% !important;
  }

  .theme-harbor .toolSubmenuButtons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--esafe-space-2) !important;
    overflow: visible !important;
  }

  .theme-harbor .toolSubmenuButtons .esafeButton {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }
}

@media (max-width: 782px) {
  body.logged-in #wpadminbar #wp-admin-bar-my-account .display-name {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .theme-harbor .toolSubmenuButtons {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-harbor .everifyProcess li {
    transition: none !important;
    transform: none !important;
  }
}

/*
 * Sitewide public presentation contract.
 * Tool and plugin packages must inherit this rhythm instead of inventing local
 * margins, font metrics, or edge-to-edge mobile layouts.
 */
.theme-harbor .toolPrimaryPage {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: var(--esafe-space-8) clamp(16px, 4vw, var(--esafe-space-8)) var(--esafe-space-16);
}

.theme-harbor .toolPrimaryPage > .backLink {
  display: block;
  width: min(100%, 1140px);
  margin: 0 auto var(--esafe-space-4);
  font: 400 14px/19.6px var(--esafe-font-primary);
}

.theme-harbor .toolPrimaryShell {
  width: min(100%, 1140px);
  max-width: 1140px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 8px;
}

.theme-harbor .toolPrimaryHeader {
  padding: var(--esafe-space-8) clamp(20px, 4vw, var(--esafe-space-10));
}

.theme-harbor .toolPrimaryHeader .eyebrow {
  margin: 0 0 var(--esafe-space-2);
  font: 800 12px/1.4 var(--esafe-font-primary);
  letter-spacing: .08em;
}

.theme-harbor .toolPrimaryHeader h1 {
  margin: 0 0 var(--esafe-space-3);
  font: 900 32px/1.2 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryHeader > p:last-child {
  max-width: 760px;
  margin: 0;
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .toolPrimaryContent {
  width: 100%;
  min-width: 0;
  padding: var(--esafe-space-10) clamp(20px, 5vw, var(--esafe-space-12)) var(--esafe-space-12);
}

.theme-harbor .toolPrimaryContent > :is(.toolOverviewSection, .toolPageSection, .toolPluginSection, .toolFaqSection, .toolMenu, .toolSubmenu) {
  width: min(100%, 900px);
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

.theme-harbor .toolPrimaryContent > :is(.toolPageSection, .toolPluginSection, .toolFaqSection) {
  margin-top: var(--esafe-space-12);
  padding-top: var(--esafe-space-6);
}

.theme-harbor .toolPrimaryContent > :is(.toolPageSection, .toolPluginSection, .toolFaqSection) + :is(.toolPageSection, .toolPluginSection, .toolFaqSection) {
  margin-top: var(--esafe-space-12);
}

.theme-harbor .toolPrimaryContent :is(.toolOverviewSection, .toolPageSection, .toolPluginSection, .toolFaqSection) > :first-child {
  margin-top: 0 !important;
}

.theme-harbor .toolPrimaryContent :is(.toolOverviewSection, .toolPageSection, .toolPluginSection, .toolFaqSection) > :last-child {
  margin-bottom: 0 !important;
}

.theme-harbor .toolPrimaryContent .eyebrow {
  margin: 0 0 var(--esafe-space-2);
  font: 800 12px/1.4 var(--esafe-font-primary);
  letter-spacing: .08em;
}

.theme-harbor .toolPrimaryContent h2 {
  margin: 0 0 var(--esafe-space-4);
  color: var(--esafe-heading-color);
  font: 600 24px/1.25 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent h3 {
  margin: var(--esafe-space-6) 0 var(--esafe-space-3);
  color: var(--esafe-heading-color);
  font: 600 20px/1.3 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent h4 {
  margin: var(--esafe-space-5) 0 var(--esafe-space-2);
  color: var(--esafe-heading-color);
  font: 600 18px/1.35 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent :is(p, li, dd, label, summary) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 24px !important;
  letter-spacing: 0 !important;
  overflow-wrap: break-word;
}

.theme-harbor .toolPrimaryContent :is(p, ul, ol, dl, figure, table) {
  margin-top: 0;
  margin-bottom: var(--esafe-space-4);
}

.theme-harbor .toolPrimaryContent :is(ul, ol) {
  padding-left: var(--esafe-space-6);
}

.theme-harbor .toolPrimaryContent li + li {
  margin-top: var(--esafe-space-2);
}

.theme-harbor .toolPrimaryContent .toolLead {
  max-width: 860px;
  margin: 0 0 var(--esafe-space-4);
  font: 400 15px/24px var(--esafe-font-primary) !important;
}

.theme-harbor .toolPrimaryContent :is(.toolPluginOutput, .esafe-plugin-wrap, .esafe-gbi-scope, .esafe-lfp-wrap, .esafe-map-wrap, .esafe-ams-wrap) {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-right: 0;
  margin-left: 0;
  font: 400 15px/24px var(--esafe-font-primary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent :is(.toolPluginOutput, .esafe-plugin-wrap, .esafe-gbi-scope, .esafe-lfp-wrap, .esafe-map-wrap, .esafe-ams-wrap) :is(h2, h3, h4) {
  font-family: var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .toolPrimaryContent :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100%;
  min-height: 42px;
  padding: var(--esafe-space-2) var(--esafe-space-3);
  border: 1px solid var(--esafe-border-color);
  border-radius: 6px;
  background: #fff;
  color: var(--esafe-text-color);
  font: 400 15px/24px var(--esafe-font-primary) !important;
}

.theme-harbor .toolPrimaryContent textarea {
  min-height: 120px;
  resize: vertical;
}

.theme-harbor .toolPrimaryContent :is(form, fieldset) {
  min-width: 0;
}

.theme-harbor .toolPrimaryContent fieldset {
  margin: 0 0 var(--esafe-space-6);
  padding: var(--esafe-space-5);
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
}

.theme-harbor .toolPrimaryContent :is(button, [type="button"], [type="submit"], .esafeButton, .button) {
  min-height: 34px;
  font-family: var(--esafe-font-primary) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.theme-harbor .toolPrimaryContent :is(.card, [class*="-card"], [class*="_card"]) {
  min-width: 0;
}

.theme-harbor .toolPrimaryContent :is(img, video, iframe, canvas, svg) {
  max-width: 100%;
}

.theme-harbor .toolPrimaryContent table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

.theme-harbor .toolPrimaryContent :is(th, td) {
  padding: var(--esafe-space-3);
  vertical-align: top;
}

.theme-harbor .toolPrimaryContent :is(.meta, [class*="-meta"], [class*="_meta"], .esafe-muted, .description) {
  font-size: 13px !important;
  line-height: 18.85px !important;
}

@media (max-width: 767px) {
  .theme-harbor .toolPrimaryPage {
    padding: var(--esafe-space-5) var(--esafe-space-3) var(--esafe-space-12);
  }

  .theme-harbor .toolPrimaryHeader {
    padding: var(--esafe-space-6) var(--esafe-space-5);
  }

  .theme-harbor .toolPrimaryHeader h1 {
    font-size: 24px;
  }

  .theme-harbor .toolPrimaryContent {
    padding: var(--esafe-space-8) var(--esafe-space-4) var(--esafe-space-10);
  }

  .theme-harbor .toolPrimaryContent > :is(.toolPageSection, .toolPluginSection, .toolFaqSection) {
    margin-top: var(--esafe-space-10);
    padding-top: var(--esafe-space-5);
  }

  .theme-harbor .toolPrimaryContent h2 {
    font-size: 20px;
  }

  .theme-harbor .toolPrimaryContent h3 {
    font-size: 18px;
  }

  .theme-harbor .toolPrimaryContent h4 {
    font-size: 16px;
  }

  .theme-harbor .toolPrimaryContent :is(p, li, dd, label, summary, input, select, textarea) {
    font-size: 15px !important;
    line-height: 23.25px !important;
  }

  .theme-harbor .toolPrimaryContent :is(.toolActionRow, .toolActionGrid, .toolSubmenuButtons) {
    gap: var(--esafe-space-2) !important;
  }

  .theme-harbor .toolPrimaryContent :is(.toolActionRow, .toolActionGrid, .toolSubmenuButtons) :is(a, button) {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }

  .theme-harbor .toolPrimaryContent :is(.responsiveTable, .table-responsive, .esafe-table-wrap) {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* One unboxed Lucide-style icon system for page and approved section headings. */
.theme-harbor .sectionHeadingWithIcon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.theme-harbor .sectionHeadingWithIcon .siteIcon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--esafe-heading-color);
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-harbor :is(h1, h2).hasPageTitleIcon,
.esafePageFrameModal > header h2.hasPageTitleIcon {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.theme-harbor .pageTitleIcon,
.esafePageFrameModal .pageTitleIcon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--esafe-heading-color, #1e5476);
  stroke: currentColor;
  vertical-align: middle;
}

/* Tool headers use a dark-blue gradient, so their line icons must inherit white. */
.theme-harbor .toolPrimaryHeader :is(.pageTitleIcon, .siteIcon) {
  color: #fff !important;
  stroke: currentColor !important;
}

.esafePageFrameModal .pageTitleIcon {
  flex-basis: 22px;
  width: 22px;
  height: 22px;
}

/* Public posts use one readable Harbor Light news-article system. */
.theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
  width: min(calc(100% - 32px), 980px) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 40px clamp(20px, 4vw, 48px) 56px !important;
  gap: 16px !important;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 35, 48, .08);
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-title {
  width: min(100%, 860px) !important;
  margin: 0 auto !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-title h1 {
  margin: 0 !important;
  color: var(--esafe-heading-color) !important;
  font: 900 38px/1.15 var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-wrap: balance;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-post-info {
  width: min(100%, 860px) !important;
  margin: 0 auto 8px !important;
  color: var(--esafe-muted-color) !important;
  font: 400 14px/1.5 var(--esafe-font-primary) !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-post-info :is(a, span, time) {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-featured-image {
  width: min(100%, 860px) !important;
  margin: 8px auto 16px !important;
  overflow: hidden;
  border-radius: 8px;
  background: #f5f8fb;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-featured-image img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 520px;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-content {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  color: #334155;
  font: 400 17px/1.75 var(--esafe-font-primary);
}

.theme-harbor .esafeSourceArticle,
.theme-harbor .esafeSourceArticle * {
  box-sizing: border-box;
  min-width: 0;
}

.theme-harbor .esafeSourceArticle {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  color: #334155;
  font-family: var(--esafe-font-primary) !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.theme-harbor .esafeSourceArticle :is(p, li, dd, td, th, a, button, input, select, textarea) {
  font-family: var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .esafeSourceArticle :is(h1, h2, h3, h4, h5, h6) {
  color: var(--esafe-heading-color) !important;
  font-family: var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: break-word;
}

.theme-harbor .esafeSourceArticle h2 {
  margin: 40px 0 16px !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.theme-harbor .esafeSourceArticle h3 {
  margin: 28px 0 10px !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.theme-harbor .esafeSourceArticle h4 {
  margin: 24px 0 8px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.theme-harbor .esafeSourceArticle :is(p, ul, ol, dl, blockquote, figure, table) {
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 20px;
}

.theme-harbor .esafeSourceArticle :is(p, li, dd) {
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

.theme-harbor .esafeSourceArticle :is(ul, ol) {
  padding-left: 1.4em;
}

.theme-harbor .esafeSourceArticle li + li {
  margin-top: 8px;
}

.theme-harbor .esafeSourceArticle :is(img, video, iframe, embed, object) {
  max-width: 100% !important;
}

.theme-harbor .esafeSourceArticle img {
  height: auto;
}

.theme-harbor .esafeSourceArticle iframe {
  display: block;
  width: 100%;
  min-height: 420px;
  border: 0;
}

.theme-harbor .esafeSourceArticle :is(pre, code) {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.theme-harbor .esafeSourceArticle blockquote {
  padding: 18px 20px;
  border-left: 4px solid #b00628;
  border-radius: 0 8px 8px 0;
  background: #fff7f8;
}

.theme-harbor .esafeSourceArticle table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

.theme-harbor .esafeSourceArticle :is(th, td) {
  padding: 10px 12px;
  border: 1px solid var(--esafe-border-color);
  text-align: left;
  vertical-align: top;
}

body.esafePopupDocument.theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: 980px !important;
  padding: 24px clamp(16px, 4vw, 36px) 40px !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 767px) {
  .theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
    width: calc(100% - 24px) !important;
    padding: 24px 16px 36px !important;
  }

  body.esafePopupDocument.theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
    width: 100% !important;
    padding: 16px 12px 32px !important;
  }

  .theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-title h1 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  .theme-harbor .esafeSourceArticle {
    font-size: 16px;
  }

  .theme-harbor .esafeSourceArticle h2 {
    margin-top: 32px !important;
    font-size: 23px !important;
  }

  .theme-harbor .esafeSourceArticle h3 {
    margin-top: 24px !important;
    font-size: 19px !important;
  }

  .theme-harbor .esafeSourceArticle :is(p, li, dd) {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .theme-harbor .esafeSourceArticle iframe {
    min-height: 300px;
  }
}

/* Founder public-service timeline, scoped to the approved About-page biography. */
.theme-harbor .founderBio {
  min-width: 0;
}

.theme-harbor .founderBio > p:last-of-type {
  margin-bottom: 0 !important;
}

.theme-harbor .publicServiceTimeline {
  --t3-navy: #17265d;
  --t3-navy-mid: #43577f;
  --t3-red: #8b263b;
  --t3-gray: #40464f;
  --t3-muted: #69707a;
  --t3-light: rgba(243, 244, 246, .96);
  --t3-border: rgba(64, 70, 79, .16);
  position: relative;
  width: min(100%, 590px);
  height: 290px;
  margin: var(--es-space-6, 24px) auto 0;
  overflow: hidden;
  background: transparent;
  color: var(--t3-gray);
  font-family: var(--esafe-font-primary);
}

.theme-harbor .publicServiceTimeline * {
  box-sizing: border-box;
  letter-spacing: 0;
}

.theme-harbor .publicServiceTimeline .service-heading {
  position: absolute;
  z-index: 20;
  top: 4px;
  left: 238px;
  display: flex;
  height: 27px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 5px 13px rgba(23, 38, 93, .13);
}

.theme-harbor .publicServiceTimeline .service-heading :is(span, b) {
  display: flex;
  align-items: center;
  height: 27px;
  padding: 0 11px;
  color: #fff;
  font: 800 8.8px/1 var(--esafe-font-primary);
  text-transform: uppercase;
}

.theme-harbor .publicServiceTimeline .service-heading span {
  background: var(--t3-navy);
}

.theme-harbor .publicServiceTimeline .service-heading b {
  background: var(--t3-red);
  font-weight: 900;
}

.theme-harbor .publicServiceTimeline .t3-orbit {
  position: absolute;
  top: 42px;
  left: 15px;
  width: 194px;
  height: 240px;
}

.theme-harbor .publicServiceTimeline .t3-orbit svg {
  display: block;
  width: 100%;
  height: 100%;
}

.theme-harbor .publicServiceTimeline .t3-ring-base {
  fill: none;
  stroke: rgba(64, 70, 79, .16);
  stroke-width: 8;
}

.theme-harbor .publicServiceTimeline .t3-ring-flow {
  fill: none;
  stroke: url(#esafePublicServiceGradient);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 10 9;
  animation: esafeOrbitDash 11s linear infinite;
}

.theme-harbor .publicServiceTimeline .t3-orbit.is-paused .t3-ring-flow {
  animation-play-state: paused;
}

.theme-harbor .publicServiceTimeline .t3-sweep {
  transform-origin: 97px 120px;
  transform: rotate(0deg);
  transition: transform 4.2s cubic-bezier(.42, 0, .22, 1), opacity .35s ease;
}

.theme-harbor .publicServiceTimeline .t3-orbit.is-resetting .t3-sweep {
  opacity: 0;
}

.theme-harbor .publicServiceTimeline .t3-center {
  position: absolute;
  top: 82px;
  left: 42px;
  width: 110px;
  text-align: center;
}

.theme-harbor .publicServiceTimeline .t3-center strong {
  display: block;
  color: var(--t3-gray);
  font: 900 50px/.88 var(--esafe-font-secondary);
}

.theme-harbor .publicServiceTimeline .t3-center span,
.theme-harbor .publicServiceTimeline .t3-center small {
  display: block;
  color: var(--t3-gray);
  font-family: var(--esafe-font-primary);
  font-weight: 900;
  text-transform: uppercase;
}

.theme-harbor .publicServiceTimeline .t3-center span {
  margin-top: 7px;
  font-size: 7.7px;
}

.theme-harbor .publicServiceTimeline .t3-center small {
  margin-top: 2px;
  color: var(--t3-muted);
  font-size: 7.3px;
}

.theme-harbor .publicServiceTimeline .t3-o-node {
  position: absolute;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin: 0;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--node-color);
  color: #fff;
  font: 900 8px/1 var(--esafe-font-primary);
  box-shadow: 0 0 0 4px rgba(64, 70, 79, .05);
  transition: box-shadow .35s ease, scale .35s ease;
}

.theme-harbor .publicServiceTimeline .t3-o-node::after {
  position: absolute;
  inset: -6px;
  border: 1px solid var(--node-color);
  border-radius: 50%;
  content: "";
  opacity: 0;
}

.theme-harbor .publicServiceTimeline .t3-o-node.is-active {
  scale: 1.08;
  box-shadow: 0 0 0 5px rgba(67, 87, 127, .14), 0 0 15px rgba(67, 87, 127, .5);
}

.theme-harbor .publicServiceTimeline .t3-o-node.is-active::after {
  animation: esafeNodePulse 1.8s ease-out 1;
}

.theme-harbor .publicServiceTimeline :is(.t3-n1, .t3-n2) { --node-color: var(--t3-navy); }
.theme-harbor .publicServiceTimeline :is(.t3-n3, .t3-n4) { --node-color: var(--t3-red); }
.theme-harbor .publicServiceTimeline :is(.t3-n5, .t3-n6, .t3-n7) { --node-color: var(--t3-navy-mid); }

.theme-harbor .publicServiceTimeline .t3-list {
  position: absolute;
  inset: 35px 8px 0 238px;
  display: grid;
  grid-template-rows: repeat(7, 33px);
  gap: 4px;
}

.theme-harbor .publicServiceTimeline .t3-row {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 86px;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 33px;
  padding: 2px 4px;
  border: 1px solid var(--t3-border);
  border-radius: 7px;
  background: var(--t3-light);
  box-shadow: 0 3px 9px rgba(40, 48, 62, .05);
  opacity: 0;
  transform: translateX(9px) scale(.985);
  transition: opacity .72s ease, transform .72s ease, translate .25s ease, scale .25s ease, box-shadow .25s ease;
}

.theme-harbor .publicServiceTimeline .t3-row.is-visible {
  opacity: 1;
  transform: translateX(0) scale(1);
  animation: esafeTimelineRowHover 4.8s ease-in-out var(--hover-delay) infinite;
}

.theme-harbor .publicServiceTimeline .t3-row.is-visible:hover {
  translate: 0 -3px;
  scale: 1.012;
  animation-play-state: paused;
  box-shadow: 0 7px 16px rgba(40, 48, 62, .13);
}

.theme-harbor .publicServiceTimeline .t3-row:nth-child(1) { --hover-delay: 0s; --hover-distance: -1.8px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(2) { --hover-delay: -.7s; --hover-distance: -2.2px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(3) { --hover-delay: -1.4s; --hover-distance: -1.6px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(4) { --hover-delay: -2.1s; --hover-distance: -2.4px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(5) { --hover-delay: -2.8s; --hover-distance: -1.9px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(6) { --hover-delay: -3.5s; --hover-distance: -2.3px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(7) { --hover-delay: -4.2s; --hover-distance: -1.7px; }

.theme-harbor .publicServiceTimeline .t3-num {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  font: 900 8.5px/1 var(--esafe-font-primary);
}

.theme-harbor .publicServiceTimeline .t3-copy {
  min-width: 0;
  padding: 0 5px 0 2px;
}

.theme-harbor .publicServiceTimeline .t3-name {
  display: -webkit-box;
  overflow: hidden;
  color: var(--t3-gray);
  font: 800 9.2px/1.08 var(--esafe-font-primary);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.theme-harbor .publicServiceTimeline .t3-date {
  margin-top: 1px;
  color: var(--t3-muted);
  font: 700 8px/1 var(--esafe-font-primary);
}

.theme-harbor .publicServiceTimeline .t3-tag {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 23px;
  padding: 0 2px;
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  font: 900 6.7px/1 var(--esafe-font-primary);
  text-align: center;
  text-transform: uppercase;
}

.theme-harbor .publicServiceTimeline .t3-m { --accent: var(--t3-navy); }
.theme-harbor .publicServiceTimeline .t3-p { --accent: var(--t3-red); }
.theme-harbor .publicServiceTimeline .t3-c { --accent: var(--t3-navy-mid); }

@keyframes esafeOrbitDash { to { stroke-dashoffset: -190; } }
@keyframes esafeNodePulse { 0% { transform: scale(.65); opacity: .5; } 75%, 100% { transform: scale(1.7); opacity: 0; } }
@keyframes esafeTimelineRowHover { 0%, 100% { translate: 0 0; } 50% { translate: 0 var(--hover-distance); } }

@media (max-width: 600px) {
  .theme-harbor .publicServiceTimeline {
    display: grid;
    gap: 12px;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .theme-harbor .publicServiceTimeline .service-heading,
  .theme-harbor .publicServiceTimeline .t3-orbit,
  .theme-harbor .publicServiceTimeline .t3-list {
    position: relative;
    inset: auto;
    justify-self: center;
  }

  .theme-harbor .publicServiceTimeline .t3-list {
    grid-template-rows: none;
    width: 100%;
    gap: 8px;
  }

  .theme-harbor .publicServiceTimeline .t3-row {
    grid-template-columns: 26px minmax(0, 1fr) 72px;
    min-height: 78px;
    height: auto;
    padding: 7px 8px;
    opacity: 1;
    transform: none;
  }

  .theme-harbor .publicServiceTimeline .t3-name {
    display: block;
    overflow: visible;
    font-size: 10.5px;
    line-height: 1.2;
    -webkit-line-clamp: unset;
  }
  .theme-harbor .publicServiceTimeline .t3-date { margin-top: 3px; font-size: 9px; line-height: 1.2; }
  .theme-harbor .publicServiceTimeline .t3-tag { width: 68px; height: 30px; font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-harbor .publicServiceTimeline .t3-ring-flow,
  .theme-harbor .publicServiceTimeline .t3-row,
  .theme-harbor .publicServiceTimeline .t3-o-node::after {
    animation: none !important;
  }

  .theme-harbor .publicServiceTimeline .t3-row {
    opacity: 1;
    transform: none;
  }
}

/* Consumer Due Diligence source structure rebuilt from the approved original. */
.theme-harbor.single-post.postid-326 .elementor-location-single > .e-con > .e-con-inner {
  width: min(calc(100% - 32px), 1040px) !important;
  max-width: 1040px !important;
  margin-inline: auto !important;
}

body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-location-single > .e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 20px !important;
}

body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-location-single > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-widget-theme-post-content,
body.esafePopupDocument.theme-harbor.single-post.postid-326 .esafeConsumerDueDiligence {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}

.theme-harbor .esafeConsumerDueDiligence {
  width: 100%;
  max-width: 936px !important;
  margin: 0 auto !important;
  color: var(--esafe-text-color);
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .esafeConsumerDueDiligence * {
  box-sizing: border-box;
  min-width: 0;
}

/* Keep the utility-page type scale independent from the news-article scale. */
.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence {
  font: 400 15px/24px var(--esafe-font-primary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h1 {
  font: 900 20px/25px var(--esafe-font-secondary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h2 {
  font: 600 18px/22.5px var(--esafe-font-secondary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h3 {
  font: 600 16px/20px var(--esafe-font-secondary) !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--esafe-border-color) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item:last-child {
  border-bottom: 0 !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item > br {
  display: none !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-icon {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--esafe-heading-color) !important;
  border-radius: 6px !important;
  background: #f5f8fb !important;
  color: var(--esafe-heading-color) !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item > span:last-child {
  grid-column: 2 !important;
  color: var(--esafe-text-color) !important;
  font: 400 15px/1.55 var(--esafe-font-primary) !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-icon svg {
  display: block !important;
  width: 15px !important;
  min-width: 15px !important;
  max-width: 15px !important;
  height: 15px !important;
  min-height: 15px !important;
  max-height: 15px !important;
  margin: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h4 {
  font: 600 15px/18.75px var(--esafe-font-secondary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence :is(p, li, label) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 15px !important;
  line-height: 24px !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence :is(.esev-dd-subtitle, .esev-dd-notice) {
  font-size: 13px !important;
  line-height: 18.85px !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence :is(.esev-dd-button, .esev-dd-tab) {
  font: 400 14px/19.6px var(--esafe-font-primary) !important;
}

.theme-harbor .esafeConsumerDueDiligence :is(h1, h2, h3) {
  color: var(--esafe-heading-color);
  font-family: var(--esafe-font-secondary);
  letter-spacing: 0;
  text-transform: none !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-header {
  display: grid;
  justify-items: center;
  gap: 16px;
  margin: 0 0 24px;
  padding: 24px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 250px;
  margin: 0;
  border: 0;
  background: none;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-seal {
  display: block;
  width: 200px !important;
  max-width: 100% !important;
  height: 76px !important;
  margin: 0 auto;
  object-fit: contain;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-header-copy {
  display: grid;
  gap: 8px;
  width: min(100%, 820px);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-header-copy h1 {
  margin: 0;
  font: 900 20px/1.25 var(--esafe-font-secondary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-subtitle {
  margin: 0;
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-button,
.theme-harbor .esafeConsumerDueDiligence .esev-dd-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 7px 14px;
  border: 1px solid #dadada;
  border-radius: 8px;
  background: #f5f5f5;
  color: #7a7a7a;
  font: 300 14px/1 var(--esafe-font-primary);
  text-align: center;
  text-decoration: none;
  transition: color .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.theme-harbor .esafeConsumerDueDiligence :is(.esev-dd-button, .esev-dd-card a):is(:hover, :focus-visible) {
  border-color: rgba(241, 193, 193, .5);
  background: #fff;
  color: #d8677d;
  box-shadow: 0 0 6px rgba(224, 90, 90, .5);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-section {
  margin: 0 0 24px;
  padding: 24px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-section h2 {
  margin: 0 0 12px;
  font: 600 18px/1.25 var(--esafe-font-secondary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-section-intro {
  margin: 0 0 16px;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-notice {
  margin: 0;
  padding: 14px 16px;
  border-left: 3px solid var(--esafe-heading-color);
  border-radius: 0 8px 8px 0;
  background: #f5f8fb;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-wrap {
  margin: 0;
  padding: 18px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 18px;
  overflow: visible;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab {
  flex: 0 0 auto;
  min-height: 31px;
  margin: 0;
  padding: 7px 14px;
  border: 1px solid #dadada;
  border-radius: 8px;
  background: #f5f5f5;
  color: #7a7a7a;
  font: 300 14px/1 var(--esafe-font-primary);
  white-space: nowrap;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab:is(:hover, :focus-visible),
.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab.is-active {
  border-color: rgba(241, 193, 193, .5);
  background: #fff;
  color: #d8677d;
  box-shadow: 0 0 6px rgba(224, 90, 90, .5);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-panel[hidden] {
  display: none !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card {
  margin: 0;
  padding: 16px;
  overflow: hidden;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #f5f8fb;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card:is(:hover, :focus-within) {
  transform: translateY(-2px);
  border-color: rgba(142, 2, 28, .28);
  background: #fff;
  box-shadow: 0 0 8px rgba(142, 2, 28, .2);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card h3 {
  margin: 0 0 8px;
  font: 600 16px/1.25 var(--esafe-font-secondary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card p {
  margin: 0 0 12px;
  font: 400 15px/24px var(--esafe-font-primary);
  overflow-wrap: break-word;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card p:last-child {
  margin-bottom: 0;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card ul {
  margin: 0;
  padding-left: 20px;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card li {
  margin: 8px 0 0;
  font: 400 15px/24px var(--esafe-font-primary);
  overflow-wrap: break-word;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-grid > table {
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  font: 400 13px/1.45 var(--esafe-font-primary);
}

.theme-harbor .esafeConsumerDueDiligence table :is(th, td) {
  min-width: 180px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--esafe-border-color);
  text-align: left;
  vertical-align: top;
}

.theme-harbor .esafeConsumerDueDiligence table th {
  color: var(--esafe-heading-color);
  font-weight: 600;
}

@media (max-width: 767px) {
  .theme-harbor.single-post.postid-326 .elementor-location-single > .e-con > .e-con-inner {
    width: 100% !important;
    padding-inline: 12px !important;
  }

  body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-location-single .e-con-inner {
    padding: 0 !important;
  }

  .theme-harbor .pageTitleIcon {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }

  .theme-harbor .esafeConsumerDueDiligence :is(.esev-dd-header, .esev-dd-section, .esev-dd-tab-wrap) {
    padding: 16px;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-bar {
    justify-content: center;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-grid {
    grid-template-columns: 1fr;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-button {
    width: 100%;
  }
}

.theme-harbor .homeMissingKidsSection > p {
  max-width: 860px;
  margin: var(--esafe-space-4) 0 var(--esafe-space-6);
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .homeMissingKidsScroller {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.theme-harbor .homeMissingKidsScroller .esmk-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}

.theme-harbor .missingKidsDrawerAction {
  margin-bottom: 0;
}

.theme-harbor .esafeInfoDrawerOverlay[hidden] {
  display: none !important;
}

.theme-harbor .esafeInfoDrawerOverlay {
  position: fixed;
  inset: 0;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 0 !important;
  background: rgba(15, 35, 48, 0.58);
}

.esafeInfoDrawer {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(720px, 100%);
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
  color: #0f2330;
  box-shadow: -12px 0 32px rgba(15, 35, 48, 0.2);
  font: 400 15px/24px "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  animation: esafeDrawerIn 240ms ease-out both;
}

.esafeInfoDrawer *,
.esafeInfoDrawer *::before,
.esafeInfoDrawer *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.esafeInfoDrawerHeader {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 20px 24px;
  border-bottom: 1px solid #d4dee6;
  background: #ffffff;
}

.esafeInfoDrawerHeader .eyebrow {
  margin: 0 0 8px;
}

.esafeInfoDrawerHeader h2,
.esafeInfoDrawerBody h3 {
  margin: 0;
  color: #1e5476;
  font-family: "Source Sans 3", "Inter", system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

.esafeInfoDrawerHeader h2 {
  font-size: 22px;
  line-height: 1.25;
}

.esafeInfoDrawerHeader .popupClose {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0;
  font-size: 24px;
  line-height: 1;
}

.esafeInfoDrawerBody {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 24px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.esafeInfoDrawerBody > section {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.esafeInfoDrawerBody > section + section {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #d4dee6;
}

.esafeInfoDrawerBody h3 {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.25;
}

.esafeInfoDrawerBody p,
.esafeInfoDrawerBody li,
.esafeInfoDrawerBody summary,
.esafeInfoDrawerBody a {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 24px;
}

.esafeInfoDrawerBody p {
  margin: 0;
}

.esafeInfoDrawerBody a {
  overflow-wrap: anywhere;
}

.esafeResourceList {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.esafeResourceList li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  min-width: 0;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #e6e6e6;
}

.esafeInfoDrawerBody details {
  width: 100%;
  min-width: 0;
  margin: 8px 0 0;
}

.esafeInfoDrawerBody details summary {
  cursor: pointer;
  color: #1e5476;
  font-weight: 600;
}

.esafeInfoDrawerBody .toolFaqs {
  display: grid;
  gap: 8px;
}

.esafeInfoDrawerBody .toolFaqs details {
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid #e6e6e6;
}

.esafeInfoDrawerBody .toolFaqs details p {
  margin-top: 12px;
  color: #0f2330;
}

@keyframes esafeDrawerIn {
  from { transform: translateX(24px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@media (max-width: 600px) {
  .esafeInfoDrawerHeader,
  .esafeInfoDrawerBody {
    padding: 16px;
  }

  .esafeInfoDrawerHeader h2 {
    font-size: 20px;
  }

  .esafeInfoDrawerBody > section + section {
    margin-top: 24px;
    padding-top: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .esafeInfoDrawer {
    animation: none;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-card {
    transition: none;
    transform: none !important;
  }
}

.theme-harbor .activeShooterResources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--esafe-space-6);
  width: 100%;
  margin: var(--esafe-space-6) 0 0;
}

.theme-harbor .activeShooterActionList {
  display: grid;
  gap: var(--esafe-space-4);
  margin: var(--esafe-space-5) 0 var(--esafe-space-7);
  padding: 0;
  list-style: none;
}

.theme-harbor .activeShooterActionList li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: var(--esafe-space-3);
  margin: 0;
}

.theme-harbor .activeShooterActionList .siteIcon {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: #1e5476;
}

.theme-harbor .activeShooterRecordCount {
  margin: var(--esafe-space-2) 0 var(--esafe-space-5);
  color: var(--esafe-muted-color);
  font-size: 14px;
  line-height: 1.5;
}

.theme-harbor .activeShooterTabBar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esafe-space-3);
  margin: var(--esafe-space-5) 0 var(--esafe-space-8);
}

.theme-harbor .activeShooterTab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  min-height: 34px;
  padding: 7px 14px;
  border: 1px solid #dadada;
  border-radius: 10px;
  background: #f5f5f5;
  color: #7a7a7a;
  font: 300 14px/1 var(--esafe-font-primary) !important;
  letter-spacing: 0;
  cursor: pointer;
  transition: all .25s ease;
}

.theme-harbor .activeShooterTab:is(:hover, :focus-visible),
.theme-harbor .activeShooterTab.is-active {
  border-color: rgba(241, 193, 193, .5);
  background: #ffffff;
  color: #d8677d;
  box-shadow: 0 0 6px rgba(224, 90, 90, .5);
  outline: 0;
}

.theme-harbor .activeShooterTabPanel[hidden] {
  display: none !important;
}

.theme-harbor .activeShooterTabPanel > h2 {
  margin-top: 0;
}

.theme-harbor .activeShooterResources > section {
  min-width: 0;
  margin: 0;
  padding: var(--esafe-space-5);
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #f5f8fb;
}

.theme-harbor .activeShooterResources h3 {
  margin: 0 0 var(--esafe-space-3);
}

.theme-harbor .activeShooterResources .esafeResourceList li {
  display: grid;
  gap: var(--esafe-space-1);
  padding: var(--esafe-space-3) 0;
}

.theme-harbor .activeShooterResources .esafeResourceList li:first-child {
  padding-top: 0;
}

.theme-harbor .activeShooterResources .esafeResourceList li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

@media (max-width: 900px) {
  .theme-harbor .activeShooterResources {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .theme-harbor .activeShooterTabBar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .theme-harbor .activeShooterTab {
    width: 100%;
    min-width: 0;
    padding-inline: 12px;
  }
}

/* Phase 12 launch gate: enforce the Harbor typography and containment contract
   across imported legacy content and operational plugin output. */
html body.theme-harbor main#content.siteContent :is(
  h1, h2, h3, h4, h5, h6,
  p, li, label, legend, summary,
  a, button, input, select, textarea,
  table, th, td, caption
) {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

.theme-harbor main :is(
  p, li, label, legend, summary,
  a, button, input, select, textarea,
  th, td, caption
) {
  font-size: max(14px, 1em) !important;
}

.theme-harbor main :is(
  .elementor-widget,
  .elementor-widget-container,
  .elementor-shortcode,
  .esafe-shortcode,
  table, iframe, img, video, svg, canvas, pre
) {
  min-width: 0;
  max-width: 100%;
}

.theme-harbor.page-id-1227 .esafe-sidebar p.fine {
  display: none !important;
}

.theme-harbor.page-id-962 .esmk-grid .esmk-tile {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 1024px) {
  .theme-harbor.page-id-11046 .elementor-element-3c12db2 > .e-con-inner {
    flex-wrap: wrap !important;
  }

  .theme-harbor.page-id-11046 .elementor-element-3c12db2 > .e-con-inner > .e-con {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}
