/* ==========================================================================
   TKU Blog — single post (Essay / Feature / Brief)
   Editorial Swiss: one family by weight, hairlines carry structure, plum is
   the only loud color, gold only as ticks and small marks. No radii, no
   shadows. Tokens fall back to literals when tku-swiss-styles isn't loaded.
   ========================================================================== */

.tkb {
	--tkb-plum: var(--tks-plum, #491245);
	--tkb-ink: var(--tks-ink, #0a0a0a);
	--tkb-line: var(--tks-line, #e4e4e4);
	--tkb-gold: var(--tks-gold, #d6ba97);
	--tkb-warm: var(--tks-warm, #f5f5f1);
	--tkb-mute: var(--tks-mute, #6b6660);
	--tkb-sans: soleil, "Soleil", Figtree, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--tkb-gutter: clamp(16px, 4vw, 32px);
	--tkb-sticky: 32px; /* height of whatever is pinned to the top; tku-blog.js measures and updates it */

	background: #fff;
	color: var(--tkb-ink);
	font-family: var(--tkb-sans);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.tkb *, .tkb *::before, .tkb *::after { box-sizing: border-box; }
.tkb p, .tkb h1, .tkb h2, .tkb h3, .tkb h4, .tkb h5, .tkb h6 { padding-bottom: 0; }
.tkb a { color: inherit; }
.tkb img { max-width: 100%; height: auto; display: block; }

/* ---- Smooth in-page jumps (respects reduced motion) -------------------- */
@media (prefers-reduced-motion: no-preference) {
	html:has(body.tkb-single) { scroll-behavior: smooth; }
}

/* ---- Grid ---------------------------------------------------------------- */
.tkb-wrap { max-width: calc(1240px + 2 * var(--tkb-gutter)); margin-left: auto; margin-right: auto; padding-left: var(--tkb-gutter); padding-right: var(--tkb-gutter); }
.tkb-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }

/* ---- Small type ---------------------------------------------------------- */
.tkb-label { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tkb-mute); line-height: 1.4; margin: 0; }
.tkb-kicker { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tkb-plum); }
.tkb-kicker::after { content: ""; flex: 0 0 48px; height: 1px; background: var(--tkb-gold); }
.tkb-row-between { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.tkb-arrow { font-size: 15px; font-weight: 700; color: var(--tkb-plum) !important; text-decoration: none; }
.tkb-arrow::after { content: "  →"; white-space: pre; }
.tkb-arrow:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---- Buttons (square) ---------------------------------------------------- */
.tkb-btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
.tkb-btn { display: inline-block; padding: 15px 24px; background: var(--tkb-plum); color: #fff !important; font-size: 13px; font-weight: 700; line-height: 1.2; text-decoration: none; border: 1px solid var(--tkb-plum); border-radius: 0; }
.tkb-btn:hover { background: #2f0b2c; border-color: #2f0b2c; }
.tkb-btn--outline { background: transparent; color: var(--tkb-ink) !important; border-color: var(--tkb-ink); }
.tkb-btn--outline:hover { background: var(--tkb-ink); color: #fff !important; border-color: var(--tkb-ink); }

/* ---- Headline ------------------------------------------------------------ */
.tkb-h1 { margin: 28px 0 0; max-width: 1029px; font-family: var(--tkb-sans); font-weight: 800; color: var(--tkb-ink); font-size: clamp(40px, 5.4vw, 72px); line-height: 1.02; letter-spacing: -.025em; }
.tkb-h1 em { display: block; font-style: normal; color: var(--tkb-plum); }
.tkb-h1--feature { font-size: clamp(40px, 4.6vw, 64px); }
.tkb-h1--brief { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.06; letter-spacing: -.02em; }

/* ---- Essay / Brief header ------------------------------------------------ */
.tkb-head { padding-top: clamp(48px, 7vw, 96px); }
.tkb-dek { grid-column: 7 / 13; margin: 28px 0 0; padding-top: 16px; border-top: 1px solid var(--tkb-ink); font-size: 20px; line-height: 1.5; }
.tkb-strip { display: flex; margin: 40px 0 0; padding: 20px 0; border-top: 1px solid var(--tkb-ink); border-bottom: 1px solid var(--tkb-ink); }
.tkb-strip__cell { flex: 1 1 0; min-width: 0; padding-right: 24px; }
.tkb-strip__cell--wide { flex-grow: 2.8; }
.tkb-strip dt { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tkb-mute); }
.tkb-strip dd { margin: 6px 0 0; font-size: 16px; font-weight: 700; line-height: 1.35; }
.tkb-strip dd a { text-decoration: none; }
.tkb-strip dd a:hover { color: var(--tkb-plum); }
.tkb-head--brief .tkb-h1 { margin-top: 28px; }

.tkb-lead { margin-top: 24px; margin-bottom: clamp(48px, 6vw, 72px); }
.tkb-lead img { width: 100%; aspect-ratio: 1240 / 640; object-fit: cover; }
.tkb-plate { display: flex; justify-content: space-between; gap: 24px; padding: 10px 0; border-bottom: 1px solid var(--tkb-line); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tkb-mute); line-height: 1.4; }

/* ---- Feature hero (split) ------------------------------------------------ */
.tkb-hero { display: grid; grid-template-columns: 1fr 1fr; }
.tkb-hero__text { display: flex; flex-direction: column; justify-content: flex-end; gap: 28px; padding: clamp(48px, 8vw, 120px) 72px 72px max(var(--tkb-gutter), calc((100vw - 1240px) / 2)); }
.tkb-hero__text .tkb-h1 { margin: 0; }
.tkb-dek--ruled { grid-column: auto; margin: 0; max-width: 548px; }
.tkb-hero__photo { margin: 0; }
.tkb-hero__photo img { width: 100%; height: clamp(420px, 53vw, 760px); object-fit: cover; }
.tkb-hero__photo .tkb-plate { margin-top: 12px; margin-right: max(var(--tkb-gutter), calc((100vw - 1240px) / 2)); }
.tkb-hero--noimg { grid-template-columns: 1fr; }
.tkb-hero--noimg .tkb-hero__text { padding-right: var(--tkb-gutter); }

/* ---- Body row: rail + reading column ------------------------------------ */
.tkb-bodyrow { padding-top: 24px; margin-bottom: clamp(56px, 7vw, 96px); }
.tkb-post--feature .tkb-bodyrow { padding-top: clamp(48px, 7vw, 96px); }
.tkb-rail { grid-column: 1 / 4; }
.tkb-rail__inner { position: sticky; top: calc(var(--tkb-sticky) + 24px); }
.tkb-main { grid-column: 4 / 13; min-width: 0; padding-left: 80px; }
.tkb-body { max-width: 760px; } /* ~75 characters a line at 19px */

.tkb-toc ol { list-style: none; margin: 14px 0 0; padding: 0; border-bottom: 1px solid var(--tkb-line); }
.tkb-toc li { border-top: 1px solid var(--tkb-line); margin: 0; padding: 0; }
.tkb-toc a { display: block; padding: 12px 0; font-size: 15px; line-height: 1.4; color: var(--tkb-ink); text-decoration: none; }
.tkb-toc a:hover { color: var(--tkb-plum); }
.tkb-toc li.is-active { border-top: 2px solid var(--tkb-plum); }
.tkb-toc li.is-active a { color: var(--tkb-plum); font-weight: 700; padding-top: 11px; }

.tkb-share { margin-top: 40px; }
.tkb-share__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; font-size: 14px; color: var(--tkb-mute); }
.tkb-share__links a, .tkb-copy { color: var(--tkb-mute); text-decoration: none; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.tkb-share__links a:hover, .tkb-copy:hover { color: var(--tkb-plum); }
.tkb-rail__inner > .tkb-share:first-child { margin-top: 0; }

.tkb-subject { border-top: 1px solid var(--tkb-ink); padding-top: 12px; }
.tkb-subject__name { margin: 8px 0 0; font-size: 17px; font-weight: 700; }
.tkb-subject__role { margin: 4px 0 0; font-size: 15px; line-height: 1.45; color: var(--tkb-mute); }

.tkb-rail__photo { margin: 0; }
.tkb-rail__photo img { width: 100%; aspect-ratio: 292 / 324; object-fit: cover; }
.tkb-rail__program { margin-top: 28px; }
.tkb-rail__program .tkb-arrow { display: inline-block; margin-top: 8px; font-size: 16px; }

/* ---- Body content: normalize Divi-built posts into the column ------------ */
.tkb-body #et-boc, .tkb-body .et-l, .tkb-body .et_builder_inner_content,
.tkb-body .et_pb_section, .tkb-body .et_pb_row, .tkb-body .et_pb_column, .tkb-body .et_pb_module {
	width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
	background: transparent !important; box-shadow: none !important; border: 0 !important;
	float: none !important; min-height: 0 !important;
}
.tkb-body .et_pb_row, .tkb-body .et_pb_section { display: block !important; }
.tkb-body .et_pb_row::after, .tkb-body .et_pb_section::after { content: none !important; }
.tkb-body .et_pb_section + .et_pb_section,
.tkb-body .et_pb_row + .et_pb_row,
.tkb-body .et_pb_module + .et_pb_module { margin-top: 28px !important; }
.tkb-body [style*="font-family"] { font-family: inherit !important; }
.tkb-body [style*="font-size"] { font-size: inherit !important; }
.tkb-body [style*="color"] { color: inherit !important; }

.tkb-body, .tkb-body .et_pb_text, .tkb-body .et_pb_text_inner,
.tkb-body p, .tkb-body li {
	font-family: var(--tkb-sans) !important; font-size: 19px !important; line-height: 1.65 !important;
	color: var(--tkb-ink) !important; font-weight: 400; text-align: left !important; letter-spacing: 0 !important;
}
.tkb-body p { margin: 0 0 1.15em; padding: 0; }
.tkb-body strong, .tkb-body b { font-weight: 700; }
.tkb-body a { color: var(--tkb-plum) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.tkb-body ul, .tkb-body ol { margin: 0 0 1.15em; padding-left: 1.2em; }
.tkb-body li { margin: .35em 0; }
.tkb-body img { margin: 8px 0; }
.tkb-body figure { margin: 32px 0; }
.tkb-body hr, .tkb-body .et_pb_divider::before { border: 0 !important; border-top: 1px solid var(--tkb-line) !important; height: 0; margin: 32px 0; }
.tkb-body iframe { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0; }

.tkb-body h1, .tkb-body h2, .tkb-body h3, .tkb-body h4, .tkb-body h5, .tkb-body h6 {
	font-family: var(--tkb-sans) !important; color: var(--tkb-ink) !important; padding: 0 !important; text-align: left !important;
}
.tkb-body h1 *, .tkb-body h2 *, .tkb-body h3 *, .tkb-body h4 *, .tkb-body h5 *, .tkb-body h6 * { font-weight: inherit !important; }
.tkb-body .tkb-h2 { font-size: 32px !important; font-weight: 800 !important; line-height: 1.12 !important; letter-spacing: -.015em !important; margin: 56px 0 18px !important; scroll-margin-top: calc(var(--tkb-sticky) + 48px); }
.tkb-body .tkb-h3 { font-size: 21px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: 0 !important; margin: 32px 0 10px !important; }
.tkb-body > :first-child .tkb-h2:first-child, .tkb-body .tkb-h2:first-child { margin-top: 0 !important; }

/* Legacy blockquotes and the pull quote: gold tick, plum display type. */
.tkb-body blockquote, .tkb-pullquote blockquote {
	margin: 40px 0 !important; padding: 0 !important; border: 0 !important; quotes: none;
	font-size: 28px !important; font-weight: 800 !important; line-height: 1.22 !important; letter-spacing: -.01em; color: var(--tkb-plum) !important;
}
.tkb-body blockquote::before, .tkb-pullquote::before { content: ""; display: block; width: 56px; height: 1px; background: var(--tkb-gold); margin-bottom: 18px; }
.tkb-body blockquote *, .tkb-pullquote blockquote * { font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; color: inherit !important; font-style: normal !important; margin: 0 !important; }
.tkb-body blockquote a { text-decoration: underline; }
/* Long quoted passages: no display type, just an indented plum rule. */
.tkb-body blockquote.tkb-bq-long { margin: 32px 0 !important; padding: 0 0 0 24px !important; border-left: 2px solid var(--tkb-plum) !important; color: var(--tkb-ink) !important; font-size: 19px !important; font-weight: 400 !important; line-height: 1.65 !important; letter-spacing: 0; }
.tkb-body blockquote.tkb-bq-long::before { content: none; }
.tkb-body blockquote.tkb-bq-long * { font-weight: 400 !important; }
.tkb-body blockquote.tkb-bq-long strong, .tkb-body blockquote.tkb-bq-long b { font-weight: 700 !important; }
.tkb-body blockquote.tkb-bq-long em, .tkb-body blockquote.tkb-bq-long i { font-style: italic !important; }
.tkb-body blockquote.tkb-bq-long p { margin: 0 0 1em !important; }
.tkb-body blockquote.tkb-bq-long p:last-child { margin-bottom: 0 !important; }
.tkb-pullquote { margin: 40px 0; }
.tkb-pullquote blockquote { margin: 0 !important; }
.tkb-pullquote blockquote::before { content: none; }
.tkb-pullquote figcaption, .tkb-voice figcaption span { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tkb-mute); margin-top: 16px; }

.tkb-voice { margin: 36px 0; padding-top: 20px; border-top: 1px solid var(--tkb-line); }
.tkb-voice blockquote { margin: 0 !important; color: var(--tkb-ink) !important; font-size: 23px !important; font-weight: 700 !important; line-height: 1.4 !important; }
.tkb-voice blockquote::before { content: none; }
.tkb-voice figcaption { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.tkb-voice figcaption strong { font-size: 14px; }
.tkb-voice figcaption span { margin-top: 0; }

/* ---- Brief boilerplate --------------------------------------------------- */
.tkb-boiler { max-width: 760px; margin-top: 40px; padding: 28px; background: var(--tkb-warm); }
.tkb-boiler p { margin: 10px 0 0; font-size: 15px; line-height: 1.6; }
.tkb-boiler .tkb-label { margin: 0; }
.tkb-boiler__contact-label { margin-top: 20px !important; padding-top: 18px; border-top: 1px solid var(--tkb-line); }
.tkb-boiler__contact { font-weight: 700; }
.tkb-boiler a { color: var(--tkb-plum); }

/* ---- Feature: quote band (the one plum moment) --------------------------- */
.tkb-quoteband { background: var(--tkb-plum); padding: clamp(64px, 7vw, 96px) 0; }
.tkb-quoteband__grid { align-items: center; }
.tkb-quoteband__photo { grid-column: 1 / 5; }
.tkb-quoteband__photo img { width: 100%; aspect-ratio: 397 / 480; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.tkb-quoteband__quote { grid-column: 6 / 13; margin: 0; }
.tkb-quoteband__grid--noimg .tkb-quoteband__quote { grid-column: 1 / 10; }
.tkb-quoteband__quote::before { content: ""; display: block; width: 56px; height: 1px; background: var(--tkb-gold); margin-bottom: 24px; }
.tkb-quoteband blockquote { margin: 0; padding: 0; border: 0; color: #fff; font-size: clamp(28px, 3.4vw, 46px); font-weight: 800; line-height: 1.14; letter-spacing: -.02em; }
.tkb-quoteband figcaption { margin-top: 24px; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tkb-gold); }

/* ---- Sections with an F-treatment head ----------------------------------- */
.tkb-section { padding-top: clamp(64px, 7vw, 96px); padding-bottom: clamp(64px, 7vw, 96px); }
.tkb-sechead { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 40px; }
.tkb-sechead h2 { margin: 0; font-family: var(--tkb-sans); font-size: clamp(30px, 3.2vw, 44px); font-weight: 800; line-height: 1.06; letter-spacing: -.02em; color: var(--tkb-ink); }
.tkb-video__frame { max-width: 818px; }
.tkb-video__frame iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; display: block; }

/* ---- Author card ---------------------------------------------------------- */
.tkb-author { margin-bottom: clamp(56px, 7vw, 88px); }
.tkb-author__grid { border-top: 1px solid var(--tkb-ink); padding-top: 36px; }
.tkb-author__label { grid-column: 1 / 4; }
.tkb-author__card { grid-column: 4 / 13; padding-left: 80px; display: flex; gap: 28px; align-items: flex-start; max-width: calc(760px + 80px); }
.tkb-author__img { flex: 0 0 120px; width: 120px; height: 150px; object-fit: cover; object-position: 50% 25%; }
.tkb-author__text { min-width: 0; padding-top: 2px; }
.tkb-author__name { margin: 0; font-size: 24px; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; }
.tkb-author__roles { list-style: none; margin: 10px 0 0; padding: 0; }
.tkb-author__roles li { margin: 0; padding: 0; font-size: 14px; line-height: 1.5; color: var(--tkb-mute); }
.tkb-author__bio { margin: 14px 0 0; font-size: 16px; line-height: 1.6; }
.tkb-author__text .tkb-arrow { display: inline-block; margin-top: 12px; }

/* ---- CTA band -------------------------------------------------------------- */
.tkb-cta { background: var(--tkb-warm); padding: clamp(56px, 6vw, 80px) 0; }
.tkb-cta__left { grid-column: 1 / 7; }
.tkb-cta__right { grid-column: 8 / 13; }
.tkb-cta__heading { margin: 18px 0 0; font-family: var(--tkb-sans); font-size: clamp(32px, 3.6vw, 48px); font-weight: 800; line-height: 1.04; letter-spacing: -.02em; color: var(--tkb-ink); }
.tkb-cta__right p { margin: 0; font-size: 17px; line-height: 1.6; }
.tkb-cta__right .tkb-btns { margin-top: 24px; }

/* ---- Related cards --------------------------------------------------------- */
.tkb-related { padding-bottom: clamp(72px, 8vw, 120px); }
.tkb-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tkb-card { margin: 0; padding: 0; }
.tkb-card a { display: block; text-decoration: none; color: var(--tkb-ink); }
.tkb-card__img { display: block; aspect-ratio: 3 / 2; background: #e2ded6; border-bottom: 2px solid var(--tkb-plum); overflow: hidden; }
.tkb-card__img img { width: 100%; height: 100%; object-fit: cover; }
.tkb-related--portrait .tkb-card__img { aspect-ratio: 3 / 2; border-bottom: 0; } /* Student Stories: landscape (Nic, 2026-10-06) — source photos are mostly landscape */
.tkb-card__text { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; }
.tkb-card__tag { font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tkb-gold); }
.tkb-card__title { font-size: 22px; font-weight: 800; line-height: 1.18; letter-spacing: -.01em; }
.tkb-related--portrait .tkb-card__title { font-size: 24px; }
.tkb-card__meta { font-size: 13px; color: var(--tkb-mute); }
.tkb-card a:hover .tkb-card__title { color: var(--tkb-plum); }

/* ---- Brief: dated news list ---------------------------------------------- */
.tkb-newslist { padding-bottom: clamp(72px, 8vw, 120px); border-top: 1px solid var(--tkb-ink); margin-top: 0; }
.tkb-newslist ul { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--tkb-ink); }
.tkb-newslist li { margin: 0; padding: 0; border-top: 1px solid var(--tkb-line); }
.tkb-newslist a { display: grid; grid-template-columns: 200px 1fr 200px; align-items: baseline; gap: 24px; padding: 24px 0; text-decoration: none; color: var(--tkb-ink); }
.tkb-newslist__title { font-size: 21px; font-weight: 700; line-height: 1.3; }
.tkb-newslist__tag { text-align: right; color: var(--tkb-plum); }
.tkb-newslist a:hover .tkb-newslist__title { color: var(--tkb-plum); }
.tkb-newslist > p { margin: 36px 0 0; }

/* ---- Responsive ------------------------------------------------------------ */
@media (max-width: 980px) {
	.tkb-grid { grid-template-columns: minmax(0, 1fr); }
	.tkb-dek, .tkb-rail, .tkb-main, .tkb-author__label, .tkb-author__card,
	.tkb-cta__left, .tkb-cta__right, .tkb-quoteband__photo, .tkb-quoteband__quote { grid-column: 1 / -1; }
	.tkb-rail__inner { position: static; }
	.tkb-main, .tkb-author__card { padding-left: 0; }
	.tkb-toc { display: none; }
	.tkb-post--essay .tkb-rail, .tkb-post--feature .tkb-rail { order: 2; margin-top: 40px; }
	.tkb-post--brief .tkb-rail { margin-bottom: 40px; }
	.tkb-rail__photo img { aspect-ratio: 4 / 3; }
	.tkb-strip { flex-wrap: wrap; row-gap: 16px; }
	.tkb-strip__cell, .tkb-strip__cell--wide { flex: 1 1 45%; }
	.tkb-hero { grid-template-columns: minmax(0, 1fr); }
	.tkb-hero__text { padding: 48px var(--tkb-gutter) 32px; }
	.tkb-hero__photo .tkb-plate { margin-left: var(--tkb-gutter); margin-right: var(--tkb-gutter); }
	.tkb-quoteband__photo { max-width: 320px; margin-bottom: 32px; }
	.tkb-author__label { margin-bottom: 20px; }
	.tkb-cta__right { margin-top: 24px; }
	.tkb-cards { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.tkb-newslist a { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.tkb-newslist__tag { text-align: left; }
	.tkb-sechead { flex-direction: column; gap: 8px; }
}
@media (max-width: 560px) {
	.tkb-author__card { flex-direction: column; gap: 20px; }
	.tkb-body, .tkb-body p, .tkb-body li, .tkb-body .et_pb_text, .tkb-body .et_pb_text_inner { font-size: 17px !important; }
	.tkb-body .tkb-h2 { font-size: 26px !important; }
	.tkb-body blockquote, .tkb-pullquote blockquote { font-size: 23px !important; }
}

/* ==========================================================================
   Category archives (sections + topics)
   ========================================================================== */
.tkb-kicker a { color: inherit; text-decoration: none; }
.tkb-kicker a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tkb-h1--arch { font-size: clamp(44px, 6.4vw, 88px); }
.tkb-dot { color: var(--tkb-plum); }

.tkb-chips { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--tkb-ink); }
.tkb-chips ul { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.tkb-chips li { margin: 0; padding: 0; }
.tkb-chip { display: inline-block; padding: 9px 14px; border: 1px solid var(--tkb-line); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; line-height: 1.2; color: var(--tkb-ink) !important; text-decoration: none; }
.tkb-chip:hover { border-color: var(--tkb-ink); }
.tkb-chip.is-current { border-color: var(--tkb-plum); color: var(--tkb-plum) !important; box-shadow: inset 0 -2px 0 var(--tkb-plum); }
.tkb-chip--topic { color: var(--tkb-mute) !important; }
.tkb-chips__sep { width: 1px; height: 24px; background: var(--tkb-line); margin: 0 8px !important; }

.tkb-arch__list { padding-top: 48px; padding-bottom: clamp(72px, 8vw, 120px); }
.tkb-arch__empty { font-size: 17px; color: var(--tkb-mute); }

.tkb-leadstory { margin: 0 0 56px; padding-bottom: 56px; border-bottom: 1px solid var(--tkb-line); }
.tkb-leadstory__link { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; color: var(--tkb-ink); text-decoration: none; }
.tkb-leadstory__img { grid-column: 1 / 9; display: block; aspect-ratio: 16 / 10; background: #e2ded6; overflow: hidden; }
.tkb-leadstory__img img { width: 100%; height: 100%; object-fit: cover; }
.tkb-leadstory__text { grid-column: 9 / 13; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; border-bottom: 2px solid var(--tkb-plum); padding-bottom: 20px; }
.tkb-leadstory__title { font-size: clamp(28px, 2.6vw, 38px); font-weight: 800; line-height: 1.1; letter-spacing: -.02em; }
.tkb-leadstory__dek { font-size: 17px; line-height: 1.55; }
.tkb-leadstory__link:hover .tkb-leadstory__title { color: var(--tkb-plum); }

.tkb-arch .tkb-cards { row-gap: 56px; }
.tkb-cards--portrait .tkb-card__img { aspect-ratio: 3 / 2; border-bottom: 0; } /* Student Stories: landscape (Nic, 2026-10-06) */
.tkb-cards--portrait .tkb-card__title { font-size: 24px; }

.tkb-newslist--archive { padding: 0; border-top: 0; }
.tkb-newslist--archive ul { border-top: 1px solid var(--tkb-ink); }

.tkb-pager { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 64px; }
.tkb-pager .page-numbers { display: inline-block; min-width: 44px; padding: 12px 14px; border: 1px solid var(--tkb-line); font-size: 13px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; color: var(--tkb-ink); }
.tkb-pager a.page-numbers:hover { border-color: var(--tkb-ink); }
.tkb-pager .page-numbers.current { background: var(--tkb-plum); border-color: var(--tkb-plum); color: #fff; }
.tkb-pager .page-numbers.dots { border-color: transparent; }

@media (max-width: 980px) {
	.tkb-leadstory__link { grid-template-columns: minmax(0, 1fr); }
	.tkb-leadstory__img, .tkb-leadstory__text { grid-column: 1 / -1; }
	.tkb-leadstory__text { margin-top: 20px; }
	.tkb-chips__sep { display: none; }
}

/* ---- Card meta row (date + topic above the title) ------------------------ */
.tkb-front__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.tkb-front__tag { color: var(--tkb-plum); }
.tkb-card .tkb-front__meta { margin-bottom: 2px; }

/* ---- Blog home: toolbar, strips, results ---------------------------------- */
.tkb-h1--home { max-width: 1100px; }
.tkb-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 260px 200px; gap: 16px 24px; align-items: end; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--tkb-ink); }
.tkb-toolbar .tkb-label { display: block; margin-bottom: 8px; }
.tkb-toolbar__field { display: flex; }
.tkb-toolbar input[type="search"], .tkb-toolbar select {
	width: 100%; height: 48px; margin: 0; padding: 0 14px; border: 1px solid var(--tkb-ink); border-radius: 0; background: #fff;
	font-family: var(--tkb-sans); font-size: 16px; color: var(--tkb-ink); box-shadow: none; -webkit-appearance: none; appearance: none;
}
.tkb-toolbar input[type="search"] { border-right: 0; }
.tkb-toolbar input[type="search"]:focus, .tkb-toolbar select:focus { outline: 2px solid var(--tkb-plum); outline-offset: -2px; }
.tkb-toolbar select { padding-right: 36px; cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, var(--tkb-ink) 50%), linear-gradient(135deg, var(--tkb-ink) 50%, transparent 50%);
	background-position: calc(100% - 20px) 21px, calc(100% - 15px) 21px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.tkb-toolbar .tkb-btn { height: 48px; padding: 0 22px; cursor: pointer; font-family: var(--tkb-sans); }
.tkb-chips--home { margin-top: 20px; padding-top: 0; border-top: 0; }

.tkb-strip-sec { padding-top: clamp(56px, 6vw, 80px); padding-bottom: 0; }
.tkb-strip-sec:last-child { padding-bottom: clamp(72px, 8vw, 120px); }
.tkb-sechead__link { text-decoration: none; color: var(--tkb-mute) !important; }
.tkb-sechead__link:hover { color: var(--tkb-plum) !important; }

.tkb-results__bar { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 32px; padding-bottom: 16px; border-bottom: 1px solid var(--tkb-line); }
.tkb-results__count { margin: 0; font-size: 17px; font-weight: 700; }

@media (max-width: 980px) {
	.tkb-toolbar { grid-template-columns: 1fr 1fr; }
	.tkb-toolbar__search { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.tkb-toolbar { grid-template-columns: 1fr; }
}
