/* Shared native Divi shell. Scoped to shell classes; no global Divi reset.
   Content styles/variables belong to convert_main. No !important declarations. */
.cm-d-header .et_pb_row.cm-d-shell-header-row,
.cm-d-footer .et_pb_row.cm-d-shell-footer-row,
.cm-d-footer .et_pb_row.cm-d-shell-footer-bottom {
  width: calc(100% - 72px);
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
.cm-d-header .cm-d-shell-header-row {
  display: flex;
  align-items: center;
  gap: 25px;
  min-height: 106px;
}
.cm-d-header .cm-d-shell-header-row::after,
.cm-d-footer .cm-d-shell-footer-row::after,
.cm-d-footer .cm-d-shell-footer-bottom::after { display: none; }
.cm-d-header .cm-d-shell-header-brand-col {
  display: flex;
  align-items: center;
  gap: 13px;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  margin: 0;
}
.cm-d-header .cm-d-shell-menu-col {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  margin: 0;
}
.cm-d-header .cm-d-shell-logo { flex: 0 0 64px; }
.cm-d-shell-logo .et_pb_image_wrap { display: block; }
.cm-d-shell-logo img {
  display: block;
  width: 64px;
  height: 49px;
  object-fit: contain;
}
.cm-d-shell-brand-text p { margin: 0; padding-bottom: 0; }
.cm-d-shell-brand-text a { color: inherit; text-decoration: none; }
.cm-d-shell-brand-text .cm-d-shell-brand-sub {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .055em;
  line-height: 1.2;
}
.cm-d-header .cm-d-shell-brand-sub { color: #53606b; }
.cm-d-footer .cm-d-shell-brand-sub { color: #c3cdd5; }
.cm-d-header .cm-d-shell-menu .et_pb_menu__wrap { justify-content: flex-end; }
.cm-d-header .cm-d-shell-menu .et-menu {
  align-items: center;
  gap: 27px;
  margin: 0;
}
.cm-d-header .cm-d-shell-menu .et-menu > li { padding: 0; margin: 0; }
.cm-d-header .cm-d-shell-menu .et-menu > li > a { padding: 0; line-height: 1.4; }
.cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a {
  padding: 12px 18px;
  border: 1px solid currentColor;
  border-radius: 4px;
}
.cm-d-header .cm-d-shell-menu .et-menu > li > a:hover { color: #bc422d; opacity: 1; }
.cm-d-header .cm-d-shell-skip {
  position: absolute;
  left: -10000px;
  top: 0;
  width: auto;
  z-index: 10000;
}
.cm-d-header .cm-d-shell-skip:focus-within { left: 0; }
.cm-d-header .cm-d-shell-skip a { display: block; padding: 10px 14px; background: #fff; color: #172330; }
.cm-d-header a:focus-visible,
.cm-d-footer a:focus-visible,
.cm-d-footer button:focus-visible { outline: 3px solid #bc422d; outline-offset: 4px; }

.cm-d-footer .cm-d-shell-intro-col {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  column-gap: 13px;
  align-content: start;
  align-items: center;
}
.cm-d-footer .cm-d-shell-logo-footer { grid-column: 1; grid-row: 1; }
.cm-d-footer .cm-d-shell-brand-footer { grid-column: 2; grid-row: 1; }
.cm-d-footer .cm-d-shell-footer-summary,
.cm-d-footer .cm-d-shell-linkedin { grid-column: 1 / -1; }
.cm-d-footer .cm-d-shell-footer-summary p,
.cm-d-footer .cm-d-shell-footer-link p,
.cm-d-footer .cm-d-shell-legal-link p,
.cm-d-footer .cm-d-shell-copyright p { margin: 0; padding-bottom: 0; }
.cm-d-footer .cm-d-shell-footer-heading h3 { padding-bottom: 0; }
.cm-d-footer .cm-d-shell-services-col .cm-d-shell-footer-link + .cm-d-shell-footer-link,
.cm-d-footer .cm-d-shell-contact-col .cm-d-shell-footer-link + .cm-d-shell-footer-link { padding-top: 8px; }
.cm-d-footer a { color: inherit; }
.cm-d-footer a:hover,
.cm-d-footer .cm-cookie-settings:hover { color: #ffbcb0; }
.cm-d-footer .cm-d-shell-footer-bottom { border-top: 1px solid #33404c; }
.cm-d-footer .cm-d-shell-legal-col {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  column-gap: 16px;
  row-gap: 10px;
}
.cm-d-footer .cm-cookie-settings {
  display: inline;
  background: transparent;
  color: inherit;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
  text-align: left;
}

@media (min-width: 981px) {
  .cm-d-footer .cm-d-shell-footer-row { display: flex; align-items: flex-start; gap: 45px; }
  .cm-d-footer .cm-d-shell-footer-col { flex: 1 1 0; width: auto; min-width: 0; margin: 0; }
  .cm-d-footer .cm-d-shell-intro-col { flex-grow: 1.3; }
  .cm-d-footer .cm-d-shell-footer-bottom { display: flex; align-items: baseline; gap: 18px; }
  .cm-d-footer .cm-d-shell-copyright-col { flex: 0 0 auto; width: auto; margin: 0; }
  .cm-d-footer .cm-d-shell-legal-col { flex: 1 1 auto; width: auto; min-width: 0; margin: 0; }
}
@media (min-width: 981px) and (max-width: 1180px) {
  .cm-d-header .cm-d-shell-menu .et-menu { gap: 17px; }
  .cm-d-header .cm-d-shell-menu .et-menu > li > a { font-size: 13px; }
}
@media (max-width: 980px) {
  .cm-d-header .cm-d-shell-header-row { position: relative; gap: 12px; min-height: 88px; }
  .cm-d-header .cm-d-shell-header-brand-col { gap: 10px; }
  .cm-d-header .cm-d-shell-brand-text { font-size: 17px; }
  .cm-d-header .cm-d-shell-brand-sub { font-size: 9px; letter-spacing: .04em; }
  .cm-d-header .cm-d-shell-logo { flex-basis: 42px; width: 42px; max-width: 42px; }
  .cm-d-header .cm-d-shell-logo img { width: 42px; height: 42px; }
  /* Keep Divi's native hamburger and opening/closing behavior. Anchor its
     dropdown to the complete header row, not the narrow menu column. */
  .cm-d-header .cm-d-shell-menu-col,
  .cm-d-header .cm-d-shell-menu,
  .cm-d-header .cm-d-shell-menu .et_pb_menu_inner_container,
  .cm-d-header .cm-d-shell-menu .mobile_nav { position: static; }
  .cm-d-header .cm-d-shell-menu .et_mobile_menu { top: 100%; left: 0; right: 0; width: 100%; }
  .cm-d-header .cm-d-shell-menu .et_mobile_menu a { color: #172330; }
  .cm-d-footer .cm-d-shell-footer-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .cm-d-footer .cm-d-shell-footer-col { width: auto; min-width: 0; margin: 0; }
  .cm-d-footer .cm-d-shell-intro-col { grid-column: 1 / -1; }
  .cm-d-footer .cm-d-shell-footer-link a { overflow-wrap: anywhere; }
  .cm-d-footer .cm-d-shell-copyright-col { margin-bottom: 18px; }
  .cm-d-footer .cm-d-shell-legal-col { justify-content: flex-start; margin-bottom: 0; }
}

@media (max-width: 780px) {
  .cm-d-header .et_pb_row.cm-d-shell-header-row,
  .cm-d-footer .et_pb_row.cm-d-shell-footer-row,
  .cm-d-footer .et_pb_row.cm-d-shell-footer-bottom { width: calc(100% - 40px); }
}

/* Mobile column sizing: override Divi's generated column widths while
   reserving space for the native 32px hamburger. */
@media (max-width: 980px) {
  .cm-d-header .cm-d-shell-header-row > .cm-d-shell-header-brand-col {
    width: auto;
    max-width: calc(100% - 44px);
    min-width: 0;
    flex: 0 1 auto;
    margin: 0;
  }
  .cm-d-header .cm-d-shell-header-row > .cm-d-shell-menu-col {
    width: auto;
    max-width: 100%;
    min-width: 32px;
    flex: 1 0 32px;
    margin: 0;
  }
  .cm-d-header .cm-d-shell-header-brand-col > .cm-d-shell-logo {
    flex: 0 0 42px;
    width: 42px;
    max-width: 42px;
    min-width: 42px;
  }
  .cm-d-header .cm-d-shell-header-brand-col > .cm-d-shell-brand-text {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    max-width: 100%;
  }
  .cm-d-header .cm-d-shell-header-brand-col .cm-d-shell-logo img {
    width: 42px;
    height: 42px;
    max-width: 100%;
  }
  .cm-d-header .cm-d-shell-menu-col > .cm-d-shell-menu {
    width: auto;
    min-width: 32px;
    margin: 0;
  }
  .cm-d-footer .cm-d-shell-footer-row > .cm-d-shell-footer-col {
    width: auto;
    max-width: 100%;
    min-width: 0;
    margin: 0;
  }
  .cm-d-footer .cm-d-shell-footer-row > .cm-d-shell-intro-col {
    grid-column: 1 / -1;
  }
}

/* Mobile footer bottom must contain both columns. Its clearfix is disabled
   above, so use flex here as on desktop instead of leaving floated children. */
@media (max-width: 980px) {
  .cm-d-footer .et_pb_row.cm-d-shell-footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }
  .cm-d-footer .cm-d-shell-footer-bottom > .et_pb_column {
    float: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
  }
}

/* Archives reuse the blog page's editable Divi header/footer; stable archive styles. */
.cm-blog-archive { color:#172330; font:16px/1.7 Arial,Helvetica,sans-serif; }
.cm-blog-archive .cm-d-header { padding:0; background:#fff; border-bottom:1px solid #dce2e5; }
.cm-blog-archive .cm-d-header .et_pb_module { margin:0; }
.cm-blog-archive .cm-d-header .cm-d-shell-menu { background:transparent; }
.cm-blog-archive .cm-d-header .cm-d-shell-menu a { color:#172330; font:600 14px/1.4 Arial,sans-serif; }
.cm-blog-archive .cm-d-shell-brand-text { font:700 19px/1.2 Arial,sans-serif; color:#172330; }
.cm-blog-archive .cm-d-blog { padding:48px 0; }
.cm-blog-archive .cm-d-blog .et_pb_row { width:calc(100% - 40px); max-width:1180px; padding:0; }
.cm-blog-archive .cm-d-blog .et_pb_column { width:100%; margin:0; }
.cm-blog-archive #cm-main .et_pb_row { max-width:1000px; }
.cm-blog-archive #cm-main { background:#f3f6f7; }
.cm-blog-archive .cm-d-text { margin:0 0 20px; color:#172330; font:18px/1.8 Arial,sans-serif; }
.cm-blog-archive .cm-d-text a { color:#bc422d; }
.cm-blog-archive .cm-d-text h1 { font:700 52px/1.2 Arial,sans-serif; color:#172330; padding:0; margin:0 0 22px; }
.cm-blog-archive .cm-d-text h2 { font:700 32px/1.2 Arial,sans-serif; color:#172330; padding:0; margin:0 0 20px; }
.cm-blog-archive .cm-d-blog .et_pb_button { padding:14px 24px; background:#172330; color:#fff; font:16px/1.4 Arial,sans-serif; border:0; border-radius:4px; }
.cm-blog-archive .cm-d-footer { padding:58px 0 28px; background:#101a24; color:#c3cdd5; }
.cm-blog-archive .cm-d-footer .et_pb_row { padding:0; }
.cm-blog-archive .cm-d-footer .et_pb_module { margin:0; font:14px/1.7 Arial,sans-serif; color:#c3cdd5; }
.cm-blog-archive .cm-d-footer .cm-d-shell-brand-footer { font:700 19px/1.2 Arial,sans-serif; color:#fff; }
.cm-blog-archive .cm-d-footer .cm-d-shell-footer-summary { margin:22px 0 12px; }
.cm-blog-archive .cm-d-footer .cm-d-shell-footer-heading { margin:0 0 18px; }
.cm-blog-archive .cm-d-footer h3 { color:#fff; font:700 15px/1.3 Arial,sans-serif; }
.cm-blog-archive .cm-d-footer .cm-d-shell-footer-bottom { margin:40px auto 0; padding:25px 0 0; }
.cm-blog-archive .cm-d-footer .cm-d-shell-legal-link,
.cm-blog-archive .cm-d-footer .cm-d-shell-copyright,
.cm-blog-archive .cm-d-footer .cm-d-shell-cookie-action { font-size:12px; }
@media (max-width:980px) {
 .cm-blog-archive .cm-d-header .cm-d-shell-brand-text { font-size:17px; }
 .cm-blog-archive .cm-d-footer .cm-d-shell-footer-col { float:none; }
}
@media (max-width:680px) {
 .cm-blog-archive .cm-d-text h1 { font-size:34px; }
 .cm-blog-archive .cm-d-text h2 { font-size:27px; }
 .cm-blog-archive .cm-d-blog { padding:34px 0; }
}
