.elementor-807 .elementor-element.elementor-element-e392455{margin-top:0px;margin-bottom:0px;}.elementor-807 .elementor-element.elementor-element-700950a{width:100%;max-width:100%;}/* Start custom CSS *//* Full-width hero that breaks out of theme wrapper */
.bf-hero-clarity {
  position: relative;
  height: 520px;

  /* Replace with your image URL */
  background-image: url("http://blairfarley.com/wp-content/uploads/2025/11/WorkshopHero-scaled.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* Force full-width edge-to-edge */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Dark overlay */
.bf-hero-clarity::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
}

.bf-hero-overlay {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bf-hero-content {
  text-align: center;
  color: #fff;
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}

.bf-hero-content h1 {
  font-size: 50px;
  font-weight: 900;
  margin-bottom: 20px;
  color: white;
}

.bf-hero-content p {
  font-size: 20px;
  margin-bottom: 30px;
  color: white;
}

.bf-btn-primary {
  background: #2D7AE0;
  color: #fff;
  padding: 16px 32px;
  border-radius: 40px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
}



/* ========================================= */
/* FULL-WIDTH SECTION BANDS (BELOW HERO)     */
/* ========================================= */

.bf-section-band {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 80px 0;
}

/* Inner content matches homepage width */
.bf-section-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Background colors – pulled from your palette */
.bf-bg-light    { background: #F4F4F4; }
.bf-bg-white    { background: #FFFFFF; }
.bf-bg-blue     { background: #A0C3D9; }
.bf-bg-bluegrey { background: #6D8BA6; }

/* ========================================= */
/* TYPOGRAPHY – tuned to match home page     */
/* ========================================= */

.bf-section-title {
  font-family: "Open Sans", sans-serif;
  font-size: 34px;          /* Accent style */
  font-weight: 300;         /* Light */
  line-height: 1.2;
  text-align: center;
  margin: 0 0 20px;
}

.bf-section-title--light {
  color: #FFFFFF;
}

.bf-subheading {
  font-family: "Open Sans", sans-serif;
  font-size: 30px;          /* Subheading style */
  font-weight: 700;         /* Bold */
  line-height: 1.2;
  margin: 24px 0 12px;
}

.bf-subheading--light {
  color: #FFFFFF;
}

/* Body / lead text */
.bf-section-inner p,
.bf-section-inner li {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;          /* Body style */
  font-weight: 500;         /* Medium */
  line-height: 1.6;
}

.bf-lead {
  font-size: 16px;
  font-weight: 500;
  margin-top: 18px;
  text-align: center;
}

.bf-lead--light {
  color: #FFFFFF;
}

/* Center first-level paragraphs by default, lists stay left */
.bf-section-inner > p {
  text-align: center;
}

/* Two-column layout (who this is for, package details) */
.bf-two-col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
}

/* In explicit two-column layouts we want left alignment */
.bf-two-col h2,
.bf-two-col h3,
.bf-two-col p,
.bf-two-col li {
  text-align: left;
}

/* ========================================= */
/* LIST STYLES                               */
/* ========================================= */

.bf-checklist,
.bf-crosslist,
.bf-light-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bf-checklist li,
.bf-crosslist li,
.bf-light-list li {
  margin-bottom: 8px;
}

.bf-light-list li {
  color: #FFFFFF;
}

/* ========================================= */
/* BUTTONS / CTAs                            */
/* (reuses .bf-btn-primary from hero)       */
/* ========================================= */

.bf-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
  justify-content: center;
}

.bf-btn-secondary {
  border-radius: 40px;
  padding: 14px 26px;
  background: transparent;
  color: #2D7AE0;
  border: 2px solid #2D7AE0;
  font-weight: 600;
  text-decoration: none;
}

.bf-btn-secondary:hover {
  background: #2D7AE0;
  color: #FFFFFF;
}

.bf-btn-link {
  color: #FFFFFF;
  text-decoration: underline;
  font-weight: 500;
}

/* ========================================= */
/* DELIVERABLES GRID                         */
/* ========================================= */

.bf-deliverables-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.bf-deliverable {
  background: #F7F7F7;
  border-radius: 16px;
  padding: 18px;
}

/* ========================================= */
/* ACCORDIONS (Day 1/2 + FAQ)                */
/* ========================================= */

.bf-accordion details {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 10px;
}

.bf-accordion summary {
  cursor: pointer;
  font-weight: 700;          /* Subheading weight */
}

.bf-accordion summary::-webkit-details-marker {
  display: none;
}

/* FAQ uses simpler underline style like home page */
.bf-faq details {
  border-bottom: 1px solid #E0E0E0;
  padding: 12px 0;
}

.bf-faq summary {
  cursor: pointer;
  font-weight: 700;
}

.bf-faq summary::-webkit-details-marker {
  display: none;
}

.bf-faq details[open] summary {
  color: #2D7AE0;
}

/* ========================================= */
/* NEXT STEPS DARK BAND                      */
/* ========================================= */

#next-steps {
  color: #FFFFFF;
}

#next-steps .bf-section-inner p,
#next-steps .bf-section-inner li {
  color: #FFFFFF;
}

/* ========================================= */
/* RESPONSIVE TWEAKS                         */
/* ========================================= */

@media (max-width: 767px) {
  .bf-section-band {
    padding: 56px 0;
  }

  .bf-section-title {
    font-size: 28px;
  }

  .bf-subheading {
    font-size: 24px;
  }

  .bf-section-inner > p,
  .bf-lead {
    text-align: left; /* feels more natural on small screens */
  }

  .bf-btn-row {
    justify-content: flex-start;
  }
}

/* ========================================= */
/* CHALLENGE CARDS                           */
/* ========================================= */

.bf-problem-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-top: 28px;
}

.bf-problem-card {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.bf-problem-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #2D7AE0;
  color: #FFFFFF;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin-top: 2px;
}

/* Keep text left inside the cards, even though section is centered */
.bf-problem-card p {
  margin: 0;
  text-align: left;
}

/* ========================================= */
/* DAY 1 / DAY 2 CARDS                       */
/* ========================================= */

.bf-day-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 28px;
}

.bf-day-card {
  background: #FFFFFF;
  border-radius: 18px;
  padding: 20px 20px 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.bf-day-card h3 {
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 6px;
  color: #6D8BA6;
}

.bf-day-card h4 {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px;
}

.bf-day-card p {
  margin: 0 0 8px;
  text-align: left;
}

.bf-day-card ul {
  margin: 0 0 6px 20px;
  padding: 0;
}

.bf-day-card li {
  text-align: left;
}

/* Slight blue tint behind the cards on that band */
#what-happens {
  background: #A0C3D9;
}



/* 2 cards per row on desktop, 1 per row on mobile */
.bf-day-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 20px;
}

@media (max-width: 767px) {
  .bf-day-grid {
    grid-template-columns: 1fr; /* stack on mobile */
  }
}

/* Center the "Day 1" / "Day 2" headings */
.bf-subheading--center {
  text-align: center;
}


/* Challenge tagline: make it feel like a secondary heading */
#challenge .bf-lead {
  font-size: 34px;      /* same as .bf-section-title */
  font-weight: 300;
  margin-top: 32px;
  text-align: center;
}

@media (max-width: 767px) {
  #challenge .bf-lead {
    font-size: 24px;    /* a bit smaller on phones */
  }
}


/* Two-column layout under centered heading */
.bf-who-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
  margin-top: 24px;
}

/* Column titles */
.bf-who-col h3 {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 10px;
}

/* Reset list style so we can draw our own bullets */
.bf-who-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bf-who-col li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 8px;
}

/* Check / cross bullets using pseudo-elements */
.bf-who-yes li::before,
.bf-who-no  li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Yes column = green checks */
.bf-who-yes li::before {
  background: #87A644;
}

/* No column = muted orange / warning */
.bf-who-no li::before {
  background: #D96725;
}

@media (max-width: 767px) {
  .bf-who-grid {
    gap: 24px;
  }
}


/* ======================================= */
/* NEXT STEPS SECTION                      */
/* ======================================= */

.bf-next-steps {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 60px;
}

.bf-next-lead {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.4;
  margin: 0 auto 32px;
  max-width: 700px;
  color: #ffffff;
}

.bf-next-subtitle {
  font-size: 26px;
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 16px;
  color: #ffffff;
}

.bf-next-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 40px;
  max-width: 600px;
  text-align: left;
}

.bf-next-list li {
  margin-bottom: 10px;
  padding-left: 22px;
  position: relative;
  font-size: 18px;
  color: #ffffff;
}

.bf-next-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 10px;
  height: 10px;
  background: #87A644; /* green bullet */
  border-radius: 50%;
}

/* CTA row */
.bf-next-cta-row {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 24px;
}

/* Primary CTA button */
.bf-btn-primary {
  background: #2D7AE0;
  color: white !important;
  padding: 14px 28px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 18px;
  text-decoration: none;
  display: inline-block;
  transition: 0.2s ease;
}

.bf-btn-primary:hover {
  background: #2467bd;
}

/* Secondary CTA button */
.bf-btn-secondary {
  background: white;
  color: #2D7AE0 !important;
  padding: 14px 28px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 18px;
  text-decoration: none;
  display: inline-block;
  border: 2px solid #ffffff;
  transition: 0.2s ease;
}

.bf-btn-secondary:hover {
  background: rgba(255,255,255,0.15);
  color: white !important;
}

/* Stack buttons on mobile */
@media (max-width: 767px) {
  .bf-next-cta-row {
    flex-direction: column;
    gap: 14px;
  }
}


/* Remove the little white band between the blue section and next section */
#next-steps {
  margin-bottom: 0;
}

/* Remove gap between last section and footer */
.site-footer,
.nv-footer-main-area,
footer {
  margin-top: 0;
  padding-top: 0;
}

/* Also remove top margin on the first child inside footer */
.site-footer > *:first-child,
.nv-footer-main-area > *:first-child,
footer > *:first-child {
  margin-top: 0;
}


/* Remove top margin from the first heading inside the footer */
.site-footer h2:first-child,
.nv-footer-main-area h2:first-child,
footer h2:first-child {
  margin-top: 0;
}


/* Pull the blue next-steps band down to cover the white gap */
#next-steps {
  margin-bottom: -24px;   /* adjust -16 / -24 / -32px until the line disappears */
}/* End custom CSS */