/* Brooke Vitale — Ghost theme. Tokens mirror the "Brooke Vitale Brand" design system. */
:root {
  --turquoise: #4dd0e1;
  --turquoise-light: #a5ffff;
  --turquoise-dark: #009faf;
  --on-turquoise: #363739;
  --charcoal: #363739;
  --ink-strong: rgba(0, 0, 0, 0.87);
  --ink-soft: rgba(54, 55, 57, 0.7);
  --slate: #7e838d;
  --slate-blue: #3c4858;
  --breadcrumb: #292a2b;
  --surface: #ffffff;
  --surface-sidebar: rgba(245, 245, 245, 0.8);
  --surface-alt: #f9f9f9;
  --star: #ffb400;
  --facebook: #3b5998;
  --youtube: #e52d27;
  --instagram: #125688;
  --twitter: #55acee;
  --sidebar-width: 300px;
  --avatar-size: 130px;
  --radius-pill: 30px;
  --font: var(--gh-font-body, Lato), Roboto, sans-serif;
  --font-heading: var(--gh-font-heading, Lato), Roboto, sans-serif;
  --shadow-avatar: 0 16px 38px -12px rgba(0,0,0,.56), 0 4px 25px 0 rgba(0,0,0,.12), 0 8px 10px -5px rgba(0,0,0,.2);
  --shadow-raised: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12);
  --gutter: clamp(16px, 4vw, 48px);
  --measure: 760px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--surface); color: var(--charcoal); font: 400 16px/1.75 var(--font); }
img { max-width: 100%; height: auto; }
a { color: var(--charcoal); }
a:hover { color: var(--turquoise-dark); }
:focus-visible { outline: 3px solid var(--charcoal); outline-offset: 2px; }
.bv-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Shell ---------- */
.bv-shell { min-height: 100vh; }
.bv-sidebar { background: var(--surface-sidebar); text-align: center; }
.bv-main { display: flex; flex-direction: column; min-height: 100vh; min-width: 0; }
.bv-content { flex: 1; min-width: 0; }

@media (min-width: 900px) {
  .bv-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); overflow-y: auto; padding-block: 30px; }
  .bv-main { margin-left: var(--sidebar-width); }
  .bv-menu-toggle { display: none; }
}

/* ---------- Sidebar ---------- */
.bv-sidebar__top { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-inline: 16px; }
.bv-avatar img { display: block; width: var(--avatar-size); height: var(--avatar-size); border-radius: 50%; object-fit: cover; box-shadow: var(--shadow-avatar);  object-position: 50% 8%; }
.bv-tagline { margin: 0; font: 700 17px/26.35px var(--font); color: var(--slate-blue); }
.bv-sidebar__panel { padding: 18px 16px 8px; }
.bv-social { list-style: none; display: flex; justify-content: center; gap: 22px; margin: 0 0 22px; padding: 0; }
.bv-social a { display: block; width: 32px; height: 32px; }
.bv-social svg { width: 100%; height: 100%; fill: currentColor; }
.bv-social__fb { color: var(--facebook); }
.bv-social__yt { color: var(--youtube); }
.bv-social__ig { color: var(--instagram); }
.bv-social__tw { color: var(--twitter); }
.bv-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.bv-nav a { display: block; padding: 10px 12px; text-decoration: none; font: 400 17px/24.65px var(--font); color: var(--charcoal); }
.bv-nav a:hover, .bv-nav .nav-current a { color: var(--breadcrumb); text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 899px) {
  .bv-sidebar { position: sticky; top: 0; z-index: 10; background: #f7f7f7; box-shadow: 0 1px 0 rgba(0,0,0,.08); }
  .bv-sidebar__top { flex-direction: row; justify-content: flex-start; gap: 12px; padding: 10px 16px; }
  .bv-avatar img { width: 48px; height: 48px; box-shadow: none; }
  .bv-tagline { font-size: 15px; line-height: 20px; text-align: left; flex: 1; }
  .bv-menu-toggle { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; }
  .bv-menu-toggle__bars, .bv-menu-toggle__bars::before, .bv-menu-toggle__bars::after { display: block; width: 22px; height: 2px; background: var(--charcoal); position: relative; content: ""; }
  .bv-menu-toggle__bars::before { position: absolute; top: -7px; }
  .bv-menu-toggle__bars::after { position: absolute; top: 7px; }
  .bv-sidebar__panel { display: none; border-top: 1px solid rgba(0,0,0,.08); }
  .bv-sidebar.is-open .bv-sidebar__panel { display: block; }
}

/* ---------- Type ---------- */
.bv-page-title { margin: 0; font: 500 44px/50.6px var(--font); color: var(--slate); text-align: center; text-wrap: balance; }
.bv-lead, .bv-lead-heading { font: 400 20.08px/31.124px var(--font); color: var(--charcoal); text-align: center; max-width: 720px; margin: 24px auto 0; text-wrap: balance; }
.bv-lead-heading { font-size: 25px; line-height: 35px; font-weight: 500; }
@media (max-width: 600px) { .bv-page-title { font-size: 32px; line-height: 40px; } }

.gh-content > * + * { margin-top: 1.1em; }
.gh-content h2 { font: 500 36px/54px var(--font); margin: 1.4em 0 .4em; text-wrap: balance; }
.gh-content h3 { font: 500 25px/35px var(--font); margin: 1.4em 0 .3em; text-wrap: balance; }
.gh-content h4 { font: 700 18px/1.5 var(--font); margin: 1.2em 0 .2em; }
.gh-content p, .gh-content li { font-size: 16px; line-height: 28px; }
.gh-content blockquote { margin: 1.5em 0; padding: 0 0 0 20px; border-left: 3px solid var(--turquoise); font-style: italic; }
.gh-content figure { margin: 1.6em 0; }
.gh-content figcaption { font-size: 14px; line-height: 20px; color: var(--ink-soft); text-align: center; margin-top: 8px; }
.gh-content table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; }
.gh-content th, .gh-content td { border: 1px solid #e0e0e0; padding: 8px 10px; text-align: left; vertical-align: top; }
.gh-content hr { border: 0; border-top: 1px solid #e0e0e0; margin: 2em 0; }
@media (max-width: 600px) { .gh-content h2 { font-size: 28px; line-height: 38px; } .gh-content h3 { font-size: 22px; line-height: 30px; } }

.bv-prose { max-width: var(--measure); margin-inline: auto; }
.bv-center { text-align: center; }

/* Ghost card widths */
.kg-width-wide { margin-inline: calc(50% - min(50vw - var(--sidebar-width) / 2, 560px)); }
.kg-width-full { margin-inline: calc(50% - 50vw + var(--sidebar-width) / 2); }
@media (max-width: 899px) { .kg-width-wide, .kg-width-full { margin-inline: calc(-1 * var(--gutter)); } }
.kg-image { margin-inline: auto; }

/* ---------- Buttons ---------- */
.bv-btn, .gh-content .kg-btn, .kg-product-card .kg-product-card-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 41px;
  border: 0; border-radius: var(--radius-pill); padding: 12px 30px;
  background: var(--turquoise); color: var(--on-turquoise) !important; text-decoration: none; text-transform: uppercase;
  font: 400 12px/17px var(--font); cursor: pointer; box-shadow: none;
}
.bv-btn:hover, .gh-content .kg-btn:hover, .kg-product-card .kg-product-card-button:hover { background: var(--turquoise-light); color: var(--charcoal) !important; }
.bv-btn svg { width: 16px; height: 16px; fill: currentColor; }
.gh-content .kg-button-card { margin-block: 1.4em; }

/* ---------- Pages ---------- */
.bv-page, .bv-article, .bv-list { padding: 60px var(--gutter) 70px; }
.bv-page__head { margin-bottom: 40px; }

/* Home */
.bv-home { padding: 0; }
.bv-hero { background: var(--charcoal); color: #fff; padding: 70px var(--gutter) 60px; }
.bv-hero__inner { max-width: 560px; }
.bv-hero__title { margin: 0 0 30px; font: 700 44px/66px var(--font); color: #fff; text-wrap: balance; }
.bv-hero__text p { color: #fff; }
.bv-hero__text a { color: var(--turquoise-light); }
.bv-hero__text a:hover { color: #fff; }
@media (max-width: 600px) { .bv-hero__title { font-size: 34px; line-height: 44px; } }
.bv-home__rest { max-width: none; padding: 20px 0 60px; }
.bv-home__rest > * { max-width: var(--measure); margin-inline: auto; padding-inline: var(--gutter); }
.bv-home__rest > h2 {
  max-width: none; margin: 60px 0 30px; padding: 22px var(--gutter);
  background: linear-gradient(to right, var(--turquoise), var(--turquoise-light));
  text-align: center; color: var(--charcoal);
}
.bv-home__rest > h3 { text-align: center; }

/* Stats and testimonial (HTML cards on Home and Developmental Editor) */
.bv-stats-title { text-align: center; }
.bv-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 24px; text-align: center; margin: 30px auto; }
.bv-stat__num { display: block; font: 500 36px/54px var(--font); color: var(--charcoal); }
.bv-stat__label { display: block; font: 400 14px/20px var(--font); color: var(--ink-soft); }
.bv-testimonial { position: relative; max-width: 620px; margin: 30px auto; padding: 24px 56px 24px 0; }
.bv-testimonial__name { font-weight: 500; margin: 0; }
.bv-testimonial__stars { color: var(--star); letter-spacing: 2px; font-size: 20px; line-height: 1; margin: 6px 0 12px; }
.bv-testimonial__quote { position: absolute; top: 16px; right: 0; width: 40px; height: 40px; fill: var(--turquoise); }
.bv-testimonial p { margin: 0; }
.bv-testimonial__meta { color: var(--ink-soft); font-size: 14px; line-height: 20px; margin-top: 10px !important; }

/* Product cards (Charge Mommy Books blurbs) */
.gh-content .kg-product-card { max-width: var(--measure); margin-inline: auto; }
.kg-product-card .kg-product-card-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; background: none; border: 0; box-shadow: none; padding: 0; max-width: none; }
.kg-product-card .kg-product-card-image { grid-row: 1 / span 4; }
.kg-product-card .kg-product-card-title { font: 500 30px/40px var(--font); color: var(--slate); }
.kg-product-card .kg-product-card-description p { color: var(--ink-soft); font-size: 15px; line-height: 26px; }
@media (max-width: 700px) { .kg-product-card .kg-product-card-container { grid-template-columns: 1fr; } .kg-product-card .kg-product-card-image { grid-row: auto; } }

/* Editorial services grid (built by site.js from h3 groups) */
.bv-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px 60px; margin: 40px 0; max-width: 1100px; }
.page-editorial-services .bv-prose { max-width: 1100px; }
.bv-service h3 { margin-top: 0; }
.bv-service h3 a { text-decoration: underline; }
.bv-service > p:first-of-type em, .bv-price { font: italic 500 17px/24.65px var(--font); color: var(--ink-strong); }
.bv-service p { font-size: 15px; }
.bv-closing { text-align: center; font: 400 20.08px/31.124px var(--font); max-width: 720px; margin: 40px auto 0; }

/* Testimonials page */
.page-editorial-testimonials .gh-content h3 { margin-top: 2em; }

/* ---------- Article ---------- */
.bv-crumbs { font-size: 14px; color: var(--slate); text-align: center; margin-bottom: 24px; }
.bv-crumbs a { color: var(--slate); }
.bv-article__head { text-align: center; margin-bottom: 28px; }
.bv-article__date { display: block; margin-top: 12px; font-size: 14px; color: var(--ink-soft); }
.bv-article__img { max-width: var(--measure); margin: 0 auto 32px; }
.bv-article__img img { display: block; width: 100%; }
.bv-toc { max-width: var(--measure); margin: 0 auto 36px; background: var(--surface-alt); padding: 20px 28px; }
.bv-toc h3 { margin: 0 0 8px; font: 500 25px/35px var(--font); }
.bv-toc ul { margin: 0; padding-left: 20px; }
.bv-toc li { font-size: 15px; line-height: 26px; }
.bv-toc li.bv-toc__sub { margin-left: 18px; list-style: circle; }

/* ---------- Article list ---------- */
.bv-list__head { max-width: 920px; margin: 0 auto 50px; text-align: center; }
.bv-list__head .bv-page-title { font-weight: 700; }
.bv-list__intro { margin-top: 12px; color: var(--charcoal); }
.bv-clamp { position: relative; max-height: 60px; overflow: hidden; }
.bv-clamp.is-open { max-height: none; }
.bv-clamp-toggle { display: block; margin: 8px auto 0; background: none; border: 0; color: var(--charcoal); text-decoration: underline; text-transform: uppercase; font: 400 13px/20px var(--font); cursor: pointer; }
.bv-list__items { display: grid; gap: 56px; max-width: 1040px; margin-inline: auto; }
.bv-card { display: grid; grid-template-columns: minmax(0, 350px) minmax(0, 1fr); gap: 40px; align-items: center; }
.bv-card__img img { display: block; width: 100%; aspect-ratio: 350 / 262; object-fit: cover; }
.bv-card__body { display: grid; gap: 10px; justify-items: start; }
.bv-card__date { font-size: 14px; color: var(--charcoal); }
.bv-card__title { margin: 0; font: 400 20px/28px var(--font); }
.bv-card__title a { color: var(--slate); text-decoration: none; }
.bv-card__title a:hover { text-decoration: underline; }
.bv-card__excerpt { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 24px; }
@media (max-width: 700px) { .bv-card { grid-template-columns: 1fr; gap: 16px; } }
.pagination { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 60px; font-size: 14px; }

/* ---------- Portfolio ---------- */
.bv-tabs { display: flex; justify-content: center; gap: 8px; margin: 30px 0; flex-wrap: wrap; }
.bv-tabs button { border: 0; background: none; padding: 10px 18px; font: 500 14px/20px var(--font); text-transform: uppercase; color: var(--charcoal); cursor: pointer; border-bottom: 2px solid transparent; }
.bv-tabs button[aria-selected="true"] { border-bottom-color: var(--turquoise); }
.bv-books { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 36px 28px; max-width: 1100px; margin-inline: auto; }
.bv-book { display: grid; gap: 6px; align-content: start; font-size: 14px; line-height: 20px; }
.bv-book img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; background: var(--surface-alt); box-shadow: var(--shadow-raised); margin-bottom: 8px; }
.bv-book__title { font: 700 17px/24.65px var(--font); color: var(--ink-strong); margin: 0; }
.bv-book p { margin: 0; color: var(--ink-soft); }
.bv-book a { font-size: 14px; }
.bv-books__more { text-align: center; margin-top: 40px; }

/* ---------- Footer ---------- */
.bv-footer { background: #f5f5f5; padding: 16px var(--gutter); font-size: 13px; line-height: 20px; }
.bv-footer__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; }
.bv-footer p { margin: 4px 0; }
.bv-footer__social { display: flex; align-items: center; gap: 10px; }
.bv-footer .bv-social { margin: 0; gap: 10px; }
.bv-footer .bv-social a { width: 18px; height: 18px; }

/* ---------- Embeds ---------- */
.bv-form-embed iframe { width: 100%; border: 0; min-height: 600px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ---------- Fixes after first preview ---------- */
.bv-home .bv-home__rest > h3 { text-align: center; font-size: 30px; line-height: 40px; }
.bv-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 600px) { .bv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bv-home__rest > .bv-testimonial, .bv-prose > .bv-testimonial { padding: 24px 56px 24px var(--gutter); }
.bv-prose > .bv-testimonial { padding-left: 0; }
@media (max-width: 899px) { .bv-prose > .bv-testimonial { padding-right: 48px; } }
.bv-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .bv-services { grid-template-columns: 1fr; } }

/* Product cards: image beside text, our type and buttons */
.gh-content .kg-product-card .kg-product-card-container { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 36px; row-gap: 12px; align-items: start; background: none; border: 0; box-shadow: none; padding: 0; max-width: none; width: 100%; font-family: var(--font); }
.gh-content .kg-product-card .kg-product-card-image { grid-column: 1; grid-row: 1 / span 3; width: 100%; height: auto; margin: 0; border-radius: 0; }
.gh-content .kg-product-card .kg-product-card-title-container { grid-column: 2; }
.gh-content .kg-product-card .kg-product-card-title { font: 500 30px/40px var(--font); color: var(--slate); margin: 0; }
.gh-content .kg-product-card .kg-product-card-description { grid-column: 2; }
.gh-content .kg-product-card .kg-product-card-description p { font: 400 15px/26px var(--font); color: var(--ink-soft); margin: 0; opacity: 1; }
.gh-content .kg-product-card .kg-product-card-button { grid-column: 2; justify-self: start; width: auto; margin: 6px 0 0; height: auto; }
.gh-content .kg-product-card { margin-block: 48px; }
@media (max-width: 700px) {
  .gh-content .kg-product-card .kg-product-card-container { grid-template-columns: 1fr; }
  .gh-content .kg-product-card .kg-product-card-image, .gh-content .kg-product-card .kg-product-card-title-container,
  .gh-content .kg-product-card .kg-product-card-description, .gh-content .kg-product-card .kg-product-card-button { grid-column: 1; grid-row: auto; }
}
.gh-content .kg-button-card .kg-btn { font-weight: 400; font-family: var(--font); height: auto; }

/* Testimonials page: small round portraits */
.page-editorial-testimonials .gh-content figure { margin: 3em 0 1em; text-align: center; }
.page-editorial-testimonials .gh-content figure img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; box-shadow: var(--shadow-raised); }
.page-editorial-testimonials .gh-content h3 { margin-top: .6em; text-align: center; }
.page-editorial-testimonials .gh-content h3 + p { text-align: center; color: var(--ink-soft); }
.page-editorial-testimonials .gh-content figure + p { font-size: 17px; line-height: 30px; text-align: center; }

/* Rotating client reviews: all stacked in one grid cell so the box keeps the tallest review's height */
.bv-testimonials { display: grid; max-width: 620px; margin: 30px auto; padding-inline: var(--gutter); }
.bv-testimonials > .bv-testimonial { grid-area: 1 / 1; margin: 0; padding: 24px 56px 24px 0; }
.bv-testimonials.is-rotating > .bv-testimonial { opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility 0s linear .8s; }
.bv-testimonials.is-rotating > .bv-testimonial.is-active { opacity: 1; visibility: visible; transition: opacity .8s ease, visibility 0s; }
.bv-testimonials:not(.is-rotating) > .bv-testimonial:not(:first-child) { display: none; }
.bv-home__rest > .bv-testimonials { padding-inline: var(--gutter); }
.bv-prose > .bv-testimonials { padding-inline: 0; }
/* Home's content column is also .bv-prose; keep the phone gutter on the reviews box there */
.bv-home .bv-home__rest > .bv-testimonials, .bv-home .bv-home__rest > .bv-stats-block { padding-inline: var(--gutter); }

/* Back to top */
.bv-top { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 20; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--turquoise); color: var(--charcoal); box-shadow: var(--shadow-raised); cursor: pointer; display: grid; place-items: center; }
.bv-top[hidden] { display: none; }
.bv-top:hover { background: var(--turquoise-light); }
.bv-top svg { width: 24px; height: 24px; fill: currentColor; }

/* Share row */
.bv-share { max-width: var(--measure); margin: 48px auto 0; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; font-size: 15px; }
.bv-share a { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #fff; }
.bv-share svg { width: 16px; height: 16px; fill: currentColor; }
.bv-share__fb { background: var(--facebook); } .bv-share__tw { background: var(--twitter); color: var(--charcoal) !important; }
.bv-share__li { background: #0976b4; } .bv-share__em { background: var(--charcoal); }

/* Shared article footer and related articles */
.bv-post-footer { padding: 20px var(--gutter) 10px; }
.bv-post-footer > h2:first-child { text-align: center; }
.bv-post-footer > h3 { text-align: center; font-size: 30px; line-height: 40px; }
.bv-related { padding: 30px var(--gutter) 70px; max-width: 1100px; margin: 0 auto; }
.bv-related__title { text-align: center; font: 500 36px/54px var(--font); margin: 0 0 30px; }
.bv-related__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 32px; }
.bv-related__card { display: grid; gap: 8px; align-content: start; justify-items: start; }
.bv-related__card img { width: 100%; aspect-ratio: 350 / 262; object-fit: cover; display: block; }
.bv-related__card time { font-size: 13px; color: var(--ink-soft); }
.bv-related__card h3 { margin: 0; font: 400 18px/26px var(--font); }
.bv-related__card h3 a { color: var(--slate); text-decoration: none; }
.bv-related__card p { margin: 0; font-size: 14px; line-height: 22px; color: var(--ink-soft); }


/* ---------- About block on Home: Brooke's photo beside the client reviews ---------- */
.bv-home__rest > .bv-about { max-width: 900px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 40px; align-items: center; margin-block: 10px 20px; }
.bv-about__photo { width: 220px; height: 220px; border-radius: 50%; object-fit: cover; box-shadow: var(--shadow-avatar); }
.bv-about .bv-testimonial { margin-inline: 0; }
/* 1.0.9: centre the photo-plus-reviews block under the stats, and keep the showing review centred beside the photo
   (the rotator's height is set by the longest review, so short ones used to sit at the top with empty space below) */
.bv-home__rest > .bv-about { margin-inline: auto; padding-inline: var(--gutter); box-sizing: border-box; width: 100%; }
.bv-about__photo { justify-self: center; }
.bv-about .bv-testimonials { margin: 0; padding-inline: 0; max-width: 620px; }
.bv-about .bv-testimonials > .bv-testimonial { align-self: center; }
@media (max-width: 760px) {
  .bv-home__rest > .bv-about { grid-template-columns: 1fr; gap: 8px; justify-items: center; }
  .bv-about__photo { width: 180px; height: 180px; }
  .bv-about__reviews { width: 100%; }
}

/* ---------- Mobile contact bar (fixed to the bottom on phones and small tablets) ---------- */
.bv-mobilebar { display: none; }
@media (max-width: 899px) {
  .bv-mobilebar {
    position: fixed; inset: auto 0 0 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left));
    background: var(--turquoise); box-shadow: 0 -2px 8px rgba(0,0,0,.12);
  }
  .bv-mobilebar .bv-social { margin: 0; gap: 8px; justify-content: flex-start; }
  .bv-mobilebar .bv-social a { width: 40px; height: 40px; padding: 8px; border-radius: 8px; background: #fff; }
  .bv-mobilebar__cta {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: var(--radius-pill);
    background: var(--charcoal); color: #fff !important; text-decoration: none; font: 700 15px/1 var(--font); white-space: nowrap;
  }
  .page-contact .bv-mobilebar__cta { display: none; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .bv-top { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 360px) { .bv-mobilebar .bv-social a { width: 36px; height: 36px; padding: 7px; } .bv-mobilebar__cta { padding: 0 14px; } }

/* ---------- Free-quote popup ---------- */
.bv-pop { width: min(92vw, 420px); border: 0; border-radius: 16px; padding: 32px 28px 28px; text-align: center; color: var(--charcoal); background: var(--surface); box-shadow: var(--shadow-avatar); }
.bv-pop::backdrop { background: rgba(54, 55, 57, .55); }
.bv-pop__close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--charcoal); cursor: pointer; display: grid; place-items: center; }
.bv-pop__close:hover { background: #f0f0f0; }
.bv-pop__close svg { width: 22px; height: 22px; fill: currentColor; }
.bv-pop__photo { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; display: block; box-shadow: var(--shadow-raised); }
.bv-pop__title { margin: 0 0 8px; font: 700 24px/32px var(--font); text-wrap: balance; }
.bv-pop__text { margin: 0 0 20px; font-size: 17px; line-height: 26px; color: var(--ink-strong); }
.bv-pop__cta { min-height: 48px; padding-inline: 36px; font-size: 14px; }

/* Related-article card inside a post (from the old RelatedArticleCard) */
.gh-content .bv-inline-card { display: flex; align-items: stretch; gap: 0; margin: 36px 0; max-width: 680px; background: var(--surface); border: 1px solid #e4e7eb; border-radius: 10px; box-shadow: 0 10px 24px -12px rgba(54,55,57,.35), 0 2px 6px rgba(54,55,57,.08); overflow: hidden; color: var(--charcoal); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.gh-content .bv-inline-card:hover, .gh-content .bv-inline-card:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 30px -12px rgba(54,55,57,.45), 0 2px 6px rgba(54,55,57,.1); }
.gh-content .bv-inline-card:focus-visible { outline: 3px solid var(--turquoise-dark); outline-offset: 2px; }
.gh-content .bv-inline-card__img { flex: 0 0 190px; width: 190px; height: auto; min-height: 150px; margin: 0; object-fit: cover; border-radius: 0; }
.gh-content .bv-inline-card__body { display: flex; flex-direction: column; gap: 6px; padding: 18px 22px; min-width: 0; }
.gh-content .bv-inline-card__eyebrow { font: 700 12px/16px var(--font); letter-spacing: .12em; text-transform: uppercase; color: #00707f; }
.gh-content .bv-inline-card__title { font: 700 19px/26px var(--font-heading); color: var(--charcoal); }
.gh-content .bv-inline-card__desc { font-size: 15px; line-height: 23px; color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gh-content .bv-inline-card__more { margin-top: 4px; font: 700 14px/20px var(--font); color: var(--charcoal); text-decoration: underline; text-decoration-color: var(--charcoal); text-decoration-thickness: 1px; text-underline-offset: 4px; }
@media (max-width: 600px) {
  .gh-content .bv-inline-card { flex-direction: column; }
  .gh-content .bv-inline-card__img { flex: none; width: 100%; min-height: 0; aspect-ratio: 16 / 9; }
}
