
/* ---- DROPDOWN MENUS ---- */
#top-menu .sub-menu {
  display: none; position: absolute; top: 80px; left: 0;
  background: #fff; min-width: 290px;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
  padding: 8px 0; z-index: 99999; list-style: none;
  border-top: 3px solid #0a7f95;
}
#top-menu .menu-item-has-children:hover .sub-menu { display: block; }
#top-menu .sub-menu li { display: block; }
#top-menu .sub-menu a.dd-item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 12px 18px; color: #0d2d4a; text-decoration: none;
  font-family: 'Assistant', sans-serif; font-size: 14px;
  font-weight: 600; letter-spacing: 0; text-transform: none;
  line-height: 1.3; transition: background .15s;
}
#top-menu .sub-menu a.dd-item:hover { background: #f0f8fb; }
.dd-icon { width: 34px; height: 34px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 14px; margin-top: 1px; }
.dd-icon-teal { background: #d0ebf2; color: #0a7f95; }
.dd-icon-navy { background: #dce8ee; color: #0d2d4a; }
.dd-icon-orange { background: #fdf3e3; color: #c47c1e; }
.dd-icon-green { background: #e6f5ed; color: #2a7d4f; }
.dd-text { display: flex; flex-direction: column; gap: 3px; }
.dd-title { font-weight: 800; color: #0d2d4a; font-size: 14px; font-family: 'Assistant', sans-serif; }
.dd-desc { font-size: 12px; color: #5a7282; font-weight: 400; line-height: 1.4; }
.dd-footer-item { border-top: 1px solid #dce8ee; margin-top: 4px; }
a.dd-footer-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 18px; font-family: 'Assistant', sans-serif;
  font-size: 12px; font-weight: 800; letter-spacing: 1.5px;
  text-transform: uppercase; color: #0a7f95; text-decoration: none;
}
a.dd-footer-link:hover { background: #f0f8fb; }
.dd-footer-link-inner { display: flex; align-items: center; gap: 8px; }
#top-menu .dd-align-right .sub-menu { left: auto; right: 0; }
a.et_pb_button, .et_pb_button {
  display: inline-block; font-family: 'Assistant', sans-serif !important;
  font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  padding: 14px 28px; border-radius: 4px; text-decoration: none;
  border: 2px solid rgba(255,255,255,.5); color: #fff; background: transparent; transition: all .2s;
}
a.btn-green, .btn-green { background: #2a7d4f !important; color: #fff !important; border-color: #2a7d4f !important; }
a.btn-green:hover { background: #1f5e3b !important; }
a.btn-white, .btn-white { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
/* Mobile-only layout (<=767px / <=480px). Tablet and laptop layouts unchanged. */
@media screen and (max-width:767px){
  .team-careers-grid { grid-template-columns:1fr !important; gap:32px !important; }
}
@media screen and (max-width:480px){
  .team-grid-3, .team-grid-2 { grid-template-columns:1fr !important; }
}


/* v1.6.3 — Our Team: preserve the complete square headshot on every viewport.
   All restored team assets are square, so the photo frame should be square too. */
body.csc-page-team .team-photo-wrap {
  height: auto !important;
  aspect-ratio: 1 / 1;
}
body.csc-page-team .team-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
body.csc-page-team .team-placeholder {
  height: auto !important;
  aspect-ratio: 1 / 1;
}
