/* groAML blog: index + article layout.
 *
 * Loaded only by blog templates (via base.html's head_extra block), on top of
 * app.css, whose tokens it reuses (--accent, --ink, --line, radii...). Every
 * class is prefixed "bl-" so nothing here can leak into the product UI.
 * No inline scripts anywhere: behaviour lives in static/js/blog.js and is
 * progressive enhancement -- every page reads fine with JS off.
 */

:root {
  --bl-max: 1160px;
  --bl-read: 720px;
  --bl-deep: #00313a;          /* hero band, darker than --accent */
  --bl-deep-2: #00515e;
  --bl-law: #00515e;
  --bl-law-soft: #e9f5f6;
  --bl-warn-soft: oklch(96% 0.045 75);
  --bl-warn-line: oklch(78% 0.11 70);
  --bl-tip-soft: oklch(96.5% 0.03 150);
  --bl-tip-line: oklch(72% 0.11 150);
}

/* ---------- shell ---------------------------------------------------- */
/* Blog pages use a plain div (not <main>) as their landmark so app.css's
   product-layout rules for <main> (padding, max-width, mobile tab bar
   offsets) never apply here. */
.bl-main { display: block; }
.bl-main [hidden], .bl-main[hidden] { display: none !important; }
.bl-wrap { max-width: var(--bl-max); margin: 0 auto; padding: 0 24px; }
.bl-skip { position: absolute; left: -9999px; top: 8px; background: var(--surface); padding: 8px 12px; border-radius: 8px; z-index: 100; }
.bl-skip:focus { left: 12px; }

.bl-top {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in oklch, var(--surface) 88%, transparent);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--line-soft);
}
.bl-top__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 64px; }
.bl-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.bl-brand img { height: 26px; }
.bl-brand__div { width: 1px; height: 22px; background: var(--line); }
.bl-brand__label { font-weight: 700; font-size: 14px; color: var(--ink-2); letter-spacing: .01em; }
.bl-nav { display: flex; align-items: center; gap: 22px; font-size: 14px; }
.bl-nav a { color: var(--ink-2); text-decoration: none; font-weight: 600; }
.bl-nav a:hover, .bl-nav a[aria-current="page"] { color: var(--accent); }
.bl-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: 999px; font-weight: 700; font-size: 14px;
  background: var(--accent); color: #fff !important; text-decoration: none; border: 0; cursor: pointer;
}
.bl-btn:hover { filter: brightness(1.12); }
.bl-btn--ghost { background: transparent; color: var(--accent) !important; box-shadow: inset 0 0 0 1.5px var(--accent); }
.bl-btn--light { background: #fff; color: var(--bl-deep) !important; }
@media (max-width: 720px) { .bl-nav .bl-hide-sm { display: none; } }

.bl-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--teal-on-dark); z-index: 60; transition: width .08s linear; }

/* ---------- index: hero ---------------------------------------------- */
.bl-hero {
  background:
    radial-gradient(1200px 400px at 85% -10%, rgba(78,204,211,.28), transparent 60%),
    radial-gradient(800px 300px at 0% 110%, rgba(78,204,211,.14), transparent 60%),
    linear-gradient(160deg, var(--bl-deep) 0%, var(--bl-deep-2) 100%);
  color: #e8f6f7;
  padding: 64px 0 56px;
}
.bl-hero .bl-eyebrow { color: var(--teal-on-dark); }
.bl-hero h1 { font-size: clamp(32px, 4.6vw, 52px); line-height: 1.06; letter-spacing: -0.025em; margin: 10px 0 14px; color: #fff; max-width: 780px; font-weight: 800; }
.bl-hero p.bl-lede { font-size: 18px; line-height: 1.6; max-width: 640px; color: #c8e7ea; margin: 0 0 28px; }
.bl-eyebrow { font-size: 12.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }

.bl-search { position: relative; max-width: 560px; }
.bl-search input {
  width: 100%; box-sizing: border-box; height: 52px; border-radius: 14px; border: 0;
  padding: 0 18px 0 46px; font: inherit; font-size: 16px; color: var(--ink);
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.bl-search svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--ink-3); }
.bl-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.bl-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px;
  font-size: 13.5px; font-weight: 700; text-decoration: none;
  background: rgba(255,255,255,.1); color: #e8f6f7; border: 1px solid rgba(255,255,255,.18);
}
.bl-chip:hover { background: rgba(255,255,255,.18); }
.bl-chip[aria-current="page"] { background: #fff; color: var(--bl-deep); border-color: #fff; }
.bl-chip .n { opacity: .7; font-weight: 600; }

/* ---------- index: sections & cards ---------------------------------- */
.bl-section { padding: 48px 0 8px; }
.bl-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.bl-section__head h2 { font-size: 22px; letter-spacing: -0.01em; margin: 0; }
.bl-section__head p { margin: 0; color: var(--ink-2); font-size: 14px; }

.bl-feature {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg);
  overflow: hidden; text-decoration: none; color: inherit;
  transition: box-shadow .2s, transform .2s;
}
.bl-feature:hover { box-shadow: 0 18px 44px rgba(0,49,58,.12); transform: translateY(-2px); }
.bl-feature__art { position: relative; min-height: 280px; background: linear-gradient(150deg, #00515e, #00313a); }
.bl-feature__art svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.bl-feature__body { padding: 32px 34px; display: flex; flex-direction: column; gap: 12px; }
.bl-feature__body h3 { font-size: 26px; line-height: 1.2; letter-spacing: -0.015em; margin: 0; }
.bl-feature__body p { color: var(--ink-2); line-height: 1.6; margin: 0; font-size: 15.5px; }
@media (max-width: 860px) { .bl-feature { grid-template-columns: 1fr; } .bl-feature__art { min-height: 180px; } }

.bl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.bl-card {
  display: flex; flex-direction: column; gap: 10px; padding: 24px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  text-decoration: none; color: inherit; transition: border-color .2s, box-shadow .2s;
}
.bl-card:hover { border-color: color-mix(in oklch, var(--accent) 45%, var(--line)); box-shadow: 0 10px 28px rgba(0,49,58,.08); }
.bl-card h3 { font-size: 18px; line-height: 1.3; margin: 0; }
.bl-card p { margin: 0; color: var(--ink-2); font-size: 14.5px; line-height: 1.55; flex: 1; }

.bl-pill { align-self: flex-start; display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.bl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; color: var(--ink-3); font-size: 13px; }
.bl-meta span { display: inline-flex; align-items: center; gap: 6px; }
.bl-more { font-weight: 700; font-size: 14px; color: var(--accent); }

.bl-topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.bl-topic { padding: 18px; border-radius: var(--radius-sm); border: 1px solid var(--line); background: var(--surface); text-decoration: none; color: inherit; }
.bl-topic:hover { border-color: var(--accent); }
.bl-topic strong { display: block; font-size: 15px; margin-bottom: 4px; }
.bl-topic span { display: block; color: var(--ink-2); font-size: 13px; line-height: 1.5; }
.bl-topic em { display: block; margin-top: 10px; font-style: normal; font-size: 12px; font-weight: 700; color: var(--ink-3); }

.bl-empty { padding: 36px; text-align: center; color: var(--ink-2); border: 1px dashed var(--line); border-radius: var(--radius); background: var(--surface); }

.bl-cta-band {
  margin: 56px 0 0; padding: 40px; border-radius: var(--radius-lg); color: #e8f6f7;
  background: radial-gradient(700px 240px at 100% 0%, rgba(78,204,211,.25), transparent 60%), linear-gradient(150deg, var(--bl-deep-2), var(--bl-deep));
  display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
}
.bl-cta-band h2 { color: #fff; margin: 0 0 8px; font-size: 24px; letter-spacing: -0.01em; }
.bl-cta-band p { margin: 0; color: #c8e7ea; line-height: 1.6; max-width: 620px; }
.bl-cta-band .bl-actions { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 760px) { .bl-cta-band { grid-template-columns: 1fr; padding: 28px; } }

/* ---------- article ---------------------------------------------------- */
.bl-crumbs { font-size: 13px; color: var(--ink-3); padding: 22px 0 0; }
.bl-crumbs a { color: var(--ink-2); text-decoration: none; }
.bl-crumbs a:hover { color: var(--accent); }
.bl-crumbs span[aria-hidden] { margin: 0 6px; }

.bl-art-head { max-width: 860px; padding: 18px 0 28px; }
.bl-art-head h1 { font-size: clamp(30px, 4.2vw, 46px); line-height: 1.1; letter-spacing: -0.025em; margin: 14px 0 16px; font-weight: 800; }
.bl-dek { font-size: 19.5px; line-height: 1.6; color: var(--ink-2); margin: 0 0 22px; }
.bl-byline { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px 24px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bl-byline .bl-meta { justify-content: flex-end; }
@media (max-width: 760px) { .bl-byline { grid-template-columns: 1fr; } .bl-byline .bl-meta { justify-content: flex-start; } }
.bl-author { display: flex; align-items: center; gap: 12px; }
.bl-author img { width: 40px; height: 40px; border-radius: 50%; background: var(--accent-soft); padding: 7px; box-sizing: border-box; }
.bl-author b { display: block; font-size: 14px; }
.bl-author small { color: var(--ink-3); font-size: 12.5px; }
.bl-share { display: flex; gap: 8px; }
.bl-icon-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; min-width: 36px; padding: 0 12px;
  border-radius: 999px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-2);
  font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none;
}
.bl-icon-btn:hover { border-color: var(--accent); color: var(--accent); }

.bl-layout { display: grid; grid-template-columns: minmax(0, var(--bl-read)) 260px; gap: 64px; justify-content: space-between; align-items: start; padding-bottom: 24px; }
@media (max-width: 1080px) { .bl-layout { grid-template-columns: minmax(0, 1fr); gap: 0; } .bl-aside { display: none; } }

.bl-aside { position: sticky; top: 88px; max-height: calc(100vh - 110px); overflow: auto; }
.bl-toc-title { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 10px; }
.bl-toc ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--line); }
.bl-toc li a { display: block; padding: 7px 0 7px 14px; margin-left: -2px; border-left: 2px solid transparent; color: var(--ink-2); text-decoration: none; font-size: 13.5px; line-height: 1.4; }
.bl-toc li a:hover { color: var(--ink); }
.bl-toc li a.is-active { color: var(--accent); border-left-color: var(--accent); font-weight: 700; }
.bl-aside .bl-mini-cta { margin-top: 22px; padding: 18px; border-radius: var(--radius-sm); background: var(--accent-soft); font-size: 13.5px; line-height: 1.55; }
.bl-aside .bl-mini-cta b { display: block; margin-bottom: 6px; color: var(--bl-deep); }

.bl-toc-mobile { display: none; margin: 0 0 28px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.bl-toc-mobile summary { padding: 14px 16px; font-weight: 700; cursor: pointer; }
.bl-toc-mobile .bl-toc { padding: 0 16px 14px; }
@media (max-width: 1080px) { .bl-toc-mobile { display: block; } }

/* At a glance */
.bl-glance { border-radius: var(--radius); padding: 24px 26px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 1px 0 var(--line-soft); margin: 0 0 22px; }
.bl-glance h2 { font-size: 13px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; }
.bl-glance ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.bl-glance li { position: relative; padding-left: 28px; line-height: 1.55; font-size: 15.5px; }
.bl-glance li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M8.2 13.6 4.6 10l1.2-1.2 2.4 2.4 6-6L15.4 6z'/%3E%3C/svg%3E") center/14px no-repeat; }

.bl-applies { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 36px; font-size: 13.5px; }
.bl-applies b { color: var(--ink-2); margin-right: 4px; }
.bl-applies span { padding: 5px 11px; border-radius: 999px; background: var(--bg); border: 1px solid var(--line); font-weight: 600; }

/* Prose */
.bl-prose { font-size: 17px; line-height: 1.78; color: var(--ink); }
.bl-prose > * + * { margin-top: 1.05em; }
.bl-prose p { margin: 0; }
.bl-prose h2 { font-size: 27px; line-height: 1.25; letter-spacing: -0.015em; margin: 2.1em 0 .2em; padding-top: 6px; scroll-margin-top: 90px; }
.bl-prose h3 { font-size: 20px; line-height: 1.3; margin: 1.6em 0 .1em; scroll-margin-top: 90px; }
.bl-prose a { color: var(--accent); text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bl-prose ul, .bl-prose ol { padding-left: 1.3em; }
.bl-prose li + li { margin-top: .45em; }
.bl-prose strong { font-weight: 750; }
.bl-anchor { opacity: 0; margin-left: 8px; font-weight: 600; color: var(--ink-3) !important; text-decoration: none !important; font-size: .8em; }
.bl-prose h2:hover .bl-anchor, .bl-prose h3:hover .bl-anchor, .bl-anchor:focus { opacity: 1; }

/* Callouts */
.bl-callout { border-radius: var(--radius-sm); padding: 18px 20px 18px 54px; position: relative; font-size: 15.5px; line-height: 1.65; border: 1px solid; }
.bl-callout::before { content: ""; position: absolute; left: 18px; top: 19px; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--bl-ico) center/contain no-repeat; mask: var(--bl-ico) center/contain no-repeat; }
.bl-callout b.t { display: block; margin-bottom: 4px; }
.bl-callout--law { background: var(--bl-law-soft); border-color: color-mix(in oklch, var(--bl-law) 25%, transparent); color: var(--bl-deep);
  --bl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M5 7h14M7 7l-3 7a3 3 0 0 0 6 0zM17 7l-3 7a3 3 0 0 0 6 0zM8 21h8'/%3E%3C/svg%3E"); }
.bl-callout--warn { background: var(--bl-warn-soft); border-color: var(--bl-warn-line); color: oklch(36% 0.08 60);
  --bl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0zM12 9v4M12 17h.01'/%3E%3C/svg%3E"); }
.bl-callout--tip { background: var(--bl-tip-soft); border-color: var(--bl-tip-line); color: oklch(34% 0.07 150);
  --bl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E"); }
.bl-callout p + p { margin-top: .6em; }

/* Timeline */
.bl-timeline { list-style: none; padding: 0 !important; margin: 1.4em 0 0; position: relative; }
.bl-timeline::before { content: ""; position: absolute; left: 21px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(var(--accent), var(--teal-on-dark)); opacity: .35; }
.bl-timeline li { position: relative; padding: 0 0 22px 64px; margin: 0 !important; }
.bl-timeline .bl-when { position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 12px; background: var(--accent); color: #fff; display: grid; place-items: center; font-size: 11px; font-weight: 800; line-height: 1.1; text-align: center; box-shadow: 0 4px 12px rgba(0,81,94,.25); }
.bl-timeline h4 { margin: 0 0 4px; font-size: 16.5px; }
.bl-timeline p { margin: 0; color: var(--ink-2); font-size: 15.5px; line-height: 1.65; }

/* Tables */
.bl-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.bl-table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.5; min-width: 560px; }
.bl-table th, .bl-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-soft); }
.bl-table thead th { background: var(--bg); font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
.bl-table tbody tr:last-child td { border-bottom: 0; }
.bl-yes { color: var(--good); font-weight: 750; }
.bl-no { color: var(--ink-3); font-weight: 650; }
.bl-caption { font-size: 13px; color: var(--ink-3); margin-top: 8px !important; }

/* Checklist */
.bl-check { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 6px 22px 18px; }
.bl-check__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0 6px; flex-wrap: wrap; }
.bl-check__head b { font-size: 16px; }
.bl-check__count { font-size: 13px; color: var(--ink-3); font-weight: 700; }
.bl-check ul { list-style: none; padding: 0 !important; margin: 0; }
.bl-check li { margin: 0 !important; border-top: 1px solid var(--line-soft); }
.bl-check label { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; cursor: pointer; font-size: 15.5px; line-height: 1.55; text-transform: none; letter-spacing: normal; font-weight: 500; color: var(--ink); margin: 0; }
.bl-check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--accent); flex-shrink: 0; }
.bl-check input:checked + span { color: var(--ink-3); text-decoration: line-through; text-decoration-color: color-mix(in oklch, var(--ink-3) 50%, transparent); }
.bl-check__note { font-size: 12.5px; color: var(--ink-3); margin: 8px 0 0 !important; }

/* FAQ */
.bl-faq { border-top: 1px solid var(--line); }
.bl-faq details { border-bottom: 1px solid var(--line); }
.bl-faq summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; position: relative; font-weight: 700; font-size: 16.5px; line-height: 1.45; }
.bl-faq summary::-webkit-details-marker { display: none; }
.bl-faq summary::after { content: "+"; position: absolute; right: 6px; top: 14px; font-size: 24px; font-weight: 400; color: var(--accent); transition: transform .2s; }
.bl-faq details[open] summary::after { transform: rotate(45deg); }
.bl-faq details > div { padding: 0 0 18px; color: var(--ink-2); font-size: 15.5px; line-height: 1.7; }

/* Sources */
.bl-sources { font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.bl-sources li + li { margin-top: .5em; }
.bl-sources a { word-break: break-word; }

/* Inline product callout + reviewed box */
.bl-product { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 22px; border-radius: var(--radius); background: linear-gradient(150deg, var(--bl-deep-2), var(--bl-deep)); color: #d6eef0; }
.bl-product .ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.12); display: grid; place-items: center; }
.bl-product b { color: #fff; display: block; font-size: 16.5px; margin-bottom: 4px; }
.bl-product p { margin: 0 0 12px; line-height: 1.6; font-size: 15px; }
.bl-disclaimer { margin-top: 2.4em !important; padding: 16px 18px; border-radius: var(--radius-sm); background: var(--bg); font-size: 13.5px; line-height: 1.6; color: var(--ink-2); }

.bl-related { padding: 40px 0 0; border-top: 1px solid var(--line); margin-top: 40px; }
.bl-related h2 { font-size: 20px; margin: 0 0 16px; }

.bl-top-link { position: fixed; right: 20px; bottom: 20px; z-index: 30; opacity: 0; pointer-events: none; transition: opacity .2s; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.bl-top-link.is-on { opacity: 1; pointer-events: auto; }

.bl-footer { margin-top: 64px; border-top: 1px solid var(--line); background: var(--surface); }
.bl-footer__in { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 28px; padding-bottom: 36px; font-size: 13px; color: var(--ink-2); }
.bl-footer a { color: var(--ink-2); text-decoration: none; }
.bl-footer a:hover { color: var(--accent); }
.bl-footer nav { display: flex; gap: 18px; flex-wrap: wrap; }

.bl-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) { .bl-feature, .bl-card, .bl-progress, .bl-top-link { transition: none; } }

/* ---------- print: a clean handout of the guide ------------------------ */
@media print {
  .bl-top, .bl-progress, .bl-aside, .bl-toc-mobile, .bl-share, .bl-related, .bl-cta-band, .bl-top-link, .bl-footer, .bl-product, .bl-crumbs { display: none !important; }
  .bl-layout { display: block; }
  .bl-prose { font-size: 11.5pt; }
  .bl-prose a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; word-break: break-all; }
  .bl-faq details > div { display: block !important; }
  .bl-glance, .bl-check, .bl-callout, .bl-timeline li { break-inside: avoid; }
}

/* small screens: keep the header on one line */
.bl-top .bl-btn { white-space: nowrap; }
@media (max-width: 480px) {
  .bl-brand__div, .bl-brand__label { display: none; }
  .bl-top nav a:not(.bl-btn) { font-size: 13px; }
}
