/* --- base colours --- */
.primary, h1, h2, h3, h4, h5, h6 {color: #2F6364;}
.primary-bg{background-color: #2F6364; color:#ffffff;}
.primary-bg p, .primary-bg h1, .primary-bg h2 {color:#ffffff;}
body, .body-copy{color:#4A4A4A;}
.section-bg{background-color: #F4F4F2;}
.alt-section-bg{background-color: #F2E8E1;}
.white-bg{background-color: #ffffff;}
.reverse-text{color: #ffffff;}

/* --- base typography--- */
body, .body-copy{
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}
h1,h2,h3,h4,h5,h6 {
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.btn-custom {
  background-color: #2F6364;
  color: #FFFFFF;          /* Bootstrap's default green text */
  border: 0px solid #FFFFFF;
  transition: all 0.2s ease-in-out; /* Smooth hover transition animation */
}

/* Hover, active, and focus states */
.btn-custom:hover,
.btn-custom:focus,
.btn-custom:active {
  background-color: #3d7f80!important; /* Changes to solid green */
  color: #F4F4F2 !important;            /* Text changes to white */
  border-color: #3d7f80;
}
.btn-custom-reverse {
  background-color: #ffffff;
  color: #2F6364;          /* Bootstrap's default green text */
  border: 0px solid #2F6364;
  transition: all 0.2s ease-in-out; /* Smooth hover transition animation */
}

/* Hover, active, and focus states */
.btn-custom-reverse:hover,
.btn-custom-reverse:focus,
.btn-custom-reverse:active {
  background-color: #3d7f80 !important; /* Changes to solid green */
  color: #ffffff !important;            /* Text changes to white */
  border-color: #3d7f80;
}
.btn-custom-ember {
  background-color: #ffffff;
  color: #C4622D;          /* Bootstrap's default green text */
  border: 0px solid #C4622D;
  transition: all 0.2s ease-in-out; /* Smooth hover transition animation */
}

/* Hover, active, and focus states */
.btn-custom-ember:hover,
.btn-custom-ember:focus,
.btn-custom-ember:active {
  background-color: #C4622D !important; /* Changes to solid green */
  color: #ffffff !important;            /* Text changes to white */
  border-color: #C4622D;
}

/* 1. Reset the accordion component colors */
.accordion-item,
.accordion-button {
  background-color: transparent;
  color: inherit;
}

/* 2. Reset the expanded/active state */
.accordion-button:not(.collapsed) {
  background-color: transparent;
  color: inherit;
  box-shadow: none; /* Removes the default bottom border shadow when open */
}

/* 3. Remove the blue focus ring/glow on click */
.accordion-button:focus {
  border-color: rgba(0, 0, 0, 0.125); /* Keeps a subtle default border, or change to transparent */
  box-shadow: none; /* Removes the blue focus glow */
}

/* 4. Optional: Make the arrow icon match your text color */
.accordion-button::after {
  filter: brightness(0) invert(var(--accordion-arrow-invert, 0)); 
  /* If your text is white/light, uncomment the line below to make the arrow white */
  /* filter: invert(1); */
}
.accordion-header {background-color:#F9F4F0;}
.brand-textmark {
    max-height: 40px; /* Adjust this to match your desired layout height */
    width: auto;      /* Keeps the aspect ratio from stretching */
}
.post-content a{text-decoration:none; color:#4A4A4A;}
.post-content h1 a, .post-content h2 a{color:#2F6364;}

.wp-block-heading {padding-top:1rem;}

#seo-disciplines h3, .section-card h3 {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
  }

  .disc-abbr {
    font-size: 2.25rem;
    font-weight: 500;
    color: #2F6364;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 0.25rem;
  }

  .disc-full {
    font-size: 0.9rem;
    font-weight: 400;
    color: #4A4A4A;
    margin-bottom: 1rem;
  }

  .disc-divider {
    width: 40px;
    height: 2px;
    background-color: #2F6364;
    border: none;
    margin: 0 auto 1.25rem;
    border-radius: 2px;
    opacity: 1;
  }

  .step-marker {
    width: 40px;
    height: 40px;
    background-color: #FFFFFF;
    border: 1.5px solid #2F6364;
    color: #2F6364;
    font-size: 14px;
    flex-shrink: 0;
    z-index: 1;
  }

  .step-connector {
    width: 1.5px;
    flex: 1;
    background-color: rgba(47, 99, 100, 0.25);
    margin-top: 4px;
  }

  .step-label {
    color: #8A8A8A;
    letter-spacing: 0.06em;
    font-size: 11px;
  }

  .accordion-button {
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-weight: 400;
  color: #2F6364;
  background-color: transparent;
  box-shadow: none;
}

.accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

.accordion-button:not(.collapsed) {
  background-color: #FFFFFF;
  color: #2F6364;
  box-shadow: none;
}

.accordion-item:has(.accordion-button:not(.collapsed)) {
  border-left: 3px solid #2F6364;
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232F6364'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-body {
  font-size: 13px;
  color: #4A4A4A;
  line-height: 1.7;
  padding-left: 30px;
}