@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-400-800-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-400-800-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
 --paper:#FFFFFF;--wash:#F5F7F4;--wash-rgb:245 247 244;--tint:#F2F7F3;--well:#ECF1ED;--field:#FFFFFF;
 --line-strong:#D4D8D6;--line:#DDE4DE;--ink:#0E120F;--ink-2:#3A3D3A;--muted:#686B67;--link:#2A63A8;
 --btn:#268708;--btn-hover:#1E6E06;--btn-ink:#FFFFFF;--s1:#3E9A12;--s2:#3A7FCF;--s3:#E8761E;
 --code-bg:#0E120F;--code-ink:#E9EFE9;
 --gutter:clamp(16px,3.4vw,50px);
 --font:var(--gh-font-body,'Open Sans'),system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
 --font-h:var(--gh-font-heading,'Open Sans'),system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
 --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.scheme-night{
 --paper:#111613;--wash:#18201B;--wash-rgb:24 32 27;--tint:#1A251E;--well:#223027;--field:#0E1310;
 --line-strong:#6E8476;--line:#2D3B32;--ink:#F2F5F1;--ink-2:#C9D1CA;--muted:#9EA79F;--link:#8DC1F6;
 --btn:#268708;--btn-hover:#1E6E06;--s1:#5DBB2B;--s2:#5C9EEA;--s3:#F28C3C;--code-bg:#060907;
}
.scheme-blue{
 --wash:#E9F1FB;--wash-rgb:233 241 251;--tint:#EDF3FB;--well:#E1EAF6;--line:#D8E2EF;--line-strong:#C3D1E3;
 --link:#1F5FA8;--btn:#1D5BA6;--btn-hover:#174C8C;--muted:#5D6570;
 --side-bg:#1D4F8F;--side-ink:#E3EDF9;--side-h:#FFFFFF;--side-link:#FFFFFF;--side-first:#FFD8AE;
 --side-line:rgb(255 255 255 / .2);--side-s2:#9CCBFF;--side-well:#173F73;
}
/* side-* defaults live on body so they resolve against the scheme tokens set on body */
body{--side-bg:var(--tint);--side-ink:var(--ink-2);--side-h:var(--ink);--side-link:var(--link);--side-first:var(--link);
 --side-line:var(--line);--side-s2:var(--s2);--side-well:var(--well)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink-2);font-family:var(--font);font-size:17px;line-height:1.6;
 -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--s2);outline-offset:2px}
h1,h2,h3{font-family:var(--font-h);color:var(--ink)}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);color:var(--ink);padding:8px 14px;z-index:20}
.skip:focus{left:8px}

/* motif: three brush strokes */
.strokes{display:block;overflow:visible}
.strokes path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-width:4px}
.strokes .st1{stroke:var(--s1)}.strokes .st2{stroke:var(--s2)}.strokes .st3{stroke:var(--s3)}
.side .strokes .st2{stroke:var(--side-s2)}
.strokes-hero{width:clamp(190px,26.7vw,400px);height:14px;margin:clamp(14px,1.6vw,24px) 0 clamp(16px,1.9vw,28px)}
.strokes-hero path{stroke-width:clamp(5px,.56vw,8px)}
.strokes-sm{width:clamp(110px,10.8vw,156px);height:8px;margin:2px 0 12px}
.strokes-head{width:clamp(150px,15vw,220px);height:12px;margin:2px 0 16px}
.strokes-head path{stroke-width:6px}

/* header */
.site-head{background:var(--paper);position:relative;z-index:10}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:0 var(--gutter)}
.brand{font-family:var(--font-h);font-weight:800;font-size:clamp(22px,2.1vw,30px);letter-spacing:-.02em;color:var(--ink);
 text-decoration:none;white-space:nowrap}
.brand-logo{display:block;max-height:40px;width:auto}
.site-nav .nav{display:flex;flex-wrap:wrap;gap:4px clamp(16px,1.75vw,26px);list-style:none;margin:0;padding:0}
.site-nav a{color:var(--ink-2);text-decoration:none;font-size:clamp(14px,1.08vw,15.5px);white-space:nowrap}
.site-nav a:hover,.site-nav .nav-current a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--s1);
 text-decoration-thickness:3px;text-underline-offset:7px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px 9px;cursor:pointer;color:var(--ink)}
.menu-btn span{display:block;height:2.5px;margin:5px 0;background:currentColor;border-radius:2px}

/* hero */
.hero{position:relative;display:flex;align-items:center;min-height:clamp(470px,41.7vw,680px);background:var(--wash);overflow:hidden}
.hero-photo{position:absolute;inset:0;display:block;margin:0}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--wash) 0%,var(--wash) 27%,
 rgb(var(--wash-rgb) / .9) 38%,rgb(var(--wash-rgb) / .45) 49%,rgb(var(--wash-rgb) / 0) 60%)}
.scheme-night .hero-photo::after{background:linear-gradient(90deg,var(--wash) 0%,var(--wash) 44%,
 rgb(var(--wash-rgb) / .92) 53%,rgb(var(--wash-rgb) / .5) 59%,rgb(var(--wash-rgb) / 0) 67%)}
.hero-inner{position:relative;z-index:1;width:min(52%,760px);padding:clamp(40px,4vw,64px) 0 clamp(40px,4vw,64px) clamp(16px,3.7vw,54px)}
.hero h1{margin:0;font-weight:400}
.h1-display{display:block;font-size:clamp(44px,7.25vw,106px);font-weight:800;line-height:.98;letter-spacing:-.032em;color:var(--ink)}
.h1-lead{display:block;max-width:20em;font-size:clamp(18px,1.88vw,27px);font-weight:400;line-height:1.38;color:var(--ink);
 letter-spacing:-.005em;margin-bottom:clamp(20px,2.4vw,34px)}
.btn{display:inline-block;background:var(--btn);color:var(--btn-ink);font-family:var(--font-h);font-weight:700;
 font-size:clamp(17px,1.65vw,24px);line-height:1.2;padding:.68em 1.4em;border:0;border-radius:3px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--btn-hover);color:var(--btn-ink)}

/* home body: main column + tinted sidebar */
.home-grid,.list-grid{display:grid;grid-template-columns:67.9fr 32.1fr;align-items:stretch}
.entries{padding:clamp(28px,2.6vw,40px) clamp(20px,3.2vw,46px) clamp(48px,4.4vw,64px) var(--gutter);min-width:0}
.entry+.entry{margin-top:clamp(30px,2.9vw,44px)}
.entry-media{display:block}
.entry-media img{display:block;width:100%;height:auto;aspect-ratio:2.9;object-fit:cover}
.entry:nth-of-type(2) .entry-media img{aspect-ratio:3.15}
.entry:nth-of-type(3) .entry-media img{aspect-ratio:3.3}
.entry-title{font-size:clamp(23px,2.15vw,31px);font-weight:800;line-height:1.12;letter-spacing:-.024em;margin:16px 0 8px;max-width:30em}
.entry-title a,.row-title a{color:var(--ink);text-decoration:none;background-image:linear-gradient(90deg,var(--s1) 0 33.3%,var(--s2) 33.3% 66.6%,var(--s3) 66.6%);
 background-repeat:no-repeat;background-position:0 100%;background-size:0 4px;transition:background-size .25s ease}
.entry-title a:hover,.entry-title a:focus-visible,.row-title a:hover{background-size:100% 4px}
.entry-dek{margin:0;max-width:85%;font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:var(--ink-2)}

.side{background:var(--side-bg);color:var(--side-ink);padding:clamp(20px,1.7vw,26px) clamp(18px,2.2vw,34px) 56px;min-width:0}
.side-well{background:var(--side-well);border-radius:4px;padding:8px}
.side-search{display:flex;align-items:center;justify-content:space-between;width:100%;height:46px;padding:0 12px 0 14px;
 background:var(--field);border:1px solid var(--line-strong);border-radius:3px;color:var(--muted);font:inherit;font-size:16px;cursor:pointer;text-align:left}
.side-search .i-search{color:var(--ink-2)}
.side-h{font-size:clamp(21px,1.95vw,28px);font-weight:800;letter-spacing:-.018em;line-height:1.2;color:var(--side-h);margin:30px 0 6px}
.side-list{list-style:none;margin:0 0 6px;padding:0}
.side-list li{border-bottom:1px solid var(--side-line)}
.side-list a{display:block;padding:10px 0;font-size:clamp(15.5px,1.28vw,18.5px);line-height:1.35;color:var(--side-ink);text-decoration:none}
.side-list a:hover{text-decoration:underline;text-decoration-color:var(--s3);text-underline-offset:4px}
.side-start li:first-child a,.side-topics a{color:var(--side-link)}
.side-start li:first-child a{color:var(--side-first)}
.opens{width:100%;border-collapse:collapse;font-size:clamp(14px,1.05vw,15.5px);line-height:1.35;color:var(--side-ink)}
.opens th{text-align:left;font-weight:700;color:var(--side-h);padding:6px 8px 6px 0;border-bottom:1px solid var(--side-line)}
.opens td{padding:8px 8px 8px 0;border-bottom:1px solid var(--side-line);vertical-align:top}
.opens td:last-child,.opens th:last-child{padding-right:0;white-space:nowrap}

/* footer */
.site-foot{background:var(--paper);border-top:1px solid var(--line)}
.foot-row{display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;padding:14px var(--gutter);
 font-size:13.5px;line-height:1.5;color:var(--muted)}
.foot-text p{margin:0}
.foot-nav .nav{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.foot-nav a{color:var(--ink-2);text-decoration:none}
.foot-nav a:hover{text-decoration:underline}

/* article */
.article-head{background:var(--wash);padding:clamp(30px,4vw,60px) var(--gutter) clamp(70px,7vw,110px)}
.article-head-in{max-width:880px;margin:0 auto}
.crumbs{font-size:14px;color:var(--muted)}
.crumbs a{color:var(--link);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.article-head h1{font-size:clamp(32px,4.3vw,60px);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin:14px 0 14px}
.dek{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--ink-2);margin:0 0 14px;max-width:38em}
.byline{font-size:14.5px;color:var(--muted);margin:0}
.byline a{color:var(--ink-2)}
.post-feature{max-width:1120px;margin:clamp(-90px,-5.5vw,-48px) auto 0;padding:0 var(--gutter)}
.post-feature img{display:block;width:100%;height:auto}
.post-feature figcaption,.gh-content figcaption{font-size:14.5px;line-height:1.5;color:var(--muted);margin-top:8px}
.no-feature{height:1px}
.gh-content{max-width:calc(720px + 2 * var(--gutter));margin:clamp(30px,3.6vw,52px) auto;padding:0 var(--gutter);font-size:clamp(17px,1.25vw,18.5px);line-height:1.72;color:var(--ink-2)}
.gh-content>*+*{margin-top:1.15em}
.gh-content h2{font-size:clamp(24px,2.3vw,32px);font-weight:800;line-height:1.18;letter-spacing:-.02em;margin:1.9em 0 .5em}
.gh-content h3{font-size:clamp(20px,1.7vw,24px);font-weight:800;margin:1.6em 0 .4em}
.gh-content a{text-underline-offset:3px}
.gh-content ol,.gh-content ul{padding-left:1.3em}
.gh-content li+li{margin-top:.45em}
.gh-content table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:16px;line-height:1.5}
.gh-content th,.gh-content td{text-align:left;vertical-align:top;padding:10px 14px 10px 0;border-bottom:1px solid var(--line)}
.gh-content thead th{color:var(--ink);font-weight:700;border-bottom:2px solid var(--ink)}
.gh-content tbody th{color:var(--ink);font-weight:700;white-space:nowrap}
.gh-content code,.gh-content kbd,.gh-content pre{font-family:var(--mono)}
.gh-content code{font-size:.86em;background:var(--well);padding:.12em .36em;border-radius:3px;color:var(--ink)}
.gh-content kbd{font-size:.82em;background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;padding:.08em .4em}
.gh-content pre{background:var(--code-bg);color:var(--code-ink);padding:18px 20px;border-radius:3px;overflow-x:auto;font-size:15px;line-height:1.55;border-left:5px solid var(--s1)}
.gh-content pre code{background:none;padding:0;color:inherit;font-size:inherit}
.gh-content figure{margin-left:0;margin-right:0}
.gh-content figure img{display:block;width:100%;height:auto}
.gh-content blockquote{margin-left:0;padding-left:20px;border-left:5px solid var(--s2);color:var(--ink);font-size:1.08em}
.gh-content hr{border:0;border-top:1px solid var(--line)}
.gh-content .kg-width-wide{--w:min(1040px,calc(100vw - 2 * var(--gutter)));width:var(--w);max-width:none;margin-left:calc(50% - var(--w) / 2)}
.gh-content .kg-width-full{--w:100vw;width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
.kg-callout-card{display:flex;gap:12px;background:var(--tint);border-left:5px solid var(--btn);padding:16px 20px;color:var(--ink);border-radius:0 3px 3px 0}
.kg-callout-emoji{flex:none}
.kg-bookmark-card a{color:inherit}
.article-foot{max-width:calc(720px + 2 * var(--gutter));margin:0 auto clamp(40px,4vw,64px);padding:0 var(--gutter)}
.tag-line{font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.bio{display:flex;gap:18px;align-items:flex-start;background:var(--tint);padding:20px 22px;margin-top:18px}
.bio img{border-radius:50%;flex:none}
.bio-mark{flex:none;width:64px;padding-top:12px}
.strokes-bio{width:64px;height:8px}
.bio p{margin:0;font-size:15.5px;line-height:1.55}
.bio-name{font-weight:800;font-size:17px}
.bio-name a{color:var(--ink);text-decoration:none}
.related{background:var(--tint);padding:clamp(36px,4vw,60px) var(--gutter)}
.related-in{max-width:1120px;margin:0 auto}
.related h2{font-size:clamp(22px,2vw,28px);font-weight:800;letter-spacing:-.018em;margin:0 0 6px}

/* rows (lists, related) */
.rows{list-style:none;margin:0;padding:0}
.row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.row-img{display:block}
.row-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.row-ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--wash)}
.strokes-ph{width:60%;height:12px}
.row-tag{font-size:14px;font-weight:600;color:var(--link);text-decoration:none}
.row-title{font-size:clamp(19px,1.6vw,23px);font-weight:800;line-height:1.22;letter-spacing:-.015em;margin:4px 0 6px}
.row-excerpt{margin:0 0 6px;font-size:16px;line-height:1.55;color:var(--ink-2)}
.row-meta{margin:0;font-size:14px;color:var(--muted)}

/* list pages */
.list-head{background:var(--wash);position:relative}
.cover-band{margin:0}
.cover-band img{display:block;width:100%;height:clamp(200px,24vw,360px);object-fit:cover}
.list-card{padding:clamp(30px,3.6vw,54px) var(--gutter) clamp(26px,3vw,40px);max-width:980px}
.has-cover .list-card{position:relative;background:var(--wash);margin:clamp(-110px,-6vw,-60px) 0 0 var(--gutter);padding:clamp(22px,2.6vw,38px) clamp(20px,2.8vw,42px) clamp(24px,2.6vw,36px);max-width:820px}
.list-card h1{font-size:clamp(36px,5vw,72px);font-weight:800;line-height:1.02;letter-spacing:-.032em;margin:10px 0 10px}
.lede{font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:var(--ink-2);margin:0;max-width:36em}
.list-meta{margin:10px 0 0}
.author-avatar{border-radius:50%}
.list-main{padding:clamp(24px,2.6vw,40px) clamp(20px,3.2vw,46px) clamp(40px,4vw,64px) var(--gutter);min-width:0}
.list-h{font-size:clamp(21px,1.9vw,27px);font-weight:800;letter-spacing:-.018em;margin:0 0 4px}
.pagination{display:flex;align-items:center;gap:20px;margin-top:26px;font-size:15.5px;color:var(--muted)}
.pagination a{font-weight:700;color:var(--link)}

/* error */
.error-band{background:var(--wash);padding:clamp(40px,5vw,80px) var(--gutter)}
.err-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,64px);align-items:center;max-width:1240px;margin:0 auto}
.err-code{font-family:var(--font-h);font-size:clamp(72px,10vw,150px);font-weight:800;line-height:.95;letter-spacing:-.045em;color:var(--ink);margin:0}
.err-text h1{font-size:clamp(26px,2.6vw,38px);font-weight:800;letter-spacing:-.02em;margin:8px 0 10px}
.err-btn{margin:10px 0 22px}
.err-hubs{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0;padding:0}
.err-photo{margin:0}
.err-photo img{display:block;width:100%;height:auto}

/* menu + responsive */
@media (max-width:1179px){
 .menu-btn{display:block}
 .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);padding:8px var(--gutter) 16px;box-shadow:0 12px 24px rgb(0 0 0 / .08)}
 .site-head.is-open .site-nav{display:block}
 .site-nav .nav{display:block}
 .site-nav li{border-bottom:1px solid var(--line)}
 .site-nav li:last-child{border-bottom:0}
 .site-nav a{display:block;padding:12px 0;font-size:17px}
}
@media (max-width:979px){
 .hero{display:block;min-height:0}
 .hero-photo{position:relative;height:clamp(270px,72vw,520px)}
 .hero-photo img{object-position:70% 50%}
 .hero-photo::after,.scheme-night .hero-photo::after{background:linear-gradient(180deg,rgb(var(--wash-rgb) / 0) 78%,rgb(var(--wash-rgb) / .7) 92%,var(--wash) 100%)}
 .hero-inner{width:auto;padding:6px var(--gutter) 36px}
 .home-grid,.list-grid{display:block}
 .entries,.list-main{padding:28px var(--gutter) 40px}
 .entry-dek{max-width:none}
 .side{padding:28px var(--gutter) 40px}
 .side-h:first-of-type{margin-top:26px}
 .err-grid{grid-template-columns:1fr}
}
@media (max-width:699px){
 body{font-size:16.5px}
 .row{grid-template-columns:1fr;gap:12px}
 .row-img img{aspect-ratio:2/1}
 .has-cover .list-card{margin:-40px var(--gutter) 0;padding:20px 18px 22px}
 .foot-row{display:block}
 .foot-nav{margin-top:10px}
 .gh-content tbody th{white-space:normal}
 .gh-content code{overflow-wrap:anywhere}
 .gh-content pre code{white-space:pre-wrap}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* Route A additions. Original palette, type, photos and 67.9/32.1 proportions are retained. */
.bb-meta{margin:0 0 10px;font-size:14px;color:var(--muted);line-height:1.55}
.bb-meta a{color:var(--link);text-underline-offset:3px}
.bb-latest-h{margin:34px 0 18px}
.bb-tail ol{list-style:none;padding:0;margin:0}
.bb-tail-post{margin:22px 0}
.bb-tail-post time,.bb-tail-post>span{font-size:14px;color:var(--side-ink)}
.bb-tail-post h3{font-size:clamp(18px,1.5vw,22px);line-height:1.22;letter-spacing:-.014em;font-weight:800;color:var(--side-h);margin:5px 0}
.bb-tail-post h3 a{color:inherit;text-decoration:none}
.bb-tail-post h3 a:hover{text-decoration:underline;text-decoration-color:var(--s3);text-underline-offset:3px}
.bb-tail-post p{font-size:14px;line-height:1.45;margin:0}
.bb-tail-post p a,.bb-older a{color:var(--side-link);text-underline-offset:3px}
.bb-older{font-size:15px;font-weight:700;margin:26px 0}
.bb-hub-grid{display:grid;grid-template-columns:67.9fr 32.1fr;align-items:stretch}
.bb-hub-main{padding:30px clamp(20px,3.2vw,46px) 50px var(--gutter);min-width:0}
.bb-hub-main>.list-h{margin:0 0 30px}
.bb-hub{margin:0 0 38px;max-width:48em}
.bb-hub:last-child{margin-bottom:0}
.bb-hub h3{font-size:clamp(24px,2.3vw,33px);font-weight:800;line-height:1.1;letter-spacing:-.022em;margin:0 0 9px}
.bb-hub h3 a{color:var(--ink);text-decoration:none}
.bb-hub h3 a:hover{text-decoration:underline;text-decoration-color:var(--s2);text-underline-offset:4px}
.bb-hub-intro{font-size:17px;line-height:1.5;max-width:38em;margin:10px 0 15px}
.bb-hub-list{padding:0;list-style:none;margin:0}
.bb-hub-list li{margin:13px 0}
.bb-hub-list h4{font-size:18px;font-weight:600;line-height:1.35;margin:0 0 3px}
.bb-hub-list h4 a{color:var(--link);text-underline-offset:3px}
.bb-hub-list time,.bb-hub-list li>span{font-size:14px;color:var(--muted)}
.bb-hub-side{padding-top:30px}
.bb-hub-side h3{font-size:clamp(23px,2vw,29px)}
.bb-hub-side h3 a{color:var(--side-h)}
.bb-hub-side .bb-hub-list a{color:var(--side-link)}
.bb-hub-side .bb-hub-list time,.bb-hub-side .bb-hub-list li>span{color:var(--side-ink)}
.other-topics{padding:25px var(--gutter);background:var(--wash);font-size:16px}
.other-topics p{font-weight:800;margin:0 0 12px;color:var(--ink)}
.other-topics div{display:flex;flex-wrap:wrap;gap:12px 24px}
.other-topics a{text-underline-offset:3px}
.bb-return{padding:15px var(--gutter);color:var(--ink-2)}
@media(max-width:979px){.bb-hub-grid{display:block}.bb-hub-main{padding:30px var(--gutter) 40px}.bb-hub-side{padding:32px var(--gutter) 40px}.bb-tail-post h3{font-size:21px}}

/* Distribute the wider topic column within its existing height, keeping both column ends useful. */
@media(min-width:980px){
 .bb-hub-main{display:flex;flex-direction:column;justify-content:space-between;gap:34px}
 .bb-hub-main>.list-h{margin-bottom:0}
 .bb-hub-main>.bb-hub{margin:0}
}

/* Published topic availability: labels stay visible without dead links. */
a[data-empty-topic] { cursor: default; text-decoration: none; }

/* hide-empty: topics without a published guide are not rendered (06.11.2026).
   Guides by topic: the main column spreads its hubs over the side column's height; with fewer than four hubs left
   it stacks them from the top instead of leaving two islands (no :has() support keeps the current spread).
   Latest guides heading drops its top margin when no featured or topic card is left above it. */
@media (min-width: 980px) { .bb-hub-main:not(:has(> .bb-hub:nth-of-type(4))) { justify-content: flex-start; } }
.entries > .bb-latest-h:first-child { margin-top: 0; }
