.bebp{
  background:transparent;
  color:#0c0a09;
}

.bebp *,.bebp *::before,.bebp *::after{
  box-sizing:border-box;
}

.bebp-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

.bebp-breadcrumbs{
  padding:24px 0;
  font-size:13px;
  color:#78716c;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.bebp-breadcrumbs a{
  color:#57534e;
  text-decoration:none;
  transition:color .3s ease;
}

.bebp-breadcrumbs a:hover{
  color:#2D5A3D;
}

.bebp-breadcrumb-current{
  color:#a8a29e;
}

.bebp-article-hero{
  padding:40px 0 60px;
  text-align:center;
  max-width:800px;
  margin:0 auto;
}

.bebp-category{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(45,90,61,.1);
  color:#2D5A3D;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:100px;
  margin-bottom:24px;
  border:1px solid rgba(45,90,61,.15);
}

.bebp-category__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.bebp-article-title{
  font-size:48px;
  font-weight:700;
  line-height:1.15;
  margin:0 0 32px;
  color:#0c0a09;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}

.bebp-article-meta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  color:#57534e;
  font-size:15px;
}

.bebp-meta-item{
  display:flex;
  align-items:center;
  gap:8px;
}

.bebp-author-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:inherit;
}

.bebp-author-link--stack{
  flex-direction:column;
  gap:0;
}

.bebp-meta-avatar{
  width:32px;
  height:32px;
  border-radius:50%;
  object-fit:cover;
}

.bebp-meta-author{
  font-weight:600;
  color:#0c0a09;
}

.bebp-dot{
  width:4px;
  height:4px;
  background:#d6d3d1;
  border-radius:50%;
}

.bebp-featured-image-wrap{
  width:100%;
  max-width:1200px;
  margin:0 auto 80px;
  border-radius:24px;
  overflow:hidden;
  aspect-ratio:21/9;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.15);
}

.bebp-featured-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bebp-article-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:64px;
  align-items:start;
  margin-bottom:90px;
}

.bebp-article-layout--single{
  grid-template-columns:minmax(0,1fr);
}

.bebp-article-content{
  font-size:18px;
  line-height:1.8;
  color:#292524;
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.bebp-article-content img,
.bebp-article-content video,
.bebp-article-content iframe,
.bebp-article-content table{
  max-width:100%;
}

.bebp-article-content figure{
  max-width:100%;
  margin-left:0;
  margin-right:0;
}

.bebp-article-content pre,
.bebp-article-content code{
  max-width:100%;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
}

.bebp-article-content table{
  display:block;
  width:100%;
  overflow-x:auto;
  border-collapse:collapse;
}

.bebp-article-content iframe{
  width:100%;
}

.bebp-article-content > *:first-child{
  margin-top:0;
}

.bebp-article-content p{
  margin:0 0 32px;
}

.bebp-article-content h2{
  font-size:32px;
  font-weight:700;
  margin:64px 0 24px;
  color:#0c0a09;
  line-height:1.3;
}

.bebp-article-content h3{
  font-size:24px;
  font-weight:700;
  margin:48px 0 20px;
  color:#0c0a09;
}

.bebp-article-content ul{
  margin:0 0 32px;
  padding-left:24px;
  list-style:none;
}

.bebp-article-content ul li{
  position:relative;
  padding-left:32px;
  margin-bottom:16px;
  overflow-wrap:anywhere;
}

.bebp-article-content ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  width:8px;
  height:8px;
  background:#2D5A3D;
  border-radius:50%;
}

/* Mobile TOC lives inside .bebp-article-content — must not inherit prose list spacing/dots */
.bebp-article-content .bebp-mobile-toc .bebp-toc-list{
  margin:0 !important;
  padding:0 !important;
}
.bebp-article-content .bebp-mobile-toc .bebp-toc-list > li.bebp-toc-group{
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.bebp-article-content .bebp-mobile-toc .bebp-toc-list > li.bebp-toc-group::before{
  content:none !important;
  display:none !important;
}
.bebp-article-content .bebp-mobile-toc .bebp-toc-sublist{
  margin:2px 0 4px !important;
  padding:0 0 0 12px !important;
}
.bebp-article-content .bebp-mobile-toc .bebp-toc-sublist > li{
  margin:0 !important;
  padding-left:0 !important;
}
.bebp-article-content .bebp-mobile-toc .bebp-toc-sublist > li::before{
  content:none !important;
  display:none !important;
}

.bebp-article-content blockquote{
  background:#fff;
  border-left:4px solid #2D5A3D;
  padding:32px 40px;
  margin:48px 0;
  border-radius:0 24px 24px 0;
  box-shadow:0 4px 20px rgba(0,0,0,.03);
  font-style:italic;
  font-size:20px;
  color:#44403c;
}

.bebp-article-content a{
  color:#2D5A3D;
}

.bebp-sidebar{
  position:sticky;
  top:32px;
  display:flex;
  flex-direction:column;
  gap:24px;
}

.bebp-sidebar-box{
  background:#fff;
  border-radius:24px;
  padding:32px;
  border:1px solid rgba(45,90,61,.08);
  box-shadow:0 4px 6px -1px rgba(0,0,0,.02);
}

.bebp-sidebar-title{
  font-size:14px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#78716c;
  margin-bottom:20px;
}

.bebp-toc-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.bebp-toc-list li::marker{
  content:"";
}

.bebp-toc-list li{
  list-style:none !important;
}

.bebp-toc-link{
  color:#57534e;
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  display:block;
  line-height:1.35;
  padding:6px 10px;
  border-radius:6px;
  transition:all .2s ease;
  border-left:2px solid transparent;
  border-bottom:0 solid transparent;
}

.bebp-toc-link--h2{
  font-weight:600;
}

.bebp-toc-sublist{
  list-style:none;
  margin:2px 0 4px;
  padding:0 0 0 12px;
  display:none;
  gap:4px;
  flex-direction:column;
}

.bebp-toc-group.is-expanded .bebp-toc-sublist{
  display:flex;
}

.bebp-toc-link--h3{
  font-size:13px;
  color:#78716c;
  padding-top:4px;
  padding-bottom:4px;
}

.bebp-toc-link:hover{
  color:#2D5A3D;
  background:rgba(45,90,61,.035);
  border-left-color:rgba(45,90,61,.5);
}

.bebp-toc-link.is-active{
  color:#2D5A3D;
  border-left-color:#2D5A3D;
  background:rgba(45,90,61,.05);
}

.bebp-mobile-toc{
  display:none;
}

.bebp-author-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.bebp-author-image{
  width:100px;
  height:100px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:16px;
}

.bebp-author-name{
  font-size:20px;
  font-weight:700;
  margin-bottom:8px;
}

.bebp-author-role{
  font-size:14px;
  color:#78716c;
  margin-bottom:16px;
}

.bebp-author-bio{
  font-size:14px;
  color:#57534e;
  line-height:1.6;
  margin:0 0 20px;
}

.bebp-author-social{
  display:flex;
  gap:12px;
}

.bebp-social-link{
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fafaf9;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#57534e;
  transition:all .3s;
  text-decoration:none;
}

.bebp-social-link:hover{
  background:#2D5A3D;
  color:#fff;
  transform:translateY(-2px);
}

.bebp-social-link :where(i,svg),
.bebp-social-link :where(svg,svg *){
  width:18px;
  height:18px;
  color:currentColor;
  fill:currentColor;
  stroke:currentColor;
}

.bebp-newsletter-box{
  background:#0c0a09;
  color:#fff;
  border-radius:24px;
  padding:32px;
}

.bebp-newsletter-title{
  font-size:20px;
  font-weight:700;
  margin-bottom:8px;
}

.bebp-newsletter-text{
  font-size:14px;
  color:rgba(255,255,255,.7);
  margin:0 0 20px;
}

.bebp-newsletter-input{
  width:100%;
  padding:12px 16px;
  border-radius:100px;
  border:none;
  background:rgba(255,255,255,.1);
  color:#fff;
  margin-bottom:12px;
}

.bebp-newsletter-btn{
  width:100%;
  padding:12px;
  border-radius:100px;
  border:none;
  background:#2D5A3D;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:all .3s;
}

.bebp-newsletter-btn:hover{
  background:#3d7a51;
}

.bebp-article-footer{
  border-top:1px solid #e7e5e4;
  padding-top:32px;
  margin-top:48px;
}

.bebp-tags{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.bebp-tag{
  padding:8px 16px;
  background:#fff;
  border:1px solid #e7e5e4;
  border-radius:100px;
  font-size:13px;
  font-weight:600;
  color:#57534e;
  text-decoration:none;
  transition:all .3s;
}

.bebp-tag:hover{
  border-color:#2D5A3D;
  color:#2D5A3D;
  background:rgba(45,90,61,.05);
}

.bebp-post-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:100px;
}

.bebp-nav-card{
  background:#fff;
  border-radius:24px;
  padding:32px;
  border:1px solid rgba(45,90,61,.08);
  text-decoration:none;
  transition:all .3s;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.bebp-nav-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 25px -5px rgba(0,0,0,.05);
  border-color:rgba(45,90,61,.2);
}

.bebp-nav-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#a8a29e;
}

.bebp-nav-title{
  font-size:18px;
  font-weight:700;
  color:#0c0a09;
  line-height:1.4;
}

.bebp-nav-card--next{
  text-align:right;
}

@media (max-width: 968px){
  .bebp,
  .bebp-container,
  .bebp-article-hero,
  .bebp-article-content,
  .bebp-sidebar,
  .bebp-mobile-toc{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .bebp-article-hero{
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }

  .bebp-article-title,
  .bebp-sidebar-title,
  .bebp-mobile-toc-summary,
  .bebp-toc-link{
    word-break:normal;
    overflow-wrap:anywhere;
  }

  .bebp-container{
    padding-left:16px;
    padding-right:16px;
  }

  .bebp-breadcrumbs{
    font-size:12px;
    gap:6px;
    padding:16px 0;
  }

  .bebp-article-hero{
    padding:20px 0 36px;
  }

  .bebp-article-layout{
    grid-template-columns:1fr !important;
    gap:28px !important;
    margin-bottom:48px;
  }

  .bebp-sidebar{
    position:static;
    gap:16px;
    width:100%;
    max-width:100%;
  }

  .bebp-article-title{
    font-size:32px;
    margin-bottom:20px;
    line-height:1.2;
  }

  .bebp-featured-image-wrap{
    aspect-ratio:16/9;
    margin-bottom:28px;
    border-radius:16px;
    width:calc(100% - 32px);
  }

  .bebp-toc-desktop{
    display:none;
  }

  .bebp-mobile-toc{
    display:block;
    margin:0 0 16px;
    border:1px solid rgba(45,90,61,.12);
    border-radius:12px;
    padding:8px 10px 6px;
    background:#fff;
  }

  /* Narrower padding than generic .bebp-sidebar-box at this breakpoint */
  .bebp-article-content details.bebp-mobile-toc.bebp-sidebar-box{
    padding:10px 12px 10px;
  }

  .bebp-mobile-toc-summary{
    cursor:pointer;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#57534e;
    list-style:none;
    outline:none;
    padding:2px 0;
    margin-bottom:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .bebp-mobile-toc-summary::-webkit-details-marker{
    display:none;
  }

  /* Arrow indicator (down/up) */
  .bebp-mobile-toc-summary::after{
    content:"▾";
    font-size:14px;
    line-height:1;
    opacity:.7;
    transform:translateY(-1px);
  }
  .bebp-mobile-toc[open] .bebp-mobile-toc-summary::after{
    content:"▴";
  }

  /* Kill any theme bullets/dots on mobile TOC */
  .bebp-mobile-toc .bebp-toc-list,
  .bebp-mobile-toc .bebp-toc-list li{
    list-style:none !important;
  }
  .bebp-mobile-toc .bebp-toc-list{
    padding-left:0 !important;
    margin-left:0 !important;
  }
  .bebp-mobile-toc .bebp-toc-list li::marker{
    content:"" !important;
  }
  .bebp-mobile-toc .bebp-toc-list li::before{
    content:none !important;
  }

  .bebp-mobile-toc[open] .bebp-toc-list{
    margin-top:6px !important;
  }
}

@media (max-width: 640px){
  .bebp{
    overflow-x:hidden;
  }

  .bebp-article-meta{
    gap:10px;
    font-size:13px;
    justify-content:flex-start;
  }

  .bebp-dot{
    display:none;
  }

  .bebp-meta-avatar{
    width:26px;
    height:26px;
  }

  .bebp-post-nav{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:48px;
  }

  .bebp-sidebar-box,
  .bebp-newsletter-box,
  .bebp-nav-card{
    border-radius:16px;
    padding:16px;
  }

  .bebp-article-content details.bebp-mobile-toc.bebp-sidebar-box{
    padding:10px 12px;
  }

  .bebp-author-social{
    flex-wrap:wrap;
    justify-content:center;
  }

  .bebp-article-content{
    font-size:16px;
    line-height:1.75;
  }

  .bebp-article-content h2{
    font-size:24px;
    margin:36px 0 14px;
  }

  .bebp-article-content h3{
    font-size:20px;
    margin:28px 0 12px;
  }

  .bebp-article-content p,
  .bebp-article-content ul{
    margin-bottom:18px;
  }

  .bebp-article-content blockquote{
    margin:24px 0;
    padding:18px 16px;
    border-radius:0 14px 14px 0;
    font-size:17px;
  }

  .bebp-nav-title{
    font-size:16px;
  }
}

@media (max-width: 420px){
  .bebp,
  .bebp-container,
  .bebp-article-hero,
  .bebp-article-content,
  .bebp-sidebar,
  .bebp-mobile-toc{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .bebp-container{
    padding-left:12px;
    padding-right:12px;
  }

  .bebp-article-title{
    font-size:28px;
    line-height:1.2;
  }

  .bebp-featured-image-wrap{
    width:calc(100% - 24px);
    border-radius:12px;
  }

  .bebp-category{
    font-size:10px;
    padding:5px 12px;
  }

  .bebp-sidebar-box,
  .bebp-newsletter-box,
  .bebp-nav-card{
    padding:14px;
    border-radius:12px;
  }

  .bebp-article-content details.bebp-mobile-toc.bebp-sidebar-box{
    padding:10px 12px;
  }

  .bebp-toc-link--h2{
    font-size:13px;
  }

  .bebp-toc-link--h3{
    font-size:12px;
  }

  .bebp-newsletter-input,
  .bebp-newsletter-btn{
    font-size:14px;
  }
}

