/*
 * BPS Clinic theme stylesheet
 * Font families: lemonMilk (headings), ppNeueMontreal (body), Inter (UI).
 * Colour tokens live in the "Design tokens and fonts" section (--bps-*).
 */

/* ======================================================================
   Base: reset, layout grid, typography
   ====================================================================== */

:root {
  --background:0 0% 100%;
  --foreground:0 0% 3.9%;
  --card:0 0% 100%;
  --card-foreground:0 0% 3.9%;
  --popover:0 0% 100%;
  --popover-foreground:0 0% 3.9%;
  --primary:0 0% 9%;
  --primary-foreground:0 0% 98%;
  --secondary:0 0% 96.1%;
  --secondary-foreground:0 0% 9%;
  --muted:0 0% 96.1%;
  --muted-foreground:0 0% 45.1%;
  --accent:0 0% 96.1%;
  --accent-foreground:0 0% 9%;
  --destructive:0 84.2% 60.2%;
  --destructive-foreground:0 0% 98%;
  --border:0 0% 89.8%;
  --input:0 0% 89.8%;
  --ring:0 0% 3.9%;
  --gutter:clamp(1rem,4vw,2rem);
  --section-gap:clamp(1.5rem,6vw,5rem);
}

.inner-page {
  --content-max:70rem;
}

.home-page {
  --content-max:97.5rem;
}

.page-grid {
  display:grid;
  grid-template-columns:[full-start] minmax(var(--gutter),1fr) [content-start] minmax(0,var(--content-max)) [content-end] minmax(var(--gutter),1fr) [full-end];
}

.content {
  grid-column:content-start/content-end;
}

.full {
  grid-column:full-start/full-end;
}

.hero img {
  display:block;
  width:100%;
  height:100svh;
  object-fit:cover;
}

body,html {
  background:white;
  color:black;
}

.dark {
  --background:0 0% 3.9%;
  --foreground:0 0% 98%;
  --card:0 0% 3.9%;
  --card-foreground:0 0% 98%;
  --popover:0 0% 3.9%;
  --popover-foreground:0 0% 98%;
  --primary:0 0% 98%;
  --primary-foreground:0 0% 9%;
  --secondary:0 0% 14.9%;
  --secondary-foreground:0 0% 98%;
  --muted:0 0% 14.9%;
  --muted-foreground:0 0% 63.9%;
  --accent:0 0% 14.9%;
  --accent-foreground:0 0% 98%;
  --destructive:0 62.8% 30.6%;
  --destructive-foreground:0 0% 98%;
  --border:0 0% 14.9%;
  --input:0 0% 14.9%;
  --ring:0 0% 83.1%;
}

a {
  color:black;
  text-decoration:none;
  transition:color .2s,-webkit-text-decoration .2s;
  transition:color .2s,text-decoration .2s;
  transition:color .2s,text-decoration .2s,-webkit-text-decoration .2s;
  font-family:var(--font-pp-neue-montreal),Arial,sans-serif;
}

*,:after,:before {
  box-sizing:border-box;
}

html {
  font-size:16px;
  line-height:1.15;
  -webkit-text-size-adjust:100%;
}

body {
  margin:0;
  font-family:var(--font-pp-neue-montreal),Arial,sans-serif;
}

h1 {
  font-size:4rem;
}

@media (max-width:48rem) {
  h1 {
    font-size:2rem;
  }
}

h2 {
  font-size:2rem;
}

h6 {
  font-size:3rem;
}

h1,h2,h4,h6 {
  font-family:var(--font-lemon-milk),Arial,sans-serif;
  font-weight:400;
}

li,ol,p,ul {
  font-weight:400;
}

h3,h5,li,ol,p,ul {
  font-family:var(--font-pp-neue-montreal),Arial,sans-serif;
}

h3,h5 {
  font-weight:600;
}

h1,h2,h3,h4,h5,h6,p {
  margin-block:0;
  -webkit-margin-start:0;
  margin-inline-start:0;
  -webkit-margin-end:0;
  margin-inline-end:0;
}

p {
  color:var(--bps-new-sienna);
  font-family:var(--font-pp-neue-montreal),Arial,sans-serif;
  line-height:1.6;
  padding-block:0 .75rem;
}

h1,h2,h3,h4,h5,h6 {
  color:var(--bps-coffee);
}

ol,ul {
  margin:0;
  padding:0;
  color:var(--bps-new-sienna);
}

canvas,img,picture,svg,video {
  display:block;
  max-width:100%;
  height:auto;
}

button,input,select,textarea {
  font:inherit;
  color:inherit;
}

.post-content {
  overflow-wrap:break-word;
  word-wrap:break-word;
  word-break:break-word;
}

.footer__wrapper {
  display:flex;
  flex-direction:column;
  width:100%;
  padding:0 2rem 6rem;
}

.footer__container {
  display:grid;
  grid-template-columns:1.5fr 1fr repeat(2,1fr);
  padding-top:3rem;
  grid-gap:2rem;
  gap:2rem;
}

.footer__social-container {
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:1rem;
  grid-row:1/span 2;
}

.footer__h2 {
  color:var(--bps-saddle);
  font-size:1rem;
  margin:0;
}

.footer__vertical-nav {
  width:-moz-fit-content;
  width:fit-content;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  color:var(--bps-saddle-40);
  font-weight:500;
  grid-row:1/span 2;
  p {
    font-size:1.15rem;
    color:var(--bps-saddle-80);
  }
  a {
    font-weight:400;
  }
  .footer__nav-link {
    display:flex;
    color:var(--bps-saddle-40-dark);
  }
}

.footer__nav-link.footer__active {
  color:#736356;
  text-decoration:underline;
}

.footer__follow-us-container {
  width:100%;
  height:100%;
  display:flex;
  flex-direction:row;
  gap:.8rem;
  color:var(--bps-saddle-40);
}

.footer__social-logo {
  max-width:2rem;
  height:100%;
  width:100%;
  display:block;
}

.footer__social-logo:hover {
  color:var(--bps-gold);
  fill:var(--bps-gold);
}

.footer__cta-contact {
  align-self:baseline;
}

.footer__line {
  flex:none;
  width:100%;
  height:.125rem;
  position:relative;
  overflow:hidden;
  background-color:#c7c5c5;
}

.footer__license-container {
  display:flex;
  flex-direction:column;
  gap:.5rem;
  h2 {
    font-family:var(--font-pp-neue-montreal),Arial,sans-serif;
  }
}

@media (max-width:48rem) {
  .footer__container {
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* ======================================================================
   Shared components: header, footer, buttons, cards, about, news
   ====================================================================== */

.page__container {
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.page__title {
  padding-top:3rem;
  padding-bottom:2rem;
  text-align:center;
}

.page__section {
  display:flex;
  flex-direction:row;
  width:100%;
  height:100%;
  gap:2rem;
  padding:3rem 0;
}

.page__section.page__reverse {
  flex-direction:row-reverse;
}

.page__section.page__vertical {
  flex-direction:column-reverse;
}

.page__section-image {
  flex-shrink:0;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:0 999px 999px 0;
}

.page__what-to-expect-section-image {
  object-fit:fill;
  object-position:initial;
  aspect-ratio:auto;
  border-radius:999px 0 0 999px;
  width:30rem;
  height:auto;
}

.page__our-approach-image {
  border-radius:0 999px 0 0;
  height:28rem;
  width:37.5rem;
}

.page__our-mission-image {
  border-radius:0 0 999px 0;
  height:28rem;
  width:37.5rem;
}

.page__section-elem {
  display:flex;
  flex-direction:column;
  width:auto;
  height:auto;
  color:black;
}

.page__section-title {
  font-size:clamp(1.5rem,4vw,2rem);
  padding:1rem;
}

.page__section-text {
  border:.063rem solid white;
  background-color:white;
  padding:1rem;
  text-align:justify;
}

.page__motivational-section {
  background-color:var(--bps-new-sienna);
  display:flex;
  justify-content:center;
  align-items:center;
  border:.5rem solid var(--bps-new-sienna);
  padding:2rem;
  text-align:center;
}

.page__motivational-section h1 {
  font-size:clamp(1.5rem,5vw,3rem);
  word-break:break-word;
}

.page__grid-first-row {
  justify-content:center;
  gap:1rem;
}

.page__grid-first-row,.page__grid-second-row {
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:1rem;
}

.page__mission-and-vision-section-wrapper,.page__what-to-expect-section-wrapper {
  display:flex;
  flex-direction:column;
  width:100%;
}

.page__what-to-expect-section-wrapper {
  height:100%;
  justify-content:center;
  align-items:center;
  padding:8rem 2rem;
  text-align:center;
}

.page__we-combine-section-wrapper {
  display:grid;
  grid-template-columns:25% 75%;
  width:100%;
  height:100%;
}

.page__about-page-card-list-wrapper {
  padding-bottom:10rem;
}

@media (max-width:48rem) {
  .page__section {
    display:flex;
    width:100%;
    height:100%;
    gap:2rem;
    padding:3rem 0;
  }
  .page__section,.page__section.page__reverse {
    flex-direction:column;
  }
  .page__what-to-expect-section-image {
    margin-top:0;
  }
  .page__motivational-section {
    padding:1rem;
  }
  .page__section-image {
    width:25rem;
    height:25rem;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  .page__section-title {
    font-size:clamp(1.5rem,3vw,2rem);
  }
  .page__section-elem {
    display:flex;
    flex-direction:column;
    width:auto;
    height:auto;
    color:black;
    font-size:clamp(1rem,2vw,2rem);
    padding:1rem;
  }
  .page__we-combine-section-wrapper {
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
  }
}

@media (max-width:64rem) {
  .page__what-to-expect-section-image {
    margin-top:0;
  }
  .page__section-image {
    width:25rem;
    height:25rem;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  .page__section-title {
    font-size:clamp(1.5rem,3vw,2rem);
  }
  .page__section-elem {
    display:flex;
    flex-direction:column;
    width:auto;
    height:auto;
    color:black;
    font-size:clamp(1rem,2vw,2rem);
    padding:1rem;
  }
}

.feature-card__container {
  height:100%;
  text-align:center;
  background-color:var(--bps-coffee);
  border-radius:2%;
  font-size:1.125rem;
}

.feature-card__container,.feature-card__header {
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:1rem;
}

.feature-card__header {
  height:-moz-fit-content;
  height:fit-content;
  white-space:normal;
  gap:.5rem;
  height:100%;
}

.feature-card__title {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  height:-moz-fit-content;
  height:fit-content;
  color:white;
  h1,h2,h3 {
    color:white;
  }
}

.feature-card__content,.feature-card__sub-title {
  color:white;
}

.feature-card__content-container {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  padding:1rem;
}

.feature-card__list {
  width:100%;
  height:100%;
  align-items:center;
  justify-content:flex-end;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  margin-top:auto;
}

.feature-card__card-buttons:hover {
  color:var(--bps-coffee);
}

.button__button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:3rem;
  padding:1rem;
  border:.063rem solid transparent;
  background:#b48e69;
  border-radius:10rem;
  font-weight:600;
  color:white;
  a {
    color:white;
    font-weight:600;
  }
}

.button__button:hover {
  background:white;
  color:#b48e69;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  cursor:pointer;
  transition:background .2s,box-shadow .2s;
  border:.063rem solid #b48e69;
  a {
    color:#b48e69;
    text-decoration:none;
  }
}

.button__button:focus {
  outline:none;
}

.button__small {
  width:5rem;
}

.button__medium {
  width:7.34rem;
}

.button__large {
  width:10rem;
}

.button__content {
  width:-moz-fit-content;
  width:fit-content;
}

.button__full {
  width:100%;
}

.button__inverted {
  background:white;
  color:#b48e69;
  border:.063rem solid #b48e69;
}

.button__inverted:hover {
  background:#b48e69;
  color:white;
  border:.063rem solid transparent;
}

.not-found__container {
  width:100%;
  height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5rem;
}

.logo__logo {
  max-width:18rem;
  height:auto;
  width:100%;
  display:block;
  justify-self:start;
}

@media (max-width:48rem) {
  .logo__logo {
    max-width:12rem;
  }
}

.header__nav-container {
  height:6.26rem;
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:100;
  padding:1rem 0;
  border-bottom:1px solid var(--border-color);
  background-color:var(--bps-white);
}

.header__nav-menu-wrapper {
  display:grid;
  grid-template-columns:minmax(120px,18rem) 1fr auto;
  align-items:center;
  width:100%;
  height:100%;
  margin:0 auto;
  padding:0 2rem;
  grid-gap:1rem;
  gap:1rem;
}

@media (max-width:64rem) {
  .header__nav-menu-wrapper {
    grid-template-columns:minmax(100px,14rem) 1fr auto;
    padding:0 1rem;
    gap:.5rem;
  }
}

@media (max-width:48rem) {
  .header__nav-menu-wrapper {
    grid-template-columns:1fr auto;
    padding:0 var(--gutter);
  }
}

.mobile-nav__nav-menu {
  display:flex;
  gap:2rem;
  justify-self:end;
  align-items:center;
  flex-wrap:wrap;
  min-width:0;
}

@media (max-width:64rem) {
  .mobile-nav__nav-menu-wrapper {
    grid-template-columns:minmax(100px,14rem) 1fr auto;
    padding:0 1rem;
    gap:.5rem;
  }
  .mobile-nav__nav-menu {
    gap:1rem;
  }
  .mobile-nav__nav-link {
    font-size:1rem;
  }
}

@media (max-width:48rem) {
  .mobile-nav__nav-menu-wrapper {
    grid-template-columns:1fr auto;
    padding:0 var(--gutter);
  }
  .mobile-nav__nav-menu {
    display:none;
  }
  .mobile-nav__nav-menu-open {
    display:flex;
    flex-direction:column;
    position:absolute;
    top:6.26rem;
    left:0;
    width:100%;
    min-height:calc(100vh - 6.26rem);
    background-color:var(--bps-white);
    padding:2rem var(--gutter);
    box-shadow:0 4px 6px rgba(0,0,0,.1);
    z-index:90;
    align-items:flex-start;
    gap:1.5rem;
  }
  .mobile-nav__nav-menu-open .mobile-nav__nav-link {
    font-size:1.5rem;
    width:100%;
    padding:.5rem 0;
  }
  .mobile-nav__nav-link {
    font-size:1.125rem;
    font-weight:500;
    color:var(--bps-nav-link);
    text-decoration:none;
    transition:color .2s ease;
  }
}

.burger-icon__burger-button {
  display:none;
}

@media (max-width:48rem) {
  .burger-icon__burger-button {
    display:flex;
    flex-direction:column;
    justify-content:space-around;
    align-self:center;
    width:2.2rem;
    height:2.2rem;
    padding:.25rem;
    background:none;
    border:none;
    cursor:pointer;
    z-index:110;
  }
}

.desktop-nav__nav-menu {
  display:flex;
  gap:2rem;
  justify-self:end;
  align-items:center;
  flex-wrap:wrap;
  min-width:0;
}

@media (max-width:64rem) {
  .desktop-nav__nav-menu {
    gap:1rem;
  }
  .desktop-nav__nav-link {
    font-size:1rem;
  }
}

@media (max-width:48rem) {
  .desktop-nav__cta-button-wrapper,.desktop-nav__nav-menu {
    display:none;
  }
  .desktop-nav__nav-link {
    font-size:1.5rem;
    width:100%;
    padding:.5rem 0;
  }
}

.desktop-nav__cta-button-wrapper {
  justify-self:end;
  display:block;
}

.desktop-nav__nav-link {
  font-size:1.125rem;
  font-weight:500;
  color:var(--bps-nav-link);
  text-decoration:none;
  transition:color .2s ease;
}

.desktop-nav__nav-link:hover {
  color:#736356;
}

.desktop-nav__nav-link.desktop-nav__active {
  color:#736356;
  text-decoration:underline;
}

.about-page-cards-list__container {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-column-gap:3rem;
  column-gap:3rem;
  width:100%;
  height:100%;
  align-items:stretch;
}

@media (max-width:64rem) {
  .about-page-cards-list__container {
    display:flex;
    flex-direction:column;
    gap:1rem;
    width:100%;
    height:100%;
  }
}

.filter-menu__container {
  display:flex;
  flex-direction:row;
  gap:1rem;
  align-items:center;
  justify-content:center;
  height:-moz-fit-content;
  height:fit-content;
  p {
    padding-block:0;
  }
}

.filter-menu__filter-value {
  cursor:pointer;
  color:white;
  margin-block:0;
}

.filter-menu__filter-value:hover,.filter-menu__selected {
  text-decoration:underline;
}

@media (max-width:64rem) {
  .filter-menu__filter-value {
    font-size:.9rem;
  }
  .filter-menu__container {
    gap:.4rem;
    padding:0 .2rem;
  }
}

.search-input__search-container {
  position:relative;
  display:flex;
  align-items:center;
  height:2.5rem;
  border-radius:999px;
  border:.2rem solid #d4bdab;
  background-color:#d4bdab;
  overflow:hidden;
  transition:width .3s ease,padding .3s ease;
}

.search-input__search-container:not(.search-input__expanded) {
  width:2.5rem;
  padding:0;
}

.search-input__search-container.search-input__expanded {
  width:18rem;
  padding:0 .75rem;
}

.search-input__search-input {
  flex:1 1;
  width:100%;
  border:none;
  border-radius:inherit;
  background-color:#d4bdab;
  outline:none;
  opacity:0;
  pointer-events:none;
  padding:0 2.5rem 0 .25rem;
}

.search-input__search-input.search-input__expanded {
  opacity:1;
  pointer-events:auto;
}

.search-input__search-input.search-input__not-expanded {
  width:0;
  padding:0;
}

.search-input__search-icon {
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:2rem;
  height:2rem;
  color:#7c6755;
  cursor:pointer;
}

@media (max-width:48rem) {
  .search-input__search-container.search-input__expanded {
    width:100%;
  }
}

.page__post-meta {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
  color:#666;
  font-size:.9rem;
  margin-bottom:1rem;
}

.page__author-info {
  display:flex;
  align-items:center;
  gap:.5rem;
}

.page__author-avatar {
  border-radius:50%;
}

.page__taxonomy-list {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-bottom:1.5rem;
}

.page__category-pill {
  background-color:#e0e0e0;
}

.page__category-pill,.page__tag-pill {
  padding:.25rem .75rem;
  border-radius:4px;
  font-size:.85rem;
}

.page__tag-pill {
  background-color:#f0f0f0;
  border:1px solid #ddd;
}

.page__featured-figure {
  margin:2rem 0;
}

.page__featured-image {
  width:100%;
  height:auto;
  border-radius:.5rem;
}

.page__back-button-wrapper {
  padding-top:3rem;
  padding-bottom:3rem;
}

.tailored-services-faq__faq-container {
  width:100%;
  padding-left:10rem;
  padding-right:10rem;
  padding-bottom:8rem;
}

.tailored-services-faq__title {
  margin-bottom:1.5rem;
  text-align:left;
}

.tailored-services-faq__faq-list {
  display:flex;
  flex-direction:column;
  gap:.5rem;
}

.tailored-services-faq__faq-item {
  border-bottom:1px solid #ccc;
  overflow:hidden;
}

.tailored-services-faq__faq-question {
  width:100%;
  background:none;
  border:none;
  outline:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  padding:1.5rem 0;
  cursor:pointer;
  transition:color .3s ease;
}

.tailored-services-faq__faq-question:hover {
  color:var(--bps-gold);
}

.tailored-services-faq__arrow {
  transition:transform .3s ease;
  font-size:1.2rem;
}

.tailored-services-faq__open {
  transform:rotate(180deg);
}

.tailored-services-faq__faq-answer {
  display:flex;
  flex-direction:column;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:all .4s ease;
  gap:1rem;
}

.tailored-services-faq__show {
  max-height:-moz-fit-content;
  max-height:fit-content;
  opacity:1;
  padding-bottom:1rem;
}

.tailored-services-faq__faq-answer p {
  margin:0;
  line-height:1.5;
  color:#333;
}

@media (max-width:64rem) {
  .tailored-services-faq__faq-container {
    padding-left:3rem;
    padding-right:3rem;
  }
}

.cta-pill__container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:3rem 4rem;
  border-radius:999px;
  background-color:var(--bps-coffee);
  box-shadow:.238rem .238rem .5rem 0 black;
}

.cta-pill__left-section {
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:1 1;
}

.cta-pill__left-section h6 {
  font-size:clamp(1.8rem,2.5vw,2.5rem);
  color:var(--bps-beige);
  line-height:1.1;
}

.cta-pill__left-section h2,.cta-pill__left-section p {
  color:var(--bps-beige);
}

.cta-pill__right-section {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex:1 1;
  gap:2.5rem;
}

.cta-pill__custom-button-width {
  width:17.5rem;
  background:var(--bps-coffee);
  border:.125rem solid var(--bps-beige);
  color:var(--bps-beige);
  text-decoration:none;
  a {
    color:var(--bps-beige);
    text-decoration:none;
  }
}

.cta-pill__custom-button-width:hover {
  background:var(--bps-beige);
  box-shadow:.238rem .238rem .5rem 0 black;
  color:var(--bps-coffee);
  a {
    color:var(--bps-coffee);
    text-decoration:none;
  }
}

@media (max-width:64rem) {
  .cta-pill__container {
    padding:2.5rem 3rem;
  }
  .cta-pill__right-section {
    gap:1.5rem;
  }
  .cta-pill__custom-button-width {
    width:14rem;
  }
}

@media (max-width:48rem) {
  .cta-pill__container {
    flex-direction:column;
    align-items:flex-start;
    padding:2rem;
    border-radius:2.5rem;
  }
  .cta-pill__left-section,.cta-pill__right-section {
    flex:none;
    width:100%;
    align-items:center;
  }
  .cta-pill__right-section {
    margin-top:1.5rem;
    justify-content:center;
    flex-wrap:wrap;
    gap:1rem;
  }
}

.slug__header {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.slug__header-title {
  font-size:2rem;
  font-weight:400;
}

.slug__sub-header {
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  color:#666;
  font-size:1rem;
  text-transform:none;
}

.slug__featured-media-container {
  margin:2rem 0;
  width:100%;
}

.slug__featured-image {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:.5rem;
  max-width:57.5rem;
  max-height:43.125rem;
  display:block;
  margin-left:auto;
  margin-right:auto;
}

.slug__content {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  width:100%;
  padding:0 10rem;
}

.slug__content h2 {
  font-size:2rem;
  margin-top:2rem;
  margin-bottom:1rem;
}

.slug__content h3 {
  font-size:1.5rem;
  margin-top:1.5rem;
  margin-bottom:.75rem;
}

.slug__content ul {
  list-style:disc;
  margin-left:1.5rem;
  margin-bottom:1rem;
  margin-top:0;
}

.slug__content p {
  padding-block:0;
  line-height:1.6;
}

.slug__content .slug-page_wp-block-post-featured-image__toCKh {
  display:none;
}

.slug__section-button {
  align-self:center;
}

@media (max-width:64rem) {
  .slug__content {
    padding:0 3rem;
  }
}

.post-card__team-card {
  border:.063rem solid #ffffff;
  padding:1rem;
  border-radius:.5rem;
  height:auto;
  min-height:0;
}

.post-card__news-card-style,.post-card__team-card {
  display:flex;
  flex-direction:column;
  max-width:100%;
  width:100%;
  text-decoration:none;
  color:inherit;
  margin-bottom:1.5rem;
}

.post-card__news-card-style {
  border:.063rem solid #ffffff;
  padding:1.5rem;
  border-radius:8px;
  min-height:32rem;
  background-color:var(--bps-beige);
}

.post-card__news-image-container-style {
  width:100%;
  height:16rem;
}

.post-card__image-container-style,.post-card__news-image-container-style {
  overflow:hidden;
  border-radius:6px;
  border:.063rem solid #ddd;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f0f0f0;
  margin-bottom:1rem;
}

.post-card__image-container-style {
  width:-moz-fit-content;
  width:fit-content;
  height:-moz-fit-content;
  height:fit-content;
}

.post-card__news-image-style-post,.post-card__news-image-style {
  width:100%;
  height:100%;
  object-fit:cover;
}

.post-card__news-image-style-post {
  margin-left:auto;
  margin-right:auto;
  margin-top:0;
  max-width:67.5rem;
  object-position:top;
}

.post-card__image-style {
  width:24.25rem;
  height:21.875rem;
  object-fit:cover;
}

@media (max-width:64rem) {
  .post-card__image-container-style {
    width:100%;
    height:auto;
    aspect-ratio:1;
  }
  .post-card__image-style {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

.post-card__title-style {
  font-size:1.25rem;
  font-weight:600;
  padding:.5rem 0;
  color:#222;
}

.post-card__excerpt-style {
  font-size:1rem;
  color:#444;
  margin-bottom:1rem;
  display:-webkit-box;
  line-clamp:3;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  max-height:4.5em;
  line-height:1.5em;
  overflow-wrap:anywhere;
}

.post-card__meta-style {
  margin-top:auto;
  font-size:.85rem;
}

.post-card__news-no-image {
  color:#bbb;
  font-size:1rem;
  width:100%;
  height:16rem;
  align-items:center;
  justify-content:center;
  display:flex;
  text-align:center;
  p {
    width:100%;
  }
}

.post-card__no-image {
  color:#bbb;
  font-size:1rem;
  width:100%;
  height:21.875rem;
  align-items:center;
  justify-content:center;
  display:flex;
  text-align:center;
  p {
    width:100%;
  }
}

.post-card__role-style {
  display:flex;
  flex-direction:column;
  font-size:1rem;
  color:#666;
  font-weight:500;
  padding-bottom:.5rem;
  text-align:left;
  text-transform:none;
  p {
    margin:0;
    padding:0;
  }
}

.post-card__job-title {
  font-size:.8rem;
}

.post-card__card-footer {
  display:grid;
  grid-template-columns:85% 15%;
}

.post-card__arrow-wrapper {
  display:flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  border-radius:50%;
  transition:border .2s,background .2s;
  border:.063rem solid transparent;
  background:transparent;
  border:.063rem solid var(--bps-gold);
  justify-self:flex-end;
}

.post-card__arrow-icon {
  transform:rotate(-45deg);
  transition:transform .2s,filter .2s;
  width:auto;
  height:1rem;
}

.post-card__team-card:hover .post-card__arrow-wrapper {
  border:.063rem solid var(--bps-gold);
  background:var(--bps-gold);
}

.post-card__team-card:hover .post-card__arrow-wrapper .post-card__arrow-icon {
  transform:rotate(0);
  filter:invert(1);
}

.post-card__card-style {
  border:.063rem solid #ffffff;
  padding:1rem;
  border-radius:8px;
  display:flex;
  flex-direction:column;
  max-width:100%;
  width:100%;
  height:auto;
  min-height:0;
  text-decoration:none;
  color:inherit;
  margin-bottom:1.5rem;
  transition:transform .3s ease-out,box-shadow .3s ease-out;
}

.post-card__card-style:hover {
  transform:translate(-.5rem,-.5rem);
  box-shadow:5px 5px 20px -5px var(--bps-new-sienna);
}

@media (max-width:37.5rem) {
  .post-card__image-container-style {
    aspect-ratio:3/4;
    width:100%;
    height:auto;
  }
  .post-card__image-style {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top;
  }
}

.post-card__no-image-container {
  width:inherit!important;
}

.page__section-alt {
  padding:2rem 0;
  background:#fff;
}

.page__container-alt {
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}

.page__header {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  margin-bottom:2rem;
  text-align:center;
}

.page__header-title {
  font-size:2rem;
  margin-bottom:.5rem;
}

.page__header-desc {
  color:#888;
  font-size:1rem;
  text-align:center;
  margin:0 auto;
}

.page__search-filter {
  display:flex;
  flex-direction:row;
}

.page__posts-grid {
  display:grid;
  grid-template-columns:repeat(1,1fr);
  grid-gap:1.5rem;
  gap:1.5rem;
}

@media (min-width:48rem) {
  .page__posts-grid {
    grid-template-columns:repeat(3,1fr);
  }
}

.page__no-posts {
  height:96px;
  width:100%;
  border:1px solid #e0e0e0;
  border-radius:8px;
  background:#f3f3f3;
  color:#888;
  font-size:1.1rem;
}

.page__no-posts,.page__pagination-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
}

.page__pagination-wrap {
  padding:2rem 0 0;
}

.page__pagination {
  display:flex;
  gap:.5rem;
}

.page__pagination-item {
  display:flex;
  align-items:center;
}

.page__pagination-link {
  padding:.4rem .9rem;
  border-radius:4px;
  border:1px solid #e0e0e0;
  background:#fff;
  color:#222;
  text-decoration:none;
  font-size:1rem;
  transition:background .2s;
}

.page__pagination-link-active {
  background:#222;
  color:#fff;
  border-color:#222;
}

.page__pagination-ellipsis {
  padding:0 .5rem;
  color:#aaa;
  font-size:1.1rem;
}

.posts-grid__section {
  padding-bottom:10rem;
  background:#fff;
}

.posts-grid__container {
  margin:0 auto;
  padding:0 1.5rem;
}

@media (min-width:75rem) {
  .posts-grid__container {
    padding:0;
  }
}

.posts-grid__header {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  margin-bottom:2rem;
  padding-top:3rem;
  text-align:center;
}

.posts-grid__header-title {
  font-size:2rem;
  margin-bottom:.5rem;
}

.posts-grid__header-desc {
  color:#888;
  font-size:1rem;
}

.posts-grid__search-filter {
  display:flex;
  width:100%;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
}

.posts-grid__posts-grid {
  display:grid;
  grid-template-columns:repeat(1,1fr);
  grid-gap:1.5rem;
  gap:1.5rem;
  width:100%;
  box-sizing:border-box;
}

@media (min-width:48rem) {
  .posts-grid__posts-grid {
    grid-template-columns:repeat(3,1fr);
  }
}

.posts-grid__no-posts {
  height:96px;
  width:100%;
  border:1px solid #e0e0e0;
  border-radius:8px;
  background:#f3f3f3;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#888;
  font-size:1.1rem;
}

.posts-grid__pagination-wrap {
  display:flex;
  justify-content:center;
  align-items:center;
  padding:2rem 0 0;
}

.posts-grid__pagination {
  display:flex;
  gap:.5rem;
}

.posts-grid__pagination-item {
  display:flex;
  align-items:center;
}

.posts-grid__pagination-link {
  padding:.4rem .9rem;
  border-radius:4px;
  border:1px solid #e0e0e0;
  background:#fff;
  color:#222;
  text-decoration:none;
  font-size:1rem;
  transition:background .2s;
}

.posts-grid__pagination-link-active {
  background:#222;
  color:#fff;
  border-color:#222;
}

.posts-grid__pagination-ellipsis {
  padding:0 .5rem;
  color:#aaa;
  font-size:1.1rem;
}

/* ======================================================================
   Design tokens and fonts
   ====================================================================== */

:root {
  --bps-black:#000000;
  --bps-white:#ffffff;
  --bps-saddle:#8b5e3c;
  --bps-saddle-40:#b98f6e;
  --bps-saddle-80:#714a2f;
  --bps-saddle-40-dark:#3d2617;
  --bps-nav-link:#4d3021;
  --bps-coffee:#563522;
  --bps-bronze:#7b5221;
  --bps-new-sienna:#7c6755;
  --bps-gold:#bc9367;
  --bps-tan:#d4bdab;
  --bps-serenity:#e1d8cf;
  --bps-beige:#f1eae1;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-400.otf) format("opentype");
  font-display:swap;
  font-weight:400;
  font-style:normal;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-700.otf) format("opentype");
  font-display:swap;
  font-weight:700;
  font-style:normal;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-300.otf) format("opentype");
  font-display:swap;
  font-weight:300;
  font-style:normal;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-500.otf) format("opentype");
  font-display:swap;
  font-weight:500;
  font-style:normal;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-400-italic.otf) format("opentype");
  font-display:swap;
  font-weight:400;
  font-style:italic;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-700-italic.otf) format("opentype");
  font-display:swap;
  font-weight:700;
  font-style:italic;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-300-italic.otf) format("opentype");
  font-display:swap;
  font-weight:300;
  font-style:italic;
}

@font-face {
  font-family:lemonMilk;
  src:url(../fonts/lemon-milk-500-italic.otf) format("opentype");
  font-display:swap;
  font-weight:500;
  font-style:italic;
}

@font-face {
  font-family:lemonMilk Fallback;
  src:local("Arial");
  ascent-override:78.43%;
  descent-override:17.70%;
  line-gap-override:1.77%;
  size-adjust:137.96%;
}

:root {
  --font-lemon-milk:"lemonMilk","lemonMilk Fallback";
}

@font-face {
  font-family:ppNeueMontreal;
  src:url(../fonts/pp-neue-montreal-400.otf) format("opentype");
  font-display:swap;
  font-weight:400;
  font-style:normal;
}

@font-face {
  font-family:ppNeueMontreal;
  src:url(../fonts/pp-neue-montreal-700.otf) format("opentype");
  font-display:swap;
  font-weight:700;
  font-style:normal;
}

@font-face {
  font-family:ppNeueMontreal;
  src:url(../fonts/pp-neue-montreal-500.otf) format("opentype");
  font-display:swap;
  font-weight:500;
  font-style:normal;
}

@font-face {
  font-family:ppNeueMontreal;
  src:url(../fonts/pp-neue-montreal-300.otf) format("opentype");
  font-display:swap;
  font-weight:300;
  font-style:normal;
}

@font-face {
  font-family:ppNeueMontreal;
  src:url(../fonts/pp-neue-montreal-400-italic.otf) format("opentype");
  font-display:swap;
  font-weight:400;
  font-style:italic;
}

@font-face {
  font-family:ppNeueMontreal;
  src:url(../fonts/pp-neue-montreal-600-italic.otf) format("opentype");
  font-display:swap;
  font-weight:600;
  font-style:italic;
}

@font-face {
  font-family:ppNeueMontreal Fallback;
  src:local("Arial");
  ascent-override:101.42%;
  descent-override:25.62%;
  line-gap-override:0.00%;
  size-adjust:94.46%;
}

:root {
  --font-pp-neue-montreal:"ppNeueMontreal","ppNeueMontreal Fallback";
}

@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(../fonts/inter-subset-1.woff2) format("woff2");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}

@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(../fonts/inter-subset-2.woff2) format("woff2");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}

@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(../fonts/inter-subset-3.woff2) format("woff2");
  unicode-range:u+1f??;
}

@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(../fonts/inter-subset-4.woff2) format("woff2");
  unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff;
}

@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(../fonts/inter-subset-5.woff2) format("woff2");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}

@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(../fonts/inter-subset-6.woff2) format("woff2");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff;
}

@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(../fonts/inter-latin.woff2) format("woff2");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd;
}

@font-face {
  font-family:Inter Fallback;
  src:local("Arial");
  ascent-override:90.44%;
  descent-override:22.52%;
  line-gap-override:0.00%;
  size-adjust:107.12%;
}

:root {
  --font-sans:"Inter","Inter Fallback";
}

/* ======================================================================
   Home layout background
   ====================================================================== */

.layout__home-layout {
  background:linear-gradient(to bottom,var(--bps-beige) 0,var(--bps-beige) 40%,var(--bps-beige) 40%,var(--bps-beige) 40%,var(--bps-beige) 40%,var(--bps-new-sienna) 70%,var(--bps-new-sienna) 90%,var(--bps-beige) 100%,var(--bps-beige) 100%);
  min-height:100vh;
  width:100%;
  padding-bottom:10rem;
}

/* ======================================================================
   Home page
   ====================================================================== */

.home__image-wrapper {
  position:relative;
  padding-bottom:3rem;
}

.home__home-photo {
  width:inherit;
  height:100vh;
  max-width:100vw;
  object-fit:cover;
  object-position:center;
  display:block;
  z-index:1;
  position:relative;
}

.home__overlay-text {
  display:flex;
  flex-direction:column;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  color:rgb(66,65,65);
  padding:.5em 12.5em;
  border-radius:.5rem;
  pointer-events:none;
  z-index:2;
  justify-content:center;
  align-items:center;
  gap:clamp(1rem,2vw,2.5rem);
  width:100%;
  align-items:flex-start;
  word-break:break-word;
  overflow:auto;
}

.home__section-title {
  font-size:clamp(1.5rem,4vw,2.5rem);
}

.home__section-image {
  width:34rem;
  height:46rem;
  object-fit:cover;
  object-position:center;
  display:block;
}

.home__block {
  display:block;
}

.home__home-section-container {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  grid-gap:3rem;
  gap:3rem;
  width:100%;
  min-height:420px;
  padding:5rem 2rem 10rem;
  p {
    text-align:justify;
  }
}

.home__left-col {
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.home__about-btn {
  padding-top:auto;
  align-self:flex-start;
  width:15rem;
  background-color:var(--bps-beige);
  border:.083rem solid var(--bps-coffee);
  color:var(--bps-coffee);
  text-decoration:none;
  a {
    color:var(--bps-coffee);
    text-decoration:none;
  }
}

.home__about-btn:hover {
  padding-top:auto;
  align-self:flex-start;
  width:15rem;
  background:var(--bps-coffee);
  border:.125rem var(--bps-coffee);
  color:var(--bps-beige);
  box-shadow:.238rem .238rem .5rem 0 black;
  a {
    text-decoration:none;
    color:var(--bps-beige);
  }
}

.home__right-col {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
  grid-gap:1.5rem;
  gap:1.5rem;
}

.home__tile {
  border:1px solid #d0d0d0;
  border-radius:4px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  aspect-ratio:1/1;
}

.home__image-tile {
  padding:0;
}

.home__tile img {
  width:100%;
  height:100%;
}

.home__tile-arch {
  border-radius:999px 999px 0 0;
}

.home__tile-semi-circle {
  border-radius:0 0 999px 999px;
}

.home__backed-by-research-container {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  gap:1rem;
  align-items:center;
}

.home__backed-by-research-sub-text {
  padding-bottom:2rem;
}

.home__card-wall {
  display:flex;
  flex-direction:row;
  width:100%;
  height:100%;
  justify-content:center;
  gap:2rem;
  p {
    color:white;
    text-align:center;
  }
}

.home__card-wall-footer {
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:3rem;
  p {
    max-width:45rem;
    text-align:center;
    color:var(--bps-beige);
  }
}

.home__quality-safe-and-compliance-container {
  width:100%;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-gap:1rem;
  gap:1rem;
  align-items:stretch;
  background-color:var(--bps-new-sienna);
  p {
    text-align:center;
  }
}

.home__quality-safe-and-compliance-container .home__tile {
  height:100%;
  max-height:100%;
  aspect-ratio:auto;
  max-width:34rem;
}

.home__quality-safe-and-compliance-container .home__section-image {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.home__tile-side-right {
  border-radius:0 999px 999px 0;
  border-color:var(--bps-new-sienna);
  justify-self:start;
}

.home__tile-side-left {
  border-radius:999px 0 0 999px;
  border-color:var(--bps-new-sienna);
  justify-self:end;
}

.home__quality-safe-and-compliance-content-wrapper {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  gap:1rem;
  justify-content:center;
  h2 {
    font-size:clamp(1.5rem,4vw,2.2rem);
  }
  h2,h4 {
    color:var(--bps-beige);
    text-align:center;
  }
  h4 {
    font-size:clamp(1rem,3vw,1.5rem);
  }
  p {
    color:var(--bps-beige);
    font-size:clamp(.875rem,2.5vw,1rem);
    line-height:1.5;
  }
}

.home__our-team-section-container {
  padding-top:6rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%;
  height:100%;
}

.home__they-talk-about-us-container {
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  height:100%;
  padding-top:10rem;
  gap:1rem;
  h2 {
    color:var(--bps-beige);
  }
}

.home__partner-logos-wrapper {
  padding-top:2rem;
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr;
  grid-gap:1rem;
  gap:1rem;
  justify-items:center;
}

.home__logo-wrapper {
  width:-moz-fit-content;
  width:fit-content;
  border-radius:.5rem;
}

.home__mobile-home-section-container {
  display:flex;
  flex-direction:column;
  gap:3rem;
  width:100%;
  min-height:420px;
  padding:3rem 2rem;
}

.home__discover-team-and-service-wrapper {
  padding-top:10rem;
  padding-bottom:10rem;
}

@media (max-width:48rem) {
  .home__home-section-container {
    grid-template-columns:1fr;
  }
  .home__right-col {
    order:-1;
  }
  .home__card-wall {
    align-items:center;
    flex-direction:column;
  }
  .home__quality-safe-and-compliance-container {
    grid-template-columns:none;
    gap:0;
  }
  .home__tile {
    width:100%;
  }
  .home__partner-logos-wrapper {
    padding-top:2rem;
    height:-moz-fit-content;
    height:fit-content;
    gap:1.5rem;
    justify-items:center;
  }
  .home__overlay-text,.home__partner-logos-wrapper {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .home__overlay-text {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:rgb(66,65,65);
    padding:0;
    border-radius:.5rem;
    pointer-events:none;
    z-index:2;
    justify-content:center;
    gap:clamp(1rem,2vw,2.5rem);
    word-break:break-word;
    overflow:auto;
  }
  .home__section-title {
    font-size:clamp(2.5rem,4vw,2.5rem);
  }
}

@media (max-width:64rem) {
  .home__section-image {
    width:25rem;
    height:25rem;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  .home__card-wall {
    align-items:center;
    flex-direction:column;
  }
  .home__quality-safe-and-compliance-container {
    grid-template-columns:none;
    gap:0;
  }
  .home__quality-safe-and-compliance-content-wrapper {
    padding:1rem;
  }
  .home__tile {
    width:100%;
  }
  .home__partner-logos-wrapper {
    padding-top:2rem;
    height:-moz-fit-content;
    height:fit-content;
    gap:1.5rem;
    justify-items:center;
  }
  .home__overlay-text,.home__partner-logos-wrapper {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .home__overlay-text {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:rgb(66,65,65);
    padding:0;
    border-radius:.5rem;
    pointer-events:none;
    z-index:2;
    justify-content:center;
    gap:clamp(1rem,2vw,2.5rem);
    word-break:break-word;
    overflow:auto;
  }
  .home__section-title {
    font-size:clamp(2.5rem,4vw,2.5rem);
  }
}

@media (max-width:86rem) {
  .home__quality-safe-and-compliance-container .home__tile {
    max-width:30rem;
  }
}

@media (max-width:26.5rem) {
  .home__quality-safe-and-compliance-content-wrapper {
    padding-top:2rem;
  }
}

/* ======================================================================
   Team member page
   ====================================================================== */

.member__contact-container {
  width:100%;
  height:100%;
  padding:2rem 10rem;
}

.member__left-col-wrapper {
  align-items:flex-start;
  padding:0 2rem;
  justify-content:space-around;
}

.member__left-col-wrapper,.member__right-col-wrapper {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
}

.member__right-col-wrapper {
  border:none;
  border-radius:.5rem;
  padding:2rem;
}

.member__left-col-section-wrapper {
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.member__left-col-section {
  display:flex;
  flex-direction:row;
  gap:.5rem;
}

.member__left-col-section-text {
  display:flex;
  flex-direction:column;
}

.member__padding-bottom {
  padding-bottom:2rem;
}

.member__section-image {
  width:2rem;
  height:auto;
}

.member__biography-button-padding {
  padding-top:2rem;
  padding-bottom:4rem;
}

.member__member-services-list-wrapper {
  display:flex;
  width:100%;
  height:100%;
  flex-direction:column;
}

.member__job-title,.member__role {
  padding-block:0;
}

@media (max-width:64rem) {
  .member__contact-container {
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    padding:2rem 0;
  }
}

/* ======================================================================
   Single service / listing pages
   ====================================================================== */

.single__contact-container {
  width:100%;
  height:100%;
  padding:2rem 10rem;
}

.single__left-col-wrapper {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  align-items:flex-start;
  padding:0 2rem;
  justify-content:space-around;
  h3 {
    color:white;
  }
}

.single__right-col-wrapper {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  border:none;
  border-radius:.5rem;
  padding:2rem;
}

.single__left-col-section-wrapper {
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.single__left-col-section {
  display:flex;
  flex-direction:row;
  gap:.5rem;
  p {
    color:var(--bps-beige);
  }
}

.single__left-col-section-text {
  display:flex;
  flex-direction:column;
}

.single__section-image {
  width:2rem;
  height:auto;
}

.single__biography-button-padding {
  padding-top:2rem;
  padding-bottom:4rem;
}

.single__featured-media-container {
  margin:2rem 0;
  width:100%;
  height:15rem;
  overflow:hidden;
  border-radius:.5rem;
}

.single__featured-image {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width:64rem) {
  .single__contact-container {
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    padding:2rem 0;
  }
  .single__left-col-wrapper {
    gap:.5rem;
  }
}

.error-component__container {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  height:80vh;
  text-align:center;
  padding:2rem;
  h1 {
    font-weight:400;
  }
}

.error-component__title {
  font-size:2.5rem;
  font-weight:700;
  margin-bottom:1rem;
}

.error-component__message {
  font-size:1.25rem;
  margin-bottom:2rem;
  max-width:600px;
}

.error-component__button {
  background-color:var(--primary-color);
  color:var(--background-color);
  padding:1rem 2rem;
  border-radius:.5rem;
  text-decoration:none;
  font-weight:700;
  transition:background-color .3s ease;
}

.error-component__button:hover {
  background-color:var(--secondary-color);
}

/* ======================================================================
   News search & filter
   ====================================================================== */

.input__input-style {
  height:2.25rem;
  width:100%;
  padding:0 .75rem;
  font-size:1rem;
}

.news-search-filter-client__search-filter {
  display:flex;
  width:100%;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  background-color:#7c6755;
  border-radius:10rem;
  padding:.5rem 4rem;
}

@media (max-width:64rem) {
  .news-search-filter-client__search-filter {
    padding:.5rem 2rem;
  }
}

@media (max-width:48rem) {
  .news-search-filter-client__search-filter {
    justify-content:center;
  }
}

/* ======================================================================
   Loading skeleton
   ====================================================================== */

.loading__section {
  padding:2rem 0;
  background:#fff;
}

.loading__container {
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}

.loading__header {
  margin-bottom:2rem;
}

.loading__bar {
  background-color:#e0e0e0;
  border-radius:4px;
  animation:loading__shimmer 1.5s linear infinite;
}

.loading__header-title-bar {
  height:2rem;
  width:20%;
  margin-bottom:.5rem;
}

.loading__header-desc-bar {
  height:1rem;
  width:15%;
}

.loading__search-filter {
  display:flex;
  justify-content:space-between;
  margin-bottom:2rem;
  gap:1rem;
}

.loading__search-bar {
  height:2.5rem;
  width:30%;
}

.loading__filter-bar {
  height:2.5rem;
  width:68%;
}

.loading__posts-grid {
  display:grid;
  grid-template-columns:repeat(1,1fr);
  grid-gap:1.5rem;
  gap:1.5rem;
}

@media (min-width:48rem) {
  .loading__posts-grid {
    grid-template-columns:repeat(3,1fr);
  }
}

.loading__card {
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:8px;
  padding:1.5rem;
  display:flex;
  flex-direction:column;
}

.loading__image-placeholder {
  height:12.5rem;
  margin-bottom:1rem;
}

.loading__category-placeholder,.loading__image-placeholder {
  background-color:#e0e0e0;
  border-radius:4px;
  animation:loading__shimmer 1.5s linear infinite;
}

.loading__category-placeholder {
  height:1rem;
  width:40%;
  margin-bottom:.75rem;
}

.loading__title-placeholder {
  height:1.5rem;
  width:80%;
  margin-bottom:.5rem;
}

.loading__excerpt-placeholder,.loading__title-placeholder {
  background-color:#e0e0e0;
  border-radius:4px;
  animation:loading__shimmer 1.5s linear infinite;
}

.loading__excerpt-placeholder {
  height:3rem;
  width:100%;
  margin-bottom:1rem;
}

.loading__button-placeholder {
  height:2.5rem;
  width:6rem;
  background-color:#e0e0e0;
  border-radius:4px;
  animation:loading__shimmer 1.5s linear infinite;
}

@keyframes loading__shimmer {
  0% {
    background-color:#e0e0e0;
  }
  50% {
    background-color:#f0f0f0;
  }
  to {
    background-color:#e0e0e0;
  }
}

/* ======================================================================
   Contact page
   ====================================================================== */

.contact__container {
  width:100%;
  height:-moz-fit-content;
  height:fit-content;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.contact__contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-gap:2rem;
  gap:2rem;
  width:100%;
  max-width:var(--max-width);
  padding:2rem;
}

@media (max-width:64rem) {
  .contact__contact-grid {
    display:flex;
    flex-direction:column-reverse;
  }
}

@media (max-width:48rem) {
  .contact__contact-grid {
    display:flex;
    flex-direction:column-reverse;
  }
  .contact__cta-section {
    justify-content:center;
  }
}

.contact__contacts-column {
  gap:1rem;
  align-items:center;
}

.contact__contact-item,.contact__contacts-column {
  display:flex;
  flex-direction:column;
}

.contact__contact-label {
  font-weight:700;
  color:var(--color-text-secondary);
  margin-bottom:.25rem;
}

.contact__contact-value {
  color:var(--color-text-primary);
}

.contact__full-row-info {
  display:grid;
  grid-template-columns:33% 33% 33%;
  width:100%;
  height:100%;
  justify-items:center;
  justify-content:center;
  padding:0 20rem;
  h1,h2,h3,h4,h5,h6,p {
    color:white;
  }
}

.contact__icon {
  fill:white;
  width:5rem;
  height:5rem;
}

.contact__text-block {
  width:100%;
  height:-moz-fit-content;
  height:fit-content;
  align-items:center;
  display:flex;
  flex-direction:column;
  p {
    text-align:justify;
  }
}

.contact__cta-section {
  display:flex;
  align-items:center;
  width:100%;
  gap:.5rem;
}

.contact__direct-contact-info {
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
  padding-bottom:3rem;
  width:100%;
  height:100%;
  justify-content:flex-end;
}

.contact__talk-about-you-form {
  padding-top:3rem;
  padding-bottom:10rem;
}

.contact-page-cards-list__full-row-info {
  display:grid;
  grid-template-columns:25% 25% 25% 25%;
  width:100%;
  height:100%;
  justify-items:center;
  justify-content:center;
  padding:0 20rem;
  grid-gap:1rem;
  gap:1rem;
  h1,h2,h3,h4,h5,h6,p {
    color:white;
  }
}

@media (max-width:64rem) {
  .contact-page-cards-list__full-row-info {
    display:flex;
    flex-direction:column;
    padding:0 5rem;
    gap:1rem;
  }
}

@media (max-width:48rem) {
  .contact-page-cards-list__full-row-info {
    display:flex;
    flex-direction:column;
    padding:0 5rem;
    gap:1rem;
  }
}

.cta-card__container {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:2rem;
  background-color:var(--bps-coffee);
  border-radius:.938rem;
  cursor:pointer;
}

.cta-card__icon {
  fill:white;
  width:5rem;
  height:5rem;
}

.cta-card__title {
  padding:2rem 0 1rem;
}

.cta-card__text {
  text-align:center;
}

.cta-card__width {
  width:20.313rem;
}

.cta-card__no-pointer {
  cursor:default;
}

.map-switcher__container {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  padding-top:8rem;
  width:100%;
  max-width:360px;
  margin:0 auto;
}

.map-switcher__label {
  font-family:var(--font-lemon-milk),sans-serif;
  font-size:1.5rem;
  color:#000;
  transition:opacity .3s ease;
  cursor:pointer;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
  letter-spacing:.05em;
}

.map-switcher__label-active {
  opacity:1;
}

.map-switcher__label-inactive {
  opacity:.3;
}

.map-switcher__label-clinic.map-switcher__label-active {
  color:var(--bps-coffee);
}

.map-switcher__label-parking.map-switcher__label-active {
  color:var(--bps-gold);
}

.map-switcher__switch {
  position:relative;
  width:80px;
  height:40px;
  background-color:transparent;
  border:2px solid #000;
  border-radius:20px;
  cursor:pointer;
  padding:4px;
  transition:all .3s ease;
  flex-shrink:0;
}

.map-switcher__switch-clinic {
  background-color:var(--bps-coffee);
  border-color:var(--bps-coffee);
}

.map-switcher__switch-parking {
  background-color:var(--bps-gold);
  border-color:var(--bps-gold);
}

.map-switcher__knob {
  position:absolute;
  top:4px;
  left:4px;
  width:28px;
  height:28px;
  background-color:#fff;
  border:1px solid #fff;
  border-radius:50%;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}

.map-switcher__switch-active .map-switcher__knob {
  transform:translateX(40px);
}

.contact-form__container {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  gap:.5rem;
  background-color:white;
  border-radius:1.5rem;
  padding:3rem;
  ::placeholder,label,p {
    color:var(--bps-new-sienna);
  }
}

.contact-form__container .contact-form__row:last-child {
  margin-top:1rem;
}

.contact-form__row {
  display:flex;
  flex-direction:row;
  width:100%;
  height:100%;
  gap:.5rem;
}

.contact-form__row-elem {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  gap:.5rem;
}

.contact-form__honeypot {
  position:absolute;
  left:-5000px;
  width:0;
  height:0;
  overflow:hidden;
}

@media (max-width:48rem) {
  .contact-form__row {
    flex-direction:column;
    gap:.5rem;
  }
  .contact-form__container {
    padding:1.5rem;
  }
}

.contact-form__success-message {
  color:green;
  margin-top:1rem;
  text-align:center;
}

.contact-form__error-message {
  color:red;
  margin-top:1rem;
  text-align:center;
}

/* ======================================================================
   Theme additions
   The original site swapped desktop and mobile navigation with JavaScript;
   here both are in the markup and CSS picks one.
   ====================================================================== */

.burger-icon__burger-button img {
  width: 100%;
  height: 100%;
}

.mobile-nav__nav-menu[hidden] {
  display: none !important;
}

@media (min-width:48.0625rem) {
  .mobile-nav__nav-menu {
    display: none !important;
  }
}

@media (max-width:48rem) {
  .desktop-nav__nav-menu,
  .desktop-nav__cta-button-wrapper {
    display: none;
  }
}

.filter-menu__filter-value[data-href] {
  cursor: pointer;
}
