/*
 * BFO theme — Section library (v0.11)
 * Mobile first (<=767px), then tablet (768–1024px) and desktop (>=1025px).
 * Font sizes for h1/h2/h3 and body copy come from theme.json + bfo-shell.css — not set here.
 * Finishing touches from the late pages (Origin, Contact, Patients, Start QR, Journal):
 * eyebrow line, big faded numerals, diagonal stripes on dark heroes, 18–20px image radius,
 * one amber (#F2A01F), faded BFO watermark.
 */

:root{
  --bfo-navy:#033B5A; --bfo-deep-navy:#084462; --bfo-amber:#F2A01F; --bfo-umber:#6E3F1C;
  --bfo-slate:#374A63; --bfo-muted:#5B6B78; --bfo-mist:#EDF3F6; --bfo-paper:#FDFCFA; --bfo-line:#D9E0E5;
  --bfo-radius:18px; --bfo-radius-img:20px; --bfo-btn-radius:16px;
  --bfo-gutter:24px; --bfo-sec-y:48px;
  --bfo-display:"Fira Sans",sans-serif; --bfo-label:Oxygen,sans-serif; --bfo-body:Poppins,sans-serif;
}
@media (min-width:768px){ :root{ --bfo-gutter:36px; --bfo-sec-y:80px; } }
@media (min-width:1025px){ :root{ --bfo-gutter:48px; --bfo-sec-y:104px; } }

/* ---------- Section shell ---------- */
.wp-block-post-content > .bfo-sec,
.bfo-sec{ position:relative; margin:0 !important; padding:var(--bfo-sec-y) 0; overflow:hidden; max-width:none; }
.bfo-sec :is(h1,h2,h3,h4,p,ul,ol,figure,.wp-block-buttons,.wp-block-details,.wp-block-group,.wp-block-list){ margin:0; }
.bfo-sec .bfo-wrap{ position:relative; z-index:2; width:100%; max-width:calc(1180px + 2 * var(--bfo-gutter)); margin:0 auto; padding:0 var(--bfo-gutter); box-sizing:border-box; }
.bfo-sec .bfo-narrow{ max-width:calc(930px + 2 * var(--bfo-gutter)); }

/* Show/hide helpers (the editor shows both) */
@media (max-width:767px){ .bfo-sec .bfo-only-desktop{ display:none !important; } }
@media (min-width:768px){ .bfo-sec .bfo-only-mobile{ display:none !important; } }

/* Backgrounds */
.bfo-bg-white{ background:#fff; }
.bfo-bg-mist{ background:var(--bfo-mist); }
.bfo-bg-paper{ background:var(--bfo-paper); }
.bfo-bg-slate{ background:var(--bfo-slate); }
.bfo-bg-umber{ background:var(--bfo-umber); }
.bfo-bg-navygrad{ background:linear-gradient(160deg,#04486e 0%,#022c44 100%); }
.bfo-bg-zone{ background:linear-gradient(180deg,#F7FAFC 0%,#EDF3F6 100%); }

/* ---------- Type roles ---------- */
.bfo-sec .wp-block-heading{ color:var(--bfo-navy); text-wrap:balance; }
.bfo-sec h2.wp-block-heading{ margin-bottom:16px; }
.bfo-sec p{ color:var(--bfo-slate); }
.bfo-sec :is(.wp-block-group,.wp-block-details) > p:not([class]) + p:not([class]){ margin-top:14px; }
.bfo-sec .bfo-lead{ font-weight:500; color:var(--bfo-navy); margin-bottom:20px; text-wrap:pretty; }
.bfo-sec .bfo-note{ margin-top:22px; color:var(--bfo-muted); }
.bfo-sec a:not(.wp-block-button__link){ color:var(--bfo-navy); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.bfo-sec mark{ padding:0; }

/* Eyebrow — Barefoot Origin style: short amber line + spaced uppercase label */
.bfo-sec p.bfo-eyebrow{
  display:flex; align-items:center; gap:12px; margin:0 0 16px;
  font:700 11px/1.2 var(--bfo-label) !important; letter-spacing:.16em; text-transform:uppercase; color:var(--bfo-amber);
}
.bfo-sec p.bfo-eyebrow::before{ content:""; flex:none; width:44px; height:2px; border-radius:99px; background:var(--bfo-amber); }
.bfo-sec p.bfo-eyebrow + h1, .bfo-sec p.bfo-eyebrow + h2{ margin-top:0 !important; }

/* Card text roles */
.bfo-sec p.bfo-card-title{ font:600 15px/1.5 var(--bfo-body) !important; color:var(--bfo-navy); margin-bottom:5px; }
.bfo-sec p.bfo-card-title-lg{ font:800 20px/1.2 var(--bfo-display) !important; letter-spacing:-.018em; color:var(--bfo-navy); margin-bottom:8px; }
.bfo-sec p.bfo-card-text{ color:var(--bfo-muted); margin-top:0; }
.bfo-sec p.bfo-statement,
.bfo-sec p.bfo-thesis{ font:800 22px/1.18 var(--bfo-display) !important; letter-spacing:-.018em; color:var(--bfo-navy); }

/* Dark sections */
.bfo-dark .wp-block-heading, .bfo-dark p.bfo-statement, .bfo-dark p.bfo-thesis{ color:#fff; }
.bfo-dark p{ color:rgba(255,255,255,.82); }
.bfo-dark p.bfo-lead{ color:var(--bfo-mist); }
.bfo-dark a:not(.wp-block-button__link){ color:#fff; }

/* Big faded numerals (numbered content) */
.bfo-numbered{ position:relative; }
.bfo-sec p.bfo-numeral{
  position:absolute; top:10px; right:14px; z-index:0; pointer-events:none; user-select:none;
  font:900 88px/.82 var(--bfo-display) !important; letter-spacing:-.05em; color:#E8ECEE; margin:0;
}
.bfo-numbered > :not(.bfo-numeral){ position:relative; z-index:1; }
.bfo-sec .bfo-num-float{ display:flow-root; }
.bfo-sec .bfo-num-float > p.bfo-numeral{ position:static; float:right; margin:-6px -4px 6px 14px; }

/* Faded BFO watermark (opaque BFO) */
.bfo-wm-bfo{ position:relative; }
.bfo-wm-bfo::after{
  content:"BFO"; position:absolute; z-index:1; right:-.04em; bottom:-.16em; pointer-events:none;
  font:900 clamp(120px,24vw,300px)/.8 var(--bfo-display); letter-spacing:-.06em; color:rgba(3,59,90,.045);
}
.bfo-dark.bfo-wm-bfo::after{ color:rgba(255,255,255,.05); }

/* Foot watermark (light sections) */
.bfo-wm-foot{ position:relative; }
.bfo-wm-foot::after{
  content:""; position:absolute; z-index:1; right:-18px; bottom:-26px; width:150px; aspect-ratio:280/405; pointer-events:none;
  background:var(--bfo-amber); opacity:.10; transform:rotate(-12deg);
  -webkit-mask:url('../img/bfo-foot-mark.png') center/contain no-repeat; mask:url('../img/bfo-foot-mark.png') center/contain no-repeat;
}
@media (min-width:768px){ .bfo-wm-foot::after{ width:230px; right:3%; bottom:-34px; } }

/* Photo slot — drop an Image block inside to replace the placeholder */
.bfo-sec .bfo-photo{
  position:relative; overflow:hidden; border-radius:var(--bfo-radius-img); min-height:220px;
  display:flex; align-items:center; justify-content:center;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.42) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(150deg,#D9E4EA,#B8CAD5);
}
.bfo-sec .bfo-photo p.bfo-photo__label{ position:relative; z-index:1; padding:16px; text-align:center; font:600 11px/1.55 ui-monospace,Menlo,monospace !important; color:#6F8593; }
.bfo-sec .bfo-photo .wp-block-image, .bfo-sec .bfo-photo figure{ position:absolute; inset:0; margin:0; }
.bfo-sec .bfo-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.bfo-sec .bfo-photo:has(img) p.bfo-photo__label{ display:none; }

/* Buttons */
.bfo-sec .wp-block-buttons.bfo-cta{ margin-top:26px; }
.bfo-sec .wp-block-button__link{ border-radius:var(--bfo-btn-radius); padding:17px 28px; }
.bfo-sec .bfo-btn-ghost .wp-block-button__link{ background:transparent !important; color:var(--bfo-amber) !important; border:2px solid var(--bfo-amber); }
.bfo-sec .bfo-btn-ghost .wp-block-button__link:hover{ background:var(--bfo-amber) !important; color:var(--bfo-navy) !important; }
@media (max-width:767px){
  .bfo-sec .bfo-cta--full-m, .bfo-sec .bfo-cta--full-m .wp-block-button{ width:100%; }
  .bfo-sec .bfo-cta--full-m .wp-block-button__link{ display:flex; justify-content:center; width:100%; box-sizing:border-box; }
}

/* Accordions (core Details block) */
.bfo-sec .wp-block-details.bfo-acc{ margin-top:24px; background:#fff; border:1px solid #D5E0E6; border-radius:17px; overflow:hidden; }
.bfo-sec .wp-block-details.bfo-acc > summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 20px; font:600 15px/1.5 var(--bfo-body); color:var(--bfo-navy);
}
.bfo-sec .wp-block-details.bfo-acc > summary::-webkit-details-marker{ display:none; }
.bfo-sec .wp-block-details.bfo-acc > summary::after{ content:"+"; flex:none; font:800 22px/1 var(--bfo-display); color:var(--bfo-amber); transition:transform .25s ease; }
.bfo-sec .wp-block-details.bfo-acc[open] > summary::after{ transform:rotate(45deg); }
.bfo-sec .wp-block-details.bfo-acc > :not(summary){ padding:0 20px; }
.bfo-sec .wp-block-details.bfo-acc > :last-child:not(summary){ padding-bottom:20px; }
.bfo-sec .wp-block-details.bfo-acc > :not(summary) + :not(summary){ margin-top:12px; }
.bfo-sec .wp-block-details.bfo-acc p{ color:var(--bfo-muted); }
.bfo-sec .wp-block-details.bfo-acc summary:focus-visible{ outline:2px solid var(--bfo-amber); outline-offset:-2px; }
.bfo-sec .bfo-acc--mist{ background:var(--bfo-mist) !important; border-color:transparent !important; }
.bfo-sec .bfo-acc--mini{ margin-top:18px !important; border-radius:14px !important; }
.bfo-sec .bfo-acc--mini > summary{ padding:13px 16px !important; font-size:14px !important; }
.bfo-dark .wp-block-details.bfo-acc{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14); }
.bfo-dark .wp-block-details.bfo-acc > summary{ color:#fff; }
.bfo-dark .wp-block-details.bfo-acc p, .bfo-dark .wp-block-details.bfo-acc li{ color:rgba(255,255,255,.82); }

/* Lists */
.bfo-sec ul.bfo-dots, .bfo-sec ul.bfo-checks, .bfo-sec ul.bfo-chevrons{ list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.bfo-sec ul.bfo-dots li, .bfo-sec ul.bfo-checks li, .bfo-sec ul.bfo-chevrons li{ position:relative; padding-left:22px; margin:0; }
.bfo-sec ul.bfo-dots li::before{ content:""; position:absolute; left:2px; top:.72em; width:7px; height:7px; border-radius:50%; background:var(--bfo-amber); }
.bfo-sec ul.bfo-checks li{ padding-left:30px; }
.bfo-sec ul.bfo-checks li::before{ content:"✓"; position:absolute; left:0; top:0; font:900 18px/1.5 var(--bfo-display); color:var(--bfo-amber); }
.bfo-sec ul.bfo-chevrons li::before{ content:"›"; position:absolute; left:2px; top:-.1em; font:900 22px/1.3 var(--bfo-display); color:var(--bfo-amber); }
@media (min-width:768px){ .bfo-sec ul.bfo-cols-2{ display:block; columns:2; column-gap:32px; } .bfo-sec ul.bfo-cols-2 li{ break-inside:avoid; margin-bottom:10px; } }

/* Section heads */
.bfo-sec .bfo-head{ max-width:860px; margin-bottom:28px; }

/* ================= 1. CONDITION HERO ================= */
.bfo-chero{ padding:0; min-height:640px; display:flex; flex-direction:column; justify-content:flex-end; background:#033B5A; }
.bfo-chero .bfo-chero__media{ position:absolute !important; inset:0; border-radius:0; min-height:0; z-index:0;
  background:linear-gradient(180deg,#b0bfcd 0%,#93a9bb 40%,#4a6b81 66%,#084462 88%,#033B5A 100%); align-items:flex-start; }
.bfo-chero .bfo-chero__media p.bfo-photo__label{ color:rgba(3,59,90,.5); margin-top:14px; }
.bfo-chero::before{ /* diagonal stripe lines on dark heroes */
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 13px,rgba(255,255,255,0) 13px 30px),
             linear-gradient(180deg,rgba(3,59,90,0) 35%,rgba(3,59,90,.85) 100%);
}
.bfo-chero .bfo-chero__inner{ padding-top:260px; padding-bottom:32px; }
.bfo-chero .bfo-chero__card h1{ color:#fff; }
.bfo-chero .bfo-chero__card .wp-block-buttons.bfo-cta{ margin-top:26px; }
@media (min-width:768px){
  .bfo-chero{ min-height:clamp(620px,calc(100vh - 54px),690px); }
  .bfo-chero::before{ background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 13px,rgba(255,255,255,0) 13px 30px),
    linear-gradient(90deg,rgba(3,59,90,.12) 0%,rgba(3,59,90,.10) 45%,rgba(3,59,90,.42) 100%); }
  .bfo-chero .bfo-chero__inner{ padding-top:150px; padding-bottom:42px; }
  .bfo-chero .bfo-chero__card{ width:min(700px,76%); background:rgba(3,59,90,.96); border-radius:var(--bfo-radius); padding:36px 42px 38px; box-shadow:0 24px 60px rgba(0,25,40,.25); }
}
@media (min-width:1025px){ .bfo-chero .bfo-chero__card{ width:min(700px,68%); } }

/* ================= 2. FRUSTRATION ================= */
.bfo-frustration .wp-block-details.bfo-acc{ border-color:transparent; }

/* ================= 3a. PRESENTATIONS — cards ================= */
.bfo-pres .bfo-pres__head{ margin-bottom:26px; }
.bfo-pres .bfo-pres__head p.bfo-lead{ color:rgba(255,255,255,.78); margin:0; }
.bfo-pres .bfo-pres__grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.bfo-pres .bfo-pres__card{ background:#fff; border-radius:var(--bfo-radius); padding:18px 16px; }
.bfo-pres .bfo-pres__card p.bfo-card-text{ color:var(--bfo-muted); }
.bfo-pres p.bfo-pres__n{ font:800 26px/1 var(--bfo-display) !important; color:var(--bfo-amber) !important; margin-bottom:10px; }
.bfo-pres p.bfo-statement{ margin-top:26px; }
@media (min-width:768px){
  .bfo-pres .bfo-pres__head{ display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:end; margin-bottom:44px; }
  .bfo-pres .bfo-pres__grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .bfo-pres .bfo-pres__card{ padding:25px 23px; min-height:205px; }
  .bfo-pres p.bfo-pres__n{ font-size:29px !important; margin-bottom:17px; }
  .bfo-pres p.bfo-statement{ margin-top:34px; font-size:24px !important; }
}
@media (min-width:1025px){ .bfo-pres .bfo-pres__head{ gap:70px; } .bfo-pres .bfo-pres__grid{ grid-template-columns:repeat(4,1fr); } }

/* ================= 3b. HOW IT SHOWS UP — list ================= */
.bfo-shows ul.bfo-chevrons{ gap:0; border-top:1px solid var(--bfo-line); }
.bfo-shows ul.bfo-chevrons li{ padding:15px 0 15px 28px; border-bottom:1px solid var(--bfo-line); color:var(--bfo-navy); font-weight:500; }
.bfo-shows ul.bfo-chevrons li::before{ top:.52em; left:4px; }
.bfo-shows .wp-block-details.bfo-acc{ background:var(--bfo-mist); border-color:transparent; }
.bfo-shows .wp-block-details.bfo-acc ul.bfo-chevrons{ border-top:0; }
.bfo-shows .wp-block-details.bfo-acc ul.bfo-chevrons li:last-child{ border-bottom:0; }
@media (min-width:768px){ .bfo-shows .bfo-shows__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start; } }
@media (min-width:1025px){ .bfo-shows .bfo-shows__grid{ gap:84px; } }

/* ================= 4. WHY IT KEEPS HAPPENING ================= */
.bfo-why .bfo-why__photo{ min-height:560px; border:1px solid rgba(255,255,255,.14); }
.bfo-why p.bfo-thesis{ margin-top:26px; padding-top:16px; position:relative; }
.bfo-why p.bfo-thesis::before{ content:""; position:absolute; top:0; left:0; width:44px; height:3px; background:var(--bfo-amber); }
@media (min-width:768px){
  .bfo-why{ padding-top:calc(var(--bfo-sec-y) * .7); }
  .bfo-why .bfo-why__grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:center; }
  .bfo-why p.bfo-thesis{ font-size:24px !important; }
}
@media (min-width:1025px){ .bfo-why .bfo-why__grid{ gap:68px; } }

/* ================= 5. HOW WE ASSESS ================= */
.bfo-assess .bfo-assess__grid{ display:flex; flex-direction:column; gap:14px; }
.bfo-assess .bfo-assess__card{ display:flex; align-items:stretch; background:#fff; border-radius:var(--bfo-radius); overflow:hidden; min-height:172px; }
.bfo-assess .bfo-assess__photo{ flex:none; width:38%; min-height:0; border-radius:0; }
.bfo-assess .bfo-assess__copy{ flex:1 1 auto; padding:22px 20px; display:flex; flex-direction:column; justify-content:center; }
@media (min-width:768px){
  .bfo-assess .bfo-assess__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .bfo-assess .bfo-assess__card{ flex-direction:column; border:1px solid var(--bfo-line); }
  .bfo-assess .bfo-assess__photo{ width:100%; min-height:215px; }
  .bfo-assess .bfo-assess__copy{ padding:26px; justify-content:flex-start; }
  .bfo-assess p.bfo-card-title-lg{ font-size:18px !important; color:var(--bfo-amber); }
}

/* ================= 6. THE BAREFOOT METHOD ================= */
.bfo-method .bfo-method__grid{ display:flex; flex-direction:column; gap:14px; }
.bfo-method .bfo-method__card{ background:#fff; border-radius:var(--bfo-radius); overflow:hidden; box-shadow:0 10px 26px rgba(3,59,90,.05); }
.bfo-method .bfo-method__copy{ position:relative; padding:26px 22px 22px; }
.bfo-method h3.bfo-method__title{ margin:0 0 8px; }
@media (min-width:768px){
  .bfo-method .bfo-head{ margin-bottom:40px; }
  .bfo-method .bfo-method__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .bfo-method .bfo-method__photo{ min-height:215px; border-radius:0; }
  .bfo-method .bfo-method__copy{ padding:28px 26px 26px; }
  .bfo-method .bfo-method__card{ display:flex; flex-direction:column; }
  .bfo-method .bfo-method__copy{ flex:1; }
}
.bfo-method .bfo-method__copy > :not(.bfo-numeral){ position:relative; z-index:1; }

/* ================= 7a. QUIZ BAND ================= */
.bfo-quizband{ padding:52px 0; }
@media (min-width:768px){
  .bfo-quizband{ padding:70px 0; }
  .bfo-quizband .bfo-quizband__grid{ display:grid; grid-template-columns:1.2fr auto; gap:60px; align-items:center; }
  .bfo-quizband .wp-block-buttons.bfo-cta{ margin-top:0; }
  .bfo-quizband h2.wp-block-heading{ font-size:42px !important; }
}

/* ================= 7b. QUIZ CARD ================= */
.bfo-quizcard .bfo-quizcard__card{ position:relative; overflow:hidden; background:linear-gradient(145deg,#033B5A 0%,#0D506E 100%); border-radius:22px; box-shadow:0 14px 30px rgba(3,59,90,.10); }
.bfo-quizcard .bfo-quizcard__photo{ min-height:180px; border-radius:0; background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(145deg,#365D70,#173F57); }
.bfo-quizcard .bfo-quizcard__photo p.bfo-photo__label{ color:rgba(255,255,255,.7); }
.bfo-quizcard .bfo-quizcard__copy{ padding:28px 22px 26px; }
.bfo-quizcard .wp-block-heading{ color:#fff; }
.bfo-quizcard p:not(.bfo-eyebrow){ color:rgba(255,255,255,.80); }
@media (max-width:767px){ .bfo-quizcard .wp-block-buttons, .bfo-quizcard .wp-block-button, .bfo-quizcard .wp-block-button__link{ width:100%; box-sizing:border-box; text-align:center; justify-content:center; } }
@media (min-width:768px){
  .bfo-quizcard .bfo-quizcard__card{ display:grid; grid-template-columns:.8fr 1.2fr; }
  .bfo-quizcard .bfo-quizcard__photo{ min-height:100%; }
  .bfo-quizcard .bfo-quizcard__copy{ padding:48px 52px; }
}

/* ================= 8a. CARE — timeline ================= */
.bfo-care .bfo-care__panel{ background:#fff; border:1px solid rgba(3,59,90,.08); border-radius:var(--bfo-radius); padding:40px 24px; box-shadow:0 20px 50px rgba(3,59,90,.08); }
.bfo-care .bfo-care__rail{ margin-top:10px; }
.bfo-care .bfo-care__step{ position:relative; display:flex; gap:20px; padding-bottom:34px; }
.bfo-care .bfo-care__step:not(:last-child)::before{ content:""; position:absolute; top:52px; bottom:-4px; left:25px; width:2px; background:rgba(3,59,90,.14); }
.bfo-care p.bfo-care__n{ flex:none; width:52px; height:52px; border-radius:50%; background:var(--bfo-amber); display:grid; place-items:center; font:800 22px/1 var(--bfo-display) !important; color:var(--bfo-navy) !important; }
.bfo-care .bfo-care__text{ padding-top:8px; }
@media (min-width:768px){
  .bfo-care .bfo-care__panel{ padding:52px 44px; }
  .bfo-care .bfo-care__rail{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; position:relative; margin-top:34px; }
  .bfo-care .bfo-care__rail::before{ content:""; position:absolute; top:27px; left:16%; right:16%; height:2px; background:var(--bfo-line); }
  .bfo-care .bfo-care__step{ flex-direction:column; align-items:center; text-align:center; padding:0 12px; gap:18px; }
  .bfo-care .bfo-care__step::before{ display:none; }
  .bfo-care .bfo-care__step p.bfo-care__n{ position:relative; z-index:1; }
  .bfo-care .bfo-care__text{ padding-top:0; }
}
@media (min-width:1025px){ .bfo-care .bfo-care__panel{ padding:58px 62px; } }

/* ================= 8b. CARE — steps (Knee) ================= */
.bfo-care2::before, .bfo-after::before{ content:""; position:absolute; right:-100px; top:-40px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,rgba(242,160,31,.12) 0%,rgba(242,160,31,0) 70%); }
.bfo-care2 .bfo-care2__photo{ height:180px; min-height:0; margin:4px 0 22px; box-shadow:0 14px 30px rgba(3,59,90,.08); }
.bfo-care2 .bfo-care2__steps{ background:#fff; border-top:1px solid var(--bfo-line); }
.bfo-care2 .bfo-care2__step{ display:grid; grid-template-columns:52px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--bfo-line); }
.bfo-care2 p.bfo-care2__n{ font:900 32px/1 var(--bfo-display) !important; color:var(--bfo-amber) !important; }
.bfo-care2 h3.bfo-care2__title{ font-size:18px !important; line-height:1.22 !important; margin-bottom:6px; }
@media (max-width:767px){
  .bfo-care2 .bfo-care2__steps{ background:transparent; border-top:0; display:flex; flex-direction:column; gap:12px; }
  .bfo-care2 .bfo-care2__step{ display:flow-root; background:#fff; border:0; border-radius:var(--bfo-radius); padding:24px 22px; box-shadow:0 10px 26px rgba(3,59,90,.05); }
  .bfo-care2 p.bfo-care2__n{ float:right; margin:-6px -4px 6px 14px; font:900 72px/.82 var(--bfo-display) !important; letter-spacing:-.05em; color:#E8ECEE !important; }
}
.bfo-care2 .wp-block-details.bfo-acc{ margin-top:18px; box-shadow:0 10px 26px rgba(3,59,90,.05); }
@media (min-width:768px){
  .bfo-care2 .bfo-care2__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
  .bfo-care2 .bfo-care2__photo{ height:auto; min-height:300px; margin-bottom:0; }
  .bfo-care2 .bfo-care2__steps{ background:transparent; }
  .bfo-care2 .bfo-care2__step{ padding:22px 0; }
}
@media (min-width:1025px){ .bfo-care2 .bfo-care2__grid{ gap:72px; } }

/* ================= 9. WHAT WE'RE AFTER ================= */
.bfo-after ul.bfo-chips{ list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.bfo-after ul.bfo-chips li{ margin:0; padding:9px 11px; border-radius:999px; background:#fff; border:1px solid #D7E2E8; color:var(--bfo-navy); font:700 11px/1 var(--bfo-body); text-transform:uppercase; letter-spacing:.03em; box-shadow:0 7px 16px rgba(3,59,90,.04); }
.bfo-after .bfo-after__track{ position:relative; margin-top:26px; padding-left:28px; }
.bfo-after .bfo-after__track::before{ content:""; position:absolute; left:11px; top:16px; bottom:120px; width:3px; border-radius:99px; background:#CFDCE3; }
.bfo-after .bfo-after__stop{ position:relative; padding:0 0 20px 12px; }
.bfo-after .bfo-after__stop::before{ content:""; position:absolute; left:-24px; top:3px; width:16px; height:16px; box-sizing:border-box; border-radius:50%; background:#fff; border:4px solid var(--bfo-amber); box-shadow:0 0 0 6px rgba(242,160,31,.08); }
.bfo-after p.bfo-after__when{ font:700 10px/1.2 var(--bfo-label) !important; letter-spacing:.14em; text-transform:uppercase; color:#8A9AA5; margin-bottom:6px; }
.bfo-after p.bfo-after__what{ font:800 20px/1.2 var(--bfo-display) !important; color:var(--bfo-navy); margin:0 0 8px; }
.bfo-after .bfo-after__dest{ position:relative; overflow:hidden; margin-top:10px; margin-left:-28px; padding:24px 22px 26px 28px; border-radius:20px; background:var(--bfo-navy); box-shadow:0 20px 42px rgba(3,59,90,.18); }
.bfo-after .bfo-after__dest::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--bfo-amber); }
.bfo-after .bfo-after__dest::after{ content:"TRANSFORMATION"; position:absolute; right:14px; top:14px; font:900 8px/1 var(--bfo-label); letter-spacing:.18em; color:rgba(255,255,255,.12); }
.bfo-after p.bfo-after__dest-label{ font:700 10px/1.2 var(--bfo-label) !important; letter-spacing:.14em; text-transform:uppercase; color:var(--bfo-amber); margin-bottom:8px; }
.bfo-after p.bfo-after__dest-title{ font:900 30px/1.02 var(--bfo-display) !important; letter-spacing:-.03em; color:#fff; margin:0 0 12px; }
.bfo-after .bfo-after__dest p{ color:#D7E4EA; }
.bfo-after .bfo-after__dest p + p{ margin-top:0; }
.bfo-after p.bfo-after__trust{ margin-top:14px !important; padding-top:14px; border-top:1px solid rgba(255,255,255,.15); font:800 16px/1.35 var(--bfo-display) !important; color:#fff !important; }
@media (min-width:768px){
  .bfo-after .bfo-after__grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  .bfo-after .bfo-after__track{ margin-top:0; }
  .bfo-after p.bfo-after__dest-title{ font-size:36px !important; }
}
@media (min-width:1025px){ .bfo-after .bfo-after__grid{ gap:84px; } }

/* ================= 10. DOCTOR FIRST (Deep Umber) ================= */
.bfo-doctor::after{ content:"DOCTOR FIRST"; position:absolute; z-index:1; left:-.03em; bottom:-.12em; white-space:nowrap; pointer-events:none;
  font:900 clamp(80px,12vw,190px)/.82 var(--bfo-display); letter-spacing:-.055em; color:rgba(255,255,255,.065); }
.bfo-doctor h2.wp-block-heading{ color:#fff; }
.bfo-doctor p{ color:rgba(255,255,255,.88); }
.bfo-doctor p.bfo-lead{ color:#fff; }
.bfo-doctor .bfo-doctor__side{ margin-top:26px; }
.bfo-doctor .bfo-doctor__card{ background:#fff; border-left:8px solid var(--bfo-amber); border-radius:var(--bfo-radius); padding:26px 22px; box-shadow:0 24px 60px rgba(63,25,5,.22); }
.bfo-doctor p.bfo-doctor__card-title{ font:600 15px/1.6 var(--bfo-body) !important; color:var(--bfo-navy); margin-bottom:16px; }
.bfo-doctor .bfo-doctor__card li{ color:var(--bfo-slate); }
.bfo-doctor p.bfo-doctor__close{ margin-top:22px; color:#fff; font-weight:600; padding-bottom:64px; }
@media (min-width:768px){
  .bfo-doctor .bfo-doctor__grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:48px; align-items:center; }
  .bfo-doctor .bfo-doctor__side{ margin-top:0; }
  .bfo-doctor .bfo-doctor__card{ padding:36px 38px; }
  .bfo-doctor p.bfo-doctor__close{ padding-bottom:0; max-width:650px; }
}
@media (min-width:1025px){ .bfo-doctor .bfo-doctor__grid{ gap:78px; } }

/* ================= 11. WHAT TO EXPECT ================= */
.bfo-expect .bfo-expect__photo-m{ min-height:220px; margin:0 calc(var(--bfo-gutter) * -1) 24px; border-radius:0; }
.bfo-expect ul.bfo-checks{ gap:14px; margin-bottom:6px; }
@media (min-width:768px){
  .bfo-expect .bfo-expect__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  .bfo-expect ul.bfo-checks{ margin:28px 0 0; }
  .bfo-expect .bfo-expect__photo{ min-height:520px; }
}
@media (min-width:1025px){ .bfo-expect .bfo-expect__grid{ gap:72px; } }

/* ================= 12. RELATED CONDITIONS ================= */
.bfo-related .bfo-related__grid{ display:flex; flex-direction:column; gap:12px; }
.bfo-related .bfo-related__card{ position:relative; background:#fff; border-radius:var(--bfo-radius); padding:20px 56px 20px 22px; transition:transform .2s ease, box-shadow .2s ease; }
.bfo-related .bfo-related__card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(3,59,90,.10); }
.bfo-related p.bfo-related__title a{ font:600 16px/1.5 var(--bfo-body); color:var(--bfo-navy); text-decoration:none; }
.bfo-related p.bfo-related__title a::after{ content:""; position:absolute; inset:0; } /* whole card clickable */
.bfo-related .bfo-related__card::after{ content:"→"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font:900 22px/1 var(--bfo-display); color:var(--bfo-amber); }
.bfo-related p.bfo-card-text{ margin-top:6px; }
@media (min-width:768px){ .bfo-related p.bfo-related__title a{ font:800 24px/1.2 var(--bfo-display); letter-spacing:-.018em; } .bfo-related .bfo-related__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:10px; } .bfo-related .bfo-related__card{ padding:24px 64px 24px 26px; border:1px solid var(--bfo-line); } }

/* ================= 13. FAQ ================= */
.bfo-faq .bfo-faq__intro{ margin-bottom:24px; }
.bfo-faq .bfo-faq__intro::after{ display:none; }
.bfo-faq .bfo-faq__list .wp-block-details.bfo-acc{ margin-top:12px; }
.bfo-faq .bfo-faq__list .wp-block-details.bfo-acc:first-child{ margin-top:0; }
@media (min-width:768px){
  .bfo-faq .bfo-faq__grid{ display:grid; grid-template-columns:.72fr 1.28fr; gap:48px; align-items:start; }
  .bfo-faq .bfo-faq__intro{ align-self:stretch; min-height:640px; margin:0; }
  .bfo-faq .bfo-faq__intro::after{ display:block; right:auto; left:6px; bottom:12px; width:250px; opacity:.13; transform:rotate(-10deg); }
}
@media (min-width:1025px){ .bfo-faq .bfo-faq__grid{ gap:82px; } }

/* ================= 14/15. NEWSLETTER CARDS ================= */
.bfo-news{ padding-top:8px; }
.bfo-news .bfo-news__card{ position:relative; overflow:hidden; background:#fff; border:1px solid #D8E2E8; border-radius:var(--bfo-radius); box-shadow:0 14px 34px rgba(3,59,90,.055); }
.bfo-news .bfo-news__card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--bfo-amber); z-index:3; }
.bfo-news .bfo-news__photo{ min-height:170px; border-radius:0; }
.bfo-news .bfo-news__copy{ padding:32px 24px 30px 28px; }
.bfo-news .bfo-news__copy .bfo-only-mobile, .bfo-news .bfo-news__copy .bfo-only-desktop{ display:block; }
.bfo-news .bfo-news__card--navy{ background:linear-gradient(135deg,#033B5A 0%,#0C4E71 100%); border-color:rgba(3,59,90,.06); }
.bfo-news .bfo-news__card--navy .wp-block-heading{ color:#fff; }
.bfo-news .bfo-news__card--navy p:not(.bfo-eyebrow){ color:rgba(255,255,255,.9); }
.bfo-sec .bfo-signup{ display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.bfo-sec .bfo-signup input{ width:100%; height:54px; padding:0 18px; box-sizing:border-box; border:1px solid rgba(3,59,90,.18); border-radius:var(--bfo-btn-radius); background:#fff; font:15px var(--bfo-body); color:var(--bfo-navy); }
.bfo-sec .bfo-signup button{ height:54px; border:0; border-radius:var(--bfo-btn-radius); padding:0 22px; background:var(--bfo-amber); color:var(--bfo-navy); font:900 13px/1 var(--bfo-display); letter-spacing:.03em; text-transform:uppercase; }
.bfo-news__card--navy .bfo-signup input{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.22); color:#fff; }
.bfo-news__card--navy .bfo-signup input::placeholder{ color:rgba(255,255,255,.72); }
@media (max-width:767px){ .bfo-news .bfo-news__copy .bfo-only-desktop{ display:none !important; } }
@media (min-width:768px){
  .bfo-news .bfo-news__copy .bfo-only-mobile{ display:none !important; }
  .bfo-news .bfo-news__card{ display:grid; grid-template-columns:.7fr 1.3fr; }
  .bfo-news .bfo-news__photo{ min-height:100%; }
  .bfo-news .bfo-news__copy{ padding:48px 52px; }
  .bfo-sec .bfo-signup{ flex-direction:row; }
  .bfo-sec .bfo-signup input{ flex:1; min-width:0; }
}

/* ================= 16a. BOOKING — end of page ================= */
.bfo-bookend .bfo-bookend__photo-m{ min-height:200px; margin:6px 0 4px; }
.bfo-bookend p.bfo-offer-line{ margin-top:14px; color:var(--bfo-muted); font-size:14px !important; }
@media (min-width:768px){
  .bfo-bookend .bfo-bookend__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
  .bfo-bookend .bfo-bookend__photo{ min-height:420px; }
}

/* ================= 16b. FINAL BAND ================= */
.bfo-finalband{ padding:64px 0; text-align:center; }
.bfo-finalband .bfo-finalband__media{ position:absolute !important; inset:0; border-radius:0; min-height:0; z-index:0; background:linear-gradient(135deg,#587786,#0E405A); align-items:flex-start; justify-content:flex-start; }
.bfo-finalband .bfo-finalband__media p.bfo-photo__label{ color:rgba(255,255,255,.55); }
.bfo-finalband::before{ content:""; position:absolute; inset:0; z-index:1; background:rgba(3,59,90,.78); pointer-events:none; }
.bfo-finalband .bfo-finalband__copy{ max-width:calc(800px + 2 * var(--bfo-gutter)); }
.bfo-finalband p.bfo-eyebrow{ justify-content:center; }
.bfo-finalband p{ color:var(--bfo-mist); }
.bfo-finalband .wp-block-buttons{ justify-content:center; }
@media (min-width:768px){ .bfo-finalband{ min-height:600px; display:flex; align-items:center; } }

/* ================= 17. APPOINTMENT ================= */
.bfo-appt .bfo-appt__grid{ display:flex; flex-direction:column; gap:14px; }
.bfo-appt .bfo-appt__card{ background:var(--bfo-mist); border-radius:var(--bfo-radius); padding:26px 22px 24px; }
.bfo-appt p.bfo-numeral{ color:#DCE6EB; font-size:72px !important; }
@media (min-width:768px){ .bfo-appt p.bfo-numeral{ font-size:88px !important; } }
.bfo-appt h3.bfo-appt__title{ margin-bottom:8px; font-size:20px !important; }
@media (min-width:768px){ .bfo-appt .bfo-appt__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; } .bfo-appt .bfo-appt__card{ padding:34px 32px 30px; }
  .bfo-appt h3.bfo-appt__title{ font-size:24px !important; } }

/* ================= 18. COMMON REASONS ================= */
.bfo-reasons ul.bfo-tiles{ list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:6px; }
.bfo-reasons ul.bfo-tiles li{ margin:0; background:#fff; border-radius:14px; padding:14px 14px; font:600 14px/1.35 var(--bfo-body); color:var(--bfo-navy); display:flex; align-items:center; }
.bfo-reasons ul.bfo-tiles li a{ flex:1; display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--bfo-navy); text-decoration:none; font-weight:600; }
.bfo-reasons ul.bfo-tiles li a::after{ content:"→"; flex:none; font:900 18px/1 var(--bfo-display); color:var(--bfo-amber); }
@media (max-width:767px){ .bfo-reasons ul.bfo-tiles li{ font-size:13px; padding:14px 12px; min-height:58px; box-sizing:border-box; } }
@media (min-width:768px){ .bfo-reasons ul.bfo-tiles{ grid-template-columns:repeat(3,1fr); gap:12px; } }
@media (min-width:1025px){ .bfo-reasons ul.bfo-tiles{ grid-template-columns:repeat(5,1fr); } }

/* ================= 19. MOBILITY, STABILITY, BALANCE ================= */
.bfo-msb .bfo-msb__grid{ display:grid; grid-template-columns:1fr; gap:12px; }
.bfo-msb .bfo-msb__card{ background:var(--bfo-mist); border-radius:var(--bfo-radius); padding:24px 22px; overflow:hidden; }
.bfo-msb p.bfo-numeral{ font-size:72px !important; color:#DCE6EB; }
.bfo-msb h3.bfo-msb__title{ margin-bottom:6px; }
@media (min-width:768px){
  .bfo-msb .bfo-msb__grid{ grid-template-columns:repeat(3,1fr); gap:18px; }
  .bfo-msb .bfo-msb__card{ padding:32px 28px; min-height:170px; }
  .bfo-msb p.bfo-numeral{ font-size:88px !important; }
}

@media (prefers-reduced-motion:reduce){ .bfo-sec *{ transition:none !important; } }

/* Library preview page only — label bar above each section */
.bfo-library-preview p.bfo-preview-label{ margin:0 !important; padding:10px 24px; background:#1b1f23; color:#F2A01F; font:700 12px/1.4 ui-monospace,Menlo,monospace !important; letter-spacing:.02em; }
.bfo-library-preview p.bfo-preview-label span{ color:#8fa6b8; font-weight:400; margin-left:8px; }
.bfo-library-preview > *{ margin-block:0 !important; }

/* ================= v0.5 ================= */
.bfo-bg-cream{ background:#FCEFD6; }

/* 24. ORIGIN HERO */
.bfo-ohero::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); }
.bfo-ohero h1{ color:#fff; }
.bfo-ohero p.bfo-lead{ color:rgba(255,255,255,.84); margin:0; }
.bfo-ohero .bfo-ohero__photo{ margin-top:30px; min-height:240px; background:linear-gradient(150deg,#6d8a9b,#9fb3bf); border:1px solid rgba(255,255,255,.2); }
.bfo-ohero .bfo-ohero__photo p.bfo-photo__label{ color:rgba(255,255,255,.78); }
@media (min-width:768px){
  .bfo-ohero::before{ opacity:.4; background:repeating-linear-gradient(135deg,rgba(255,255,255,.11) 0 13px,rgba(255,255,255,0) 13px 30px);
    -webkit-mask-image:linear-gradient(to top left,#000 0%,rgba(0,0,0,.6) 25%,transparent 52%); mask-image:linear-gradient(to top left,#000 0%,rgba(0,0,0,.6) 25%,transparent 52%); }
  .bfo-ohero .bfo-ohero__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
  .bfo-ohero .bfo-ohero__photo{ margin-top:0; min-height:460px; }
}
@media (min-width:1025px){ .bfo-ohero .bfo-ohero__grid{ gap:64px; } }

/* 25. ORIGIN CHAPTER — photo pair */
.bfo-chapter p.bfo-chapter__num{ font:900 112px/.82 var(--bfo-display) !important; letter-spacing:-.05em; color:#E8E8E6; margin:0 0 18px; }
.bfo-chapter .bfo-chapter__media{ position:relative; margin-top:30px; padding-bottom:70px; }
.bfo-chapter .bfo-chapter__photo-main{ width:84%; min-height:260px; border-radius:var(--bfo-radius); box-shadow:0 18px 40px rgba(3,59,90,.10); }
.bfo-chapter .bfo-chapter__photo-inset{ position:absolute !important; right:0; bottom:0; width:48%; min-height:150px; border-radius:16px; border:5px solid var(--bfo-paper);
  background:linear-gradient(150deg,#EFE6D8,#D8CDBD); box-shadow:0 18px 40px rgba(3,59,90,.14); }
@media (min-width:768px){
  .bfo-chapter .bfo-chapter__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
  .bfo-chapter .bfo-chapter__media{ margin-top:0; padding-bottom:90px; }
  .bfo-chapter .bfo-chapter__photo-main{ width:74%; min-height:360px; }
  .bfo-chapter .bfo-chapter__photo-inset{ right:4%; width:40%; min-height:220px; }
  .bfo-chapter p.bfo-chapter__num{ font-size:130px !important; }
}

/* 26. ORIGIN CHAPTER — split + pull quote */
.bfo-csplit{ padding:0; }
.bfo-csplit .bfo-csplit__photo{ min-height:280px; border-radius:0; background:repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(150deg,#d8c7a8,#b9a37f); }
.bfo-csplit .bfo-csplit__photo p.bfo-photo__label{ color:#6d5a3c; }
.bfo-csplit .bfo-csplit__copy{ padding:var(--bfo-sec-y) var(--bfo-gutter); }
.bfo-csplit .bfo-csplit__inner{ display:flow-root; }
.bfo-csplit .bfo-csplit__inner > p.bfo-numeral{ position:static; float:right; margin:-8px -4px 6px 14px; font-size:100px !important; color:#DCE4E9; }
.bfo-sec p.bfo-pullquote{ margin-top:26px !important; padding:20px 22px; background:#fff; border-left:4px solid var(--bfo-amber); border-radius:0 18px 18px 0;
  font:800 19px/1.35 var(--bfo-display) !important; letter-spacing:-.01em; color:var(--bfo-navy); box-shadow:0 12px 30px rgba(3,59,90,.06); }
@media (min-width:768px){
  .bfo-csplit{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
  .bfo-csplit .bfo-csplit__photo{ min-height:620px; }
  .bfo-csplit .bfo-csplit__copy{ display:flex; align-items:center; padding:80px var(--bfo-gutter) 80px 56px; }
  .bfo-csplit .bfo-csplit__inner{ max-width:540px; }
  .bfo-csplit .bfo-csplit__inner > p.bfo-numeral{ font-size:140px !important; }
  .bfo-sec p.bfo-pullquote{ font-size:21px !important; padding:24px 28px; }
}

/* 27. CHOOSE A DIRECTION */
.bfo-dirs{ border-top:5px solid var(--bfo-amber); }
.bfo-dirs p.bfo-eyebrow{ color:#B86F00; }
.bfo-dirs p.bfo-eyebrow::before{ background:#B86F00; }
.bfo-dirs .bfo-dirs__head{ margin-bottom:26px; }
.bfo-dirs .bfo-dirs__head p.bfo-lead{ color:var(--bfo-muted); font-weight:400; margin:0; }
.bfo-dirs .bfo-dirs__grid{ display:flex; flex-direction:column; gap:12px; }
.bfo-dirs .bfo-dirs__card{ position:relative; overflow:hidden; background:#fff; border:1px solid rgba(3,59,90,.08); border-radius:var(--bfo-radius); padding:20px 84px 20px 20px; transition:transform .2s ease, box-shadow .2s ease; }
.bfo-dirs .bfo-dirs__card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(3,59,90,.10); }
.bfo-dirs p.bfo-dirs__title-t a{ font:900 19px/1.15 var(--bfo-display); color:var(--bfo-navy); text-decoration:none; }
.bfo-dirs p.bfo-dirs__title-t a::after{ content:""; position:absolute; inset:0; z-index:3; }
.bfo-dirs p.bfo-card-text{ margin-top:6px; position:relative; z-index:2; }
.bfo-dirs p.bfo-dirs__n{ position:absolute; right:12px; bottom:-10px; margin:0; font:900 72px/.8 var(--bfo-display) !important; letter-spacing:-.04em; color:rgba(242,160,31,.2) !important; }
@media (min-width:768px){
  .bfo-dirs .bfo-dirs__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:32px; }
  .bfo-dirs .bfo-dirs__head p.bfo-lead{ max-width:36ch; }
  .bfo-dirs .bfo-dirs__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  .bfo-dirs .bfo-dirs__card{ min-height:128px; padding:22px 80px 22px 22px; }
  .bfo-dirs p.bfo-dirs__n{ font-size:84px !important; }
}
@media (min-width:1025px){ .bfo-dirs .bfo-dirs__grid{ grid-template-columns:repeat(3,1fr); } }

/* 28. FIND US */
.bfo-findus::after{ content:"3280"; position:absolute; z-index:1; left:-.04em; bottom:-.14em; pointer-events:none;
  font:900 clamp(130px,22vw,300px)/.8 var(--bfo-display); letter-spacing:-.05em; color:rgba(255,255,255,.045); }
.bfo-findus p.bfo-lead{ color:rgba(255,255,255,.84); }
.bfo-findus .bfo-findus__card{ margin-top:22px; padding:26px 22px; border-radius:var(--bfo-radius); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); box-shadow:0 20px 44px rgba(0,20,35,.22); }
.bfo-findus p.bfo-findus__name{ font:800 22px/1.2 var(--bfo-display) !important; color:#fff; margin-bottom:8px; }
.bfo-findus p.bfo-findus__addr{ color:rgba(255,255,255,.78); margin:0 0 16px; }
.bfo-findus p.bfo-findus__row{ position:relative; padding-left:20px; color:rgba(255,255,255,.9); margin:0 0 12px !important; }
.bfo-findus p.bfo-findus__row::before{ content:""; position:absolute; left:2px; top:.68em; width:7px; height:7px; border-radius:50%; background:var(--bfo-amber); }
.bfo-findus p.bfo-findus__contact a{ color:var(--bfo-amber) !important; text-decoration:none; font-weight:700; white-space:nowrap; }
.bfo-findus .bfo-findus__card .wp-block-buttons.bfo-cta{ margin-top:18px; }
.bfo-findus .bfo-map{ position:relative; z-index:2; margin-top:22px; border-radius:var(--bfo-radius-img); overflow:hidden; border:1px solid rgba(255,255,255,.16); aspect-ratio:4/3; background:#0c4a6c; }
.bfo-findus .bfo-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.bfo-findus p.bfo-findus__foot{ margin-top:30px !important; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.78); }
.bfo-findus p.bfo-findus__foot strong{ color:var(--bfo-amber); }
@media (max-width:767px){ .bfo-findus .bfo-findus__card .wp-block-buttons, .bfo-findus .bfo-findus__card .wp-block-button, .bfo-findus .bfo-findus__card .wp-block-button__link{ width:100%; box-sizing:border-box; text-align:center; } }
@media (min-width:768px){
  .bfo-findus .bfo-findus__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center; }
  .bfo-findus .bfo-map{ margin-top:0; aspect-ratio:auto; min-height:520px; }
  .bfo-findus .bfo-findus__card{ padding:30px 28px; }
}
@media (min-width:1025px){ .bfo-findus .bfo-findus__grid{ gap:64px; } }

/* 29. METHOD — version A + 10,080 */
.bfo-methodA .bfo-methodA__grid{ display:flex; flex-direction:column; gap:14px; }
.bfo-methodA .bfo-methodA__card{ background:#fff; border-radius:var(--bfo-radius); overflow:hidden; box-shadow:0 10px 26px rgba(3,59,90,.05); }
.bfo-methodA .bfo-methodA__photo{ min-height:190px; border-radius:0; }
.bfo-methodA .bfo-methodA__copy{ padding:22px 22px 24px; }
.bfo-methodA h3.bfo-methodA__title{ margin-bottom:6px; }
.bfo-methodA .bfo-10080{ margin-top:34px; text-align:center; }
.bfo-methodA p.bfo-10080__big{ font:800 26px/1.15 var(--bfo-display) !important; letter-spacing:-.02em; color:var(--bfo-navy); margin-bottom:12px; }
.bfo-methodA p.bfo-10080__big mark:first-child{ font-size:1.5em; font-weight:900; }
.bfo-methodA .bfo-10080 p{ max-width:560px; margin-left:auto; margin-right:auto; }
.bfo-methodA p.bfo-10080__link a{ font-weight:700; }
@media (min-width:768px){
  .bfo-methodA .bfo-head{ margin-bottom:40px; }
  .bfo-methodA .bfo-methodA__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .bfo-methodA .bfo-methodA__photo{ min-height:230px; }
  .bfo-methodA .bfo-methodA__copy{ padding:26px 26px 28px; }
  .bfo-methodA .bfo-10080{ max-width:700px; margin:44px auto 0; padding:34px 40px; background:#fff; border-radius:var(--bfo-radius); box-shadow:0 14px 34px rgba(3,59,90,.06); }
  .bfo-methodA p.bfo-10080__big{ font-size:30px !important; }
}

/* =========================================================
   v0.7 — Chronic Lower Back Pain additions
   30 About the clinic · 31 Plan card · 32 Care split · 33 Map (navy)
   + small extras: rich hero card, mobile inset photos, 3-card appointment
   ========================================================= */
.bfo-bg-navy{ background:var(--bfo-navy); }

/* Rich hero card (eyebrow + lead + body under the H1) */
.bfo-chero--rich .bfo-chero__card .bfo-eyebrow{ color:var(--bfo-amber); margin-bottom:14px; }
.bfo-chero--rich .bfo-chero__card p.bfo-lead{ color:#fff; margin:18px 0 12px; }
.bfo-chero--rich .bfo-chero__card p:not(.bfo-lead):not(.bfo-eyebrow){ color:rgba(255,255,255,.8); }
@media (max-width:767px){ .bfo-chero--rich .bfo-chero__inner{ padding-top:220px; } }

/* Mobile inset photos inside copy columns */
.bfo-sec .bfo-why__photo-m, .bfo-sec .bfo-plan__photo-m, .bfo-sec .bfo-map__photo-m{ min-height:200px; margin:6px 0 20px !important; }
.bfo-dark .bfo-photo{ border-color:rgba(255,255,255,.14); }

/* 04 extras: strong note line */
.bfo-sec p.bfo-note--strong{ color:var(--bfo-navy); font-weight:700; }
.bfo-shows .bfo-shows__body > p:first-child{ margin-bottom:16px; }

/* 30 About the clinic (AEO) */
.bfo-aeo{ padding:22px 0 30px; }
.bfo-aeo .bfo-aeo__card{ background:#fff; border:1px solid var(--bfo-line); border-left:3px solid #9FB4C4; border-radius:var(--bfo-radius); padding:15px 16px; }
.bfo-aeo p.bfo-aeo__label{ font:500 11px/1.25 var(--bfo-label) !important; letter-spacing:.145em; text-transform:uppercase; color:#8A99A6; margin-bottom:8px; }
.bfo-aeo p:not(.bfo-aeo__label){ font-size:12.5px !important; line-height:1.6; color:var(--bfo-muted); }
@media (min-width:768px){ .bfo-aeo{ padding:28px 0 34px; } .bfo-aeo .bfo-aeo__card{ border-left-width:4px; padding:20px 24px; }
  .bfo-aeo p:not(.bfo-aeo__label){ font-size:14px !important; line-height:1.66; } }

/* 31 Plan card + photo */
@media (min-width:768px){
  .bfo-plan .bfo-plan__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  .bfo-plan .bfo-plan__card{ background:#fff; border:1px solid var(--bfo-line); border-radius:var(--bfo-radius); padding:40px 36px; box-shadow:0 18px 45px rgba(3,59,90,.065); }
  .bfo-plan .bfo-plan__photo{ min-height:520px; }
}
@media (min-width:1025px){ .bfo-plan .bfo-plan__grid{ grid-template-columns:1.05fr .95fr; gap:72px; } .bfo-plan .bfo-plan__card{ padding:48px 50px; } .bfo-plan .bfo-plan__photo{ min-height:560px; } }
.bfo-plan .wp-block-details.bfo-acc{ background:var(--bfo-mist); border-color:transparent; }
.bfo-plan .bfo-plan__card > p:not(.bfo-lead):not(.bfo-eyebrow) + p{ margin-top:12px; }

/* 32 Care split */
.bfo-caresplit .wp-block-details.bfo-acc{ background:var(--bfo-mist); border-color:transparent; }
.bfo-caresplit .wp-block-details.bfo-acc ul.bfo-chevrons li{ color:var(--bfo-muted); }
@media (min-width:768px){
  .bfo-caresplit .bfo-caresplit__grid{ display:grid; grid-template-columns:1.03fr .97fr; gap:48px; align-items:center; }
  .bfo-caresplit .bfo-caresplit__photo{ min-height:480px; align-self:stretch; }
}
@media (min-width:1025px){ .bfo-caresplit .bfo-caresplit__grid{ gap:76px; } .bfo-caresplit .bfo-caresplit__photo{ min-height:520px; } }

/* 33 Map (navy split + callout) */
.bfo-map p.bfo-map__quote{ margin-top:22px !important; padding:18px 20px; border-left:3px solid var(--bfo-amber); background:rgba(255,255,255,.06); border-radius:0 15px 15px 0;
  font:800 18px/1.4 var(--bfo-display) !important; color:#fff; }
@media (min-width:768px){
  .bfo-map .bfo-map__grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:48px; align-items:center; }
  .bfo-map .bfo-map__photo{ min-height:470px; }
  .bfo-map p.bfo-map__quote{ padding:22px 24px; border-left-width:4px; font-size:22px !important; }
}
@media (min-width:1025px){ .bfo-map .bfo-map__grid{ gap:70px; } }

/* 21 Appointment — 3-card variant */
@media (min-width:1025px){ .bfo-appt--3 .bfo-appt__grid{ grid-template-columns:repeat(3,1fr); } }
.bfo-appt--3 .bfo-wrap > .wp-block-buttons.bfo-cta{ margin-top:30px; }

/* 06 How we assess — accordion under the cards */
.bfo-assess .bfo-wrap > .wp-block-details.bfo-acc{ max-width:930px; }

/* 15 Related — closing note */
.bfo-related .bfo-wrap > p.bfo-note{ margin-top:22px; }

/* 16 FAQ — intro lead */
.bfo-faq .bfo-faq__intro p.bfo-lead{ margin-top:16px; font-weight:400; color:var(--bfo-muted); }

/* v0.7.2 — Condition hero stripes: fade right → left, gone by mid-page, 40% softer */
.bfo-chero::before{ background:linear-gradient(180deg,rgba(3,59,90,0) 35%,rgba(3,59,90,.85) 100%); }
.bfo-chero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.042) 0 13px,rgba(255,255,255,0) 13px 30px);
  -webkit-mask-image:linear-gradient(to left,#000 0%,transparent 50%);
          mask-image:linear-gradient(to left,#000 0%,transparent 50%);
}
@media (min-width:768px){
  .bfo-chero::before{ background:linear-gradient(90deg,rgba(3,59,90,.12) 0%,rgba(3,59,90,.10) 45%,rgba(3,59,90,.42) 100%); }
  .bfo-chero::after{ background:repeating-linear-gradient(135deg,rgba(255,255,255,.036) 0 13px,rgba(255,255,255,0) 13px 30px); }
}

/* =========================================================
   v0.8 — Shoulder Pain additions
   02 Frustration navy + photo variant · 04 list on mist · 15 Related 3-card
   13 urgent line · 32 mobile thumb row · 12 mobile photo strip
   ========================================================= */
/* 02 Frustration — navy + photo variant */
.bfo-frustration--photo p.bfo-frustration__kicker{ color:#fff; font-weight:600; margin-top:16px; }
.bfo-frustration--photo .bfo-frustration__photo-m{ min-height:170px; margin:22px 0 4px !important; }
.bfo-dark.bfo-frustration .wp-block-details.bfo-acc{ background:var(--bfo-amber); border-color:var(--bfo-amber); }
.bfo-dark.bfo-frustration .wp-block-details.bfo-acc > summary{ color:var(--bfo-navy); }
.bfo-dark.bfo-frustration .wp-block-details.bfo-acc > summary::after{ color:var(--bfo-navy); }
.bfo-dark.bfo-frustration .wp-block-details.bfo-acc[open]{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14); }
.bfo-dark.bfo-frustration .wp-block-details.bfo-acc[open] > summary{ color:#fff; }
.bfo-dark.bfo-frustration .wp-block-details.bfo-acc[open] > summary::after{ color:var(--bfo-amber); }
@media (min-width:768px){
  .bfo-frustration--photo .bfo-frustration__grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:48px; align-items:center; }
  .bfo-frustration--photo .bfo-frustration__photo{ min-height:460px; align-self:stretch; }
}
@media (min-width:1025px){ .bfo-frustration--photo .bfo-frustration__grid{ gap:76px; } .bfo-frustration--photo .bfo-frustration__photo{ min-height:500px; } }

/* 04 How it shows up — on mist */
.bfo-shows--mist ul.bfo-chevrons{ border-top-color:#D3DEE5; }
.bfo-shows--mist ul.bfo-chevrons li{ border-bottom-color:#D3DEE5; }
.bfo-shows--mist .wp-block-details.bfo-acc{ background:#fff; }
.bfo-shows--mist .bfo-shows__body > p.bfo-note + p.bfo-note{ margin-top:10px; }

/* 15 Related — 3-card variant */
@media (min-width:768px){ .bfo-related--3 .bfo-related__grid{ grid-template-columns:repeat(3,1fr); } .bfo-related--3 .bfo-related__card{ padding:24px 48px 24px 24px; } }

/* 13 Doctor first — urgent line */
.bfo-doctor .bfo-doctor__card li.bfo-doctor__urgent{ color:#A3321F; }
.bfo-doctor .bfo-doctor__card li.bfo-doctor__urgent strong{ font-weight:600; }

/* 32 Care split — mobile thumb + caption */
.bfo-caresplit .bfo-caresplit__thumbrow{ display:flex; gap:14px; align-items:center; margin-top:18px; }
.bfo-caresplit .bfo-caresplit__thumb{ flex:none; width:110px; min-height:110px; height:110px; border-radius:16px; }
.bfo-caresplit .bfo-caresplit__thumb p.bfo-photo__label{ font-size:8px !important; padding:4px; }
.bfo-caresplit p.bfo-caresplit__caption{ margin:0; font-size:13px; line-height:1.5; color:var(--bfo-muted); }

/* 12 What we're after — mobile photo strip */
.bfo-after .bfo-after__photo-m{ min-height:180px; margin-top:28px; }

/* =========================================================
   v0.9 — Headache & Migraine additions
   01 Hero split · 02 Frustration photo-left · 04 Shows as cards · 05 Why photo-right
   06 Assess numbered (navy) · 07 Quiz band + photo · 32 Care split card
   12 After quote · 21 Appointment photo cards
   ========================================================= */
/* 01 Condition hero — split (copy left, rounded photo right; photo first on phone) */
.bfo-chero--split{ min-height:0; display:block; padding:22px 0 var(--bfo-sec-y); background:var(--bfo-paper); }
.bfo-chero--split::before, .bfo-chero--split::after{ display:none; }
.bfo-chero--split .bfo-chero__inner{ padding-top:0; padding-bottom:0; display:flex; flex-direction:column; gap:16px; }
.bfo-chero--split .bfo-chero__photo{ order:-1; min-height:200px; border-radius:var(--bfo-radius-img); }
.bfo-chero--split .bfo-chero__card{ background:#fff; border-radius:var(--bfo-radius); padding:26px 22px 24px; box-shadow:0 10px 26px rgba(3,59,90,.10); }
.bfo-chero--split .bfo-chero__card h1{ color:var(--bfo-navy); }
.bfo-chero--split .bfo-chero__card p.bfo-lead{ color:var(--bfo-slate); margin:16px 0 12px; }
.bfo-chero--split .bfo-chero__card p:not(.bfo-lead):not(.bfo-eyebrow){ color:var(--bfo-muted); }
.bfo-chero--split .bfo-chero__card .wp-block-buttons.bfo-cta{ margin-top:22px; }
@media (min-width:768px){
  .bfo-chero--split{ padding:56px 0 var(--bfo-sec-y); }
  .bfo-chero--split .bfo-chero__inner{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  .bfo-chero--split .bfo-chero__photo{ order:0; min-height:480px; border-radius:var(--bfo-radius-img) 64px var(--bfo-radius-img) var(--bfo-radius-img); }
  .bfo-chero--split .bfo-chero__card{ width:auto; background:transparent; box-shadow:none; padding:0; border-radius:0; }
}
@media (min-width:1025px){ .bfo-chero--split .bfo-chero__inner{ gap:64px; } .bfo-chero--split .bfo-chero__photo{ min-height:540px; } }

/* 02 Frustration — photo on the left (desktop); photo at the top on phone */
.bfo-frustration--photo-left .bfo-frustration__copy > .bfo-frustration__photo-m:first-child{ margin:0 0 26px !important; }
@media (min-width:768px){ .bfo-frustration--photo-left .bfo-frustration__grid{ grid-template-columns:.92fr 1.08fr; } }

/* 04 How it shows up — card grid */
.bfo-shows--cards .bfo-shows__head{ margin-bottom:22px; }
.bfo-shows--cards .bfo-shows__head p.bfo-lead{ margin:0; }
.bfo-shows--cards ul.bfo-chevrons{ border-top:0; gap:8px; }
.bfo-shows--cards ul.bfo-chevrons li{ background:#fff; border:1px solid var(--bfo-line); border-radius:12px; padding:13px 14px 13px 34px; font-weight:400; color:var(--bfo-slate); }
.bfo-shows--cards ul.bfo-chevrons li::before{ left:14px; top:.42em; }
.bfo-shows--cards p.bfo-statement{ margin-top:22px; font-size:18px !important; line-height:1.35; }
@media (min-width:768px){
  .bfo-shows--cards .bfo-shows__head{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:40px; }
  .bfo-shows--cards ul.bfo-chevrons{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  .bfo-shows--cards ul.bfo-chevrons li{ padding:22px 22px 22px 40px; border-radius:var(--bfo-radius); border-color:transparent; box-shadow:0 8px 22px rgba(3,59,90,.05); }
  .bfo-shows--cards ul.bfo-chevrons li::before{ left:18px; top:.82em; }
  .bfo-shows--cards p.bfo-statement{ margin:30px 0 0 auto; max-width:760px; font-size:24px !important; }
}
@media (min-width:1025px){ .bfo-shows--cards .bfo-shows__head{ gap:84px; } .bfo-shows--cards ul.bfo-chevrons{ grid-template-columns:repeat(3,1fr); } }

/* 05 Why — photo on the right (desktop) */
@media (min-width:768px){
  .bfo-why--photo-right .bfo-why__grid{ grid-template-columns:1.05fr .95fr; }
  .bfo-why--photo-right .bfo-why__photo{ min-height:440px; }
}

/* 06 How we assess — numbered cards on navy (no photos) */
.bfo-assess--numbered .bfo-assess__card{ display:flex; gap:16px; align-items:flex-start; min-height:0; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:18px 18px; }
.bfo-assess--numbered p.bfo-assess__n{ flex:none; min-width:22px; font:800 26px/1 var(--bfo-display) !important; color:var(--bfo-amber) !important; }
.bfo-assess--numbered .bfo-assess__copy{ padding:0; }
.bfo-assess--numbered p.bfo-assess__title{ font:700 12px/1.3 var(--bfo-label) !important; letter-spacing:.1em; text-transform:uppercase; color:#fff !important; margin-bottom:6px; }
.bfo-assess--numbered p.bfo-card-text{ color:rgba(255,255,255,.72); }
.bfo-assess--numbered .bfo-wrap > p.bfo-note{ color:rgba(255,255,255,.82); max-width:760px; }
.bfo-assess--numbered .bfo-wrap > p.bfo-note a{ color:var(--bfo-amber); }
@media (min-width:768px){
  .bfo-assess--numbered .bfo-assess__card{ flex-direction:row; border:1px solid rgba(255,255,255,.14); padding:26px 24px; }
  .bfo-assess--numbered p.bfo-assess__n{ font-size:34px !important; }
  .bfo-assess--numbered p.bfo-assess__title{ color:#fff !important; font-size:13px !important; }
}

/* 07 Quiz band — with photo */
.bfo-quizband--photo .bfo-quizband__photo{ min-height:170px; margin-bottom:24px; background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(145deg,#365D70,#173F57); }
.bfo-quizband--photo .bfo-quizband__photo p.bfo-photo__label{ color:rgba(255,255,255,.7); }
.bfo-quizband--photo .bfo-quizband__copy .wp-block-buttons.bfo-cta{ margin-top:24px; }
@media (min-width:768px){
  .bfo-quizband--photo .bfo-quizband__grid{ grid-template-columns:220px 1fr; gap:48px; }
  .bfo-quizband--photo .bfo-quizband__photo{ min-height:220px; margin:0; }
  .bfo-quizband--photo h2.wp-block-heading{ font-size:38px !important; }
}

/* 32 Care split — inside a white card, accordion full width below */
.bfo-caresplit--card .bfo-caresplit__photo{ min-height:170px; margin-top:22px; }
@media (min-width:768px){
  .bfo-caresplit--card .bfo-caresplit__grid{ background:#fff; border:1px solid var(--bfo-line); border-radius:22px; padding:44px 44px 40px; box-shadow:0 18px 45px rgba(3,59,90,.06); grid-template-columns:1.15fr .85fr; }
  .bfo-caresplit--card .bfo-caresplit__photo{ margin-top:0; min-height:340px; align-self:stretch; }
  .bfo-caresplit--card .bfo-caresplit__grid > .wp-block-details.bfo-acc{ grid-column:1 / -1; margin-top:0; }
}
@media (min-width:1025px){ .bfo-caresplit--card .bfo-caresplit__grid{ padding:56px 58px 50px; gap:56px; } .bfo-caresplit--card .bfo-caresplit__photo{ min-height:360px; } }

/* 12 What we're after — pull quote under the chips */
.bfo-after .bfo-after__quote{ margin-top:24px; padding:4px 0 4px 18px; border-left:3px solid var(--bfo-amber); }
.bfo-after p.bfo-after__quote-title{ font:700 18px/1.35 var(--bfo-display) !important; color:var(--bfo-navy); margin-bottom:6px; }
.bfo-after .bfo-after__quote p:not(.bfo-after__quote-title){ font-size:14px; color:var(--bfo-muted); }
.bfo-after .bfo-after__dest p.bfo-after__dest-title + p{ font-weight:600; color:#fff; }
@media (min-width:768px){ .bfo-after .bfo-after__quote{ margin-top:30px; } .bfo-after p.bfo-after__quote-title{ font-size:20px !important; } }

/* 21 Appointment — photo cards with number badge (phone: thumbnail rows) */
.bfo-appt--photo .bfo-appt__grid{ gap:20px; }
.bfo-appt--photo .bfo-appt__card{ display:grid; grid-template-columns:96px 1fr; gap:16px; align-items:start; background:transparent; padding:0; border-radius:0; }
.bfo-appt--photo .bfo-appt__photo{ min-height:96px; height:96px; border-radius:16px; }
.bfo-appt--photo .bfo-appt__photo p.bfo-photo__label{ font-size:8.5px !important; padding:4px; }
.bfo-appt--photo p.bfo-appt__badge{ display:none; }
.bfo-appt--photo h3.bfo-appt__title{ font-size:17px !important; margin:2px 0 6px; }
@media (min-width:768px){
  .bfo-appt--photo .bfo-appt__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .bfo-appt--photo .bfo-appt__card{ display:flex; flex-direction:column; align-items:stretch; background:#fff; border:1px solid var(--bfo-line); border-radius:var(--bfo-radius); overflow:hidden; box-shadow:0 10px 26px rgba(3,59,90,.05); }
  .bfo-appt--photo .bfo-appt__photo{ height:auto; min-height:220px; border-radius:0; }
  .bfo-appt--photo .bfo-appt__photo p.bfo-photo__label{ font-size:11px !important; }
  .bfo-appt--photo .bfo-appt__body{ position:relative; padding:40px 28px 30px; }
  .bfo-appt--photo p.bfo-appt__badge{ display:grid; place-items:center; position:absolute; top:-26px; left:22px; width:52px; height:52px; border-radius:50%; background:var(--bfo-amber); border:4px solid #fff; box-sizing:border-box;
    font:800 20px/1 var(--bfo-display) !important; color:var(--bfo-navy) !important; box-shadow:0 8px 18px rgba(3,59,90,.12); }
  .bfo-appt--photo h3.bfo-appt__title{ font-size:22px !important; margin:0 0 10px; }
}
@media (max-width:767px){ .bfo-caresplit--card .wp-block-details.bfo-acc{ background:#fff; border-color:var(--bfo-line); } }

/* =====================================================================
   v0.10 — ABOUT PAGE SECTIONS (from BFO About.dc CULLED + About Mobile.dc CULLED, 19 Sep)
   01b Hero full-bleed · 33 Who this is for · 34 Guide (who you'll be working with)
   06b Method + maths card · 35 Stakes band · 36 Success split
   ===================================================================== */

/* 01b HERO — full-bleed photo, navy wash, diagonal stripes (centred phone / left desktop) */
.bfo-sec.bfo-fhero{ padding:0; min-height:75vh; display:flex; align-items:center; text-align:center; }
.bfo-fhero .bfo-fhero__media{ position:absolute !important; inset:0; z-index:0; min-height:0; border-radius:0; align-items:flex-start; justify-content:center;
  background:repeating-linear-gradient(45deg,#2c3d52 0 11px,#324660 11px 22px); }
.bfo-fhero .bfo-fhero__media p.bfo-photo__label{ color:rgba(255,255,255,.6); }
.bfo-fhero::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(3,59,90,.6),rgba(3,59,90,.84)); }
.bfo-fhero .bfo-fhero__inner{ width:100%; }
.bfo-fhero .bfo-fhero__copy{ padding:58px 2px 44px; }
.bfo-fhero p.bfo-eyebrow{ justify-content:center; }
.bfo-fhero h1{ color:#fff; margin-bottom:16px !important; }
.bfo-fhero p.bfo-lead{ color:#DCE6EF; margin-bottom:26px; }
@media (min-width:768px){
  .bfo-sec.bfo-fhero{ min-height:620px; text-align:left; }
  .bfo-fhero .bfo-fhero__media{ align-items:flex-end; justify-content:flex-end;
    background:linear-gradient(120deg,#123F59 0%,#1A536F 46%,#4E7788 75%,#8095A0 100%); }
  .bfo-fhero .bfo-fhero__media p.bfo-photo__label{ padding:0 5vw 7vh; }
  .bfo-fhero::before{ background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 13px,rgba(255,255,255,0) 13px 30px),
    linear-gradient(90deg,rgba(3,59,90,.96) 0%,rgba(3,59,90,.88) 43%,rgba(3,59,90,.42) 68%,rgba(3,59,90,.30) 100%); }
  .bfo-fhero .bfo-fhero__copy{ width:min(680px,72%); padding:90px 0 100px; }
  .bfo-fhero p.bfo-eyebrow{ justify-content:flex-start; }
  .bfo-fhero h1{ margin-bottom:24px !important; }
  .bfo-fhero p.bfo-lead{ max-width:600px; margin-bottom:32px; }
}
@media (min-width:1025px){ .bfo-sec.bfo-fhero{ min-height:680px; } .bfo-fhero .bfo-fhero__copy{ width:min(680px,62%); } }

/* 33 WHO THIS IS FOR — two rows, foot watermark, pull quote */
.bfo-sec.bfo-who{ padding-top:28px; padding-bottom:44px; }
.bfo-who .bfo-who__row--first .wp-block-details.bfo-acc{ margin-top:22px; }
.bfo-who .bfo-who__photo-m{ min-height:210px; border-radius:0; margin:30px calc(-1 * var(--bfo-gutter)) 34px !important; }
.bfo-who .bfo-who__copy > p:not([class]) + p:not([class]){ margin-top:14px; }
.bfo-who .bfo-who__copy > p:not([class]){ color:var(--bfo-slate); }
.bfo-who p.bfo-pullquote{ background:var(--bfo-mist); box-shadow:none; font-size:17px !important; padding:16px 18px; margin-top:24px !important; }
.bfo-who .bfo-who__row--flip .wp-block-details.bfo-acc{ margin-top:24px; }
.bfo-who .wp-block-details.bfo-acc strong{ color:var(--bfo-navy); font-family:var(--bfo-display); font-weight:700; font-size:17px; }
@media (min-width:768px){
  .bfo-sec.bfo-who{ padding-top:var(--bfo-sec-y); padding-bottom:var(--bfo-sec-y); }
  .bfo-who .bfo-who__wrap{ display:grid; gap:48px; }
  .bfo-who .bfo-who__row{ position:relative; display:grid; gap:48px; }
  .bfo-who .bfo-who__row--first{ grid-template-columns:minmax(0,1.04fr) minmax(220px,.96fr); align-items:start; }
  .bfo-who .bfo-who__row--first .bfo-who__copy{ grid-column:1; position:relative; z-index:1; }
  .bfo-who .bfo-who__row--first::after{ content:""; position:absolute; z-index:0; top:120px; right:54px; width:150px; aspect-ratio:280/405; pointer-events:none;
    background:var(--bfo-navy); opacity:.065;
    -webkit-mask:url('../img/bfo-foot-mark.png') center/contain no-repeat; mask:url('../img/bfo-foot-mark.png') center/contain no-repeat; }
  .bfo-who .bfo-who__row--flip{ grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); align-items:center; padding:30px 0; }
  .bfo-who .bfo-who__photo{ min-height:440px; align-self:stretch; }
  .bfo-who p.bfo-pullquote{ font-size:19px !important; padding:18px 22px; }
}
@media (min-width:1025px){
  .bfo-sec.bfo-who{ padding-top:78px; padding-bottom:84px; }
  .bfo-who .bfo-who__wrap{ gap:62px; }
  .bfo-who .bfo-who__row{ gap:76px; }
  .bfo-who .bfo-who__row--first::after{ top:-8px; right:4%; width:356px; }
  .bfo-who .bfo-who__row--flip{ padding:60px 0; }
}

/* 34 GUIDE — who you'll be working with (navy, photo band, quote + info cards) */
.bfo-sec.bfo-guide{ padding:0 0 54px; }
.bfo-guide .bfo-guide__band{ min-height:150px; height:150px; border-radius:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 11px,rgba(255,255,255,0) 11px 22px),linear-gradient(135deg,#154B68,#3A6A80); }
.bfo-guide .bfo-guide__band p.bfo-photo__label,
.bfo-guide .bfo-guide__portrait p.bfo-photo__label{ color:rgba(255,255,255,.72); }
.bfo-guide .bfo-guide__wrap{ padding-top:30px; isolation:isolate; }
.bfo-guide .bfo-guide__wrap::before{ content:""; position:absolute; z-index:-1; left:-62px; top:78px; width:185px; aspect-ratio:280/405; pointer-events:none;
  background:#fff; opacity:.07;
  -webkit-mask:url('../img/bfo-foot-mark.png') center/contain no-repeat; mask:url('../img/bfo-foot-mark.png') center/contain no-repeat; }
.bfo-guide p:not([class]), .bfo-guide .bfo-guide__bio{ color:#C9D7E0; }
.bfo-guide p.bfo-guide__lens{ color:#fff; font-weight:600; margin-top:16px; }
.bfo-guide .bfo-guide__story > p:not([class]){ margin-top:0; }
/* phone feature card */
.bfo-guide .bfo-guide__mcard{ background:var(--bfo-mist); border-radius:var(--bfo-radius); overflow:hidden; margin:22px 0 26px !important; }
.bfo-guide .bfo-guide__mrow{ display:flex; gap:16px; padding:16px 16px 4px; }
.bfo-guide .bfo-guide__mportrait{ flex:0 0 44%; min-height:0; aspect-ratio:3/4; border-radius:var(--bfo-radius);
  background:repeating-linear-gradient(45deg,#d4e0e9 0 9px,#e6eef4 9px 18px); }
.bfo-guide .bfo-guide__mportrait p.bfo-photo__label{ font-size:9px !important; padding:8px; color:#7b8b98; }
.bfo-guide p.bfo-guide__mname{ flex:1; align-self:flex-end; padding-bottom:6px; color:var(--bfo-slate); font-weight:500; }
.bfo-guide p.bfo-guide__mbio{ padding:14px 18px 18px; color:var(--bfo-slate); }
.bfo-guide .bfo-guide__info .wp-block-details.bfo-acc{ margin-top:0; }
.bfo-guide p.bfo-guide__mquote{ color:#fff; }
.bfo-guide .bfo-guide__phil{ margin-top:24px; }
.bfo-guide .bfo-guide__phil h3{ color:#fff; margin-bottom:10px; }
.bfo-guide .bfo-guide__phil p:not([class]){ margin-bottom:14px; }
.bfo-guide p.bfo-guide__link a{ font:800 14px/1.35 var(--bfo-display); color:var(--bfo-amber); text-decoration:none; }
.bfo-guide p.bfo-guide__link a:hover{ text-decoration:underline; }
@media (min-width:768px){
  .bfo-sec.bfo-guide{ padding-bottom:var(--bfo-sec-y); }
  .bfo-guide .bfo-guide__band{ height:330px; min-height:330px; }
  .bfo-guide .bfo-guide__wrap{ padding-top:56px; }
  .bfo-guide .bfo-guide__wrap::before{ left:-55px; top:118px; width:230px; opacity:.095; }
  .bfo-guide .bfo-guide__top, .bfo-guide .bfo-guide__bottom{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:42px; }
  .bfo-guide .bfo-guide__top{ align-items:start; }
  .bfo-guide .bfo-guide__story{ padding-top:20px; }
  .bfo-guide .bfo-guide__portrait{ min-height:330px; border:1px solid rgba(255,255,255,.14); background:linear-gradient(135deg,#0C4968,#285E76); }
  .bfo-guide .bfo-guide__bottom{ align-items:stretch; margin-top:34px; }
  .bfo-guide .bfo-guide__quote{ display:flex; flex-direction:column; justify-content:center; padding:30px 32px; background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.12); border-left:4px solid var(--bfo-amber); border-radius:var(--bfo-radius); }
  .bfo-guide p.bfo-guide__qtext{ color:#fff; font-weight:500; }
  .bfo-guide p.bfo-guide__cite{ margin-top:12px; color:var(--bfo-amber); font:700 13px/1.4 var(--bfo-body); }
  .bfo-guide .bfo-guide__info{ padding:28px 30px; border:1px solid rgba(255,255,255,.13); border-radius:var(--bfo-radius); background:rgba(255,255,255,.045); }
  .bfo-guide p.bfo-guide__name{ margin-bottom:8px; font:800 24px/1.18 var(--bfo-display) !important; letter-spacing:-.02em; color:#fff; }
  .bfo-guide p.bfo-guide__bio{ margin-bottom:20px; }
  .bfo-guide .bfo-guide__phil{ margin-top:22px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); }
  .bfo-guide .bfo-guide__phil h3{ margin-bottom:6px; }
  .bfo-guide .bfo-guide__phil p:not([class]){ margin-bottom:0; }
  .bfo-guide p.bfo-guide__link{ margin-top:17px; }
  .bfo-guide p.bfo-guide__link a{ display:inline-flex; align-items:center; padding:13px 18px; border:1.5px solid rgba(242,160,31,.72); border-radius:var(--bfo-btn-radius);
    font:700 14px/1.35 var(--bfo-body); color:#fff; }
  .bfo-guide p.bfo-guide__link a:hover{ text-decoration:none; background:rgba(242,160,31,.12); }
}
@media (min-width:1025px){
  .bfo-sec.bfo-guide{ padding-bottom:102px; }
  .bfo-guide .bfo-guide__band{ height:429px; min-height:429px; }
  .bfo-guide .bfo-guide__wrap{ padding-top:70px; }
  .bfo-guide .bfo-guide__wrap::before{ left:-92px; width:300px; }
  .bfo-guide .bfo-guide__top, .bfo-guide .bfo-guide__bottom{ gap:70px; }
  .bfo-guide .bfo-guide__portrait{ min-height:385px; }
}

/* 06b METHOD + maths card (About): photo cards + "The maths of it" on desktop; version C cards on phones */
.bfo-methodA--maths .bfo-method__grid{ margin-top:4px; }
.bfo-sec .bfo-maths{ margin-top:54px; padding:34px 38px; background:#fff; border:1px solid var(--bfo-line); border-radius:var(--bfo-radius); display:grid; gap:32px; }
.bfo-sec p.bfo-maths__label{ margin-bottom:23px; text-align:center; font:500 11px/1.3 var(--bfo-label) !important; letter-spacing:.15em; text-transform:uppercase; color:#9B5E2E; }
.bfo-maths .bfo-maths__stats{ display:grid; grid-template-columns:1fr 1fr; align-items:center; text-align:center; }
.bfo-maths .bfo-maths__stat + .bfo-maths__stat{ border-left:1px solid #D7E0E6; }
.bfo-sec p.bfo-maths__num{ font:900 46px/.95 var(--bfo-display) !important; color:#9B5E2E; }
.bfo-maths .bfo-maths__stat + .bfo-maths__stat p.bfo-maths__num{ color:var(--bfo-navy); }
.bfo-sec p.bfo-maths__cap{ margin-top:8px; font-size:13px !important; line-height:1.4 !important; color:var(--bfo-muted); }
.bfo-sec ul.bfo-checks{ list-style:none; padding:0; margin-top:6px; }
.bfo-sec ul.bfo-checks li{ display:flex; gap:12px; align-items:flex-start; margin-top:14px; color:var(--bfo-slate); }
.bfo-sec ul.bfo-checks li::before{ content:"✓"; flex:none; font:800 16px/1.6 var(--bfo-display); color:#9B5E2E; }
.bfo-maths .wp-block-details.bfo-acc{ margin-top:22px; }
@media (min-width:768px){
  .bfo-methodA--maths .bfo-head{ max-width:780px; margin:0 auto 54px; text-align:center; }
  .bfo-methodA--maths .bfo-head p.bfo-eyebrow{ justify-content:center; }
  .bfo-methodA--maths .bfo-head p.bfo-lead{ color:var(--bfo-muted); }
}
@media (min-width:1025px){ .bfo-sec .bfo-maths{ grid-template-columns:.9fr 1.1fr; gap:54px; align-items:center; } }

/* 35 STAKES — slate: loyal-patient line, then "If nothing changes" split */
.bfo-sec.bfo-stakes{ padding:0; }
.bfo-stakes .bfo-stakes__band{ padding:40px 0 36px; text-align:center; border-bottom:1px solid rgba(255,255,255,.14); }
.bfo-sec p.bfo-stakes__line{ max-width:900px; margin:0 auto; color:#fff; font:900 34px/1.06 var(--bfo-display) !important; letter-spacing:-.032em; text-wrap:balance; }
.bfo-stakes .bfo-stakes__grid{ padding-top:36px; padding-bottom:50px; }
.bfo-stakes .bfo-stakes__head h2{ margin-bottom:18px; }
.bfo-stakes .bfo-stakes__body p:not([class]){ color:#C8D5DF; }
.bfo-stakes p.bfo-stakes__close{ margin-top:20px; color:#fff; font-weight:600; }
@media (min-width:768px){
  .bfo-stakes .bfo-stakes__band{ padding:62px 0 54px; border-bottom-color:rgba(255,255,255,.13); }
  .bfo-sec p.bfo-stakes__line{ font-size:clamp(38px,3.7vw,52px) !important; line-height:1.02 !important; letter-spacing:-.04em; }
  .bfo-stakes .bfo-stakes__grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:start; padding-top:82px; padding-bottom:92px; }
  .bfo-stakes .bfo-stakes__head h2{ margin-bottom:0; }
  .bfo-stakes p.bfo-stakes__close{ margin-top:24px; }
}
@media (min-width:1025px){ .bfo-stakes .bfo-stakes__grid{ gap:84px; } }

/* 36 SUCCESS — "What we're actually after" editorial split (photo right; full-bleed under copy on phones) */
.bfo-sec.bfo-success{ padding-top:40px; padding-bottom:0; }
.bfo-success p.bfo-lead{ color:var(--bfo-slate); margin-bottom:14px; }
.bfo-success .bfo-success__copy > p:not([class]){ color:var(--bfo-slate); }
.bfo-success .bfo-success__copy > p + p{ margin-top:14px; }
.bfo-success .wp-block-details.bfo-acc{ margin-top:20px; }
.bfo-success .bfo-success__photo{ min-height:200px; border-radius:0; margin:26px calc(-1 * var(--bfo-gutter)) 0 !important;
  background:repeating-linear-gradient(45deg,#e4ebf0 0 11px,#edf2f6 11px 22px); }
@media (min-width:768px){
  .bfo-sec.bfo-success{ padding-top:var(--bfo-sec-y); padding-bottom:var(--bfo-sec-y); }
  .bfo-success .bfo-success__grid{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:48px; align-items:center; }
  .bfo-success .bfo-success__photo{ margin:0 !important; min-height:420px; border-radius:var(--bfo-radius-img); background:linear-gradient(135deg,#D9E3E9,#EEF3F6); }
  .bfo-success p.bfo-lead{ margin-bottom:18px; }
  .bfo-success .bfo-success__copy > p + p{ margin-top:18px; }
}
@media (min-width:1025px){ .bfo-sec.bfo-success{ padding-bottom:110px; } .bfo-success .bfo-success__grid{ gap:78px; } .bfo-success .bfo-success__photo{ min-height:470px; } }

/* ================= v0.11 — Contact + Barefoot Origin ================= */

/* 37. CONTACT HERO (origin-hero variant + button; photo above copy on phones) */
.bfo-ohero--contact .wp-block-buttons.bfo-cta{ margin-top:28px; }
.bfo-ohero--contact p.bfo-lead{ max-width:560px; }
@media (max-width:767px){
  .bfo-ohero--contact .bfo-ohero__grid{ display:flex; flex-direction:column; }
  .bfo-ohero--contact .bfo-ohero__photo{ order:-1; margin:0 0 28px; min-height:230px; }
}

/* 38. BEFORE YOU CALL */
.bfo-before .bfo-before__intro{ position:relative; }
.bfo-before .bfo-before__intro::before{
  content:""; position:absolute; left:-30px; top:-20px; width:132px; aspect-ratio:280/405; pointer-events:none; z-index:0;
  background:var(--bfo-navy); opacity:.06; transform:rotate(-10deg);
  -webkit-mask:url('../img/bfo-foot-mark.png') center/contain no-repeat; mask:url('../img/bfo-foot-mark.png') center/contain no-repeat; }
.bfo-before .bfo-before__intro > *{ position:relative; z-index:1; }
.bfo-before .bfo-before__list{ margin-top:28px; border-top:1px solid var(--bfo-line); }
.bfo-before .bfo-before__row{ position:relative; display:grid; grid-template-columns:1fr; padding:22px 0; border-bottom:1px solid var(--bfo-line); }
.bfo-before p.bfo-before__num{ display:none; }
.bfo-before .bfo-before__copy h3{ font-size:19px !important; line-height:1.25 !important; color:var(--bfo-navy); margin-bottom:8px; }
.bfo-before .bfo-before__copy p{ color:var(--bfo-muted); }
.bfo-before .bfo-before__human{ margin-top:32px; background:var(--bfo-mist); border-radius:var(--bfo-radius); padding:28px 22px; }
.bfo-before .bfo-before__human h3{ color:var(--bfo-navy); margin-bottom:10px; }
.bfo-before .bfo-before__human-copy p{ color:var(--bfo-muted); }
.bfo-before .bfo-before__actions{ margin-top:22px; display:flex; flex-direction:column; gap:10px; }
.bfo-before .bfo-before__actions .wp-block-button{ width:100%; }
.bfo-before .bfo-before__actions .wp-block-button__link{ display:flex; justify-content:center; width:100%; box-sizing:border-box; }
.bfo-sec .bfo-btn-navy .wp-block-button__link{ background:var(--bfo-navy) !important; color:#fff !important; border:2px solid var(--bfo-navy); }
.bfo-sec .bfo-btn-navy-outline .wp-block-button__link{ background:transparent !important; color:var(--bfo-navy) !important; border:2px solid var(--bfo-navy); }
.bfo-sec .bfo-btn-navy-outline .wp-block-button__link:hover{ background:var(--bfo-navy) !important; color:#fff !important; }
.bfo-before p.bfo-before__hours{ margin-top:16px; font-size:14px; color:var(--bfo-muted); text-align:center; }
.bfo-before .bfo-before__sep{ display:none; }
@media (min-width:768px){
  .bfo-before .bfo-before__grid{ display:grid; grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr); gap:56px; align-items:start; }
  .bfo-before .bfo-before__intro{ position:sticky; top:110px; padding-top:30px; }
  .bfo-before .bfo-before__intro::before{ left:30px; top:-50px; width:260px; }
  .bfo-before .bfo-before__list{ margin-top:0; }
  .bfo-before .bfo-before__row{ grid-template-columns:64px minmax(0,1fr) 28px; gap:20px; align-items:start; padding:28px 0; }
  .bfo-before .bfo-before__row::after{ content:"↗"; font:800 20px/1 var(--bfo-display); color:var(--bfo-amber); padding-top:4px; }
  .bfo-before p.bfo-before__num{ display:block; font:900 34px/1 var(--bfo-display) !important; letter-spacing:-.03em; color:#DCE4E9; }
  .bfo-before .bfo-before__copy h3{ font-size:21px !important; }
  .bfo-before .bfo-before__human{ margin-top:54px; padding:40px 44px; display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:14px 40px; align-items:center; }
  .bfo-before .bfo-before__actions{ margin-top:0; }
  .bfo-before p.bfo-before__hours{ grid-column:1 / -1; text-align:left; margin-top:6px; }
  .bfo-before .bfo-before__sep{ display:inline; white-space:pre; }
  .bfo-before br.bfo-before__br{ display:none; }
}
@media (min-width:1025px){ .bfo-before .bfo-before__grid{ gap:96px; } }

/* Final band — extra small line under the button (Contact address / Origin About link) */
.bfo-finalband p.bfo-finalband__meta{ margin-top:22px; font-size:13px; line-height:1.6; color:rgba(255,255,255,.66); }
.bfo-finalband p.bfo-finalband__meta a{ color:#fff; text-decoration-color:var(--bfo-amber); }

/* 39. LENS CTA */
.bfo-lenscta .bfo-lenscta__card{ position:relative; overflow:hidden; background:linear-gradient(105deg,#033B5A 0%,#0D506E 100%); border-radius:22px; padding:34px 24px; box-shadow:0 18px 44px rgba(3,59,90,.11); }
.bfo-lenscta .bfo-lenscta__card::after{ content:"03:00"; position:absolute; right:16px; bottom:-22px; z-index:0; pointer-events:none; font:900 72px/1 var(--bfo-display); letter-spacing:-.05em; color:rgba(242,160,31,.10); }
.bfo-lenscta .bfo-lenscta__card > *{ position:relative; z-index:1; }
.bfo-lenscta p.bfo-eyebrow{ color:#FFD28A; }
.bfo-lenscta h2{ color:#fff; margin-bottom:10px !important; }
.bfo-lenscta .wp-block-buttons.bfo-cta{ margin-top:24px; }
@media (min-width:768px){
  .bfo-lenscta .bfo-lenscta__card{ display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; padding:48px 54px; border-radius:26px; }
  .bfo-lenscta .bfo-lenscta__card::after{ right:230px; bottom:-33px; font-size:92px; }
  .bfo-lenscta .wp-block-buttons.bfo-cta{ margin-top:0; }
  .bfo-lenscta .wp-block-button__link{ white-space:nowrap; }
}
@media (min-width:1025px){ .bfo-lenscta{ padding:70px 0; } }

/* ORIGIN CHAPTER — story + lens accordion (ch. 3) */
.bfo-ch3 .bfo-ch3__head{ margin-bottom:26px; }
.bfo-ch3 .bfo-ch3__story{ display:flex; flex-direction:column; gap:22px; }
.bfo-ch3 p.bfo-ch3__intro{ color:var(--bfo-muted); }
.bfo-ch3 p.bfo-ch3__question{ padding:18px 0 18px 22px; border-left:4px solid var(--bfo-amber); font:700 20px/1.5 var(--bfo-display) !important; color:var(--bfo-navy); }
.bfo-ch3 p.bfo-ch3__final{ font-weight:600; color:var(--bfo-navy); }
.bfo-ch3 .bfo-chapter__media{ margin-top:34px; }
.bfo-ch3 .bfo-chapter__media .bfo-chapter__photo-inset{ border-color:#fff; }
.bfo-ch3 .wp-block-details.bfo-lens{ position:relative; margin-top:34px; border-radius:22px; box-shadow:0 14px 34px rgba(3,59,90,.06); }
.bfo-ch3 .wp-block-details.bfo-lens > summary{ color:var(--bfo-navy); }
.bfo-ch3 .wp-block-details.bfo-lens::after{ content:"BFO"; position:absolute; right:18px; bottom:6px; z-index:0; pointer-events:none; font:900 54px/1 var(--bfo-display); color:rgba(242,160,31,.13); display:none; }
.bfo-ch3 .wp-block-details.bfo-lens[open]::after{ display:block; }
.bfo-ch3 .wp-block-details.bfo-lens > p{ position:relative; z-index:1; }
.bfo-ch3 .wp-block-details.bfo-lens p.bfo-lens__signal{ margin-top:22px; padding-top:20px; border-top:1px solid #CCD9E0; color:var(--bfo-navy); font-weight:600; }
@media (min-width:768px){
  .bfo-ch3 .bfo-ch3__head{ margin-bottom:42px; max-width:790px; }
  .bfo-ch3 .bfo-ch3__story{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); grid-template-areas:"intro question" "final question"; gap:24px 64px; align-items:start; }
  .bfo-ch3 p.bfo-ch3__intro{ grid-area:intro; }
  .bfo-ch3 p.bfo-ch3__question{ grid-area:question; align-self:stretch; display:flex; align-items:center; padding:28px 0 28px 30px; font-size:22px !important; }
  .bfo-ch3 p.bfo-ch3__final{ grid-area:final; }
  .bfo-ch3 .wp-block-details.bfo-lens{ margin-top:48px; border-radius:24px; }
  .bfo-ch3 .wp-block-details.bfo-lens > summary{ padding:26px 30px; font-size:18px; }
  .bfo-ch3 .wp-block-details.bfo-lens > :not(summary){ padding:0 30px; }
  .bfo-ch3 .wp-block-details.bfo-lens > :last-child:not(summary){ padding-bottom:32px; }
}

/* ORIGIN CHAPTER — navy split + closing line (ch. 4) */
.bfo-csplit--clinic .bfo-csplit__photo{ background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(145deg,#365D70,#173F57); border:0; }
.bfo-csplit--clinic .bfo-csplit__photo p.bfo-photo__label{ color:rgba(255,255,255,.66); }
.bfo-csplit--clinic .bfo-csplit__inner > p.bfo-numeral{ color:rgba(242,160,31,.13); }
.bfo-csplit--clinic p.bfo-eyebrow{ color:#FFD28A; }
.bfo-csplit--clinic .bfo-csplit__copy p:not(.bfo-eyebrow):not(.bfo-numeral):not(.bfo-capable):not(.bfo-photo__label){ color:rgba(255,255,255,.78); }
.bfo-csplit--clinic .bfo-csplit__copy p + p{ margin-top:16px; }
.bfo-csplit--clinic .bfo-csplit__pair{ position:relative; margin-top:28px; padding-bottom:64px; }
.bfo-csplit--clinic .bfo-csplit__pair-main{ width:84%; min-height:230px; background:linear-gradient(150deg,#4f7387,#24506a); }
.bfo-csplit--clinic .bfo-csplit__pair-inset{ position:absolute !important; right:0; bottom:0; width:48%; min-height:140px; border-radius:16px; border:5px solid var(--bfo-navy); background:linear-gradient(150deg,#6d8a9b,#9fb3bf); }
.bfo-csplit--clinic p.bfo-capable{ margin-top:30px !important; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); font:900 24px/1.35 var(--bfo-display) !important; letter-spacing:-.015em; color:#fff; }
@media (min-width:768px){
  .bfo-csplit.bfo-csplit--clinic{ grid-template-columns:1.08fr .92fr; }
  .bfo-csplit--clinic .bfo-csplit__photo{ min-height:720px; }
  .bfo-csplit--clinic .bfo-csplit__copy{ padding:100px var(--bfo-gutter) 100px clamp(40px,5.5vw,92px); }
  .bfo-csplit--clinic p.bfo-capable{ font-size:28px !important; margin-top:32px !important; }
}

/* 40. PHOTO BAND (full-bleed) */
.bfo-photoband{ padding:0; }
.bfo-photoband .bfo-photoband__photo{ border-radius:0; min-height:240px; background:linear-gradient(145deg,#D6CFBE,#AFA48F); }
.bfo-photoband .bfo-photoband__photo p.bfo-photo__label{ color:#6f6650; }
@media (min-width:768px){ .bfo-photoband .bfo-photoband__photo{ min-height:360px; } }

/* v0.11 fixes — edge-to-edge sections keep zero padding inside page content */
.wp-block-post-content > .bfo-sec.bfo-csplit, .bfo-sec.bfo-csplit,
.wp-block-post-content > .bfo-sec.bfo-photoband, .bfo-sec.bfo-photoband{ padding:0; }
/* Hero standfirst spacing (Origin + Contact heroes) */
.bfo-ohero h1 + p.bfo-lead{ margin-top:20px; }
/* Contact: hero flows into Find us as one dark opening zone (as the source) */
.bfo-ohero--contact{ background:linear-gradient(170deg,#022c44 0%,#04486e 100%); }
@media (min-width:768px){
  .bfo-ohero--contact .bfo-ohero__grid{ grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); align-items:end; }
  .bfo-ohero--contact .bfo-ohero__photo{ align-self:stretch; min-height:500px; }
}

/* ================= v0.12 — LOCATION PAGES ================= */
/* Location hero (37 hero, location variant): copy wider, photo right */
@media (min-width:768px){
  .bfo-ohero--location .bfo-ohero__grid{ grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); }
  .bfo-ohero--location .bfo-ohero__photo{ min-height:470px; }
}

/* 41. LOCAL STORY — navy split, heading right on desktop, callout line */
.bfo-local .bfo-local__grid{ display:flex; flex-direction:column; gap:26px; }
.bfo-local p.bfo-lead{ color:#D3DEE7; margin:0; }
.bfo-local .bfo-local__body p:not([class]){ color:#C3D0DD; }
.bfo-local .bfo-local__body > * + *{ margin-top:18px !important; }
.bfo-local p.bfo-local__callout{ padding:16px 20px; border-left:4px solid var(--bfo-amber); border-radius:0 14px 14px 0; background:rgba(255,255,255,.06);
  font:800 19px/1.3 var(--bfo-display) !important; letter-spacing:-.01em; color:#fff !important; }
@media (min-width:768px){
  .bfo-local .bfo-local__grid{ display:grid; grid-template-columns:1.05fr .95fr; grid-template-areas:"body head"; gap:56px; align-items:start; }
  .bfo-local .bfo-local__head{ grid-area:head; }
  .bfo-local .bfo-local__body{ grid-area:body; padding-top:6px; }
  .bfo-local p.bfo-local__callout{ padding:20px 26px; font-size:22px !important; }
}
@media (min-width:1025px){ .bfo-local .bfo-local__grid{ gap:84px; } }

/* 42. PRACTICAL BITS — white split */
.bfo-practical .bfo-practical__grid{ display:flex; flex-direction:column; gap:8px; }
.bfo-practical p.bfo-lead{ margin-bottom:16px; }
.bfo-practical .bfo-practical__body p:not([class]){ color:var(--bfo-muted); }
.bfo-practical .bfo-practical__body a, .bfo-condidx p.bfo-condidx__note a{ color:var(--bfo-amber); text-decoration:none; }
.bfo-practical .bfo-practical__body a:hover, .bfo-condidx p.bfo-condidx__note a:hover{ text-decoration:underline; }
@media (min-width:768px){
  .bfo-practical .bfo-practical__grid{ display:grid; grid-template-columns:.88fr 1.12fr; gap:56px; align-items:start; }
  .bfo-practical .bfo-practical__body{ padding-top:30px; }
}
@media (min-width:1025px){ .bfo-practical .bfo-practical__grid{ gap:86px; } }

/* 43. CONDITION INDEX — link cards */
.bfo-condidx .bfo-condidx__wrap{ display:flex; flex-direction:column; }
.bfo-condidx .bfo-condidx__head{ margin-bottom:24px; }
.bfo-condidx .bfo-condidx__grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bfo-condidx p.bfo-condidx__item{ margin:0; background:#fff; border:1px solid #DCE5EA; border-radius:var(--bfo-radius); font:600 14px/1.3 var(--bfo-body) !important; color:var(--bfo-navy); }
.bfo-condidx p.bfo-condidx__item a{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:52px; padding:12px 14px; color:var(--bfo-navy) !important; text-decoration:none !important; font-weight:600; box-sizing:border-box; height:100%; }
.bfo-condidx p.bfo-condidx__item a::after{ content:"→"; flex:none; color:var(--bfo-amber); font:900 18px/1 var(--bfo-display); transition:transform .2s ease; }
.bfo-condidx p.bfo-condidx__item:has(a:hover){ border-color:var(--bfo-amber); }
.bfo-condidx p.bfo-condidx__item a:hover::after{ transform:translateX(3px); }
.bfo-condidx p.bfo-condidx__item a:focus-visible{ outline:2px solid var(--bfo-amber); outline-offset:2px; border-radius:var(--bfo-radius); }
.bfo-condidx p.bfo-condidx__item--static{ display:flex; align-items:center; min-height:52px; padding:12px 14px; background:#F6F9FA; color:#697C89 !important; box-sizing:border-box; }
.bfo-condidx p.bfo-condidx__note{ margin-top:18px; font-size:14px; color:#6B7A86; }
@media (min-width:768px){
  .bfo-condidx .bfo-condidx__wrap{ display:grid; grid-template-columns:.9fr 1.1fr; grid-template-areas:"head note" "grid grid"; column-gap:56px; align-items:end; }
  .bfo-condidx .bfo-condidx__head{ grid-area:head; margin-bottom:36px; }
  .bfo-condidx p.bfo-condidx__note{ grid-area:note; margin:0 0 40px; text-align:right; }
  .bfo-condidx .bfo-condidx__grid{ grid-area:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .bfo-condidx p.bfo-condidx__item{ font-size:16px !important; }
  .bfo-condidx p.bfo-condidx__item a, .bfo-condidx p.bfo-condidx__item--static{ min-height:96px; padding:20px 20px; align-items:flex-start; }
}
@media (min-width:1025px){ .bfo-condidx .bfo-condidx__grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* 20 Final band — "Also close by" line (location pages) */
.bfo-finalband p.bfo-finalband__nearby a{ color:var(--bfo-amber) !important; text-decoration:none; font-weight:600; }
.bfo-finalband p.bfo-finalband__nearby a:hover{ text-decoration:underline; }

/* 28 Find us — town links in the foot line */
.bfo-findus p.bfo-findus__foot strong a{ color:var(--bfo-amber) !important; text-decoration:none; }
.bfo-findus p.bfo-findus__foot strong a:hover{ text-decoration:underline; }
/* FAQ — short list (location pages): size to content, footmark tucked under the heading */
@media (min-width:768px){
  .bfo-faq--short .bfo-faq__intro{ min-height:430px; }
  .bfo-faq--short .bfo-faq__intro::after{ width:150px; bottom:0; }
}
/* Location hero: let the H1 wrap naturally on phones (desktop keeps the line break) */
@media (max-width:767px){ .bfo-ohero--location h1 br{ display:none; } }

/* ================= v0.13 — HOW WE WORK (APPROACH) ================= */
/* 37 hero, page variant: phones = full-bleed photo on top, copy on paper; desktop = location layout */
@media (max-width:767px){
  .bfo-sec.bfo-ohero--page{ background:var(--bfo-paper); padding-top:0; }
  .bfo-ohero--page::before{ display:none; }
  .bfo-ohero--page .bfo-ohero__grid{ display:flex; flex-direction:column; }
  .bfo-ohero--page .bfo-ohero__photo{ order:-1; margin:0 calc(-1 * var(--bfo-gutter)) 28px !important; min-height:210px; border-radius:0; border:0;
    background:repeating-linear-gradient(135deg,rgba(255,255,255,.42) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(150deg,#D9E4EA,#B8CAD5); }
  .bfo-ohero--page .bfo-ohero__photo p.bfo-photo__label{ color:#6F8593; }
  .bfo-sec.bfo-ohero--page h1.wp-block-heading{ color:var(--bfo-navy); }
  .bfo-sec.bfo-ohero--page p.bfo-lead{ color:var(--bfo-slate); }
}
@media (min-width:768px){
  .bfo-ohero--page .bfo-ohero__grid{ grid-template-columns:minmax(0,1fr) minmax(300px,1fr); }
  .bfo-ohero--page .bfo-ohero__photo{ min-height:460px; }
}

/* 44. INTRO SPLIT — navy on phones (photo on top), paper on desktop (photo right) */
.bfo-intro .bfo-intro__grid{ display:flex; flex-direction:column; }
.bfo-intro .bfo-intro__photo{ order:-1; }
.bfo-sec p.bfo-intro__callout{ margin-top:24px; padding:18px 20px; border-left:4px solid var(--bfo-amber); border-radius:0 14px 14px 0;
  background:var(--bfo-mist); font:800 19px/1.3 var(--bfo-display) !important; letter-spacing:-.01em; color:var(--bfo-navy); }
@media (max-width:767px){
  .bfo-sec.bfo-intro{ background:var(--bfo-navy); padding-top:0; }
  .bfo-intro .bfo-intro__photo{ margin:0 calc(-1 * var(--bfo-gutter)) 30px !important; min-height:200px; border-radius:0;
    background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(150deg,#0b4a6c,#0e5a80); }
  .bfo-intro .bfo-intro__photo p.bfo-photo__label{ color:rgba(255,255,255,.7); }
  .bfo-intro .wp-block-heading{ color:#fff; }
  .bfo-intro p{ color:rgba(255,255,255,.82); }
  .bfo-intro p.bfo-lead{ color:var(--bfo-mist); }
  .bfo-sec p.bfo-intro__callout{ background:rgba(255,255,255,.07); color:#fff; }
}
@media (min-width:768px){
  .bfo-intro .bfo-intro__grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:center; }
  .bfo-intro .bfo-intro__photo{ order:0; min-height:460px; }
}
@media (min-width:1025px){ .bfo-intro .bfo-intro__grid{ gap:72px; } .bfo-intro .bfo-intro__photo{ min-height:500px; } }

/* 45. STATEMENT SPLIT — heading left, copy right; hairline above on desktop */
.bfo-stmt .bfo-stmt__copy{ margin-top:6px !important; }
.bfo-sec p.bfo-stmt__kicker{ margin-top:22px; padding-top:18px; border-top:1px solid var(--bfo-line); font-weight:700; color:var(--bfo-navy); }
@media (min-width:768px){
  .bfo-sec.bfo-stmt{ padding-top:0; }
  .bfo-stmt .bfo-stmt__grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:start; }
  .bfo-stmt .bfo-stmt__grid::before{ content:""; position:absolute; top:0; left:var(--bfo-gutter); right:var(--bfo-gutter); height:1px; background:var(--bfo-line); }
  .bfo-stmt .bfo-stmt__grid{ padding-top:var(--bfo-sec-y); }
  .bfo-stmt .bfo-stmt__copy{ margin-top:0 !important; padding-top:28px; }
}
@media (min-width:1025px){ .bfo-stmt .bfo-stmt__grid{ gap:72px; } }

/* Success split, photo-left variant: photo full-bleed on top on phones, left on desktop */
.bfo-success--photo-left .bfo-success__grid{ display:flex; flex-direction:column; }
@media (max-width:767px){
  .bfo-sec.bfo-success--photo-left{ padding-top:0; padding-bottom:var(--bfo-sec-y); }
  .bfo-success--photo-left .bfo-success__photo{ order:-1; margin:0 calc(-1 * var(--bfo-gutter)) 30px !important; }
}
@media (min-width:768px){
  .bfo-success--photo-left .bfo-success__grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
}

/* 46. ABOUT THE AUTHOR — byline strip */
.bfo-sec.bfo-author{ padding:32px 0; }
.bfo-sec p.bfo-author__label{ margin-bottom:8px; font:700 11px/1.2 var(--bfo-label) !important; letter-spacing:.16em; text-transform:uppercase; color:var(--bfo-muted); }
.bfo-sec p.bfo-author__text{ font-size:13.5px; line-height:1.65; color:var(--bfo-muted); }
@media (max-width:767px){
  .bfo-author .bfo-author__grid > .bfo-author__label{ margin:0; padding:18px 20px 8px; background:#fff; border:1px solid var(--bfo-line); border-left:3px solid var(--bfo-amber); border-bottom:0; border-radius:0 14px 0 0; }
  .bfo-author .bfo-author__grid > .bfo-author__text{ margin:0; padding:0 20px 18px; background:#fff; border:1px solid var(--bfo-line); border-left:3px solid var(--bfo-amber); border-top:0; border-radius:0 0 14px 0; }
}
@media (min-width:768px){
  .bfo-sec.bfo-author{ padding:36px 0 44px; }
  .bfo-author .bfo-author__grid{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:40px; max-width:calc(900px + 2 * var(--bfo-gutter)); }
  .bfo-author .bfo-author__grid::before{ content:""; position:absolute; top:-18px; left:var(--bfo-gutter); right:var(--bfo-gutter); height:1px; background:var(--bfo-line); }
  .bfo-sec p.bfo-author__label{ margin:3px 0 0; }
}

/* Mobility, Stability, Balance — dark library variant (desktop + tablet; phones keep the light layout) */
@media (min-width:768px){
  .bfo-sec.bfo-msb--dark{ background:var(--bfo-slate); }
  .bfo-msb--dark .wp-block-heading{ color:#fff; }
  .bfo-msb--dark p.bfo-lead{ color:var(--bfo-mist); max-width:640px; }
  .bfo-msb--dark .bfo-msb__card{ background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); min-height:0; }
  .bfo-msb--dark h3.bfo-msb__title{ color:var(--bfo-amber); }
  .bfo-msb--dark p.bfo-card-text{ color:rgba(255,255,255,.78); }
  .bfo-msb--dark p.bfo-numeral{ display:none; }
  .bfo-msb--dark .wp-block-details.bfo-acc{ max-width:66%; background:rgba(255,255,255,.07) !important; border:1px solid rgba(255,255,255,.14) !important; }
  .bfo-msb--dark .wp-block-details.bfo-acc > summary{ color:#fff; }
  .bfo-msb--dark .wp-block-details.bfo-acc p{ color:rgba(255,255,255,.82); }
  .bfo-msb--dark.bfo-wm-bfo::after{ color:rgba(255,255,255,.05); }
}
@media (max-width:767px){ .bfo-msb--dark.bfo-wm-bfo::after{ display:none; } }

/* ================= v0.14 — APPOINTMENTS + PATIENTS ================= */
.bfo-bg-fog{ background:#F6F8F9; }

/* 47. CARD HERO — navy + stripes, copy on a paper card (no photo) */
.bfo-ohero--card .bfo-ohero__card{ position:relative; z-index:2; max-width:705px; padding:30px 20px 24px; border-radius:22px;
  background:#FBFAF8; border:1px solid rgba(255,255,255,.22); box-shadow:0 22px 50px rgba(0,0,0,.16); }
.bfo-sec.bfo-ohero--card h1.wp-block-heading{ color:var(--bfo-navy); }
.bfo-sec.bfo-ohero--card p.bfo-lead{ color:var(--bfo-slate); margin:18px 0 0; }
.bfo-ohero--card .wp-block-buttons.bfo-cta{ margin-top:22px; }
@media (max-width:767px){ .bfo-sec.bfo-ohero--card{ padding:30px 0 46px; } .bfo-ohero--card .bfo-wrap{ padding:0 18px; } }
@media (min-width:768px){
  .bfo-sec.bfo-ohero--card{ min-height:560px; display:flex; align-items:center; }
  .bfo-ohero--card .bfo-ohero__card{ padding:34px 40px 36px; border-radius:24px; box-shadow:0 28px 70px rgba(0,0,0,.18); }
}

/* 48. NAVY SPLIT — copy left, photo right; photo under copy on phones */
.bfo-nsplit .bfo-nsplit__photo{ margin-top:32px; min-height:285px;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(145deg,#124C68,#244D63); }
.bfo-nsplit .bfo-nsplit__photo p.bfo-photo__label{ color:rgba(255,255,255,.72); }
.bfo-nsplit p.bfo-lead{ color:#D8E5EC; }
.bfo-nsplit .bfo-nsplit__copy > p:not([class]){ color:#BFD0DB; }
.bfo-nsplit .bfo-nsplit__copy > p:not([class]) a{ color:var(--bfo-amber) !important; font-weight:700; text-decoration:none; }
.bfo-nsplit .bfo-nsplit__copy > p:not([class]) a:hover{ text-decoration:underline; }
@media (min-width:768px){
  .bfo-nsplit .bfo-nsplit__grid{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:48px; align-items:center; }
  .bfo-nsplit .bfo-nsplit__photo{ margin-top:0; min-height:460px; border-radius:24px; }
}
@media (min-width:1025px){ .bfo-nsplit .bfo-nsplit__grid{ gap:74px; } .bfo-nsplit .bfo-nsplit__photo{ min-height:520px; } }

/* 49. NUMBERED CARD SPLIT — copy left, navy 01/02 card right */
.bfo-ncard .bfo-ncard__card{ display:flex; flex-direction:column; margin-top:24px; padding:22px 20px 10px; border-radius:20px;
  background:linear-gradient(145deg,#033B5A 0%,#0A4C6D 100%); box-shadow:0 16px 34px rgba(3,59,90,.12); }
.bfo-ncard .bfo-ncard__row{ display:grid; grid-template-columns:48px minmax(0,1fr); align-items:start; }
.bfo-ncard .bfo-ncard__row + .bfo-ncard__row p.bfo-ncard__text{ border-top:1px solid rgba(255,255,255,.13); }
.bfo-sec p.bfo-ncard__num{ padding-top:22px; font:900 32px/1 var(--bfo-display) !important; letter-spacing:-.05em; color:rgba(242,160,31,.28); }
.bfo-sec p.bfo-ncard__text{ padding:22px 0 22px 20px; border-left:3px solid rgba(242,160,31,.78); font:800 19px/1.42 var(--bfo-display) !important; color:#fff; }
.bfo-ncard p.bfo-ncard__text strong{ color:var(--bfo-amber); font-weight:900; }
.bfo-sec p.bfo-ncard__note{ order:-1; margin:0 0 8px; padding:0 0 20px; border-bottom:1px solid rgba(255,255,255,.17); font-size:14px; line-height:1.68; color:rgba(255,255,255,.72); }
@media (min-width:768px){
  .bfo-ncard .bfo-ncard__grid{ display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:48px; align-items:center; }
  .bfo-ncard .bfo-ncard__card{ margin-top:0; min-height:350px; justify-content:center; padding:38px 40px 34px 32px; border-radius:24px; }
  .bfo-ncard .bfo-ncard__row{ grid-template-columns:86px minmax(0,1fr); }
  .bfo-sec p.bfo-ncard__num{ padding-top:18px; font-size:58px !important; color:rgba(242,160,31,.23); }
  .bfo-sec p.bfo-ncard__text{ padding:20px 0 22px 28px; font-size:23px !important; line-height:1.38; }
  .bfo-sec p.bfo-ncard__note{ order:0; margin:10px 0 0; padding:24px 0 0; border-bottom:0; border-top:1px solid rgba(255,255,255,.17); font-size:14.5px; }
}
@media (min-width:1025px){ .bfo-ncard .bfo-ncard__grid{ gap:78px; } }

/* 50. FEES SPLIT — heading, navy statement card + edged notes, accordion, button */
.bfo-sec.bfo-fees{ padding-top:calc(var(--bfo-sec-y) * .5); }
.bfo-fees .bfo-fees__card{ display:flex; align-items:center; padding:28px 22px; border-radius:20px;
  background:linear-gradient(145deg,#033B5A 0%,#0A4C6D 100%); box-shadow:0 16px 34px rgba(3,59,90,.10); }
.bfo-sec p.bfo-fees__statement{ font:800 22px/1.42 var(--bfo-display) !important; color:#fff; }
.bfo-fees .bfo-fees__list{ margin-top:24px; }
.bfo-sec p.bfo-fees__item{ padding:20px 0 20px 18px; border-left:2px solid #C9D6DE; color:var(--bfo-muted); }
.bfo-sec p.bfo-fees__item + p.bfo-fees__item{ border-top:1px solid var(--bfo-line); }
.bfo-fees p.bfo-fees__item strong{ color:var(--bfo-navy); font-weight:700; }
@media (min-width:768px){
  .bfo-fees .bfo-fees__grid{ display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:38px; align-items:stretch; }
  .bfo-fees .bfo-fees__card{ min-height:320px; padding:40px 42px; border-radius:24px; }
  .bfo-sec p.bfo-fees__statement{ font-size:clamp(25px,2.2vw,32px) !important; line-height:1.38; }
  .bfo-fees .bfo-fees__list{ margin-top:0; display:flex; flex-direction:column; justify-content:center; }
  .bfo-sec p.bfo-fees__item{ padding:25px 0 26px 26px; }
}

/* 40. PHOTO BAND — navy placeholder variant */
.bfo-photoband--navy .bfo-photoband__photo{ background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 13px,rgba(255,255,255,0) 13px 30px),linear-gradient(145deg,#124C68,#244D63); }
.bfo-photoband--navy .bfo-photoband__photo p.bfo-photo__label{ color:rgba(255,255,255,.7); }

/* 51. PHOTO ROWS — photo-left rows split by an amber hairline */
.bfo-prows .bfo-prows__row{ display:flex; flex-direction:column; }
.bfo-prows .bfo-prows__row + .bfo-prows__row{ margin-top:52px; padding-top:52px; border-top:1px solid var(--bfo-amber); }
.bfo-prows .bfo-prows__photo{ order:-1; min-height:245px; margin-bottom:28px; }
.bfo-sec p.bfo-prows__body{ color:var(--bfo-muted); }
@media (max-width:767px){
  /* Row 1: eyebrow, heading, lead, then photo, then the closing line */
  .bfo-prows .bfo-prows__row--mid .bfo-prows__copy{ display:contents; }
  .bfo-prows .bfo-prows__row--mid .bfo-prows__copy > *{ order:1; }
  .bfo-prows .bfo-prows__row--mid .bfo-prows__photo{ order:2; margin:4px 0 24px; }
  .bfo-prows .bfo-prows__row--mid .bfo-prows__copy > p.bfo-prows__body{ order:3; }
}
@media (min-width:768px){
  .bfo-prows .bfo-prows__row{ display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:48px; align-items:center; }
  .bfo-prows .bfo-prows__row + .bfo-prows__row{ margin-top:72px; padding-top:72px; }
  .bfo-prows .bfo-prows__photo{ margin:0; min-height:400px; border-radius:24px; }
  .bfo-prows .bfo-prows__copy{ max-width:570px; }
  .bfo-sec p.bfo-prows__body{ margin-top:26px; }
}
@media (min-width:1025px){
  .bfo-prows .bfo-prows__row{ gap:76px; }
  .bfo-prows .bfo-prows__row + .bfo-prows__row{ margin-top:82px; padding-top:82px; }
  .bfo-prows .bfo-prows__photo{ min-height:430px; }
}

/* Patients hero (37 page variant) — store buttons + browser note */
.bfo-ohero--app .bfo-store{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:26px; max-width:420px; }
.bfo-ohero--app .bfo-store__btn{ display:flex; align-items:center; gap:10px; min-height:58px; padding:8px 12px; border-radius:var(--bfo-btn-radius);
  background:#fff; border:1px solid var(--bfo-line); color:var(--bfo-navy) !important; text-decoration:none !important;
  box-shadow:0 12px 30px rgba(0,22,36,.10); transition:transform .16s ease, box-shadow .16s ease; }
.bfo-ohero--app .bfo-store__btn:hover{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(0,22,36,.16); }
.bfo-ohero--app .bfo-store__btn:focus-visible{ outline:2px solid var(--bfo-amber); outline-offset:2px; }
.bfo-ohero--app .bfo-store__mark{ flex:none; display:grid; place-items:center; width:30px; height:30px; }
.bfo-ohero--app .bfo-store__mark svg{ width:24px; height:24px; fill:var(--bfo-navy); }
.bfo-ohero--app .bfo-store__copy{ display:flex; flex-direction:column; line-height:1.1; }
.bfo-ohero--app .bfo-store__copy small{ font:500 11px/1.2 var(--bfo-body); color:var(--bfo-muted); }
.bfo-ohero--app .bfo-store__copy strong{ font:800 17px/1.15 var(--bfo-display); letter-spacing:-.01em; }
.bfo-sec p.bfo-store__note{ margin-top:16px; font-size:13px !important; line-height:1.5; color:var(--bfo-muted); }
.bfo-sec p.bfo-store__note a{ font-weight:700; color:var(--bfo-navy) !important; }
@media (min-width:768px){
  .bfo-ohero--app .bfo-store{ grid-template-columns:repeat(2,minmax(0,190px)); max-width:none; }
  .bfo-ohero--app .bfo-store__btn{ min-height:62px; padding:8px 17px; border-color:rgba(255,255,255,.22); }
  .bfo-sec.bfo-ohero--app p.bfo-store__note{ color:#9FB8C8; }
  .bfo-sec.bfo-ohero--app p.bfo-store__note a{ color:#fff !important; }
}

/* 52. STEPS SPLIT — heading + photo left, amber-numeral steps right; photo last on phones */
.bfo-steps .bfo-steps__grid, .bfo-steps .bfo-steps__left{ display:flex; flex-direction:column; }
.bfo-steps .bfo-steps__step{ display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; padding:22px 0; border-bottom:1px solid #CAD7DF; }
.bfo-sec p.bfo-steps__num{ font:900 38px/.95 var(--bfo-display) !important; letter-spacing:-.04em; color:var(--bfo-amber); }
.bfo-sec h3.bfo-steps__title{ margin-bottom:6px; font-size:18px; }
.bfo-steps .bfo-steps__photo{ min-height:210px; }
@media (max-width:767px){
  .bfo-steps .bfo-steps__left{ display:contents; }
  .bfo-steps .bfo-steps__head{ order:1; margin-bottom:8px; }
  .bfo-steps .bfo-steps__list{ order:2; }
  .bfo-steps .bfo-steps__photo{ order:3; margin-top:32px; }
}
@media (min-width:768px){
  .bfo-steps .bfo-steps__grid{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:56px; align-items:start; }
  .bfo-steps .bfo-steps__photo{ margin-top:34px; min-height:300px; border-radius:22px; }
  .bfo-steps .bfo-steps__step{ grid-template-columns:92px minmax(0,1fr); gap:22px; padding:30px 0 31px; }
  .bfo-sec p.bfo-steps__num{ font-size:48px !important; }
  .bfo-sec h3.bfo-steps__title{ font-size:21px; }
}
@media (min-width:1025px){ .bfo-steps .bfo-steps__grid{ gap:92px; } }

/* 53. QUOTE SPLIT — copy left, navy quote card right, faded number mark */
.bfo-wm-10050::before{ content:"10,050"; position:absolute; z-index:1; right:-.02em; top:30px; pointer-events:none;
  font:900 110px/1 var(--bfo-display); letter-spacing:-.07em; color:rgba(3,59,90,.035); }
.bfo-quote .bfo-quote__card{ position:relative; margin-top:40px; padding:34px 28px 36px; border-radius:20px; background:var(--bfo-navy); box-shadow:0 22px 52px rgba(3,59,90,.12); }
.bfo-quote .bfo-quote__card::before{ content:"\201C"; position:absolute; right:24px; top:6px; font:900 92px/1 Georgia,serif; color:rgba(242,160,31,.18); pointer-events:none; }
.bfo-sec p.bfo-quote__text{ position:relative; font:900 28px/1.18 var(--bfo-display) !important; letter-spacing:-.025em; color:#fff; }
@media (min-width:768px){
  .bfo-wm-10050::before{ top:6px; font-size:clamp(130px,18vw,280px); }
  .bfo-quote .bfo-quote__grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr); gap:56px; align-items:center; }
  .bfo-quote .bfo-quote__card{ margin-top:0; padding:46px 46px 48px; border-radius:26px; }
  .bfo-sec p.bfo-quote__text{ font-size:clamp(27px,2.6vw,38px) !important; }
}
@media (min-width:1025px){ .bfo-quote .bfo-quote__grid{ gap:104px; } }

/* 54. FIX CARDS — three white cards with an amber dash */
.bfo-fixes .bfo-fixes__grid{ display:grid; grid-template-columns:1fr; gap:16px; }
.bfo-fixes .bfo-fixes__card{ padding:28px 24px; border-radius:20px; background:#fff; border:1px solid #E1E6E9; box-shadow:0 12px 30px rgba(3,59,90,.035); }
.bfo-fixes .bfo-fixes__card::before{ content:""; display:block; width:34px; height:5px; margin-bottom:20px; border-radius:99px; background:var(--bfo-amber); }
.bfo-fixes .bfo-fixes__card h3.wp-block-heading{ margin-bottom:12px; font-size:20px; }
.bfo-fixes .bfo-fixes__card p{ color:var(--bfo-muted); }
.bfo-fixes .bfo-fixes__card p a{ text-decoration-color:var(--bfo-amber); }
@media (min-width:768px){
  .bfo-fixes .bfo-fixes__grid{ grid-template-columns:1fr 1fr; gap:20px; }
  .bfo-fixes .bfo-fixes__card:last-child{ grid-column:1 / -1; }
  .bfo-fixes .bfo-fixes__card{ padding:30px 28px 31px; }
}
@media (min-width:1025px){
  .bfo-fixes .bfo-fixes__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bfo-fixes .bfo-fixes__card:last-child{ grid-column:auto; }
  .bfo-fixes .bfo-fixes__card{ min-height:235px; }
  .bfo-fixes .bfo-fixes__card h3.wp-block-heading{ font-size:21px; }
}

/* 55. REVIEW CARD — centred white card on mist */
.bfo-review .bfo-review__card{ max-width:920px; margin:0 auto; padding:38px 25px 40px; text-align:center; border-radius:20px; background:#fff; border:1px solid #D7E0E6; box-shadow:0 18px 44px rgba(3,59,90,.06); }
.bfo-review p.bfo-eyebrow{ justify-content:center; }
.bfo-sec.bfo-review p.bfo-lead{ max-width:650px; margin:0 auto; font-weight:400; color:var(--bfo-muted); }
.bfo-review .wp-block-buttons{ justify-content:center; }
@media (min-width:768px){ .bfo-review .bfo-review__card{ padding:52px 60px 56px; border-radius:26px; } }

/* ================= v0.15 — HIP + KNEE ================= */
/* Hip care split: in-copy photo on phones (source mobile layout) */
.bfo-sec .bfo-caresplit__photo-m{ min-height:200px; margin:6px 0 20px !important; }

/* ================= v0.16 — NECK + SCIATICA ================= */
/* Presentation cards, 3-up (Sciatica: six one-line patterns) */
@media (min-width:1025px){
  .bfo-pres--3 .bfo-pres__grid{ grid-template-columns:repeat(3,1fr); }
  .bfo-pres--3 .bfo-pres__card{ min-height:0; }
}
.bfo-pres--3 .bfo-pres__card p.bfo-card-title{ margin:0; }
/* Long-H1 rich hero (Sciatica): smaller H1 + tighter card so the whole box sits above the fold */
@media (max-width:767px){
  body .wp-site-blocks .bfo-chero--long h1{ font-size:36px; line-height:1.04; }
  .bfo-chero--long .bfo-chero__inner{ padding-top:150px; }
}
@media (min-width:768px){
  body .wp-site-blocks .bfo-chero--long h1{ font-size:44px; line-height:1.02; }
  .bfo-chero--long .bfo-chero__inner{ padding-top:110px; padding-bottom:36px; }
  .bfo-chero--long .bfo-chero__card{ padding:32px 40px 34px; }
}
@media (min-width:1025px){
  body .wp-site-blocks .bfo-chero--long h1{ font-size:clamp(46px, calc(2.6vw + 14px), 54px); }
  .bfo-chero--long .bfo-chero__card{ width:min(760px,62%); }
}
/* Accordion that needs to stand off a mist background (Sciatica care) — roll to similar pages in final pass */
.bfo-sec .wp-block-details.bfo-acc.bfo-acc--card{ background:#fff; border:1px solid var(--bfo-line); box-shadow:0 8px 22px rgba(3,59,90,.06); }
@media (min-width:768px){ .bfo-caresplit--card .wp-block-details.bfo-acc--card{ margin-top:18px; } }
/* Doctor first card without a title (Sciatica) */
.bfo-doctor .bfo-doctor__card > ul:first-child{ margin-top:0; }

/* ---------- v0.24.0 — Privacy Policy and Terms & Conditions ---------- */
.bfo-legalhero{ padding:calc(var(--bfo-sec-y) * .8) 0 calc(var(--bfo-sec-y) * .7); }
.bfo-legalhero .bfo-lead{ margin:14px 0 0 !important; }
.bfo-legal__body{ font:16px/1.7 var(--bfo-body); color:var(--bfo-slate); }
.bfo-legal__body > p{ margin:0 0 16px !important; }
.bfo-legal__body h2.wp-block-heading{ margin:52px 0 16px !important; padding-top:28px; border-top:1px solid var(--bfo-line); font:800 22px/1.25 var(--bfo-display) !important; letter-spacing:-.015em; }
.bfo-legal__body > h2.wp-block-heading:first-of-type{ margin-top:36px !important; }
.bfo-legal__body h3.wp-block-heading{ margin:28px 0 10px !important; font:700 17px/1.35 var(--bfo-body) !important; color:var(--bfo-navy); }
.bfo-legal__body ul.wp-block-list{ margin:0 0 18px !important; padding-left:22px; list-style:disc; }
.bfo-legal__body ul.wp-block-list ul.wp-block-list{ margin:8px 0 4px !important; list-style:circle; }
.bfo-legal__body li{ margin:0 0 8px; color:var(--bfo-slate); }
.bfo-legal__body li::marker{ color:var(--bfo-amber); }
.bfo-legal__body strong{ color:var(--bfo-navy); font-weight:600; }
.bfo-legal__body p.bfo-legal__cont{ margin:-6px 0 18px 22px !important; }
.bfo-legal__body a{ overflow-wrap:anywhere; }
@media (min-width:768px){ .bfo-legal__body h2.wp-block-heading{ font-size:26px !important; } }

/* ---------- Launch pass Session B (v0.25.0) ---------- */
/* The Barefoot Method: amber numerals on every page (was homepage only), no "1. 2. 3." in titles. */
.bfo-sec.bfo-method p.bfo-numeral{ color:rgba(242,160,31,.42); }
.bfo-sec.bfo-methodA .bfo-methodA__copy.bfo-num-float > p.bfo-numeral{ font-size:72px !important; }

/* Buttons hold 16px at every width, even where a saved header/footer carries its own inline radius. */
.wp-site-blocks .wp-block-button__link,
.wp-site-blocks .wp-element-button,
.bfo-sec .bfo-signup button,
.bfo-footer-signup button,
.bfo-footer-signup input,
.bfo-sec .bfo-signup input{ border-radius:var(--bfo-btn-radius,16px) !important; }

/* 47b. CARD HERO — optional background photo (v0.28.12)
   Photo fills the hero behind the paper card, under a light navy wash so the
   stripes and brand colour still read. Empty slot = the original navy hero. */
.bfo-ohero--card .bfo-ohero__bg{ position:absolute !important; inset:0; z-index:0; margin:0 !important; min-height:0; border-radius:0; border:0; background:none; }
.bfo-ohero--card .bfo-ohero__bg p.bfo-photo__label{ color:rgba(255,255,255,.55); }
.bfo-ohero--card .bfo-ohero__bg:has(img)::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(180deg,rgba(3,59,90,.15) 0%,rgba(3,59,90,.55) 100%); opacity:clamp(0, var(--bfo-w, 1), 1); }
@media (max-width:767px){
  .bfo-sec.bfo-ohero--card:has(.bfo-ohero__bg img){ padding-top:220px; }
}
@media (min-width:768px){
  .bfo-ohero--card .bfo-ohero__bg:has(img)::after{ background:linear-gradient(90deg,rgba(3,59,90,.55) 0%,rgba(3,59,90,.25) 50%,rgba(3,59,90,.08) 100%); }
  .bfo-sec.bfo-ohero--card:has(.bfo-ohero__bg img){ min-height:620px; }
}
/* v0.28.13 — no diagonal stripes over a background photo (Kyle, 10 Oct) */
.bfo-sec.bfo-ohero--card:has(.bfo-ohero__bg img)::before{ display:none; }

/* v0.28.14 — no gap above the footer; no stray empty paragraph at the end of a page */
.wp-site-blocks > footer.wp-block-template-part, .wp-site-blocks > .wp-block-template-part:last-child{ margin-block-start:0 !important; }
.bfo-page-main{ margin-block-end:0 !important; }
.bfo-page-main .wp-block-post-content > p:empty{ display:none; }
.bfo-page-main .wp-block-post-content > :last-child{ margin-block-end:0 !important; }

/* v0.28.14 — Find us: hide the big "3280" on phones (Kyle, 10 Oct); desktop keeps it */
@media (max-width:767px){ .bfo-findus::after{ display:none; } }

/* v0.28.15 — per-page: hide the footer sign-up on phones (Page → BFO page options) */
@media (max-width:820px){
  body.bfo-no-fnews-m .bfo-mobile-footer .bfo-footer-newsletter,
  body.bfo-no-fnews-m .bfo-mobile-footer .bfo-footer-newsletter + hr{ display:none !important; }
}

/* v0.28.16 — Condition heroes: no navy box behind the H1 on tablet/desktop (Kyle, 10 Oct).
   Copy sits on the photo like the phone layout; a left-to-right navy fade keeps it readable.
   Split heroes (Headache, Knee, Neck) unchanged. */
@media (min-width:768px){
  .bfo-chero:not(.bfo-chero--split) .bfo-chero__card{ background:none !important; box-shadow:none !important; padding:0 !important; border-radius:0; }
  .bfo-chero:not(.bfo-chero--split)::before{
    background:linear-gradient(90deg,rgba(3,59,90,.88) 0%,rgba(3,59,90,.72) 38%,rgba(3,59,90,.22) 68%,rgba(3,59,90,.06) 100%),
               linear-gradient(180deg,rgba(3,59,90,0) 55%,rgba(3,59,90,.45) 100%) !important;
  }
  .bfo-chero:not(.bfo-chero--split) .bfo-chero__card h1,
  .bfo-chero:not(.bfo-chero--split) .bfo-chero__card p{ text-shadow:0 1px 18px rgba(0,25,40,.35); }
  .bfo-chero:not(.bfo-chero--split) .bfo-chero__inner{ padding-bottom:64px; }
}

/* =====================================================================
   v0.28.17 — Final pass
   ===================================================================== */

/* Per-page "Hide hero stripes" (Page → BFO page options). Washes and photos stay. */
body.bfo-no-hero-stripes .bfo-chero::after,
body.bfo-no-hero-stripes .bfo-ohero::before,
body.bfo-no-hero-stripes .bfo-jhero::after,
body.bfo-no-hero-stripes .bfo-cathero::before{ display:none !important; }
@media (min-width:768px){
  body.bfo-no-hero-stripes .bfo-fhero::before{ background:linear-gradient(90deg,rgba(3,59,90,.96) 0%,rgba(3,59,90,.88) 43%,rgba(3,59,90,.42) 68%,rgba(3,59,90,.30) 100%) !important; }
  body.bfo-no-hero-stripes .bfo-hhero .bfo-hhero__media{ background:linear-gradient(150deg,#0B4A6C,#244D63) !important; }
}

/* Final BOOK band — sitewide photo (Settings → BFO Photos), tablet + desktop only.
   It replaces the page's own band photo on those screens; phones keep the page's. */
@media (max-width:767px){
  .bfo-finalband .bfo-finalband__site,
  .bfo-finalband .bfo-finalband__media--added{ display:none !important; }
}
@media (min-width:768px){
  .bfo-finalband .bfo-finalband__media:has(> .bfo-finalband__site) > :not(.bfo-finalband__site){ display:none !important; }
}

/* v0.28.20 — Per-page "Hero text on the right" (Page → BFO page options). Tablet + desktop only;
   phones unchanged. The navy fade flips with the text so the photo's clear side is on the left. */
@media (min-width:768px){
  body.bfo-hero-right .bfo-chero:not(.bfo-chero--split) .bfo-chero__card{ margin-left:auto !important; margin-right:0 !important; }
  body.bfo-hero-right .bfo-chero:not(.bfo-chero--split)::before{
    background:linear-gradient(270deg,rgba(3,59,90,.88) 0%,rgba(3,59,90,.72) 38%,rgba(3,59,90,.22) 68%,rgba(3,59,90,.06) 100%),
               linear-gradient(180deg,rgba(3,59,90,0) 55%,rgba(3,59,90,.45) 100%) !important;
  }
  body.bfo-hero-right .bfo-chero:not(.bfo-chero--split)::after{ -webkit-mask-image:linear-gradient(to right,#000 0%,transparent 50%); mask-image:linear-gradient(to right,#000 0%,transparent 50%); }
}
/* v0.28.21 — text in a right-side hero is right-aligned too (Kyle, 12 Oct). Tablet + desktop only. */
@media (min-width:768px){
  body.bfo-hero-right .bfo-chero:not(.bfo-chero--split) .bfo-chero__card{ text-align:right; }
  body.bfo-hero-right .bfo-chero:not(.bfo-chero--split) .bfo-chero__card p.bfo-eyebrow{ justify-content:flex-end; }
  body.bfo-hero-right .bfo-chero:not(.bfo-chero--split) .bfo-chero__card .wp-block-buttons{ justify-content:flex-end; }
  body.bfo-hero-right .bfo-chero:not(.bfo-chero--split) .bfo-chero__card > *{ margin-left:auto; }
}
