.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-d52846d:#1E191F;--e-global-color-bee4f17:#9C9065;--e-global-color-62212a8:#AFA683;--e-global-color-6137907:#F5F1E6;--e-global-color-a88684f:#615E31;--e-global-color-748909b:#3E372E;--e-global-color-bc92d5d:#7F441E;--e-global-color-9e2c9e0:#5F5C30;--e-global-color-2095c3a:#D1BDA2;--e-global-color-6a242f9:#BD740D;--e-global-color-00e55ed:#8A471C;--e-global-color-82f469f:#DEB1B0;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Montserrat", Sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-6a242f9 );font-weight:500;}.elementor-kit-6 a:hover{color:var( --e-global-color-00e55ed );}.elementor-kit-6 h1{font-family:"Black Mango Black", Sans-serif;}.elementor-kit-6 h2{font-family:"Black Mango Black", Sans-serif;}.elementor-kit-6 h3{font-family:"Black Mango Black", Sans-serif;}.elementor-kit-6 h4{font-family:"Black Mango Black", Sans-serif;}.elementor-kit-6 h5{font-family:"Black Mango Black", Sans-serif;}.elementor-kit-6 h6{font-family:"Black Mango Black", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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-kit-6{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* --- Site-wide: wrap long URLs/words --- */
body,
.entry-content,
.elementor,
.elementor .elementor-text-editor,
.elementor .elementor-heading-title,
.elementor p,
.elementor li,
.elementor td,
.elementor th,
a {
  overflow-wrap: anywhere;   /* best for URLs */
  word-wrap: break-word;     /* legacy fallback */
  word-break: break-word;    /* Safari fallback */
  white-space: normal;
}

/* Don't wrap in code blocks, buttons, or nav links */
pre, code, kbd, samp,
.elementor-button,
.elementor-nav-menu a {
  overflow-wrap: normal;
  word-wrap: normal;
  word-break: normal;
}

/* Card layout polish */
.bio-card {
    
font-family: Montserrat;
  display: grid; gap: .75rem;
  background: var(--e-global-color-background, #fff);
  border-radius: 14px; padding: 1rem;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.bio-card img { width: 100%; height: auto; border-radius: 12px; }

/* Details/summary styling */
.bio-card__details { margin-top: .25rem; }
.bio-card__summary {
  list-style: none; cursor: pointer; font-weight: 600;
  display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid rgba(0,0,0,.12); border-radius: 999px;
  padding: .4rem .8rem; transition: .2s ease;
}
.bio-card__summary::after {
  content: "▸"; transition: transform .2s ease;
}
.bio-card__details[open] .bio-card__summary::after { transform: rotate(90deg); }

/* revealed bio */
.bio-card__full { margin-top: .6rem; line-height: 1.6; font-family: Montserrat; font-style: normal; }

/* optional: clamp teaser above details */
.bio-card__teaser {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Hide the <details> when its content is empty */
.bio-card__details:has(.bio-card__full:empty){ display:none; }



/* ----------------------------------------- */
/* ----------------------------------------- */
/* Base: both headers */
#black-text-header,
#alabaster-text-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  width: 100% !important;           /* override Elementor inline width */
  z-index: 9999;
  background-color: transparent;
  transition: background-color 300ms ease, box-shadow 200ms ease;
}

/* When scrolled past threshold */
#black-text-header.is-scrolled {
  /* light wash (e.g., #D1BDA2 @ 0.8) */
  background-color: rgba(209, 189, 162, 0.8);
  box-shadow: 0 2px 14px rgba(0,0,0,.12);
}
#alabaster-text-header.is-scrolled {
  /* dark wash */
  background-color: rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 14px rgba(0,0,0,.12);
}

/* ----------------------------------------- */
/* ----------------------------------------- */
/* Section background and spacing */
.vision-mission {
  display: flex;
  flex-wrap: wrap;
  background: linear-gradient(90deg, #E9D8B6 0%, #F5F1E6 100%);
  border-top: 1px solid #D1BDA2;
  border-bottom: 1px solid #D1BDA2;
  padding: 60px 5%;
  gap: 4rem;
}
.vision, .mission {
  flex: 1 1 45%;
  min-width: 300px;
}
.vision h2, .mission h2, .what-we-do h2 {
  font-family: "Lato", sans-serif;
  font-weight: 800;
  color: #8A471C;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.vision p, .mission p, .what-we-do li {
  font-family: "Lato", sans-serif;
  color: #3E372E;
  line-height: 1.7;
}

/* Optional: Add icons to “What We Do” bullets */
.what-we-do li::marker {
  color: #8A471C;
}

/* ----------------------------------------- */
/* ----------------------------------------- */
/* Border grows clockwise on hover (slow + shadow + pointer) */
.margin-on-hover {
  position: relative;
  display: inline-block;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.6s ease;
  cursor: pointer; /* 👈 makes cursor a hand */
}

/* Create animated border */
.margin-on-hover::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  border: 2px solid transparent;
  pointer-events: none;
  background: conic-gradient(
    from 0deg,
    #8A471C 0deg,
    #8A471C 0deg,
    transparent 0deg,
    transparent 360deg
  );
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: destination-out;
  padding: 2px;
  transition: background 4s linear, opacity 0.6s ease-in;
  opacity: 0;
}

/* Hover effect: border slowly draws + soft shadow appears */
.margin-on-hover:hover::before {
  background: conic-gradient(
    from 0deg,
    #8A471C 0deg,
    #8A471C 360deg
  );
  opacity: 1;
}

.margin-on-hover:hover {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25),
              0 3px 8px rgba(138, 71, 28, 0.25);
}

/* ----------------------------------------- */
/* ----------------------------------------- */

/* ===== SpiritsLab • Standalone Containers as Premium Cards ===== */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;600;700;800&display=swap");

:root{
  --paper:#F5F1E6;
  --ink:#3E372E;
  --ink-soft:#5a5148;
  --brown:#8A471C;
  --brown-deep:#3E372E;
  --gold:#D1BDA2;
  --radius:8px;
  --shadow:0 10px 26px rgba(0,0,0,.14);
  --shadow-strong:0 20px 46px rgba(0,0,0,.22);
}

/* Each independent Elementor container you mark with class="rp-card" */
.rp-card{
  background: linear-gradient(180deg,#F5F1E6,var(--paper));
  border: 1px solid rgba(62,55,46,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px 18px;
  color: var(--ink);
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  transition: transform .18s ease, box-shadow .25s ease, border-color .2s ease;
  position: relative;
  overflow: hidden;               /* keeps rounded corners clean */
  margin-inline: auto;            /* centers if the column is narrow */
  max-width: 1150px;              /* prevents ultra-wide stretch */
}

/* Small top accent line */
.rp-card::before{
  content:"";
  position:absolute; inset:0 0 auto 0; height:3px;
  background: linear-gradient(90deg,var(--brown-deep),color-mix(in srgb,var(--brown-deep) 70%,#000));
  opacity:.75;
}

.rp-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-strong);
  border-color: rgba(62,55,46,.16);
}

/* Headings inside the card (Elementor Heading widget) */
.rp-card .elementor-widget-heading .elementor-heading-title{
  font-weight:800;
  color: var(--brown-deep);
  font-size: clamp(20px, 2.4vw, 26px);
  line-height:1.22;
  letter-spacing:.2px;
  margin: 2px 0 8px;
}

/* Text widget holds the image and copy (image first) */
.rp-card .elementor-widget-text-editor{ margin:0; }

/* Treat the FIRST image in the text as the thumbnail */
.rp-card .elementor-widget-text-editor img:first-of-type{
  float:left;                         /* image left on desktop */
  width:180px; max-width:40%;
  height:180px; object-fit:cover;
  margin:2px 16px 8px 0;
  border-radius:10px;                 /* set to 50% for circle */
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  filter:saturate(.98) contrast(1.02);
  transition: transform .35s ease, filter .3s ease, box-shadow .3s ease;
}
.rp-card:hover .elementor-widget-text-editor img:first-of-type{
  transform: scale(1.03);
  filter: saturate(1.05) contrast(1.06);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
}

/* Paragraphs */
.rp-card .elementor-widget-text-editor p{
  color: var(--ink-soft);
  line-height: 1.75;
  font-size: 1rem;
  margin: 0 0 .7rem;
}

/* Links inside the text look like buttons (AA contrast) */
.rp-card .elementor-widget-text-editor a{
  color:#fff; background:var(--brown);
  border:1px solid #5f2f12;
  padding:.46rem .68rem;
  border-radius:6px;
  font-weight:700; letter-spacing:.2px;
  text-decoration:none;
  box-shadow:0 6px 14px rgba(138,71,28,.22);
  text-shadow:0 1px 0 rgba(0,0,0,.25);
  display:inline-flex; align-items:center; gap:.4rem;
  transition: transform .15s ease, background .2s ease, box-shadow .2s ease;
}
.rp-card .elementor-widget-text-editor a:hover{
  transform: translateY(-1px);
  background:#7b3f19;
}

/* Optional: If you use a separate Button widget, add class="rp-btn" to it */
.rp-card .rp-btn .elementor-button{
  background:var(--brown); border:1px solid #5f2f12; color:#fff;
  border-radius:6px; font-weight:700; letter-spacing:.2px;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
  box-shadow:0 6px 14px rgba(138,71,28,.22);
}
.rp-card .rp-btn .elementor-button:hover{ background:#7b3f19; transform:translateY(-1px); }

/* Mobile: image stacks above text full width */
@media (max-width:767px){
  .rp-card{ padding:16px; }
  .rp-card .elementor-widget-text-editor img:first-of-type{
    float:none; display:block; width:100%; max-width:100%;
    height:auto; margin:0 0 12px 0;
  }
}

/* Utility: if a specific card has no image, add class="no-image" to its container */
.rp-card.no-image .elementor-widget-text-editor p:first-child{ margin-top:.25rem; }


.rp-card.circular-image .elementor-widget-text-editor img:first-of-type {
  border-radius: 50% !important;   /* maximum roundness */
  width: 180px;                    /* you can increase to 220px if preferred */
  height: 180px;                   /* keep square to preserve the circle */
  object-fit: cover;
  float: left;                     /* keeps layout consistent with the others */
  margin: 2px 16px 8px 0;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Black Mango Black';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://spiritslab.org/wp-content/uploads/2025/09/Black-Mango-Black.ttf') format('truetype');
}
/* End Custom Fonts CSS */