/* BestStartBiz homepage + assessment components. Scoped to .bsb-* classes. */
:root{
  --bsb-navy:#0A1A3D; --bsb-navy-2:#12285A; --bsb-gold:#E0B962; --bsb-gold-dark:#8A6A1F;
  --bsb-ink:#14213D; --bsb-body:#3E4A63; --bsb-muted:#5B6782; --bsb-line:#DCE1EA;
  --bsb-soft:#F5F7FB; --bsb-cream:#FBF8F1; --bsb-white:#fff;
  --bsb-radius:10px; --bsb-max:1180px;
  --bsb-head: var(--wp--preset--font-family--poppins, "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif);
  --bsb-text: var(--wp--preset--font-family--figtree, "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif);
}
.bsb-section{padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,4vw,2.5rem)!important;margin:0!important;font-family:var(--bsb-text);color:var(--bsb-body);font-size:1.0625rem;line-height:1.65}
.bsb-section > *{max-width:var(--bsb-max)!important;margin-left:auto!important;margin-right:auto!important}
.bsb-section h1,.bsb-section h2,.bsb-section h3{font-family:var(--bsb-head);color:var(--bsb-ink);letter-spacing:-0.01em;margin-top:0}
.bsb-section h2{font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.2;margin-bottom:.75rem}
.bsb-section h3{font-size:1.2rem;line-height:1.3;margin-bottom:.5rem}
.bsb-section p{margin:0 0 1rem}
.bsb-section > .bsb-intro{max-width:720px!important;margin-left:max(0px, calc((100% - var(--bsb-max)) / 2))!important;margin-right:auto!important;padding:0!important;text-indent:0!important}
.bsb-center .bsb-intro,.bsb-center > h2,.bsb-center > .bsb-eyebrow{margin-left:auto!important;margin-right:auto!important;text-align:center}
.bsb-eyebrow{font-family:var(--bsb-text);font-size:.8125rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bsb-gold-dark)!important;margin-bottom:.75rem!important}
.bsb-dark .bsb-eyebrow{color:var(--bsb-gold)!important}
.bsb-soft{background:var(--bsb-soft)}
.bsb-cream{background:var(--bsb-cream)}
.bsb-dark{background:var(--bsb-navy);color:#D7DEEC}
.bsb-dark h1,.bsb-dark h2,.bsb-dark h3,.bsb-dark strong{color:#fff}
.bsb-dark a:not(.wp-block-button__link){color:var(--bsb-gold)}

/* Buttons */
.bsb-section .wp-block-buttons{gap:.75rem;margin:1.5rem 0 1rem}
.bsb-section .wp-block-button__link{font-family:var(--bsb-text);font-weight:700;font-size:1rem;line-height:1.2;padding:.95rem 1.5rem;border-radius:8px;text-decoration:none;min-height:48px;display:inline-flex;align-items:center;border:2px solid transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.bsb-btn-primary .wp-block-button__link{background:var(--bsb-gold)!important;color:var(--bsb-navy)!important}
.bsb-btn-primary .wp-block-button__link:hover{background:#EACB84!important}
.bsb-btn-secondary .wp-block-button__link{background:transparent!important;color:var(--bsb-navy)!important;border-color:var(--bsb-navy)}
.bsb-btn-secondary .wp-block-button__link:hover{background:var(--bsb-navy)!important;color:#fff!important}
.bsb-dark .bsb-btn-secondary .wp-block-button__link{color:#fff!important;border-color:rgba(255,255,255,.55)}
.bsb-dark .bsb-btn-secondary .wp-block-button__link:hover{background:#fff!important;color:var(--bsb-navy)!important}
.bsb-section a:focus-visible,.bsb-section .wp-block-button__link:focus-visible{outline:3px solid var(--bsb-gold);outline-offset:3px}
.bsb-link a{font-weight:700;color:var(--bsb-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--bsb-gold)}
.bsb-dark .bsb-link a{color:#fff}
.bsb-note{font-size:.9375rem!important;color:var(--bsb-muted)}
.bsb-dark .bsb-note{color:#AEB9D0}

/* Hero */
.bsb-hero{background:linear-gradient(180deg,var(--bsb-navy) 0%,var(--bsb-navy-2) 100%);padding-top:clamp(3rem,6vw,5.5rem)!important}
.bsb-hero .wp-block-columns{gap:clamp(2rem,5vw,4.5rem);align-items:center;margin:0}
.bsb-hero h1{font-size:clamp(2.25rem,5.2vw,3.75rem);line-height:1.08;margin-bottom:1.25rem;color:#fff}
.bsb-hero .bsb-lead{font-size:clamp(1.0625rem,1.6vw,1.2rem);color:#D7DEEC;max-width:560px}

/* Panel + vertical flow (hero visual) */
.bsb-panel{background:#fff;border-radius:14px;padding:1.5rem 1.5rem 1.25rem;box-shadow:0 24px 48px -24px rgba(0,0,0,.45);color:var(--bsb-body)}
.bsb-panel-label{font-size:.8125rem!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bsb-muted);margin-bottom:1rem!important;display:flex;justify-content:space-between}
.bsb-flow{list-style:none!important;margin:0!important;padding:0!important;counter-reset:none}
.bsb-flow li{position:relative;padding:.7rem .9rem .7rem 3rem;margin:0 0 .6rem;border:1px solid var(--bsb-line);border-radius:var(--bsb-radius);background:var(--bsb-soft);font-size:.95rem;line-height:1.4}
.bsb-flow li strong{display:block;color:var(--bsb-ink);font-family:var(--bsb-head);font-size:.975rem}
.bsb-flow li::before{content:"";position:absolute;left:1rem;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:#fff;border:3px solid var(--bsb-navy)}
.bsb-flow li::after{content:"";position:absolute;left:calc(1rem + 5.5px);top:calc(50% + 9px);width:3px;height:calc(100% - 4px);background:var(--bsb-line)}
.bsb-flow li:last-child{margin-bottom:0;background:var(--bsb-cream);border-color:#EBDDB9}
.bsb-flow li:last-child::before{background:var(--bsb-gold);border-color:var(--bsb-gold-dark)}
.bsb-flow li:last-child::after{display:none}

/* Grids + cards */
.bsb-grid{display:grid!important;gap:1.25rem;margin-top:2.5rem!important}
.bsb-grid-5{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.bsb-grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.bsb-card{background:#fff;border:1px solid var(--bsb-line);border-radius:var(--bsb-radius);padding:1.5rem!important;display:flex;flex-direction:column;margin:0!important}
.bsb-card p{font-size:.975rem}
.bsb-card .bsb-link{margin-top:auto;margin-bottom:0}
.bsb-card .bsb-tag{font-size:.75rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bsb-gold-dark);margin-bottom:.6rem!important}
.bsb-card-plain{background:transparent;border:0;border-top:3px solid var(--bsb-gold);border-radius:0;padding:1.25rem 0 0!important}

/* Checklist */
.bsb-check{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:.25rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.bsb-check li{position:relative;padding:.55rem 0 .55rem 2rem;border-bottom:1px solid var(--bsb-line);color:var(--bsb-ink);font-weight:500}
.bsb-check li::before{content:"";position:absolute;left:.15rem;top:.85rem;width:.6rem;height:1.05rem;border:solid var(--bsb-gold-dark);border-width:0 3px 3px 0;transform:rotate(45deg)}
.bsb-flagship .wp-block-columns{gap:clamp(2rem,5vw,4rem);align-items:center;margin:0}
.bsb-offer{background:#fff;border:1px solid var(--bsb-line);border-radius:14px;padding:clamp(1.25rem,3vw,2rem)!important}

/* Horizontal system flow */
.bsb-system-flow{list-style:none!important;padding:0!important;margin:3rem auto 0!important;display:grid;grid-template-columns:repeat(6,1fr);gap:0;counter-reset:bsbstep}
.bsb-system-flow li{position:relative;padding:3.25rem .75rem 0;text-align:center;font-size:.95rem;line-height:1.45;counter-increment:bsbstep}
.bsb-system-flow li strong{display:block;font-family:var(--bsb-head);color:var(--bsb-ink);font-size:1rem;margin-bottom:.35rem}
.bsb-system-flow li::before{content:counter(bsbstep);position:absolute;top:0;left:50%;transform:translateX(-50%);width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bsb-navy);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1;font-family:var(--bsb-head)}
.bsb-system-flow li::after{content:"";position:absolute;top:1.2rem;left:50%;width:100%;height:2px;background:var(--bsb-line)}
.bsb-system-flow li:last-child::after{display:none}
.bsb-system-flow li:last-child::before{background:var(--bsb-gold);color:var(--bsb-navy)}

/* Chips + compact chain */
.bsb-chips{list-style:none!important;padding:0!important;margin:1.25rem 0!important;display:flex;flex-wrap:wrap;gap:.6rem}
.bsb-chips li{margin:0;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--bsb-line);background:#fff;color:var(--bsb-ink);font-size:.9375rem;font-weight:500}
.bsb-dark .bsb-chips li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.bsb-chain{list-style:none!important;padding:0!important;margin:0!important;display:flex;flex-direction:column;gap:0}
.bsb-chain li{position:relative;margin:0 0 1.6rem;padding:.8rem 1rem;border-radius:var(--bsb-radius);background:#fff;border:1px solid var(--bsb-line);font-weight:600;color:var(--bsb-ink);text-align:center}
.bsb-chain li::after{content:"\2193";position:absolute;left:50%;bottom:-1.45rem;transform:translateX(-50%);color:var(--bsb-muted);font-weight:700}
.bsb-chain li:last-child{margin-bottom:0;background:var(--bsb-navy);color:#fff;border-color:var(--bsb-navy)}
.bsb-chain li:last-child::after{display:none}
.bsb-chain li.bsb-hl,.bsb-chain .bsb-hl{background:var(--bsb-cream);border-color:#EBDDB9}
.bsb-dark .bsb-chain li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.bsb-dark .bsb-chain li:last-child{background:var(--bsb-gold);color:var(--bsb-navy);border-color:var(--bsb-gold)}
.bsb-dark .bsb-chain li::after{color:#AEB9D0}
.bsb-two .wp-block-columns,.bsb-two.wp-block-columns{gap:clamp(2rem,5vw,4rem);align-items:center;margin:0}

/* Process */
.bsb-num{font-family:var(--bsb-head);font-size:2rem!important;font-weight:700;color:var(--bsb-gold-dark);line-height:1;margin-bottom:.75rem!important}

/* Disclosure */
.bsb-disclosure{font-size:.875rem!important;color:var(--bsb-muted);border-left:3px solid var(--bsb-line);padding-left:1rem;margin-top:1.5rem!important}

/* Resources query */
.bsb-resources .wp-block-post-template{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;list-style:none;padding:0;margin:2rem 0 0}
.bsb-resources .wp-block-post{background:#fff;border:1px solid var(--bsb-line);border-radius:var(--bsb-radius);padding:1.5rem;margin:0}
.bsb-resources .wp-block-post-title{font-size:1.125rem;line-height:1.35;margin:.25rem 0 .5rem}
.bsb-resources .wp-block-post-title a{color:var(--bsb-ink);text-decoration:none}
.bsb-resources .wp-block-post-title a:hover{text-decoration:underline}
.bsb-resources .wp-block-post-date{font-size:.8125rem;color:var(--bsb-muted)}
.bsb-resources .wp-block-post-excerpt{font-size:.95rem}
.bsb-resources .wp-block-post-excerpt__more-text{display:none}

/* Final CTA */
.bsb-final{text-align:center}
.bsb-final .wp-block-buttons{justify-content:center}
.bsb-final .bsb-intro{margin-left:auto!important;margin-right:auto!important}

/* Assessment page form */
.bsb-assess .wp-block-jetpack-contact-form{background:#fff;border:1px solid var(--bsb-line);border-radius:14px;padding:clamp(1.25rem,3vw,2rem)}
.bsb-assess input,.bsb-assess select,.bsb-assess textarea{min-height:48px;font-size:1rem!important}
.bsb-assess .wp-block-jetpack-contact-form .wp-block-button__link,.bsb-assess button[type=submit]{background:var(--bsb-gold)!important;color:var(--bsb-navy)!important;font-weight:700;border-radius:8px;min-height:48px}

/* Mobile sticky CTA */
.bsb-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(10,26,61,.97);display:none;transform:translateY(110%);transition:transform .2s ease}
.bsb-sticky-cta.is-visible{transform:none}
.bsb-sticky-cta a{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:8px;background:var(--bsb-gold);color:var(--bsb-navy);font-weight:700;text-decoration:none;font-family:var(--bsb-text)}

@media (max-width: 960px){
  .bsb-system-flow{grid-template-columns:1fr;max-width:560px!important}
  .bsb-system-flow li{text-align:left;padding:0 0 1.75rem 3.5rem}
  .bsb-system-flow li::before{left:0;transform:none}
  .bsb-system-flow li::after{top:2.5rem;left:1.2rem;width:2px;height:calc(100% - 2.5rem)}
}
@media (max-width: 781px){
  .bsb-sticky-cta{display:block}
  body.bsb-has-sticky{padding-bottom:72px}
  .bsb-section .wp-block-buttons{flex-direction:column;align-items:stretch}
  .bsb-section .wp-block-button,.bsb-section .wp-block-button__link{width:100%;justify-content:center}
  .bsb-final .wp-block-buttons,.bsb-hero .wp-block-buttons{align-items:stretch}
}
@media (prefers-reduced-motion: reduce){
  .bsb-section *,.bsb-sticky-cta{transition:none!important;animation:none!important}
}
