:root{
  /* Spacing scale */
  --bb-space-2:8px;
  --bb-space-3:12px;
  --bb-space-4:16px;
  --bb-space-5:20px;
  --bb-space-6:24px;
  --bb-space-7:28px;
  --bb-space-8:34px;
  --bb-space-9:42px;
  --bb-space-10:54px;

  /* Content widths */
  --bb-max:1180px;
  --bb-reading:720px;

  /* Radii */
  --bb-r-lg:18px;
  --bb-r-xl:22px;
  --bb-radius:18px;

  /* Shadows */
  --bb-shadow-soft:0 16px 44px rgba(0,0,0,.08);
  --bb-shadow-strong:0 26px 90px rgba(44,11,26,.35);
  --bb-shadow:0 18px 50px rgba(15,23,42,.08);

  /* Borders */
  --bb-border:1px solid rgba(0,0,0,.10);
  --bb-border-strong:1px solid rgba(44,11,26,.28);
  --bb-line:#E5DED3;

  /* Core palette: luxury wellness */
  --bb-accent:#7A9684;     /* primary sage */
  --bb-accent-2:#A6C1B0;   /* soft sage */
  --bb-ink:#1F2933;        /* main text */
  --bb-ink-2:#4B5563;      /* headings / strong text */
  --bb-muted:#6B7280;      /* muted text */

  --bb-bg:#FFFFFF;         /* page background */
  --bb-panel:#F8F5F1;      /* cards / soft sections */
  --bb-panel-strong:#EDE4D8;

  /* Semantic roles */
  --bb-header-bg:rgba(248,245,241,.94);  /* subtle off-white for sticky header */
  --bb-footer-bg:#F8F5F1;                /* soft panel footer */
  --bb-nav-pill-bg:rgba(122,150,132,.08);
  --bb-chip-bg:rgba(122,150,132,.08);

  /* Legacy color aliases */
  --bb-plum:#7A9684;
  --bb-sage:#C3D5BF;
}

/* =======================================================
   Design System Tokens (100k rhythm + conversion hierarchy)
======================================================= */


/* Layout helpers */
.bb-wrap{max-width: var(--bb-max); margin:0 auto; padding:0 var(--bb-space-5);}
.bb-reading{max-width: var(--bb-reading); margin:0 auto;}
.bb-stack > * + *{margin-top: var(--bb-space-5);}
.bb-stack-tight > * + *{margin-top: var(--bb-space-4);}

/* Section framework */
.bb-section{
  padding: clamp(44px, 5vw, 78px) 0;
  position: relative;
}
.bb-section--tight{padding: clamp(28px, 3.5vw, 54px) 0;}
.bb-section--panel{
  background:#ffffff;
}
.bb-section__kicker{
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(44,11,26,.70);
}
.bb-section__title{margin: 10px 0 10px;}
.bb-section__lead{
  font-size: 18px;
  line-height: 1.65;
  color: rgba(0,0,0,.78);
}

/* Conversion close */
.bb-convert{
  border: var(--bb-border-strong);
  border-radius: var(--bb-r-xl);
  background:
    radial-gradient(820px 420px at 12% 10%, rgba(166,193,176,.22), rgba(255,255,255,0)),
    #fff;
  box-shadow: var(--bb-shadow-soft);
  padding: clamp(18px, 2.4vw, 28px);
}
.bb-convert__title{
  font-size: 24px;
  font-weight: 850;
  line-height: 1.15;
}
.bb-convert__actions{
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}
@media (max-width: 520px){
  .bb-wrap{padding: 0 16px;}
  .bb-convert__actions .bb-btn{width:100%;}
}

/* Service highlight grid */
.bb-grid-2{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(18px, 2.6vw, 34px);
  align-items: start;
}
@media (max-width: 980px){
  .bb-grid-2{grid-template-columns: 1fr;}
}



*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--bb-ink);
  background:var(--bb-bg);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit}

.bb-container{
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
}

.bb-main{min-height:60vh}



/* Prevent background scroll when the mobile menu is open */
body.bb-nav-open{overflow:hidden}
.bb-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 0;
  gap:16px;
}

.bb-brand__logo{height:48px;width:auto;max-height:48px}
.bb-brand__text{
  font-family:"Playfair Display",serif;
  font-weight:700;
  letter-spacing:.2px;
  font-size:20px;
  color:var(--bb-ink-2);
}

.bb-nav{
  display:flex;
  align-items:center;
  gap:22px;
}

/* Separate desktop vs mobile nav rendering */
.bb-nav--mobile{display:none}

.bb-nav .nav{
  display:flex;
  gap:18px;
  align-items:center;
  list-style:none;
  margin:0;
  padding:0;
}

.bb-nav .nav a{
  text-decoration:none;
  font-weight:500;
  color:var(--bb-ink);
  opacity:.9;
}

.bb-nav .nav a:hover{opacity:1}

.bb-nav__cta{display:flex;gap:10px;align-items:center}

/* Bloom & Balance: navigation pill + services dropdown */
.bb-nav .nav a.bb-nav-pill{
  background:var(--bb-accent);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  opacity:1;
}
.bb-nav .nav a.bb-nav-pill:hover{opacity:.92}

.bb-nav-dropdown{position:relative}
.bb-dropdown{position:relative}
.bb-dropdown > summary{
  list-style:none;
  cursor:pointer;
}
.bb-dropdown > summary::-webkit-details-marker{display:none}
.bb-dropdown-trigger{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.bb-caret{font-size:12px;opacity:.8}

.bb-dropdown-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:280px;
  background:rgba(248,245,241,.98);
  border:1px solid var(--bb-line);
  border-radius:14px;
  padding:10px;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  z-index:999;
}
.bb-dropdown-menu a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  text-decoration:none;
  color:var(--bb-ink-2);
  font-weight:600;
  font-size:14px;
  line-height:1.2;
  opacity:1;
}
.bb-dropdown-menu a:hover{
  background:rgba(122,150,132,.10);
}

.bb-dropdown:not([open]) .bb-dropdown-menu{display:none}

.bb-nav-toggle{
  display:none;
  background:transparent;
  border:0;
  padding:10px;
  border-radius:999px;
}
.bb-nav-toggle__bar{display:block;width:22px;height:2px;background:var(--bb-ink-2);margin:4px 0;border-radius:2px}

.bb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:var(--bb-accent);
  color:#fff;
  padding:10px 16px;
  border-radius:999px;
  font-weight:600;
  border:1px solid transparent;
  box-shadow:0 10px 24px rgba(122,150,132,.25);
  transition:transform .15s ease,opacity .15s ease,background .15s ease;
}
.bb-btn:hover{transform:translateY(-1px);background:var(--bb-accent-2)}
.bb-btn--ghost{
  background:transparent;
  color:var(--bb-ink);
  border-color:rgba(122,150,132,.28);
  box-shadow:none;
}
.bb-btn--ghost:hover{background:rgba(122,150,132,.10)}

.bb-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--bb-line);
}
.bb-hero__bg{
  position:absolute;
  inset:-80px;
  background:#ffffff;
  pointer-events:none;
}
.bb-hero__inner{position:relative;padding:72px 0 64px}
.bb-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--bb-accent);
  font-weight:600;
}
.bb-hero__title{
  margin:12px 0 10px;
  font-family:"Playfair Display",serif;
  font-size:clamp(40px, 5vw, 64px);
  line-height:1.05;
  color:var(--bb-ink-2);
}
.bb-hero__subtitle{max-width:58ch;font-size:18px;color:var(--bb-muted);margin:0 0 22px}
.bb-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.bb-hero__note{margin-top:18px;font-size:13px;color:var(--bb-muted)}

.bb-section{padding:54px 0}
.bb-section--alt{background:#ffffff;border-top:1px solid var(--bb-line);border-bottom:1px solid var(--bb-line)}
.bb-section__header{margin-bottom:22px}

.bb-h1,.bb-h2{
  font-family:"Playfair Display",serif;
  color:var(--bb-ink-2);
  letter-spacing:.2px;
}
.bb-h1{font-size:42px;line-height:1.1;margin:0 0 10px}
.bb-h2{font-size:32px;line-height:1.15;margin:0 0 10px}
.bb-lead{margin:0;color:var(--bb-muted);font-size:16px;max-width:75ch}
.bb-body{margin:0;color:var(--bb-muted);max-width:75ch}

.bb-split{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}
.bb-panel{
  background:var(--bb-panel);
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius);
  padding:20px;
  box-shadow:var(--bb-shadow-soft);
}
.bb-panel__title{font-weight:600;color:var(--bb-ink);margin-bottom:10px}
.bb-list{margin:0;padding-left:18px;color:var(--bb-muted)}
.bb-list li{margin:8px 0}

.bb-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:18px}
.bb-grid--services{grid-template-columns:repeat(4, 1fr)}

.bb-card{
  position:relative;
  background:var(--bb-panel);
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius);
  overflow:hidden;
  box-shadow:var(--bb-shadow-soft);
  transition:transform .16s ease, box-shadow .16s ease;
}
.bb-card:hover{transform:translateY(-2px);box-shadow:var(--bb-shadow)}
.bb-card__link{position:absolute;inset:0;z-index:1}
.bb-card__img{width:100%;height:180px;object-fit:cover}
.bb-card__body{padding:16px}
.bb-card__meta{display:flex;align-items:center;gap:8px;color:var(--bb-muted);font-size:12px}
.bb-dot{opacity:.7}
.bb-tag{position:relative;z-index:2;text-decoration:none;color:var(--bb-accent);font-weight:600}
.bb-tag:hover{text-decoration:underline}
.bb-tag--pill{display:inline-flex;padding:6px 12px;border:1px solid rgba(122,150,132,.25);border-radius:999px;background:rgba(122,150,132,.08)}
.bb-card__title{position:relative;z-index:2;margin:10px 0 6px;font-family:"Playfair Display",serif;color:var(--bb-ink-2);font-size:22px;line-height:1.2}
.bb-card__excerpt{position:relative;z-index:2;margin:0;color:var(--bb-muted);font-size:14px}

.bb-service{
  display:block;
  padding:18px;
  background:#ffffff;
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius);
  text-decoration:none;
  box-shadow:var(--bb-shadow-soft);
  transition:transform .16s ease, box-shadow .16s ease;
}
.bb-service:hover{transform:translateY(-2px);box-shadow:var(--bb-shadow)}
.bb-service__title{font-weight:700;color:var(--bb-ink-2);font-size:16px;font-family:"Playfair Display",serif}
.bb-service__desc{margin-top:8px;color:var(--bb-muted);font-size:13px}
.bb-service__cta{margin-top:12px;color:var(--bb-accent);font-weight:700;font-size:13px}

.bb-cta{
  padding:48px 0;
  background:
    radial-gradient(900px 460px at 15% 30%, rgba(122,150,132,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.35));
  border-top:1px solid var(--bb-line);
}
.bb-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.bb-cta__actions{display:flex;gap:12px;flex-wrap:wrap}

.bb-archive{padding:40px 0 60px}
.bb-archive__header{margin-bottom:22px}

.bb-pagination{margin-top:26px}
.bb-pagination .pagination{display:flex;gap:12px;align-items:center;justify-content:center}
.bb-pagination a{
  text-decoration:none;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(122,150,132,.25);
  background:rgba(255,255,255,.65);
}

.bb-page__inner,.bb-post__inner{padding:40px 0 64px}
.bb-figure{margin:20px 0 22px}
.bb-figure__img{border-radius:var(--bb-radius);box-shadow:var(--bb-shadow-soft);border:1px solid var(--bb-line)}

/* Modern interior pages */
.bb-page{padding:40px 0 64px}
.bb-page-hero{padding:0 0 18px}
.bb-page-kicker{margin:0 0 10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(0,0,0,.55);font-weight:700}
.bb-page-title{margin:0 0 10px;font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(34px,4vw,52px);line-height:1.08;color:var(--bb-ink-2)}
.bb-page-sub{margin:0;max-width:70ch;font-size:16px;line-height:1.8;color:var(--bb-muted)}
.bb-page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.bb-page-media{margin:18px 0 0}
.bb-page-media__img{width:100%;height:auto;display:block;border-radius:var(--bb-radius);box-shadow:var(--bb-shadow-soft);border:1px solid var(--bb-line)}

.bb-page-grid{margin-top:18px;display:grid;grid-template-columns:1.55fr .65fr;gap:16px;align-items:start}
.bb-page-content{max-width:none}
.bb-page-side__card{background:#ffffff;border:1px solid var(--bb-line);border-radius:var(--bb-radius);padding:18px}
.bb-page-side__card + .bb-page-side__card{margin-top:14px}
.bb-page-side__card--soft{background:#ffffff;border-color:rgba(122,150,132,.18)}
.bb-page-side__title{margin:0 0 10px;font-size:16px;font-family:"Playfair Display",serif;color:var(--bb-ink-2)}
.bb-page-side__text{margin:0 0 12px;color:var(--bb-muted);line-height:1.75}

@media (max-width: 980px){
  .bb-page-grid{grid-template-columns:1fr}
}

.bb-content{
  max-width:78ch;
  font-size:16px;
}
.bb-content p{color:var(--bb-ink);opacity:.92}
.bb-content h2,.bb-content h3{font-family:"Playfair Display",serif;color:var(--bb-ink-2)}
.bb-content a{color:var(--bb-accent);text-decoration:underline}
.bb-content blockquote{
  margin:22px 0;
  padding:16px 18px;
  border-left:3px solid var(--bb-accent);
  background:#ffffff;
  border-radius:12px;
  color:var(--bb-ink);
}

.bb-post__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-top:26px;padding-top:18px;border-top:1px solid var(--bb-line)}
.bb-post__tags{display:flex;flex-wrap:wrap;gap:10px}
.bb-share-links{display:flex;gap:10px;flex-wrap:wrap}
.bb-share{
  text-decoration:none;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(122,150,132,.25);
  background:rgba(255,255,255,.65);
  font-weight:600;
  cursor:pointer;
}
.bb-share--button{appearance:none}

.bb-related{margin-top:44px}
.bb-actions-row{margin-top:14px}
.bb-actions-center{margin-top:18px;display:flex;justify-content:center}
.bb-link{color:var(--bb-accent);font-weight:700;text-decoration:none}
.bb-link:hover{text-decoration:underline}


.bb-footer__inner{display:grid;grid-template-columns:1.2fr .8fr .6fr;gap:18px;align-items:start}
.bb-footer__title{font-family:"Playfair Display",serif;font-weight:700;color:var(--bb-ink-2)}
.bb-footer__desc{margin-top:8px;color:var(--bb-muted);font-size:14px;max-width:50ch}
.bb-footer__label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bb-accent);font-weight:700;margin-bottom:10px}
.bb-footer__small{color:var(--bb-muted);font-size:13px}

.bb-footer .nav{flex-direction:column;align-items:flex-start;gap:10px}
.bb-footer .nav a{text-decoration:none;color:var(--bb-ink);opacity:.9}
.bb-footer .nav a:hover{opacity:1}

@media (max-width: 980px){
  .bb-grid{grid-template-columns:repeat(2, 1fr)}
  .bb-grid--services{grid-template-columns:repeat(2, 1fr)}
  .bb-split{grid-template-columns:1fr;}
  .bb-cta__inner{flex-direction:column;align-items:flex-start}
  .bb-footer__inner{grid-template-columns:1fr;}
}

@media (max-width: 980px){
  .bb-nav-toggle{display:inline-flex}
  .bb-nav--desktop{display:none}
  .bb-nav--mobile{display:block}

  /* iOS Safari: backdrop-filter can clip fixed children. Disable on mobile. */
  

  /* Mobile menu: full-height, scrollable, never clipped */
  .bb-nav--mobile{
    position:fixed;
    inset:0;
    top:0;
    background:rgba(248,245,241,.98);
    border-bottom:0;
    padding:86px 20px 18px; /* space for sticky header */
    transform:translateY(-120%);
    transition:transform .22s ease;
    z-index:400;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    max-height:100vh;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
  .bb-nav--mobile.is-open{transform:translateY(0)}
  .bb-nav--mobile .nav{flex-direction:column;align-items:flex-start;gap:12px}
  .bb-nav-dropdown{width:100%}
  .bb-dropdown{width:100%}
  .bb-dropdown-trigger{width:100%}
  .bb-dropdown-menu{
    position:static;
    min-width:0;
    width:100%;
    box-shadow:none;
    margin-top:10px;
  }

  .bb-nav__cta{width:100%}
  .bb-nav__cta .bb-btn{width:100%}
  .bb-grid{grid-template-columns:1fr}
  .bb-card__img{height:200px}
  .bb-hero__inner{padding:56px 0 50px}
}

/* --- About page (Urban Betty inspired layout, Bloom & Balance styling) --- */
.bb-about-hero{padding:48px 0 18px}
.bb-about-hero__inner{padding:0 18px}
.bb-about-kicker{margin:0 0 10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bb-accent);font-weight:700}
.bb-about-title{margin:0 0 10px;font-family:"Playfair Display",serif;font-size:clamp(40px,4.6vw,64px);line-height:1.04;letter-spacing:-.02em;color:var(--bb-ink-2)}
.bb-about-sub{margin:0;max-width:72ch;color:var(--bb-muted);font-size:16px;line-height:1.75}
.bb-about-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}

.bb-about-media{padding:0 0 10px}
.bb-about-media__frame{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--bb-line);background:rgba(122,150,132,.06)}
.bb-about-media__frame img{width:100%;height:auto;display:block}

.bb-about-body{padding:18px 0 28px}
.bb-about-grid{display:grid;grid-template-columns:1.55fr .65fr;gap:16px;align-items:start}
.bb-about-main,.bb-about-side{background:#fff;border:1px solid var(--bb-line);border-radius:18px;padding:18px}
.bb-rich p{margin:0 0 14px;line-height:1.85;color:var(--bb-muted)}
.bb-about-values{margin-top:18px}
.bb-about-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bb-about-pill{border-radius:16px;padding:14px;background:rgba(122,150,132,.08);border:1px solid rgba(122,150,132,.18)}
.bb-about-pill strong{display:block;font-size:14px;color:var(--bb-ink-2)}
.bb-about-pill span{display:block;margin-top:6px;font-size:12px;line-height:1.55;color:rgba(0,0,0,.62)}

.bb-side-link{display:block;padding:10px 12px;border-radius:14px;text-decoration:none;color:var(--bb-ink-2);border:1px solid rgba(0,0,0,.08);margin-bottom:10px;font-weight:700}
.bb-side-link:hover{border-color:rgba(122,150,132,.35);background:rgba(122,150,132,.06)}
.bb-divider{height:1px;background:rgba(0,0,0,.08);margin:14px 0}
.bb-btn-full{width:100%}

.bb-about-founder{padding:10px 0 22px}
.bb-about-founder__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}
.bb-about-founder__copy{border-radius:18px;padding:22px;background:linear-gradient(180deg, rgba(122,150,132,.14), rgba(122,150,132,.04));border:1px solid rgba(0,0,0,.06)}
.bb-about-founder__title{margin:0 0 10px;font-family:"Playfair Display",serif;font-size:clamp(26px,3.2vw,38px);line-height:1.12;color:var(--bb-ink-2)}
.bb-about-founder__text{margin:0 0 14px;line-height:1.85;color:var(--bb-muted)}
.bb-about-founder__meta{margin:0;color:rgba(0,0,0,.72);line-height:1.6}
.bb-about-founder__card{background:#fff;border:1px solid var(--bb-line);border-radius:18px;padding:18px}

.bb-about-proof{padding:0 0 22px}
.bb-about-proof__inner{background:#fff;border:1px solid var(--bb-line);border-radius:18px;padding:20px}
.bb-about-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.bb-about-badge{border-radius:999px;padding:10px 12px;text-align:center;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.07);font-weight:800;font-size:12px;color:var(--bb-ink-2)}

.bb-about-cta{padding:0 0 40px}
.bb-about-cta__inner{border-radius:18px;padding:22px;background:var(--bb-accent);color:#fff}
.bb-about-cta__title{margin:0 0 8px;font-family:"Playfair Display",serif;font-size:clamp(22px,2.6vw,32px);line-height:1.15}
.bb-about-cta__sub{margin:0 0 14px;opacity:.92;line-height:1.7}
.bb-about-cta__actions{display:flex;gap:12px;flex-wrap:wrap}
.bb-about-cta__inner .bb-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}

@media (max-width: 980px){
  .bb-about-grid{grid-template-columns:1fr}
  .bb-about-founder__grid{grid-template-columns:1fr}
  .bb-about-pills{grid-template-columns:1fr}
  .bb-about-badges{grid-template-columns:1fr 1fr}
}

@media (max-width: 520px){
  .bb-about-hero{padding:38px 0 14px}
  .bb-about-cta__actions .bb-btn{width:100%}
}

/* Koenig editor required wide/full width styles */
.bb-content .kg-width-wide,
.bb-content .kg-width-full{display:block}

.bb-content .kg-width-wide{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}

.bb-content .kg-width-full{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.bb-content .kg-width-full img,
.bb-content .kg-width-wide img{
  width:100%;
  height:auto;
}

/* About page (custom-about.hbs) - modern, editorial, fully responsive */
.bb-about{background:#fff}
.bb-about-hero{padding:44px 0 16px}
.bb-about-hero__inner{max-width:1120px}
.bb-about-kicker{margin:0 0 10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(0,0,0,.55);font-weight:700}
.bb-about-title{margin:0 0 10px;font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(38px,4.5vw,60px);line-height:1.05;color:var(--bb-ink-2)}
.bb-about-sub{margin:0;max-width:70ch;font-size:16px;line-height:1.8;color:var(--bb-muted)}
.bb-about-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}

.bb-about-media{padding:0 0 8px}
.bb-about-media__frame{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--bb-line);background:rgba(122,150,132,.06)}
.bb-about-media__frame img{display:block;width:100%;height:auto}

.bb-about-body{padding:18px 0 6px}
.bb-about-grid{display:grid;grid-template-columns:1.55fr .65fr;gap:16px;align-items:start}
.bb-about-main,.bb-about-side{background:#fff;border:1px solid var(--bb-line);border-radius:18px;padding:18px}
.bb-rich p{margin:0 0 14px;line-height:1.85;color:var(--bb-muted)}
.bb-about-values{margin-top:18px}
.bb-about-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.bb-about-pill{border-radius:16px;padding:14px;background:rgba(122,150,132,.07);border:1px solid rgba(122,150,132,.18)}
.bb-about-pill strong{display:block;font-size:14px;color:var(--bb-ink-2)}
.bb-about-pill span{display:block;margin-top:6px;font-size:12px;line-height:1.6;color:rgba(0,0,0,.62)}

.bb-side-link{display:block;padding:10px 12px;border-radius:14px;text-decoration:none;color:var(--bb-ink-2);border:1px solid rgba(0,0,0,.08);margin-bottom:10px;font-weight:700}
.bb-side-link:hover{border-color:rgba(122,150,132,.35);background:rgba(122,150,132,.06)}
.bb-divider{height:1px;background:rgba(0,0,0,.08);margin:14px 0}
.bb-btn-full{width:100%}

.bb-about-founder{padding:20px 0 10px}
.bb-about-founder__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}
.bb-about-founder__copy{border-radius:18px;padding:22px;background:linear-gradient(180deg, rgba(122,150,132,.12), rgba(122,150,132,.04));border:1px solid rgba(0,0,0,.06)}
.bb-about-founder__title{margin:0 0 10px;font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(22px,3.2vw,34px);line-height:1.12;color:var(--bb-ink-2)}
.bb-about-founder__text{margin:0 0 14px;line-height:1.85;color:var(--bb-muted)}
.bb-about-founder__meta{margin:0;color:rgba(0,0,0,.72);line-height:1.6}
.bb-about-founder__card{border-radius:18px;padding:18px;border:1px solid var(--bb-line);background:#fff}

.bb-about-proof{padding:10px 0 18px}
.bb-about-proof__inner{border:1px solid var(--bb-line);border-radius:18px;padding:18px;background:#fff}
.bb-about-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.bb-about-badge{border-radius:999px;padding:10px 12px;text-align:center;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.07);font-weight:900;font-size:12px}

.bb-about-cta{padding:10px 0 34px}
.bb-about-cta__inner{border-radius:18px;padding:22px;background:var(--bb-accent);color:#fff}
.bb-about-cta__title{margin:0 0 8px;font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.12}
.bb-about-cta__sub{margin:0 0 14px;opacity:.94;line-height:1.75}
.bb-about-cta__actions{display:flex;gap:10px;flex-wrap:wrap}
.bb-about-cta__inner .bb-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}

@media (max-width: 980px){
  .bb-about-grid{grid-template-columns:1fr}
  .bb-about-pills{grid-template-columns:1fr}
  .bb-about-founder__grid{grid-template-columns:1fr}
  .bb-about-badges{grid-template-columns:1fr 1fr}
}


/* Header actions: mobile $99 button beside menu */
.bb-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.bb-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.bb-mobile-cta{
  display:none;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 12px;
  border-radius:999px;
  background:var(--bb-accent);
  color:#fff;
  font-weight:800;
  font-size:13px;
  text-decoration:none;
  line-height:1;
  white-space:nowrap;
}

.bb-nav-toggle{
  color:var(--bb-ink-2);
  border:1px solid rgba(0,0,0,.12);
  background:rgba(255,255,255,.7);
}

.bb-icon{display:inline-flex;align-items:center;justify-content:center}
.bb-icon-close{display:none}
.bb-nav-toggle[aria-expanded="true"] .bb-icon-menu{display:none}
.bb-nav-toggle[aria-expanded="true"] .bb-icon-close{display:inline-flex}

/* Mobile behavior */
@media (max-width: 760px){
  .bb-mobile-cta{display:inline-flex}
  /* Keep $99 out of the slide-down menu; it lives in the header on mobile */
  .bb-nav .bb-nav-cta{display:none}
  /* Make sure header actions stay above overlay */
  .bb-header-actions{position:relative;z-index:450}
}


@media (max-width: 420px){
  .bb-mobile-cta{font-size:12px;padding:0 10px}
}


/* === Bloom & Balance Homepage Upgrade (conversion + imagery) === */


.bb-home{background:#fff;color:var(--bb-ink, #241b24)}
.bb-section-inner{max-width:1100px;margin:0 auto;padding:26px 18px}

.bb-home-hero{padding:34px 0 10px;background:linear-gradient(180deg, rgba(195,213,191,.38), rgba(122,150,132,.07) 58%, rgba(255,255,255,1))}
.bb-home-hero-inner{max-width:1100px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
.bb-hero-title{margin:0 0 10px;font-size:44px;line-height:1.05;letter-spacing:-.02em}
.bb-hero-sub{margin:0;max-width:70ch;font-size:16px;line-height:1.8;color:var(--bb-muted, rgba(0,0,0,.66))}
.bb-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.bb-hero-trustline{margin-top:14px;font-size:13px;color:rgba(0,0,0,.62);display:flex;flex-wrap:wrap;gap:10px}
.bb-hero-trustline span{display:inline-flex;align-items:center;gap:6px}
.bb-dot{width:6px;height:6px;border-radius:999px;background:var(--bb-sage);display:inline-block}

.bb-home-hero-media{border-radius:18px;overflow:hidden;border:1px solid var(--bb-border, rgba(0,0,0,.08));background:rgba(195,213,191,.22)}
.bb-home-hero-media img{width:100%;height:auto;display:block}

.bb-trustbar{padding:8px 0 0}
.bb-trustbar-inner{max-width:1100px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bb-trust-item{border:1px solid var(--bb-border, rgba(0,0,0,.08));border-radius:16px;padding:12px;background:#fff}
.bb-trust-item strong{display:block;font-size:13px}
.bb-trust-item span{display:block;margin-top:4px;font-size:12px;color:rgba(0,0,0,.62);line-height:1.4}

.bb-section-head h2{margin:0 0 8px;font-size:28px;letter-spacing:-.01em}
.bb-section-head p{margin:0;color:var(--bb-muted, rgba(0,0,0,.66));line-height:1.75;max-width:75ch}

.bb-service-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bb-service-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--bb-border, rgba(0,0,0,.08));border-radius:18px;padding:16px;background:#ffffff;transition:transform .12s ease, border-color .12s ease}
.bb-service-card h3{margin:0 0 6px;font-size:16px}
.bb-service-card p{margin:0 0 10px;color:var(--bb-muted, rgba(0,0,0,.66));line-height:1.7}
.bb-link{font-weight:900;color:var(--bb-plum)}
.bb-service-card:hover{border-color:rgba(122,150,132,.28);transform:translateY(-1px)}
.bb-service-card-all{background:linear-gradient(180deg, rgba(122,150,132,.10), #fff)}

.bb-reviews{background:rgba(195,213,191,.18);border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05)}
.bb-review-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bb-review{margin:0;border:1px solid var(--bb-border, rgba(0,0,0,.08));border-radius:18px;padding:16px;background:#fff}
.bb-review blockquote{margin:0;color:rgba(0,0,0,.76);line-height:1.75;font-size:14px}
.bb-review figcaption{margin-top:10px;display:flex;gap:10px;align-items:baseline}
.bb-review figcaption strong{font-size:13px}
.bb-review figcaption span{font-size:12px;color:rgba(0,0,0,.60)}
.bb-review-cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}

.bb-home-split{padding:8px 0 0}
.bb-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.bb-split-media{border-radius:18px;overflow:hidden;border:1px solid var(--bb-border, rgba(0,0,0,.08));background:rgba(122,150,132,.06)}
.bb-split-media img{width:100%;height:auto;display:block}
.bb-split-copy h2{margin:0 0 10px;font-size:30px;line-height:1.15}
.bb-split-copy p{margin:0 0 12px;color:var(--bb-muted, rgba(0,0,0,.66));line-height:1.85}
.bb-checks{margin:0 0 12px;padding-left:18px;color:var(--bb-muted, rgba(0,0,0,.66));line-height:1.85}

.bb-latest-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bb-latest-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--bb-border, rgba(0,0,0,.08));border-radius:18px;padding:16px;background:#fff;transition:transform .12s ease, border-color .12s ease}
.bb-latest-card h3{margin:0 0 6px;font-size:16px}
.bb-latest-card p{margin:0 0 10px;color:var(--bb-muted, rgba(0,0,0,.66));line-height:1.7}
.bb-latest-card:hover{border-color:rgba(122,150,132,.28);transform:translateY(-1px)}

.bb-cta-band{padding:22px 0;background:var(--bb-plum);color:#fff}
.bb-cta-inner{max-width:1100px;margin:0 auto;padding:0 18px}
.bb-cta-inner h2{margin:0 0 8px;font-size:28px}
.bb-cta-inner p{margin:0 0 14px;opacity:.92;line-height:1.75}
.bb-cta-band .bb-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}

@media (max-width:980px){
  .bb-home-hero-inner{grid-template-columns:1fr}
  .bb-hero-title{font-size:36px}
  .bb-trustbar-inner{grid-template-columns:1fr 1fr}
  .bb-service-grid{grid-template-columns:1fr}
  .bb-review-grid{grid-template-columns:1fr}
  .bb-split{grid-template-columns:1fr}
  .bb-latest-grid{grid-template-columns:1fr}
}


/* -------------------------------------------------------
   Premium Homepage System (Bloom & Balance Wellness)
   Colors: plum #7A9684, sage #C3D5BF
------------------------------------------------------- */



.bb-container{max-width:var(--bb-max);margin:0 auto;padding:0 var(--bb-pad)}
.bb-home{color:var(--bb-ink)}
.bb-section{padding: clamp(40px, 6vw, 78px) 0}
.bb-alt{background:
  radial-gradient(1200px 600px at 10% 10%, rgba(195,213,191,.35), rgba(195,213,191,0)),
  radial-gradient(900px 500px at 90% 15%, rgba(122,150,132,.16), rgba(122,150,132,0)),
  linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.00));
  border-top:1px solid rgba(0,0,0,.05);
  border-bottom:1px solid rgba(0,0,0,.05);
}

.bb-eyebrow{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(0,0,0,.58);
}

.bb-h1{
  margin:0 0 12px;
  font-size:clamp(40px, 5vw, 56px);
  line-height:1.02;
  letter-spacing:-.03em;
}

.bb-h2{
  margin:0 0 10px;
  font-size:clamp(26px, 3.2vw, 36px);
  line-height:1.15;
  letter-spacing:-.02em;
}

.bb-h3{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.3;
  letter-spacing:-.01em;
}

.bb-lede{
  margin:0;
  max-width: 62ch;
  font-size:16px;
  line-height:1.85;
  color:var(--bb-muted);
}

.bb-sub{
  margin:0;
  max-width: 78ch;
  font-size:15px;
  line-height:1.85;
  color:var(--bb-muted);
}

.bb-sectionHead{margin-bottom: clamp(16px, 2vw, 24px)}
.bb-sectionHead--row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.bb-inlineLink{font-weight:900;color:var(--bb-plum);text-decoration:none}
.bb-inlineLink:hover{opacity:.85}

/* Hero */
.bb-hero{
  padding: clamp(28px, 5vw, 54px) 0;
  background:#ffffff;
}

.bb-pattern{
  position:relative;
}
.bb-pattern:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(rgba(122,150,132,.10) 1px, transparent 1px),
    radial-gradient(rgba(195,213,191,.14) 1px, transparent 1px);
  background-size: 22px 22px, 34px 34px;
  background-position: 0 0, 10px 12px;
  opacity:.22;
  pointer-events:none;
}

.bb-hero__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: var(--bb-gap);
  align-items:center;
}

.bb-ctaRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

.bb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}

.bb-btn--primary{background:var(--bb-plum);color:#fff;box-shadow:0 12px 28px rgba(122,150,132,.25)}
.bb-btn--primary:hover{transform:translateY(-1px);opacity:.96}
.bb-btn--secondary{background:#fff;color:var(--bb-ink);border:1px solid rgba(0,0,0,.14)}
.bb-btn--secondary:hover{border-color:rgba(122,150,132,.35);background:rgba(122,150,132,.04)}

.bb-trustChips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.bb-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 18px rgba(31,26,32,.05);
  font-weight:900;
  font-size:12px;
  color:rgba(0,0,0,.72);
  backdrop-filter: blur(10px);
}

.bb-hero__media{display:flex;flex-direction:column;gap:12px}
.bb-mediaCard{
  border-radius: var(--bb-radius-lg);
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow: var(--bb-shadow);
}
.bb-mediaCard img{width:100%;height:auto;display:block}

.bb-hero__stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
.bb-stat{
  border-radius: 18px;
  padding:12px 12px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.82);
  box-shadow: var(--bb-shadow-soft);
  backdrop-filter: blur(10px);
}
.bb-stat__k{font-size:12px;color:rgba(0,0,0,.60);font-weight:900;text-transform:uppercase;letter-spacing:.10em}
.bb-stat__v{margin-top:6px;font-size:13px;color:rgba(0,0,0,.80);font-weight:900}

/* Proof band */
.bb-proofband{padding: 14px 0 0}
.bb-proofband__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
}
.bb-proof{
  border-radius: 18px;
  padding:14px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.84);
  box-shadow: 0 10px 20px rgba(31,26,32,.06);
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.bb-proof__icon{
  width:34px;height:34px;
  border-radius:12px;
  background: rgba(195,213,191,.50);
  display:flex;align-items:center;justify-content:center;
  color: rgba(31,26,32,.70);
  font-weight:900;
}
.bb-proof__text strong{display:block;font-size:13px}
.bb-proof__text span{display:block;margin-top:4px;font-size:12px;line-height:1.45;color:rgba(0,0,0,.62)}

/* Cards */
.bb-cardGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top: 18px;
}
.bb-card{
  display:block;
  text-decoration:none;
  color:inherit;
  padding:18px 16px;
  border-radius: var(--bb-radius-lg);
  border:1px solid rgba(0,0,0,.08);
  background:
    linear-gradient(180deg, rgba(195,213,191,.22), rgba(255,255,255,1));
  box-shadow: 0 14px 28px rgba(31,26,32,.06);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  min-height: 172px;
}
.bb-card p{margin:0 0 12px;color:var(--bb-muted);line-height:1.75;font-size:14px}
.bb-card__link{font-weight:900;color:var(--bb-plum)}
.bb-card:hover{
  transform: translateY(-2px);
  border-color: rgba(122,150,132,.30);
  box-shadow: 0 18px 40px rgba(31,26,32,.10);
}
.bb-card--cta{
  background:
    radial-gradient(800px 500px at 20% 20%, rgba(195,213,191,.55), rgba(195,213,191,0)),
    linear-gradient(180deg, rgba(122,150,132,.10), rgba(255,255,255,1));
}

/* Steps */
.bb-steps{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top: 18px;
}
.bb-step{
  border-radius: var(--bb-radius-lg);
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:18px 16px;
  box-shadow: 0 14px 28px rgba(31,26,32,.06);
}
.bb-step__num{
  width:40px;height:40px;border-radius:14px;
  background: rgba(122,150,132,.12);
  border:1px solid rgba(122,150,132,.22);
  color: rgba(31,26,32,.78);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
  margin-bottom:12px;
}
.bb-step p{margin:0;color:var(--bb-muted);line-height:1.8}

/* Split */
.bb-split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--bb-gap);
  align-items:center;
}
.bb-checklist{margin:12px 0 0;padding-left:18px;color:var(--bb-muted);line-height:1.9}
.bb-checklist li{margin:6px 0}

/* Testimonials */
.bb-testimonials{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top: 18px;
}
.bb-quote{
  margin:0;
  border-radius: var(--bb-radius-lg);
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:18px 16px;
  box-shadow: 0 14px 28px rgba(31,26,32,.06);
}
.bb-quote blockquote{margin:0;color:rgba(0,0,0,.78);line-height:1.85;font-size:14px}
.bb-quote figcaption{margin-top:12px;display:flex;gap:10px;align-items:baseline}
.bb-quote figcaption strong{font-size:13px}
.bb-quote figcaption span{font-size:12px;color:rgba(0,0,0,.60)}

/* Blog cards */
.bb-postGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top: 18px;
}
.bb-postCard{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  text-decoration:none;
  color:inherit;
  border-radius: var(--bb-radius-lg);
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:18px 16px;
  box-shadow: 0 14px 28px rgba(31,26,32,.06);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  min-height: 170px;
}
.bb-postCard p{margin:0;color:var(--bb-muted);line-height:1.8;font-size:13px}
.bb-postCard__meta{display:flex;gap:10px;flex-wrap:wrap;color:rgba(0,0,0,.58);font-size:12px;font-weight:800}
.bb-tag{padding:6px 10px;border-radius:999px;background:rgba(195,213,191,.32);border:1px solid rgba(0,0,0,.06)}
.bb-postCard:hover{transform:translateY(-2px);border-color:rgba(122,150,132,.30);box-shadow:0 18px 40px rgba(31,26,32,.10)}

/* Final CTA */
.bb-finalCta{
  padding: clamp(34px, 5vw, 56px) 0;
  background: radial-gradient(900px 500px at 20% 10%, rgba(195,213,191,.60), rgba(195,213,191,0)),
              linear-gradient(180deg, rgba(122,150,132,.12), rgba(255,255,255,1));
  border-top:1px solid rgba(0,0,0,.05);
}
.bb-finalCta__inner{
  border-radius: var(--bb-radius-lg);
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.86);
  box-shadow: var(--bb-shadow);
  padding: clamp(18px, 3vw, 26px);
}

/* Center CTA */
.bb-centerCta{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:18px}

/* Latest spacing */
.bb-latest{padding: clamp(34px, 5vw, 56px) 0}

/* Responsive */
@media (max-width: 980px){
  .bb-hero__grid{grid-template-columns:1fr}
  .bb-hero__stats{grid-template-columns:1fr; }
  .bb-proofband__grid{grid-template-columns:1fr 1fr}
  .bb-cardGrid{grid-template-columns:1fr}
  .bb-steps{grid-template-columns:1fr}
  .bb-split{grid-template-columns:1fr}
  .bb-testimonials{grid-template-columns:1fr}
  .bb-postGrid{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .bb-proofband__grid{grid-template-columns:1fr}
  .bb-chip{width:100%;justify-content:center}
  .bb-ctaRow .bb-btn{width:100%}
}


/* ---- Homepage fixes: card link placement + header overlap + shimmer ---- */

/* Ensure hero clears sticky header */
.bb-hero{
  padding-top: calc(96px + clamp(28px, 5vw, 54px));
}

/* Card content stacking and keep "Learn more" at the bottom */
.bb-card{
  display:flex;
  flex-direction:column;
}
.bb-card__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:10px;
}
.bb-card__link:after{
  content:"→";
  font-weight:900;
  opacity:.85;
}

/* Avoid any unexpected absolute positioning from global styles */
.bb-card__link, .bb-card__link *{position:static}

/* Make card grid more robust at various widths */
.bb-cardGrid{
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

/* Keep proof band responsive and consistent */
.bb-proofband__grid{
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

/* Shimmer overlay on hero background */
.bb-hero.bb-pattern:after{}
@keyframes bb-shimmer{
  0%{transform: translateX(-70%) rotate(2deg)}
  55%{transform: translateX(70%) rotate(2deg)}
  100%{transform: translateX(70%) rotate(2deg)}
}
@media (prefers-reduced-motion: reduce){
  .bb-hero.bb-pattern:after{}
}

/* Mobile hero spacing and CTA fit */
@media (max-width:520px){
  .bb-hero{padding-top: calc(92px + 22px)}
  .bb-h1{font-size:38px}
}


/* ---- Nav spacing fix: remove oversized hero top padding override ---- */
.bb-hero{
  padding-top: clamp(28px, 5vw, 54px) ;
}

/* Ensure hero content never hides under sticky header */
.bb-hero__grid{
  padding-top: 10px;
}
@media (max-width:520px){
  .bb-hero{
    padding-top: 22px ;
  }
}


/* ---- Shimmer removed ---- */
.bb-hero.bb-pattern:after{}


/* ---- Larger, premium navigation bar ---- */




.bb-header__inner{
  min-height: var(--bb-header-height);
  padding-top: 18px;
  padding-bottom: 18px;
}

.bb-header__logo img{
  max-height: 42px;
}

.bb-nav a{
  font-size: 15px;
}

.bb-mobile-cta{
  padding: 12px 18px;
  font-size: 14px;
}


/* -------------------------------------------------------
   Global Site Design System: Interior Pages + Prose
------------------------------------------------------- */

.bb-shell{background:transparent}
.bb-pageHero{padding-top: 36px}
.bb-h1--page{font-size: clamp(36px, 4.6vw, 56px)}
.bb-ctaRow--page{margin-top: 18px}

/* Page layout grid */
.bb-pageGrid{
  display:grid;
  grid-template-columns: 1.55fr .65fr;
  gap: clamp(14px, 2.2vw, 20px);
  align-items:start;
}
.bb-pageBody{padding-top: 0}

/* Sidebar cards */
.bb-side{display:flex;flex-direction:column;gap:12px}
.bb-sideCard{
  border-radius: var(--bb-radius-lg);
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow: 0 14px 28px rgba(31,26,32,.06);
  padding:18px 16px;
}
.bb-sideCard--primary{
  background: radial-gradient(800px 500px at 20% 20%, rgba(195,213,191,.55), rgba(195,213,191,0)),
              linear-gradient(180deg, rgba(122,150,132,.10), rgba(255,255,255,1));
}
.bb-sideCard--soft{
  background: rgba(195,213,191,.22);
}
.bb-btn--full{width:100%}
.bb-sideLinks{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.bb-sideLink{color:rgba(0,0,0,.72);text-decoration:none;font-weight:900}
.bb-sideLink:hover{color:var(--bb-plum)}

/* Breadcrumb */
.bb-breadcrumb{color:rgba(0,0,0,.72);text-decoration:none;font-weight:900}
.bb-breadcrumb:hover{color:var(--bb-plum)}
.bb-dot{margin:0 8px;opacity:.55}

/* Prose */
.bb-prose{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: var(--bb-radius-lg);
  box-shadow: 0 14px 28px rgba(31,26,32,.06);
  padding: clamp(18px, 2.6vw, 26px);
}
.bb-prose :is(p, ul, ol){font-size:15px;line-height:1.9;color:rgba(0,0,0,.74)}
.bb-prose p{margin: 0 0 14px}
.bb-prose h2{margin: 22px 0 10px; font-size: clamp(22px, 2.6vw, 30px); letter-spacing:-.02em}
.bb-prose h3{margin: 18px 0 8px; font-size: 18px}
.bb-prose a{color:var(--bb-plum);text-decoration:underline;text-underline-offset:3px}
.bb-prose a:hover{opacity:.85}
.bb-prose ul, .bb-prose ol{padding-left: 20px; margin: 0 0 14px}
.bb-prose li{margin: 6px 0}
.bb-prose blockquote{
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 3px solid var(--bb-plum);
  background:#ffffff;
  border-radius: 14px;
}
.bb-prose blockquote p{margin:0}

/* Koenig editor widths */
.kg-width-wide{max-width: 1100px; margin-left: auto; margin-right: auto;}
.kg-width-full{width: 100vw; margin-left: 50%; transform: translateX(-50%);}
.kg-gallery-container{max-width: 1100px; margin: 0 auto;}
.kg-image-card img{border-radius: var(--bb-radius-lg);}

/* Tag pills */
.bb-tagCloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.bb-tagPill{
  text-decoration:none;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(195,213,191,.22);
  color: rgba(0,0,0,.72);
  font-weight:900;
  font-size:12px;
}
.bb-tagPill:hover{border-color:rgba(122,150,132,.30);background:rgba(122,150,132,.06)}

/* Post hero media */
.bb-postHeroMedia{margin-top: 18px}
.bb-postHeroMedia img{width:100%;height:auto;display:block}

/* Pagination */
.bb-pagination{margin-top: 22px; display:flex; justify-content:center}
.pagination{
  display:flex; gap:12px; align-items:center;
}
.pagination a{
  text-decoration:none;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  color:rgba(0,0,0,.78);
  font-weight:900;
}
.pagination a:hover{border-color:rgba(122,150,132,.30);background:rgba(122,150,132,.06)}
.pagination .page-number{font-weight:900;color:rgba(0,0,0,.60)}

/* Responsive interior */
@media (max-width: 980px){
  .bb-pageGrid{grid-template-columns: 1fr}
  .bb-side{order:2}
}


/* ---- Page hero to match homepage layout ---- */
.bb-pageHero{
  padding-top: 22px;
  padding-bottom: 28px;
  background:#ffffff;
}

.bb-pageHero__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: var(--bb-gap);
  align-items:center;
}

.bb-pageHeroMedia img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.bb-h1--page{
  line-height:1.02;
}

@media (max-width: 980px){
  .bb-pageHero__grid{grid-template-columns:1fr}
}


/* -------------------------------------------------------
   Color Pop & Service Highlight Enhancements
------------------------------------------------------- */


/* Buttons: more contrast */
.bb-btn--primary{
  background: linear-gradient(180deg, var(--bb-plum-strong), #5b3448);
  box-shadow: 0 10px 22px rgba(107,63,88,.35);
}
.bb-btn--primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(107,63,88,.45);
}

/* Service cards pop */
.bb-card{
  border:1px solid rgba(107,63,88,.15);
  background:
    radial-gradient(500px 280px at 10% 0%, var(--bb-sage-glow), rgba(255,255,255,0)),
    #fff;
}
.bb-card:hover{
  border-color: var(--bb-plum-strong);
  box-shadow: 0 18px 36px rgba(31,26,32,.14);
  transform: translateY(-2px);
}

/* Section headings emphasis */
.bb-section h2,
.bb-section h3{
  position:relative;
}
.bb-section h2:after{
  content:"";
  display:block;
  width:48px;
  height:3px;
  margin-top:8px;
  background:#ffffff;
  border-radius:2px;
}

/* Service title highlight */
.bb-card__title:before{
  content:"●";
  color: var(--bb-accent-gold);
  margin-right:6px;
}

/* Proof / trust band stronger */
.bb-proofband{
  background:
    linear-gradient(180deg, rgba(195,213,191,.45), rgba(255,255,255,1));
  border-top:1px solid rgba(107,63,88,.15);
  border-bottom:1px solid rgba(107,63,88,.15);
}

/* Sidebar primary card stronger CTA */
.bb-sideCard--primary{
  border:1px solid var(--bb-plum-strong);
  box-shadow: 0 18px 38px rgba(107,63,88,.22);
}


/* -------------------------------------------------------
   Proof band (callouts) — fix divider touching cards
------------------------------------------------------- */
.bb-proofband{
  position: relative;
  padding: 22px 0 18px;
  border-top: 0 ;
  border-bottom: 0 ;
  background: linear-gradient(180deg, rgba(195,213,191,.22), rgba(255,255,255,1));
}
.bb-proofband:after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:0;
  height:1px;
  background: rgba(0,0,0,.10);
  z-index:0;
}
.bb-proofband__grid{
  position:relative;
  z-index:1;
}
.bb-proof{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 14px 28px rgba(31,26,32,.06);
}
.bb-proof__icon{
  background: rgba(195,213,191,.45);
  border: 1px solid rgba(0,0,0,.08);
}

/* Give the next section breathing room so the divider never collides */
.bb-proofband + .bb-section{
  padding-top: 34px;
}

/* -------------------------------------------------------
   Hero background — reduce pink, increase clean contrast
------------------------------------------------------- */
.bb-hero.bb-pattern,
.bb-pageHero.bb-pattern,
.bb-postHero.bb-pattern{
  background:#ffffff;
}


/* -------------------------------------------------------
   Sidebar CTA card spacing fix
------------------------------------------------------- */
.bb-sideCard{
  padding: 22px 20px;
}

.bb-sideCard h3{
  margin-bottom: 10px;
}

.bb-sideCard p{
  margin-bottom: 16px;
  line-height: 1.55;
}

/* Button stack spacing */
.bb-sideCard .bb-btn{
  margin-top: 10px;
}

.bb-sideCard .bb-btn + .bb-btn{
  margin-top: 12px;
}

/* Reduce visual crowding on mobile */
@media (max-width: 520px){
  .bb-sideCard{
    padding: 20px 18px;
  }
}


/* -------------------------------------------------------
   Interior Page Body: Premium spacing + "pop" + zero click readability
------------------------------------------------------- */

/* Global section rhythm */
.bb-section{
  padding-top: clamp(34px, 4vw, 56px);
  padding-bottom: clamp(34px, 4vw, 56px);
}
.bb-pageBody.bb-section{
  padding-top: clamp(18px, 2.6vw, 34px);
}

/* Prose container refinements */
.bb-prose{
  background:#ffffff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 22px 46px rgba(31,26,32,.10);
}
.bb-prose :is(p, ul, ol){
  font-size: 16px;
  color: rgba(0,0,0,.78);
}
.bb-prose p{margin:0 0 16px}
.bb-prose h2{
  margin: 28px 0 12px;
  padding-top: 8px;
  scroll-margin-top: 110px;
}
.bb-prose h2:after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  margin-top:10px;
  background:#ffffff;
  border-radius:999px;
  opacity:.95;
}
.bb-prose h3{
  margin: 22px 0 10px;
  scroll-margin-top: 110px;
}

/* Make list blocks feel intentional */
.bb-prose ul, .bb-prose ol{
  margin: 0 0 18px;
  padding-left: 22px;
}
.bb-prose li{
  margin: 8px 0;
}

/* Koenig callouts */
.bb-prose .kg-callout-card{
  border-radius: 18px;
  border: 1px solid rgba(107,63,88,.18);
  background:#ffffff;
  box-shadow: 0 18px 36px rgba(31,26,32,.10);
  padding: 16px 16px;
}
.bb-prose .kg-callout-card .kg-callout-text{
  font-size: 15px;
  line-height: 1.7;
  color: rgba(0,0,0,.78);
}

/* Quote blocks */
.bb-prose blockquote{
  border-left: 4px solid var(--bb-accent-gold, #d4b06a);
  background:#ffffff;
}

/* Sidebar: stronger conversion + sticky on desktop */
@media (min-width: 981px){
  .bb-side{
    position: sticky;
    top: 104px;
    align-self: start;
  }
}
.bb-sideCard{
  background:
    radial-gradient(700px 420px at 20% 10%, rgba(195,213,191,.30), rgba(255,255,255,0)),
    #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.bb-sideCard--primary{
  background:
    radial-gradient(900px 520px at 12% 0%, rgba(195,213,191,.50), rgba(255,255,255,0)),
    linear-gradient(180deg, rgba(107,63,88,.12), rgba(255,255,255,1));
}

/* Improve card link hierarchy */
.bb-sideLink{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(195,213,191,.18);
}
.bb-sideLink:hover{
  background: rgba(122,150,132,.06);
  border-color: rgba(107,63,88,.22);
}

/* Koenig wide/full polish */
.kg-width-wide img,
.kg-width-full img{
  border-radius: 18px;
  box-shadow: 0 22px 46px rgba(31,26,32,.10);
}

/* Mobile polish */
@media (max-width: 520px){
  .bb-prose{
    padding: 18px 16px;
  }
  .bb-prose :is(p, ul, ol){font-size: 15px}
}


.bb-toc.bb-toc--ready{display:block}

/* FAQ using details/summary */
.bb-faq{
  margin-top: 10px;
}
.bb-faqItem{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background:
    radial-gradient(700px 420px at 20% 10%, rgba(195,213,191,.26), rgba(255,255,255,0)),
    #fff;
  box-shadow: 0 16px 30px rgba(31,26,32,.06);
  padding: 0;
  margin: 12px 0;
  overflow: hidden;
}
.bb-faqQ{
  list-style: none;
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 700;
  color: rgba(0,0,0,.86);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}
.bb-faqQ::-webkit-details-marker{display:none}
.bb-faqQ:after{
  content:"+";
  font-weight: 800;
  color: var(--bb-plum-strong, #6b3f58);
  width: 28px;
  height: 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  background: rgba(122,150,132,.10);
  border: 1px solid rgba(107,63,88,.20);
  flex: 0 0 auto;
}
.bb-faqItem[open] .bb-faqQ:after{
  content:"–";
  background: rgba(195,213,191,.35);
}
.bb-faqItem > *:not(summary){
  padding: 0 16px 16px;
}
.bb-faqItem p{
  margin: 0 0 12px;
  color: rgba(0,0,0,.78);
  line-height: 1.7;
}


/* -------------------------------------------------------
   Bold but refined palette + contrast upgrades (premium conversion)
------------------------------------------------------- */


/* Nav contrast */

.bb-nav a{
  color: var(--bb-ink);
}
.bb-nav a:hover,
.bb-nav a[aria-current="page"]{
  color: var(--bb-plum-strong);
}
.bb-nav .bb-nav__item--hasDropdown > a:after{
  color: var(--bb-accent-gold);
}

/* Primary CTA button: stronger */
.bb-btn--primary{
  background: linear-gradient(180deg, var(--bb-plum-strong), var(--bb-plum-deep));
  color: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 14px 34px rgba(90,46,70,.34);
}
.bb-btn--primary:hover{
  box-shadow: 0 18px 44px rgba(90,46,70,.44);
  transform: translateY(-1px);
}
.bb-btn--primary:focus{
  outline: 3px solid rgba(200,162,77,.35);
  outline-offset: 2px;
}

/* Secondary button: crisp */
.bb-btn--secondary{
  background: #fff;
  border: 1px solid rgba(90,46,70,.28);
  color: var(--bb-plum-strong);
}
.bb-btn--secondary:hover{
  background: rgba(175,198,182,.18);
  border-color: rgba(90,46,70,.42);
}

/* Headings: darker + underline accent already handled */
.bb-hero h1,
.bb-pageHero h1,
.bb-postHero h1,
.bb-prose h1,
.bb-prose h2,
.bb-prose h3{
  color: var(--bb-ink);
}
.bb-kicker,
.bb-subtitle{
  color: var(--bb-ink-soft);
}

/* Hero backgrounds: clean, high-end */
.bb-hero.bb-pattern,
.bb-pageHero.bb-pattern,
.bb-postHero.bb-pattern{
  background:#ffffff;
}

/* Cards: stronger hierarchy */
.bb-card{
  border: 1px solid rgba(0,0,0,.10);
  background:
    radial-gradient(520px 300px at 14% 0%, var(--bb-sage-glow), rgba(255,255,255,0)),
    #fff;
  box-shadow: 0 16px 34px rgba(31,26,32,.08);
}
.bb-card__title{
  color: var(--bb-ink);
}
.bb-card__title:before{
  color: var(--bb-accent-gold);
}
.bb-card:hover{
  border-color: rgba(90,46,70,.55);
  box-shadow: 0 22px 48px rgba(31,26,32,.14);
}

/* Proof band: more pop */
.bb-proofband{
  background:
    radial-gradient(1100px 520px at 20% 0%, rgba(175,198,182,.40), rgba(255,255,255,0)),
    linear-gradient(180deg, rgba(90,46,70,.06), rgba(255,255,255,1));
}
.bb-proof{
  border: 1px solid rgba(0,0,0,.10);
}
.bb-proof__icon{
  background: rgba(200,162,77,.14);
  border: 1px solid rgba(200,162,77,.26);
}

/* Sidebar conversion cards */
.bb-sideCard{
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 18px 40px rgba(31,26,32,.10);
}
.bb-sideCard--primary{
  border-color: rgba(90,46,70,.55);
  box-shadow: 0 22px 52px rgba(90,46,70,.18);
}

/* Links: subtle but clear */
.bb-prose a{
  color: var(--bb-plum-strong);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.bb-prose a:hover{
  color: var(--bb-plum-deep);
}


/* -------------------------------------------------------
   EXTRA BOLD PASS – High-contrast, premium authority
------------------------------------------------------- */


/* Headings bigger + heavier */
.bb-hero h1,
.bb-pageHero h1,
.bb-postHero h1{
  font-size: clamp(34px, 4.6vw, 56px);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.bb-prose h2{
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 700;
}

/* Section separators */
.bb-section{
  border-top: 1px solid rgba(0,0,0,.08);
}

/* Buttons pop harder */
.bb-btn--primary{
  box-shadow: 0 20px 60px rgba(62,26,44,.45);
}
.bb-btn--primary:hover{
  box-shadow: 0 28px 80px rgba(62,26,44,.55);
}

/* Proof + service cards more contrast */
.bb-card,
.bb-proof,
.bb-sideCard{
  border-color: rgba(62,26,44,.35);
}

/* Hero contrast boost */
.bb-hero.bb-pattern{
  background:#ffffff;
}

/* Callout emphasis */
.bb-prose .kg-callout-card{
  border-left: 6px solid var(--bb-accent-gold);
}


/* -------------------------------------------------------
   PUSH BOLDER – 100k-level punch (still refined)
------------------------------------------------------- */


/* Make the whole site feel "designed" via subtle background texture */
body{
  background:#ffffff;
}

/* Stronger nav presence */


/* Typography hierarchy – bigger + more editorial */
.bb-hero h1,
.bb-pageHero h1,
.bb-postHero h1{
  font-size: clamp(36px, 5.2vw, 64px);
  font-weight: 850;
  line-height: 1.06;
}
.bb-hero .bb-subtitle,
.bb-pageHero .bb-subtitle{
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.55;
}
.bb-prose :is(p, ul, ol){
  font-size: 16px;
  line-height: 1.75;
  color: var(--bb-ink-soft);
}

/* Premium section blocks (alternating subtle panels) */
.bb-section:nth-of-type(even){
  background:#ffffff;
}
.bb-section:nth-of-type(odd){
  background:#ffffff;
}

/* Stronger H2 underline and spacing */
.bb-prose h2:after{
  width: 72px;
  height: 4px;
  background:#ffffff;
  box-shadow: 0 10px 22px rgba(224,184,78,.22);
}
.bb-prose h2{
  margin-top: 34px;
}

/* Cards: more depth + crisp top accent bar */
.bb-card,
.bb-proof,
.bb-sideCard,
.bb-faqItem{
  border: 1px solid rgba(44,11,26,.28);
  box-shadow: 0 22px 58px rgba(0,0,0,.10);
  position: relative;
}
.bb-card:before,
.bb-proof:before,
.bb-sideCard:before,
.bb-faqItem:before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  background: linear-gradient(90deg, var(--bb-accent-gold), rgba(224,184,78,0));
  opacity:.95;
}
.bb-card:hover{
  box-shadow: 0 30px 80px rgba(0,0,0,.14);
}

/* Make service titles feel "signature" */
.bb-card__title{
  font-weight: 800;
  letter-spacing: -0.01em;
}

/* Buttons: larger + more tactile */
.bb-btn{
  padding: 12px 18px;
  font-weight: 800;
}
.bb-btn--primary{
  box-shadow: 0 26px 90px rgba(44,11,26,.50);
}
.bb-btn--primary:hover{
  box-shadow: 0 34px 120px rgba(44,11,26,.60);
}
.bb-btn--secondary{
  border-width: 2px;
}

/* Testimonial / quote styling – premium pull quote */
.bb-prose blockquote{
  border-left: 6px solid var(--bb-accent-gold);
  background:#ffffff;
  box-shadow: 0 18px 44px rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 18px 18px;
}
.bb-prose blockquote p{
  font-size: 17px;
  color: var(--bb-ink);
}

/* Micro accents: links and highlights */
.bb-prose a{
  color: var(--bb-plum-strong);
}
.bb-prose a:hover{
  color: var(--bb-plum-deep);
}

/* Mobile: keep bold without crowding */
@media (max-width: 520px){
  
  .bb-btn{width:100%}
  .bb-btn + .bb-btn{margin-top: 10px}
}


/* Pattern overlay hook (use with inline style background-image on section) */
.bb-patternOverlay:before{
  content:"";
  position:absolute;
  inset:0;
  background-repeat: repeat;
  background-size: 520px auto;
  opacity: .06;
  pointer-events:none;
}


/* Zero-click definition blocks */
.bb-definition{
  border: var(--bb-border-strong);
  border-radius: var(--bb-r-xl);
  padding: 16px 18px;
  background: rgba(166,193,176,.14);
  box-shadow: 0 14px 36px rgba(0,0,0,.06);
}
.bb-definition strong{color: var(--bb-ink);}


/* =======================================================
   Formatting Fixes – Proof band + Sidebar cards
======================================================= */

/* Proof band: prevent clipping, ensure full-width padding */
.bb-proofband{
  padding-top: 22px ;
  padding-bottom: 18px ;
}
.bb-proofbandGrid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
@media (max-width: 980px){
  .bb-proofbandGrid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 520px){
  .bb-proofbandGrid{grid-template-columns: 1fr;}
}

.bb-proof{
  border-radius: 18px;
  padding: 14px 14px;
  overflow: hidden;
}
.bb-proof__title{
  font-weight: 850;
  letter-spacing: -0.01em;
}
.bb-proof__text{
  color: rgba(0,0,0,.72);
}

/* Remove any accidental lines touching proof cards */
.bb-proofband:before,
.bb-proofband:after{content:none ;}

/* Sidebar stack spacing */
.bb-aside{
  display: grid;
  gap: 18px;
}
.bb-sideCard{
  border-radius: 22px;
  padding: 18px 18px;
}
.bb-sideCard h3{
  margin: 0 0 10px 0;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.01em;
}
.bb-sideCard p{
  margin: 0 0 14px 0;
  color: rgba(0,0,0,.74);
  line-height: 1.6;
}

/* Buttons inside sidebar: consistent gaps + full width */
.bb-sideCard .bb-btn{
  width: 100%;
  justify-content: center;
  margin: 0;
}
.bb-sideCard .bb-btn + .bb-btn{
  margin-top: 10px;
}

/* Quick links list: tidy padding and alignment */
.bb-quickLinks{
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.bb-quickLinks a{
  display: block;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(44,11,26,.18);
  background: rgba(166,193,176,.14);
  font-weight: 800;
  color: rgba(0,0,0,.86);
  text-decoration: none;
}
.bb-quickLinks a:hover{
  background: rgba(166,193,176,.22);
}

/* Sidebar accent bars: keep subtle + aligned */
.bb-sideCard:before{
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
}


/* =======================================================
   Fix: Remove/align gold accent line on sidebar cards
======================================================= */
.bb-aside .bb-sideCard{
  overflow: hidden;
}
.bb-aside .bb-sideCard:before{
  content: none ;
  display: none ;
}


/* =======================================================
   Fix: Sidebar gold accent line (page aside)
======================================================= */
.bb-pageAside .bb-sideCard{overflow:hidden;}
.bb-pageAside .bb-sideCard:before,
.bb-pageAside .bb-sideCard:after{
  content:none ;
  display:none ;
}


/* Sidebar layout */
.bb-pageAside{
  display: grid;
  gap: 18px;
}
.bb-sideLinks{
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.bb-sideLink{
  display:block;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(44,11,26,.18);
  background: rgba(166,193,176,.14);
  font-weight: 800;
  color: rgba(0,0,0,.86);
  text-decoration: none;
}
.bb-sideLink:hover{background: rgba(166,193,176,.22);}


/* Sidebar cards: remove top accent bar entirely */
.bb-sideCard--noAccent:before{
  content:none ;
  display:none ;
  height:0 ;
  background:none ;
}


/* =======================================================
   FINAL OVERRIDE: Remove gold accent bar from sidebar cards
   (Ghost build order was overriding earlier rules)
======================================================= */
.bb-side .bb-sideCard{position:relative;}
.bb-side .bb-sideCard:before{
  content:none ;
  display:none ;
  height:0 ;
  background:none ;
  opacity:0 ;
}



/* =======================================================
   Tasteful Pattern System (Bloom & Balance)
======================================================= */


/* Utility wrappers */
.bb-patternWrap{position:relative; isolation:isolate;}
.bb-patternWrap:before{
  content:"";
  position:absolute;
  inset:0;
  background-repeat: repeat;
  background-size: 520px auto;
  opacity: var(--bb-pattern-opacity-panel);
  pointer-events:none;
  z-index:0;
}
.bb-patternWrap > *{position:relative; z-index:1;}

.bb-pattern--sage:before{
  background-image:none;
  mix-blend-mode:multiply;
}
.bb-pattern--floral:before{
  background-image:none;
  mix-blend-mode:multiply;
}

/* Hero: subtle pattern + soft vignette */
.bb-hero{position:relative; isolation:isolate;}
.bb-hero:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background-image:none;
  background-repeat:repeat;
  background-size: 520px auto;
  opacity: var(--bb-pattern-opacity-hero);
  pointer-events:none;
  z-index:0;
  mix-blend-mode:multiply;
}
.bb-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:#ffffff;
  pointer-events:none;
  z-index:0;
}
.bb-hero > *{position:relative; z-index:1;}

/* Panel sections: light floral pattern only, keeps it premium */
.bb-section--panel{position:relative; isolation:isolate;}
.bb-section--panel:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:none;
  background-repeat:repeat;
  background-size: 640px auto;
  opacity: var(--bb-pattern-opacity-panel);
  pointer-events:none;
  z-index:0;
  mix-blend-mode:multiply;
}
.bb-section--panel > *{position:relative; z-index:1;}

/* Footer: calm texture */

.bb-footer:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:none;
  background-repeat:repeat;
  background-size: 720px auto;
  opacity: var(--bb-pattern-opacity-footer);
  pointer-events:none;
  z-index:0;
  mix-blend-mode:multiply;
}
.bb-footer > *{position:relative; z-index:1;}

/* Mobile: reduce pattern intensity */
@media (max-width: 680px){
  
  .bb-hero:before{background-size: 440px auto;}
  .bb-section--panel:before{background-size: 520px auto;}
}


/* Footer class alias */
.bb-siteFooter{position:relative; isolation:isolate;}
.bb-siteFooter:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:none;
  background-repeat:repeat;
  background-size: 720px auto;
  opacity: var(--bb-pattern-opacity-footer);
  pointer-events:none;
  z-index:0;
  mix-blend-mode:multiply;
}
.bb-siteFooter > *{position:relative; z-index:1;}



/* =======================================================
   A+ POLISH LAYER (site-wide consistency + premium feel)
   This block is intentionally last to win cascade.
======================================================= */

/* 1) Global rhythm: consistent section spacing */
.bb-section{padding: clamp(56px, 6vw, 92px) 0 ;}
.bb-section--tight{padding: clamp(32px, 4vw, 60px) 0 ;}
.bb-wrap{max-width: var(--bb-max) ;}
.bb-reading{max-width: var(--bb-reading) ;}

/* 2) Header: more breathing room, true premium bar */

.bb-headerInner{
  min-height: 76px ;
  gap: 18px ;
}
.bb-logo{
  transform: translateY(1px);
}
@media (max-width: 840px){
  .bb-headerInner{min-height: 70px ;}
}

/* 3) Mobile menu icon: refined pill + larger tap target */
.bb-menuBtn{
  width: 46px ;
  height: 46px ;
  border-radius: 999px ;
  border: 1px solid rgba(44,11,26,.18) ;
  background: rgba(255,255,255,.86) ;
  box-shadow: 0 10px 24px rgba(0,0,0,.08) ;
}
.bb-menuBtn svg{width: 22px ; height: 22px ;}

/* 4) Hero: tighten copy width + CTA hierarchy */
.bb-hero .bb-reading{max-width: 680px ;}
.bb-hero h1{letter-spacing: -0.02em;}
.bb-hero .bb-btn--secondary{
  background: transparent ;
  border: 1px solid rgba(44,11,26,.22) ;
}

/* 5) Proof band: clean cards, no touching lines, consistent grid */
.bb-proofband{padding-top: 26px ; padding-bottom: 24px ;}
.bb-proofband:before,
.bb-proofband:after{content:none ;}
.bb-proofbandGrid{
  display:grid ;
  grid-template-columns: repeat(4, minmax(0,1fr)) ;
  gap: 18px ;
}
.bb-proof{
  background: rgba(255,255,255,.90) ;
  border: 1px solid rgba(44,11,26,.14) ;
  box-shadow: 0 16px 44px rgba(0,0,0,.06) ;
  padding: 16px ;
}
.bb-proof__title{font-weight: 900 ;}
.bb-proof__text{margin-top: 6px ;}
@media (max-width: 980px){.bb-proofbandGrid{grid-template-columns: repeat(2, minmax(0,1fr)) ;}}
@media (max-width: 560px){.bb-proofbandGrid{grid-template-columns: 1fr ;}}

/* 6) Services grid: featured “start here” style using first card */
.bb-servicesGrid .bb-card:first-child{
  border: 1px solid rgba(44,11,26,.24) ;
  box-shadow: 0 22px 70px rgba(44,11,26,.14) ;
  transform: translateY(-2px);
}
.bb-servicesGrid .bb-card:first-child .bb-badge{
  display:inline-flex ;
}
.bb-badge{
  display:none;
  align-items:center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(195,213,191,.55);
  border: 1px solid rgba(44,11,26,.18);
}

/* 7) Sidebar: MUST be secondary, calm, no accent bars ever */
.bb-pageAside{
  display:grid ;
  gap: 18px ;
}
.bb-pageAside .bb-sideCard{
  background:#ffffff;
  border: 1px solid rgba(44,11,26,.12) ;
  box-shadow: 0 14px 42px rgba(0,0,0,.05) ;
}
.bb-pageAside .bb-sideCard:before,
.bb-pageAside .bb-sideCard:after{
  content:none ;
  display:none ;
  height:0 ;
  background:#ffffff;
}
.bb-pageAside .bb-sideCard h3{
  font-size: 16px ;
  font-weight: 900 ;
}
.bb-pageAside .bb-sideCard p{
  font-size: 14px ;
  color: rgba(0,0,0,.70) ;
}
.bb-pageAside .bb-btn{
  border-radius: 14px ;
}

/* 8) Body typography: A+ hierarchy for zero-click extraction */
.bb-prose h2{
  font-size: clamp(22px, 2.4vw, 30px) ;
  margin-top: 34px ;
  margin-bottom: 12px ;
  letter-spacing: -0.01em;
}
.bb-prose h3{
  font-size: 18px ;
  margin-top: 24px ;
  margin-bottom: 10px ;
}
.bb-prose p{line-height: 1.75 ;}
.bb-prose ul, .bb-prose ol{padding-left: 18px ;}

/* 9) Zero-click “answer blocks” component */
.bb-answerBlock{
  border: 1px solid rgba(44,11,26,.18);
  border-radius: 22px;
  padding: 18px 18px;
  background:
    radial-gradient(700px 360px at 14% 10%, rgba(195,213,191,.28), rgba(255,255,255,0)),
    rgba(255,255,255,.92);
  box-shadow: 0 16px 46px rgba(0,0,0,.06);
}
.bb-answerBlock .q{
  font-weight: 950;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}
.bb-answerBlock .a{
  color: rgba(0,0,0,.74);
  line-height: 1.7;
}

/* 10) Blog: premium index cards, less image dominance */
.bb-blogHero h1{letter-spacing: -0.02em;}
.bb-postCard{
  border-radius: 22px ;
  border: 1px solid rgba(44,11,26,.12) ;
  background: rgba(255,255,255,.92) ;
  box-shadow: 0 14px 44px rgba(0,0,0,.06) ;
}
.bb-postCard__img{
  aspect-ratio: 16/9 ;
  border-top-left-radius: 22px ;
  border-top-right-radius: 22px ;
}
.bb-postCard__title{font-weight: 950 ;}
.bb-postCard__excerpt{color: rgba(0,0,0,.74) ;}

/* 11) Buttons: heavier, more intentional */
.bb-btn{
  font-weight: 900 ;
  letter-spacing: -0.01em;
  box-shadow: 0 18px 46px rgba(44,11,26,.12);
}
.bb-btn--secondary{box-shadow: none ;}

/* 12) Reduce pattern intensity in dense areas */
.bb-pageAside:before{content:none ;}



/* =======================================================
   A+ FINAL REFINEMENT PASS (contrast, hierarchy, discipline)
======================================================= */

/* Header grounding + nav weight */

.bb-nav a{font-weight: 600 ;}
.bb-nav a:hover{opacity: .85;}
.bb-header .bb-btn--navCta{
  padding: 12px 18px ;
  background: rgba(44,11,26,.92) ;
}

/* Hero texture: quieter so text wins */
.bb-hero{
  position: relative;
}
.bb-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:#ffffff;
  opacity: .55;
  pointer-events:none;
}
/* Ensure inner content sits above the texture layer */
.bb-hero > *{position: relative; z-index: 1;}

/* Chips: tighter and more intentional */
.bb-chip{
  font-weight: 700;
  border: 1px solid rgba(44,11,26,.14);
  background: rgba(255,255,255,.76);
}

/* Proof band: pure white base + separation */
.bb-proofband{
  background: #fff ;
  border-top: 0 ;
  box-shadow: 0 -1px 0 rgba(44,11,26,.06) inset;
  margin-top: 0 ;
}
.bb-proofband .bb-proof{
  border: 1px solid rgba(44,11,26,.12) ;
}

/* Services cards: accent edge + stronger CTA */
.bb-cardGrid .bb-card{
  border: 1px solid rgba(44,11,26,.12) ;
  box-shadow: 0 12px 40px rgba(0,0,0,.06) ;
  position: relative;
  overflow: hidden;
}
.bb-cardGrid .bb-card:before{
  content:"";
  position:absolute;
  left:0; top:0;
  width: 100%;
  height: 4px;
  background: rgba(44,11,26,.18);
}
.bb-cardGrid .bb-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 68px rgba(0,0,0,.10) ;
}
.bb-cardGrid .bb-card__more{
  font-weight: 900 ;
  letter-spacing: -0.01em;
  color: rgba(44,11,26,.92) ;
}

/* Sidebar: only primary has gradient; others flat and secondary */
.bb-sideCard{
  background: rgba(255,255,255,.92) ;
}
.bb-sideCard--primary{
  background:
    radial-gradient(700px 360px at 12% 8%, rgba(195,213,191,.30), rgba(255,255,255,0)),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88)) ;
  border: 1px solid rgba(44,11,26,.20) ;
}
.bb-sideCard--noAccent{
  background: rgba(255,255,255,.92) ;
  border: 1px solid rgba(44,11,26,.10) ;
}
/* Kill any lingering “gold line” artifacts anywhere in sidebar */
.bb-side, .bb-pageAside, .bb-sideCard, .bb-sideCard *{
  outline: none ;
}
.bb-sideCard::before,
.bb-sideCard::after,
.bb-side::before,
.bb-side::after{
  content: none ;
  display:none ;
}


/* Header CTAs */
.bb-nav-pill{
  padding: 12px 18px ;
  border-radius: 999px ;
  background: rgba(44,11,26,.92) ;
  color: #fff ;
  font-weight: 900 ;
  box-shadow: 0 14px 40px rgba(44,11,26,.18);
}
.bb-mobile-cta{
  padding: 10px 14px ;
  border-radius: 999px ;
  background: rgba(44,11,26,.92) ;
  color: #fff ;
  font-weight: 900 ;
  border: 1px solid rgba(255,255,255,.18);
}


@media (max-width:768px){.bb-brand__logo{height:38px;max-height:38px}}


/* Logo size A+ adjustment */
.bb-brand__logo{height:48px ; max-height:48px ; width:auto ;}
@media (max-width:768px){.bb-brand__logo{height:38px ; max-height:38px ;}}


/* -------------------------------------------------------
   Service Pages: Increase Contrast + Reduce Washout
------------------------------------------------------- */
.bb-pageHero{
  background:#ffffff;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

/* Make pattern texture more subtle on interior hero */
.bb-pageHero.bb-pattern:before{
  opacity:.22;
  filter: blur(.2px);
  mask-image: radial-gradient(circle at 50% 30%, rgba(0,0,0,1), rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 85%);
  -webkit-mask-image: radial-gradient(circle at 50% 30%, rgba(0,0,0,1), rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 85%);
}

/* Typography: darker text to avoid “washed” feel */
.bb-prose :is(p, ul, ol){color: rgba(0,0,0,.82)}
.bb-prose :is(h2,h3,h4){color: rgba(0,0,0,.92)}

/* Cards: slightly stronger borders + shadows */
.bb-prose,
.bb-sideCard{
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 16px 34px rgba(31,26,32,.08);
}

/* Sidebar primary card: richer tint */
.bb-sideCard--primary{
  background:
    radial-gradient(900px 560px at 20% 20%, rgba(195,213,191,.70), rgba(195,213,191,0)),
    radial-gradient(700px 420px at 85% 15%, rgba(122,150,132,.16), rgba(122,150,132,0)),
    linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,1));
}

/* CTA buttons: a touch more punch */
.bb-btn--primary{
  box-shadow: 0 18px 36px rgba(44,11,26,.22);
}
.bb-btn--secondary{
  border-color: rgba(122,150,132,.40);
}


/* === Added: phone + socials + thank you === */
.bb-nav-phone a{
  font-weight:700;
  letter-spacing:.01em;
  padding:10px 12px;
  border:1px solid rgba(45,15,31,.18);
  border-radius:999px;
  background:rgba(255,255,255,.75);
  backdrop-filter:saturate(140%) blur(8px);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
}
.bb-nav-phone a:hover{border-color:rgba(45,15,31,.3);transform:translateY(-1px);}

.bb-footer__phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  letter-spacing:.01em;
  color:var(--bb-ink);
  text-decoration:none;
  margin-top:8px;
}
.bb-footer__social{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.bb-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(45,15,31,.16);
  background:rgba(255,255,255,.8);
  color:var(--bb-ink);
  text-decoration:none;
  font-weight:700;
  line-height:1;
}
.bb-social svg{fill:currentColor;opacity:.9}
.bb-social:hover{border-color:rgba(45,15,31,.28);transform:translateY(-1px)}

.bb-thankyou{
  margin-top:28px;
  padding:22px 22px 18px;
  border-radius:18px;
  border:1px solid rgba(45,15,31,.14);
  background:radial-gradient(900px 300px at 0% 0%,rgba(185,210,179,.35),rgba(255,255,255,.95) 60%);
  box-shadow:0 22px 60px rgba(0,0,0,.10);
}
.bb-thankyou__title{margin:0 0 6px;font-size:18px}
.bb-thankyou__text{margin:0 0 12px;color:var(--bb-ink-2)}
.bb-thankyou__social{display:flex;flex-wrap:wrap;gap:10px}

@media (max-width: 900px){
  .bb-nav-phone{display:none;} /* keep header clean on small screens; phone is in footer + thank you */
}


/* Stronger interior typography accents */
.bb-prose h2,
.bb-prose h3{
  color:var(--bb-ink);
}
.bb-prose h2{
  position:relative;
  padding-bottom:10px;
  margin-top:42px;
}
.bb-prose h2:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:4px;
  border-radius:999px;
  background:#ffffff;
}
.bb-prose a{font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}


/* --- Mobile header phone icon --- */
.bb-header__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.85);
  color:var(--bb-ink);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  backdrop-filter:saturate(140%) blur(8px);
}
.bb-header__icon:focus-visible{outline:3px solid rgba(122,150,132,.35); outline-offset:2px;}
.bb-header__icon--phone{margin-right:10px;}
@media (min-width: 981px){
  .bb-header__icon--phone{display:none;}
}

/* --- Mobile nav overlay panel + close --- */
.bb-nav--mobile{
  background:rgba(7,7,10,.55);
  backdrop-filter:saturate(120%) blur(10px);
}
.bb-nav--mobile .bb-nav-panel{
  background:rgba(255,255,255,.96);
  border-radius:22px;
  margin:86px 16px 16px;
  padding:18px 14px 14px;
  box-shadow:0 24px 80px rgba(0,0,0,.25);
  border:1px solid rgba(0,0,0,.08);
}
.bb-nav--mobile .nav{
  padding:0;
}
.bb-nav-close{
  position:fixed;
  top:18px;
  right:18px;
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(20,10,18,.60);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1000;
  box-shadow:0 18px 40px rgba(0,0,0,.25);
}
.bb-nav-close:hover{background:rgba(20,10,18,.75);}
.bb-nav-close:focus-visible{outline:3px solid rgba(255,255,255,.6); outline-offset:2px;}

/* --- Mobile spacing polish --- */
@media (max-width: 640px){
  .bb-hero{padding-top:56px; padding-bottom:22px;}
  .bb-hero__inner{gap:18px;}
  .bb-hero__title{font-size:44px; line-height:1.02;}
  .bb-hero__ctas{flex-direction:column; align-items:stretch;}
  .bb-btn{width:100%; justify-content:center;}
  .bb-proofband{padding:18px 0 22px;}
  .bb-proofband__grid{grid-template-columns:1fr; gap:12px;}
  .bb-services-grid{grid-template-columns:1fr; gap:14px;}
  .bb-section{padding:42px 0;}
  .bb-card{border-radius:22px;}
  .bb-page-hero{padding-top:64px; padding-bottom:26px;}
  .bb-page-hero__title{font-size:44px; line-height:1.06;}
  .bb-content{font-size:17px;}
}

/* =======================================================
   A+ EVERYTHING PASS (footer + phone icon + interior pop)
======================================================= */

/* Header: mobile phone icon */
.bb-mobile-phone{
  display:none;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  border-radius:999px;
  border:1px solid rgba(44,11,26,.18);
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  color: rgba(44,11,26,.92);
}
@media (max-width: 980px){
  .bb-mobile-phone{display:inline-flex;}
}

/* Footer: clean desktop grid */

.bb-footerGrid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 28px;
  align-items:start;
}
.bb-footerCol--brand .bb-footer__title{font-weight: 950; font-size: 20px; letter-spacing:-0.01em;}
.bb-footer__desc{margin-top:10px; color: rgba(0,0,0,.74); max-width: 44ch; line-height:1.6;}
.bb-footer__kicker{margin-top:14px; font-weight:800; font-size: 12px; letter-spacing:.08em; text-transform:uppercase; color: rgba(44,11,26,.72);}
.bb-footer__label{font-weight: 950; letter-spacing:.08em; text-transform:uppercase; font-size:12px; margin-bottom: 12px; color: rgba(44,11,26,.74);}
.bb-footer__contactLink{display:flex; gap:10px; align-items:center; font-weight:900; color: rgba(44,11,26,.92); text-decoration:none;}
.bb-footer__contactLink:hover{text-decoration:underline;}
.bb-footer__micro{margin-top:10px; color: rgba(0,0,0,.72); line-height:1.55; max-width: 40ch;}
.bb-footer__micro a{font-weight:900;}
.bb-socials{display:flex; gap:10px; align-items:center;}
.bb-social{
  width:40px;height:40px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  border:1px solid rgba(44,11,26,.14);
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
  color: rgba(44,11,26,.86);
}
.bb-social:hover{transform: translateY(-1px); box-shadow: 0 18px 46px rgba(0,0,0,.09);}
.bb-footerBottom{
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid rgba(44,11,26,.10);
  display:flex;
  justify-content:space-between;
  gap: 18px;
  flex-wrap:wrap;
}
.bb-footer__small{color: rgba(0,0,0,.70); font-size: 13px;}
.bb-footer__smallLinks{display:flex; gap:10px; align-items:center; color: rgba(0,0,0,.62); font-size: 13px;}
.bb-footer__smallLinks a{color: inherit; text-decoration:none;}
.bb-footer__smallLinks a:hover{text-decoration:underline;}

@media (max-width: 980px){
  .bb-footerGrid{grid-template-columns: 1fr 1fr; gap: 22px;}
}
@media (max-width: 560px){
  .bb-footerGrid{grid-template-columns: 1fr; gap: 18px;}
  .bb-footerBottom{flex-direction:column; align-items:flex-start;}
}

/* Interior pages: universal pop (less washout) */
.bb-pageHero, .bb-serviceHero, .bb-locationHero{
  background:#ffffff;
}
.bb-pageHero:before, .bb-serviceHero:before, .bb-locationHero:before{
  opacity: .55 ; /* tame texture */
}
.bb-prose{color: rgba(0,0,0,.84);}
.bb-prose p{color: rgba(0,0,0,.78);}
.bb-card, .bb-panel, .bb-sideCard{
  border: 1px solid rgba(44,11,26,.14);
  box-shadow: 0 16px 44px rgba(0,0,0,.06);
}
.bb-card:hover{transform: translateY(-2px); box-shadow: 0 22px 70px rgba(44,11,26,.10);}
.bb-btn{box-shadow: 0 22px 70px rgba(44,11,26,.14);}

/* Thank you inline socials */
.bb-inlineSocial a{font-weight:900; text-decoration:underline; text-underline-offset:3px;}

/* ===== A+ footer + header polish overrides (Jan 2026) ===== */

/* Header: avoid duplicate phone icons on mobile */
.bb-header__icon--phone{display:none ;}

/* Footer: widen container + rebalance grid so it doesn't look "broken" on large screens */
.bb-footer .bb-footer__inner{
  max-width: 1400px;
}

.bb-footerGrid{
  grid-template-columns: minmax(300px, 1.25fr) minmax(170px, .75fr) minmax(210px, .9fr) minmax(260px, 1fr);
  column-gap: clamp(18px, 3vw, 42px);
  row-gap: 28px;
  align-items: start;
}

.bb-footerCol--brand .bb-footer__title{
  font-size: clamp(26px, 2vw, 34px);
  line-height: 1.05;
  letter-spacing: -.02em;
}

.bb-footerCol--brand .bb-footer__desc{
  max-width: 46ch;
}

.bb-footerBottom{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 22px;
  margin-top: 26px;
  border-top: 1px solid rgba(17,17,17,.08);
}

/* Make footer links align nicely */
.bb-footer .nav{
  margin: 0;
}
.bb-footer .nav li{
  margin: 0 0 10px 0;
}

/* Responsive footer: stack cleanly */
@media (max-width: 900px){
  .bb-footerGrid{grid-template-columns: 1fr 1fr;}
  .bb-footerCol--brand{grid-column: 1 / -1;}
}
@media (max-width: 520px){
  .bb-footerGrid{grid-template-columns: 1fr;}
  .bb-footerBottom{flex-direction: column; align-items:flex-start;}
}

/* ===== BBW A+ FIXES: Footer layout + mobile header icons ===== */

/* Prevent duplicate phone icons (mobile has .bb-mobile-phone already) */
.bb-header__icon--phone{display:none ;}

/* Footer: make it feel intentional on wide screens and prevent "empty right" look */
.bb-footer .bb-container{max-width: 1400px;}

/* CRITICAL: The footer markup expects the inner container to be a simple block.
   A legacy rule earlier in this file sets `.bb-footer__inner` to `display:grid`,
   which incorrectly places `.bb-footerBottom` into a narrow side column.
   Force the correct layout here so the bottom row spans full width beneath the grid. */
.bb-footer__inner{display:block ;}
.bb-footerGrid{width:100%;}
.bb-footerBottom{width:100%;}

.bb-footerGrid{
  grid-template-columns: minmax(300px, 1.25fr) minmax(170px, .8fr) minmax(210px, .9fr) minmax(280px, 1.05fr);
  column-gap: clamp(18px, 3vw, 44px);
}

/* Keep brand block readable */
.bb-footerBrand h3{
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.bb-footerBrand p{
  max-width: 34ch;
}

/* Make meta row always span full grid width */
.bb-footerMeta{
  grid-column: 1 / -1;
  width: 100%;
}

/* Balance the right side so it doesn't float too far left */
.bb-footerMeta__right{
  justify-content: flex-end;
  text-align: right;
}

@media (max-width: 980px){
  .bb-footerGrid{grid-template-columns: 1fr 1fr;}
  .bb-footerMeta{flex-direction: column; align-items: flex-start;}
  .bb-footerMeta__right{justify-content: flex-start; text-align: left;}
}

@media (max-width: 620px){
  .bb-footerGrid{grid-template-columns: 1fr;}
}


/* --- Subpage layout fix: prevent empty left column blocks on small screens --- */
@media (max-width: 900px){
  .bb-split{grid-template-columns:1fr ;}
  .bb-split-media{width:100%;}
}
/* If split media is empty, don't render a tinted block */
.bb-split-media:empty{
  display:none ;
  border:0 ;
  background:transparent ;
}

/* -------------------------------------------------------
   Subpages: match homepage background
   Remove alternating section background blocks on pages/posts
------------------------------------------------------- */

/* Panel pattern can tint differently on subpages; neutralize it */
.page-template .bb-section--panel:before,
.post-template .bb-section--panel:before{
  opacity: 0 ;
  mix-blend-mode: normal ;
}

/* Hide split media when there is no image (whitespace can break :empty) */
.bb-split-media:not(:has(img)){
  display:none ;
  border:0 ;
  background:transparent ;
}



/* === Force subpages to match homepage background + remove tinted split placeholders === */

/* Some Ghost templates use more specific body classes; catch them all */

/* If a split media column has no image, hide it (whitespace breaks :empty; :has works in modern browsers) */
body[class*="page-template"] .bb-split-media:not(:has(img)),
body[class*="post-template"] .bb-split-media:not(:has(img)){
  display: none ;
}

/* When media is hidden, ensure the split becomes a single column */
@media (max-width: 900px){
  body[class*="page-template"] .bb-split,
  body[class*="post-template"] .bb-split{
    grid-template-columns: 1fr ;
  }
}

/* As a safety net, remove the tinted placeholder background on subpages */
body[class*="page-template"] .bb-split-media,
body[class*="post-template"] .bb-split-media{
  background:#ffffff;
}


/* -------------------------------------------------------
   Subpages: force sections to inherit homepage background
   This removes any tinted "blocks" caused by section backgrounds or overlays.
------------------------------------------------------- */
body[class*="page-template"] .bb-section,
body[class*="post-template"] .bb-section{
  background:#ffffff;
  background-image:none;
}

/* Kill decorative overlays that can tint in blocks on subpages */
body[class*="page-template"] .bb-section::before,
body[class*="page-template"] .bb-section::after,
body[class*="post-template"] .bb-section::before,
body[class*="post-template"] .bb-section::after{
  background:#ffffff;
  background-image:none;
  opacity: 0 ;
}

/* Safety: if a section uses bb-pattern, keep it clean/white on subpages */
body[class*="page-template"] .bb-pattern,
body[class*="post-template"] .bb-pattern{
  background:#ffffff;
}
body[class*="page-template"] .bb-pattern:before,
body[class*="post-template"] .bb-pattern:before,
body[class*="page-template"] .bb-pattern:after,
body[class*="post-template"] .bb-pattern:after{
  opacity: 0 ;
}


/* ---- Subpage background parity (v4) ---- */
.page-template .bb-pageBody.bb-section,
.post-template .bb-pageBody.bb-section{background:#ffffff;}

/* Remove tinted blocks caused by prose and cards on subpages */
.page-template .bb-prose,
.post-template .bb-prose{
  background:#ffffff;
  background-image:none;
  border-color:transparent ;
  box-shadow:none ;
}

/* Optional: keep content readable without panels */
.page-template .bb-prose,
.post-template .bb-prose{
  padding-left:0 ;
  padding-right:0 ;
}

/* Ensure no section pseudo-overlays tint subpages */
.page-template .bb-pageBody.bb-section::before,
.page-template .bb-pageBody.bb-section::after,
.post-template .bb-pageBody.bb-section::before,
.post-template .bb-pageBody.bb-section::after{
  content:none ;
}

/* =======================================================
   Subpage background parity (v4)
   Goal: make pages/posts match the homepage background
   Removes the tinted 'blocks' from .bb-prose and related panels.
======================================================= */

/* Ensure the page body section itself never paints a panel */
.page-template .bb-pageBody.bb-section,
.post-template .bb-pageBody.bb-section{
  background:#ffffff;
  background-image:none;
}

/* The main culprit: bb-prose uses radial gradients + white fill.
   Make it fully transparent on subpages so the global site bg shows through. */
.page-template .bb-pageBody .bb-prose,
.post-template .bb-pageBody .bb-prose{
  background:#ffffff;
  background-image:none;
  border-color: rgba(0,0,0,.08) ;
  box-shadow: none ;
}

/* If any overlays are applied via pseudo elements, disable them on subpages */
.page-template .bb-pageBody .bb-prose::before,
.page-template .bb-pageBody .bb-prose::after,
.post-template .bb-pageBody .bb-prose::before,
.post-template .bb-pageBody .bb-prose::after{
  content: none ;
  display: none ;
}

/* Also prevent alternating section tints from showing on subpages */
.page-template .bb-pageBody .bb-section--alt,
.post-template .bb-pageBody .bb-section--alt{
  background:#ffffff;
  background-image:none;
  border-top-color: transparent ;
  border-bottom-color: transparent ;
}

/* Optional: keep sidebar cards clean but not tinted */
@media (max-width: 980px){
  .page-template .bb-sideCard,
  .post-template .bb-sideCard{
    background: transparent ;
    background-image: none ;
  }
}

/* =======================================================
   Subpage background parity (v4)
   Goal: make pages/posts match the homepage background
   Removes the tinted 'blocks' from .bb-prose and related panels.
======================================================= */

/* Page/post body section should not introduce its own background */
.page-template .bb-pageBody.bb-section,
.post-template .bb-pageBody.bb-section{
  background:#ffffff;
  background-image:none;
}

/* Primary cause of the colored blocks: .bb-prose uses a radial gradient + #fff */
.page-template .bb-prose,
.post-template .bb-prose,
.page-template .bb-prose--page,
.post-template .bb-prose--page{
  background:#ffffff;
  background-image:none;
  border: 0 ;
  box-shadow: none ;
}

/* Sidebar cards can also create patchwork blocks; keep them consistent */
.page-template .bb-sideCard,
.post-template .bb-sideCard{
  background:#ffffff;
  background-image:none;
}

/* Remove any section alternates/panels on sub pages */
.page-template .bb-section--alt,
.post-template .bb-section--alt{
  background:#ffffff;
  border-top: 0 ;
  border-bottom: 0 ;
}

.page-template .bb-section--panel:before,
.post-template .bb-section--panel:before,
.page-template .bb-pattern:before,
.post-template .bb-pattern:before{
  content: none ;
  display: none ;
}

/* Mobile: if any split media placeholders remain, don't paint them */
.page-template .bb-split-media,
.post-template .bb-split-media{
  background:#ffffff;
  border: 0 ;
}

/* =======================================================
   Subpage background parity (v4)
   Removes tinted blocks on pages/posts.
======================================================= */

.page-template .bb-pageBody.bb-section,
.post-template .bb-pageBody.bb-section{
  background:#ffffff;
  background-image:none;
}

/* The main culprit: .bb-prose paints a white + gradient panel.
   Make it inherit the site background instead.
*/
.page-template .bb-prose,
.post-template .bb-prose,
.page-template .bb-prose--page,
.post-template .bb-prose--page{
  background:#ffffff;
  background-image:none;
  border: 0 ;
  box-shadow: none ;
}

/* Sidebar cards can also introduce alternating tints.
   Keep them neutral so the overall background feels consistent.
*/
.page-template .bb-sideCard,
.post-template .bb-sideCard{
  background:#ffffff;
  background-image:none;
}

/* Disable any pattern overlays that can render as 'blocks' */
.page-template .bb-pattern::before,
.page-template .bb-pattern::after,
.post-template .bb-pattern::before,
.post-template .bb-pattern::after{
  content: none ;
  display: none ;
}

/* =======================================================
   Subpage background parity (v5)
   Keep formatting (padding/border/shadow) but remove solid
   panel fills that appear as 'blocks of color'.
======================================================= */

.page-template .bb-prose,
.post-template .bb-prose,
.page-template .bb-prose--page,
.post-template .bb-prose--page{
  background:#ffffff;
  background-image:none;
  border: 1px solid rgba(0,0,0,.08) ;
  box-shadow: 0 14px 28px rgba(31,26,32,.06) ;
  padding: clamp(18px, 2.6vw, 26px) ;
}

.page-template .bb-sideCard,
.post-template .bb-sideCard,
.page-template .bb-sideCard--primary,
.post-template .bb-sideCard--primary,
.page-template .bb-sideCard--soft,
.post-template .bb-sideCard--soft{
  background:#ffffff;
  background-image:none;
  border: 1px solid rgba(0,0,0,.08) ;
  box-shadow: 0 14px 28px rgba(31,26,32,.06) ;
}

/* -------------------------------------------------------
   Sub pages: keep formatting, remove "background image" look
   (kills radial/linear gradient fills while preserving padding/border/shadow)
------------------------------------------------------- */
.page-template .bb-pageBody .bb-prose,
.post-template .bb-pageBody .bb-prose,
.page-template .bb-pageBody .bb-sideCard,
.post-template .bb-pageBody .bb-sideCard{
  background:#ffffff;
  background-image:none;
}

/* Remove dotted/pattern overlays that can read as blocks on interior pages */

/* -------------------------------------------------------
   Sub pages: match homepage background (keep header intact)
   Remove "background image" effects inside page bodies only
------------------------------------------------------- */

/* Keep page/post wrappers from painting their own background */
.page-template .gh-outer,
.page-template .gh-main,
.page-template .gh-content,
.post-template .gh-outer,
.post-template .gh-main,
.post-template .gh-content{
  background:#ffffff;
}

/* Remove section-level fills/gradients ONLY within the page body */
.page-template .bb-pageBody,
.post-template .bb-pageBody{
  background:#ffffff;
  background-image:none;
}

.page-template .bb-pageBody .bb-section,
.post-template .bb-pageBody .bb-section,
.page-template .bb-pageBody.bb-section,
.post-template .bb-pageBody.bb-section{
  background:#ffffff;
  background-image:none;
}

/* Neutralize decorative overlays that create tinted "blocks" (scoped to page body) */
.page-template .bb-pageBody .bb-section::before,
.page-template .bb-pageBody .bb-section::after,
.post-template .bb-pageBody .bb-section::before,
.post-template .bb-pageBody .bb-section::after,
.page-template .bb-pageBody::before,
.page-template .bb-pageBody::after,
.post-template .bb-pageBody::before,
.post-template .bb-pageBody::after{
  background:#ffffff;
  background-image:none;
  background:#ffffff;
  box-shadow: none ;
  filter: none ;
  mix-blend-mode: normal ;
}

/* If your content panel uses a gradient background-image, remove it but keep spacing/border */
.page-template .bb-prose,
.post-template .bb-prose{
  background-image:none;
  background:#ffffff;
}

/* Same for any card/panel blocks inside the page body */
.page-template .bb-pageBody .bb-card,
.page-template .bb-pageBody .bb-panel,
.page-template .bb-pageBody .bb-surface,
.post-template .bb-pageBody .bb-card,
.post-template .bb-pageBody .bb-panel,
.post-template .bb-pageBody .bb-surface{
  background-image:none;
  background:#ffffff;
}



/* === Bloom & Balance custom overrides: shared hero color & logo size === */

/* Make the logo larger sitewide */
.bb-brand__logo{
  height:64px ;
  max-height:64px ;
  width:auto;
}

/* Shared soft sage gradient background
   Reuse the same feel as the hero/panel section for key areas */


/* Footer background over the pattern */


/* Services section on the homepage */
.bb-section#services{
  background:#ffffff;
}

/* "Ready to start" final CTA background */
.bb-finalCta{
  background:
    radial-gradient(900px 520px at 16% 10%, rgba(166,193,176,.18), rgba(255,255,255,0)),
    linear-gradient(180deg, rgba(166,193,176,.14), rgba(255,255,255,1));
}


/* === Bloom & Balance unified header + hero gradient overrides === */

/* Full-width header band with gradient */


/* Make inner header / nav transparent so gradient shows through */
.bb-header__inner,
.bb-nav,
.bb-nav--desktop,
.bb-nav--mobile{
  background: transparent ;
}

/* Hero pattern section: remove floral image and use same gradient so it feels like one continuous band */
.bb-section.bb-pageHero.bb-pattern{
  background:#ffffff;
  background-image:none;
}

/* Keep services + Ready to Start CTA on the same visual system */
.bb-section#services{
  background:#ffffff;
}

.bb-finalCta{
  background:
    radial-gradient(900px 520px at 16% 10%, rgba(166,193,176,.18), rgba(255,255,255,0)),
    linear-gradient(180deg, rgba(166,193,176,.14), rgba(255,255,255,1)) ;
}

/* Footer matches but stays slightly lighter */


/* === Revised: Gradient only on homepage hero + subpage headers, not navigation === */

/* Restore sticky header background (no gradient on nav bar) */


/* Homepage hero: use gradient instead of default light wash */
.bb-hero:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}

/* Subpage headers (all bb-pageHero sections) */
.bb-section.bb-pageHero.bb-pattern{
  position:relative;
  overflow:hidden;
}

.bb-section.bb-pageHero.bb-pattern:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}

.bb-section.bb-pageHero.bb-pattern > *{
  position:relative;
  z-index:1;
}


/* =======================================================
   100k Visual Polish: Unified Color + Gradient System
   Bloom & Balance Wellness
======================================================= */

/* Refine global palette for a cohesive, high-end feel */


/* Body + main background */
body{
  background:#ffffff;
  color:var(--bb-ink);
}

/* Header: clean, minimal, not fighting the hero */


/* Navigation: keep transparent so header looks like one band */
.bb-header__inner,
.bb-nav,
.bb-nav--desktop,
.bb-nav--mobile{
  background:transparent ;
}

/* Primary buttons: confident accent tone */
.bb-btn--primary{
  background:var(--bb-accent);
  color:#fff;
  box-shadow:0 14px 28px rgba(36,23,32,.20);
}
.bb-btn--primary:hover{
  background:var(--bb-accent-2);
  transform:translateY(-1px);
  box-shadow:0 18px 40px rgba(36,23,32,.28);
}

/* Secondary buttons: soft outline with subtle fill on hover */
.bb-btn--secondary{
  background:rgba(255,255,255,.85);
  color:var(--bb-ink-2);
  border:1px solid rgba(36,23,32,.16);
}
.bb-btn--secondary:hover{
  background:rgba(255,255,255,1);
  box-shadow:0 8px 22px rgba(36,23,32,.12);
}

/* Homepage hero: spa-grade wash, unified with brand colors */
.bb-hero{
  position:relative;
  isolation:isolate;
}
.bb-hero:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}
.bb-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:#ffffff;
  pointer-events:none;
  z-index:0;
}
.bb-hero > *{
  position:relative;
  z-index:1;
}

/* Subpage headers: same system as homepage so everything feels related */
.bb-section.bb-pageHero.bb-pattern{
  position:relative;
  overflow:hidden;
}
.bb-section.bb-pageHero.bb-pattern:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}
.bb-section.bb-pageHero.bb-pattern > *{
  position:relative;
  z-index:1;
}

/* Services band: soft panel that sits on the same color rails */
.bb-section#services{
  background:#ffffff;
  border-top:1px solid rgba(0,0,0,.03);
  border-bottom:1px solid rgba(0,0,0,.03);
}

/* Cards: consistent, subtle elevation */
.bb-card{
  background:var(--bb-panel);
  border-radius:18px;
  border:1px solid rgba(0,0,0,.04);
  box-shadow:0 10px 32px rgba(31,26,32,.06);
}
.bb-card:hover{
  box-shadow:0 18px 46px rgba(31,26,32,.12);
  transform:translateY(-2px);
}

/* Final CTA: mirror the hero but slightly more focused */
.bb-finalCta{
  position:relative;
  overflow:hidden;
}
.bb-finalCta:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:
    radial-gradient(980px 520px at 0% 0%, rgba(195,213,191,.35), transparent 60%),
    radial-gradient(780px 520px at 110% 10%, rgba(122,150,132,.26), transparent 70%),
    linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 70%);
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}
.bb-finalCta > *{
  position:relative;
  z-index:1;
}

/* Footer: quietly tied into the same palette */

.bb-footer a{
  color:var(--bb-ink-2);
}
.bb-footer a:hover{
  color:var(--bb-accent);
}

/* Small details: chips, tags, pills */
.bb-chip,
.bb-tag{
  background:rgba(195,213,191,.22);
  color:var(--bb-ink-2);
  border-radius:999px;
  border:1px solid rgba(195,213,191,.55);
}


/* =======================================================
   Ultra Polish Layer: World-Class Color + Light System
   (Overrides for the previous design tokens)
======================================================= */

/* Final tuned palette: slightly cooler bg, crisper lines, richer ink */


/* Global canvas: extremely subtle, modern gradient */
body{
  background:#ffffff;
  color:var(--bb-ink);
}

/* Header: thinner, glassier, very premium */


/* Tighten nav typography subtly */
.bb-nav a{
  color:var(--bb-ink-2);
}
.bb-nav a:hover,
.bb-nav a:focus{
  color:var(--bb-accent);
}

/* Hero: reduce visual noise, focus light on content side */
.bb-hero:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}
.bb-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:#ffffff;
  pointer-events:none;
  z-index:0;
}

/* Heading color + weight for luxury look */
.bb-h1,
.bb-h1--page,
.bb-h2{
  color:var(--bb-ink-2);
  letter-spacing:-0.02em;
}
.bb-lede,
.bb-sub{
  color:var(--bb-muted);
}

/* Subpage headers: same universe, slightly calmer than home hero */
.bb-section.bb-pageHero.bb-pattern:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}

/* Services band: align with new canvas */
.bb-section#services{
  background:#ffffff;
  border-top:1px solid rgba(0,0,0,.02);
  border-bottom:1px solid rgba(0,0,0,.03);
}

/* World-class button hierarchy */
.bb-btn--primary{
  background:var(--bb-accent);
  color:#fff;
  border-radius:999px;
  padding-inline:22px;
  box-shadow:0 16px 34px rgba(33,23,34,.25);
}
.bb-btn--primary:hover{
  background:var(--bb-accent-2);
  transform:translateY(-1px);
  box-shadow:0 20px 46px rgba(33,23,34,.30);
}
.bb-btn--secondary{
  background:rgba(255,255,255,.9);
  color:var(--bb-ink-2);
  border-radius:999px;
  border:1px solid rgba(33,23,34,.14);
}
.bb-btn--secondary:hover{
  background:#FFFFFF;
  box-shadow:0 10px 28px rgba(33,23,34,.18);
}

/* Cards: more refined light + consistent radius */
.bb-card{
  background:var(--bb-panel);
  border-radius:20px;
  border:1px solid rgba(0,0,0,.03);
  box-shadow:0 18px 48px rgba(26,18,28,.10);
}
.bb-card:hover{
  box-shadow:0 26px 70px rgba(26,18,28,.16);
  transform:translateY(-3px);
}

/* Final CTA: clear focal glow, less busy */
.bb-finalCta:before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:
    radial-gradient(980px 520px at 0% 0%, rgba(195,213,191,.35), transparent 60%),
    radial-gradient(780px 520px at 110% 10%, rgba(122,150,132,.26), transparent 70%),
    linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 70%);
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}

/* Footer: understated, slightly darker base */

.bb-footer a{
  color:var(--bb-ink-2);
}
.bb-footer a:hover{
  color:var(--bb-accent);
}

/* Micro-elements: chips, tags, dots */
.bb-chip,
.bb-tag{
  background:rgba(199,217,195,.22);
  color:var(--bb-ink-2);
  border-radius:999px;
  border:1px solid rgba(199,217,195,.55);
}
.bb-dot{
  background:var(--bb-sage);
}


/* Post cards with image support */
.bb-postCard__media{
  width:100%;
  border-radius:16px;
  overflow:hidden;
  margin-bottom:12px;
}
.bb-postCard__media img{
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
}

/* Blog pagination "show more" button */
.bb-pagination{
  margin-top:28px;
  display:flex;
  justify-content:center;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.bb-pagination__more{
  margin:0 auto;
}
.bb-pagination__prev{
  font-size:13px;
}


/* === Bloom & Balance Blog Layout Refinement === */

/* Make the blog grid feel more editorial */
.bb-postGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:20px;
}

/* Stack gracefully on smaller screens */
@media (max-width: 980px){
  .bb-postGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  .bb-postGrid{
    grid-template-columns:1fr;
  }
}

/* Post card internals */
.bb-postCard{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
}

.bb-postCard__top{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.bb-postCard__top p{
  margin:0;
  color:var(--bb-muted);
  font-size:14px;
  line-height:1.7;
}

.bb-postCard__meta{
  margin-top:auto;
}

/* Ensure homepage "Latest from the blog" matches main blog styling */
.bb-latest .bb-postCard{
  height:100%;
}


/* === Canonical blog grid fix: ensure correct columns on all breakpoints === */
.bb-postGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:20px;
}

@media (max-width: 980px){
  .bb-postGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  .bb-postGrid{
    grid-template-columns:1fr;
  }
}

/* Ensure cards stretch evenly within the grid */
.bb-postCard{
  height:100%;
}


/* =======================================================
   Bloom & Balance Blog Editorial Layout – Final Pass
   Consistent image ratio, clamped excerpts, aligned meta
======================================================= */

/* Card as vertical flex stack so meta pins to bottom */
.bb-postCard{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:14px;
  padding:20px 18px;
  height:100%;
}

/* Consistent image aspect ratio, responsive */
.bb-postCard__media{
  width:100%;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:4/3;
}
.bb-postCard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Title + excerpt group */
.bb-postCard__top{
  display:flex;
  flex-direction:column;
  gap:6px;
}

/* Clamp excerpt text to keep cards same height */
.bb-postCard__top p{
  margin:0;
  color:var(--bb-muted);
  font-size:15px;
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Meta always at bottom */
.bb-postCard__meta{
  margin-top:auto;
  font-size:13px;
}

/* Responsive grid that feels editorial */
.bb-postGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:22px;
}

@media (max-width: 980px){
  .bb-postGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  .bb-postGrid{
    grid-template-columns:1fr;
  }
}

/* Ensure homepage latest section matches */
.bb-latest .bb-postCard{
  height:100%;
}


/* === Blog card equal-height alignment fix === */
.bb-postGrid{
  align-items:stretch;
}

.bb-postCard{
  align-self:stretch;
}


/* === Blog card visual refinement: image flush with card top === */
.bb-postCard{
  position:relative;
  padding:18px 18px 20px;
  border-radius:22px;
}

.bb-postCard__media{
  margin:-8px -8px 12px;
  border-radius:18px;
  overflow:hidden;
}

/* Slightly soften card shadow for editorial look */
.bb-postCard{
  box-shadow:0 18px 40px rgba(31,26,32,.08);
}
.bb-postCard:hover{
  box-shadow:0 26px 60px rgba(31,26,32,.14);
}


/* ===========================================================
   BLOOM & BALANCE – LUXURY WELLNESS DIRECT-RESPONSE SYSTEM
   Global palette + section bands + cards + blog + buttons
   (Integrated into theme CSS)
=========================================================== */

/* ---------- GLOBAL PALETTE ---------- */


/* ---------- BASE LAYER ---------- */
body{
  background:#ffffff;
  color:var(--bb-ink);
}

/* Generic sections */
.bb-section{
  background:#ffffff;
}

/* Alternate light sections */
.bb-section.bb-alt{
  background:#ffffff;
}

/* Typography */
.bb-h1,.bb-h1--page,.bb-h2,.bb-h3{
  color:var(--bb-ink-2);
  letter-spacing:-0.02em;
}
.bb-lede,.bb-sub, .bb-body{
  color:var(--bb-muted);
}

/* Links */
a{
  color:var(--bb-accent);
}
a:hover,a:focus{
  color:var(--bb-accent-2);
}

/* ---------- HEADER & NAV ---------- */

.bb-header__inner,
.bb-nav,
.bb-nav--desktop,
.bb-nav--mobile{
  background:transparent;
}
.bb-nav a{
  color:var(--bb-ink-2);
}
.bb-nav a:hover,
.bb-nav a:focus{
  color:var(--bb-accent);
}

/* ---------- HERO & PAGE HEADERS ---------- */
.bb-hero,
.bb-section.bb-pageHero.bb-pattern{
  position:relative;
  overflow:hidden;
}
.bb-hero::before,
.bb-section.bb-pageHero.bb-pattern::before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}
.bb-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:#ffffff;
  pointer-events:none;
  z-index:0;
}
.bb-hero > *,
.bb-section.bb-pageHero.bb-pattern > *{
  position:relative;
  z-index:1;
}

/* ---------- HOMEPAGE BANDS ---------- */
.bb-section#services{
  background:#ffffff;
  border-top:1px solid rgba(0,0,0,.02);
  border-bottom:1px solid rgba(0,0,0,.03);
}

.bb-section.bb-alt#how-it-works,
.bb-section.bb-alt#reviews{
  background:#ffffff;
}

/* Final CTA band */
.bb-finalCta{
  position:relative;
  overflow:hidden;
}
.bb-finalCta::before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:
    radial-gradient(900px 520px at 0% 0%, var(--bb-sage-soft), transparent 60%),
    radial-gradient(760px 520px at 110% 10%, rgba(123,79,109,.28), transparent 72%),
    linear-gradient(180deg, #FAF5F8 0%, #FFFFFF 70%);
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}
.bb-finalCta > *{
  position:relative;
  z-index:1;
}

/* ---------- CARDS / PANELS (SITE-WIDE) ---------- */
.bb-card,
.bb-serviceCard,
.bb-pricingCard{
  background:#ffffff;
  border-radius:22px;
  border:1px solid rgba(0,0,0,.03);
  box-shadow:0 16px 42px rgba(23,16,26,.10);
  transition:
    transform .22s ease-out,
    box-shadow .22s ease-out,
    border-color .22s ease-out,
    background .22s ease-out;
}
.bb-card:hover,
.bb-serviceCard:hover,
.bb-pricingCard:hover{
  transform:translateY(-3px);
  box-shadow:0 26px 70px rgba(23,16,26,.18);
  border-color:rgba(122,78,110,.25);
}

/* ---------- BUTTONS ---------- */
.bb-btn--primary{
  background:var(--bb-accent);
  color:#fff;
  border-radius:999px;
  box-shadow:0 16px 34px rgba(33,21,31,.25);
}
.bb-btn--primary:hover{
  background:var(--bb-accent-2);
  box-shadow:0 22px 48px rgba(33,21,31,.32);
}
.bb-btn--secondary{
  background:rgba(255,255,255,.9);
  color:var(--bb-ink-2);
  border-radius:999px;
  border:1px solid rgba(33,21,31,.14);
}
.bb-btn--secondary:hover{
  background:#FFFFFF;
  box-shadow:0 10px 28px rgba(33,21,31,.18);
}

/* ---------- FORMS (CONTACT / BOOKING / NEWSLETTER) ---------- */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select,
.bb-input{
  background:rgba(255,255,255,.95);
  border-radius:14px;
  border:1px solid var(--bb-line);
  color:var(--bb-ink);
}
input:focus,
textarea:focus,
select:focus,
.bb-input:focus{
  border-color:var(--bb-accent);
  box-shadow:0 0 0 1px rgba(123,79,109,.35);
  outline:none;
}

/* ---------- BLOG INDEX + LATEST POSTS ---------- */

/* Editorial grid – 3/2/1 layout */
.bb-postGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  margin-top:22px;
  align-items:stretch;
}
@media (max-width: 960px){
  .bb-postGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  .bb-postGrid{
    grid-template-columns:1fr;
  }
}

/* Cards */
.bb-postCard{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-self:stretch;
  height:100%;
  min-height:0;
  gap:14px;
  padding:20px 18px 20px;
  border-radius:24px;
  background:
    radial-gradient(600px 360px at 0% 0%, rgba(199,217,195,.12), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F9F5FA 100%);
  border:1px solid rgba(0,0,0,.03);
  box-shadow:0 16px 42px rgba(23,16,26,.10);
  transition:
    transform .22s ease-out,
    box-shadow .22s ease-out,
    border-color .22s ease-out,
    background .22s ease-out;
}
.bb-postCard:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 70px rgba(23,16,26,.20);
  border-color:rgba(122,78,110,.25);
}

/* Blog images */
.bb-postCard__media{
  width:100%;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:4 / 3;
  position:relative;
}
.bb-postCard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .25s ease-out, opacity .25s ease-out;
}
.bb-postCard:hover .bb-postCard__media img{
  transform:scale(1.03);
  opacity:.96;
}
.bb-postCard__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.06) 100%);
  pointer-events:none;
}

/* Title + excerpt */
.bb-postCard__top{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.bb-postCard .bb-h3{
  font-size:18px;
  line-height:1.35;
  letter-spacing:-0.01em;
  color:var(--bb-ink-2);
}
.bb-postCard:hover .bb-h3{
  color:var(--bb-accent);
}
.bb-postCard__top p{
  margin:0;
  color:var(--bb-muted);
  font-size:14px;
  line-height:1.7;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Meta baseline */
.bb-postCard__meta{
  margin-top:auto;
  font-size:13px;
}
.bb-postCard__meta span{
  opacity:.85;
}
.bb-postCard__meta .bb-tag{
  background:rgba(199,217,195,.26);
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  border:1px solid rgba(199,217,195,.70);
}

/* Home “Latest from the blog” */
.bb-latest .bb-postCard{
  height:100%;
}

/* ---------- FOOTER ---------- */

.bb-footer a{
  color:var(--bb-ink-2);
}
.bb-footer a:hover{
  color:var(--bb-accent);
}



/* ===========================================================
   Homepage-specific color tuning:
   Reduce green, align hero/services/CTA with interior page look
=========================================================== */

.home-template body{
  background:#ffffff;
}

/* Homepage hero: softer, less green, more neutral/plum */
.home-template .bb-hero::before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:#ffffff;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}

/* Homepage services band: very subtle tint, not obvious green */
.home-template .bb-section#services{
  background:#ffffff;
  border-top:1px solid rgba(0,0,0,.02);
  border-bottom:1px solid rgba(0,0,0,.03);
}

/* Homepage final CTA: align with subpage feel, minimal green */
.home-template .bb-finalCta::before{
  content:"";
  position:absolute;
  inset:-40px -40px -40px -40px;
  background:
    radial-gradient(880px 480px at 0% 0%, rgba(169,118,154,.10), transparent 60%),
    linear-gradient(180deg, #FAF5F8 0%, #FFFFFF 70%);
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  pointer-events:none;
  z-index:0;
}


/* === Subpage section background simplification === */
/* Make all sections on pages and posts use a single soft background color
   so there are no visible gradient "bands" between blocks. */

.page-template .bb-section,
.post-template .bb-section{
  background:#ffffff;
}

/* In case some sections use the bb-alt modifier, unify those too */
.page-template .bb-section.bb-alt,
.post-template .bb-section.bb-alt{
  background:#ffffff;
}


/* === Neutralize white panel behind content === */
main.bb-main{
  background:#ffffff;
  background:#ffffff;
  background-image:none;
}


/* === Blog index (/blog) background unify with subpages === */
/* When the bb-shell layout is used on the posts index (home-template),
   keep the entire canvas a flat soft color instead of gradient bands. */

.home-template .bb-shell,
.home-template .bb-shell .bb-section{
  background:#ffffff;
}

/* Flatten blog hero band as well */
.home-template .bb-shell .bb-section.bb-pageHero.bb-pattern::before{
  background:#ffffff;
}


/* Hard enforcement of white canvas */
html, body {
  background:#ffffff ;
  background-color:#ffffff ;
}

/* Canonical header/footer styling for luxury wellness palette */
.bb-header{
  position:sticky;
  top:0;
  z-index:300;
  background:var(--bb-header-bg);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--bb-line);
}

.bb-footer{
  border-top:1px solid var(--bb-line);
  padding:32px 0;
  background:var(--bb-footer-bg);
}

.bb-footer a{
  color:var(--bb-ink);
}

.bb-footer a:hover{
  color:var(--bb-accent);
}

/* Disable heavy pattern backgrounds for a cleaner luxury look */
.bb-pattern:before,
.bb-patternOverlay:before,
.bb-patternWrap:before,
.bb-pattern--sage:before,
.bb-pattern--floral:before{
  background:none !important;
  background-image:none !important;
  opacity:0 !important;
}

/* Fully remove all visual patterns and overlays */
.bb-pattern,
.bb-pageHero,
.bb-postHero,
.bb-hero{
  background:none !important;
  background-image:none !important;
}

/* Remove hero overlay content */
.bb-hero.bb-pattern:after{
  content:none !important;
}

/* Ensure the main app shell is clean and pattern-free */
body,
.bb-main{
  background:var(--bb-bg) !important;
  background-image:none !important;
}

/* Button text visibility on hover */
.bb-btn--primary,
.bb-btn--primary:hover{
  color:#ffffff;
}

.bb-btn--secondary,
.bb-btn--secondary:hover{
  color:var(--bb-ink-2);
}

/* Footer pattern with soft color overlay */
.bb-footer{
  position:relative;
  overflow:hidden;
  background:var(--bb-footer-bg);
  border-top:1px solid var(--bb-line);
  padding:64px 0 40px;
}

.bb-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:url(../images/patterns/bb-pattern-floral.png);
  background-repeat:repeat;
  background-position:top left;
  background-size:220px 220px;
  background-color:rgba(248,245,241,.9);
  mix-blend-mode:normal;
  opacity:.18;
}

.bb-footer > *{
  position:relative;
  z-index:1;
}

/* Hard override: make final CTA band completely flat white with no gradients */
.bb-finalCta,
.bb-finalCta--alt{
  background:#FFFFFF !important;
  background-image:none !important;
}

.bb-finalCta:before,
.bb-finalCta--alt:before{
  content:none !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* === Luxury Wellness Global Polish === */

/* Section + page background discipline */
.bb-main,
.bb-main > .bb-section,
.bb-main > section{
  background:#FFFFFF;
}

.bb-section--soft,
.bb-section--alt{
  background:var(--bb-panel);
}

/* Generic section headings */
.bb-section-head h2,
.bb-h2{
  font-size:30px;
  letter-spacing:0.04em;
  text-transform:none;
  color:var(--bb-ink-2);
}

/* Body copy for intros / leads */
.bb-section-head p,
.bb-section__lead,
.bb-lede{
  font-size:16px;
  line-height:1.8;
  color:var(--bb-muted);
}

/* Cards (services, posts, generic feature cards) */
.bb-card,
.bb-serviceCard,
.bb-postCard{
  background:#FFFFFF;
  border-radius:22px;
  border:1px solid rgba(0,0,0,.04);
  box-shadow:0 26px 70px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease;
}

.bb-card:hover,
.bb-serviceCard:hover,
.bb-postCard:hover{
  transform:translateY(-4px);
  box-shadow:0 32px 90px rgba(15,23,42,.08);
}

/* Blog cards often use images + text blocks */
.bb-card__body,
.bb-postCard__body{
  padding:18px 20px 20px;
}

/* Primary + secondary button system */
.bb-btn--primary{
  background:var(--bb-accent);
  color:#FFFFFF;
  box-shadow:0 16px 40px rgba(122,150,132,.40);
}

.bb-btn--primary:hover{
  transform:translateY(-1px);
  box-shadow:0 22px 60px rgba(122,150,132,.46);
}

.bb-btn--secondary{
  background:#FFFFFF;
  color:var(--bb-ink-2);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:none;
}

.bb-btn--secondary:hover{
  border-color:rgba(122,150,132,.30);
  background:rgba(122,150,132,.03);
}

/* Chips / tags / pills */
.bb-chip,
.bb-trustChip,
.bb-tag{
  background:rgba(122,150,132,.06);
  border-radius:999px;
  border:1px solid rgba(122,150,132,.16);
  padding:7px 14px;
  font-size:13px;
}

/* Blog + services rails spacing for more breathing room */
.bb-blogRail,
.bb-service-grid{
  gap:26px;
}

.bb-section{
  padding-top: clamp(40px, 6vw, 64px);
  padding-bottom: clamp(40px, 6vw, 72px);
}

/* Footer typography + spacing refinements */
.bb-footer{
  font-size: 13px;
}

.bb-footerPatternTitle{
  display:flex;
  justify-content:center;
  margin: 0 0 28px;
}

.bb-footerPatternTitle span{
  display:inline-block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(44,11,26,.70);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(0,0,0,.06);
  padding: 10px 18px;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

@media (max-width: 680px){
  .bb-footer{padding: 52px 0 34px;}
  .bb-footer::before{background-size: 180px 180px; opacity: .14;}
  .bb-footerPatternTitle{margin-bottom: 22px;}
}

.bb-footer__label,
.bb-footer__label--social{
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bb-footer__desc,
.bb-footer__kicker,
.bb-footer__micro,
.bb-footer__brandContact div{
  font-size: 13px;
  line-height: 1.6;
}

.bb-footer__hours div{
  font-size: 13px;
}

.bb-footer__small,
.bb-footer__smallLinks a{
  font-size: 11px;
}

.bb-footer__inner{
  padding-top: 32px;
  padding-bottom: 28px;
}

.bb-footerGrid{
  gap: 28px;
}


/* Footer layout refinements */
.bb-footerGrid{
  grid-template-columns: 1.8fr 1.1fr 1.1fr 0.9fr;
}

.bb-footer__brandContact{
  margin-top: 12px;
  color: var(--bb-muted);
}

.bb-footerCol--nav,
.bb-footerCol--contact,
.bb-footerCol--social{
  align-self: flex-start;
}

/* Responsive footer stacking */
@media (max-width: 900px){
  .bb-footerGrid{
    grid-template-columns: 1fr 1fr;
    row-gap: 24px;
  }
  .bb-footerCol--brand{
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px){
  .bb-footerGrid{
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
  .bb-footer__inner{
    padding-top: 24px;
    padding-bottom: 24px;
  }
}

/* Footer spacing + brand contact tweaks */
.bb-footer__inner.bb-container{
  width: min(1040px, calc(100% - 56px));
}

.bb-footer__brandContact a{
  display:block;
  margin-top:3px;
}

/* Trust logos band */
.bb-trust{
  background:var(--bb-panel);
  padding-top:24px;
  padding-bottom:24px;
}

.bb-trust__inner{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bb-trust__eyebrow{
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--bb-muted);
}

.bb-trust__carousel{
  overflow:hidden;
}

.bb-trust__track{
  display:flex;
  align-items:center;
  gap:40px;
  
}

.bb-trust__item img{
  height:38px;
  width:auto;
  filter:grayscale(0.1);
  opacity:0.85;
}


  100%{
    transform:translateX(-50%);
  }
}

@media (max-width:768px){
  .bb-trust__track{
    gap:32px;
    animation-duration:32s;
  }
  .bb-trust__item img{
    height:32px;
  }
}

.bb-trust__track.bb-static{display:flex;gap:40px;align-items:center;}


/* Trust logos static centered layout overrides */
.bb-trust__carousel{
  overflow:visible;
}

.bb-trust__track{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  column-gap:32px;
}

.bb-trust__item{
  padding:10px 22px;
  border-radius:999px;
  background:rgba(255,255,255,0.96);
  box-shadow:0 10px 30px rgba(0,0,0,0.03);
}

.bb-trust__item img{
  height:34px;
  width:auto;
  display:block;
  filter:none;
  opacity:1;
}

@media (max-width:768px){
  .bb-trust__carousel{
    overflow-x:auto;
  }
  .bb-trust__track{
    column-gap:20px;
  }
  .bb-trust__item{
    padding:6px 14px;
    flex:0 0 auto;
  }
  .bb-trust__item img{
    height:26px;
  }
}


/* Logo sizing fix: prevent stretching on desktop and mobile */
.bb-brand__logo {
  height: auto;
  max-height: 44px;
  width: auto;
}

@media (max-width: 768px) {
  .bb-brand__logo {
    max-height: 32px;
  }
}

/* Trusted Technologies and Partners (homepage logo strip) */
.bb-partners{padding:28px 0;background:#fff}
.bb-partners__head{text-align:center;margin-bottom:14px}
.bb-partners__eyebrow{letter-spacing:.12em;text-transform:uppercase}
.bb-partners__logos{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}
.bb-partners__logo{display:flex;align-items:center;justify-content:center;width:180px;height:72px;padding:12px 16px;border-radius:16px;background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);transition:transform .16s ease,background .16s ease,border-color .16s ease}
.bb-partners__logo:hover{transform:translateY(-2px);background:#fff;border-color:rgba(0,0,0,.10)}
.bb-partners__logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;filter:grayscale(1);opacity:.9;transition:filter .16s ease,opacity .16s ease}
.bb-partners__logo:hover img{filter:grayscale(0);opacity:1}

@media (max-width: 640px){
  .bb-partners__logos{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:2px 4px 8px;-webkit-overflow-scrolling:touch}
  .bb-partners__logo{flex:0 0 auto;width:170px}
}
