:root{
  --fbmpt-primary:#0b6b52;
  --fbmpt-primary-soft:#e8f5f0;
  --fbmpt-deep:#063d2f;
  --fbmpt-deeper:#042820;
  --fbmpt-accent:#b8912c;
  --fbmpt-accent-soft:#f5e6b8;
  --fbmpt-surface:#fff;
  --fbmpt-page:#f0f4f2;
  --fbmpt-text:#12241d;
  --fbmpt-muted:#5b6b64;
  --fbmpt-line:rgba(6,61,47,.10);
  --fbmpt-radius:16px;
  --fbmpt-font-heading:'Libre Baskerville',Georgia,serif;
  --fbmpt-font-body:'IBM Plex Sans',system-ui,sans-serif;
  --fbmpt-shadow:0 1px 2px rgba(6,61,47,.05),0 12px 32px -18px rgba(6,61,47,.28);
}

*,*::before,*::after{box-sizing:border-box}
body.fbmpt{background:var(--fbmpt-page);color:var(--fbmpt-text);font-family:var(--fbmpt-font-body);line-height:1.65;margin:0;-webkit-font-smoothing:antialiased}
body.fbmpt h1,body.fbmpt h2,body.fbmpt h3,body.fbmpt h4{font-family:var(--fbmpt-font-heading);color:var(--fbmpt-deep);line-height:1.25;letter-spacing:-.01em}
.fbmpt a{color:var(--fbmpt-primary)}
.fbmpt img{max-width:100%;height:auto;display:block}

.fbmpt-skip{position:absolute;left:-9999px}
.fbmpt-skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px 14px;border-radius:10px;box-shadow:var(--fbmpt-shadow)}

.fbmpt-container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.fbmpt-container--narrow{max-width:820px}

/* ========== Header ========== */
.fbmpt-header{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--fbmpt-line);
  position:sticky;top:0;z-index:40;
}
.fbmpt-header__inner{display:flex;align-items:center;gap:20px;min-height:64px}
.fbmpt-brand__name{font-family:var(--fbmpt-font-heading);font-size:1.15rem;font-weight:700;color:var(--fbmpt-deep);text-decoration:none}
.fbmpt-brand .custom-logo-link img{max-height:40px;width:auto}
.fbmpt-nav{flex:1}
.fbmpt-nav__list{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.fbmpt-nav__list a{color:var(--fbmpt-text);text-decoration:none;font-weight:500;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.fbmpt-nav__list a:hover,.fbmpt-nav__list .current-menu-item>a{color:var(--fbmpt-primary);border-bottom-color:var(--fbmpt-accent)}
.fbmpt-header__actions{display:flex;gap:10px;margin-left:auto;align-items:center}
.fbmpt-header-center .fbmpt-header__inner{flex-direction:column;gap:12px;padding:16px 20px;text-align:center}
.fbmpt-header-center .fbmpt-header__actions{margin:0}

/* Mobile nav toggle */
.fbmpt-nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:42px;height:42px;
  margin-left:auto;
  border:none;border-radius:12px;
  background:var(--fbmpt-primary-soft);
  cursor:pointer;padding:10px;
}
.fbmpt-nav-toggle span{
  display:block;height:2px;width:100%;
  background:var(--fbmpt-deep);border-radius:2px;
  transition:transform .2s,opacity .2s;
}
.fbmpt-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.fbmpt-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.fbmpt-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Buttons */
.fbmpt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:.9rem;font-weight:600;text-decoration:none;border:1px solid transparent;line-height:1.2;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer}
.fbmpt-btn--primary{background:linear-gradient(135deg,var(--fbmpt-primary),var(--fbmpt-deep));color:#fff;box-shadow:0 4px 14px rgba(11,107,82,.28)}
.fbmpt-btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(11,107,82,.35);color:#fff}
.fbmpt-btn--ghost{background:transparent;color:var(--fbmpt-deep);border-color:var(--fbmpt-line)}
.fbmpt-btn--ghost:hover{background:var(--fbmpt-primary-soft);color:var(--fbmpt-primary)}

/* Main */
.fbmpt-main{padding:28px 0 56px;min-height:50vh}
.fbmpt-main--flush{padding-top:0;padding-bottom:0}
/* Page content under sticky header — clear the bar */
.fbmpt-prose,.fbmpt-prose--full,.fbmpt-entry{
  width:100%;
  max-width:820px;
  margin:0 auto;
  padding:24px 20px 48px;
  box-sizing:border-box;
}
.fbmpt-prose--full{max-width:960px}
.fbmpt-prose h1,.fbmpt-prose h2,.fbmpt-entry h1{
  margin-top:0 !important;
  padding-top:8px;
  line-height:1.25;
  word-wrap:break-word;
  overflow-wrap:break-word;
}
.fbmpt-prose p{margin:0 0 1em;color:var(--fbmpt-muted);line-height:1.65}
.fbmpt-prose strong{color:var(--fbmpt-deep);font-weight:600}
.fbmpt-prose ul,.fbmpt-prose ol{padding-left:1.25em;margin:0 0 1.25em}
.fbmpt-prose li{margin:0 0 .5em;line-height:1.5}
/* WP button blocks */
.fbmpt-prose .wp-block-button__link,
.fbmpt-prose .wp-block-buttons .wp-block-button__link{
  background:linear-gradient(135deg,var(--fbmpt-primary),var(--fbmpt-deep)) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:12px 22px !important;
  text-decoration:none !important;
  font-weight:600 !important;
  border:none !important;
}
.fbmpt-prose .wp-block-buttons{margin:20px 0}

.fbmpt-main--member{padding:0;min-height:100vh;max-width:100%}
.fbmpt-main--member .fbmpt-container{max-width:100%;padding:0}

/* Dashboard / member: no theme chrome spacing */
body.fbmpt-is-dashboard,
body.fbmp-dash-page,
body.fbmpt-is-member.fbmp-dash-page{
  background:#f0f4f2;
}
body.fbmpt-is-dashboard .fbmpt-main,
body.fbmp-dash-page .fbmpt-main{
  padding:0 !important;
  max-width:100% !important;
}
body.fbmpt-is-dashboard .fbmpt-header,
body.fbmp-dash-page .fbmpt-header,
body.fbmpt-is-dashboard .fbmpt-footer,
body.fbmp-dash-page .fbmpt-footer{
  display:none !important;
}

/* Footer */
.fbmpt-footer{
  background:linear-gradient(180deg,var(--fbmpt-deep) 0%,var(--fbmpt-deeper) 100%);
  color:rgba(255,255,255,.85);
  padding:48px 0 28px;
  margin-top:auto;
}
.fbmpt-footer a{color:rgba(255,255,255,.75);text-decoration:none}
.fbmpt-footer a:hover{color:var(--fbmpt-accent-soft)}
.fbmpt-footer__grid{display:grid;grid-template-columns:repeat(var(--fbmpt-footer-cols,3),minmax(0,1fr));gap:28px}
.fbmpt-footer__brand{font-family:var(--fbmpt-font-heading);font-size:1.15rem;font-weight:700;color:#fff;margin:0 0 8px}
.fbmpt-footer__text{font-size:.9rem;opacity:.75;margin:0;line-height:1.5}
.fbmpt-footer__title{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fbmpt-accent-soft);margin:0 0 12px}
.fbmpt-footer__list{list-style:none;margin:0;padding:0}
.fbmpt-footer__list li{margin:0 0 8px}
.fbmpt-footer__bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem;opacity:.7}
.fbmpt-footer__note{opacity:.85}

/* Content defaults */
.fbmpt-entry h1{font-size:clamp(1.75rem,4vw,2.5rem);margin:0 0 16px}
.fbmpt-entry p{margin:0 0 1em}

/* Responsive header */
@media (max-width:900px){
  .fbmpt-nav-toggle{display:flex}
  .fbmpt-nav{
    display:none;
    position:absolute;
    left:0;right:0;top:100%;
    background:#fff;
    border-bottom:1px solid var(--fbmpt-line);
    box-shadow:var(--fbmpt-shadow);
    padding:12px 20px 16px;
  }
  .fbmpt-header.is-nav-open .fbmpt-nav{display:block}
  .fbmpt-nav__list{flex-direction:column;gap:4px}
  .fbmpt-nav__list a{display:block;padding:10px 4px;border-bottom:none}
  .fbmpt-header__inner{position:relative;flex-wrap:wrap;min-height:60px;gap:12px}
  .fbmpt-header__actions{order:3;width:100%;margin-left:0}
  .fbmpt-header__actions .fbmpt-btn{flex:1;justify-content:center}
}
@media (max-width:600px){
  .fbmpt-footer__grid{grid-template-columns:1fr !important;gap:20px}
  .fbmpt-main{padding:24px 0 40px}
}


/* ========== Landing page polish v1.2.1 ========== */
body.home .fbmpt-header,
body.blog .fbmpt-header,
body.page .fbmpt-header{
  position:sticky;
  top:0;
  z-index:50;
}

/* Ensure first content never sits under header */
body:not(.fbmp-dash-page):not(.fbmpt-is-dashboard) .fbmpt-main{
  padding-top:20px;
}
body:not(.fbmp-dash-page):not(.fbmpt-is-dashboard) .fbmpt-main--flush .fbmpt-prose,
body:not(.fbmp-dash-page):not(.fbmpt-is-dashboard) .fbmpt-main--flush .fbmpt-prose--full{
  padding-top:28px;
}

/* Default built-in homepage sections */
.fbmpt-home-hero{
  background:linear-gradient(165deg,#063d2f 0%,#0a5c47 45%,#0b6b52 100%);
  color:#fff;
  padding:56px 0 64px;
  text-align:center;
}
.fbmpt-home-eyebrow{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--fbmpt-accent-soft);
  margin:0 0 12px;
}
.fbmpt-home-title{
  font-family:var(--fbmpt-font-heading);
  font-size:clamp(1.75rem,5vw,2.75rem);
  color:#fff !important;
  margin:0 auto 14px;
  max-width:18ch;
  line-height:1.2;
}
.fbmpt-home-lead{
  margin:0 auto 24px;
  max-width:36rem;
  color:rgba(255,255,255,.85);
  font-size:1.05rem;
}
.fbmpt-home-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.fbmpt-home-cta .fbmpt-btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.fbmpt-home-cta .fbmpt-btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff}

.fbmpt-home-section{padding:48px 0}
.fbmpt-home-h2{
  font-size:clamp(1.35rem,3vw,1.75rem);
  margin:0 0 24px;
  text-align:center;
}
.fbmpt-home-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.fbmpt-home-card{
  background:#fff;
  border:1px solid var(--fbmpt-line);
  border-radius:var(--fbmpt-radius);
  padding:20px;
  box-shadow:var(--fbmpt-shadow);
}
.fbmpt-home-card h3{margin:0 0 8px;font-size:1.05rem}
.fbmpt-home-card p{margin:0;color:var(--fbmpt-muted);font-size:.95rem}

/* Mobile header: no overlap / clean */
@media (max-width:900px){
  .fbmpt-header__inner{
    min-height:56px !important;
    padding:8px 4px !important;
  }
  .fbmpt-header__actions{
    gap:8px;
  }
  .fbmpt-header__actions .fbmpt-btn{
    padding:8px 12px;
    font-size:.8rem;
  }
  .fbmpt-prose,.fbmpt-prose--full{
    padding:20px 16px 40px;
  }
  .fbmpt-prose h1{
    font-size:1.5rem !important;
    margin-bottom:12px !important;
  }
}


/* SPACING TIGHTEN theme 1.2.2 */
.fbmpt-prose,.fbmpt-prose--full{
  padding:16px 16px 36px !important;
}
.fbmpt-prose h1{margin-bottom:10px !important;padding-top:4px !important}
.fbmpt-prose p{margin-bottom:0.75em !important}
.fbmpt-home-hero{padding:40px 0 48px !important}
.fbmpt-home-section{padding:36px 0 !important}
.fbmpt-home-grid{gap:12px !important}
.fbmpt-main:not(.fbmpt-main--member):not(.fbmpt-main--flush){padding:20px 0 40px !important}
.fbmpt-footer{padding:36px 0 20px !important}
.fbmpt-footer__bottom{margin-top:24px !important;padding-top:14px !important}
