/* ============================================================================
   Saudaflow blog, /resources/blog (D-729). Owner: the engine agent.

   SCOPE. Every rule sits under .sf-blog, the wrapper build.py puts inside <main>.
   Nothing here reaches the header, the mega-menu or the footer: those arrive
   verbatim from the live donor page (/resources) together with its tokens,
   which this file only READS:
     --canvas --surface-1 --ink-primary --ink-secondary --ink-meta --gold --mint
     --border-subtle --border-base --border-strong --font-sans --font-mono
     --dur-base --ease --header-h

   INK, measured on the canvas (rgb 10 6 19):
     ink-primary 17.7:1 · ink-secondary 9.4:1 · gold 12.5:1 · mint 10:1 ·
     ink-meta 5.6:1 (metadata only). --ink-tertiary (4.24:1) is never text here.

   THE DONOR STYLES SOME BARE ELEMENTS GLOBALLY (table, thead th, details,
   summary, .note). Blog rules out-rank them on specificity, never !important;
   the one exception is [hidden], which has to beat any display rule.

   MOBILE FIRST at 360-390 px: 16 px gutters, nothing wider than the viewport,
   tables scroll inside their own frame, every standalone control >= 44 px.
   ========================================================================= */

.sf-blog{color:rgb(var(--ink-primary));padding-bottom:8px;--sfb-col:46rem;--sfb-measure:72ch;
  --sfb-panel:rgba(255,255,255,.025);--sfb-panel-line:rgba(245,197,107,.18)}
.sf-blog [hidden]{display:none!important}
.sf-blog .sfb-wrap{width:100%;max-width:calc(var(--sfb-col) + 32px);margin-inline:auto;padding-inline:16px}
@media(min-width:640px){.sf-blog .sfb-wrap{max-width:calc(var(--sfb-col) + 48px);padding-inline:24px}}

/* Focus: the donor resets :focus-visible to a transparent outline; inside the blog
   every focusable thing gets a gold ring it can actually be seen with. */
.sf-blog a:focus-visible,.sf-blog button:focus-visible,.sf-blog summary:focus-visible,
.sf-blog input:focus-visible,.sf-blog textarea:focus-visible,.sf-blog [tabindex]:focus-visible{
  outline:2px solid rgb(var(--gold));outline-offset:3px;border-radius:6px}

/* ---- bands ------------------------------------------------------------------ */
.sf-blog .sfb-band{padding-block:48px;border-top:1px solid var(--border-subtle)}
.sf-blog .sfb-band--top{position:relative;border-top:0;padding-top:calc(var(--header-h) + 28px);padding-bottom:36px}
.sf-blog .sfb-band--top::before{content:"";position:absolute;inset:0 0 auto 0;height:380px;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 60% at 50% 0%,rgba(245,197,107,.09),transparent 70%)}
@media(min-width:1024px){
  .sf-blog .sfb-band{padding-block:64px}
  .sf-blog .sfb-band--top{padding-top:calc(var(--header-h) + 48px);padding-bottom:48px}
}
.sf-blog .sfb-h2{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;color:rgb(var(--ink-primary))}
.sf-blog .sfb-h2+.sfb-cards,.sf-blog .sfb-h2+.sfb-none{margin-top:24px}

/* ---- breadcrumb ------------------------------------------------------------- */
.sf-blog .sfb-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;
  font-size:12.5px;line-height:1.4;color:rgb(var(--ink-meta))}
.sf-blog .sfb-crumbs li{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.sf-blog .sfb-crumbs li+li::before{content:"/";opacity:.55}
.sf-blog .sfb-crumbs a{display:inline-flex;align-items:center;min-height:44px;color:rgb(var(--ink-meta));
  transition:color var(--dur-base)}
.sf-blog .sfb-crumbs a:hover{color:rgb(var(--gold))}
.sf-blog .sfb-crumbs [aria-current]{display:block;min-width:0;max-width:34ch;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;color:rgb(var(--ink-secondary))}

/* ---- index: hero, empty state, filters ------------------------------------- */
.sf-blog .sfb-index-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:8px}
.sf-blog .sfb-index-intro{max-width:62ch;min-width:0}
.sf-blog .sfb-index-title{margin-top:20px;font-size:clamp(2rem,4.4vw,3rem);color:rgb(var(--ink-primary))}
.sf-blog .sfb-lede{margin-top:20px;font-size:17px;line-height:1.7;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-rss{min-height:44px;padding:10px 16px;font-size:13.5px}
.sf-blog .sfb-rss svg{width:14px;height:14px;flex-shrink:0}
.sf-blog .sfb-empty{display:inline-block;max-width:68ch;margin-top:4px;border-radius:12px;padding:12px 16px;
  font-size:14px;line-height:1.6;color:rgb(var(--gold));background:rgba(245,197,107,.08);border:.5px solid rgba(245,197,107,.28)}
.sf-blog .sfb-list-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.sf-blog .sfb-filters{display:flex;flex-wrap:wrap;gap:8px}
.sf-blog .sfb-chip{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;
  padding:8px 14px;border-radius:999px;font:inherit;font-size:13.5px;line-height:1.2;cursor:pointer;
  color:rgb(var(--ink-secondary));background:rgba(255,255,255,.03);border:1px solid var(--border-base);
  transition:border-color var(--dur-base),color var(--dur-base),background var(--dur-base)}
.sf-blog .sfb-chip:hover{color:rgb(var(--ink-primary));border-color:var(--border-strong)}
.sf-blog .sfb-chip[aria-pressed="true"]{color:rgb(var(--gold));background:rgba(245,197,107,.12);border-color:rgba(245,197,107,.5)}
.sf-blog .sfb-chip-n{font-family:var(--font-mono);font-size:11.5px;color:rgb(var(--ink-meta))}
.sf-blog .sfb-chip[aria-pressed="true"] .sfb-chip-n{color:rgb(var(--gold))}

/* ---- post cards (index, author page, related) -------------------------------- */
.sf-blog .sfb-cards{list-style:none;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:720px){.sf-blog .sfb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.sf-blog .sfb-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sf-blog .sfb-card-item{min-width:0}
.sf-blog .sfb-card{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:16px;
  background:var(--sfb-panel);border:1px solid var(--sfb-panel-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 40px -24px rgba(0,0,0,.75);
  transition:border-color var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}
.sf-blog .sfb-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.sf-blog .sfb-card:focus-within{border-color:rgba(245,197,107,.55)}
.sf-blog .sfb-card-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:rgb(var(--surface-1));
  border-bottom:1px solid var(--border-subtle)}
.sf-blog .sfb-card-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:20px}
.sf-blog .sfb-card-pillar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--gold))}
.sf-blog .sfb-card-title{font-size:18px;font-weight:500;line-height:1.35;letter-spacing:-.015em;color:rgb(var(--ink-primary))}
.sf-blog .sfb-card-title a{color:inherit}
/* the whole card is the link: the title's ::after covers it, so the tap target is the card */
.sf-blog .sfb-card-title a::after{content:"";position:absolute;inset:0;border-radius:16px}
.sf-blog .sfb-card-title a:focus-visible{outline:none}
.sf-blog .sfb-card-title a:focus-visible::after{outline:2px solid rgb(var(--gold));outline-offset:-2px}
.sf-blog .sfb-card-desc{font-size:14px;line-height:1.65;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-card-meta{margin-top:auto;padding-top:6px;font-size:12.5px;line-height:1.5;color:rgb(var(--ink-meta))}
.sf-blog .sfb-flag{display:inline-block;padding:2px 8px;border-radius:999px;font-family:var(--font-mono);font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;color:#1a0d00;background:#ff8a3d}
.sf-blog .sfb-none{font-size:15px;line-height:1.7;color:rgb(var(--ink-secondary))}

/* ---- pillars ------------------------------------------------------------------ */
.sf-blog .sfb-pillars{list-style:none;display:grid;gap:16px;margin-top:24px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.sf-blog .sfb-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.sf-blog .sfb-pillars{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sf-blog .sfb-pillar{padding:20px;border-radius:16px;background:var(--sfb-panel);border:1px solid rgba(245,197,107,.14);
  scroll-margin-top:calc(var(--header-h) + 16px)}
.sf-blog .sfb-pillar h3{font-size:15px;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:rgb(var(--ink-primary))}
.sf-blog .sfb-pillar p{margin-top:8px;font-size:13.5px;line-height:1.65;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-pillar .sfb-pillar-n{margin-top:12px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;color:rgb(var(--ink-meta))}
.sf-blog .sfb-meantime{margin-top:32px;max-width:68ch;font-size:15px;line-height:1.7;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-meantime a{color:rgb(var(--gold));text-decoration:underline;text-underline-offset:3px}

/* ---- post: head, hero, quick answer, contents --------------------------------- */
.sf-blog .sfb-post-head{position:relative;padding-top:calc(var(--header-h) + 20px)}
.sf-blog .sfb-post-head::before{content:"";position:absolute;inset:0 0 auto 0;height:360px;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 60% at 50% 0%,rgba(245,197,107,.08),transparent 70%)}
@media(min-width:1024px){.sf-blog .sfb-post-head{padding-top:calc(var(--header-h) + 40px)}}
.sf-blog .sfb-kicker{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--gold))}
.sf-blog .sfb-kicker a{display:inline-flex;align-items:center;min-height:44px;color:inherit}
.sf-blog .sfb-kicker a:hover{color:#F5D38C}
.sf-blog .sfb-title{margin-top:2px;font-size:clamp(1.85rem,5.4vw,2.75rem);line-height:1.12;letter-spacing:-.03em;
  color:rgb(var(--ink-primary));text-wrap:balance;overflow-wrap:break-word}
.sf-blog .sfb-byline{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;margin-top:14px;font-size:13.5px;
  line-height:1.5;color:rgb(var(--ink-meta))}
.sf-blog .sfb-byline a{display:inline-flex;align-items:center;min-height:44px;color:rgb(var(--ink-primary));
  text-decoration:underline;text-decoration-color:rgba(245,197,107,.5);text-underline-offset:3px}
.sf-blog .sfb-byline a:hover{text-decoration-color:rgb(var(--gold))}
.sf-blog .sfb-sep{opacity:.6}
.sf-blog .sfb-bi{display:inline-flex;align-items:center;gap:10px}
.sf-blog .sfb-hero{margin-top:20px}
.sf-blog .sfb-hero img{width:100%;height:auto;border-radius:16px;border:1px solid var(--border-subtle);background:rgb(var(--surface-1))}
.sf-blog .sfb-hero-missing{display:grid;place-items:center;aspect-ratio:16/9;padding:16px;border-radius:16px;text-align:center;
  font-family:var(--font-mono);font-size:12.5px;color:rgb(var(--ink-meta));border:1px dashed rgba(245,197,107,.35)}
.sf-blog .sfb-quick{margin-top:28px;padding:18px 20px;border-radius:14px;border:1px solid rgba(245,197,107,.35);
  background:linear-gradient(to bottom right,rgba(245,197,107,.09),rgba(245,197,107,.02))}
.sf-blog .sfb-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--gold))}
.sf-blog .sfb-quick-text{margin-top:8px;font-size:16.5px;line-height:1.7;color:rgb(var(--ink-primary))}
.sf-blog .sfb-toc{margin-top:24px;padding:14px 20px 6px;border-radius:14px;border:1px solid var(--border-subtle);background:rgba(255,255,255,.02)}
.sf-blog .sfb-toc .sfb-label{color:rgb(var(--ink-meta))}
.sf-blog .sfb-toc ol{list-style:none;counter-reset:sfb-toc;margin-top:4px}
.sf-blog .sfb-toc li{counter-increment:sfb-toc}
.sf-blog .sfb-toc li+li{border-top:1px solid rgba(255,255,255,.05)}
.sf-blog .sfb-toc a{display:flex;align-items:baseline;gap:12px;min-height:44px;padding-block:11px;font-size:14.5px;line-height:1.45;
  color:rgb(var(--ink-secondary));transition:color var(--dur-base)}
.sf-blog .sfb-toc a::before{content:counter(sfb-toc,decimal-leading-zero);flex-shrink:0;font-family:var(--font-mono);font-size:11.5px;color:rgb(var(--gold))}
.sf-blog .sfb-toc a:hover{color:rgb(var(--ink-primary))}

/* ---- post: the article body ----------------------------------------------------- */
.sf-blog .sfb-prose{margin-top:36px;font-size:17px;line-height:1.75;color:rgb(var(--ink-secondary));overflow-wrap:break-word}
@media(min-width:1024px){.sf-blog .sfb-prose{font-size:18px}}
.sf-blog .sfb-prose>*{max-width:var(--sfb-measure)}
.sf-blog .sfb-prose>*+*{margin-top:1.1em}
.sf-blog .sfb-prose h2{margin-top:2.1em;font-size:clamp(1.45rem,3.6vw,1.85rem);font-weight:500;line-height:1.25;
  letter-spacing:-.025em;color:rgb(var(--ink-primary));scroll-margin-top:calc(var(--header-h) + 16px)}
.sf-blog .sfb-prose h3{margin-top:1.8em;font-size:1.18em;font-weight:500;line-height:1.35;letter-spacing:-.015em;
  color:rgb(var(--ink-primary));scroll-margin-top:calc(var(--header-h) + 16px)}
.sf-blog .sfb-prose>h2:first-child,.sf-blog .sfb-prose>h3:first-child{margin-top:0}
.sf-blog .sfb-prose h2+*,.sf-blog .sfb-prose h3+*{margin-top:.6em}
.sf-blog .sfb-prose strong{font-weight:600;color:rgb(var(--ink-primary))}
.sf-blog .sfb-prose em{font-style:italic}
.sf-blog .sfb-prose a{color:rgb(var(--gold));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sf-blog .sfb-prose a:hover{color:#F5D38C;text-decoration-thickness:2px}
.sf-blog .sfb-prose ul,.sf-blog .sfb-prose ol{padding-left:1.35em}
.sf-blog .sfb-prose ul{list-style:disc}
.sf-blog .sfb-prose ol{list-style:decimal}
.sf-blog .sfb-prose li{padding-left:.2em}
.sf-blog .sfb-prose li+li{margin-top:.45em}
.sf-blog .sfb-prose li>ul,.sf-blog .sfb-prose li>ol{margin-top:.45em}
.sf-blog .sfb-prose li::marker{color:rgb(var(--gold))}
.sf-blog .sfb-prose blockquote{padding:2px 0 2px 18px;border-left:3px solid rgba(245,197,107,.6);font-style:italic;color:rgb(var(--ink-primary))}
.sf-blog .sfb-prose blockquote>*+*{margin-top:.7em}
.sf-blog .sfb-prose code{padding:.1em .4em;border-radius:6px;font-family:var(--font-mono);font-size:.86em;color:rgb(var(--ink-primary));
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);white-space:pre-wrap;overflow-wrap:anywhere}
.sf-blog .sfb-prose hr{margin-block:2.2em;border:0;border-top:1px solid var(--border-base)}
.sf-blog .sfb-prose figure{margin-block:1.8em}
.sf-blog .sfb-prose>figure,.sf-blog .sfb-prose>.table-wrap{max-width:none}
.sf-blog .sfb-prose img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--border-subtle);background:rgb(var(--surface-1))}
.sf-blog .sfb-prose figcaption{margin-top:10px;font-size:13.5px;line-height:1.6;color:rgb(var(--ink-meta))}

/* asides: .note is a callout, .example a worked example. The donor's global .note
   (12px, a top rule) is out-ranked here, not fought with !important. */
.sf-blog .sfb-prose aside.note,.sf-blog .sfb-prose aside.example{margin-top:1.6em;padding:16px 18px;border-radius:12px;
  font-size:.94em;line-height:1.7;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-prose aside.note{background:rgba(245,197,107,.06);border:1px solid rgba(245,197,107,.25);border-left:3px solid rgb(var(--gold))}
.sf-blog .sfb-prose aside.example{background:rgba(93,202,165,.05);border:1px solid rgba(93,202,165,.24);border-left:3px solid rgb(var(--mint))}
.sf-blog .sfb-prose aside>*+*{margin-top:.7em}
.sf-blog .sfb-prose aside ul,.sf-blog .sfb-prose aside ol{padding-left:1.25em}

/* tables: always inside .table-wrap, which scrolls sideways on its own so the page
   never does. data-cols is set by the engine; wide tables keep a readable minimum. */
.sf-blog .sfb-prose .table-wrap{margin-top:1.6em;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;
  border:1px solid var(--border-base);background:rgba(255,255,255,.015)}
.sf-blog .sfb-prose .table-wrap table{width:100%;min-width:0;border-collapse:collapse;font-size:14.5px;line-height:1.55}
.sf-blog .sfb-prose .table-wrap[data-cols="3"] table{min-width:30rem}
.sf-blog .sfb-prose .table-wrap[data-cols="4"] table{min-width:36rem}
.sf-blog .sfb-prose .table-wrap[data-cols="5"] table,.sf-blog .sfb-prose .table-wrap[data-cols="6+"] table{min-width:44rem}
.sf-blog .sfb-prose .table-wrap th,.sf-blog .sfb-prose .table-wrap td{width:auto;padding:12px 14px;text-align:left;vertical-align:top}
.sf-blog .sfb-prose .table-wrap thead th{position:static;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--gold));background:rgb(var(--surface-1));border-bottom:1px solid var(--border-base)}
.sf-blog .sfb-prose .table-wrap tbody td,.sf-blog .sfb-prose .table-wrap tbody th{color:rgb(var(--ink-secondary));border-bottom:1px solid var(--border-subtle)}
.sf-blog .sfb-prose .table-wrap tbody th{font-weight:500;color:rgb(var(--ink-primary))}
.sf-blog .sfb-prose .table-wrap tbody tr:last-child td,.sf-blog .sfb-prose .table-wrap tbody tr:last-child th{border-bottom:0}
.sf-blog .sfb-prose .table-wrap tbody tr:hover td{background:rgba(255,255,255,.022)}

/* ---- post: FAQ, sources, checked line ---------------------------------------- */
.sf-blog .sfb-section{margin-top:56px}
.sf-blog .sfb-section-h{font-size:clamp(1.35rem,3.2vw,1.7rem);font-weight:500;line-height:1.25;letter-spacing:-.025em;
  color:rgb(var(--ink-primary));scroll-margin-top:calc(var(--header-h) + 16px)}
.sf-blog .sfb-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.sf-blog .sfb-faq details{margin:0;padding:0;border-radius:12px;border:1px solid rgba(245,197,107,.14);background:rgba(255,255,255,.02);
  transition:border-color var(--dur-base),background var(--dur-base)}
.sf-blog .sfb-faq details:hover{border-color:rgba(245,197,107,.26)}
.sf-blog .sfb-faq details[open]{border-color:rgba(245,197,107,.34);background:rgba(255,255,255,.04)}
.sf-blog .sfb-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 18px;
  list-style:none;cursor:pointer;font-size:15.5px;font-weight:500;line-height:1.45;letter-spacing:-.01em;color:rgb(var(--ink-primary))}
.sf-blog .sfb-faq summary::-webkit-details-marker{display:none}
.sf-blog .sfb-faq summary::after{content:"";flex-shrink:0;width:8px;height:8px;margin:0 4px 4px 0;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--dur-base)}
.sf-blog .sfb-faq details[open]>summary{color:rgb(var(--gold))}
.sf-blog .sfb-faq details[open]>summary::after{transform:rotate(225deg);margin-top:6px}
.sf-blog .sfb-faq-a{padding:0 18px 18px;font-size:15px;line-height:1.75;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-source-list{margin-top:16px;padding-left:1.5em;list-style:decimal;font-size:14.5px;line-height:1.6;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-source-list li+li{margin-top:6px}
.sf-blog .sfb-source-list li::marker{font-family:var(--font-mono);font-size:12px;color:rgb(var(--ink-meta))}
.sf-blog .sfb-source-list a{display:inline-block;padding-block:10px 2px;color:rgb(var(--gold));text-decoration:underline;
  text-underline-offset:3px;overflow-wrap:anywhere}
.sf-blog .sfb-source-meta{display:block;padding-bottom:8px;font-size:12.5px;color:rgb(var(--ink-meta))}
.sf-blog .sfb-checked{margin-top:28px;padding:14px 16px;border-radius:12px;border:1px dashed rgba(245,197,107,.32);
  font-size:13.5px;line-height:1.65;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-checked strong{font-weight:500;color:rgb(var(--ink-primary))}

/* ---- author box, author page, preferred source -------------------------------- */
.sf-blog .sfb-authorbox{display:flex;align-items:flex-start;gap:16px;margin-top:48px;padding:20px;border-radius:16px;
  background:var(--sfb-panel);border:1px solid var(--sfb-panel-line)}
.sf-blog .sfb-avatar{flex-shrink:0;display:grid;place-items:center;width:56px;height:56px;border-radius:999px;overflow:hidden;
  font-size:18px;font-weight:600;letter-spacing:.02em;color:#0a0613;background:linear-gradient(120deg,#ffd896,#f5c56b 50%,#d9a24a)}
.sf-blog .sfb-avatar img{width:100%;height:100%;object-fit:cover}
.sf-blog .sfb-avatar--lg{width:88px;height:88px;font-size:28px}
.sf-blog .sfb-authorbox-main{min-width:0}
.sf-blog .sfb-authorbox-name{font-size:17px;font-weight:500;line-height:1.3;color:rgb(var(--ink-primary))}
.sf-blog .sfb-authorbox-name a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;
  text-decoration-color:rgba(245,197,107,.5);text-underline-offset:3px}
.sf-blog .sfb-role{font-size:13.5px;line-height:1.5;color:rgb(var(--ink-meta))}
.sf-blog .sfb-bio{margin-top:10px;font-size:14.5px;line-height:1.7;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-sameas{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
.sf-blog .sfb-sameas a{display:inline-flex;align-items:center;min-height:44px;font-size:13.5px;color:rgb(var(--gold));
  text-decoration:underline;text-underline-offset:3px}
.sf-blog .sfb-author-hero{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 24px;margin-top:12px}
.sf-blog .sfb-author-hero>div{min-width:0;flex:1 1 18rem;max-width:62ch}
.sf-blog .sfb-author-title{margin-top:4px;font-size:clamp(1.9rem,4.4vw,2.75rem);color:rgb(var(--ink-primary))}
.sf-blog .sfb-author-hero .sfb-role{margin-top:8px;font-size:15px}
.sf-blog .sfb-author-hero .sfb-bio{font-size:16px}
.sf-blog .sfb-pref{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;
  padding:18px 20px;border-radius:16px;border:1px solid var(--border-subtle);background:rgba(255,255,255,.02)}
.sf-blog .sfb-pref p{max-width:46ch;font-size:14px;line-height:1.6;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-pref strong{font-weight:500;color:rgb(var(--ink-primary))}
.sf-blog .sfb-pref a{display:inline-block;line-height:0;border-radius:6px;transition:transform var(--dur-base) var(--ease)}
.sf-blog .sfb-pref a:hover{transform:translateY(-1px)}
.sf-blog .sfb-pref img{width:168px;max-width:100%;height:auto}

/* ---- comments ------------------------------------------------------------------ */
.sf-blog .sfb-comments-intro{margin-top:10px;font-size:14.5px;line-height:1.65;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-count{font-family:var(--font-mono);font-size:.7em;font-weight:400;letter-spacing:.04em;color:rgb(var(--ink-meta))}
.sf-blog .sfb-state{margin-top:16px;font-size:14px;line-height:1.6;color:rgb(var(--ink-meta))}
.sf-blog .sfb-older{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;padding:10px 16px;border-radius:10px;
  font:inherit;font-size:14px;font-weight:500;color:rgb(var(--gold));background:transparent;border:1px solid rgba(245,197,107,.28);
  cursor:pointer;transition:border-color var(--dur-base) var(--ease)}
.sf-blog .sfb-older:hover{border-color:rgba(245,197,107,.6)}
.sf-blog .sfb-older[disabled]{opacity:.6;cursor:progress}
.sf-blog .sfb-comment-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:20px}
.sf-blog .sfb-comment{padding:16px 18px;border-radius:14px;border:1px solid var(--border-subtle);background:rgba(255,255,255,.02)}
.sf-blog .sfb-comment-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.sf-blog .sfb-comment-name{font-size:14.5px;font-weight:500;color:rgb(var(--ink-primary));overflow-wrap:anywhere}
.sf-blog .sfb-comment-time{font-size:12.5px;color:rgb(var(--ink-meta))}
.sf-blog .sfb-comment-body{margin-top:8px;font-size:15px;line-height:1.7;color:rgb(var(--ink-secondary));white-space:pre-wrap;overflow-wrap:anywhere}
.sf-blog .sfb-comment-form{position:relative;display:flex;flex-direction:column;gap:16px;margin-top:24px;padding:20px;border-radius:16px;
  background:var(--sfb-panel);border:1px solid var(--sfb-panel-line)}
.sf-blog .sfb-field{display:flex;flex-direction:column;gap:6px}
.sf-blog .sfb-field label{font-size:13.5px;font-weight:500;color:rgb(var(--ink-primary))}
.sf-blog .sfb-field input,.sf-blog .sfb-field textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;font:inherit;font-size:16px;
  line-height:1.5;color:rgb(var(--ink-primary));background:rgba(10,6,19,.6);border:1px solid rgba(245,197,107,.24);
  transition:border-color var(--dur-base)}
.sf-blog .sfb-field textarea{min-height:140px;resize:vertical}
.sf-blog .sfb-field input:hover,.sf-blog .sfb-field textarea:hover{border-color:rgba(245,197,107,.4)}
.sf-blog .sfb-field input:focus,.sf-blog .sfb-field textarea:focus{border-color:rgba(245,197,107,.65)}
.sf-blog .sfb-field [aria-invalid="true"]{border-color:#ff9b8a}
.sf-blog .sfb-hint{font-size:12.5px;line-height:1.5;color:rgb(var(--ink-meta))}
/* the honeypot: off-screen for people, still in the form for bots */
.sf-blog .sfb-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.sf-blog .sfb-notice{font-size:12.5px;line-height:1.65;color:rgb(var(--ink-meta))}
.sf-blog .sfb-notice a{color:rgb(var(--gold));text-decoration:underline;text-underline-offset:3px}
.sf-blog .sfb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.sf-blog .sfb-actions .btn-primary{min-height:44px}
.sf-blog .sfb-actions .btn-primary[disabled]{opacity:.6;cursor:progress;transform:none}
.sf-blog .sfb-msg{font-size:14px;line-height:1.6;color:rgb(var(--ink-secondary))}
.sf-blog .sfb-msg[data-tone="ok"]{color:rgb(var(--mint))}
.sf-blog .sfb-msg[data-tone="held"]{color:rgb(var(--gold))}
.sf-blog .sfb-msg[data-tone="error"]{color:#ff9b8a}

/* ---- closing CTA: the donor's own .cta recipe, given room on a phone ---------- */
.sf-blog .sfb-cta .cta{padding:40px 20px}
@media(min-width:640px){.sf-blog .sfb-cta .cta{padding:52px 24px}}
.sf-blog .sfb-cta .row a{min-height:44px}
.sf-blog .sfb-cta svg{width:14px;height:14px}

/* ---- preview only: the draft ribbon --------------------------------------------- */
.sf-blog .sfb-ribbon{position:fixed;left:12px;bottom:12px;z-index:80;max-width:calc(100vw - 24px);padding:8px 14px;border-radius:999px;
  font-family:var(--font-mono);font-size:11.5px;font-weight:600;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;
  color:#1a0d00;background:#ff8a3d;box-shadow:0 8px 24px -8px rgba(0,0,0,.6)}

/* ---- motion ---------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .sf-blog *,.sf-blog *::before,.sf-blog *::after{transition:none!important;animation:none!important}
  .sf-blog .sfb-card:hover,.sf-blog .sfb-pref a:hover{transform:none}
}
