/*
 * BFO theme — Start QR campaign page (v0.18.0)
 * Sources: 05 / 20 Start (QR page): BFO Start QR (mobile, 11 Aug) + BFO Start QR Desktop (13 Sep).
 * Mobile first (<=767px), tablet 768–1024px, desktop >=1025px. Scoped to .bfo-qr-*.
 */

/* ---------- Campaign header: current banner + logo bar (no nav) ---------- */
.bfo-qr-bar.bfo-site-header{ background:var(--bfo-mist, #EDF3F6); padding:16px 18px; box-shadow:0 8px 24px rgba(3,59,90,.07); }
.bfo-qr-bar .bfo-qr-bar__inner{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; max-width:1340px; margin:0 auto; }
.bfo-qr-bar .bfo-qr-bar__logo{ grid-column:2; line-height:0; }
.bfo-qr-bar .bfo-qr-bar__logo a{ display:inline-block; line-height:0; }
.bfo-qr-bar .bfo-qr-bar__logo img{ display:block; width:144px; height:auto; }
.bfo-qr-bar .bfo-qr-bar__cta{ grid-column:3; justify-self:end; margin:0; }
@media (min-width:768px){
  .bfo-qr-bar.bfo-site-header{ position:sticky; top:0; z-index:100; padding:14px 24px; }
  .bfo-qr-bar .bfo-qr-bar__logo img{ width:196px; }
}
@media (min-width:783px){ body.admin-bar .bfo-qr-bar.bfo-site-header{ top:32px; } }

/* ---------- Shared bits ---------- */
.bfo-qr-main .bfo-sec mark{ color:var(--bfo-amber) !important; }
@media (min-width:1025px){
  .bfo-qr-whats__head, .bfo-qr-launch__intro, .bfo-qr-proof__head{ position:relative; }
  .bfo-qr-whats__head::before, .bfo-qr-launch__intro::before, .bfo-qr-proof__head::before{ position:absolute; z-index:0; pointer-events:none; user-select:none;
    font:900 clamp(108px,9vw,150px)/.82 var(--bfo-display); letter-spacing:-.07em; color:rgba(3,59,90,.045); }
  .bfo-qr-whats__head::before{ content:"NOW" / ""; right:clamp(48px,5vw,88px); top:30px; }
  .bfo-qr-proof__head::before{ content:"LOCAL" / ""; right:clamp(48px,5vw,88px); top:30px; }
  .bfo-qr-launch__intro::before{ content:"START" / ""; right:0; top:-58px; color:rgba(255,255,255,.07); }
  :is(.bfo-qr-whats__head,.bfo-qr-launch__intro,.bfo-qr-proof__head) > *{ position:relative; z-index:1; }
}

/* ---------- 1. Hero ---------- */
.bfo-sec.bfo-qr-hero{ background:var(--bfo-navy); padding-top:0; }
.bfo-qr-hero .bfo-qr-hero__main{ margin:0 calc(-1 * var(--bfo-gutter)) 36px !important; min-height:230px; border-radius:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 11px,rgba(255,255,255,0) 11px 22px),linear-gradient(150deg,#2f5b70,#6f8e9d);
  align-items:flex-end; }
.bfo-qr-hero .bfo-photo p.bfo-photo__label{ color:rgba(255,255,255,.72); }
.bfo-qr-hero .bfo-qr-hero__copy > p:not([class]){ color:#c3d0dd; }
.bfo-qr-hero .bfo-qr-hero__copy > h1 + p{ margin-top:22px !important; }
.bfo-qr-hero .bfo-qr-hero__copy > p:not([class]) + p:not([class]){ margin-top:18px !important; }
.bfo-sec p.bfo-qr-thesis{ margin-top:22px !important; padding:18px 20px; border-left:3px solid var(--bfo-amber); background:rgba(255,255,255,.06);
  border-radius:0 12px 12px 0; font:700 16px/1.4 var(--bfo-display) !important; color:#fff; }
.bfo-qr-hero .wp-block-buttons.bfo-cta{ margin-top:28px; }
@media (max-width:767px){
  .bfo-qr-hero .wp-block-buttons.bfo-cta .wp-block-button{ width:100%; }
  .bfo-qr-hero .wp-block-buttons.bfo-cta .wp-block-button__link{ display:block; width:100%; text-align:center; }
}
@media (min-width:768px){
  .bfo-sec.bfo-qr-hero{ padding-top:var(--bfo-sec-y); }
  .bfo-qr-hero::before{ content:""; position:absolute; inset:0 0 0 52%; z-index:1; pointer-events:none; opacity:.88;
    background:repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0 2px,transparent 2px 22px);
    -webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 22%,rgba(0,0,0,.14) 43%,rgba(0,0,0,.55) 68%,#000 100%);
    mask-image:linear-gradient(to right,transparent 0%,transparent 22%,rgba(0,0,0,.14) 43%,rgba(0,0,0,.55) 68%,#000 100%); }
  .bfo-qr-hero .bfo-qr-hero__visual{ position:relative; height:430px; margin-bottom:40px !important; }
  .bfo-qr-hero .bfo-qr-hero__main{ position:absolute; left:0; top:0; width:92%; height:390px; min-height:0; margin:0 !important;
    border-radius:24px; box-shadow:0 30px 70px rgba(0,20,33,.26); align-items:center; }
  .bfo-qr-hero .bfo-qr-hero__small{ position:absolute !important; right:0; bottom:0; width:42%; height:150px; min-height:0;
    border-radius:20px; border:8px solid var(--bfo-navy);
    background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 15px,rgba(255,255,255,0) 15px 30px),linear-gradient(145deg,#123f59,#50788a); }
  .bfo-sec p.bfo-qr-thesis{ margin-top:29px !important; padding:20px 0; border-left:0; border-top:1px solid rgba(255,255,255,.18);
    border-bottom:1px solid rgba(255,255,255,.18); background:none; border-radius:0; font:800 18px/1.48 var(--bfo-display) !important; }
  .bfo-qr-hero .bfo-qr-hero__copy > p:not([class]){ color:#c8d5dc; }
}
@media (min-width:1025px){
  .bfo-qr-hero .bfo-qr-hero__grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; min-height:640px; }
  .bfo-qr-hero .bfo-qr-hero__visual{ height:560px; margin:0 !important; }
  .bfo-qr-hero .bfo-qr-hero__main{ width:90%; height:500px; border-radius:30px; }
  .bfo-qr-hero .bfo-qr-hero__small{ height:190px; }
  .bfo-qr-hero .bfo-qr-hero__copy{ max-width:560px; padding:20px 0; }
}

/* ---------- 2. What's on (newest Journal post) ---------- */
.bfo-qr-whats .bfo-qr-whats__query{ width:100%; max-width:calc(720px + 2 * var(--bfo-gutter)); margin:0 auto; padding:0 var(--bfo-gutter); box-sizing:border-box; }
.bfo-qr-whats ul.bfo-qr-whats__tpl{ list-style:none; margin:0; padding:0; }
.bfo-qr-whats ul.bfo-qr-whats__tpl > li{ margin:0; }
.bfo-qr-whats .bfo-qr-whats__head{ margin-bottom:18px !important; }
.bfo-qr-whats .bfo-qr-whats__media{ position:relative; overflow:hidden; height:150px; border:1px solid #e4ded2; border-bottom:0; border-radius:16px 16px 0 0;
  background:repeating-linear-gradient(45deg,#e9e2d4 0 11px,#f1ece1 11px 22px); }
.bfo-qr-whats .bfo-qr-whats__media .wp-block-post-featured-image{ position:absolute; inset:0; margin:0; }
.bfo-qr-whats .bfo-qr-whats__media .wp-block-post-featured-image :is(a,img){ display:block; width:100%; height:100%; object-fit:cover; }
.bfo-qr-whats .bfo-qr-whats__body{ background:#fff; border:1px solid #e4ded2; border-top:0; border-radius:0 0 16px 16px; padding:20px 18px; }
.bfo-sec p.bfo-qr-kicker{ margin-bottom:8px !important; font:700 11px/1.2 var(--bfo-label) !important; letter-spacing:.13em; text-transform:uppercase; color:var(--bfo-amber); }
.bfo-qr-whats :is(h3,p).bfo-qr-whats__title{ margin:0 0 8px !important; font:800 16px/1.35 var(--bfo-display) !important; letter-spacing:0; color:var(--bfo-navy); }
.bfo-qr-whats .bfo-qr-whats__title a{ color:inherit !important; text-decoration:none !important; font-weight:inherit !important; }
.bfo-qr-whats .bfo-qr-whats__excerpt, .bfo-qr-whats .bfo-qr-whats__excerpt p{ margin:0 0 14px !important; font-size:13.5px !important; line-height:1.55 !important; color:var(--bfo-muted); }
.bfo-qr-whats .bfo-qr-whats__excerpt .wp-block-post-excerpt__excerpt{ margin:0 !important; }
.bfo-qr-whats .bfo-qr-whats__excerpt .wp-block-post-excerpt__more-text{ display:none; }
.bfo-qr-whats a.wp-block-read-more, .bfo-qr-whats p.bfo-qr-whats__more a{ display:inline-block; font:800 14px/1.2 var(--bfo-display) !important; color:var(--bfo-amber) !important; text-decoration:none !important; }
.bfo-qr-whats p.bfo-qr-whats__more{ margin:0 !important; }
@media (min-width:768px){
  .bfo-sec.bfo-qr-whats{ padding:0; }
  .bfo-qr-whats .bfo-qr-whats__query{ max-width:none; padding:0; }
  .bfo-qr-whats .bfo-qr-whats__item{ display:grid; grid-template-columns:1fr; grid-template-areas:"media" "head" "body"; }
  .bfo-qr-whats .bfo-qr-whats__media{ grid-area:media; height:auto; min-height:430px; border:0; border-radius:0;
    background:radial-gradient(circle at 64% 36%,rgba(255,255,255,.34),transparent 31%),repeating-linear-gradient(18deg,rgba(155,94,46,.045) 0 4px,transparent 4px 14px),linear-gradient(145deg,#E6DDCC,#C6B594); }
  .bfo-qr-whats .bfo-qr-whats__head{ grid-area:head; padding:78px 56px 0; margin:0 !important; }
  .bfo-qr-whats .bfo-qr-whats__body{ grid-area:body; padding:30px 56px 78px; background:none; border:0; border-radius:0; }
  .bfo-qr-whats :is(h3,p).bfo-qr-whats__title{ margin:0 0 18px !important; font:900 29px/1.2 var(--bfo-display) !important; letter-spacing:-.02em; max-width:500px; }
  .bfo-qr-whats .bfo-qr-whats__excerpt, .bfo-qr-whats .bfo-qr-whats__excerpt p{ margin:0 0 24px !important; font-size:16px !important; line-height:1.7 !important; max-width:500px; }
  .bfo-qr-whats a.wp-block-read-more, .bfo-qr-whats p.bfo-qr-whats__more a{ font:800 14px/1.2 var(--bfo-body) !important; color:var(--bfo-navy) !important;
    text-decoration:underline !important; text-decoration-color:rgba(242,160,31,.85) !important; text-underline-offset:5px; }
}
@media (min-width:1025px){
  .bfo-qr-whats .bfo-qr-whats__item{ grid-template-columns:1.08fr .92fr; grid-template-rows:1fr auto auto 1fr; grid-template-areas:"media ." "media head" "media body" "media ."; min-height:640px; }
  .bfo-qr-whats .bfo-qr-whats__media{ min-height:640px; }
  .bfo-qr-whats .bfo-qr-whats__head, .bfo-qr-whats .bfo-qr-whats__body{ padding-left:72px; padding-right:clamp(48px,5vw,88px); max-width:620px; }
  .bfo-qr-whats .bfo-qr-whats__head{ padding-top:96px; }
  .bfo-qr-whats .bfo-qr-whats__body{ padding-bottom:96px; }
}

/* ---------- 3. In plain English + 10,080 ---------- */
.bfo-qr-sixty .bfo-qr-sixty__copy > p:not([class]){ color:var(--bfo-muted); }
.bfo-qr-sixty .bfo-qr-sixty__copy > .bfo-lead{ margin:0 0 14px !important; }
.bfo-qr-sixty .bfo-qr-time{ margin-top:22px !important; background:#fff; border:1px solid #dce4ea; border-radius:16px; padding:24px 20px; text-align:center; }
.bfo-sec p.bfo-qr-time__num{ font:800 46px/1 var(--bfo-display) !important; color:var(--bfo-amber); margin:0 0 6px !important; }
.bfo-sec p.bfo-qr-time__unit{ font:700 12px/1.3 var(--bfo-display) !important; letter-spacing:.16em; text-transform:uppercase; color:var(--bfo-navy); margin:0 0 14px !important; }
.bfo-qr-time .bfo-qr-time__us{ display:none; }
.bfo-sec p.bfo-qr-time__copy{ font-size:14.5px !important; line-height:1.6 !important; color:var(--bfo-slate); }
@media (min-width:768px){
  .bfo-qr-sixty .bfo-qr-sixty__copy{ max-width:620px; }
  .bfo-qr-sixty .bfo-qr-time{ position:relative; margin-top:48px !important; padding:28px 0 0 42px; background:none; border:0; border-radius:0; text-align:left; max-width:720px; }
  .bfo-qr-sixty .bfo-qr-time::before{ content:""; position:absolute; left:0; top:54px; width:2px; height:250px; background:var(--bfo-amber); opacity:.82; }
  .bfo-sec p.bfo-qr-time__num{ font:900 clamp(94px,8.5vw,126px)/.86 var(--bfo-display) !important; letter-spacing:-.067em; color:var(--bfo-navy); margin:0 !important; }
  .bfo-sec p.bfo-qr-time__unit{ margin:16px 0 38px !important; font:700 13px/1.3 var(--bfo-label) !important; letter-spacing:.15em; color:var(--bfo-muted); }
  .bfo-qr-time .bfo-qr-time__panel{ position:relative; overflow:hidden; margin-left:58px !important; display:grid; grid-template-columns:150px 1fr; gap:32px; align-items:center;
    padding:43px 48px; border-top:4px solid var(--bfo-amber); box-shadow:0 26px 58px rgba(3,59,90,.20);
    background:radial-gradient(circle at 18% 18%,rgba(242,160,31,.16),transparent 28%),linear-gradient(118deg,#022F49 0%,#064564 58%,#0D5875 100%); }
  .bfo-qr-time .bfo-qr-time__panel::before{ content:""; position:absolute; right:-70px; top:-90px; width:220px; height:220px; border:1px solid rgba(255,255,255,.10);
    border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); pointer-events:none; }
  .bfo-qr-time .bfo-qr-time__us{ display:block; position:relative; z-index:2; }
  .bfo-sec p.bfo-qr-time__small{ font:900 72px/.92 var(--bfo-display) !important; letter-spacing:-.045em; color:var(--bfo-amber); }
  .bfo-sec p.bfo-qr-time__small-unit{ margin-top:12px !important; font:700 10px/1.35 var(--bfo-label) !important; letter-spacing:.14em; text-transform:uppercase; color:#c7d6df; }
  .bfo-sec p.bfo-qr-time__copy{ position:relative; z-index:2; padding-left:26px; border-left:1px solid rgba(255,255,255,.20); font:500 17px/1.62 var(--bfo-body) !important; color:#edf4f7; }
}
@media (min-width:1025px){
  .bfo-qr-sixty .bfo-qr-sixty__grid{ display:grid; grid-template-columns:.94fr 1.06fr; gap:80px; align-items:center; }
  .bfo-qr-sixty .bfo-qr-time{ margin-top:0 !important; min-height:440px; }
}

/* ---------- 4. Dispatch band (anchor target for the launchpad card) ---------- */
.bfo-qr-dispatch{ scroll-margin-top:90px; }
@media (min-width:768px){ .bfo-qr-dispatch{ scroll-margin-top:130px; } }

/* ---------- 5. Image break ---------- */
.bfo-sec.bfo-qr-break{ padding:0; }
.bfo-qr-break .bfo-qr-break__photo{ min-height:200px; border-radius:0; align-items:flex-end;
  background:repeating-linear-gradient(135deg,#2c3d52 0 11px,#33475f 11px 22px); }
.bfo-qr-break .bfo-photo p.bfo-photo__label{ color:rgba(255,255,255,.7); }
@media (min-width:768px){ .bfo-qr-break .bfo-qr-break__photo{ min-height:470px; background:linear-gradient(90deg,rgba(3,59,90,.38),rgba(3,59,90,0) 56%),linear-gradient(110deg,#263C50,#657D8B); } }

/* ---------- 6. Take a next step ---------- */
.bfo-sec.bfo-qr-launch{ background:#fff; }
.bfo-qr-launch .bfo-qr-launch__intro{ margin-bottom:22px !important; }
.bfo-sec p.bfo-qr-sub{ margin:0 0 12px !important; font:800 14px/1.3 var(--bfo-display) !important; letter-spacing:.04em; text-transform:uppercase; color:var(--bfo-slate); }
.bfo-sec p.bfo-qr-sub--patient{ margin-top:26px !important; }
.bfo-qr-launch .bfo-qr-doorlist{ display:flex; flex-direction:column; gap:11px; }
.bfo-qr-launch .bfo-qr-door{ position:relative; background:#FBFAF8; border:1px solid #e4ded2; border-radius:14px; padding:17px 18px; }
.bfo-qr-launch .bfo-qr-door__num{ display:none; }
.bfo-sec p.bfo-qr-door__title{ font:800 15px/1.35 var(--bfo-display) !important; color:var(--bfo-navy); }
.bfo-sec p.bfo-qr-door__title a{ color:var(--bfo-navy) !important; text-decoration:none !important; font-weight:inherit !important; }
.bfo-sec p.bfo-qr-door__title a::after{ content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; }
.bfo-qr-launch .bfo-qr-door__arrow{ color:var(--bfo-amber); }
.bfo-sec p.bfo-qr-door__desc{ margin-top:5px !important; font-size:13px !important; line-height:1.5 !important; color:var(--bfo-muted); }
.bfo-qr-launch .bfo-qr-door:focus-within{ outline:2px solid var(--bfo-amber); outline-offset:2px; }
.bfo-qr-launch .bfo-qr-door a:focus-visible{ outline:none; }
/* PhysiApp store buttons sit above the card link */
.bfo-qr-launch .bfo-store{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.bfo-qr-launch .bfo-store__btn{ display:flex; align-items:center; gap:8px; min-height:44px; padding:6px 10px; border-radius:12px; background:#fff;
  border:1px solid var(--bfo-line); color:var(--bfo-navy) !important; text-decoration:none !important; }
.bfo-qr-launch .bfo-store__btn:focus-visible{ outline:2px solid var(--bfo-amber); outline-offset:2px; }
.bfo-qr-launch .bfo-store__mark{ flex:none; display:grid; place-items:center; width:22px; height:22px; }
.bfo-qr-launch .bfo-store__mark svg{ width:20px; height:20px; fill:var(--bfo-navy); }
.bfo-qr-launch .bfo-store__copy{ display:flex; flex-direction:column; line-height:1.1; }
.bfo-qr-launch .bfo-store__copy small{ font:500 9.5px/1.2 var(--bfo-body); color:var(--bfo-muted); }
.bfo-qr-launch .bfo-store__copy strong{ font:800 13.5px/1.15 var(--bfo-display); }
@media (min-width:768px){
  .bfo-sec.bfo-qr-launch{ background:var(--bfo-navy); overflow:clip; }
  .bfo-qr-launch .wp-block-heading{ color:#fff; }
  .bfo-qr-launch .bfo-qr-launch__intro{ margin-bottom:42px !important; }
  .bfo-sec p.bfo-qr-sub{ margin-bottom:20px !important; font:800 16px/1.2 var(--bfo-label) !important; letter-spacing:.14em; color:#FFD28A; }
  .bfo-sec p.bfo-qr-sub--patient{ margin-top:48px !important; }
  .bfo-qr-launch .bfo-qr-doorlist{ gap:0; border-top:1px solid rgba(255,255,255,.18); }
  .bfo-qr-launch .bfo-qr-door{ display:grid; grid-template-columns:100px minmax(0,1fr) 34px; gap:22px; align-items:start; padding:30px 0 32px;
    background:none; border:0; border-bottom:1px solid rgba(255,255,255,.18); border-radius:0; transition:transform .18s ease; }
  .bfo-qr-launch .bfo-qr-door:hover{ transform:translateX(5px); }
  .bfo-qr-launch .bfo-qr-door__num{ display:block; font:900 56px/.88 var(--bfo-display) !important; letter-spacing:-.05em; color:var(--bfo-amber); }
  .bfo-sec p.bfo-qr-door__title{ font:900 23px/1.18 var(--bfo-display) !important; margin-bottom:8px !important; }
  .bfo-sec p.bfo-qr-door__title a{ color:#fff !important; }
  .bfo-qr-launch .bfo-qr-door__arrow{ position:absolute; right:0; top:30px; font-size:27px; line-height:.9; transition:transform .18s ease; }
  .bfo-qr-launch .bfo-qr-door:hover .bfo-qr-door__arrow{ transform:translateX(4px); }
  .bfo-sec p.bfo-qr-door__desc{ margin-top:0 !important; max-width:650px; font-size:14.5px !important; line-height:1.62 !important; color:#b9cbd5; }
  .bfo-qr-launch .bfo-qr-door--patient{ grid-template-columns:100px minmax(0,1fr); padding-top:30px; border-top:1px solid rgba(255,255,255,.18); border-bottom:0; }
  .bfo-qr-launch .bfo-qr-door--patient:hover{ transform:none; }
  .bfo-qr-launch .bfo-qr-door--patient .bfo-store{ grid-column:2; max-width:420px; margin-top:16px; }
  .bfo-qr-launch .bfo-store__btn{ background:transparent; border-color:rgba(255,255,255,.25); color:#fff !important; min-height:52px; }
  .bfo-qr-launch .bfo-store__mark svg{ fill:#fff; }
  .bfo-qr-launch .bfo-store__copy small{ color:#a9bdc8; }
}
@media (min-width:1025px){
  .bfo-qr-launch .bfo-qr-launch__grid{ display:grid; grid-template-columns:480px 1fr; gap:64px; align-items:start; }
  .bfo-qr-launch .bfo-qr-launch__intro{ position:sticky; top:150px; margin:0 !important; }
  .bfo-qr-launch .bfo-qr-door{ grid-template-columns:132px minmax(0,1fr) 34px; gap:26px; }
  .bfo-qr-launch .bfo-qr-door--patient{ grid-template-columns:132px minmax(0,1fr) 250px; align-items:center; }
  .bfo-qr-launch .bfo-qr-door--patient .bfo-store{ grid-column:3; margin-top:0; }
}

/* ---------- 7. Proof: map + practitioner line ---------- */
.bfo-sec.bfo-qr-proof{ background:var(--bfo-mist); }
.bfo-qr-proof .bfo-qr-proof__stage{ max-width:calc(720px + 2 * var(--bfo-gutter)); margin:0 auto; padding:0 var(--bfo-gutter); }
.bfo-qr-proof .bfo-qr-proof__head{ margin-bottom:18px !important; }
.bfo-qr-proof .bfo-qr-map{ position:relative; overflow:hidden; height:220px; border-radius:14px; background:#dde6ec; margin-bottom:18px; }
.bfo-qr-proof .bfo-qr-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.bfo-sec p.bfo-qr-bio{ font-size:13.5px !important; line-height:1.6 !important; color:var(--bfo-muted); }
@media (min-width:768px){
  .bfo-sec.bfo-qr-proof{ background:var(--bfo-paper); padding:0; }
  .bfo-qr-proof .bfo-qr-proof__stage{ display:grid; grid-template-areas:"map" "head" "bio"; max-width:none; padding:0; }
  .bfo-qr-proof .bfo-qr-map{ grid-area:map; height:430px; border-radius:0; margin:0; }
  .bfo-qr-proof .bfo-qr-proof__head{ grid-area:head; padding:78px 56px 0; margin:0 !important; }
  .bfo-sec p.bfo-qr-bio{ grid-area:bio; margin:34px 56px 78px !important; padding:4px 0 4px 26px; border-left:4px solid var(--bfo-amber); font-size:15px !important; line-height:1.72 !important; max-width:530px; }
}
@media (min-width:1025px){
  .bfo-qr-proof .bfo-qr-proof__stage{ grid-template-columns:1.08fr .92fr; grid-template-rows:1fr auto auto 1fr; grid-template-areas:"map ." "map head" "map bio" "map ."; min-height:620px; }
  .bfo-qr-proof .bfo-qr-map{ height:auto; min-height:620px; }
  .bfo-qr-proof .bfo-qr-proof__head{ padding:96px clamp(48px,5vw,88px) 0 72px; max-width:620px; }
  .bfo-sec p.bfo-qr-bio{ margin:34px clamp(48px,5vw,88px) 96px 72px !important; }
}

/* ---------- 8. Close: "There's more here" ---------- */
.bfo-sec.bfo-qr-close{ background:var(--bfo-navy); padding:40px 0 0; }
.bfo-qr-close .bfo-qr-close__card{ text-align:center; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.05); padding:28px 22px 26px; }
.bfo-qr-close p.bfo-eyebrow{ justify-content:center; margin-bottom:12px !important; }
.bfo-qr-close .wp-block-heading{ color:#fff; }
.bfo-qr-close .bfo-qr-close__card > p:not([class]){ max-width:34ch; margin:10px auto 0 !important; font-size:14px !important; line-height:1.6 !important; color:#c3d0dd; }
.bfo-qr-close .wp-block-buttons.bfo-cta{ margin-top:20px; justify-content:center; }
@media (max-width:767px){
  .bfo-qr-close .wp-block-buttons.bfo-cta .wp-block-button{ width:100%; }
  .bfo-qr-close .wp-block-buttons.bfo-cta .wp-block-button__link{ display:block; width:100%; text-align:center; background:transparent !important;
    border:1.5px solid var(--bfo-amber); color:var(--bfo-amber) !important; }
}
@media (min-width:768px){
  .bfo-sec.bfo-qr-close{ background:var(--bfo-mist); padding:92px 0 78px; }
  .bfo-qr-close .bfo-qr-close__card{ max-width:980px; margin:0 auto; background:var(--bfo-paper); border-color:#D8E2E8; border-radius:28px; padding:58px 72px 56px; box-shadow:0 18px 42px rgba(3,59,90,.06); }
  .bfo-qr-close .wp-block-heading{ color:var(--bfo-navy); max-width:760px; margin:0 auto !important; }
  .bfo-qr-close .bfo-qr-close__card > p:not([class]){ max-width:690px; margin:18px auto 0 !important; font-size:16px !important; line-height:1.68 !important; color:var(--bfo-muted); }
  .bfo-qr-close .wp-block-buttons.bfo-cta{ margin-top:28px; }
}

/* ---------- Campaign footer (slim, no nav) ---------- */
.bfo-qr-footer{ background:var(--bfo-navy, #033B5A); padding:28px 22px 30px; text-align:center; }
.bfo-qr-footer .bfo-qr-footer__inner{ max-width:1180px; margin:0 auto; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
.bfo-qr-footer .bfo-qr-footer__logo{ line-height:0; margin:0 0 20px; }
.bfo-qr-footer .bfo-qr-footer__logo img{ display:inline-block; width:150px; height:auto; }
.bfo-qr-footer p.bfo-qr-footer__line{ margin:0 0 4px; font:400 13.5px/1.7 Poppins,sans-serif; color:#c3d0dd; }
.bfo-qr-footer p.bfo-qr-footer__line a{ color:#c3d0dd; text-decoration:none; }
.bfo-qr-footer p.bfo-qr-footer__line a:hover{ color:#F2A01F; }
.bfo-qr-footer p.bfo-qr-footer__muted{ margin-bottom:20px; color:#8fa6b8; }
.bfo-qr-footer .bfo-qr-footer__socials{ gap:12px !important; margin:0 !important; padding:0; }
.bfo-qr-footer .bfo-qr-footer__socials .wp-social-link{ width:38px; height:38px; border-radius:12px; background:#F2A01F !important; color:#033B5A !important; }
.bfo-qr-footer .bfo-qr-footer__socials .wp-social-link a{ display:grid; place-items:center; width:100%; height:100%; padding:0 !important; color:#033B5A !important; }
.bfo-qr-footer .bfo-qr-footer__socials svg{ width:19px; height:19px; fill:#033B5A !important; }
@media (min-width:768px){
  .bfo-qr-footer{ padding:48px 24px 44px; }
  .bfo-qr-footer .bfo-qr-footer__inner{ padding-top:0; border-top:0; }
  .bfo-qr-footer .bfo-qr-footer__logo img{ width:190px; }
}

/* v0.28.17 — Start, last CTA ("Explore the full site"): white text on phones (navy background),
   navy text on desktop (light card). Held with !important so saved page styles can't flip it. */
@media (max-width:767px){
  .bfo-sec.bfo-qr-close .bfo-qr-close__card .wp-block-heading{ color:#fff !important; }
  .bfo-sec.bfo-qr-close .bfo-qr-close__card p:not(.bfo-eyebrow){ color:rgba(255,255,255,.88) !important; }
  .bfo-sec.bfo-qr-close .bfo-qr-close__card .wp-block-buttons.bfo-cta .wp-block-button__link{ color:#fff !important; }
}
@media (min-width:768px){
  .bfo-sec.bfo-qr-close .bfo-qr-close__card .wp-block-heading{ color:var(--bfo-navy) !important; }
  .bfo-sec.bfo-qr-close .bfo-qr-close__card p:not(.bfo-eyebrow){ color:var(--bfo-muted) !important; }
  .bfo-sec.bfo-qr-close .bfo-qr-close__card .wp-block-buttons.bfo-cta .wp-block-button__link{ color:var(--bfo-navy) !important; }
}

/* v0.28.20 — Start footer socials match the main site footer: plain amber icons, LinkedIn added (Kyle, 12 Oct). */
.bfo-qr-footer .bfo-qr-footer__socials{ gap:16px !important; justify-content:center !important; }
.bfo-qr-footer .bfo-qr-footer__socials .wp-social-link{ width:auto; height:auto; border-radius:0; background:transparent !important; color:#F2A01F !important; }
.bfo-qr-footer .bfo-qr-footer__socials .wp-social-link a{ display:inline-flex; width:auto; height:auto; padding:0 !important; color:#F2A01F !important; }
.bfo-qr-footer .bfo-qr-footer__socials svg{ width:22px; height:22px; fill:#F2A01F !important; }
