/* Shayne Fitz-Coy — shared site styles.
   Reference: artifact 4feaff57-84cc-4c59-8a5c-2a8a66209072.
   One token set and type scale; layouts consume the same components.
   Header/footer and article-list decisions retain the user's later rulings. */
:root, body {
  --sfc-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sfc-sans:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --sfc-mono:"Overpass Mono",ui-monospace,monospace;
  --sfc-paper:#FCF7F1;
  --sfc-ink:#0C0C0C;
  --sfc-gray:#57534E;
  --sfc-line:#E5DBCE;
  --sfc-accent:#F37021;
  --sfc-accent-text:#B84A08;
  --sfc-lede:#2B2725;
  --sfc-measure:582px;
  --sfc-wide:882px;
  --sfc-shell:1180px;
  --sfc-gutter:24px;
  --sfc-h1:clamp(34px,4.6vw,40px);
  --sfc-h2:28px;
  --sfc-h3:22px;
  --sfc-h4:19px;
  --sfc-prose:18px;
  --sfc-leading:1.6;
  --sfc-paragraph-gap:20px;
  --sfc-section-gap:56px;
  --global-palette1:var(--sfc-ink);
  --global-palette2:var(--sfc-accent);
  --global-palette3:var(--sfc-ink);
  --global-palette4:var(--sfc-gray);
  --global-palette5:var(--sfc-accent);
  --global-palette6:var(--sfc-gray);
  --global-palette7:var(--sfc-line);
  --global-palette8:var(--sfc-paper);
  --global-palette9:var(--sfc-paper);
  --global-body-font-family:var(--sfc-serif);
  --global-heading-font-family:var(--sfc-serif);
  --global-primary-nav-font-family:var(--sfc-sans);
}
/* The original artifact's component variable names remain aliases, never
   independent palettes that can drift between #sfc and #sfcbold. */
body, #sfc, #sfcbold {
  --serif:var(--sfc-serif); --sans:var(--sfc-sans); --mono:var(--sfc-mono);
  --paper:var(--sfc-paper); --ink:var(--sfc-ink); --gray:var(--sfc-gray);
  --line:var(--sfc-line); --accent:var(--sfc-accent); --red:var(--sfc-accent);
  --measure:var(--sfc-measure); --wide:var(--sfc-wide);
}
html { color-scheme:light; }
html body, body #wrapper, body #inner-wrap, body .content-area,
body .content-container, body #masthead, body #colophon,
body #masthead .site-header-row-container-inner,
body #colophon .site-footer-row-container-inner {
  background:var(--sfc-paper);
  color:var(--sfc-ink);
}
body, .entry-content, #sfc, #sfcbold {
  font-family:var(--sfc-serif);
  font-size:var(--sfc-prose);
  font-weight:400;
  line-height:var(--sfc-leading);
  font-variation-settings:"opsz" 16;
}
body .content-bg, body .entry.content-bg, body .single-entry.content-bg {
  background:transparent;
  box-shadow:none;
  border-radius:0;
}
body .entry-content-wrap { padding:0; }
body .content-area { margin:0; padding:56px 0 96px; }
body .content-container.site-container,
body.category .site-container.entry-content {
  width:100%; max-width:calc(var(--sfc-shell) + 2 * var(--sfc-gutter));
  padding-inline:var(--sfc-gutter); margin-inline:auto;
}
body.category .site-container.entry-content { padding-top:56px; padding-bottom:56px; }
body.home .content-area { padding:0; }
body.home .content-container.site-container { max-width:none; padding:0; }
body .single-content, #sfc, #sfcbold { margin:0; }
#sfc { padding:0; background:var(--sfc-paper); }
:is(#sfc,#sfcbold,.entry-content) * { box-sizing:border-box; }

/* Shared reading typography. Explicitly reaches nested Gutenberg blocks,
   archive descriptions and both legacy wrapper IDs. */
:is(#sfc,#sfcbold,.entry-content) p,
.archive-description p {
  max-width:var(--sfc-measure);
  margin:0 auto var(--sfc-paragraph-gap);
  padding:0;
  font-family:var(--sfc-serif); font-size:var(--sfc-prose); font-weight:400;
  line-height:var(--sfc-leading); font-variation-settings:"opsz" 16;
  color:var(--sfc-ink); text-wrap:pretty;
}
:is(#sfc,#sfcbold,.entry-content) :where(ul:not([class]),ol:not([class]),.wp-block-list) {
  max-width:var(--sfc-measure); margin:0 auto 20px; padding-left:24px;
  font-size:var(--sfc-prose); line-height:var(--sfc-leading);
}
:is(#sfc,#sfcbold,.entry-content) :where(ul:not([class]),ol:not([class]),.wp-block-list) li {
  margin:0 0 6px; padding:0;
}
:is(#sfc,#sfcbold,.entry-content) :is(h1,h2,h3,h4),
.entry-title, .page-title, .archive-title {
  max-width:var(--sfc-measure); margin-inline:auto; padding:0;
  font-family:var(--sfc-serif); font-weight:500; color:var(--sfc-ink);
  letter-spacing:0; text-wrap:balance;
}
:is(#sfc,#sfcbold,.entry-content) h1, .entry-title, .page-title, .archive-title {
  font-size:var(--sfc-h1); line-height:1.1; font-variation-settings:"opsz" 72;
  margin-top:0; margin-bottom:20px;
}
:is(#sfc,#sfcbold,.entry-content) h2 {
  font-size:var(--sfc-h2); line-height:1.2; font-variation-settings:"opsz" 40;
  margin-top:var(--sfc-section-gap); margin-bottom:16px;
}
:is(#sfc,#sfcbold,.entry-content) h3 {
  font-size:var(--sfc-h3); line-height:1.25; font-variation-settings:"opsz" 24;
  margin-top:40px; margin-bottom:12px;
}
:is(#sfc,#sfcbold,.entry-content) h4 {
  font-size:var(--sfc-h4); line-height:1.3; font-variation-settings:"opsz" 20;
  margin-top:28px; margin-bottom:10px;
}
:is(#sfc,#sfcbold,.entry-content) :is(strong,b) { font-weight:600; }
:is(#sfc,#sfcbold,.entry-content) a, body .author-box a {
  color:var(--sfc-ink); text-decoration:none; border-bottom:1px solid var(--sfc-accent);
}
:is(#sfc,#sfcbold,.entry-content) a:hover, body .author-box a:hover {
  color:var(--sfc-accent-text);
}
:focus-visible { outline:2px solid var(--sfc-accent); outline-offset:3px; }
:is(#sfc,#sfcbold,.entry-content) hr {
  max-width:var(--sfc-measure); margin:var(--sfc-section-gap) auto;
  border:0; border-top:1px solid var(--sfc-line);
}
:is(#sfc,#sfcbold,.entry-content) .lede {
  font-size:21px; line-height:1.5; font-variation-settings:"opsz" 28;
  color:var(--sfc-lede);
}
:is(#sfc,#sfcbold,.entry-content) :is(.kicker,.eyebrow,.meta),
#sfcbold .mono {
  max-width:var(--sfc-measure); margin:0 auto 14px;
  font-family:var(--sfc-mono); font-size:12px; font-weight:500;
  line-height:1.6; letter-spacing:.1em; text-transform:uppercase;
  font-variation-settings:normal; color:var(--sfc-accent-text);
}
:is(#sfc,#sfcbold,.entry-content) .byline {
  max-width:var(--sfc-measure); margin:0 auto 32px;
  font-family:var(--sfc-sans); font-size:14px; font-weight:600;
  line-height:1.6; letter-spacing:.01em; color:var(--sfc-gray);
}
:is(#sfc,#sfcbold,.entry-content) nav.crumb {
  max-width:var(--sfc-measure); margin:0 auto 28px;
  font-family:var(--sfc-sans); font-size:13px; font-weight:400;
  line-height:1.7; color:var(--sfc-gray);
}
:is(#sfc,#sfcbold,.entry-content) nav.crumb a {
  color:var(--sfc-gray); border-bottom:1px solid var(--sfc-line);
}
:is(#sfc,#sfcbold,.entry-content) nav.crumb a:hover { color:var(--sfc-accent-text); }
:is(#sfc,#sfcbold,.entry-content) nav.crumb span { padding:0 6px; color:var(--sfc-line); }
.sfc-page-head { margin:0; padding:0; }
body .archive-header { margin:0; padding:0; }
body .archive-description { margin:0; padding:0; }

/* Native WordPress posts use the same reading column and title rhythm. */
body.single-post #inner-wrap .content-container.site-container {
  max-width:calc(var(--sfc-shell) + 2 * var(--sfc-gutter));
}
body.single-post #inner-wrap .single-entry { margin-inline:0; }
body.single-post .single-entry > .entry-content-wrap > .entry-header {
  max-width:var(--sfc-measure); margin:0 auto 32px; padding:0;
}
body .kadence-breadcrumbs {
  max-width:var(--sfc-measure); margin:0 auto 28px; padding:0;
  font-size:13px; line-height:1.7; font-weight:400; text-transform:none;
}
body .kadence-breadcrumbs a {
  text-decoration:none; border-bottom:1px solid var(--sfc-line);
}
body .kadence-breadcrumbs :is(span,a) { text-transform:none; }
body .kadence-breadcrumbs .bc-delimiter { padding:0 6px; color:var(--sfc-line); }
body.single-post .single-entry > .entry-content-wrap > .entry-header .entry-meta {
  margin:0; font-size:14px; font-weight:600; line-height:1.6;
}
body .entry-related.alignfull {
  width:100%; margin:56px 0 0; padding:40px 0 0;
  border-top:1px solid var(--sfc-line);
}
body.single-post #inner-wrap .entry-related .content-container.site-container {
  max-width:var(--sfc-wide); padding:0; margin-inline:auto;
}
body #inner-wrap .entry-related-inner-content.alignwide { width:100%; max-width:100%; margin:0; padding:0; }
body .entry-related-title {
  max-width:var(--sfc-measure); margin:0 auto 28px;
  font-family:var(--sfc-serif); font-size:var(--sfc-h2); font-weight:500;
  line-height:1.2; font-variation-settings:"opsz" 40; text-align:left;
}
body #inner-wrap .entry-related .entry-content-wrap { padding:0; }
body #inner-wrap .entry-related .entry-header { margin:0; }
body #inner-wrap .entry-related .entry-title {
  max-width:none; margin:0 0 12px;
  font-size:20px; line-height:1.25; font-variation-settings:"opsz" 24;
}
body .entry-related .entry-title a { color:var(--sfc-ink); }
body .entry-related .entry-title a:hover { color:var(--sfc-accent-text); }
body .entry-related .entry-meta { margin:0; font-size:13px; line-height:1.5; }
body #inner-wrap .entry-related .splide__arrow {
  width:32px; height:32px; opacity:1; box-shadow:none;
  color:var(--sfc-ink); background:var(--sfc-paper); border:1px solid var(--sfc-line);
}
body #inner-wrap .entry-related .splide__arrow:hover { color:var(--sfc-accent-text); border-color:var(--sfc-accent); }
body #inner-wrap .entry-related .splide__pagination__page { background:var(--sfc-line); }
body #inner-wrap .entry-related .splide__pagination__page.is-active { background:var(--sfc-accent); }

/* Tables and images use the same 150px wings around the reading column. */
:is(#sfc,#sfcbold,.entry-content) :is(.tbl,.wp-block-table) {
  max-width:var(--sfc-wide); margin:32px auto; overflow-x:auto;
}
:is(#sfc,#sfcbold,.entry-content) table {
  width:100%; margin:0; border-collapse:collapse; table-layout:auto;
  font-family:var(--sfc-serif); font-variant-numeric:normal;
  background:transparent;
}
:is(#sfc,#sfcbold,.entry-content) th,
body.page-id-27 :is(#sfc,.entry-content) .wp-block-table tbody > tr:first-child > td {
  padding:0 22px 10px 0; border:0; border-bottom:1px solid var(--sfc-ink);
  font-family:var(--sfc-sans); font-size:14px; font-weight:600;
  line-height:normal; color:var(--sfc-gray); text-align:left; white-space:nowrap;
  background:transparent;
}
:is(#sfc,#sfcbold,.entry-content) td {
  padding:14px 22px 14px 0; border:0; border-bottom:1px solid var(--sfc-line);
  font-family:var(--sfc-serif); font-size:16px; font-weight:400;
  line-height:1.5; font-variation-settings:"opsz" 14;
  color:var(--sfc-ink); vertical-align:top; background:transparent;
}
:is(#sfc,#sfcbold,.entry-content) td:first-child { font-weight:500; }
/* Quotations use a quiet text inset, without a decorative rule or box. */
:is(#sfc,#sfcbold,.entry-content) blockquote {
  max-width:var(--sfc-measure); margin:24px auto; padding:0 0 0 24px;
  border:0; background:transparent;
}
:is(#sfc,#sfcbold,.entry-content) blockquote p {
  margin-block:0; font-style:italic; font-size:20px; line-height:1.5;
  font-variation-settings:"opsz" 20; color:var(--sfc-lede);
}
:is(#sfc,#sfcbold,.entry-content) blockquote p + p { margin-top:12px; }
:is(#sfc,#sfcbold,.entry-content) blockquote cite {
  display:block; margin-top:8px; font-family:var(--sfc-sans);
  font-size:13px; font-style:normal; line-height:1.5; color:var(--sfc-gray);
}
:is(#sfc,.entry-content) > :is(.wp-block-image,.wp-block-kadence-image),
#sfc figure.lecture, .entry-content .kb-gallery-wrap-id-27_24abd5-02 {
  max-width:var(--sfc-wide); margin:32px auto;
}
:is(#sfc,.entry-content) > :is(.wp-block-image,.wp-block-kadence-image) img,
#sfc figure.lecture img { display:block; width:100%; height:auto; }
:is(#sfc,.entry-content) figcaption {
  max-width:var(--sfc-measure); margin:12px auto 0;
  font-family:var(--sfc-sans); font-size:13px; line-height:1.5; color:var(--sfc-gray);
}

/* The company logo occupies the left wing; all company prose shares
   the same edge and measure as the introduction and other pages. */
body.page-id-64 .entry-content .wp-block-media-text {
  max-width:var(--sfc-wide); margin:var(--sfc-section-gap) auto 0;
  grid-template-columns:150px minmax(0,var(--sfc-measure));
  padding-right:150px; gap:0; align-items:start;
}
body.page-id-64 .entry-content .wp-block-media-text__media {
  width:120px; max-width:100%; margin:0; padding:4px 20px 0 0; align-self:start;
}
body.page-id-64 .entry-content .wp-block-media-text__media img { width:100%; height:auto; object-fit:contain; }
body.page-id-64 .entry-content .wp-block-media-text__content { min-width:0; padding:0; }
body.page-id-64 :is(#sfc,.entry-content) .wp-block-media-text h2 { margin-top:0; }

/* Shared lists: real excerpts in Newsreader, flat rows, no image cards. */
.category-card-grid { max-width:var(--sfc-measure); margin:40px auto 0; }
.category-card { margin:0; padding:26px 0; border-top:1px solid var(--sfc-line); }
:is(#sfc,#sfcbold,.entry-content) .category-card .cc-title,
:is(#sfc,#sfcbold,.entry-content) .card h3 {
  max-width:none; margin:0 0 8px; font-size:20px; font-weight:500;
  line-height:1.25; font-variation-settings:"opsz" 24;
}
.category-card-excerpt, .entry-content .category-card-excerpt p {
  max-width:var(--sfc-measure); margin:0 0 10px; padding:0;
  font-family:var(--sfc-serif); font-size:var(--sfc-prose); font-weight:400;
  line-height:var(--sfc-leading); font-variation-settings:"opsz" 16;
  color:var(--sfc-gray); text-wrap:pretty;
}
:is(#sfc,#sfcbold,.entry-content) .category-card-readmore {
  font-family:var(--sfc-sans); font-size:14px; font-weight:500; line-height:1.5;
  color:var(--sfc-accent-text); border-bottom:1px solid transparent;
}
:is(#sfc,#sfcbold,.entry-content) .category-card-readmore:hover { border-bottom-color:var(--sfc-accent); }
body .navigation.pagination { max-width:var(--sfc-measure); margin:36px auto 0; padding:0; }
body .navigation.pagination .nav-links { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:baseline; gap:22px; }
body :is(#sfc,.entry-content) .navigation.pagination .nav-links .page-numbers {
  display:inline-block; min-width:0; width:auto; height:auto; margin:0; padding:2px 0;
  font-family:var(--sfc-sans); font-size:15px; font-weight:400; line-height:1.4;
  color:var(--sfc-gray); background:transparent; box-shadow:none;
  border:0; border-radius:0;
}
body :is(#sfc,.entry-content) .navigation.pagination .nav-links .page-numbers.current {
  color:var(--sfc-ink); border-bottom:1px solid var(--sfc-accent);
}
body :is(#sfc,.entry-content) .navigation.pagination .nav-links .page-numbers:hover { color:var(--sfc-accent-text); }
.archive-post-list { max-width:var(--sfc-wide); margin:0 auto; padding:0; list-style:none; }
.archive-post-list li { margin:0; padding:18px 0; border-bottom:1px solid var(--sfc-line); }
.archive-post-list a { font-family:var(--sfc-serif); font-size:20px; font-weight:500; line-height:1.25; }
#sfc .cards { max-width:var(--sfc-wide); margin:40px auto 0; display:grid; gap:1px; background:var(--sfc-line); border-block:1px solid var(--sfc-line); }
#sfc .card { background:var(--sfc-paper); padding:26px 24px; }
#sfc .card p { max-width:none; margin:0; font-family:var(--sfc-sans); font-size:17px; line-height:1.5; color:var(--sfc-gray); }
#sfc .card p.meta { margin:0 0 10px; font-family:var(--sfc-mono); font-size:11px; font-weight:400; color:var(--sfc-accent-text); }
@media(min-width:760px) { #sfc .cards.two { grid-template-columns:1fr 1fr; } }
@media(min-width:980px) { #sfc .cards.three { grid-template-columns:repeat(3,1fr); } }

/* People profiles use the shared prose face and UI labels. */
:is(#sfc,#sfcbold,.entry-content) .section-label {
  max-width:var(--sfc-measure); margin:0 auto 14px;
  font-family:var(--sfc-sans); font-size:13px; font-weight:500;
  line-height:1.5; letter-spacing:0; text-transform:none;
  font-variation-settings:normal; color:var(--sfc-accent-text);
}
#sfc .profile-row {
  max-width:var(--sfc-wide); margin:40px auto 0; padding-block:26px;
  display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:40px;
  align-items:center; border-block:1px solid var(--sfc-line);
}
#sfc .profile-copy { min-width:0; }
#sfc .profile-copy h2 {
  max-width:none; margin:0 0 12px; font-size:var(--sfc-h3);
  line-height:1.25; font-variation-settings:"opsz" 24;
}
#sfc .profile-copy p { margin:0; color:var(--sfc-gray); }
#sfc .profile-copy .section-label { margin:0 0 10px; color:var(--sfc-accent-text); }
#sfc .profile-portrait { width:220px; max-width:100%; margin:0; }
#sfc .profile-portrait img { display:block; width:100%; height:auto; }
@media(max-width:759px) {
  #sfc .profile-row { grid-template-columns:minmax(0,1fr); gap:24px; }
  #sfc .profile-portrait { width:240px; }
}

/* Homepage composition; no separate palette or typography. */
#sfcbold { width:100%; position:static; overflow-x:clip; background:var(--sfc-paper); }
#sfcbold .wrap { max-width:var(--sfc-shell); margin:0 auto; padding:0 var(--sfc-gutter); }
#sfcbold .hero { padding:72px 0 58px; border-bottom:1px solid var(--sfc-line); }
#sfcbold .hero .grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
#sfcbold .hero :is(h1,.eyebrow,.lede) { margin-left:0; margin-right:0; }
#sfcbold .hero .lede strong { font-weight:500; }
#sfcbold .hero .lede:last-child { margin-bottom:0; }
#sfcbold .portrait { position:relative; width:100%; max-width:392px; margin:0 0 0 auto; }
#sfcbold .portrait img { display:block; width:100%; height:auto; aspect-ratio:520 / 760; filter:none; }
#sfcbold .portrait .tag { position:static; display:block; margin:12px 0 0; padding:0; background:transparent; }
#sfcbold .proof { border-bottom:1px solid var(--sfc-line); }
#sfcbold .proof .wrap { padding-block:26px; }
#sfcbold .stats { display:flex; flex-wrap:nowrap; justify-content:space-between; gap:24px; margin:0; }
#sfcbold .stat { display:block; min-width:0; }
#sfcbold .stat dt { font-family:var(--sfc-sans); font-size:13.5px; font-weight:600; line-height:1.5; white-space:nowrap; }
#sfcbold .stat dd { margin:5px 0 0; }
#sfcbold .stat dd a { font-family:var(--sfc-sans); font-size:13.5px; line-height:1.5; color:var(--sfc-gray); border:0; white-space:nowrap; }
#sfcbold .stat dd a:hover { color:var(--sfc-accent-text); }
#sfcbold section.block { padding:56px 0; }
#sfcbold .block .kicker { margin-left:0; }
#sfcbold .block h2.section { max-width:none; margin:0 0 16px; white-space:normal; }
#sfcbold :is(.whois,.writing) .wrap {
  max-width:calc(var(--sfc-measure) + 2 * var(--sfc-gutter));
}
#sfcbold .triad { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:32px; border-top:1px solid var(--sfc-line); }
#sfcbold .facet { min-width:0; padding:26px 30px 0 0; }
#sfcbold .facet:not(:first-child) { padding-left:30px; border-left:1px solid var(--sfc-line); }
#sfcbold .facet h3 { margin:0 0 12px; }
#sfcbold .facet p { margin:0; }
#sfcbold .whois-body { max-width:var(--sfc-measure); margin-top:20px; }
#sfcbold .whois-body p { margin-inline:0; }
#sfcbold .quote { background:transparent; border-block:1px solid var(--sfc-line); }
#sfcbold .quote .wrap { padding-block:56px; }
#sfcbold .quote blockquote { padding:0; border:0; margin:0 auto; font-family:var(--sfc-serif); font-size:24px; font-weight:400; font-style:italic; line-height:1.35; font-variation-settings:"opsz" 40; color:var(--sfc-lede); }
#sfcbold .quote cite { display:block; max-width:var(--sfc-measure); margin:20px auto 0; font-family:var(--sfc-sans); font-size:14px; font-style:normal; color:var(--sfc-gray); }
#sfcbold .why .wrap { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; }
#sfcbold .why h2.term { margin:0 0 16px; }
#sfcbold .why p { margin-left:0; margin-right:0; }
#sfcbold .pieces { list-style:none; padding:0; margin:32px 0 0; }
#sfcbold .pieces li { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:0; padding:26px 0; border-top:1px solid var(--sfc-line); }
#sfcbold .pieces a { font-family:var(--sfc-serif); font-size:20px; font-weight:500; line-height:1.25; font-variation-settings:"opsz" 24; }
#sfcbold .pieces span { font-family:var(--sfc-sans); font-size:14px; line-height:1.5; color:var(--sfc-gray); }

/* Shared chrome. Kadence's header ID rules require matching specificity. */
body #masthead .site-branding a.brand img { width:40px; height:40px; aspect-ratio:1; object-fit:contain; }
body #masthead { border-bottom:1px solid var(--sfc-line); box-shadow:none; }
body #masthead .site-container {
  width:100%; max-width:var(--sfc-shell); margin-inline:auto;
  padding-inline:var(--sfc-gutter);
}
body #colophon { border-top:1px solid var(--sfc-line); }
body #masthead .site-branding .site-title,
body #masthead .site-branding .site-title a {
  font-family:var(--sfc-sans); font-size:26px; font-weight:700;
  line-height:1.2; color:var(--sfc-ink);
}
body #masthead, body #mobile-drawer, body #colophon { font-variation-settings:normal; }
body #masthead .site-branding .site-title a:hover { color:var(--sfc-accent-text); }
body #masthead .primary-menu-container > ul > li > a {
  font-family:var(--sfc-sans); font-size:13px; font-weight:600; color:var(--sfc-ink);
}
body #masthead .primary-menu-container a:hover { color:var(--sfc-accent-text); }
body #masthead .primary-menu-container .sub-menu { background:var(--sfc-paper); border:1px solid var(--sfc-line); box-shadow:none; }
body #masthead .primary-menu-container .sub-menu a { font-family:var(--sfc-sans); font-size:13px; font-weight:600; line-height:1.6; color:var(--sfc-ink); background:transparent; }
body #masthead .primary-menu-container .sub-menu a:hover { color:var(--sfc-accent-text); background:transparent; }
body #mobile-toggle { color:var(--sfc-accent-text); }
body #mobile-drawer .drawer-inner,
body #mobile-drawer .drawer-header,
body #mobile-drawer .drawer-content { background:var(--sfc-paper); color:var(--sfc-ink); }
body #mobile-drawer .menu a { font-family:var(--sfc-sans); font-size:18px; font-weight:600; color:var(--sfc-ink); }
body #mobile-drawer .menu a:hover, body #mobile-drawer .drawer-toggle { color:var(--sfc-accent-text); }
body #mobile-drawer .drawer-sub-toggle { color:var(--sfc-accent-text); background:transparent; }
body .site-top-footer-wrap, body .site-middle-footer-wrap { display:none; }
body .site-bottom-footer-wrap .site-container { max-width:var(--sfc-shell); padding:0; }
body .site-bottom-footer-inner-wrap { padding:38px var(--sfc-gutter) 44px; justify-content:flex-start; }
body .site-footer-bottom-section-1, body .footer-html, body .footer-html-inner { text-align:left; width:100%; }
body .footer-html { margin:0; font-family:var(--sfc-sans); }
body .footer-html-inner p { margin:0; }
body .footer-html-inner br { display:none; }
body .footer-html .f-brand { display:block; margin-bottom:14px; font-family:var(--sfc-sans); font-size:15px; font-weight:600; line-height:1.5; letter-spacing:.01em; color:var(--sfc-ink); }
body .footer-html .f-links { display:flex; flex-wrap:wrap; align-items:baseline; gap:9px 20px; margin-bottom:18px; }
body .footer-html .f-links a { font-family:var(--sfc-sans); font-size:14px; font-weight:400; line-height:1.5; color:var(--sfc-ink); text-decoration:none; border-bottom:1px solid transparent; }
body .footer-html .f-links a:hover { color:var(--sfc-accent-text); border-bottom-color:var(--sfc-accent); }
body .footer-html .f-links .f-pref { color:var(--sfc-accent-text); }
body .footer-html .f-legal { display:block; font-family:var(--sfc-sans); font-size:13px; line-height:1.5; color:var(--sfc-gray); }
body .kadence-breadcrumbs, body .entry-meta, body .entry-taxonomies,
body .post-navigation, body .pagination { font-family:var(--sfc-sans); font-variation-settings:normal; color:var(--sfc-gray); }
body .kadence-breadcrumbs { font-size:13px; }
body .entry-meta { font-size:14px; }
body :is(.kadence-breadcrumbs,.entry-meta,.entry-taxonomies,.post-navigation) a { color:var(--sfc-gray); }
body :is(.kadence-breadcrumbs,.entry-meta,.entry-taxonomies,.post-navigation) a:hover { color:var(--sfc-accent-text); }

/* Plugin-generated inline surfaces: the only important declarations needed
   here. No changes to plugin data, entity roles, links, or schema. */
body .kalicube-accordion, body .kalicube-accordion > summary,
body .pillar-link-section, body .entry-related, body .entry-related.alignfull {
  background:transparent !important; box-shadow:none !important;
  border-radius:0 !important; border-color:var(--sfc-line) !important;
}
body .kalicube-accordion > summary { font-family:var(--sfc-sans); color:var(--sfc-ink); }
body #kali-about-accordion > summary { font-size:14px !important; font-weight:400 !important; line-height:1.5; }
body .kalicube-entity-stub { font-family:var(--sfc-sans); font-size:14px; color:var(--sfc-ink); border-top-color:var(--sfc-line) !important; }
body .kalicube-entity-stub a { color:var(--sfc-ink) !important; border-bottom:1px solid var(--sfc-accent); }
body .kalicube-entity-stub a:hover { color:var(--sfc-accent-text) !important; }
body #wrapper .kalicube-accordion table :is(th,td) { background:transparent !important; border:0 !important; border-bottom:1px solid var(--sfc-line) !important; }
body #wrapper .kalicube-accordion table th { font-family:var(--sfc-sans); color:var(--sfc-gray) !important; }
body .splide__arrow { box-shadow:none; background:transparent; border-radius:0; color:var(--sfc-ink); }

/* Reference document navigation and author block. */

#sfc .doc{max-width:var(--sfc-shell);margin-inline:auto;padding:0 24px;font-size:14px;line-height:normal;}
#sfc .toc{display:none}
.doc-body{min-width:0}
#sfc .doc-body > .wp-block-kadence-image{margin:14px 40px;}
#sfc .doc-body > .wp-block-kadence-image img{display:inline;width:100%;height:auto;}
@media(min-width:1080px){
  .doc.has-toc{display:grid;grid-template-columns:232px minmax(0,1fr);gap:88px 56px;align-items:start;}
  #sfc .toc{display:block;position:sticky;top:64px;max-height:calc(100vh - 96px);overflow-y:auto;
       padding-right:8px;}
}
#sfc .toc p.toc-label{max-width:none;margin:0 0 6px;padding:0 0 8px;
  border-bottom:1px solid var(--sfc-line);font-family:var(--sfc-sans);font-size:14px;
  font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--sfc-accent);}
#sfc .toc ul{list-style:none;margin:0;padding:0;border-left:0;font-size:inherit;line-height:normal;}
#sfc .toc li{max-width:none;font-size:inherit;line-height:inherit;margin:0;}
#sfc .toc a{display:block;position:relative;font-family:var(--sfc-sans);font-size:14px;
  font-weight:400;line-height:1.5;color:var(--sfc-gray);text-decoration:none;padding:6px 0 6px 24px;
  margin-left:0;border:0;}
#sfc .toc a::before{content:"";position:absolute;left:6px;top:calc(6px + .75em - 3px);
  width:6px;height:6px;border-radius:50%;background:currentColor;}
#sfc .toc a:hover,#sfc .toc a.is-active,#sfc .toc a[aria-current="location"]{color:var(--sfc-accent);}
#sfc .toc .toc-sub{margin-left:18px;}
.toc::-webkit-scrollbar{width:6px}
.toc::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
#sfc h2[id],#sfc h3[id]{scroll-margin-top:28px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}


#sfc .authorline{display:flex;gap:16px;align-items:flex-start;
  max-width:var(--measure);margin:0 auto 34px;padding-top:4px;}
#sfc .authorline .avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;
  flex:0 0 56px;display:block;filter:none;}
#sfc .authormeta{min-width:0;}
#sfc .authormeta p{margin:0;max-width:none;font-family:var(--sans);}
#sfc .byname{font-size:15px;font-weight:600;line-height:1.35;color:var(--ink);}
#sfc .byname a{border-bottom:0;color:inherit;}
#sfc .byname a:hover{color:var(--sfc-accent-text);}
#sfc .byrole{font-size:13.5px;line-height:1.45;color:var(--gray);margin-top:2px!important;}
#sfc .byrole a{border-bottom:1px solid var(--line);color:inherit;}
#sfc .byrole a:hover{border-bottom-color:var(--accent);}
#sfc .bymeta{font-family:var(--mono)!important;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gray);margin-top:8px!important;}
#sfc .bymeta .dot{padding:0 8px;color:var(--line);}
#sfc .reviewed{font-size:13.5px;line-height:1.45;color:var(--gray);margin-top:4px!important;}
#sfc .reviewed a{border-bottom:1px solid var(--line);color:inherit;}
@media(min-width:1080px){
  #sfc .doc.has-toc .doc-head .authorline{margin-left:0;margin-right:0;}
}


@media(min-width:1080px){
  #sfc .doc.has-toc .doc-head{grid-column:1 / -1;margin-bottom:0;max-width:none;}
  #sfc .doc.has-toc .doc-head > *{margin-left:0;margin-right:0;}
  #sfc .doc.has-toc .doc-head nav.crumb,#sfc .doc.has-toc .doc-head .kicker,
  #sfc .doc.has-toc .doc-head .byline{margin-left:0;margin-right:0;}
  #sfc .doc.has-toc .doc-head h1{max-width:min(900px,100%);font-size:clamp(34px,4.2vw,46px);margin-left:0;}
  #sfc .doc.has-toc .doc-body p,#sfc .doc.has-toc .doc-body li,
  #sfc .doc.has-toc .doc-body h1,#sfc .doc.has-toc .doc-body h2,
  #sfc .doc.has-toc .doc-body h3,#sfc .doc.has-toc .doc-body h4,
  #sfc .doc.has-toc .doc-body blockquote,#sfc .doc.has-toc .doc-body .lede,
  #sfc .doc.has-toc .doc-body .kicker{margin-left:0;margin-right:0;}
  #sfc .doc.has-toc .doc-body :is(.tbl,.wp-block-table){max-width:100%;margin-left:0;margin-right:0;}
}


/* One mobile treatment, applied after every component. */
@media(max-width:881px) {
  #sfcbold .stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
  #sfcbold .stat dt, #sfcbold .stat dd a { white-space:normal; }
  body.page-id-64 .entry-content .wp-block-media-text {
    grid-template-columns:110px minmax(0,1fr); padding-right:0;
  }
  #sfcbold .hero .grid, #sfcbold .why .wrap { grid-template-columns:1fr; gap:28px; }
  #sfcbold .portrait { max-width:340px; margin-inline:auto; }
  #sfcbold .triad { grid-template-columns:1fr; }
  #sfcbold .facet, #sfcbold .facet:not(:first-child) { padding:26px 0; border-left:0; border-bottom:1px solid var(--sfc-line); }
}
@media(max-width:781px) {
  :root, body { --sfc-section-gap:40px; }
  body .content-area { padding-top:32px; padding-bottom:56px; }
  body.category .site-container.entry-content { padding-top:32px; padding-bottom:40px; }
  body .entry-related.alignfull { margin-top:40px; padding-top:32px; }
  :is(#sfc,#sfcbold,.entry-content) :is(h1,h2,h3,h4), .entry-title, .page-title, .archive-title { text-wrap:pretty; overflow-wrap:break-word; }
  #sfc, #sfc .doc { padding-inline:0; }
  #sfc .doc-body > .wp-block-kadence-image { margin-inline:0; }
  #sfcbold .hero { padding:40px 0; }
  #sfcbold section.block { padding:40px 0; }
  #sfcbold .quote .wrap { padding-block:40px; }
  #sfcbold .proof .wrap { gap:14px 24px; }
  .category-card, #sfcbold .pieces li { padding-block:20px; }
  body .site-bottom-footer-inner-wrap { padding:26px var(--sfc-gutter) 30px; }
  body .footer-html .f-links { gap:8px 16px; }
}
@media(max-width:600px) {
  body.page-id-64 .entry-content .wp-block-media-text { grid-template-columns:1fr; gap:20px; }
  body.page-id-64 .entry-content .wp-block-media-text__media { width:110px; padding:0; }
  body.page-id-64 .entry-content .wp-block-media-text__content { grid-column:1; grid-row:2; }
  body #masthead .site-branding .site-title, body #masthead .site-branding .site-title a { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { html, #sfcbold { scroll-behavior:auto; } }

#sfc .pullsource{max-width:var(--sfc-measure);margin:28px auto;padding:20px 24px;border-block:1px solid var(--sfc-line);}
#sfc .pullsource p{font-style:italic;font-size:21px;line-height:1.4;color:var(--sfc-lede);margin:0 0 10px;}
#sfc .pullsource cite{font-family:var(--sfc-sans);font-style:normal;font-size:13px;color:var(--sfc-gray);}

/* September 10: tighter About/method rhythm, retaining the shared reading typography. */
body.page-id-27,body.sfc-method{--sfc-section-gap:40px;}
:is(body.page-id-27,body.sfc-method) .content-area{padding-top:40px;padding-bottom:64px;}
:is(body.page-id-27,body.sfc-method) #sfc .doc-head h1{margin-bottom:16px;}
:is(body.page-id-27,body.sfc-method) #sfc .doc-head .byline{margin-bottom:16px;}
@media(min-width:1080px){:is(body.page-id-27,body.sfc-method) #sfc .doc.has-toc{row-gap:40px;}}
@media(max-width:781px){:is(body.page-id-27,body.sfc-method) .content-area{padding-top:32px;padding-bottom:56px;}}
