/* FounderKeel: an analytical lead and a numbered reading list. */
:root {
  --fk-ink: var(--wp--preset--color--text);
  --fk-paper: var(--wp--preset--color--background);
  --fk-brass: var(--wp--preset--color--accent);
  --fk-rule: var(--wp--preset--color--line);
  --fk-muted: var(--wp--preset--color--muted);
  --fk-gutter: clamp(18px, 4vw, 56px);
}

body { color: var(--fk-ink); background: var(--fk-paper); }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > header, .wp-site-blocks > footer, .tb-main { margin-block: 0; }
h1, h2, h3, .wp-block-site-title { font-family: var(--wp--preset--font-family--heading); }
h1, h2, h3, p, li, a { overflow-wrap: anywhere; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { color: var(--wp--preset--color--accent-ink); }
:focus-visible { outline: 3px solid var(--wp--preset--color--accent-ink); outline-offset: 4px; }
.tb-header-inner, .tb-shell, .tb-not-found, .fk-footer-layout {
  width: calc(100% - var(--fk-gutter) * 2);
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}
.tb-header { border-top: 4px solid var(--fk-ink); border-bottom: 1px solid var(--fk-brass); position: relative; z-index: 20; }
.tb-header-inner { display: flex; align-items: center; gap: 24px; min-height: 108px; padding-block: 20px; }
.tb-header-inner > *, .tb-brand > *, .fk-brand-copy > * { margin-block: 0; }
.tb-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.tb-brand .wp-block-site-logo { line-height: 0; flex-shrink: 0; }
.tb-brand img { display: block; width: 44px; height: 44px; object-fit: contain; }
.tb-brand .wp-block-site-title { font-size: 34px; font-weight: 700; line-height: 1.12; letter-spacing: -.035em; }
.wp-block-site-title a { color: inherit; text-decoration: none; }
.fk-brand-deck { font-size: 13px; line-height: 1.5; color: var(--fk-muted); margin-top: 5px; }
.tb-header-inner > .tb-primary-navigation { margin-left: auto; }
.tb-primary-navigation { font-size: 15px; line-height: 1.5; }
.tb-primary-navigation .wp-block-navigation__container { gap: 24px; }
.tb-primary-navigation .wp-block-navigation-item__content { padding-block: 11px; }
.tb-primary-navigation .wp-block-navigation__submenu-container {
  min-width: 220px; padding: 8px 0; border: 1px solid var(--fk-rule); background: var(--fk-paper); box-shadow: none;
}
.tb-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 12px 20px; }
.tb-primary-navigation .wp-block-navigation-submenu__toggle { min-width: 24px; min-height: 44px; }
.tb-header-search { position: relative; margin: 0; flex-shrink: 0; }
.tb-header-search summary { display: grid; place-items: center; width: 44px; height: 44px; list-style: none; border: 1px solid var(--fk-rule); }
.tb-header-search summary::-webkit-details-marker { display: none; }
.tb-header-search[open] summary { background: var(--fk-ink); color: var(--fk-paper); }
.tb-search-panel { position: absolute; top: calc(100% + 16px); right: 0; width: min(360px, calc(100vw - 36px)); padding: 20px; border: 1px solid var(--fk-brass); background: var(--fk-paper); }

.tb-main > .tb-shell { margin-block: 48px 80px; }
.tb-home-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 48px; margin-bottom: 40px; }
.tb-latest-title { font-size: clamp(38px, 4.5vw, 62px); font-weight: 400; line-height: 1.06; letter-spacing: -.04em; margin: 0; max-width: 15ch; }
.fk-home-deck { color: var(--fk-muted); font-size: 18px; line-height: 1.65; max-width: 42ch; margin: 0 0 3px; }
.fk-section-rule { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 13px; border-block: 1px solid var(--fk-brass); margin-bottom: 32px; }
.fk-section-rule > * { margin: 0; }
.fk-section-rule h2 { font-family: var(--wp--preset--font-family--body); font-size: 16px; font-weight: 600; }
.fk-section-rule p { font-size: 14px; color: var(--fk-muted); }
.tb-home-query .wp-block-post-template, .tb-archive-query .wp-block-post-template {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 0 48px;
  padding: 0; margin: 0; list-style: none; counter-reset: insights;
}
.tb-home-query .wp-block-post-template > li, .tb-archive-query .wp-block-post-template > li {
  min-width: 0; margin-block: 0; padding-block: 24px; border-bottom: 1px solid var(--fk-rule); counter-increment: insights;
}
.tb-home-query .wp-block-post-template > li:first-child, .tb-archive-query .wp-block-post-template > li:first-child {
  grid-row: span 3; align-self: start; padding-top: 0; padding-bottom: 30px;
}
.tb-home-query .wp-block-post-template > li:nth-child(2), .tb-archive-query .wp-block-post-template > li:nth-child(2) { padding-top: 0; }
.tb-story { position: relative; min-width: 0; margin: 0; padding-left: 48px; }
.tb-story::before { content: counter(insights, decimal-leading-zero); position: absolute; top: 1px; left: 0; font-family: var(--wp--preset--font-family--heading); font-size: 27px; line-height: 1.1; color: var(--wp--preset--color--accent-ink); font-variant-numeric: tabular-nums; }
.tb-story > * { margin-block: 0; }
.fk-story-media { display: none; }
.tb-story .tb-category, .tb-story .wp-block-post-terms { margin: 0 0 10px; font-size: 13px; font-weight: 600; line-height: 1.4; color: var(--wp--preset--color--accent-ink); }
.tb-category a, .tb-story .wp-block-post-terms a { text-decoration: none; }
.tb-category a ~ a, .tb-category .wp-block-post-terms__separator,
.tb-story .wp-block-post-terms a ~ a, .tb-story .wp-block-post-terms__separator { display: none; }
.tb-story .wp-block-post-title { font-size: clamp(23px, 2vw, 28px); font-weight: 700; line-height: 1.19; letter-spacing: -.02em; margin: 0 0 12px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.tb-story .wp-block-post-title a { color: var(--fk-ink); text-decoration: none; }
.tb-story .wp-block-post-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.tb-story .wp-block-post-excerpt { color: var(--fk-muted); font-size: 16px; line-height: 1.6; margin-block: 0 12px; }
.tb-story .wp-block-post-excerpt__excerpt { margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.tb-meta { font-size: 13px; color: var(--fk-muted); line-height: 1.7; margin-top: 12px; }
.tb-story .wp-block-read-more { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; text-decoration-thickness: 1px; }
.wp-block-post-template > li:first-child > .tb-story { padding-left: 0; }
.wp-block-post-template > li:first-child > .tb-story::before { content: none; }
.wp-block-post-template > li:first-child .fk-story-media { display: block; aspect-ratio: 8 / 5; margin: 0 0 24px; background: var(--fk-ink) url('insight-placeholder.svg') center / cover no-repeat; overflow: hidden; }
.fk-story-media .wp-block-post-featured-image { margin: 0; width: 100%; height: 100%; }
.fk-story-media .wp-block-post-featured-image a { display: block; height: 100%; }
.fk-story-media .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; aspect-ratio: 8 / 5; object-fit: cover; }
.wp-block-post-template > li:first-child .wp-block-post-title { font-size: clamp(31px, 3.5vw, 46px); line-height: 1.12; font-weight: 400; letter-spacing: -.03em; }
.wp-block-post-template > li:first-child .wp-block-post-excerpt { font-size: 18px; }

.tb-shell > .wp-block-query-title { font-size: clamp(34px, 4vw, 54px); line-height: 1.12; font-weight: 400; letter-spacing: -.03em; padding-bottom: 24px; border-bottom: 1px solid var(--fk-brass); margin: 0 0 36px; }
.tb-archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 224px; gap: 40px; align-items: start; }
.tb-reading, .tb-sidebar { min-width: 0; margin: 0; }
.tb-archive-query .wp-block-post-template { gap: 0 30px; }
.tb-archive-query .tb-story { padding-left: 38px; }
.tb-archive-query .tb-story::before { font-size: 24px; }
.tb-archive-query .tb-story .wp-block-post-title { font-size: 23px; }
.tb-archive-query .wp-block-post-template > li:first-child .wp-block-post-title { font-size: clamp(29px, 3vw, 38px); }
.tb-sidebar { border-left: 1px solid var(--fk-brass); padding-left: 24px; }
.tb-sidebar section { margin-bottom: 32px; }
.tb-sidebar h2 { font-family: var(--wp--preset--font-family--body); font-size: 16px; font-weight: 600; margin: 0 0 16px; }
.tb-sidebar ul { margin: 0; padding: 0; list-style: none; }
.tb-sidebar li { margin: 0; padding-block: 12px; border-bottom: 1px solid var(--fk-rule); font-size: 15px; line-height: 1.55; }
.tb-sidebar a { text-decoration: none; }
.tb-sidebar .wp-block-search__inside-wrapper { flex-wrap: wrap; gap: 8px; }
.tb-sidebar .wp-block-search__button { margin: 0; }
.wp-block-query-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--fk-brass); font-size: 15px; }
.wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 6px; }
.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 8px 12px; text-decoration: none; }
.page-numbers.current { background: var(--fk-ink); color: var(--fk-paper); }

.tb-main > .tb-single, .tb-main > .tb-page { width: calc(100% - var(--fk-gutter) * 2); max-width: 760px; margin: 56px auto 80px; }
.tb-single-heading { text-align: left; margin-bottom: 36px; border-bottom: 1px solid var(--fk-brass); padding-bottom: 28px; }
.tb-single-heading h1, .tb-page > h1 { font-size: clamp(36px, 4.2vw, 56px); font-weight: 400; line-height: 1.09; letter-spacing: -.035em; margin: 0 0 24px; }
.tb-single-heading .tb-category { color: var(--wp--preset--color--accent-ink); font-size: 14px; margin-bottom: 18px; }
.tb-single-heading .tb-category a { text-decoration: none; }
.tb-single-heading .tb-meta { font-size: 14px; }
.tb-single > .wp-block-post-content, .tb-page > .wp-block-post-content { padding-inline: 0; font-size: 18px; line-height: 1.8; max-width: 72ch; }
.wp-block-post-content > * { max-width: 100%; }
.wp-block-post-content :is(h2, h3, h4) { line-height: 1.25; }
.wp-block-post-content h2 { font-size: 32px; margin-block: 40px 18px; }
.wp-block-post-content h3 { font-size: 25px; margin-block: 32px 16px; }
.wp-block-post-content p { margin-block: 0 24px; }
.wp-block-post-content a { color: var(--wp--preset--color--accent-ink); }
.wp-block-post-content :is(img, video, iframe, svg, embed, object) { max-width: 100%; }
.wp-block-post-content img { height: auto; }
.wp-block-post-content figure { margin-inline: 0; }
.wp-block-post-content :is(.alignwide, .alignfull) { width: 100%; max-width: 100%; margin-inline: 0; }
.wp-block-post-content :is(pre, .wp-block-code) { max-width: 100%; overflow-x: auto; padding: 20px; background: var(--wp--preset--color--soft); font-size: 15px; }
.wp-block-post-content :is(table, .wp-block-table) { display: block; max-width: 100%; overflow-x: auto; }
.wp-block-post-content :is(.aen-article-toc, .wp-block-columns, .wp-block-column) { min-width: 0; max-width: 100%; }
.wp-block-post-content blockquote { border-left: 2px solid var(--fk-brass); padding-left: 24px; margin-inline: 0; font-family: var(--wp--preset--font-family--heading); font-size: 25px; }
.wp-block-post-content figcaption { color: var(--fk-muted); font-size: 14px; }
.tb-post-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; border-block: 1px solid var(--fk-brass); padding-block: 24px; margin-block: 40px; }
.tb-post-navigation > * { min-width: 0; font-size: 15px; }
.tb-post-navigation > :last-child { text-align: right; }

.tb-comment, .comments-area, .wp-block-comments { margin-top: 40px; max-width: 100%; }
.tb-comment h2, .comment-reply-title { font-size: 30px; }
.tb-comment > p, .comment-notes, .logged-in-as { color: var(--fk-muted); font-size: 15px; }
.tb-comment label, .comment-form label { display: block; margin-bottom: 8px; }
.tb-comment :is(input:not([type=checkbox]), textarea), .comment-form :is(input:not([type=checkbox]), textarea) { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid var(--fk-muted); padding: 12px; color: var(--fk-ink); background: var(--wp--preset--color--surface); border-radius: 0; }
.tb-comment textarea, .comment-form textarea { resize: vertical; }
.tb-form-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.tb-consent, .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; }
.tb-consent input, .comment-form-cookies-consent input { flex-shrink: 0; margin-top: 7px; }
.tb-comment .wp-element-button, .comment-form input[type=submit], .wp-block-search__button { min-height: 44px; max-width: 100%; padding: 12px 20px; border: 1px solid var(--fk-ink); border-radius: 0; background: var(--fk-ink); color: var(--fk-paper); cursor: pointer; }
.comment-form input[type=submit] { width: auto; }
.tb-comment [hidden] { display: none; }
.wp-block-search { max-width: 100%; }
.wp-block-search__label { display: block; font-size: 14px; margin-bottom: 8px; }
.wp-block-search__inside-wrapper { display: flex; max-width: 100%; }
.wp-block-search__input { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; border: 1px solid var(--fk-muted); border-radius: 0; padding: 10px 12px; font-size: 16px; background: var(--wp--preset--color--surface); color: var(--fk-ink); }
.wp-block-search__button { flex-shrink: 0; margin-left: 0; }
.wp-block-search__button svg { min-width: 24px; vertical-align: middle; fill: currentColor; }

.tb-footer { background: var(--fk-ink); color: var(--fk-paper); border-top: 2px solid var(--fk-brass); }
.fk-footer-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .35fr); gap: 32px 80px; padding-block: 48px 0; }
.fk-footer-layout > * { margin-block: 0; min-width: 0; }
.fk-footer-intro .wp-block-site-title { font-size: 34px; line-height: 1.1; margin: 0 0 18px; }
.fk-footer-intro p { max-width: 46ch; font-size: 16px; line-height: 1.75; margin-block: 0 16px; }
.fk-footer-intro .fk-footer-note { color: var(--fk-brass); font-family: var(--wp--preset--font-family--heading); font-size: 21px; margin-bottom: 0; }
/* Keep managed information links and the live year from the protected renderer. */
.fk-footer-layout > .tb-footer-inner { display: contents; }
.fk-footer-layout .tb-footer-brand { display: none; }
.tb-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 0; font-size: 15px; }
.tb-footer nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.tb-footer a:hover { color: var(--fk-brass); }
.tb-footer :focus-visible { outline-color: var(--fk-brass); }
.tb-copyright { grid-column: 1 / -1; border-top: 1px solid var(--fk-brass); padding-block: 20px; font-size: 13px; }
.tb-main > .tb-not-found { margin-block: 64px 88px; max-width: 760px; }
.tb-not-found h1 { font-size: clamp(36px, 4vw, 56px); line-height: 1.1; font-weight: 400; }
.tb-not-found > .wp-block-search { max-width: 540px; margin-block: 28px; }
.tb-not-found > p:last-child a { display: inline-flex; align-items: center; min-height: 44px; }
.aen-back-to-top { position: fixed; right: 18px; bottom: 18px; z-index: 19; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--fk-brass); background: var(--fk-ink); color: var(--fk-paper); }
.aen-back-to-top[hidden] { display: none; }

@media (max-width: 1000px) {
  .tb-home-query .wp-block-post-template { gap: 0 30px; }
  .tb-archive-layout { grid-template-columns: minmax(0, 1fr) 200px; gap: 28px; }
  .tb-archive-query .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
  .tb-archive-query .wp-block-post-template > li:first-child { grid-row: auto; }
  .tb-archive-query .wp-block-post-template > li:nth-child(2) { padding-top: 24px; }
  .tb-header-inner { gap: 16px; }
  .tb-brand .wp-block-site-title { font-size: 29px; }
  .tb-primary-navigation .wp-block-navigation__container { gap: 16px; }
}
@media (max-width: 900px) {
  .tb-header-inner > .tb-primary-navigation { order: 3; margin-left: 0; }
  .tb-header-search { order: 2; margin-left: auto; }
  .tb-primary-navigation .wp-block-navigation__responsive-container-open { display: flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; }
  .tb-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .tb-primary-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 76px 24px 32px; background: var(--fk-paper); color: var(--fk-ink); overflow-y: auto; }
  .tb-primary-navigation .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 20px; }
  .tb-primary-navigation .wp-block-navigation__container { align-items: stretch; gap: 12px; font-size: 21px; width: 100%; }
  .tb-primary-navigation .wp-block-navigation-item { align-items: stretch; }
  .tb-primary-navigation .wp-block-navigation__submenu-container { align-items: stretch !important; padding: 8px 0 8px 20px !important; border: 0; border-left: 1px solid var(--fk-brass); gap: 0; }
  .tb-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 0; font-size: 17px; }
  .tb-primary-navigation .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; top: -56px; right: 0; }
  .tb-search-panel { right: -60px; }
}
@media (max-width: 700px) {
  .tb-header-inner { min-height: 88px; padding-block: 16px; gap: 8px; }
  .tb-brand { gap: 8px; }
  .tb-brand img { width: 32px; height: 32px; }
  .tb-brand .wp-block-site-title { font-size: 26px; }
  .fk-brand-deck { font-size: 11px; margin-top: 4px; }
  .tb-header-search summary { border: 0; }
  .tb-search-panel { right: -52px; }
  .tb-main > .tb-shell { margin-block: 32px 48px; }
  .tb-home-intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .tb-latest-title { font-size: 42px; max-width: 14ch; }
  .fk-home-deck { font-size: 17px; max-width: 38ch; }
  .fk-section-rule { margin-bottom: 24px; gap: 12px; }
  .fk-section-rule p { font-size: 12px; }
  .tb-home-query .wp-block-post-template, .tb-archive-query .wp-block-post-template { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .tb-home-query .wp-block-post-template > li:first-child { grid-row: auto; }
  .tb-home-query .wp-block-post-template > li:nth-child(2) { padding-top: 24px; }
  .tb-story, .tb-archive-query .tb-story { padding-left: 40px; }
  .tb-story .wp-block-post-title, .tb-archive-query .tb-story .wp-block-post-title { font-size: 25px; }
  .tb-story .wp-block-post-title a { display: block; min-height: 44px; }
  .tb-category a { display: inline-flex; align-items: center; min-height: 44px; }
  .wp-block-post-template > li:first-child .wp-block-post-title, .tb-archive-query .wp-block-post-template > li:first-child .wp-block-post-title { font-size: 34px; }
  .wp-block-post-template > li:first-child .fk-story-media { margin-bottom: 20px; }
  .tb-archive-layout { display: block; }
  .tb-shell > .wp-block-query-title { margin-bottom: 28px; }
  .tb-sidebar { margin-top: 40px; border-left: 0; border-top: 1px solid var(--fk-brass); padding: 28px 0 0; }
  .tb-sidebar li a { display: flex; align-items: center; min-height: 44px; }
  .tb-sidebar li { padding-block: 4px; }
  .tb-main > .tb-single, .tb-main > .tb-page, .tb-main > .tb-not-found { margin-block: 36px 48px; }
  .tb-single-heading { padding-bottom: 24px; margin-bottom: 28px; }
  .tb-single-heading h1, .tb-page > h1 { font-size: 36px; line-height: 1.13; }
  .tb-single > .wp-block-post-content, .tb-page > .wp-block-post-content { font-size: 17px; }
  .wp-block-post-content h2 { font-size: 28px; }
  .wp-block-post-content h3 { font-size: 23px; }
  .tb-form-row, .tb-post-navigation { grid-template-columns: minmax(0, 1fr); }
  .tb-post-navigation > :last-child { text-align: left; }
  .fk-footer-layout { grid-template-columns: minmax(0, 1fr); padding-top: 36px; gap: 24px; }
  .tb-footer nav { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 20px; }
  .fk-footer-intro .wp-block-site-title { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
