/* blog-article-v2.css — the standard 2-column article layout used by every /blog-new/<post>/ page.
   Loaded after blog-article.css; everything is scoped to .bn-article--v2.
   Left = one sticky column (On this page, Share, $50 booking box). Right = the article, clean. FAQs in their own section after the article.
   Two CTA banners inside the article (copy per post: content/blog-ctas.json). Built by build/build_blog_articles.py. */

/* ---------- Layout ---------- */
/* sidebar left edge and article right edge line up with the featured image (same 1140px container) */
.bn-article--v2 .bn-afig{max-width:1140px}
.bn-article--v2 .bn-alayout--2col{grid-template-columns:280px minmax(0,1fr);gap:56px;justify-content:stretch;max-width:1140px;padding-top:56px;padding-bottom:56px}
.bn-article--v2 .bn-aside-l{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - 48px)}
.bn-article--v2 .bn-aside-l .bn-toc{flex:0 1 auto;min-height:0;padding:20px 18px 14px;border:1px solid var(--bn-line);border-radius:18px;background:#fff}
.bn-article--v2 .bn-aside-l .bn-book{flex:none}

/* compact booking box for the sidebar */
.bn-article--v2 .bn-book{padding:20px 20px 18px;border-radius:20px;box-shadow:0 12px 28px rgba(6,28,61,.18)}
.bn-article--v2 .bn-book__img{display:none}
.bn-article--v2 .bn-book__k{font-size:18px}
.bn-article--v2 .bn-book__s{font-size:14px}
.bn-article--v2 .bn-book__p{font-size:40px;margin:4px 0 14px!important}
.bn-article--v2 .bn-book__btn{padding:11px 14px;font-size:13px;margin-bottom:8px}
.bn-article--v2 .bn-book__or{margin:4px 0!important}
.bn-article--v2 .bn-book__addr{font-size:13px;margin-bottom:8px!important}
.bn-article--v2 .bn-book__dir{font-size:12px}
@media (max-height:960px){
  .bn-article--v2 .bn-book__or,.bn-article--v2 .bn-book__addr,.bn-article--v2 .bn-book__dir{display:none}
}

/* ---------- Clean article ---------- */
.bn-article--v2 .bn-abody{min-width:0}
.bn-article--v2 .bn-prose{font-size:18px;line-height:1.75;color:#1F2937;-webkit-font-smoothing:antialiased}
.bn-article--v2 .bn-prose p{margin:0 0 1.15em}
.bn-article--v2 .bn-prose ul{margin-bottom:1.3em}
.bn-article--v2 .bn-prose li{margin-bottom:.45em}
.bn-article--v2 .bn-prose h2{color:#0F172A}

/* clearer table of contents */
.bn-article--v2 .bn-toc ol{scrollbar-width:thin;scrollbar-color:#C9D9EE transparent}
.bn-article--v2 .bn-toc ol::-webkit-scrollbar{width:4px}
.bn-article--v2 .bn-toc ol::-webkit-scrollbar-thumb{background:#C9D9EE;border-radius:4px}
.bn-article--v2 .bn-toc ol::-webkit-scrollbar-button{display:none}
.bn .bn-article--v2 .bn-toc a,.bn-article--v2 .bn-toc a{padding:6px 0 6px 14px;font-size:14px;line-height:1.45;color:#475467}
.bn-article--v2 .bn-toc a:hover{color:var(--bn-navy)}
.bn-article--v2 .bn-toc a.is-active{color:var(--bn-navy)}

/* ---------- In-article CTA banners ---------- */
.bn-article--v2 .bn-cta{display:flex;align-items:center;gap:20px;margin:2.2em 0;padding:22px 24px;border-radius:18px;font-family:var(--bn-body)}
.bn-article--v2 .bn-cta p{margin:0;line-height:1.5}
.bn-article--v2 .bn-cta__body{flex:1;min-width:0}
.bn-article--v2 .bn-cta__t{font:900 20px/1.3 var(--bn-head)!important;color:var(--bn-ink)}
.bn-article--v2 .bn-cta__d{margin-top:4px!important;font-size:15.5px;color:#475467}
.bn-article--v2 .bn-cta__acts{display:flex;flex-wrap:wrap;gap:10px}
.bn-article--v2 .bn-prose a.bn-cta__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;
  background:var(--bn-navy);border:2px solid var(--bn-navy);color:#fff;font:700 14px/1 var(--bn-head);letter-spacing:.02em;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.bn-article--v2 .bn-prose a.bn-cta__btn:hover{background:#0B2C5C;border-color:#0B2C5C;color:#fff;transform:translateY(-1px)}
.bn-article--v2 .bn-prose a.bn-cta__btn--line{background:#fff;color:var(--bn-navy)}
.bn-article--v2 .bn-prose a.bn-cta__btn--line:hover{background:var(--bn-navy);color:#fff}
/* 1 — soft (benefits check) */
.bn-article--v2 .bn-cta--soft{background:#EEF4FF;border:1px solid #D7E4F7}
.bn-article--v2 .bn-cta__icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;color:var(--bn-navy);box-shadow:var(--bn-shadow)}
.bn-article--v2 .bn-cta--soft .bn-cta__acts{flex:none;flex-direction:column}
/* 2 — offer ($50 exam & X-ray), home-banner blue */
.bn-article--v2 .bn-cta--offer{position:relative;overflow:hidden;gap:24px;padding:28px 32px;background:#0047A3;color:#fff;box-shadow:0 18px 40px rgba(0,71,163,.25)}
.bn-article--v2 .bn-cta--offer::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.bn-article--v2 .bn-cta__img{flex:none;width:120px;height:auto;border-radius:0!important}
.bn-article--v2 .bn-cta__k{font:700 12px/1 var(--bn-head)!important;letter-spacing:.12em;text-transform:uppercase;color:#D2E3F1;margin-bottom:8px!important}
.bn-article--v2 .bn-cta--offer .bn-cta__t{font-size:26px!important;color:#fff}
.bn-article--v2 .bn-cta--offer .bn-cta__t span{color:#FFD24D}
.bn-article--v2 .bn-cta--offer .bn-cta__d{color:rgba(255,255,255,.88);margin:6px 0 16px!important}
.bn-article--v2 .bn-cta--offer .bn-cta__d strong{color:#fff}
.bn-article--v2 .bn-prose a.bn-cta__btn--red{background:var(--bn-red);border-color:var(--bn-red)}
.bn-article--v2 .bn-prose a.bn-cta__btn--red:hover{background:#C9232C;border-color:#C9232C}
.bn-article--v2 .bn-prose a.bn-cta__btn--ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35)}
.bn-article--v2 .bn-prose a.bn-cta__btn--ghost:hover{background:#fff;border-color:#fff;color:var(--bn-navy)}
@media (max-width:767px){
  .bn-article--v2 .bn-cta{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}
  .bn-article--v2 .bn-cta--soft .bn-cta__acts{flex-direction:row}
  .bn-article--v2 .bn-cta--offer{padding:24px 20px}
  .bn-article--v2 .bn-cta__img{width:90px}
  .bn-article--v2 .bn-cta--offer .bn-cta__t{font-size:22px!important}
  .bn-article--v2 .bn-cta__t{font-size:18px!important}
}
.bn-article--v2 .bn-prose h2{margin:1.9em 0 .6em;font-size:clamp(24px,2.4vw,28px);padding-top:0}
.bn-article--v2 .bn-prose h2::before{display:none}
.bn-article--v2 .bn-prose ul>li::before{width:7px;height:7px;top:.78em;left:8px;box-shadow:none;background:#000}
.bn-article--v2 .bn-prose li{padding-left:26px}
.bn-article--v2 .bn-prose .bn-table{box-shadow:none;border-radius:12px}
.bn-article--v2 .bn-prose table:not(:has(thead)) tr:first-child td{background:var(--bn-ice);color:var(--bn-ink)}
.bn-article--v2 .bn-afoot{margin-top:32px}

/* ---------- FAQ section ---------- */
.bn-faq{background:var(--bn-ice);padding:64px 0}
.bn-faq__in{max-width:900px}
.bn-faq .bn-sec-title{margin:0 0 24px;scroll-margin-top:24px}
.bn-faq__list{display:flex;flex-direction:column;gap:12px}
.bn-faq__item{background:#fff;border:1px solid var(--bn-line);border-radius:16px;transition:border-color .2s,box-shadow .2s}
.bn-faq__item[open]{border-color:#C9D9EE;box-shadow:var(--bn-shadow)}
.bn-faq__item summary{display:flex;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}
.bn-faq__item summary::-webkit-details-marker{display:none}
.bn-faq__item summary:focus-visible{outline:3px solid var(--bn-blue);outline-offset:2px;border-radius:16px}
.bn .bn-faq__q{flex:1;margin:0;font:700 18px/1.4 var(--bn-head);color:var(--bn-ink)}
.bn-faq__icon{flex:none;position:relative;width:32px;height:32px;border-radius:50%;background:var(--bn-ice);transition:background .2s,transform .25s}
.bn-faq__icon::before,.bn-faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--bn-navy);transition:transform .25s}
.bn-faq__icon::after{transform:rotate(90deg)}
.bn-faq__item[open] .bn-faq__icon{background:var(--bn-navy)}
.bn-faq__item[open] .bn-faq__icon::before{background:#fff}
.bn-faq__item[open] .bn-faq__icon::after{transform:rotate(0);background:#fff}
.bn-faq__a{padding:0 22px 20px;font:400 16px/1.7 var(--bn-body);color:#3B4656}
.bn .bn-faq__a p{margin:0}

/* ---------- Responsive ---------- */
@media (max-width:1279px){
  .bn-article--v2 .bn-alayout--2col{grid-template-columns:250px minmax(0,1fr);gap:40px;max-width:1140px}
  .bn-article--v2 .bn-aside-l{display:flex}
  .bn-article--v2 .bn-toc-m{display:none}
}
@media (max-width:1023px){
  .bn-article--v2 .bn-alayout--2col{grid-template-columns:minmax(0,1fr);max-width:760px;padding-top:40px;gap:32px}
  .bn-article--v2 .bn-afig{max-width:760px}
  .bn-article--v2 .bn-aside-l{position:static;max-height:none;order:2}
  .bn-article--v2 .bn-aside-l .bn-toc,.bn-article--v2 .bn-aside-l .bn-aside-l__share{display:none}
  .bn-article--v2 .bn-toc-m{display:block}
  .bn-article--v2 .bn-book__or,.bn-article--v2 .bn-book__addr,.bn-article--v2 .bn-book__dir{display:revert}
  .bn-article--v2 .bn-book__or{display:block}
  .bn-faq{padding:48px 0}
}
@media (max-width:767px){
  .bn-article--v2 .bn-prose{font-size:17px}
  .bn-faq{padding:40px 0}
  .bn-faq__item summary{padding:16px 16px}
  .bn .bn-faq__q{font-size:17px!important} /* site rule ".post-p h1, h2, h3…" forces 22px !important on phones */
  .bn-faq__a{padding:0 16px 16px;font-size:15px}
}
@media print{.bn-faq__item{border:0}.bn-faq__item:not([open]) .bn-faq__a{display:block}}

/* ---------- Typography (this page): Manrope headings + Inter body — both already self-hosted in fonts-a.css ---------- */
.bn.bn-article--v2{--bn-head:"Manrope",system-ui,sans-serif;--bn-body:"Inter",system-ui,sans-serif;font-family:var(--bn-body)}
.bn-article--v2 .bn-ahero__title{font-family:var(--bn-head)!important;font-weight:800!important;letter-spacing:-.02em}
.bn-article--v2 .bn-prose{font-family:var(--bn-body);font-size:17.5px;line-height:1.78;color:#1F2937;font-feature-settings:"cv11","ss01"}
.bn-article--v2 .bn-prose h2,.bn-article--v2 .bn-prose h3,.bn-article--v2 .bn-faq__q,.bn-article--v2 .bn-sec-title,
.bn-article--v2 .bn-cta__t,.bn-article--v2 .bn-toc__h,.bn-article--v2 .bn-book__k,.bn-article--v2 .bn-book__p,
.bn-article--v2 .bn-card__title,.bn-article--v2 .bn-pn__t,.bn-article--v2 .bn-author__n{font-family:var(--bn-head)!important}
.bn-article--v2 .bn-prose h2{font-weight:800;letter-spacing:-.015em;line-height:1.28}
.bn-article--v2 .bn-cta__t,.bn-article--v2 .bn-sec-title{font-weight:800!important;letter-spacing:-.01em}
.bn-article--v2 .bn-faq__q{font-weight:700!important}
.bn-article--v2 .bn-prose table{font-family:var(--bn-body)}

/* ---------- Intro: lead paragraph + "This guide explains" card ---------- */
.bn-article--v2 .bn-prose p.bn-intro{margin:0 0 28px;font-size:20px;line-height:1.7;font-weight:500;color:#111827;letter-spacing:-.005em}
.bn-article--v2 .bn-guide{margin:0 0 8px;padding:24px 28px 18px;border-radius:18px;background:linear-gradient(135deg,#EEF4FF,#F7FAFF);border:1px solid #D7E4F7;border-left:4px solid #0047A3}
.bn-article--v2 .bn-prose p.bn-guide__h{margin:0 0 12px;font:800 13px/1 var(--bn-head);letter-spacing:.12em;text-transform:uppercase;color:#0047A3}
.bn-article--v2 .bn-guide ul{margin:0!important;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.bn-article--v2 .bn-prose .bn-guide li{margin:0;padding:6px 0 6px 32px;font-size:16px;line-height:1.5;font-weight:500;color:#1F2937}
.bn-article--v2 .bn-prose .bn-guide ul>li::before{left:0;top:7px;width:20px;height:20px;border-radius:50%;box-shadow:none;
  background:#0047A3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/14px}
@media (max-width:767px){
  .bn-article--v2 .bn-prose p.bn-intro{font-size:18px}
  .bn-article--v2 .bn-guide{padding:20px 18px 14px}
  .bn-article--v2 .bn-guide ul{grid-template-columns:1fr}
}
/* the site's ".post-p h1, h2, h3…{margin:10px 0 !important}" rule hits every heading on the page — restore real spacing here */
.bn-article--v2 .bn-prose h2{margin:48px 0 14px!important}
.bn-article--v2 .bn-prose h3{margin:32px 0 10px!important}
.bn-article--v2 .bn-prose > h2:first-child{margin-top:0!important}
.bn-article--v2 .bn-faq__q{margin:0!important}
.bn-article--v2 .bn-faq .bn-sec-title{margin:0 0 24px!important}

/* ---------- Compact split hero: text left, featured image right (no overlapping image band) ---------- */
.bn-article--v2 .bn-ahero--split{background:#0047A3;padding:40px 0 48px}
.bn-article--v2 .bn-ahero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:56px;align-items:center;max-width:1140px}
.bn-article--v2 .bn-ahero--split .bn-ahero__in{max-width:none;text-align:left;margin:0}
.bn-article--v2 .bn-ahero--split .bn-crumbs{justify-content:flex-start;margin-bottom:16px}
.bn-article--v2 .bn-ahero--split .bn-pill{margin-bottom:14px}
.bn-article--v2 .bn-ahero--split .bn-ahero__title{margin:0 0 14px!important;max-width:none;font-size:clamp(30px,3.3vw,44px)!important;line-height:1.12!important}
.bn-article--v2 .bn-ahero--split .bn-ahero__dek{margin:0 0 22px;max-width:560px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.88)}
.bn-article--v2 .bn-ahero--split .bn-byline{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.bn-article--v2 .bn-ahero--split .bn-afig{margin:0;padding:0;max-width:none}
.bn-article--v2 .bn-ahero--split .bn-afig img{border-radius:20px;box-shadow:0 20px 44px rgba(0,20,60,.35);border:4px solid rgba(255,255,255,.14)}
.bn-article--v2 .bn-alayout--2col{padding-top:48px}
@media (max-width:1023px){
  .bn-article--v2 .bn-ahero__grid{grid-template-columns:1fr;gap:28px;max-width:760px}
  .bn-article--v2 .bn-ahero--split .bn-afig{max-width:none}
}
@media (max-width:767px){
  .bn-article--v2 .bn-ahero--split{padding:24px 0 32px}
  .bn-article--v2 .bn-ahero--split .bn-ahero__dek{display:none}
  .bn-article--v2 .bn-ahero--split .bn-afig img{border-radius:14px;border-width:3px}
  .bn-article--v2 .bn-alayout--2col{padding-top:32px}
}

/* ---------- Standard-layout extras (all articles) ---------- */
@media (max-width:767px){.bn-article--v2 .bn-ahero .bn-byline{display:none!important}}
/* posts without a featured image: single-column hero */
.bn-article--v2 .bn-ahero--noimg .bn-ahero__grid{grid-template-columns:minmax(0,1fr)}
.bn-article--v2 .bn-ahero--noimg .bn-ahero__in{max-width:820px}
/* FAQ answers can hold several paragraphs and lists */
.bn .bn-faq__a p + p,.bn .bn-faq__a p + ul,.bn .bn-faq__a p + ol,.bn .bn-faq__a ul + p,.bn .bn-faq__a ol + p{margin-top:.75em}
.bn .bn-faq__a ul,.bn .bn-faq__a ol{margin:.5em 0 0;padding-left:1.3em}
.bn .bn-faq__a ul{list-style:disc}
.bn .bn-faq__a ol{list-style:decimal}
.bn .bn-faq__a li{margin:.25em 0;padding:0}
.bn .bn-faq__a li::before{content:none}
.bn .bn-faq__a a{color:var(--bn-navy);text-decoration:underline}
.bn-faq__lead{margin:-8px 0 20px;font:400 16px/1.7 var(--bn-body);color:#3B4656}
.bn .bn-faq__lead p{margin:0 0 .75em}
/* one-cell "box" tables used as intro boxes in some posts: no horizontal scroll on phones */
.bn-article--v2 .bn-prose table:has(> tbody > tr:only-child > td:only-child){min-width:0}
