/*
Theme Name: Doctors & Co
Theme URI: https://www.doctorsandco.com.au
Author: Feur Media House
Description: The Doctors & Co website. A standalone theme built from Figma/05_UI Design.fig, canvas "UI Design 1.0". No parent theme and no page builder - the layout is held to the design's own coordinates and verified against them. All content is editable from Appearance > Theme Options and the homepage editor.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: doctors-and-co
Tags: custom-theme
*/

/*
  The actual stylesheet is assets/css/app.css, compiled from
  assets/css/src/app.css by build/build-css.mjs and enqueued in inc/enqueue.php.
*/

/* Navbar floating glass pill with subtle shadow and hover white state */
.dc-navbar {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
}

.dc-navbar:hover {
  background-color: #ffffff !important;
}

/* Nav item hover state matching design */
.dc-nav-link {
  transition: color 0.2s ease !important;
}

.dc-nav-link:hover,
.dc-nav-link:focus-visible {
  color: #408027 !important;
  background-color: transparent !important;
}

/* ---- Dropdown nav ---- */

/* Split trigger: label (link) + chevron button in a row */
.dc-nav-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  height: 48px;
}

/* The label part — navigates on click */
.dc-nav-dropdown-label {
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 0 6px 0 16px;
  border-radius: 9999px 0 0 9999px;
  font: inherit;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
  color: #001A0F;
  font-weight: 600;
}

.dc-nav-dropdown-label:hover,
.dc-nav-dropdown-label:focus-visible {
  color: #408027;
}

/* The chevron-only button */
.dc-nav-dropdown-chevron-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 48px;
  padding: 0 10px 0 2px;
  border-radius: 0 9999px 9999px 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #001A0F;
  transition: color 0.2s ease;
}

.dc-nav-dropdown-chevron-btn:hover,
.dc-nav-dropdown-chevron-btn:focus-visible {
  color: #408027;
}

/* Chevron SVG — explicit size so it can never blow up */
.dc-dropdown-chevron {
  width: 12px !important;
  height: 12px !important;
  flex-shrink: 0;
  display: block;
  transition: transform 0.2s ease;
}

/* Position context for the panel */
.dc-dropdown-parent {
  position: relative;
}

/* Dropdown panel */
.dc-dropdown-panel {
  position: absolute;
  top: 100%;
  /* no gap — eliminates the dead zone between trigger and panel */
  left: 0;
  z-index: 200;
  min-width: 200px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.06);
  padding: 6px;
  padding-top: 14px;
  /* visual gap above first item, while panel itself has no top gap */
  margin-top: 0;
  animation: dc-dropdown-in 0.15s ease both;
}

/* Invisible bridge above the panel so the gap never triggers mouseleave */
.dc-dropdown-panel::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 8px;
}


.dc-dropdown-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

@keyframes dc-dropdown-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Dropdown item links */
.dc-dropdown-item {
  display: block;
  padding: 10px 16px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 500;
  color: #001A0F;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.dc-dropdown-item:hover,
.dc-dropdown-item:focus-visible {
  background-color: rgba(64, 128, 39, 0.08);
  color: #408027;
}

/* Divider between parent link and children */
.dc-dropdown-divider {
  height: 1px;
  background: rgba(0, 26, 15, 0.08);
  margin: 4px 8px;
}

/* ---- Mobile accordion ---- */
.dc-mobile-dropdown-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 12px;
  border-radius: 6px;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: color 0.2s ease;
}

.dc-mobile-chevron {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  display: block;
}

.dc-mobile-submenu {
  list-style: none;
  margin: 0;
  padding: 0 0 4px 16px;
}

/* Mobile sub-menu link hover */
.dc-mobile-dropdown [data-dc-mobile-submenu] a:hover,
.dc-mobile-dropdown [data-dc-mobile-submenu] a:focus-visible {
  color: #408027;
}

/* Find a Clinic - Hero to Map seamless transition & Search bar styles */
.dc-clinic-hero {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.dc-clinic-search-card {
  background-color: #F4F3ED !important;
  border-radius: 20px !important;
}

@media (min-width: 1024px) {
  .dc-clinic-search-card {
    border-radius: 24px !important;
  }
}

.dc-clinic-select {
  background-color: #FFFFFF !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: #001A0F !important;
}

.dc-clinic-search-pill {
  background-color: #FFFFFF !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.dc-clinic-locate-inner-btn {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: 1.5px solid #2D3748 !important;
  background-color: transparent !important;
  color: #001A0F !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  padding: 0 !important;
  transition: all 0.2s ease !important;
}

.dc-clinic-locate-inner-btn:hover {
  background-color: rgba(0, 0, 0, 0.06) !important;
  border-color: #001A0F !important;
  transform: translateY(-50%) scale(1.05) !important;
}

.dc-clinic-locate-btn,
.dc-clinic-btn-outline {
  border: 1.5px solid rgba(0, 26, 15, 0.8) !important;
  border-radius: 9999px !important;
  color: #001A0F !important;
  background-color: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  height: 48px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.dc-clinic-locate-btn:hover,
.dc-clinic-btn-outline:hover {
  border-color: #001A0F !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
}

.dc-clinic-reset-btn {
  display: none !important;
}

@media (min-width: 1024px) {
  .dc-clinic-reset-btn {
    display: inline-flex !important;
  }
}

.dc-clinic-input {
  background-color: #FFFFFF !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: #001A0F !important;
  height: 48px !important;
  padding-left: 20px !important;
  padding-right: 52px !important;
  width: 100% !important;
  font-size: 15px !important;
}

.dc-clinic-submit-btn {
  background-color: #7fcc33 !important;
  color: #001A0F !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  height: 48px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(127, 204, 51, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  .dc-clinic-submit-btn {
    width: auto !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

.dc-clinic-submit-btn:hover {
  background-color: #72bf25 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(127, 204, 51, 0.35) !important;
}

.dc-clinic-submit-btn:active {
  transform: translateY(0) !important;
}

/* Dynamic Map Pin & Cluster Styles matching Figma */
.dc-map-pin {
  background-color: #20571b !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
}

.dc-map-cluster {
  background-color: #20571b !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

/* Map Section Framing on Mobile & Desktop */
@media (max-width: 1023px) {
  [data-dc-clinic-map] {
    height: 640px !important;
    position: relative !important;
    overflow: hidden !important;
  }

  [data-dc-clinic-canvas] {
    height: 640px !important;
    width: calc(640px * 1440 / 880) !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    margin-left: calc(-1 * (640px * 1440 / 880) / 2) !important;
  }

  [data-dc-clinic-canvas] img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block !important;
  }
}

/* Map Zoom Controls */
.dc-map-zoom-box {
  position: absolute !important;
  right: 24px !important;
  top: 45% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  flex-direction: column !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
  overflow: hidden !important;
  z-index: 30 !important;
}

.dc-map-zoom-btn {
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffffff !important;
  color: #001A0F !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  border: none !important;
}

.dc-map-zoom-btn:hover {
  background-color: #f3f4f6 !important;
}

.dc-map-zoom-btn:last-child {
  border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
}

@media (max-width: 1023px) {
  .dc-map-zoom-box {
    right: 14px !important;
    top: 48% !important;
    transform: translateY(-50%) !important;
  }

  .dc-map-zoom-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
  }
}

/* Clinic Carousel Floating over Map */
.dc-clinic-carousel-wrap {
  position: absolute !important;
  bottom: 24px !important;
  left: 20px !important;
  right: 20px !important;
  z-index: 25 !important;
  display: block !important;
  pointer-events: auto !important;
}

@media (max-width: 1023px) {
  .dc-clinic-carousel-wrap {
    bottom: 16px !important;
    left: 8px !important;
    right: 8px !important;
  }
}

.dc-clinic-carousel-inner {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

.dc-clinic-carousel {
  display: flex !important;
  gap: 16px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  padding: 10px 4px !important;
  background: transparent !important;
  cursor: grab !important;
  user-select: none !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: 100% !important;
}

.dc-clinic-carousel::-webkit-scrollbar {
  display: none !important;
}

.dc-clinic-card-box {
  width: 387px !important;
  min-width: 290px !important;
  height: 84px !important;
  background-color: #EFECE6 !important;
  border-radius: 16px !important;
  position: relative !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  border: 1.5px solid transparent !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease !important;
  flex-shrink: 0 !important;
  user-select: none !important;
  display: flex !important;
  align-items: center !important;
}

.dc-clinic-card-box h3 {
  font-weight: 600 !important;
}

.dc-clinic-card-box:hover {
  transform: translateY(-2px) !important;
  background-color: #e5f6d1 !important;
  border-color: #7fcc33 !important;
  box-shadow: 0 8px 24px rgba(127, 204, 51, 0.2) !important;
}

.dc-clinic-card-box.is-active {
  background-color: #e5f6d1 !important;
  border: 2px solid #7fcc33 !important;
  box-shadow: 0 8px 28px rgba(127, 204, 51, 0.25) !important;
}

.dc-clinic-card-box[hidden] {
  display: none !important;
}

@media (max-width: 1023px) {
  .dc-clinic-card-box {
    width: calc(100vw - 110px) !important;
    min-width: 220px !important;
    max-width: 320px !important;
    height: 74px !important;
    border-radius: 14px !important;
  }

  .dc-clinic-card-box h3 {
    font-size: 15px !important;
  }
}

/* Carousel navigation arrows */
.dc-carousel-nav-btn {
  width: 44px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  background-color: #ffffff !important;
  color: #001A0F !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
  cursor: pointer !important;
  z-index: 30 !important;
  transition: all 0.2s ease !important;
  border: 1px solid rgba(0, 26, 15, 0.1) !important;
  flex-shrink: 0 !important;
  margin: 0 8px !important;
}

.dc-carousel-nav-btn:hover {
  background-color: #f3f4f6 !important;
  transform: scale(1.08) !important;
}

@media (max-width: 1023px) {
  .dc-carousel-nav-btn {
    width: 38px !important;
    height: 38px !important;
    margin: 0 3px !important;
  }
}

/* Clinic Detailed Info Popup */
.dc-clinic-info-popup {
  position: absolute !important;
  bottom: 125px !important;
  left: 24px !important;
  width: 387px !important;
  max-width: calc(100% - 48px) !important;
  background-color: #FFFFFF !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  z-index: 40 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

@media (max-width: 1023px) {
  .dc-clinic-info-popup {
    bottom: 16px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: 400px !important;
    margin: 0 auto !important;
    max-height: calc(100% - 32px) !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
  }
}

#dc-popup-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 9999px !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 30 !important;
  transition: background-color 0.2s ease !important;
}

#dc-popup-close:hover {
  background-color: rgba(0, 0, 0, 0.8) !important;
}

#dc-popup-directions {
  width: 44px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  background-color: #7fcc33 !important;
  color: #001A0F !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(127, 204, 51, 0.3) !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
  text-decoration: none !important;
}

#dc-popup-directions:hover {
  background-color: #6ab82a !important;
  transform: scale(1.05) !important;
}

.dc-map-pin.is-active,
[data-dc-clinic-pin].is-active {
  transform: scale(1.4) !important;
  z-index: 35 !important;
}

/* Hero background soft lighting and high contrast text overlay */
.dc-hero-scrim {
  background: rgba(0, 26, 15, 0.7);
}

@media (min-width: 64rem) {
  .dc-hero-scrim {
    background: linear-gradient(to right, rgba(0, 26, 15, 0.85) 0%, rgba(0, 26, 15, 0.55) 32%, rgba(0, 26, 15, 0.15) 48%, transparent 60%) !important;
  }
}

/* Testimonials Marquee / Carousel Track & Cards */
.dc-testimonials-track {
  height: 560px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.dc-testimonials-track::-webkit-scrollbar {
  display: none !important;
}

@media (min-width: 64rem) {
  .dc-testimonials-track {
    height: 720px !important;
  }
}

/* Testimonials Navigation Arrows */
.dc-testimonials-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) !important;
  z-index: 25;
  width: 44px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  background-color: #ffffff !important;
  color: #001A0F !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid rgba(0, 26, 15, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

@media (min-width: 768px) {
  .dc-testimonials-arrow {
    width: 48px !important;
    height: 48px !important;
  }
}

.dc-testimonials-arrow:hover {
  background-color: #f7f6f2 !important;
  transform: translateY(-50%) scale(1.08) !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.2) !important;
}

.dc-testimonials-arrow--prev {
  left: 8px;
}

@media (min-width: 1024px) {
  .dc-testimonials-arrow--prev {
    left: 16px;
  }
}

.dc-testimonials-arrow--next {
  right: 8px;
}

@media (min-width: 1024px) {
  .dc-testimonials-arrow--next {
    right: 16px;
  }
}

.dc-testimonial-card {
  overflow: hidden !important;
  border-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
  height: auto !important;
}

.dc-testimonial-card .bg-surface,
.dc-testimonial-card .surf-h,
.surf-h {
  border-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
  min-height: 280px !important;
  height: auto !important;
}

/* Compounding dimension pills - Rest state (Image 2) & Hover/Active state (Image 1 & 3) */
.dc-pill,
[data-dc-pill] {
  background: linear-gradient(90deg, #EEEBDF 0%, #EEEBDF 45%, rgba(238, 235, 223, 0.65) 65%, rgba(238, 235, 223, 0.15) 88%, rgba(238, 235, 223, 0) 100%) !important;
  color: #001A0F !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background 0.3s cubic-bezier(0.33, 1, 0.68, 1), color 0.25s ease !important;
}

.dc-pill[data-open='false'],
[data-dc-pill][data-open='false'] {
  background: linear-gradient(90deg, #EEEBDF 0%, #EEEBDF 45%, rgba(238, 235, 223, 0.65) 65%, rgba(238, 235, 223, 0.15) 88%, rgba(238, 235, 223, 0) 100%) !important;
  box-shadow: none !important;
}

.dc-pill .t-dimension,
[data-dc-pill] .t-dimension {
  color: #001A0F !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

.dc-pill>span:first-child,
[data-dc-pill]>span:first-child {
  opacity: 1 !important;
}

/* Hover & Active states - 100% matching image gradient */
.dc-pill:hover,
.dc-pill[data-open='true'],
[data-dc-pill]:hover,
[data-dc-pill]:hover[data-open='false'],
[data-dc-pill][data-open='true'] {
  background: linear-gradient(90deg, #EEEBDF 0%, #E8F1D7 25%, #DEF5B8 60%, #E1F8CE 100%) !important;
  color: #001A0F !important;
  box-shadow: none !important;
}

.dc-pill:hover .t-dimension,
.dc-pill[data-open='true'] .t-dimension,
[data-dc-pill]:hover .t-dimension,
[data-dc-pill][data-open='true'] .t-dimension {
  color: #001A0F !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

.dc-pill:hover>span:first-child,
.dc-pill[data-open='true']>span:first-child,
[data-dc-pill]:hover>span:first-child,
[data-dc-pill][data-open='true']>span:first-child {
  opacity: 1 !important;
}

/* Mobile disclosure toggles - Compounding Career */
[data-dc-compounding] [data-dc-disclosure-toggle] {
  background: linear-gradient(90deg, #EEEBDF 0%, #EEEBDF 45%, rgba(238, 235, 223, 0.65) 65%, rgba(238, 235, 223, 0.15) 88%, rgba(238, 235, 223, 0) 100%) !important;
}

[data-dc-compounding] [data-dc-disclosure-toggle]:hover,
[data-dc-compounding] [data-dc-disclosure-toggle][aria-expanded='true'] {
  background: linear-gradient(90deg, #EEEBDF 0%, #E8F1D7 25%, #DEF5B8 60%, #E1F8CE 100%) !important;
}

/* FAQ Section - Question background white, hover #7fcc33 on closed questions only, remove linear gradient */
.dc-faq-section .dc-faq-item,
section[aria-labelledby="faq-heading"] li {
  background-color: #ffffff !important;
  background-image: none !important;
}

.dc-faq-section .dc-faq-toggle,
.dc-faq-section [data-dc-disclosure-toggle],
section[aria-labelledby="faq-heading"] [data-dc-disclosure-toggle] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  transition: background-color 0.2s ease !important;
}

/* Hover color #7fcc33 ONLY when NOT open */
.dc-faq-section .dc-faq-toggle:not([aria-expanded='true']):hover,
.dc-faq-section [data-dc-disclosure-toggle]:not([aria-expanded='true']):hover,
section[aria-labelledby="faq-heading"] [data-dc-disclosure-toggle]:not([aria-expanded='true']):hover,
.dc-faq-section .dc-faq-toggle[aria-expanded='false']:hover,
.dc-faq-section [data-dc-disclosure-toggle][aria-expanded='false']:hover,
section[aria-labelledby="faq-heading"] [data-dc-disclosure-toggle][aria-expanded='false']:hover {
  background: #7fcc33 !important;
  background-color: #7fcc33 !important;
  background-image: none !important;
}

/* When open, background remains white (no hover color) */
.dc-faq-section .dc-faq-toggle[aria-expanded='true'],
.dc-faq-section .dc-faq-toggle[aria-expanded='true']:hover,
.dc-faq-section [data-dc-disclosure-toggle][aria-expanded='true'],
.dc-faq-section [data-dc-disclosure-toggle][aria-expanded='true']:hover,
section[aria-labelledby="faq-heading"] [data-dc-disclosure-toggle][aria-expanded='true'],
section[aria-labelledby="faq-heading"] [data-dc-disclosure-toggle][aria-expanded='true']:hover {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* About Page (T5) Section 02 - Cards container & layout matching Image 2 */
.dc-about-cards-shell {
  background-color: #ffffff !important;
  border-radius: 24px !important;
  padding: 16px !important;
  min-height: 680px !important;
}

@media (min-width: 64rem) {
  .dc-about-cards-shell {
    height: 680px !important;
  }
}

@media (max-width: 63.99rem) {
  .dc-about-cards-shell {
    border-radius: 20px !important;
    padding: 12px !important;
    min-height: auto !important;
    height: auto !important;
  }
}

.dc-about-card-1 {
  background-color: var(--color-bg, #eeebdf) !important;
  border-radius: 16px !important;
}

.dc-about-card-2 {
  border-radius: 16px !important;
  overflow: hidden !important;
}

.dc-about-card-3 {
  border-radius: 16px !important;
  overflow: hidden !important;
}

.dc-about-card-3-overlay {
  background-color: #ffffff !important;
  border-radius: 16px !important;
  width: 100% !important;
  max-width: 440px !important;
}

/* About Page (T5) Section 04 - Our Purpose */
.dc-about-purpose-shell {
  background-color: #ffffff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

.dc-about-purpose-img {
  position: relative !important;
  width: 100% !important;
  min-height: 320px !important;
  overflow: hidden !important;
}

.dc-about-purpose-img picture,
.dc-about-purpose-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.dc-about-purpose-content {
  background-color: #ffffff !important;
}

@media (min-width: 64rem) {
  .dc-about-purpose-shell {
    border-radius: 24px !important;
    min-height: 560px !important;
  }

  .dc-about-purpose-img {
    width: 55% !important;
    max-width: 760px !important;
    min-height: 0 !important;
    align-self: stretch !important;
    flex-shrink: 0 !important;
  }
}


/* Our Avenues carousel - hide native scrollbar */
.dc-avenues-track {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.dc-avenues-track::-webkit-scrollbar {
  display: none !important;
}

/* Our Avenues dot pagination - pill container */
.dc-avenues-dots-pill {
  display: inline-flex;
  align-items: center;
  background-color: #EEEBDF;
  border-radius: 999px;
  padding: 10px 18px;
}

.dc-avenues-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: #C5C1B2 !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, transform 0.25s ease, width 0.25s ease, height 0.25s ease !important;
  flex-shrink: 0 !important;
}

.dc-avenues-dot--active {
  background-color: #7fcc33 !important;
  width: 10px !important;
  height: 10px !important;
  transform: none !important;
}

.dc-avenues-dot:hover:not(.dc-avenues-dot--active) {
  background-color: #001a0f !important;
}

/* About Page (T5) Section 05 - Full-width video */
.dc-about-video-section {
  padding: 0 !important;
  overflow: hidden;
}

.dc-about-video-wrap {
  position: relative;
  width: 100%;
  height: 56vw;
  max-height: 700px;
  min-height: 240px;
  overflow: hidden;
}

.dc-about-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 64rem) {
  .dc-about-video-wrap {
    height: 700px;
  }
}

/* Insights Featured Carousel track & dots */
#dc-featured-track {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

#dc-featured-track::-webkit-scrollbar {
  display: none !important;
}

#dc-featured-track>article {
  width: 100% !important;
  min-width: 100% !important;
  flex-shrink: 0 !important;
}

.dc-featured-card {
  width: 100% !important;
  min-width: 100% !important;
  flex-shrink: 0 !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.dc-featured-card-img {
  position: relative !important;
  width: 100% !important;
  height: 240px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

.dc-featured-card-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 20px !important;
}

.dc-featured-card-content {
  background-color: #ffffff !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
}

@media (min-width: 64rem) {
  .dc-featured-card {
    height: 380px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 16px !important;
  }

  .dc-featured-card-img {
    width: 56% !important;
    max-width: 58% !important;
    height: 380px !important;
    min-height: 0 !important;
    border-radius: 20px !important;
    flex-shrink: 0 !important;
  }

  .dc-featured-card-content {
    flex: 1 1 0% !important;
    height: 380px !important;
    border-radius: 20px !important;
    padding: 36px 44px !important;
  }
}

.dc-featured-dots-pill {
  display: inline-flex !important;
  align-items: center !important;
  background-color: #ffffff !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  gap: 8px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
}

.dc-featured-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: #d6d2c4 !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  flex-shrink: 0 !important;
}

.dc-featured-dot--active {
  background-color: #72cb3b !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
}

/* Post Meta row icons & typography */
.dc-post-meta-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111827 !important;
}

.dc-meta-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  color: #7fcc33 !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

/* Titles default & hover */
.dc-featured-card-title,
.dc-featured-card h3 a {
  color: #001a0f !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  transition: color 0.2s ease !important;
}

.dc-featured-card-title:hover,
.dc-featured-card h3 a:hover {
  color: #7fcc33 !important;
}

.dc-post-card-title,
.dc-post-card h3 a {
  color: #001a0f !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  transition: color 0.2s ease !important;
}

.dc-post-card-title:hover,
.dc-post-card h3 a:hover {
  color: #7fcc33 !important;
}

/* 3x3 Grid Blog Cards matching Image 2 */
.dc-post-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background-color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.dc-post-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
}

.dc-post-card-img {
  position: relative !important;
  width: 100% !important;
  height: 280px !important;
  overflow: hidden !important;
  border-top-left-radius: 20px !important;
  border-top-right-radius: 20px !important;
}

@media (min-width: 64rem) {
  .dc-post-card-img {
    height: 310px !important;
  }
}

.dc-post-card-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.35s ease !important;
}

.dc-post-card:hover .dc-post-card-img img {
  transform: scale(1.05) !important;
}

/* Category Badge Pill on grid cards */
.dc-post-badge {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 10 !important;
  background-color: #D6D4FF !important;
  color: #1E1A4D !important;
  padding: 5px 14px !important;
  border-radius: 9999px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.dc-post-card-body {
  background-color: #ffffff !important;
  padding: 24px !important;
}

/* Sort Dropdown Floating Card matching Image 2 */
#dc-sort-dropdown {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  width: 220px !important;
  background-color: #FAF8F5 !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
  border: none !important;
  z-index: 50 !important;
}

#dc-sort-dropdown a {
  display: block !important;
  padding: 8px 0 !important;
  font-size: 15px !important;
  color: #111827 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}

#dc-sort-dropdown a:hover,
#dc-sort-dropdown a.is-active {
  color: #7fcc33 !important;
  font-weight: 700 !important;
}

/* Insights Pagination circular buttons matching Image 2 */
.dc-pagination .dc-page-btn {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background-color: #ffffff !important;
  color: #001a0f !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.dc-pagination .dc-page-btn:hover {
  background-color: #E8F1D7 !important;
}

.dc-pagination .dc-page-btn--active {
  background-color: #7fcc33 !important;
  color: #001a0f !important;
  font-weight: 700 !important;
}

.dc-pagination .dc-page-arrow {
  background-color: #ffffff !important;
  color: #001a0f !important;
}

.dc-pagination .dc-page-arrow:hover {
  background-color: #7fcc33 !important;
}


/* ══════════════════════════════════════════════════════════════
   Tabs Section — Career & Child pages (T11, T3)
   Exact match to Image 2 (Figma 100% pixel-perfect)
   ══════════════════════════════════════════════════════════════ */

/* Horizontal pill container enclosing all tab buttons */
.dc-tabs-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #ffffff !important;
  border-radius: 9999px !important;
  padding: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  gap: 4px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.dc-tabs-strip::-webkit-scrollbar {
  display: none !important;
}

/* Individual tab pill button */
.dc-tab-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 22px !important;
  border-radius: 9999px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  border: none !important;
  background-color: transparent !important;
  color: #001a0f !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  flex: 1 1 auto !important;
  text-align: center !important;
}

.dc-tab-pill:hover:not(.dc-tab-pill--active) {
  background-color: rgba(127, 204, 51, 0.18) !important;
  color: #001a0f !important;
}

.dc-tab-pill--active {
  background-color: #7fcc33 !important;
  color: #001a0f !important;
  font-weight: 600 !important;
}

/* Panel card: beige bg matching page, thick white border, rounded corners, padded inside */
.dc-tabs-panel {
  background-color: transparent !important;
  border: 4px solid #ffffff !important;
  border-radius: 28px !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  box-sizing: border-box !important;
}

@media (min-width: 64rem) {
  .dc-tabs-panel {
    flex-direction: row !important;
    padding: 20px !important;
    gap: 36px !important;
    min-height: 480px !important;
    align-items: stretch !important;
  }
}

/* Left content area: ~38% width, space-between layout */
.dc-tabs-panel-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 24px 20px 20px 20px !important;
  box-sizing: border-box !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
}

@media (min-width: 64rem) {
  .dc-tabs-panel-content {
    flex: 0 0 38% !important;
    width: 38% !important;
    max-width: 38% !important;
    padding: 28px 24px 20px 24px !important;
  }
}

/* Icon square — dark green bg with 3-dot logo */
.dc-tabs-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  background-color: #001a0e !important;
  border-radius: 10px !important;
  flex-shrink: 0 !important;
  color: #7fcc33 !important;
  margin-bottom: 24px !important;
}

.dc-tabs-icon svg {
  width: 24px !important;
  height: 24px !important;
}

.dc-tabs-logo-wrap {
  display: block !important;
  margin-bottom: 24px !important;
}

.dc-tabs-academy-logo {
  height: 48px !important;
  max-height: 48px !important;
  width: auto !important;
  max-width: 140px !important;
  object-fit: contain !important;
  display: block !important;
}

@media (min-width: 64rem) {
  .dc-tabs-academy-logo {
    height: 52px !important;
    max-height: 52px !important;
  }
}

/* Heading inside panel */
.dc-tabs-heading {
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #001a0f !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px 0 !important;
}

@media (min-width: 64rem) {
  .dc-tabs-heading {
    font-size: 32px !important;
  }
}

/* Body text */
.dc-tabs-body {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: #3d4b44 !important;
  margin: 0 !important;
}

/* Bullet list — hidden to match Image 2 target design */
.dc-tabs-list {
  display: none !important;
}

/* Pill CTA button: full width, outlined pill, centered text, no arrow */
.dc-tabs-cta-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 46px !important;
  padding: 0 24px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #001a0f !important;
  background-color: transparent !important;
  color: #001a0f !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
  cursor: pointer !important;
  margin-top: 32px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.dc-tabs-cta-btn:hover {
  background-color: #7fcc33 !important;
  border-color: #7fcc33 !important;
  color: #001a0f !important;
}

.dc-tabs-cta-icon {
  display: none !important;
}

/* Right image area — fills ~62%, inset inside the card with rounded corners */
.dc-tabs-panel-img {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  min-height: 280px !important;
  flex-shrink: 0 !important;
}

@media (min-width: 64rem) {
  .dc-tabs-panel-img {
    flex: 1 1 0% !important;
    min-height: 440px !important;
    height: auto !important;
    border-radius: 20px !important;
  }
}

.dc-tabs-panel-img img,
.dc-tabs-panel-img picture {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 20px !important;
}

/* ==========================================================================
   Specialty Cards: Hover Swap-Up Animation (Image 2 design - Pixel Perfect)
   ========================================================================== */
.dc-specialty-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background-color: #ffffff !important;
  height: 560px !important;
  padding: 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
  transition: box-shadow 0.35s ease, transform 0.35s ease !important;
  outline: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

.dc-specialty-card:hover {
  box-shadow: 0 16px 36px rgba(0, 26, 15, 0.12) !important;
}

/* Photo container */
.dc-specialty-img-wrap {
  position: relative !important;
  height: 340px !important;
  width: 100% !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
  flex-shrink: 0 !important;
}

.dc-specialty-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
  border-radius: 16px !important;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dc-specialty-card:hover .dc-specialty-img-wrap img {
  transform: scale(1.025) !important;
}

/* Unhovered text block */
.dc-specialty-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 14px 4px 4px 4px !important;
  text-align: center !important;
  flex: 1 1 auto !important;
}

.dc-specialty-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #001a0f !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
}

.dc-specialty-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: #001a0f !important;
  margin: 0 !important;
  text-align: center !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Swap-Up Dark Green Overlay (User bg color: #001a0f) */
.dc-specialty-overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 20 !important;
  background-color: #001a0f !important;
  border-radius: 20px !important;
  padding: 24px 16px 20px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  transform: translateY(100%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.35, 1), opacity 0.45s ease !important;
  will-change: transform, opacity !important;
}

.dc-specialty-card:hover .dc-specialty-overlay,
.dc-specialty-card:focus-within .dc-specialty-overlay,
.dc-specialty-card.is-active .dc-specialty-overlay {
  transform: translateY(0%) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.dc-specialty-overlay-header {
  flex-shrink: 0 !important;
  margin-bottom: 14px !important;
  text-align: center !important;
}

.dc-overlay-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #ffffff !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: -0.015em !important;
  text-align: center !important;
}

.dc-overlay-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  margin: 0 auto !important;
  max-width: 95% !important;
  text-align: center !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Service Pills List */
.dc-specialty-services {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}

/* Pill (User second color: #00341a) */
.dc-specialty-pill {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 35px !important;
  min-height: 35px !important;
  padding: 0 16px !important;
  background-color: #00341a !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.dc-specialty-pill:hover {
  background-color: #004523 !important;
  transform: translateX(2px) !important;
}

/* Dot (Bright vibrant green #47c648) */
.dc-specialty-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background-color: #47c648 !important;
  flex-shrink: 0 !important;
  margin-right: 10px !important;
  display: inline-block !important;
}

/* Pill Label */
.dc-specialty-label {
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: -0.005em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ==========================================================================
   Role Cards: "Made for you" (specialty-grid)
   Exact match for target design (Image 2):
   - Image element: rounded-2xl (16px), 4:3 aspect ratio, overflow hidden
   - 8px clean gap
   - Title footer: separate pill/card with bg #f8f7f2, rounded-2xl (16px), 14px 20px padding
   - Smooth hover zoom on image + hover title color #47c648
   ========================================================================== */

/* Outer card link / wrapper */
.dc-role-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 16px !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Mobile: large portrait-style cards that snap one at a time */
@media (max-width: 1023px) {
  .dc-role-card {
    width: 82vw !important;
    min-width: 82vw !important;
    max-width: 360px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
}

/* Image container – aspect ratio 4:3 with rounded corners */
.dc-role-card-img {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden !important;
  background-color: #ede9df !important;
  transform: translateZ(0) !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* Mobile: portrait ratio for the tall card image */
@media (max-width: 1023px) {
  .dc-role-card-img {
    aspect-ratio: 3 / 4 !important;
    border-radius: 16px 16px 0 0 !important;
  }
}

/* Picture element if present */
.dc-role-card-img picture {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* Portrait image – edge-to-edge cover */
.dc-role-card-img img,
.dc-role-portrait {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 0 !important;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform !important;
  transform-origin: center center !important;
}

/* Hover: smooth zoom on image */
.dc-role-card:hover .dc-role-portrait,
.dc-role-card:hover .dc-role-card-img img,
.dc-role-card:focus-visible .dc-role-portrait,
.dc-role-card:focus-visible .dc-role-card-img img {
  transform: scale(1.07) !important;
}

/* Watermark hidden to match clean photo design */
.dc-role-leaf {
  display: none !important;
}

/* Title box / footer container */
.dc-role-card-footer {
  width: 100% !important;
  background-color: #f8f7f2 !important;
  border-radius: 0 0 16px 16px !important;
  padding: 16px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 56px !important;
  transition: background-color 0.25s ease, padding 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Mobile: footer sits flush below the tall image */
@media (max-width: 1023px) {
  .dc-role-card-footer {
    border-radius: 0 0 16px 16px !important;
    padding: 16px 20px !important;
    background-color: #ffffff !important;
  }
}

/* Title label */
.dc-role-card-title {
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  color: #001a0f !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  transition: color 0.25s ease !important;
  margin: 0 !important;
}

/* Hover line / description: revealed smoothly on hover */
.dc-role-card-hover-line {
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #555555 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.005em !important;
  margin: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  transform: translateY(4px) !important;
  pointer-events: none !important;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    margin-top 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Desktop hover / focus state */
@media (min-width: 1024px) {

  .dc-role-card:hover .dc-role-card-title,
  .dc-role-card:focus-visible .dc-role-card-title {
    color: #47c648 !important;
  }

  .dc-role-card:hover .dc-role-card-hover-line,
  .dc-role-card:focus-visible .dc-role-card-hover-line {
    max-height: 60px !important;
    opacity: 1 !important;
    margin-top: 6px !important;
    transform: translateY(0) !important;
  }

  .dc-role-card:hover .dc-role-card-footer,
  .dc-role-card:focus-visible .dc-role-card-footer {
    padding-bottom: 18px !important;
  }
}

/* Mobile & Touch: show hover line on tap/active/focus */
@media (max-width: 1023px) {

  .dc-role-card:active .dc-role-card-hover-line,
  .dc-role-card:focus-within .dc-role-card-hover-line {
    max-height: 60px !important;
    opacity: 1 !important;
    margin-top: 6px !important;
    transform: translateY(0) !important;
  }
}

/* ==========================================================================
   Hero Split: ("Build it with us, not alone.")
   Full-width 50/50 split layout matching user's design:
   - Navbar clearance: 108px top padding so navbar never overlays the cards
   - Left column: bg #f8f7f2 (white card), rounded-2xl (16px), 48px 56px padding
   - Right column: rounded-2xl (16px), equal 50% width (flex-1), edge-to-edge media
   - Floating stat cards at bottom
   ========================================================================== */

.dc-hero-split-section {
  width: 100% !important;
  box-sizing: border-box !important;
  padding-top: 96px !important;
  padding-bottom: 24px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  background-color: #ede9df !important;
}

.dc-hero-split-container {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  box-sizing: border-box !important;
}

.dc-hero-split-content {
  background-color: #f8f7f2 !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 36px 24px !important;
}

.dc-hero-split-content-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  max-width: 500px !important;
  width: 100% !important;
}

.dc-hero-split-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

/* Mobile: stack buttons vertically, each full-width */
@media (max-width: 1023px) {
  .dc-hero-split-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  /* Every button inside the split hero goes full-width on mobile */
  .dc-hero-split-buttons a,
  .dc-hero-split-buttons button {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* First button (Talk To Us / secondary variant) - dark filled on mobile unless it is primary green */
  .dc-hero-split-buttons a:first-child:not([class*="bg-brand"]),
  .dc-hero-split-buttons button:first-child:not([class*="bg-brand"]) {
    background-color: #001a0f !important;
    color: #f8f7f2 !important;
    border: none !important;
  }

  .dc-hero-split-buttons a:first-child:not([class*="bg-brand"]):hover,
  .dc-hero-split-buttons button:first-child:not([class*="bg-brand"]):hover {
    background-color: #1a3d2b !important;
  }
}

.dc-hero-split-media {
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  box-sizing: border-box !important;
  height: 320px !important;
}

@media (min-width: 1024px) {
  .dc-hero-split-section {
    padding-top: 108px !important;
    padding-bottom: 32px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .dc-hero-split-container {
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 16px !important;
    height: 630px !important;
  }

  .dc-hero-split-content {
    flex: 1 1 0% !important;
    width: 50% !important;
    height: 630px !important;
    padding: 48px 56px !important;
  }

  .dc-hero-split-media {
    flex: 1 1 0% !important;
    width: 50% !important;
    height: 630px !important;
  }
}

/* ==========================================================================
   Partnerships Enquiry Section ("Join our space")
   Exact match for target design (Image 2):
   - Outer card: bg-surface (#f8f7f2), rounded-2xl (16px), p-4
   - Left column: bg #ede9df + Main-Patter.png pattern, rounded-xl (14px), centered text
   - Right column: bg #ede9df, rounded-xl (14px), p-6 lg:p-10
   - Form inputs: bg #f8f7f2, rounded-xl (14px), subtle border, green focus #47c648
   - Submit button: green pill button #72cb3b, dark text #001a0f
   ========================================================================== */

.dc-enquiry-card {
  background-color: #f8f7f2 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

.dc-enquiry-copy {
  background-color: #ede9df !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.dc-enquiry-form {
  background-color: #ede9df !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}

/* Forminator Fields & Controls */
.dc-enquiry-form .forminator-ui {
  margin: 0 !important;
  padding: 0 !important;
}

.dc-enquiry-form .forminator-row {
  margin-bottom: 16px !important;
}

.dc-enquiry-form .forminator-col {
  padding: 0 !important;
}

.dc-enquiry-form .forminator-label,
.dc-enquiry-form label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #001a0f !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.dc-enquiry-form .forminator-label .forminator-required {
  color: #001a0f !important;
}

.dc-enquiry-form .forminator-input,
.dc-enquiry-form .forminator-textarea,
.dc-enquiry-form input[type="text"],
.dc-enquiry-form input[type="email"],
.dc-enquiry-form input[type="tel"],
.dc-enquiry-form textarea {
  background-color: #f8f7f2 !important;
  border: 1px solid rgba(0, 26, 15, 0.08) !important;
  border-radius: 14px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  color: #001a0f !important;
  padding: 14px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
  box-shadow: none !important;
}

.dc-enquiry-form .forminator-input,
.dc-enquiry-form input[type="text"],
.dc-enquiry-form input[type="email"],
.dc-enquiry-form input[type="tel"] {
  height: 52px !important;
}

.dc-enquiry-form .forminator-textarea,
.dc-enquiry-form textarea {
  min-height: 120px !important;
  resize: none !important;
}

.dc-enquiry-form .forminator-input:focus,
.dc-enquiry-form .forminator-textarea:focus,
.dc-enquiry-form input:focus,
.dc-enquiry-form textarea:focus {
  border-color: #47c648 !important;
  box-shadow: 0 0 0 1px #47c648 !important;
}

.dc-enquiry-form .forminator-input::placeholder,
.dc-enquiry-form .forminator-textarea::placeholder,
.dc-enquiry-form input::placeholder,
.dc-enquiry-form textarea::placeholder {
  color: rgba(0, 26, 15, 0.45) !important;
}

.dc-enquiry-form .forminator-button-submit,
.dc-enquiry-form button[type="submit"] {
  background-color: #72cb3b !important;
  color: #001a0f !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 9999px !important;
  border: none !important;
  padding: 12px 36px !important;
  height: 48px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin-top: 8px !important;
  box-shadow: none !important;
}

.dc-enquiry-form .forminator-button-submit:hover,
.dc-enquiry-form button[type="submit"]:hover {
  background-color: #47c648 !important;
  transform: translateY(-1px) !important;
}

/* Consent Checkbox: Keep checkbox box and text on one line */
.dc-enquiry-form .forminator-checkbox,
.dc-enquiry-form label.forminator-checkbox,
.dc-enquiry-form .forminator-field-consent label,
.dc-enquiry-form .forminator-field-consent .forminator-checkbox {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  font-weight: 400 !important;
}

.dc-enquiry-form .forminator-checkbox-box {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  border-radius: 4px !important;
  vertical-align: middle !important;
}

.dc-enquiry-form .forminator-checkbox-label {
  display: inline !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  color: #001a0f !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dc-enquiry-form .forminator-edit-module {
  opacity: 0.35 !important;
  font-size: 12px !important;
  margin-top: 8px !important;
}

/* ==========================================================================
   Enquiry Form: Select2 Dropdown Overrides
   - Same 52px height as text inputs
   - Green border + arrow (brand #47c648) on hover/focus/open
   - White background for open dropdown
   ========================================================================== */

/* The select2 container wrapper */
.dc-enquiry-form .forminator-select,
.dc-enquiry-form .select2-container {
  width: 100% !important;
  display: block !important;
}

/* The selection box (trigger button) — match input height & style */
.dc-enquiry-form .select2-container .select2-selection--single {
  height: 52px !important;
  background-color: #f8f7f2 !important;
  border: 1px solid rgba(0, 26, 15, 0.15) !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  padding: 0 44px 0 18px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  cursor: pointer !important;
}

/* Rendered text inside the select box */
.dc-enquiry-form .select2-container .select2-selection--single .select2-selection__rendered {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  color: #001a0f !important;
  line-height: 1 !important;
  padding: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Placeholder text color */
.dc-enquiry-form .select2-container .select2-selection--single .select2-selection__placeholder {
  color: rgba(0, 26, 15, 0.45) !important;
}

/* The dropdown arrow — replace with green chevron */
.dc-enquiry-form .select2-container .select2-selection--single .select2-selection__arrow {
  height: 52px !important;
  width: 44px !important;
  top: 0 !important;
  right: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Hide the default Select2 arrow and replace with a CSS green chevron */
.dc-enquiry-form .select2-container .select2-selection__arrow b {
  display: none !important;
}

.dc-enquiry-form .select2-container .select2-selection__arrow::after {
  content: '' !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-right: 2px solid #47c648 !important;
  border-bottom: 2px solid #47c648 !important;
  transform: rotate(45deg) translateY(-3px) !important;
  transition: transform 0.2s ease !important;
}

/* Rotate arrow when open */
.dc-enquiry-form .select2-container--open .select2-selection__arrow::after {
  transform: rotate(-135deg) translateY(-3px) !important;
}

/* Green border + glow when open or focused */
.dc-enquiry-form .select2-container--open .select2-selection--single,
.dc-enquiry-form .select2-container--focus .select2-selection--single {
  border-color: #47c648 !important;
  box-shadow: 0 0 0 1px #47c648 !important;
  outline: none !important;
}

/* The open dropdown panel */
.dc-enquiry-form .select2-dropdown,
.forminator-select .select2-dropdown {
  background-color: #ffffff !important;
  border: 1px solid #47c648 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(0, 26, 15, 0.12) !important;
  overflow: hidden !important;
  margin-top: 4px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Dropdown options */
.dc-enquiry-form .select2-results__option,
.forminator-select .select2-results__option {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  color: #001a0f !important;
  padding: 12px 18px !important;
  background-color: #ffffff !important;
  transition: background-color 0.15s ease !important;
  cursor: pointer !important;
}

/* Hover option */
.dc-enquiry-form .select2-results__option--highlighted,
.dc-enquiry-form .select2-results__option:hover,
.forminator-select .select2-results__option--highlighted {
  background-color: rgba(71, 198, 72, 0.1) !important;
  color: #001a0f !important;
}

/* Selected option */
.dc-enquiry-form .select2-results__option[aria-selected="true"],
.forminator-select .select2-results__option[aria-selected="true"] {
  background-color: rgba(71, 198, 72, 0.15) !important;
  color: #001a0f !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   Section: Service Marquee Cards (Number Badges & 16px Paragraph)
   ========================================================================== */

.dc-service-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #001a0f !important;
  color: #47c648 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 5px 9px !important;
  border-radius: 6px !important;
  letter-spacing: 0.02em !important;
  width: auto !important;
}

.dc-service-card {
  min-height: 420px !important;
  background-color: #F8F7F2 !important;
  border-radius: 16px !important;
  padding: 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  width: 320px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

.dc-service-card .dc-service-card-body,
p.dc-service-card-body,
div.dc-service-card-body {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #001a0f !important;
  opacity: 0.85 !important;
  letter-spacing: -0.01em !important;
}

/* ==========================================================================
   Section: Service Cards Carousel (Autoplay with Arrows)
   ========================================================================== */
.dc-services-carousel-container {
  position: relative;
  width: 100%;
}

.dc-services-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding: 12px 24px;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  -webkit-overflow-scrolling: touch;
}

@media (min-width: 1024px) {
  .dc-services-track {
    padding: 12px 64px;
  }
}

.dc-services-track::-webkit-scrollbar {
  display: none !important;
}

.dc-services-track .dc-service-card {
  scroll-snap-align: start;
}

.dc-services-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) !important;
  z-index: 25;
  width: 48px !important;
  height: 48px !important;
  border-radius: 9999px !important;
  background-color: #ffffff !important;
  color: #001A0F !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid rgba(0, 26, 15, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.dc-services-arrow:hover {
  background-color: #f7f6f2 !important;
  transform: translateY(-50%) scale(1.08) !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.2) !important;
}

.dc-services-arrow--prev {
  left: 12px;
}

@media (min-width: 1024px) {
  .dc-services-arrow--prev {
    left: 20px;
  }
}

.dc-services-arrow--next {
  right: 12px;
}

@media (min-width: 1024px) {
  .dc-services-arrow--next {
    right: 20px;
  }
}

.dc-services-nav-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.dc-services-nav-btn {
  width: 44px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  background-color: #ffffff !important;
  color: #001A0F !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid rgba(0, 26, 15, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.dc-services-nav-btn:hover {
  background-color: #f7f6f2 !important;
  transform: scale(1.08) !important;
}

/* ==========================================================================
   Section: Career Child Roles & Pathways (Image 2 Pixel-Perfect Match)
   ========================================================================== */

.dc-career-roles-section {
  width: 100% !important;
}

/* Outer layout: sidebar tabs on left, main card on right */
.dc-career-roles-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  .dc-career-roles-layout {
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 24px !important;
  }
}

/* Left Sidebar */
.dc-career-roles-sidebar {
  background-color: #f8f7f2 !important;
  border-radius: 20px !important;
  padding: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(0, 26, 15, 0.04) !important;
}

@media (min-width: 1024px) {
  .dc-career-roles-sidebar {
    width: 270px !important;
    min-width: 270px !important;
    max-width: 270px !important;
    align-self: flex-start !important;
  }
}

.dc-career-roles-tablist {
  display: flex !important;
  flex-direction: row !important;
  gap: 6px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.dc-career-roles-tablist::-webkit-scrollbar {
  display: none !important;
}

@media (min-width: 1024px) {
  .dc-career-roles-tablist {
    flex-direction: column !important;
    gap: 8px !important;
    overflow-x: visible !important;
  }
}

/* Individual tab buttons */
.dc-career-role-tab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 10px 16px !important;
  border-radius: 9999px !important;
  background-color: transparent !important;
  color: #001a0f !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-align: center !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  line-height: 1.25 !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  box-sizing: border-box !important;
}

.dc-career-role-tab:hover {
  background-color: rgba(0, 26, 15, 0.04) !important;
}

/* Active tab */
.dc-career-role-tab.dc-tab-pill--active,
.dc-career-role-tab[aria-selected="true"] {
  background-color: #72cb3b !important;
  color: #001a0f !important;
  font-weight: 700 !important;
}

/* Right Main Card */
.dc-career-main-card {
  background-color: #ffffff !important;
  border-radius: 24px !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  border: 1px solid rgba(0, 26, 15, 0.04) !important;
}

@media (min-width: 1024px) {
  .dc-career-main-card {
    flex-direction: row !important;
    padding: 24px !important;
    align-items: stretch !important;
    min-height: 520px !important;
  }
}

/* Left: Portrait Image Column */
.dc-career-portrait-col {
  width: 100% !important;
  height: 280px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

@media (min-width: 1024px) {
  .dc-career-portrait-col {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    height: auto !important;
    min-height: 100% !important;
    align-self: stretch !important;
  }
}

.dc-career-portrait-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* Right: Content Column (Top Box + Bottom Box) */
.dc-career-content-col {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  justify-content: space-between !important;
}

/* Top Box: Role Title & Description */
.dc-career-top-box {
  background-color: #f8f7f2 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

.dc-career-role-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #001a0f !important;
  line-height: 1.15 !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: -0.02em !important;
}

.dc-career-role-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #001a0f !important;
  margin: 0 !important;
}

/* Bottom Box: Pathway Heading + Scrollable List */
.dc-career-bottom-box {
  background-color: #f8f7f2 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
}

.dc-career-pathway-heading {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #001a0f !important;
  line-height: 1.4 !important;
  margin: 0 0 16px 0 !important;
}

/* Scrollable pathway items container */
.dc-career-pathway-scroll {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow-y: auto !important;
  max-height: 250px !important;
  padding-right: 0 !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.dc-career-pathway-scroll::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Pathway item card */
.dc-career-pathway-item {
  background-color: #eeebdf !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  box-sizing: border-box !important;
  transition: transform 0.15s ease !important;
}

.dc-career-pathway-item:hover {
  transform: translateX(2px) !important;
}

.dc-career-pathway-icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  background-color: #001a0f !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dc-career-pathway-text {
  flex: 1 !important;
  min-width: 0 !important;
}

.dc-career-pathway-name {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #001a0f !important;
  line-height: 1.25 !important;
  margin-bottom: 2px !important;
}

.dc-career-pathway-sub {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  color: #4b5563 !important;
  line-height: 1.35 !important;
}

/* Far Right: Vertical Track Bar with Green Indicator */
.dc-career-track-col {
  display: none !important;
}

@media (min-width: 1024px) {
  .dc-career-track-col {
    display: flex !important;
    align-items: center !important;
    width: 8px !important;
    min-width: 8px !important;
    align-self: stretch !important;
    padding: 6px 0 !important;
  }
}

.dc-career-track-bar {
  width: 8px !important;
  height: 100% !important;
  background-color: #f8f7f2 !important;
  border-radius: 9999px !important;
  position: relative !important;
  overflow: hidden !important;
}

.dc-career-track-thumb {
  width: 100% !important;
  height: 48% !important;
  background-color: #72cb3b !important;
  border-radius: 9999px !important;
  transition: transform 0.1s ease-out !important;
}

/* ==========================================================================
   Section: Compounding Career (Hover Info Box & Side Card Layout Fix)
   ========================================================================== */

@media (min-width: 1024px) {
  #compounding-panel {
    right: 48px !important;
    left: auto !important;
    width: 390px !important;
    max-width: 400px !important;
    box-sizing: border-box !important;
  }

  .dc-infocard {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .dc-infocard p,
  .dc-infocard .small-card {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

@media (min-width: 1024px) and (max-width: 1380px) {
  [data-dc-compounding] [data-dc-pill-list] {
    left: clamp(440px, 38vw, 540px) !important;
  }

  #compounding-panel {
    right: 24px !important;
    width: 370px !important;
    max-width: calc(100% - 900px) !important;
  }
}

/* Compounding container card rounded corners */
[data-dc-compounding]>div {
  border-radius: 24px !important;
  overflow: hidden !important;
}

@media (min-width: 1024px) {
  [data-dc-compounding]>div {
    border-radius: 28px !important;
  }
}

.dc-hover-hint {
  position: absolute !important;
  bottom: 48px !important;
  left: 48px !important;
  z-index: 10 !important;
  pointer-events: none !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: transform 0.35s ease !important;
}

.dc-hover-hint-card {
  background-color: #eeebdf !important;
  border-radius: 12px !important;
  padding: 16px !important;
  width: 195px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.dc-hover-hint-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 5px !important;
  background-color: #72cb3b !important;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.dc-hover-hint-text {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #001a0f !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* ==========================================================================
   Section: Contact Page Form & Sticky Left Panel (Pixel-perfect Image 2 Match)
   ========================================================================== */

.dc-contact-card {
  display: flex !important;
  flex-direction: column !important;
  background-color: #efece6 !important;
  border-radius: 28px !important;
  padding: 16px !important;
  gap: 24px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  position: relative !important;
}

@media (min-width: 1024px) {
  .dc-contact-card {
    flex-direction: row !important;
    align-items: flex-start !important;
    padding: 20px 24px 20px 20px !important;
    gap: 36px !important;
  }

  .dc-contact-panel {
    width: 470px !important;
    min-width: 470px !important;
    max-width: 470px !important;
    flex-shrink: 0 !important;
    position: sticky !important;
    top: 105px !important;
    height: 700px !important;
    min-height: 680px !important;
    align-self: flex-start !important;
    overflow: hidden !important;
  }

  .dc-contact-form {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    padding: 8px 8px 16px 4px !important;
  }
}

.dc-contact-panel {
  background-color: #001a0f !important;
  border-radius: 22px !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dc-contact-panel-content {
  position: relative !important;
  z-index: 2 !important;
  padding: 42px 38px 38px 38px !important;
  will-change: transform !important;
  transform: translateY(0px);
  transition: transform 0.08s ease-out;
}

/* Background Pattern matching user design */
.dc-contact-pattern {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  width: auto !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.dc-contact-pattern img {
  height: 100% !important;
  width: auto !important;
  object-fit: cover !important;
  object-position: right top !important;
  display: block !important;
}

.dc-contact-header {
  margin-bottom: 24px !important;
}

.dc-contact-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin: 0 0 14px 0 !important;
}

.dc-contact-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  margin: 0 !important;
  max-width: 390px !important;
}

.dc-contact-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  margin-bottom: 20px !important;
}

.dc-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  color: #ffffff !important;
  margin: 0 !important;
}

.dc-contact-item a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.dc-contact-item a:hover {
  text-decoration: underline !important;
}

.dc-contact-icon {
  color: #7fcc33 !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dc-contact-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}

.dc-contact-divider {
  border: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  margin: 18px 0 !important;
}

.dc-contact-socials {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dc-contact-social-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 50% !important;
  background-color: #00341a !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.dc-contact-social-btn:hover {
  background-color: #7fcc33 !important;
  color: #001a0f !important;
  border-color: #7fcc33 !important;
}

.dc-contact-social-btn svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

/* Forminator Contact Form Styles */
.dc-contact-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.dc-contact-form .forminator-ui {
  margin: 0 !important;
  padding: 0 !important;
}

.dc-contact-form .forminator-row {
  margin-bottom: 14px !important;
}

.dc-contact-form .forminator-col {
  padding: 0 !important;
}

.dc-contact-form .forminator-label,
.dc-contact-form label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #001a0f !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Asterisks: directly attached to label text like Full Name* */
.dc-contact-form .forminator-label .forminator-required {
  color: #001a0f !important;
  font-weight: 600 !important;
  margin-left: -3px !important;
}

/* Enquiry Type has NO asterisk in Image 2 */
.dc-contact-form #select-1 .forminator-required,
#select-1 .forminator-required {
  display: none !important;
}

/* Text Inputs and Textareas */
.dc-contact-form .forminator-input,
.dc-contact-form input[type="text"],
.dc-contact-form input[type="email"],
.dc-contact-form input[type="tel"] {
  height: 50px !important;
  background-color: #f7f5f0 !important;
  border: 1px solid #dcd7cb !important;
  border-radius: 12px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  color: #001a0f !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Full Name active state matches Image 2 */
.dc-contact-form #name-1 input {
  border-color: #7fcc33 !important;
}

.dc-contact-form .forminator-textarea,
.dc-contact-form textarea {
  min-height: 125px !important;
  height: 125px !important;
  background-color: #f7f5f0 !important;
  border: 1px solid #dcd7cb !important;
  border-radius: 12px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  color: #001a0f !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  resize: none !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.dc-contact-form .forminator-input:focus,
.dc-contact-form .forminator-textarea:focus,
.dc-contact-form input:focus,
.dc-contact-form textarea:focus {
  border-color: #7fcc33 !important;
  box-shadow: 0 0 0 1px #7fcc33 !important;
}

.dc-contact-form .forminator-input::placeholder,
.dc-contact-form .forminator-textarea::placeholder,
.dc-contact-form input::placeholder,
.dc-contact-form textarea::placeholder {
  color: rgba(0, 26, 15, 0.45) !important;
  font-size: 14px !important;
}

/* Select2 / Enquiry Type Dropdown: Clean, single 100% full-width box */
.dc-contact-form .forminator-field-select .forminator-field,
.dc-contact-form .forminator-field-select .forminator-select,
.dc-contact-form .forminator-select {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.dc-contact-form .select2-container,
.dc-contact-form .select2-container--default,
.dc-contact-form .forminator-select2 {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

.dc-contact-form .select2-container--default .select2-selection--single {
  background-color: #f7f5f0 !important;
  border: 1px solid #dcd7cb !important;
  border-radius: 12px !important;
  height: 50px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.dc-contact-form .select2-container--default.select2-container--open .select2-selection--single,
.dc-contact-form .select2-container--default .select2-selection--single:focus {
  border-color: #7fcc33 !important;
  box-shadow: 0 0 0 1px #7fcc33 !important;
}

.dc-contact-form .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  line-height: 48px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  color: #001a0f !important;
}

.dc-contact-form .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: rgba(0, 26, 15, 0.55) !important;
}

.dc-contact-form .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px !important;
  right: 16px !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dc-contact-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #001a0f transparent transparent transparent !important;
  border-style: solid !important;
  border-width: 5px 4.5px 0 4.5px !important;
  height: 0 !important;
  left: auto !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  position: relative !important;
  top: auto !important;
  width: 0 !important;
}

/* Fallback native select */
.dc-contact-form select.forminator-select--field {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #f7f5f0 !important;
  border: 1px solid #dcd7cb !important;
  border-radius: 12px !important;
  height: 50px !important;
  padding: 0 40px 0 18px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  color: #001a0f !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23001A0F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  outline: none !important;
}

/* Checkbox Styling: Hide group headers (Consent *, Marketing) */
.dc-contact-form #checkbox-1 .forminator-label,
.dc-contact-form #checkbox-2 .forminator-label,
.dc-contact-form .forminator-field-checkbox>.forminator-label,
.dc-contact-form .forminator-field-checkbox>[id*="-label"]:first-child {
  display: none !important;
}

.dc-contact-form .forminator-checkbox,
.dc-contact-form label.forminator-checkbox {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  font-weight: 400 !important;
}

.dc-contact-form .forminator-checkbox-box {
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  border-radius: 3.5px !important;
  border: 1.5px solid #1a221e !important;
  background-color: transparent !important;
}

.dc-contact-form input[type="checkbox"]:checked+.forminator-checkbox-box {
  background-color: #001a0f !important;
  border-color: #001a0f !important;
}

.dc-contact-form .forminator-checkbox-label {
  display: inline !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #1a221e !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Submit Button */
.dc-contact-form .forminator-button-submit,
.dc-contact-form button[type="submit"] {
  background-color: #7fcc33 !important;
  color: #001a0f !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  border-radius: 9999px !important;
  border: none !important;
  padding: 0 34px !important;
  height: 44px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin-top: 10px !important;
  box-shadow: none !important;
}

.dc-contact-form .forminator-button-submit:hover,
.dc-contact-form button[type="submit"]:hover {
  background-color: #72cb3b !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================================
   Hero Section: Mobile Pixel-Perfect Precision Matching Image 2
   ========================================================================== */

/* Brandmark watermark masking on mobile: keep the upper horns bright behind heads,
   mask out the giant solid lower torso */
@media (max-width: 1023px) {
  .dc-hero-brandmark {
    opacity: 0.85 !important;
    -webkit-mask-image: linear-gradient(to bottom, black 0%, black 28%, transparent 62%) !important;
    mask-image: linear-gradient(to bottom, black 0%, black 28%, transparent 62%) !important;
  }
}

/* Mobile rich dark gradient overlay (z-25) sitting on top of the background,
   brandmark and doctors, smoothly transitioning from hallway/doctors down into #001A0F */
.dc-hero-overlay {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 25 !important;
  pointer-events: none !important;
  background: linear-gradient(to bottom,
      transparent 0%,
      transparent 22%,
      rgba(0, 26, 15, 0.15) 30%,
      rgba(0, 26, 15, 0.55) 40%,
      rgba(0, 26, 15, 0.88) 50%,
      rgba(0, 26, 15, 0.98) 60%,
      #001a0f 68%,
      #001a0f 100%) !important;
}

@media (min-width: 1024px) {
  .dc-hero-overlay {
    display: none !important;
  }
}

/* Content Container Position on Mobile */
@media (max-width: 1023px) {
  .dc-hero-content-wrapper {
    position: absolute !important;
    top: 365px !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
  }
}

/* Hero Title: Exact 4 lines on mobile, 48px on desktop */
.dc-hero-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  font-size: 32px !important;
  line-height: 37px !important;
  letter-spacing: -0.025em !important;
  margin: 0 !important;
}

@media (max-width: 360px) {
  .dc-hero-title {
    font-size: 29px !important;
    line-height: 34px !important;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .dc-hero-title {
    font-size: 36px !important;
    line-height: 40px !important;
  }
}

@media (min-width: 1024px) {
  .dc-hero-title {
    font-size: 48px !important;
    line-height: 48px !important;
    letter-spacing: normal !important;
  }
}

/* Hero Subtitle: 2 lines on mobile */
.dc-hero-sub {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 21px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
  max-width: 327px !important;
}

@media (min-width: 1024px) {
  .dc-hero-sub {
    font-size: 18px !important;
    line-height: 26px !important;
    letter-spacing: -0.36px !important;
    color: #ffffff !important;
    max-width: 533px !important;
  }
}

/* Hero CTA Button: High-contrast lime green pill on dark forest background */
.dc-hero-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #7fcc33 !important;
  color: #001a0f !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  height: 44px !important;
  padding: 0 28px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  align-self: flex-start !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

.dc-hero-cta:hover {
  background-color: #72cb3b !important;
  color: #001a0f !important;
  transform: translateY(-1px) !important;
}

@media (min-width: 1024px) {
  .dc-hero-cta {
    height: 48px !important;
    padding: 0 32px !important;
    font-size: 16px !important;
  }
}

/* Services section card vector & clinician portrait layering (desktop) */
@media (min-width: 1024px) {
  .dc-service-card-vector {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 416px !important;
    height: 268px !important;
    max-width: none !important;
    object-fit: cover !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  .dc-service-card-portrait {
    position: absolute !important;
    top: 224px !important;
    left: -5.5px !important;
    width: 427px !important;
    height: 489px !important;
    max-width: none !important;
    object-fit: cover !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
}

/* Services section card vector & portrait layering (mobile) */
@media (max-width: 1023px) {
  .dc-service-card-vector-mobile {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 340px !important;
    height: 220px !important;
    object-fit: cover !important;
    object-position: top center !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  .dc-service-card-portrait-mobile {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    height: 235px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: bottom center !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }

  .dc-service-card-plus-btn {
    position: absolute !important;
    bottom: 14px !important;
    right: 14px !important;
    z-index: 20 !important;
    display: flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    background-color: var(--color-ink, #001a0f) !important;
    color: var(--color-brand, #7fcc33) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    pointer-events: none !important;
  }

  .dc-service-card-plus-icon {
    width: 18px !important;
    height: 18px !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  [aria-expanded="true"] .dc-service-card-plus-icon {
    transform: rotate(45deg) !important;
  }
}

/* Services section cards - prevent background color change on hover */
[data-fig*="section 4"] [data-dc-card],
[data-fig*="section 4"] [data-dc-card]:hover,
[data-fig-m*="section 04"] [data-dc-disclosure-toggle],
[data-fig-m*="section 04"] [data-dc-disclosure-toggle]:hover,
[data-fig-m*="section 04"] [data-dc-disclosure-toggle]:focus,
[data-fig-m*="section 04"] .bg-bg,
[data-fig-m*="section 04"] .bg-bg:hover,
[data-fig-m*="section 04"] [data-dc-disclosure-toggle]>div,
[data-fig-m*="section 04"] [data-dc-disclosure-toggle]>div:hover {
  background-color: var(--color-bg, #eeebdf) !important;
}

[data-fig*="section 4"] .bg-orange,
[data-fig*="section 4"] .bg-orange:hover,
[data-fig-m*="section 04"] .bg-orange,
[data-fig-m*="section 04"] .bg-orange:hover {
  background-color: var(--color-orange, #ff7900) !important;
}

[data-fig*="section 4"] .bg-yellow,
[data-fig*="section 4"] .bg-yellow:hover,
[data-fig-m*="section 04"] .bg-yellow,
[data-fig-m*="section 04"] .bg-yellow:hover {
  background-color: var(--color-yellow, #ffca00) !important;
}

[data-fig*="section 4"] .bg-periwinkle,
[data-fig*="section 4"] .bg-periwinkle:hover,
[data-fig-m*="section 04"] .bg-periwinkle,
[data-fig-m*="section 04"] .bg-periwinkle:hover {
  background-color: var(--color-periwinkle, #b2b2ff) !important;
}

.dc-service-card-plus-btn:hover {
  background-color: var(--color-ink, #001a0f) !important;
}

@media (max-width: 1023.98px) {
  .dc-compounding-desktop {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .dc-compounding-mobile {
    display: none !important;
  }
}

/* Exact Dimension Tone Colors matching Image 2 */
.dc-tone-professional {
  background-color: #EEEBDF !important;
  color: #001A0F !important;
}

.dc-tone-social {
  background-color: #FFCC00 !important;
  color: #001A0F !important;
}

.dc-tone-career {
  background-color: #FF6B00 !important;
  color: #001A0F !important;
}

.dc-tone-financial {
  background-color: #B2B2FF !important;
  color: #001A0F !important;
}

.dc-tone-succession {
  background-color: #7FCC33 !important;
  color: #001A0F !important;
}

/* Compounding Career Mobile Branch & Light Sweep Animation */
.dc-compounding-logo-tile {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background-color: #001A0F !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  z-index: 20 !important;
  box-shadow: 0 4px 14px rgba(0, 26, 15, 0.25) !important;
}

.dc-branch-mob-wrap {
  position: relative;
  width: 290px;
  height: 160px;
  margin: -32px auto 0;
  overflow: hidden;
}

.dc-branch-mob-img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 290px;
  height: 325px;
  object-fit: contain;
  object-position: bottom center;
  pointer-events: none;
  display: block;
}

.dc-branch-sweep-mobile {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 290px;
  height: 325px;
  pointer-events: none;
  overflow: hidden;
  -webkit-mask-image: url('https://dco.feurstaging.com/wp-content/uploads/2026/09/Branch-mob.png');
  mask-image: url('https://dco.feurstaging.com/wp-content/uploads/2026/09/Branch-mob.png');
  -webkit-mask-size: 290px 325px;
  mask-size: 290px 325px;
  -webkit-mask-position: bottom center;
  mask-position: bottom center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  z-index: 2;
}

.dc-branch-sweep-mobile>span {
  position: absolute;
  inset-x: 0;
  top: 0;
  display: block;
  height: 85px;
  width: 100%;
  animation: branch-sweep-mob 2.8s cubic-bezier(0.33, 1, 0.68, 1) infinite;
  background: linear-gradient(180deg,
      transparent 0%,
      rgba(222, 245, 184, 0.95) 45%,
      rgba(127, 204, 51, 0.75) 60%,
      transparent 100%);
}

@keyframes branch-sweep-mob {
  0% {
    transform: translate3d(0, 0px, 0);
  }

  100% {
    transform: translate3d(0, 325px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dc-branch-sweep-mobile>span {
    animation: none;
    opacity: 0;
  }
}

.dc-branch-tips-container {
  position: relative;
  width: 290px;
  height: 36px;
  margin-top: -6px;
  margin-bottom: 14px;
}

.dc-branch-tip-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease !important;
  border: none !important;
}

.dc-branch-tip-btn:hover,
.dc-branch-tip-btn[data-active="true"] {
  transform: translateX(-50%) translateY(-2px) scale(1.15) !important;
  box-shadow: 0 4px 14px rgba(127, 204, 51, 0.45) !important;
}

.dc-compounding-pill-mobile {
  height: 54px !important;
  border-radius: 27px !important;
  background-color: #EEEBDF !important;
  padding: 6px 16px 6px 7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  cursor: pointer !important;
  border: none !important;
  transition: background 0.3s ease, transform 0.2s ease !important;
}

.dc-compounding-pill-mobile:hover,
.dc-compounding-pill-mobile[aria-expanded="true"] {
  background: linear-gradient(90deg, #EEEBDF 0%, #E8F1D7 25%, #DEF5B8 60%, #E1F8CE 100%) !important;
}

.dc-compounding-pill-mobile .dc-plus-icon {
  transition: transform 0.3s cubic-bezier(0.33, 1, 0.68, 1) !important;
}

.dc-compounding-pill-mobile[aria-expanded="true"] .dc-plus-icon {
  transform: rotate(45deg) !important;
}

.dc-pill-icon-box {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

/* ==========================================================================
   Register Page Campaign Styles (Pixel-Perfect)
   ========================================================================== */
/* .dc-reg-wrapper {
  background-color: #001a0f !important;
  background-image: radial-gradient(circle at 82% 42%, #043b20 0%, #012415 45%, #001a0f 95%) !important;
  min-height: 100vh !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding-top: 130px !important;
  padding-bottom: 32px !important;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  overflow-x: hidden !important;
} */

.dc-reg-container {
  width: 100% !important;
  max-width: 1340px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.dc-reg-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 56px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.dc-reg-grid.is-hidden {
  display: none !important;
}

.dc-reg-col-info {
  flex: 1 !important;
  max-width: 600px !important;
  padding-top: 16px !important;
  box-sizing: border-box !important;
}

.dc-reg-kicker {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #7fcc33 !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.3 !important;
}

.dc-reg-headline {
  font-size: 58px !important;
  line-height: 1.04 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 24px 0 !important;
}

.dc-reg-brand-text {
  color: #7fcc33 !important;
}

.dc-reg-white-text {
  color: #ffffff !important;
}

.dc-reg-intro {
  font-size: 16.5px !important;
  line-height: 1.62 !important;
  color: #a6bba9 !important;
  max-width: 500px !important;
  margin: 0 0 40px 0 !important;
}

.dc-reg-features {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.dc-reg-feature-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.dc-reg-feature-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 12px !important;
  background-color: rgba(3, 44, 23, 0.85) !important;
  border: 1.5px solid rgba(127, 204, 51, 0.28) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #7fcc33 !important;
  flex-shrink: 0 !important;
}

.dc-reg-feature-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 3px 0 !important;
  line-height: 1.3 !important;
}

.dc-reg-feature-desc {
  font-size: 13.5px !important;
  color: #9ab09f !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.dc-reg-col-card {
  width: 530px !important;
  max-width: 530px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

.dc-reg-card {
  background-color: #ffffff !important;
  border-radius: 28px !important;
  padding: 38px 36px 34px !important;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.5) !important;
  color: #001a0f !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.dc-reg-card-title {
  font-size: 27px !important;
  font-weight: 800 !important;
  color: #001a0f !important;
  margin: 0 0 22px 0 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

.dc-reg-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  margin: 0 !important;
}

.dc-reg-form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

.dc-reg-form-group {
  display: flex !important;
  flex-direction: column !important;
}

.dc-reg-label {
  display: block !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #001a0f !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
}

.dc-reg-input {
  width: 100% !important;
  height: 46px !important;
  border: 1.5px solid #d7dbd4 !important;
  border-radius: 11px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  color: #001a0f !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  font-family: inherit !important;
}

.dc-reg-input:focus {
  border-color: #7fcc33 !important;
  box-shadow: 0 0 0 3px rgba(127, 204, 51, 0.18) !important;
}

.dc-reg-input::placeholder {
  color: #9da39c !important;
  font-size: 13.5px !important;
}

.dc-reg-select-wrapper {
  position: relative !important;
  width: 100% !important;
}

.dc-reg-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 36px !important;
  cursor: pointer !important;
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center !important;
}

.dc-reg-options-label {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #001a0f !important;
  margin: 2px 0 8px 0 !important;
  line-height: 1.2 !important;
}

.dc-reg-options-sublabel {
  font-weight: 400 !important;
  color: #6b7280 !important;
}

.dc-reg-options-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.dc-reg-option-tile {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border: 1.5px solid #e2e5df !important;
  border-radius: 11px !important;
  padding: 11px 14px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
}

.dc-reg-option-tile:hover {
  border-color: #7fcc33 !important;
  background-color: #fbfdf9 !important;
}

.dc-reg-option-tile.is-active {
  border-color: #7fcc33 !important;
  background-color: #f6fbf0 !important;
}

.dc-reg-checkbox-tile {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 1.5px solid #bcc1b9 !important;
  border-radius: 4px !important;
  outline: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffffff !important;
  transition: all 0.15s ease !important;
  flex-shrink: 0 !important;
}

.dc-reg-checkbox-tile:checked {
  background-color: #7fcc33 !important;
  border-color: #7fcc33 !important;
}

.dc-reg-checkbox-tile:checked::after {
  content: '' !important;
  width: 5px !important;
  height: 9px !important;
  border: solid #001a0f !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
  margin-top: -2px !important;
  display: block !important;
}

.dc-reg-option-text {
  font-size: 13.5px !important;
  color: #1a221d !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.dc-reg-consent-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

.dc-reg-consent-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  user-select: none !important;
}

.dc-reg-consent-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  border: 1.5px solid #bcc1b9 !important;
  border-radius: 4px !important;
  outline: none !important;
  cursor: pointer !important;
  margin-top: 2px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffffff !important;
  transition: all 0.15s ease !important;
  flex-shrink: 0 !important;
}

.dc-reg-consent-checkbox:checked {
  background-color: #7fcc33 !important;
  border-color: #7fcc33 !important;
}

.dc-reg-consent-checkbox:checked::after {
  content: '' !important;
  width: 4px !important;
  height: 8px !important;
  border: solid #001a0f !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
  margin-top: -2px !important;
  display: block !important;
}

.dc-reg-consent-text {
  font-size: 12px !important;
  color: #4b5563 !important;
  line-height: 1.4 !important;
}

.dc-reg-privacy-note {
  font-size: 11.5px !important;
  color: #6b7280 !important;
  margin: 2px 0 4px 0 !important;
  line-height: 1.4 !important;
}

.dc-reg-privacy-note a {
  color: #001a0f !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

.dc-reg-btn-submit {
  width: 100% !important;
  height: 50px !important;
  background-color: #7fcc33 !important;
  color: #001a0f !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease, transform 0.1s ease !important;
  margin-top: 4px !important;
}

.dc-reg-btn-submit:hover {
  background-color: #6ebc24 !important;
}

.dc-reg-btn-submit:active {
  background-color: #5ea81b !important;
  transform: scale(0.99) !important;
}

.dc-reg-confirmation-view {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 520px !important;
  padding: 40px 0 !important;
  max-width: 620px !important;
  box-sizing: border-box !important;
}

.dc-reg-confirmation-view.is-hidden {
  display: none !important;
}

.dc-reg-check-badge {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  border-radius: 50% !important;
  background-color: #7fcc33 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 28px !important;
  box-shadow: 0 8px 24px rgba(127, 204, 51, 0.35) !important;
}

.dc-reg-check-badge svg {
  width: 32px !important;
  height: 32px !important;
  color: #001a0f !important;
}

.dc-reg-confirm-title {
  font-size: 58px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 22px 0 !important;
}

.dc-reg-confirm-desc {
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: #a6bba9 !important;
  max-width: 480px !important;
  margin: 0 0 32px 0 !important;
}

.dc-reg-btn-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  padding: 0 24px !important;
  border: 1.5px solid #7fcc33 !important;
  color: #7fcc33 !important;
  background-color: transparent !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.dc-reg-btn-back:hover {
  background-color: rgba(127, 204, 51, 0.14) !important;
  color: #8de23a !important;
  border-color: #8de23a !important;
}

.dc-reg-footer {
  width: 100% !important;
  max-width: 1340px !important;
  margin: 0 auto !important;
  padding: 48px 32px 0 !important;
  box-sizing: border-box !important;
}

.dc-reg-footer-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 24px !important;
  flex-wrap: wrap !important;
}

.dc-reg-footer-slogan {
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
}

.dc-reg-footer-legal {
  font-size: 12.5px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin: 0 !important;
}

.dc-reg-footer-legal a {
  color: inherit !important;
  text-decoration: underline !important;
}

.dc-reg-footer-legal a:hover {
  color: #ffffff !important;
}

@media (max-width: 1080px) {
  .dc-reg-grid {
    flex-direction: column !important;
    align-items: center !important;
    gap: 48px !important;
  }

  .dc-reg-col-info {
    max-width: 100% !important;
    width: 100% !important;
  }

  .dc-reg-col-card {
    max-width: 100% !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .dc-reg-card {
    max-width: 580px !important;
  }

  .dc-reg-headline,
  .dc-reg-confirm-title {
    font-size: 46px !important;
  }
}

@media (max-width: 640px) {

  /*   .dc-reg-wrapper {
    padding-top: 110px !important;
  } */
  .dc-reg-container,
  .dc-reg-footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .dc-reg-headline,
  .dc-reg-confirm-title {
    font-size: 36px !important;
  }

  .dc-reg-card {
    padding: 26px 20px !important;
    border-radius: 22px !important;
  }

  .dc-reg-form-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .dc-reg-footer-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   Why Doctors & Co Value Blocks (100% Pixel-perfect match to Image 2)
   ───────────────────────────────────────────────────────────── */
.dc-why-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  width: 100% !important;
  align-items: stretch !important;
}

@media (min-width: 640px) {
  .dc-why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (min-width: 1024px) {
  .dc-why-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

/* ==========================================================================
   Section: Why Doctors & Co Cards (Career Child Value Blocks - Image 2 Design)
   ========================================================================== */

.dc-why-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
  width: 100% !important;
}

@media (min-width: 640px) {
  .dc-why-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 1024px) {
  .dc-why-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

.dc-why-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background-color: #ffffff !important;
  border-radius: 20px !important;
  padding: 32px 28px 28px 28px !important;
  border: 1px solid rgba(0, 26, 15, 0.06) !important;
  box-shadow: 0 4px 20px rgba(0, 26, 15, 0.04) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  outline: none !important;
  text-align: left !important;
  min-height: 100% !important;
}

.dc-why-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(0, 26, 15, 0.09) !important;
}

/* Light pale green circular number badge (01, 02, 03, 04) matching Image 2 */
.dc-why-number-badge {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background-color: #eaf7dc !important;
  color: #174b28 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin-bottom: 24px !important;
  flex-shrink: 0 !important;
}

/* Copy container */
.dc-why-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  text-align: left !important;
  flex: 1 1 auto !important;
}

/* Bold Title from content */
.dc-why-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: #001a0f !important;
  margin: 0 0 12px 0 !important;
  text-align: left !important;
  letter-spacing: -0.015em !important;
}

@media (min-width: 1280px) {
  .dc-why-title {
    font-size: 21px !important;
  }
}

/* Body Text */
.dc-why-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #4b5563 !important;
  opacity: 1 !important;
  margin: 0 0 24px 0 !important;
  text-align: left !important;
}

/* Bottom Tag (uppercase label) */
.dc-why-tag {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  margin-top: auto !important;
  padding-top: 14px !important;
  text-align: left !important;
  border-top: 1px solid rgba(0, 26, 15, 0.04) !important;
}

/* ==========================================================================
   Section: CTA Banner (Pixel-Perfect Alignment with Layer_1.png shape)
   ========================================================================== */

.dc-cta-banner {
  position: relative !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
  border-radius: 16px !important;
}

/* Green decorative shape Layer_1.png */
.dc-cta-shape {
  position: absolute !important;
  pointer-events: none !important;
  user-select: none !important;
  z-index: 10 !important;
  max-width: none !important;
}

@media (max-width: 1023px) {
  .dc-cta-shape {
    right: -20px !important;
    top: 180px !important;
    height: 360px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

@media (min-width: 1024px) {
  .dc-cta-shape {
    right: 0 !important;
    top: 0 !important;
    left: auto !important;
    bottom: auto !important;
    height: 100% !important;
    width: auto !important;
    object-fit: contain !important;
    object-position: right top !important;
  }
}

/* Clinician cut-out portrait */
.dc-cta-portrait {
  position: absolute !important;
  pointer-events: none !important;
  user-select: none !important;
  z-index: 20 !important;
}

@media (max-width: 1023px) {
  .dc-cta-portrait {
    left: -14px !important;
    top: 244px !important;
    width: 290px !important;
    height: 332px !important;
    transform: none !important;
  }
}

@media (min-width: 1024px) {
  .dc-cta-portrait {
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: -35px !important;
    right: auto !important;
    bottom: auto !important;
    width: 380px !important;
    height: 435px !important;
  }
}

.dc-cta-portrait picture,
.dc-cta-portrait img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  position: static !important;
  transform: none !important;
}

/* Subtle background scrim */
.dc-cta-scrim {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 15 !important;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0) 40%) !important;
}


.title-cta {
  width: 450px !important;
}

li a[href="https://dco.feurstaging.com/Academy"]>span>span:first-child {
  display: none;
}

@media (min-width: 1024px) {
  .dc-service-card-portrait {

    height: 340px !important;

  }
}

.dc-service-card-vector--tall {
  height: 340px !important;
  /* or whatever height you need */
}

.dc-service-card-vector-mobile--tall {
  height: 215px;
}

/* Hide overlay on 3rd and 4th cards */
.dc-specialty-card:nth-child(3) .dc-specialty-overlay,
.dc-specialty-card:nth-child(4) .dc-specialty-overlay {
  display: none !important;
}

.dc-specialty-card {
  height: 520px !important;
}

.dc-testimonial-card .bg-surface,
.dc-testimonial-card .surf-h,
.surf-h {

  min-height: 235px !important;
}

.dc-pill>span:first-child,
[data-dc-pill]>span:first-child {
  opacity: 1 !important;
  padding: 7px;
  border-radius: 7px;
}

.dc-pill,
[data-dc-pill] {

  padding-left: 10px !important;
  border-radius: unset;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Partner Logo Marquee
   ═══════════════════════════════════════════════════════════════════════════ */
@keyframes marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(calc(-50% - (var(--marquee-gap, 24px) / 2)), 0, 0);
  }
}

.dc-marquee-partners {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.dc-marquee-partners>div {
  animation: marquee var(--marquee-duration, 35s) linear infinite !important;
  will-change: transform;
}

.dc-marquee-partners:hover>div {
  animation-play-state: paused;
}

.dc-marquee-partners img {
  max-height: 46px !important;
  max-width: 160px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  content-visibility: visible !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media (max-width: 1023px) {
  .dc-marquee-partners img {
    max-height: 34px !important;
    max-width: 140px !important;
  }
}

/* ==========================================================================
   Career Conversation Form (Careers Page)
   100% pixel-perfect match to Enquiry Card design:
   - Outer card: #f8f7f2, r16, p16
   - Left copy: #ede9df + Main-Patter.png, r14
   - Right form: #ede9df, r14, p24 / p40
   - Inputs: #f8f7f2, r14, green focus #47c648
   - Submit: green pill #72cb3b, r9999
   ========================================================================== */
.dc-career-form .dc-form-label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #001a0f !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.dc-career-form .dc-required {
  color: #001a0f !important;
}

.dc-career-input,
.dc-career-textarea,
.dc-career-select {
  background-color: #f8f7f2 !important;
  border: 1px solid rgba(0, 26, 15, 0.08) !important;
  border-radius: 14px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  color: #001a0f !important;
  padding: 14px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
  outline: none !important;
}

.dc-career-input {
  height: 52px !important;
}

.dc-career-textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

.dc-career-input:focus,
.dc-career-textarea:focus,
.dc-career-select:focus {
  border-color: #47c648 !important;
  box-shadow: 0 0 0 1px #47c648 !important;
  background-color: #ffffff !important;
}

.dc-career-input::placeholder,
.dc-career-textarea::placeholder {
  color: rgba(0, 26, 15, 0.45) !important;
}

/* Custom Select Dropdown with Green Chevron */
.dc-career-select {
  height: 52px !important;
  padding-right: 44px !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.dc-career-form .dc-select-arrow {
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  border-right: 2px solid #47c648 !important;
  border-bottom: 2px solid #47c648 !important;
  transform: translateY(-70%) rotate(45deg) !important;
  pointer-events: none !important;
  transition: transform 0.2s ease !important;
}

.dc-career-select:focus+.dc-select-arrow {
  transform: translateY(-30%) rotate(-135deg) !important;
}

/* Radio Buttons: Where are you now? (In Australia · Overseas) */
.dc-location-option {
  display: block !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.dc-location-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dc-location-box {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background-color: #f8f7f2 !important;
  border: 1px solid rgba(0, 26, 15, 0.08) !important;
  border-radius: 14px !important;
  height: 52px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.dc-location-option:hover .dc-location-box {
  border-color: rgba(0, 26, 15, 0.18) !important;
}

.dc-location-option input[type="radio"]:checked+.dc-location-box {
  border-color: #47c648 !important;
  box-shadow: 0 0 0 1px #47c648 !important;
  background-color: #ffffff !important;
}

.dc-radio-circle {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(0, 26, 15, 0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.dc-location-option input[type="radio"]:checked+.dc-location-box .dc-radio-circle {
  border-color: #47c648 !important;
  background-color: #47c648 !important;
}

.dc-location-option input[type="radio"]:checked+.dc-location-box .dc-radio-circle::after {
  content: "" !important;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
}

.dc-location-label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #001a0f !important;
  line-height: 1 !important;
}

/* Submit Button */
.dc-career-submit-btn {
  background-color: #72cb3b !important;
  color: #001a0f !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 9999px !important;
  border: none !important;
  padding: 12px 36px !important;
  height: 48px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  box-shadow: none !important;
}

.dc-career-submit-btn:hover {
  background-color: #47c648 !important;
  transform: translateY(-1px) !important;
}

.dc-career-submit-btn:disabled {
  opacity: 0.65 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

.dc-services-nav-bar {
  display: none;
}

/* Forminator Thank You / Success Response Message */
.forminator-response-message.forminator-success,
.forminator-response-message.forminator-show.forminator-success {
  background-color: #eaf7dc !important;
  color: #001a0f !important;
  border: 1px solid #7fcc33 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 4px 16px rgba(127, 204, 51, 0.15) !important;
}

/* ==========================================================================
   Section: Disciplines Grid (Space Page - "Built for many disciplines")
   ========================================================================== */

.dc-disciplines-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 20px !important;
  text-align: center !important;
  width: 100% !important;
}

.dc-disciplines-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: #FAF9F5 !important;
  border: 1px solid rgba(0, 26, 15, 0.08) !important;
  border-radius: 9999px !important;
  padding: 6px 16px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #001a0f !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.dc-disciplines-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: #B7B1EE !important;
  display: inline-block !important;
}

.dc-disciplines-title {
  margin: 0 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: #001a0f !important;
}

@media (min-width: 1024px) {
  .dc-disciplines-title {
    font-size: 46px !important;
  }
}

.dc-disciplines-lead {
  margin: 0 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  max-width: 38em !important;
  color: #4b5563 !important;
}

/* 3 in row 1, 2 in row 2 on desktop */
.dc-disciplines-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
  margin-top: 28px !important;
  width: 100% !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  .dc-disciplines-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 1024px) {
  .dc-disciplines-grid {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 24px !important;
  }

  /* Row 1: 3 in a row (cards 1, 2, 3 each take 2 of 6 columns) */
  .dc-disciplines-card:nth-child(1),
  .dc-disciplines-card:nth-child(2),
  .dc-disciplines-card:nth-child(3) {
    grid-column: span 2 !important;
  }

  /* Row 2: 2 in a row (cards 4 and 5 each take 3 of 6 columns) */
  .dc-disciplines-card:nth-child(4),
  .dc-disciplines-card:nth-child(5) {
    grid-column: span 3 !important;
  }
}

.dc-disciplines-card {
  position: relative !important;
  background-color: #ffffff !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  border: 1px solid rgba(0, 26, 15, 0.07) !important;
  box-shadow: 0 4px 20px rgba(0, 26, 15, 0.04) !important;
  box-sizing: border-box !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

.dc-disciplines-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(0, 26, 15, 0.08) !important;
  border-color: rgba(114, 203, 59, 0.35) !important;
}

.dc-disciplines-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(0, 26, 15, 0.06) !important;
}

.dc-disciplines-card-title {
  margin: 0 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #001a0f !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
}

.dc-disciplines-count {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: #174b28 !important;
  background-color: #eaf7dc !important;
  border-radius: 9999px !important;
  padding: 3px 9px !important;
  white-space: nowrap !important;
}

/* The list: ZERO left space, flush with title */
.dc-disciplines-list {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  padding-left: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  width: 100% !important;
}

@media (min-width: 1024px) {

  /* On the 2 wider cards in row 2, display in 2 columns for balanced proportions */
  .dc-disciplines-card:nth-child(4) .dc-disciplines-list,
  .dc-disciplines-card:nth-child(5) .dc-disciplines-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    column-gap: 20px !important;
    row-gap: 6px !important;
  }
}

.dc-disciplines-item {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 3px 0 !important;
  padding-left: 0 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  color: #33463B !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
}

.dc-testimonial-card .bg-surface,
.dc-testimonial-card .surf-h,
.surf-h {
  min-height: 260px !important;
}

button[data-dc-pill="professional"]>span:first-child {
  background-color: #fff !important;
}

/* FAQ Section: dynamic expanding height so answers never overlap subsequent sections */
.dc-faq-section {
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
}

.dc-faq-section .page-shell {
  height: auto !important;
  min-height: 464px !important;
  align-items: flex-start !important;
}

@media (max-width: 767px) {
  .title-cta {
    width: 100% !important;
    font-size: 31px;
  }
}

a[data-gtm-label="explore-doctorsco-cta-banner"] {
    width: 200px !important;
}


@media (min-width: 961px) {
    .dc-about-new-page .hero-map h2 {
        padding: 44px 44px 0;
        font-size: 40px;
        padding-top: 130px !important;
    }
}

@media (min-width: 64rem) {
    .dc-tabs-academy-logo {
        height: 80px !important;
        max-height: 80px !important;
    }
}

.dc-acad-header-logo-img {
    height: 71px !important;
    max-height: 71px !important;
    width: auto !important;
    display: block !important;
    object-fit: contain !important;
}

.bg-periwinkle:empty {
    display: none !important;
}

.dc-disciplines-count {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    color: #174b28 !important;
    background-color: #eaf7dc !important;
    border-radius: 9999px !important;
    padding: 3px 9px !important;
    white-space: nowrap !important;
    display: none;
}

a[data-gtm-label="careers-academy-register-your-interest"] .bg-periwinkle {
    display: none !important;
}