/* Bodner & Clark site-wide CSS overrides on top of the Squarespace template.
   Loaded after the Squarespace headers so these win cascade ties without
   needing !important most of the time. Keep this file small and per-fix
   commented. */

/* Homepage landing: hero + "what membership includes" together fill
   the viewport on first paint. Nothing below this block (testimonials,
   photos, class series) is visible until the user scrolls. */
.bnc-landing {
  background: #F6F6E9;
  min-height: calc(100vh - 74px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  /* The unified custom header is now a static bar above this section, so the
     old overlay allowance is gone. Modest top pad + subtract the header height
     from min-height so hero+includes still fill one screen without a big gap. */
  justify-content: center;
  padding: 36px 0 40px;
}
.bnc-hero {
  background: transparent;
  padding: 0 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bnc-hero-inner {
  max-width: 1040px;
  margin: 0 auto;
  text-align: center;
}
.bnc-hero-eyebrow {
  font: 600 13px/1 -apple-system, "Avenir Next", sans-serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #343F56;
  opacity: 0.7;
  margin: 0 0 28px;
}
.bnc-hero-headline {
  font: 600 48px/1.15 'Optima', 'Avenir Next', Georgia, serif;
  letter-spacing: -0.005em;
  color: #343F56;
  margin: 0 0 24px;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.bnc-hero-tagline {
  font: 400 20px/1.5 -apple-system, "Avenir Next", sans-serif;
  color: #4C5A75;
  margin: 0 auto 40px;
  max-width: 640px;
}
.bnc-hero-tagline em {
  font-style: italic;
  font-weight: 600;
  color: #343F56;
}
.bnc-hero-tagline-secondary {
  margin-top: -24px;
  font-size: 17px;
  max-width: 720px;
}

/* Red highlight band — the deck-style .hl pattern (<strong class="hl">word</strong>)
   from ~/Projects/Decks/_template. Bold navy text on a horizontal red band. */
.bnc-hero-tagline .hl,
.hl {
  background: linear-gradient(180deg, transparent 0 55%, rgba(220, 29, 38, 0.32) 55% 92%, transparent 92%);
  font-weight: 700;
  font-style: normal;
  color: #343F56;
  padding: 0 0.12em;
}

/* TAX SCHOOL mark above the hero eyebrow, centered, modest size. */
.bnc-hero-mark {
  /* Hero wordmark removed at Bobby's request; the remaining hero content
     centers vertically in the landing area on its own. */
  display: none;
}
@media (max-width: 720px) {
  .bnc-hero-mark { width: 88px; margin-bottom: 20px; }
}
.bnc-hero-actions {
  display: inline-flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
.bnc-hero-cta {
  display: inline-block;
  padding: 14px 32px;
  border-radius: 999px;
  font: 600 15px/1 -apple-system, "Avenir Next", sans-serif;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.bnc-hero-cta-primary { background: #DC1D26; color: #FFF; }
.bnc-hero-cta-primary:hover { background: #B0151D; color: #FFF; }
.bnc-hero-cta-secondary {
  background: transparent;
  color: #343F56;
  border: 1.5px solid #343F56;
  padding: 12.5px 30.5px;
}
.bnc-hero-cta-secondary:hover { background: #343F56; color: #F6F6E9; }
@media (max-width: 720px) {
  .bnc-landing { padding-top: 24px; }
  .bnc-hero { padding: 20px 20px 20px; }
  .bnc-hero-eyebrow { font-size: 11px; margin-bottom: 20px; }
  .bnc-hero-headline { font-size: 36px; }
  .bnc-hero-tagline { font-size: 16px; margin-bottom: 28px; }
  .bnc-hero-cta { padding: 12px 24px; font-size: 14px; }
  .bnc-hero-actions { flex-direction: column; width: 100%; }
  .bnc-hero-cta { width: 100%; box-sizing: border-box; text-align: center; }
}

/* Membership-includes block — directly under the hero CTAs, with a
   faint hairline divider separating it from the buttons. */
.bnc-includes {
  background: transparent;
  padding: 28px 24px 0;
}
.bnc-includes-inner {
  max-width: 880px;
  margin: 0 auto;
  padding-top: 28px;
  border-top: 1px solid rgba(52, 63, 86, 0.18);
}
.bnc-includes-title {
  font: 600 22px/1.2 'Optima', 'Avenir Next', Georgia, serif;
  color: #343F56;
  text-align: center;
  margin: 0 0 24px;
  letter-spacing: 0.005em;
}
.bnc-includes-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.bnc-includes-list li {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
}
.bnc-includes-label {
  font: 600 16px/1.3 -apple-system, "Avenir Next", sans-serif;
  color: #343F56;
}
.bnc-includes-detail {
  font: 400 15px/1.5 -apple-system, "Avenir Next", sans-serif;
  color: #4C5A75;
}
@media (max-width: 720px) {
  .bnc-includes { padding: 0 20px 32px; }
  .bnc-includes-inner { padding-top: 20px; }
  .bnc-includes-title { font-size: 18px; margin-bottom: 16px; }
  .bnc-includes-list { grid-template-columns: 1fr; gap: 16px; }
}

/* Credentials badge row — pushed to the bottom of the landing block
   with margin-top: auto, constrained to the same 880px max-width as
   the membership-includes grid above it. Badges sit closer together
   for a tighter row. */
section.bnc-badges {
  padding: 84px 24px 0 !important;
}
section.bnc-badges .bnc-badges-inner {
  max-width: 880px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
}
section.bnc-badges .bnc-badges-inner img {
  display: block !important;
  height: 56px !important;
  max-height: 56px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  opacity: 0.92;
}
@media (max-width: 720px) {
  section.bnc-badges { padding: 40px 16px 0 !important; }
  section.bnc-badges .bnc-badges-inner { gap: 12px !important; }
  section.bnc-badges .bnc-badges-inner img {
    height: 40px !important;
    max-height: 40px !important;
  }
}

/* Footer link row (Privacy Policy | Terms of Service) — shrink ONLY the
   font-size of the link text so it matches the small copyright line.
   Do not touch layout, margin, alignment, or the parent <h4>. */
#footer-sections a[href="/privacy-policy"],
#footer-sections a[href="/terms-of-service"] {
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
}

/* Match the Squarespace header band to the brand cream so it joins the
   hero seamlessly (the default site-theme cream is a slightly different
   shade and shows as a visible seam at the section boundary). */
#header,
#header.theme-col--primary,
#header[data-section-theme] {
  background-color: #F6F6E9 !important;
}

/* Header logo: the new BODNER & CLARK wordmark is wide (~3:1 landscape)
   instead of the previous square framed logo. Cap its height so it sits
   cleanly in the header bar without ballooning the header. */
.header-title-logo img,
.header-title-logo-fixed img,
img[elementtiming="nbf-header-logo-desktop"] {
  max-height: 56px !important;
  width: auto !important;
  height: 56px !important;
}
@media (max-width: 720px) {
  .header-title-logo img,
  img[elementtiming="nbf-header-logo-desktop"] {
    max-height: 40px !important;
    height: 40px !important;
  }
}

/* Right gutter on the top nav so "My Account" doesn't run flush to the
   right edge of the viewport. Squarespace's default header-nav has no
   trailing padding on this template. */
.header-display-desktop .header-nav,
.header-display-desktop .header-nav-wrapper {
  padding-right: 48px;
}
@media (max-width: 768px) {
  .header-display-desktop .header-nav,
  .header-display-desktop .header-nav-wrapper {
    padding-right: 24px;
  }
}

/* About-page bios: round headshots above each name, centered, with
   centered text for a cleaner more-minimal layout. */
.bnc-bio { text-align: center !important; }
.bnc-bio .bnc-bio-headshot {
  margin: 0 auto 28px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  background: #343F56;
}
.bnc-bio .bnc-bio-headshot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bnc-bio p { text-align: center !important; }
.bnc-bio p:first-of-type { margin-top: 0 !important; }
@media (max-width: 720px) {
  .bnc-bio .bnc-bio-headshot { width: 140px; height: 140px; margin-bottom: 20px; }
}

/* SOPs hero: off-platform, the text block's own background renders as a flat
   light-gray, so its white text is unreadable. Make that block a solid B&C navy
   card so the text reads cleanly (no dependency on Squarespace's background JS).
   Targets the specific hero text block on /sops/. */
#block-yui_3_17_2_1_1761401907347_3340 {
  background-color: #343F56 !important;
  border-radius: 10px !important;
  padding: 52px 44px !important;
}
#block-yui_3_17_2_1_1761401907347_3340 .sqsrte-text-color--white,
#block-yui_3_17_2_1_1761401907347_3340 .sqsrte-text-color--white strong {
  color: #F6F6E9 !important;
}
