.elementor-kit-22{--e-global-color-primary:#3F5846;--e-global-color-secondary:#2A2A28;--e-global-color-text:#F4F1EA;--e-global-color-accent:#D7C9B8;--e-global-color-9b69677:#C99245;--e-global-color-1004d26:#2F5D50;--e-global-color-480dd6f:#2F5D50;--e-global-color-0c5a146:#2B2B2B;--e-global-color-aa3981d:#DADAD5;--e-global-color-dad520f:#FFFFFF;--e-global-color-fd34631:#FFFFFF;--e-global-color-ftmchar:#0F0F0E;--e-global-typography-primary-font-family:"Oswald";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Oswald";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:none;background-color:#0F0F0E;color:#F4F1EA;font-family:"Inter", Sans-serif;font-weight:400;}.elementor-kit-22 button,.elementor-kit-22 input[type="button"],.elementor-kit-22 input[type="submit"],.elementor-kit-22 .elementor-button{background-color:#3F5846;font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;line-height:10px;word-spacing:0px;color:#F4F1EA;box-shadow:5px 5px 5px 0px rgba(0,0,0,0.5);border-radius:10px 10px 10px 10px;}.elementor-kit-22 button:hover,.elementor-kit-22 button:focus,.elementor-kit-22 input[type="button"]:hover,.elementor-kit-22 input[type="button"]:focus,.elementor-kit-22 input[type="submit"]:hover,.elementor-kit-22 input[type="submit"]:focus,.elementor-kit-22 .elementor-button:hover,.elementor-kit-22 .elementor-button:focus{background-color:#4C6A55;color:#F4F1EA;}.elementor-kit-22 e-page-transition{background-color:#FFBC7D;}.elementor-kit-22 a{color:#D7C9B8;}.elementor-kit-22 a:hover{color:#F4F1EA;}.elementor-kit-22 h1{color:#F4F1EA;font-family:"Oswald", Sans-serif;font-weight:600;text-transform:uppercase;}.elementor-kit-22 h2{color:#F4F1EA;font-family:"Oswald", Sans-serif;font-weight:600;text-transform:uppercase;}.elementor-kit-22 h3{color:#F4F1EA;font-family:"Oswald", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;}.elementor-kit-22 h4{color:#F4F1EA;font-family:"Oswald", Sans-serif;font-weight:500;text-transform:uppercase;}.elementor-kit-22 h5{color:#F4F1EA;font-family:"Oswald", Sans-serif;font-weight:500;text-transform:uppercase;}.elementor-kit-22 h6{color:#F4F1EA;font-family:"Oswald", Sans-serif;font-weight:500;text-transform:uppercase;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Container */
.bio-wrap { position: relative; }

/* Collapsed state */
.bio-clip {
  position: relative;
  max-height: 380px;                 /* show a bit more text by default */
  overflow: hidden;
  transition: max-height 1.5s ease-in-out;

  /* Text-only fade using a mask (keeps the card background untouched) */
  --fade-size: 110px;                /* height of the fade */
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0,
    #000 calc(100% - var(--fade-size)),
    rgba(0,0,0,0) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0,
    #000 calc(100% - var(--fade-size)),
    rgba(0,0,0,0) 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* Expanded state */
.bio-toggle:checked + .bio-clip {
  max-height: 2000px;
  -webkit-mask-image: none;
  mask-image: none;
}

/* Hide any previous overlay if it was left in */
.bio-clip::after { content: none !important; }

/* Toggle control */
.bio-toggle { display: none; }

/* Link styling to match body text */
.read-more {
  display: inline-block;
  margin-top: 35px;                  /* a touch more breathing room */
  text-decoration: none;
  color: #6b6b6b;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;                /* remove if you prefer normal */
  font-size: 1.2rem;
  cursor: pointer;
  transition: color 0.25s ease;
}
.read-more:hover { color: #000; }

/* Dynamic label text */
.read-more::after { content: attr(data-more); }
.bio-toggle:checked ~ .read-more::after { content: attr(data-less); }

/* Make media-text blocks full width on desktop */
.wp-block-media-text {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Reduce side padding on mobile for blog text sections */
@media (max-width: 782px) {
  .ftm-wrap {
    padding-left: var(--wp--preset--spacing--30) !important;
    padding-right: var(--wp--preset--spacing--30) !important;
  }

  /* Also reduce padding in white sections inside media-text blocks */
  .wp-block-media-text.is-stacked-on-mobile .ftm-section {
    padding-left: var(--wp--preset--spacing--50) !important;
    padding-right: var(--wp--preset--spacing--50) !important;
  }
}

/* Single posts: make the content area light grey */
.single-post .site-content {
  background: var(--ast-global-color-5);
}

/* =========================================================
   Blog posts only: fix grey showing around/beneath Media/Text images on mobile
   Assumption: Media/Text block has grey background classes applied in markup
   ========================================================= */

/* Remove any Media/Text background paint on blog posts */
.single-post .wp-block-media-text.has-background,
.single-post .wp-block-media-text[class*="has-ast-global-color-"] {
  background: transparent !important;
}

/* Remove default figure spacing and the tiny baseline gap under images */
.single-post .wp-block-media-text__media {
  margin: 0 !important;
}

.single-post .wp-block-media-text__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* On mobile, avoid content-edge weirdness without using 100vw hacks */
@media (max-width: 600px) {
  .single-post .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* If you're using an inner white section, keep it within the normal flow */
  .single-post .wp-block-media-text.is-stacked-on-mobile .ftm-section.alignfull {
    width: auto !important;
    max-width: 100% !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* Blog posts only: Media/Text cards */
.single-post .ftm-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden; /* clips the image to rounded corners */
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* Optional: add a little separation from surrounding sections */
.single-post .ftm-card {
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
}

/* Make sure Media/Text inside the card doesn't add its own margins */
.single-post .ftm-card .wp-block-media-text {
  margin: 0 !important;
}
/* Single posts only: fix the "other posts" preview title + read more colours */
.single-post .ast-related-posts,
.single-post .related-posts,
.single-post .elementor-widget-posts,
.single-post .elementor-posts {
  color: #2f2f2f;
}

/* Titles */
.single-post .ast-related-posts a,
.single-post .related-posts a,
.single-post .elementor-post__title a,
.single-post .elementor-post__title,
.single-post .elementor-post__title a:visited {
  color: #2f2f2f !important;
  opacity: 1 !important;
}

/* Meta text (date, comments) */
.single-post .ast-related-posts,
.single-post .ast-related-posts *:where(.post-meta, .entry-meta, .elementor-post__meta-data),
.single-post .elementor-post__meta-data {
  color: #6b6b6b !important;
  opacity: 1 !important;
}

/* Read more */
.single-post .elementor-post__read-more,
.single-post a.read-more,
.single-post .ast-related-posts a.read-more {
  color: #2f2f2f !important;
  opacity: 1 !important;
}

/* Hover */
.single-post .ast-related-posts a:hover,
.single-post .related-posts a:hover,
.single-post .elementor-post__title a:hover,
.single-post .elementor-post__read-more:hover {
  color: #000000 !important;
}
body .elementor-widget-posts .elementor-post__excerpt p {
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #555 !important;
}
/* Featured post only: image on top on mobile */
@media (max-width: 767px) {

  /* Ensure the featured post item becomes a vertical layout */
  .ftm-featured-post article.elementor-post,
  .ftm-featured-post .elementor-post {
    display: block !important;
  }

  /* Kill any left/right layout behaviour (floats / fixed widths) */
  .ftm-featured-post .elementor-post__thumbnail,
  .ftm-featured-post .elementor-post__thumbnail__link,
  .ftm-featured-post .elementor-post__text {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Make sure the thumbnail actually sits above the text */
  .ftm-featured-post .elementor-post__thumbnail {
    margin: 0 0 16px 0 !important;
  }
}


/* Carried over from Astra Additional CSS, 7 Oct 2026 */
/* Splash screen menu: dim, then bright on hover */
.splash-menu a{color:rgba(255,255,255,.72) !important;text-decoration:none;transition:color .3s ease;}
.splash-menu a:hover,.splash-menu a:focus{color:#ffffff !important;}
/* Form checkbox option labels */
.elementor-form .elementor-field-subgroup label{font-size:14px;color:#F2F2F2;font-weight:400;line-height:1.4;}
/* Blog post spacing */
body.single-post .entry-content .ftm-wrap,body.single-post .entry-content .ftm-section{margin:0;}
body.single-post .entry-content .ftm-wrap > :first-child,body.single-post .entry-content .ftm-section > :first-child{margin-top:0;}
body.single-post .entry-content .ftm-wrap > :last-child,body.single-post .entry-content .ftm-section > :last-child{margin-bottom:0;}
body.single-post .entry-content .ftm-section{margin-top:3rem;}/* End custom CSS */