/*
 * BFO theme — Journal (Step 6, v0.17.0)
 * Blog index (home), full list (journal-all/archive), category, single post + article patterns.
 * Mobile first (<=767px), tablet 768–1024px, desktop >=1025px. Heading sizes come from theme.json + bfo-shell.css.
 */

.bfo-journal{ --bfo-burnt:#9B5E2E; --bfo-cream:#FCEFD6; --bfo-amber-ink:#B86F00; }

/* ---------- Shared bits ---------- */
.bfo-journal .bfo-sec p.bfo-jtag{
  display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 22px; padding:0 0 13px;
  border-bottom:1px solid var(--bfo-line); color:var(--bfo-amber);
  font:900 10px/1 var(--bfo-display) !important; letter-spacing:.14em; text-transform:uppercase;
}
.bfo-journal .bfo-sec p.bfo-jtag::after{ content:"↓"; font:900 26px/.8 var(--bfo-display); color:var(--bfo-amber); }

/* category label on cards + features */
.bfo-journal .wp-block-post-terms.bfo-jcat{ margin:0 0 7px; font:400 9px/1.2 var(--bfo-label); letter-spacing:.13em; text-transform:uppercase; color:var(--bfo-burnt); }
.bfo-journal .wp-block-post-terms.bfo-jcat a{ color:var(--bfo-burnt) !important; text-decoration:none !important; font-weight:700 !important; }
.bfo-journal .wp-block-post-terms.bfo-jcat a ~ a,
.bfo-journal .wp-block-post-terms.bfo-jcat .wp-block-post-terms__separator{ display:none; }
.bfo-journal .wp-block-post-terms.bfo-jcat--lg{ font-size:11px; letter-spacing:.15em; margin-bottom:12px; }

/* meta rows */
.bfo-journal .bfo-jmeta{ display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; }
.bfo-journal .bfo-jmeta p.bfo-readtime,
.bfo-journal .bfo-jmeta .wp-block-post-date{ margin:0; font:500 10px/1.4 var(--bfo-body) !important; color:var(--bfo-muted) !important; }
.bfo-journal .bfo-jfeature .bfo-jmeta{ margin:16px 0 20px; }
.bfo-journal .bfo-jfeature .bfo-jmeta p.bfo-readtime,
.bfo-journal .bfo-jfeature .bfo-jmeta .wp-block-post-date{ font-size:11px !important; text-transform:uppercase; letter-spacing:.02em; }

/* featured-image slot (gradient shows until a featured image is set) */
.bfo-journal .bfo-jthumb{ position:relative; overflow:hidden; aspect-ratio:4/3; border-radius:14px; background:linear-gradient(145deg,#d6e1e6,#8ea6b2); margin:0; }
.bfo-journal .bfo-jthumb .wp-block-post-featured-image{ position:absolute; inset:0; margin:0; height:100%; }
.bfo-journal .bfo-jthumb .wp-block-post-featured-image :is(a,img){ display:block; width:100%; height:100%; object-fit:cover; }
.bfo-journal .bfo-jthumb--feature{ border-radius:20px; background:linear-gradient(145deg,#b7c8d1,#698594); }

/* read more */
.bfo-journal .wp-block-read-more.bfo-jread-more{ display:inline-flex; align-items:center; gap:8px; color:var(--bfo-navy) !important; text-decoration:none !important; font:900 12px/1 var(--bfo-display) !important; letter-spacing:.04em; text-transform:uppercase; }
.bfo-journal .wp-block-read-more.bfo-jread-more::after{ content:"→"; color:var(--bfo-amber); font-size:18px; }

/* section heads (title left, lead right on desktop) */
.bfo-journal .bfo-jhead{ margin-bottom:22px; }
.bfo-journal .bfo-jhead p.bfo-lead{ color:var(--bfo-muted); font-weight:400; margin:0; }
.bfo-journal .bfo-jhead__title h2.wp-block-heading{ margin-bottom:16px; }
@media (min-width:768px){
  .bfo-journal .bfo-jhead{ display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,380px); gap:56px; align-items:end; margin-bottom:34px; }
  .bfo-journal .bfo-jhead__title h2.wp-block-heading{ margin-bottom:0; }
}

/* ---------- Article cards (list on phones, grid from tablet) ---------- */
.bfo-journal ul.bfo-jcards{ list-style:none; margin:0; padding:0; border-top:1px solid var(--bfo-line); display:block; }
.bfo-journal ul.bfo-jcards > li{ margin:0; }
.bfo-journal .bfo-jcard{ position:relative; display:grid; grid-template-columns:108px minmax(0,1fr); gap:15px; align-items:center; padding:16px 0; border-bottom:1px solid var(--bfo-line); }
.bfo-journal .bfo-jcard__body > *{ margin:0; }
.bfo-journal h3.bfo-jcard__title{ margin:0 0 6px !important; font-size:16px !important; line-height:1.28 !important; letter-spacing:-.018em; }
.bfo-journal h3.bfo-jcard__title a{ color:var(--bfo-navy) !important; text-decoration:none !important; font-weight:800 !important; }
.bfo-journal h3.bfo-jcard__title a::after{ content:""; position:absolute; inset:0; z-index:3; }
.bfo-journal .bfo-jcard:hover h3.bfo-jcard__title a{ text-decoration:underline !important; text-underline-offset:3px; }
.bfo-journal .bfo-jcard .wp-block-post-terms a{ position:relative; z-index:4; }
@media (min-width:768px){
  .bfo-journal ul.bfo-jcards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; border-top:0; }
  .bfo-journal .bfo-jcard{ display:block; padding:14px 0 0; border-bottom:0; border-top:1px solid var(--bfo-line); }
  .bfo-journal .bfo-jcard .bfo-jthumb{ border-radius:18px; margin-bottom:18px; }
  .bfo-journal h3.bfo-jcard__title{ font-size:22px !important; line-height:1.22 !important; margin-bottom:9px !important; }
}
@media (min-width:1025px){ .bfo-journal ul.bfo-jcards{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* pagination: Newer · numbers · Older */
.bfo-journal .wp-block-query-pagination.bfo-jpager{
  display:grid !important; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; margin:26px 0 0; padding-top:22px; border-top:1px solid var(--bfo-line);
  font:900 11px/1 var(--bfo-display); text-transform:uppercase; letter-spacing:.04em; color:var(--bfo-navy);
}
.bfo-journal .bfo-jpager a{ color:var(--bfo-navy) !important; text-decoration:none !important; font-weight:900 !important; }
.bfo-journal .bfo-jpager .wp-block-query-pagination-previous{ grid-column:1; justify-self:start; margin:0; }
.bfo-journal .bfo-jpager .wp-block-query-pagination-numbers{ grid-column:2; display:flex; gap:7px; margin:0; }
.bfo-journal .bfo-jpager .wp-block-query-pagination-next{ grid-column:3; justify-self:end; margin:0; }
.bfo-journal .bfo-jpager .page-numbers{ width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--bfo-line); border-radius:10px; margin:0; }
.bfo-journal .bfo-jpager .page-numbers.current{ background:var(--bfo-navy); border-color:var(--bfo-navy); color:#fff; }
.bfo-journal .bfo-jpager .page-numbers.dots{ border:0; width:auto; }
.bfo-journal .bfo-jpager [class*="-arrow"]{ color:var(--bfo-amber); margin:0 6px; }
@media (min-width:768px){ .bfo-journal .bfo-jpager .page-numbers{ width:36px; height:36px; } .bfo-journal .wp-block-query-pagination.bfo-jpager{ margin-top:34px; } }

/* ---------- Feature (Latest / Start here) ---------- */
.bfo-journal ul.bfo-jfeature{ list-style:none; margin:0; padding:0; }
.bfo-journal ul.bfo-jfeature > li{ margin:0; }
.bfo-journal .bfo-jfeature .bfo-jthumb--feature{ margin-bottom:24px; }
.bfo-journal h2.bfo-jfeature__title{ margin:0 0 14px !important; }
.bfo-journal h2.bfo-jfeature__title a{ color:var(--bfo-navy) !important; text-decoration:none !important; font-weight:900 !important; }
.bfo-journal .bfo-jfeature__excerpt p{ margin:0; color:var(--bfo-muted); }
.bfo-journal .bfo-jfeature__excerpt .wp-block-post-excerpt__more-text{ display:none; }
@media (min-width:768px){
  .bfo-journal .bfo-jfeature__grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:44px; align-items:center; }
  .bfo-journal .bfo-jfeature .bfo-jthumb--feature{ aspect-ratio:16/10; border-radius:24px; margin:0; }
  .bfo-journal .bfo-sec p.bfo-jtag{ font-size:11px !important; margin-bottom:34px; padding-bottom:15px; }
}
@media (min-width:1025px){
  .bfo-journal .bfo-jfeature__grid{ grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr); gap:62px; }
  .bfo-journal h2.bfo-jfeature__title{ font-size:clamp(36px,3.1vw,48px) !important; max-width:12ch; }
  .bfo-journal .bfo-jfeature__excerpt p{ font-size:17px; line-height:1.68; max-width:40ch; }
}

/* ---------- Blog index hero ---------- */
.bfo-sec.bfo-jhero{ padding:0; min-height:640px; display:flex; align-items:flex-end; }
.bfo-jhero .bfo-jhero__media{ position:absolute !important; inset:0; z-index:0; border-radius:0; min-height:0; background:linear-gradient(145deg,#8299A4 0%,#607B88 48%,#365A6C 100%); align-items:flex-start; padding-top:22%; }
.bfo-jhero .bfo-jhero__media p.bfo-photo__label{ color:rgba(255,255,255,.55); }
.bfo-jhero::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(3,59,90,.02) 0%,rgba(3,59,90,.08) 35%,rgba(3,59,90,.72) 73%,rgba(3,59,90,.94) 100%); }
.bfo-jhero::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 13px,rgba(255,255,255,0) 13px 30px);
  -webkit-mask-image:linear-gradient(to top,#000 0%,transparent 55%); mask-image:linear-gradient(to top,#000 0%,transparent 55%); }
.bfo-jhero .bfo-wrap{ width:100%; }
.bfo-jhero .bfo-jhero__copy{ padding:0 0 34px; }
.bfo-jhero h1.wp-block-heading{ color:#fff; max-width:8ch; margin-bottom:18px !important; }
.bfo-jhero p.bfo-lead{ color:rgba(255,255,255,.92); font-weight:400; max-width:31ch; margin:0; }
@media (min-width:768px){
  .bfo-sec.bfo-jhero{ min-height:650px; }
  .bfo-jhero .bfo-jhero__media{ align-items:center; justify-content:flex-end; padding:0 8% 0 0; }
  .bfo-jhero::before{ background:linear-gradient(90deg,rgba(3,59,90,.88) 0%,rgba(3,59,90,.68) 38%,rgba(3,59,90,.20) 70%,rgba(3,59,90,.05) 100%); }
  .bfo-jhero::after{ -webkit-mask-image:linear-gradient(to right,#000 0%,transparent 50%); mask-image:linear-gradient(to right,#000 0%,transparent 50%); }
  .bfo-jhero .bfo-jhero__copy{ padding:0 0 64px; }
  .bfo-jhero h1.wp-block-heading{ max-width:9ch; }
  .bfo-jhero p.bfo-lead{ font-size:18px; line-height:1.55; max-width:36ch; }
}

/* Latest */
.bfo-sec.bfo-jlatest{ padding-top:24px; }
@media (min-width:768px){ .bfo-sec.bfo-jlatest{ padding-top:28px; } }

/* ---------- Choose a direction (index) ---------- */
.bfo-jtopics{ border-top:5px solid var(--bfo-amber); }
.bfo-jtopics p.bfo-eyebrow, .bfo-jdirs p.bfo-eyebrow{ color:var(--bfo-amber-ink) !important; }
.bfo-jtopics p.bfo-eyebrow::before, .bfo-jdirs p.bfo-eyebrow::before{ background:var(--bfo-amber-ink) !important; }
.bfo-jtopics .bfo-jtopics__grid{ display:grid; gap:12px; }
.bfo-jtopics .bfo-jtopic{ position:relative; overflow:hidden; min-height:104px; background:#fff; border:1px solid rgba(3,59,90,.08); border-radius:var(--bfo-radius); padding:18px 58px 16px 18px; box-shadow:0 8px 20px rgba(3,59,90,.035); }
.bfo-jtopics .bfo-jtopic::after{ content:"↗"; position:absolute; top:14px; right:15px; z-index:3; color:var(--bfo-amber-ink); font:900 19px/1 var(--bfo-display); }
.bfo-jtopics p.bfo-jtopic__title{ position:static; max-width:15ch; }
.bfo-jtopics p.bfo-jtopic__title a{ font:900 18px/1.12 var(--bfo-display) !important; color:var(--bfo-navy) !important; text-decoration:none !important; }
.bfo-jtopics p.bfo-jtopic__title a::after{ content:""; position:absolute; inset:0; z-index:4; }
.bfo-jtopics p.bfo-jtopic__desc{ position:relative; z-index:2; max-width:26ch; margin-top:7px !important; color:var(--bfo-muted); font:400 12px/1.42 var(--bfo-body) !important; }
.bfo-jtopics p.bfo-jtopic__num{ position:absolute; right:12px; bottom:-14px; margin:0; pointer-events:none; font:900 74px/.8 var(--bfo-display) !important; letter-spacing:-.04em; color:rgba(242,160,31,.18) !important; }
.bfo-jtopics .bfo-jtopic--featured{ background:var(--bfo-navy); }
.bfo-jtopics .bfo-jtopic--featured::after{ color:var(--bfo-amber); }
.bfo-jtopics .bfo-jtopic--featured p.bfo-jtopic__title a{ color:#fff !important; }
.bfo-jtopics .bfo-jtopic--featured p.bfo-jtopic__desc{ color:rgba(255,255,255,.76) !important; }
.bfo-jtopics .bfo-jtopic--featured p.bfo-jtopic__num{ color:rgba(242,160,31,.28) !important; }
.bfo-jtopics .bfo-jtopic:not(.bfo-jtopic--featured):hover{ box-shadow:0 12px 28px rgba(3,59,90,.10); }
@media (min-width:768px){
  .bfo-jtopics .bfo-jtopics__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .bfo-jtopics .bfo-jtopic{ min-height:190px; border-radius:20px; padding:28px 76px 24px 26px; }
  .bfo-jtopics .bfo-jtopic::after{ top:18px; right:19px; font-size:22px; }
  .bfo-jtopics p.bfo-jtopic__title{ max-width:14ch; }
  .bfo-jtopics p.bfo-jtopic__title a{ font-size:24px !important; }
  .bfo-jtopics p.bfo-jtopic__desc{ max-width:29ch; margin-top:11px !important; font-size:13px !important; line-height:1.55 !important; }
  .bfo-jtopics p.bfo-jtopic__num{ right:16px; bottom:-18px; font-size:112px !important; }
}
@media (min-width:1025px){ .bfo-jtopics .bfo-jtopics__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* ---------- Recent (index) ---------- */
.bfo-jrecent .bfo-jhead__title{ margin-bottom:22px; }
.bfo-jrecent p.bfo-jbrowse{ margin-top:24px !important; }
.bfo-journal p.bfo-jbrowse a{ display:flex; align-items:center; justify-content:space-between; gap:9px; color:var(--bfo-navy) !important; text-decoration:none !important; font:900 12px/1 var(--bfo-display) !important; letter-spacing:.04em; text-transform:uppercase; }
.bfo-journal p.bfo-jbrowse a::after{ content:"→"; color:var(--bfo-amber); font-size:18px; }
@media (min-width:768px){
  .bfo-jrecent .bfo-jrecent__wrap{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; column-gap:28px; }
  .bfo-jrecent .bfo-jhead__title{ grid-column:1; grid-row:1; margin-bottom:30px; }
  .bfo-jrecent .bfo-jhead__title h2.wp-block-heading{ margin-bottom:0; }
  .bfo-jrecent p.bfo-jbrowse{ grid-column:2; grid-row:1; margin:0 0 34px !important; }
  .bfo-jrecent p.bfo-jbrowse a{ display:inline-flex; justify-content:flex-start; }
  .bfo-jrecent .wp-block-query{ grid-column:1 / -1; grid-row:2; }
}
@media (min-width:1025px){ .bfo-jrecent ul.bfo-jcards > li:nth-child(n+4){ display:none; } }

/* ---------- Category + list heroes ---------- */
.bfo-sec.bfo-cathero{ background:var(--bfo-navy); padding:30px 0 42px; min-height:330px; display:flex; align-items:flex-end; }
.bfo-cathero::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 13px,rgba(255,255,255,0) 13px 30px);
  -webkit-mask-image:linear-gradient(to top left,#000 0%,rgba(0,0,0,.5) 30%,transparent 60%); mask-image:linear-gradient(to top left,#000 0%,rgba(0,0,0,.5) 30%,transparent 60%); }
.bfo-cathero .bfo-wrap{ width:100%; }
.bfo-sec.bfo-cathero p.bfo-cathero__num{ position:absolute; right:-9px; top:24px; z-index:1; margin:0; pointer-events:none; font:900 190px/.8 var(--bfo-display) !important; letter-spacing:-.05em; color:rgba(242,160,31,.13) !important; }
.bfo-cathero p.bfo-cathero__back{ margin:0 0 52px !important; }
.bfo-cathero p.bfo-cathero__back a{ color:rgba(255,255,255,.72) !important; text-decoration:none !important; font:600 10px/1 var(--bfo-body) !important; letter-spacing:.08em; text-transform:uppercase; }
.bfo-cathero p.bfo-cathero__back a:hover{ color:#fff !important; }
.bfo-cathero h1.wp-block-query-title, .bfo-cathero h1.wp-block-heading{ color:#fff; margin:0 0 16px !important; }
.bfo-cathero .wp-block-term-description, .bfo-cathero p.bfo-lead{ max-width:31ch; margin:0; }
.bfo-cathero .wp-block-term-description p, .bfo-cathero p.bfo-lead{ color:rgba(255,255,255,.86) !important; font-weight:400; font-size:16px; line-height:1.62; margin:0; }
.bfo-cathero--plain h1.wp-block-heading{ max-width:13ch; }
@media (min-width:768px){
  .bfo-sec.bfo-cathero{ padding:56px 0 64px; min-height:0; display:block; }
  .bfo-sec.bfo-cathero p.bfo-cathero__num{ right:36px; top:26px; font-size:240px !important; color:rgba(242,160,31,.105) !important; }
  .bfo-cathero p.bfo-cathero__back{ margin-bottom:64px !important; }
  .bfo-cathero p.bfo-cathero__back a{ font-size:11px !important; color:rgba(255,255,255,.68) !important; }
  .bfo-cathero h1.wp-block-query-title{ max-width:9ch; }
  .bfo-cathero .wp-block-term-description, .bfo-cathero p.bfo-lead{ max-width:48ch; }
  .bfo-cathero .wp-block-term-description p, .bfo-cathero p.bfo-lead{ font-size:18px; line-height:1.6; }
}
@media (min-width:1025px){ .bfo-sec.bfo-cathero{ padding:64px 0 70px; } .bfo-sec.bfo-cathero p.bfo-cathero__num{ right:58px; top:30px; font-size:300px !important; } }

/* Start here */
.bfo-sec.bfo-jfeatured{ padding-top:28px; }
.bfo-jfeatured .wp-block-post-terms.bfo-jcat--lg{ color:var(--bfo-burnt); }
@media (min-width:768px){ .bfo-sec.bfo-jfeatured{ padding-top:30px; } .bfo-jfeatured h2.bfo-jfeature__title{ font-size:clamp(34px,3.2vw,46px) !important; } }
/* no Start here post (page 2+, empty category): collapse the band */
.bfo-sec.bfo-jfeatured:not(:has(li)){ display:none; }

/* Feed */
.bfo-sec.bfo-jfeed{ border-top:1px solid var(--bfo-line); }
.bfo-journal--home .bfo-sec.bfo-jfeed, .bfo-cathero + .bfo-jfeed{ border-top:0; }

/* ---------- Explore another direction (category) ---------- */
.bfo-jdirs{ border-top:5px solid var(--bfo-amber); }
.bfo-jdirs .bfo-jhead__title h2.wp-block-heading{ max-width:8ch; }
.bfo-jdirs .bfo-jdirs__grid{ display:grid; gap:10px; margin-top:4px; }
.bfo-jdirs .bfo-jdir{ position:relative; overflow:hidden; min-height:68px; display:flex; align-items:center; background:#fff; border:1px solid rgba(3,59,90,.08); border-radius:16px; padding:15px 54px 15px 16px; }
.bfo-jdirs p.bfo-jdir__title{ position:static; }
.bfo-jdirs p.bfo-jdir__title a{ font:900 16px/1.15 var(--bfo-display) !important; color:var(--bfo-navy) !important; text-decoration:none !important; }
.bfo-jdirs p.bfo-jdir__title a::after{ content:""; position:absolute; inset:0; z-index:3; }
.bfo-jdirs .bfo-jdir:hover{ box-shadow:0 12px 28px rgba(3,59,90,.10); }
.bfo-jdirs p.bfo-jdir__num{ position:absolute; right:10px; bottom:-8px; margin:0; pointer-events:none; font:900 54px/.8 var(--bfo-display) !important; color:rgba(242,160,31,.19) !important; }
.bfo-jdirs .bfo-jdir--journal{ background:var(--bfo-navy); }
.bfo-jdirs .bfo-jdir--journal p.bfo-jdir__title a{ color:#fff !important; }
.bfo-jdirs .bfo-jdir--journal p.bfo-jdir__num{ color:rgba(242,160,31,.28) !important; }
@media (min-width:768px){
  .bfo-jdirs .bfo-jhead__title h2.wp-block-heading{ max-width:none; }
  .bfo-jdirs .bfo-jhead p.bfo-lead{ max-width:36ch; justify-self:end; }
  .bfo-jdirs .bfo-jdirs__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .bfo-jdirs .bfo-jdir{ min-height:112px; align-items:flex-start; border-radius:18px; padding:22px 72px 20px 20px; }
  .bfo-jdirs p.bfo-jdir__title{ max-width:14ch; }
  .bfo-jdirs p.bfo-jdir__title a{ font-size:19px !important; }
  .bfo-jdirs p.bfo-jdir__num{ right:12px; bottom:-13px; font-size:78px !important; }
}
@media (min-width:1025px){ .bfo-jdirs .bfo-jdirs__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* ---------- Dispatch (Journal) ---------- */
.bfo-sec.bfo-jdispatch{ padding:52px 0; }
.bfo-jdispatch .bfo-jdispatch__card{ position:relative; overflow:hidden; border-radius:22px; background:var(--bfo-navy); padding:34px 24px 28px; }
.bfo-jdispatch .bfo-jdispatch__card::after{ content:"BFO"; position:absolute; right:-18px; bottom:-26px; z-index:0; pointer-events:none; font:900 102px/.8 var(--bfo-display); color:rgba(255,255,255,.045); }
.bfo-jdispatch .bfo-jdispatch__copy, .bfo-jdispatch .bfo-jdispatch__form{ position:relative; z-index:2; }
.bfo-jdispatch p.bfo-eyebrow{ margin-bottom:18px !important; }
.bfo-jdispatch h2.wp-block-heading{ color:#fff; max-width:10ch; margin-bottom:14px !important; }
.bfo-jdispatch p:not(.bfo-eyebrow){ color:rgba(255,255,255,.82); }
.bfo-jdispatch .bfo-signup{ margin-top:22px; gap:10px; }
.bfo-jdispatch .bfo-signup input{ background:#fff; border-color:rgba(255,255,255,.55); color:var(--bfo-navy); height:50px; border-radius:12px; }
.bfo-jdispatch .bfo-signup input::placeholder{ color:#6F7C86; }
.bfo-jdispatch .bfo-signup input, .bfo-jdispatch .bfo-signup button{ flex:none !important; }
.bfo-jdispatch .bfo-signup button{ height:50px; width:100%; }
@media (min-width:768px){
  .bfo-sec.bfo-jdispatch{ padding:62px 0; }
  .bfo-jdispatch .bfo-jdispatch__card{ max-width:1120px; margin:0 auto; border-radius:24px; padding:46px 50px; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,420px); gap:48px; align-items:center; }
  .bfo-jdispatch .bfo-jdispatch__card::after{ bottom:-42px; font-size:150px; color:rgba(255,255,255,.04); }
  .bfo-jdispatch h2.wp-block-heading{ max-width:13ch; font-size:42px; margin-bottom:12px !important; }
  .bfo-jdispatch .bfo-jdispatch__copy p br{ display:none; }
  .bfo-jdispatch .bfo-jdispatch__copy p:not(.bfo-eyebrow){ max-width:48ch; }
  .bfo-sec .bfo-signup.bfo-jdispatch__form{ flex-direction:column; margin-top:0; }
}
@media (min-width:1025px){ .bfo-jdispatch .bfo-jdispatch__card{ gap:64px; } }

/* =====================================================================
   SINGLE POST
   ===================================================================== */

/* Hero: phones = copy then full-bleed 4:3 image; desktop = image left, copy right */
.bfo-sec.bfo-shero{ padding:0; border-bottom:1px solid var(--bfo-line); }
.bfo-shero .bfo-shero__grid{ display:flex; flex-direction:column; }
.bfo-shero .bfo-shero__copy{ order:1; padding:34px var(--bfo-gutter) 26px; }
.bfo-shero .bfo-shero__media{ order:2; position:relative; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(145deg,#becdd4,#718c98); }
.bfo-shero .bfo-shero__media .wp-block-post-featured-image{ position:absolute; inset:0; margin:0; height:100%; }
.bfo-shero .bfo-shero__media img{ width:100%; height:100%; object-fit:cover; }
.bfo-shero .wp-block-post-terms.bfo-shero__cat{ margin-bottom:13px; }
.bfo-shero h1.bfo-shero__title{ margin:0 0 16px !important; text-wrap:balance; }
.bfo-shero .bfo-shero__deck p{ margin:0 0 18px; max-width:32ch; color:var(--bfo-slate); font-size:16px; line-height:1.58; }
.bfo-shero .bfo-shero__deck .wp-block-post-excerpt__more-text{ display:none; }
.bfo-shero .bfo-shero__meta{ display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; padding-top:16px; border-top:1px solid var(--bfo-line); }
.bfo-shero .bfo-shero__meta :is(p, .wp-block-post-date, .wp-block-post-author-name){ margin:0; font:500 10.5px/1.45 var(--bfo-body) !important; color:var(--bfo-muted) !important; }
.bfo-shero .bfo-shero__byline{ display:flex; gap:4px; }
.bfo-shero .bfo-shero__byline :is(p, .wp-block-post-author-name){ color:var(--bfo-navy) !important; font-weight:700 !important; }
@media (min-width:768px){
  .bfo-shero .bfo-shero__grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); min-height:520px; }
  .bfo-shero .bfo-shero__media{ order:1; aspect-ratio:auto; min-height:520px; }
  .bfo-shero .bfo-shero__copy{ order:2; display:flex; flex-direction:column; justify-content:center; padding:56px 44px; }
  .bfo-shero .wp-block-post-terms.bfo-shero__cat{ margin-bottom:16px; }
  .bfo-shero .bfo-shero__deck p{ max-width:37ch; font-size:18px; line-height:1.62; margin-bottom:24px; }
  .bfo-shero .bfo-shero__meta{ gap:10px 18px; padding-top:18px; }
  .bfo-shero .bfo-shero__meta :is(p, .wp-block-post-date, .wp-block-post-author-name){ font-size:11px !important; }
}
@media (min-width:1025px){
  .bfo-shero .bfo-shero__grid{ grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr); min-height:560px; }
  .bfo-shero .bfo-shero__copy{ padding:62px clamp(48px,5vw,78px); }
}

/* Reading zone: article column + sticky sidebar on desktop */
.bfo-jread{ background:var(--bfo-paper); padding:28px var(--bfo-gutter) 24px; }
.bfo-jread .bfo-jread__grid{ max-width:720px; margin:0 auto; }
.bfo-jread .bfo-jread__side{ display:none; }
@media (min-width:768px){ .bfo-jread{ padding:44px var(--bfo-gutter) 56px; } }
@media (min-width:1025px){
  .bfo-jread{ padding:54px 58px 76px; }
  .bfo-jread .bfo-jread__grid{ max-width:1050px; display:grid; grid-template-columns:minmax(0,720px) 240px; gap:78px; align-items:start; }
  .bfo-jread .bfo-jread__side{ display:grid; gap:30px; position:sticky; top:120px; }
}

/* Sidebar */
.bfo-toc--desktop, .bfo-artdetails{ padding-top:15px; border-top:3px solid var(--bfo-navy); }
p.bfo-toc__label{ margin:0 0 10px; font:700 11px/1.3 var(--bfo-label); letter-spacing:.15em; text-transform:uppercase; color:var(--bfo-burnt, #9B5E2E); }
p.bfo-toc__label--navy{ color:var(--bfo-navy); }
h4.bfo-toc__title{ margin:0 0 3px; font:800 17px/1.25 var(--bfo-display); letter-spacing:-.01em; color:var(--bfo-navy); }
.bfo-toc__links{ display:grid; margin-top:13px; }
.bfo-toc__links a{ padding:10px 0; border-top:1px solid var(--bfo-line); font:500 12px/1.45 var(--bfo-body); color:var(--bfo-muted); text-decoration:none; }
.bfo-toc__links a:first-child{ color:var(--bfo-navy); font-weight:700; }
.bfo-toc__links a:hover{ color:var(--bfo-navy); }
p.bfo-artdetails__note{ margin:8px 0 0; font-size:12px !important; line-height:1.6 !important; color:var(--bfo-muted); }

/* Phone/tablet "On this page" (sits after In brief) */
details.bfo-toc--mobile{ margin:0 0 28px; border-top:3px solid var(--bfo-navy); border-bottom:1px solid var(--bfo-line); }
details.bfo-toc--mobile summary{ list-style:none; cursor:pointer; padding:15px 0; display:flex; align-items:center; gap:12px; color:var(--bfo-navy); font:800 13px/1.3 var(--bfo-display); text-transform:uppercase; letter-spacing:.02em; }
details.bfo-toc--mobile summary::-webkit-details-marker{ display:none; }
details.bfo-toc--mobile summary .bfo-toc__count{ margin-left:auto; font:500 11px/1 var(--bfo-body); text-transform:none; letter-spacing:0; color:var(--bfo-muted); }
details.bfo-toc--mobile summary::after{ content:"+"; color:var(--bfo-amber); font:900 22px/1 var(--bfo-display); }
details.bfo-toc--mobile[open] summary::after{ content:"−"; }
details.bfo-toc--mobile summary:focus-visible{ outline:2px solid var(--bfo-amber); outline-offset:2px; }
details.bfo-toc--mobile nav{ display:grid; padding:0 0 13px; }
details.bfo-toc--mobile nav a{ padding:10px 0; border-top:1px solid var(--bfo-line); font:500 12px/1.45 var(--bfo-body); color:var(--bfo-muted); text-decoration:none; }
details.bfo-toc--mobile nav a:first-child{ color:var(--bfo-navy); font-weight:700; }
@media (min-width:1025px){ details.bfo-toc--mobile{ display:none; } }

/* ---------- Article body (post content + article patterns) ---------- */
.bfo-post{ color:var(--bfo-muted); }
.bfo-post > *{ margin-block:0; }
.bfo-post > * + *{ margin-top:16px; }
.bfo-post p{ color:var(--bfo-muted); }
.bfo-post h2.wp-block-heading{ margin-top:46px; margin-bottom:14px; scroll-margin-top:110px; }
.bfo-post h3.wp-block-heading{ margin-top:30px; margin-bottom:8px; }
.bfo-post h2.wp-block-heading + *, .bfo-post h3.wp-block-heading + *{ margin-top:0; }
.bfo-post a{ color:var(--bfo-navy); font-weight:600; text-underline-offset:3px; }
.bfo-post [id]{ scroll-margin-top:110px; }
@media (min-width:1025px){ .bfo-post h2.wp-block-heading{ max-width:16ch; margin-top:54px; } }

/* shared label style inside articles */
.bfo-post p.bfo-eyebrow, .bfo-nextstep p.bfo-eyebrow{
  display:flex; align-items:center; gap:12px; margin:0 0 10px;
  font:700 11px/1.2 var(--bfo-label) !important; letter-spacing:.16em; text-transform:uppercase; color:var(--bfo-burnt, #9B5E2E);
}
.bfo-post p.bfo-eyebrow::before, .bfo-nextstep p.bfo-eyebrow::before{ content:""; flex:none; width:44px; height:2px; border-radius:99px; background:var(--bfo-amber); }

/* In brief */
.bfo-post .bfo-post-brief{ background:var(--bfo-mist); border-left:4px solid var(--bfo-amber); border-radius:0 16px 16px 0; padding:22px 20px 17px; margin:0 0 28px; }
.bfo-post .bfo-post-brief > *{ margin:0; }
.bfo-post .bfo-post-brief h3.wp-block-heading{ margin:0 0 4px; }
.bfo-post p.bfo-post-brief__intro{ margin:0 0 10px; font-size:13px; line-height:1.55; }
.bfo-post ul.bfo-post-brief__links{ list-style:none; margin:0; padding:0; }
.bfo-post ul.bfo-post-brief__links li{ margin:0; border-top:1px solid rgba(3,59,90,.12); }
.bfo-post ul.bfo-post-brief__links li:first-child{ border-top:0; }
.bfo-post ul.bfo-post-brief__links a{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:13px 0; font:600 13px/1.45 var(--bfo-body); color:var(--bfo-navy); text-decoration:none; }
.bfo-post ul.bfo-post-brief__links a::after{ content:"↘"; color:var(--bfo-amber); font:900 17px/1 var(--bfo-display); }
@media (min-width:768px){ .bfo-post .bfo-post-brief{ border-left-width:5px; border-radius:0 18px 18px 0; padding:27px 29px 20px; margin-bottom:48px; } .bfo-post p.bfo-post-brief__intro{ font-size:14px; } }

/* Intro + drop cap (Fira Sans — Georgia Journal font is parked) */
.bfo-post p.bfo-post-intro{ color:var(--bfo-slate); font-size:16px; line-height:1.72; }
.bfo-post p.bfo-post-intro::first-letter{ float:left; margin:.06em .1em 0 0; color:var(--bfo-navy); font:900 5rem/.72 var(--bfo-display); letter-spacing:-.04em; }
.bfo-post p.bfo-post-follow{ margin-bottom:34px; }
@media (min-width:768px){ .bfo-post p.bfo-post-intro{ font-size:18px !important; line-height:1.75; } .bfo-post p.bfo-post-intro::first-letter{ font-size:6.6rem; } .bfo-post p.bfo-post-follow{ margin-bottom:46px; } }

/* Images */
.bfo-post figure.wp-block-image{ margin:25px -12px 0; }
.bfo-post figure.wp-block-image img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; background:linear-gradient(145deg,#d9e4e8,#8fa6b1); }
.bfo-post figure.wp-block-image figcaption{ margin:9px 12px 0; text-align:center; color:var(--bfo-muted); font:400 10.5px/1.5 var(--bfo-body); }
@media (min-width:1280px){ .bfo-post > figure.wp-block-image{ width:860px; max-width:none; margin:34px 0 0 -70px; } .bfo-post > figure.wp-block-image img{ border-radius:22px; } }

/* Pull quote (open, light) */
.bfo-post p.bfo-post-pullquote{ margin:36px auto; padding:0 12px; max-width:18ch; text-align:center; color:var(--bfo-navy); font:800 29px/1.12 var(--bfo-display) !important; letter-spacing:-.025em; text-wrap:balance; }
.bfo-post p.bfo-post-pullquote::before{ content:""; display:block; width:42px; height:3px; background:var(--bfo-amber); border-radius:999px; margin:0 auto 22px; }
@media (min-width:768px){ .bfo-post p.bfo-post-pullquote{ font-size:40px !important; max-width:23ch; margin:50px auto 58px; } .bfo-post p.bfo-post-pullquote::before{ width:52px; margin-bottom:27px; } }

/* Editorial pairing */
.bfo-post .bfo-post-editorial{ margin-top:40px; }
.bfo-post .bfo-post-editorial__copy > *{ margin:0; }
.bfo-post .bfo-post-editorial__copy > * + *{ margin-top:14px; }
.bfo-post .bfo-post-editorial__copy h2.wp-block-heading{ margin-top:0; }
.bfo-post .bfo-post-editorial__copy h3.wp-block-heading{ margin-top:26px; }
@media (min-width:1280px){
  .bfo-post .bfo-post-editorial{ width:980px; display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.82fr); gap:56px; align-items:center; padding:24px 0; margin:46px 0 30px; }
  .bfo-post .bfo-post-editorial__copy h2.wp-block-heading{ max-width:13ch; }
  .bfo-post .bfo-post-editorial__media figure.wp-block-image{ width:78%; margin:0 auto; }
  .bfo-post .bfo-post-editorial__media figure.wp-block-image img{ aspect-ratio:3/4; min-height:410px; }
}

/* Worth remembering */
.bfo-post .bfo-post-key{ background:var(--bfo-mist); border-left:4px solid var(--bfo-amber); border-radius:0 16px 16px 0; padding:21px 19px 19px; margin:40px 0 38px; }
.bfo-post .bfo-post-key > *{ margin:0; }
.bfo-post .bfo-post-key p:not(.bfo-eyebrow){ color:var(--bfo-slate); font-size:14px; line-height:1.65; }
@media (min-width:768px){ .bfo-post .bfo-post-key{ border-left-width:5px; border-radius:0 18px 18px 0; padding:24px 27px 22px; margin-bottom:58px; } .bfo-post .bfo-post-key p:not(.bfo-eyebrow){ font-size:16px; } }

/* Close sequence: Conclusion → Points to remember → The next step (full-bleed on phones) */
.bfo-post .bfo-post-conclusion{ background:#fff; border-top:3px solid var(--bfo-navy); padding:40px var(--bfo-gutter) 35px; margin:40px calc(-1 * var(--bfo-gutter)) 0; }
.bfo-post .bfo-post-conclusion > *{ margin:0; }
.bfo-post .bfo-post-conclusion > * + *{ margin-top:14px; }
.bfo-post .bfo-post-conclusion h2.wp-block-heading{ margin-top:0; }
.bfo-post .bfo-post-takeaways{ background:var(--bfo-mist); border-left:5px solid var(--bfo-amber); padding:31px var(--bfo-gutter) 30px; margin:0 calc(-1 * var(--bfo-gutter)); }
.bfo-post .bfo-post-takeaways > *{ margin:0; }
.bfo-post .bfo-post-takeaways h3.wp-block-heading{ margin:0 0 19px; }
.bfo-post .bfo-post-takeaway{ position:relative; padding:15px 0 15px 31px; border-top:1px solid var(--bfo-line); }
.bfo-post .bfo-post-takeaway:nth-child(3){ border-top:0; padding-top:0; }
.bfo-post .bfo-post-takeaway::before{ content:"✓"; position:absolute; left:0; top:17px; width:18px; height:18px; border-radius:50%; display:grid; place-items:center; background:var(--bfo-navy); color:#fff; font:900 10px/1 var(--bfo-display); }
.bfo-post .bfo-post-takeaway:nth-child(3)::before{ top:2px; }
.bfo-post .bfo-post-takeaway > *{ margin:0; }
.bfo-post p.bfo-post-takeaway__title{ color:var(--bfo-navy); font:800 13px/1.4 var(--bfo-body) !important; }
.bfo-post .bfo-post-takeaway p:not(.bfo-post-takeaway__title){ margin-top:3px; font-size:12px !important; line-height:1.5 !important; }
@media (min-width:768px){
  .bfo-post .bfo-post-conclusion{ margin:46px 0 0; padding:42px 0 38px; background:transparent; }
  .bfo-post .bfo-post-conclusion h2.wp-block-heading{ max-width:15ch; }
  .bfo-post .bfo-post-takeaways{ margin:0; padding:29px 31px; }
  .bfo-post .bfo-post-takeaway{ padding-left:35px; }
  .bfo-post .bfo-post-takeaway::before{ width:20px; height:20px; }
  .bfo-post .bfo-post-takeaway p:not(.bfo-post-takeaway__title){ font-size:12.5px !important; }
}

/* The next step (navy CTA — placed by the theme) */
.bfo-nextstep{ background:var(--bfo-navy); padding:31px var(--bfo-gutter) 33px; margin:0 calc(-1 * var(--bfo-gutter)); }
.bfo-nextstep > *, .bfo-nextstep__copy > *{ margin:0; }
.bfo-nextstep p.bfo-eyebrow{ color:var(--bfo-amber) !important; margin-bottom:12px; }
.bfo-nextstep h3.wp-block-heading{ color:#fff; font-size:24px; margin-bottom:8px; }
.bfo-nextstep p:not(.bfo-eyebrow){ color:rgba(255,255,255,.82); }
.bfo-nextstep .wp-block-buttons{ margin-top:20px; }
.bfo-nextstep .wp-block-button__link{ white-space:nowrap; }
@media (max-width:767px){ .bfo-nextstep .wp-block-buttons, .bfo-nextstep .wp-block-button, .bfo-nextstep .wp-block-button__link{ width:100%; box-sizing:border-box; text-align:center; } }
@media (min-width:768px){
  .bfo-nextstep{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:40px; margin:0; padding:34px 38px 36px; }
  .bfo-nextstep h3.wp-block-heading{ font-size:28px; }
  .bfo-nextstep p:not(.bfo-eyebrow){ max-width:52ch; }
  .bfo-nextstep .wp-block-buttons{ margin-top:0; }
}

/* Quick questions + references */
.bfo-post .bfo-post-utilities{ background:#fff; padding:42px var(--bfo-gutter) 37px; margin:0 calc(-1 * var(--bfo-gutter)); }
.bfo-post .bfo-post-utilities > *{ margin:0; }
.bfo-post .bfo-post-utilities h2.wp-block-heading{ margin:0 0 12px; }
@media (max-width:767px){ .bfo-post .bfo-post-utilities h2.wp-block-heading{ font-size:30px; } }
.bfo-post p.bfo-post-utilities__intro{ margin-bottom:20px; }
.bfo-post details.bfo-post-qq{ border-bottom:1px solid var(--bfo-line); }
.bfo-post p.bfo-post-utilities__intro + details.bfo-post-qq{ border-top:1px solid var(--bfo-line); }
.bfo-post details.bfo-post-qq summary{ list-style:none; cursor:pointer; padding:16px 0; display:grid; grid-template-columns:1fr auto; gap:15px; color:var(--bfo-navy); font:700 13px/1.45 var(--bfo-body); }
.bfo-post details.bfo-post-qq summary::-webkit-details-marker{ display:none; }
.bfo-post details.bfo-post-qq summary::after{ content:"+"; font:900 18px/1 var(--bfo-display); color:var(--bfo-amber); }
.bfo-post details.bfo-post-qq[open] summary::after{ content:"−"; }
.bfo-post details.bfo-post-qq summary:focus-visible{ outline:2px solid var(--bfo-amber); outline-offset:2px; }
.bfo-post details.bfo-post-qq > :not(summary){ margin:0 0 17px; font-size:13px; line-height:1.65; color:var(--bfo-muted); }
.bfo-post p.bfo-post-refs__label{ margin-top:28px !important; color:var(--bfo-navy) !important; }
.bfo-post details.bfo-post-refs{ border-top:1px solid var(--bfo-line); }
.bfo-post details.bfo-post-refs ol{ padding-left:20px; font-size:11px; line-height:1.65; }
.bfo-post details.bfo-post-refs li + li{ margin-top:9px; }
@media (min-width:768px){
  .bfo-post .bfo-post-utilities{ margin:0; padding:58px 0 20px; background:transparent; }
  .bfo-post .bfo-post-utilities h2.wp-block-heading{ max-width:15ch; }
}

/* ---------- Author + related ---------- */
.bfo-sec.bfo-jfoot{ padding:0; border-top:1px solid var(--bfo-line); background:transparent; }
.bfo-jfoot .bfo-wrap{ padding:0 !important; max-width:none; }
.bfo-jauthor{ background:var(--bfo-mist); padding:34px var(--bfo-gutter) 35px; display:grid; grid-template-columns:70px minmax(0,1fr); gap:15px; align-items:center; }
.bfo-jauthor .wp-block-avatar{ margin:0; }
.bfo-jauthor .wp-block-avatar img{ width:70px; height:70px; border-radius:50%; display:block; background:#d8e2e7; }
.bfo-jauthor .bfo-jauthor__copy > *{ margin:0; }
.bfo-jauthor p.bfo-eyebrow{ color:var(--bfo-burnt) !important; margin-bottom:6px !important; }
.bfo-jauthor p.bfo-eyebrow::before{ width:28px !important; background:var(--bfo-amber) !important; }
.bfo-jauthor .wp-block-post-author-name{ font:800 22px/1.18 var(--bfo-display); letter-spacing:-.018em; color:var(--bfo-navy); }
.bfo-jauthor .wp-block-post-author-biography{ grid-column:1 / -1; color:var(--bfo-muted); font-size:13px; line-height:1.65; }
.bfo-jauthor .bfo-jauthor__copy .wp-block-post-author-biography{ margin-top:16px; }
.bfo-jauthor .wp-block-buttons.bfo-jauthor__cta{ grid-column:1 / -1; margin:6px 0 0; }
.bfo-jrelated{ background:var(--bfo-paper); padding:42px var(--bfo-gutter) 39px; }
.bfo-jrelated > *{ margin:0; }
.bfo-jrelated h2.wp-block-heading{ margin:0 0 20px; }
.bfo-jrelated p.bfo-eyebrow{ color:var(--bfo-burnt) !important; }
@media (max-width:767px){
  .bfo-jauthor .bfo-jauthor__copy{ display:contents; }
  .bfo-jauthor .bfo-jauthor__copy > p.bfo-eyebrow{ grid-column:2; grid-row:1; align-self:end; }
  .bfo-jauthor .bfo-jauthor__copy > .wp-block-post-author-name{ grid-column:2; grid-row:2; align-self:start; }
  .bfo-jauthor .wp-block-avatar{ grid-row:1 / span 2; }
}
@media (min-width:768px){
  .bfo-sec.bfo-jfoot{ background:var(--bfo-paper); padding:54px var(--bfo-gutter) 62px; }
  .bfo-jfoot .bfo-wrap{ max-width:1120px; margin:0 auto; }
  .bfo-jauthor{ background:transparent; padding:0 0 42px; border-bottom:1px solid var(--bfo-line); grid-template-columns:92px minmax(0,1fr) auto; gap:24px; }
  .bfo-jauthor .wp-block-avatar img{ width:92px; height:92px; }
  .bfo-jauthor .wp-block-post-author-biography{ grid-column:auto; margin-top:6px !important; max-width:62ch; font-size:15px; }
  .bfo-jauthor .wp-block-buttons.bfo-jauthor__cta{ grid-column:auto; margin:0; }
  .bfo-jrelated{ padding:42px 0 0; background:transparent; }
  .bfo-jrelated h2.wp-block-heading{ margin-bottom:24px; }
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){ .bfo-journal *{ transition:none !important; scroll-behavior:auto !important; } }

/* ================================================================== *
 * v0.22.0 — real imported posts (legacy blocks), restrained polish
 * ================================================================== */

/* Old images: natural shape (no 4:3 crop), inside the reading column. The article image pattern (.bfo-post-figure) keeps its breakout. */
.bfo-post figure.wp-block-image:not(.bfo-post-figure){ margin:28px 0 0; max-width:100%; }
.bfo-post figure.wp-block-image:not(.bfo-post-figure) img{ width:auto; max-width:100%; height:auto !important; max-height:760px; aspect-ratio:auto !important; object-fit:contain; margin:0 auto; border-radius:18px; background:none; }
@media (min-width:1280px){ .bfo-post > figure.wp-block-image:not(.bfo-post-figure){ width:auto; max-width:100%; margin:34px 0 0; } }
.bfo-post figure.wp-block-image.aligncenter{ margin-left:auto; margin-right:auto; }

/* Galleries */
.bfo-post .wp-block-gallery{ margin-top:28px; gap:12px; }
.bfo-post .wp-block-gallery figure.wp-block-image{ margin:0 !important; }
.bfo-post .wp-block-gallery figure.wp-block-image img{ width:100%; height:100% !important; max-height:none; object-fit:cover; border-radius:14px; }

/* Old spacer blocks: the article rhythm handles spacing now */
.bfo-post .wp-block-spacer{ height:8px !important; }

/* Separators */
.bfo-post hr.wp-block-separator{ width:100%; max-width:none; margin:40px 0; border:0; border-top:1px solid var(--bfo-line); opacity:1; background:none; }

/* Quotes */
.bfo-post blockquote.wp-block-quote{ margin:32px 0; padding:4px 0 4px 22px; border-left:4px solid var(--bfo-amber); background:none !important; }
.bfo-post blockquote.wp-block-quote p{ color:var(--bfo-navy); font-weight:600; font-size:16px; line-height:1.6; }
.bfo-post blockquote.wp-block-quote cite{ display:block; margin-top:8px; font-size:12px; color:var(--bfo-muted); font-style:normal; }
.bfo-post figure.wp-block-pullquote{ margin:36px 0; padding:26px 24px !important; border:0; border-radius:18px; text-align:left; }
.bfo-post figure.wp-block-pullquote blockquote{ margin:0; }
.bfo-post figure.wp-block-pullquote p{ margin:0; font:600 16px/1.6 var(--bfo-body); }
.bfo-post figure.wp-block-pullquote.has-background p, .bfo-post figure.wp-block-pullquote.has-background cite{ color:#fff; }
.bfo-post figure.wp-block-pullquote.has-background a{ color:var(--bfo-amber); }
.bfo-post figure.wp-block-pullquote p + p{ margin-top:10px; }
@media (min-width:768px){ .bfo-post figure.wp-block-pullquote{ padding:30px 34px !important; } .bfo-post figure.wp-block-pullquote p{ font-size:17px; } }

/* Media and text */
.bfo-post .wp-block-media-text, .bfo-post .wp-block-media-text.alignwide{ max-width:100%; width:auto; margin:32px 0 0; }
.bfo-post .wp-block-media-text__media img{ height:auto; border-radius:18px; }
.bfo-post .wp-block-media-text .wp-block-media-text__content{ padding:0 0 0 28px; }
.bfo-post .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{ padding:0 28px 0 0; }
.bfo-post .wp-block-media-text__content > *{ margin-block:0; }
.bfo-post .wp-block-media-text__content > * + *{ margin-top:14px; }
@media (max-width:600px){
  .bfo-post .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content,
  .bfo-post .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__content{ padding:18px 0 0; }
}

/* Long addresses (references, raw links) wrap instead of pushing the page sideways */
.bfo-post a{ overflow-wrap:anywhere; }

/* Old "In Brief" box → In brief styling */
.bfo-post .bfo-speakable-summary{ background:var(--bfo-mist); border-left:4px solid var(--bfo-amber); border-radius:0 16px 16px 0; padding:22px 20px 17px; margin:0 0 28px; }
.bfo-post .bfo-speakable-summary > *{ margin:0; }
.bfo-post .bfo-speakable-summary h2.wp-block-heading{ display:flex; align-items:center; gap:12px; max-width:none; margin:0 0 12px; font:700 11px/1.2 var(--bfo-label) !important; letter-spacing:.16em; text-transform:uppercase; color:var(--bfo-burnt, #9B5E2E); }
.bfo-post .bfo-speakable-summary h2.wp-block-heading::before{ content:""; flex:none; width:44px; height:2px; border-radius:99px; background:var(--bfo-amber); }
.bfo-post .bfo-speakable-summary ul{ margin:0; padding-left:18px; }
.bfo-post .bfo-speakable-summary li{ color:var(--bfo-slate); font-size:14px; line-height:1.6; }
.bfo-post .bfo-speakable-summary li + li{ margin-top:8px; }
@media (min-width:768px){ .bfo-post .bfo-speakable-summary{ border-left-width:5px; border-radius:0 18px 18px 0; padding:27px 29px 20px; margin-bottom:48px; } .bfo-post .bfo-speakable-summary li{ font-size:15px; } }

/* Old "Points to Remember" → Points to remember styling */
.bfo-post .bfo-key-takeaways{ background:var(--bfo-mist); border-left:5px solid var(--bfo-amber); border-radius:0 18px 18px 0; padding:28px 22px 22px; margin-top:44px; }
.bfo-post .bfo-key-takeaways > *{ margin:0; }
.bfo-post .bfo-key-takeaways h2.wp-block-heading{ max-width:none; margin:0 0 16px; font-size:24px; }
.bfo-post .bfo-key-takeaways ul{ list-style:none; margin:0; padding:0; }
.bfo-post .bfo-key-takeaways li{ position:relative; margin:0; padding:13px 0 13px 31px; border-top:1px solid var(--bfo-line); color:var(--bfo-slate); font-size:14px; line-height:1.55; }
.bfo-post .bfo-key-takeaways li:first-child{ border-top:0; padding-top:0; }
.bfo-post .bfo-key-takeaways li::before{ content:"✓"; position:absolute; left:0; top:15px; width:18px; height:18px; border-radius:50%; display:grid; place-items:center; background:var(--bfo-navy); color:#fff; font:900 10px/1 var(--bfo-display); }
.bfo-post .bfo-key-takeaways li:first-child::before{ top:2px; }
@media (min-width:768px){ .bfo-post .bfo-key-takeaways{ padding:30px 31px 26px; } .bfo-post .bfo-key-takeaways h2.wp-block-heading{ font-size:28px; } .bfo-post .bfo-key-takeaways li{ padding-left:35px; font-size:15px; } }

/* Old FAQ (details) → Quick questions styling */
.bfo-post .bfo-faq-list{ margin-top:46px; }
.bfo-post .bfo-faq-list > *{ margin:0; }
.bfo-post .bfo-faq-list h2.wp-block-heading{ margin:0 0 16px; }
.bfo-post details.bfo-faq-item{ border-bottom:1px solid var(--bfo-line); }
.bfo-post .bfo-faq-list h2.wp-block-heading + details.bfo-faq-item{ border-top:1px solid var(--bfo-line); }
.bfo-post details.bfo-faq-item summary{ list-style:none; cursor:pointer; padding:16px 0; display:grid; grid-template-columns:1fr auto; gap:15px; color:var(--bfo-navy); font:700 14px/1.45 var(--bfo-body); }
.bfo-post details.bfo-faq-item summary::-webkit-details-marker{ display:none; }
.bfo-post details.bfo-faq-item summary::after{ content:"+"; font:900 18px/1 var(--bfo-display); color:var(--bfo-amber); }
.bfo-post details.bfo-faq-item[open] summary::after{ content:"−"; }
.bfo-post details.bfo-faq-item summary:focus-visible{ outline:2px solid var(--bfo-amber); outline-offset:2px; }
.bfo-post details.bfo-faq-item > :not(summary){ margin:0 0 17px; font-size:14px; line-height:1.65; color:var(--bfo-muted); }

/* Old references + citation markers */
.bfo-post ol.bfo-references-list{ padding-left:20px; font-size:12px; line-height:1.65; }
.bfo-post ol.bfo-references-list li + li{ margin-top:9px; }
.bfo-post a.bfo-citation{ font-size:.85em; font-weight:700; text-decoration:none; }

/* Old Yoast FAQ blocks (Yoast isn't installed; the saved markup still shows) */
.bfo-post .schema-faq{ margin-top:18px; border-top:1px solid var(--bfo-line); }
.bfo-post .schema-faq-section{ padding:16px 0; border-bottom:1px solid var(--bfo-line); }
.bfo-post .schema-faq-question{ display:block; color:var(--bfo-navy); font:700 15px/1.45 var(--bfo-body); }
.bfo-post .schema-faq-answer{ margin:6px 0 0; font-size:14px; line-height:1.65; color:var(--bfo-muted); }

/* Old boxes were saved with "constrained" layout: keep their contents full width of the box */
.bfo-post :is(.bfo-speakable-summary, .bfo-key-takeaways, .bfo-faq-list) > *{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.bfo-post .bfo-key-takeaways + .bfo-nextstep{ margin-top:36px; }
