/* Editorial system: deliberately scoped away from the existing onepager. */
.kh { --kh-ink:#27282b; --kh-muted:#525556; --kh-line:#e5e5e5; --kh-paper:#f7f7f7; --kh-gold:#ffd700; color:var(--kh-ink); background:#fff; font-family:var(--wp--preset--font-family--surt-text,"Surt Text",sans-serif); font-size:17px; line-height:1.6; }
.kh *, .kh *::before, .kh *::after { box-sizing:border-box; }
.dgp-primary-menu a[href$="/know-how/"] { text-decoration:underline; text-decoration-color:#ffd700; text-decoration-thickness:2px; text-underline-offset:8px; }
html.kh-dialog-open { overflow:hidden; }
html:has(.kh) { scroll-padding-top:0; }
@media (max-width:991px) { .kh-index,.kh-article { padding-top:var(--dgp-header-height-mobile,60px); } }
.kh [hidden] { display:none!important; }
.kh :where(h1,h2,h3,p,figure) { margin:0; }
.kh :where(h1,h2,h3) { font-family:var(--wp--preset--font-family--surt-text,"Surt Text",sans-serif); font-weight:400; letter-spacing:-.03em; text-wrap:balance; }
.kh a { color:inherit; text-decoration-thickness:1px; text-underline-offset:5px; }
.kh a:hover { color:var(--kh-ink); }
.kh :where(a,button,input,select,summary,[tabindex="0"]):focus-visible { outline:2px solid var(--kh-ink); outline-offset:5px; box-shadow:0 0 0 2px var(--kh-gold); }
.kh button,.kh input,.kh select { font:inherit; }
.kh button { cursor:pointer; }
.kh svg { flex:none; vertical-align:middle; }
.kh-wrap { width:min(1170px,calc(100% - 2 * var(--dgp-gutter,30px))); margin-inline:auto; }
.kh-masthead { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:end; padding-block:68px 46px; }
.kh .kh-kicker { font-size:11px; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; font-weight:400; color:var(--kh-muted); }
.kh-masthead h1 { font-family:var(--wp--preset--font-family--surt-display,"Surt Display",sans-serif); font-size:clamp(48px,6vw,76px); line-height:1.08; letter-spacing:-.055em; margin-top:14px; }
.kh-masthead h1 span { color:inherit; }
.kh-masthead__intro { max-width:440px; padding-bottom:3px; }
.kh-masthead__intro p:first-child { font-size:24px; line-height:1.3; letter-spacing:-.025em; margin-bottom:12px; }
.kh-masthead__intro p+p { font-size:16px; line-height:1.65; color:var(--kh-muted); }
.kh-topicbar { border-block:1px solid var(--kh-line); display:flex; justify-content:space-between; align-items:center; gap:20px; }
.kh-topicbar nav { display:flex; flex-wrap:wrap; column-gap:24px; }
.kh-topicbar nav a { min-height:60px; display:flex; align-items:center; font-size:13px; text-decoration:none; position:relative; }
.kh-topicbar nav a[aria-current]::after,.kh-topicbar nav a:hover::after { content:""; position:absolute; height:3px; background:var(--kh-gold); bottom:0; inset-inline:0; }
.kh-library { display:inline-flex; align-items:center; gap:8px; background:none; border:0; min-height:48px; font-size:13px!important; white-space:nowrap; padding:8px 0 8px 16px; }
.kh-library [data-kh-count] { border-radius:50%; background:var(--kh-paper); min-width:24px; line-height:24px; }
.kh-featured { padding-block:36px 78px; }
.kh-archive-notice { font-size:12px; color:var(--kh-muted); line-height:1.6; padding-top:18px; }
.kh .kh-section-label { font-size:11px; text-transform:uppercase; letter-spacing:.12em; line-height:1.5; margin-bottom:24px; display:flex; align-items:center; gap:24px; }
.kh-section-label span { color:var(--kh-muted); font-size:10px; letter-spacing:.08em; }
.kh-featured__grid { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(0,1fr); gap:42px; }
.kh-card__image { display:block; overflow:hidden; background:var(--kh-paper); aspect-ratio:8/5; }
.kh-card__image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.3,1); }
@media (hover:hover) { .kh-card:has(a:hover) .kh-card__image img { transform:scale(1.035); } }
.kh-card h3,.kh-card h2 { font-size:25px; line-height:1.22; margin-block:10px 14px; }
.kh-card h3 a,.kh-card h2 a { text-decoration:none; background-image:linear-gradient(var(--kh-gold),var(--kh-gold)); background-position:0 100%; background-size:0 2px; background-repeat:no-repeat; transition:background-size .2s; }
.kh-card h3 a:hover,.kh-card h2 a:hover { background-size:100% 2px; }
.kh-card--lead .kh-card__copy { padding-top:25px; }
.kh-card--lead h3,.kh-card--lead h2 { font-size:clamp(29px,2.8vw,39px); line-height:1.17; max-width:22ch; margin-block:10px 17px; }
.kh-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px 8px; font-size:12px; line-height:1.55; color:var(--kh-muted); }
.kh-archive-label { border-left:1px solid var(--kh-line); padding-left:8px; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.kh-card__excerpt { font-size:16px; line-height:1.65; margin-top:18px; color:var(--kh-muted); max-width:62ch; }
.kh-card--lead .kh-card__excerpt { font-size:18px; line-height:1.55; }
.kh-card__actions { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:15px; }
.kh-text-link { display:inline-flex; align-items:center; gap:10px; font-size:13px; line-height:1.45; min-height:44px; text-decoration:none; }
.kh-text-link:hover { text-decoration:underline; }
.kh-save { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid var(--kh-line); background:transparent; color:var(--kh-ink); border-radius:50%; transition:background .2s,border-color .2s; }
.kh-save:hover,.kh-save[aria-pressed="true"] { background:var(--kh-ink); border-color:var(--kh-ink); color:#fff; }
.kh-save:hover { box-shadow:0 2px 0 var(--kh-gold); }
.kh-save[aria-pressed="true"] svg { fill:currentColor; }
.kh-featured__aside { border-left:1px solid var(--kh-line); padding-left:36px; }
.kh-card--compact .kh-card__image { aspect-ratio:2/1; margin-bottom:18px; }
.kh-featured__aside .kh-card--compact+.kh-card--compact { border-top:1px solid var(--kh-line); padding-top:28px; margin-top:24px; }
.kh-featured__aside .kh-card--compact:nth-child(2) .kh-card__image { display:none; }
.kh-card--compact h3 { font-size:24px; }
.kh-editor-note { margin-top:32px!important; padding-top:20px; border-top:1px solid var(--kh-line); color:var(--kh-muted); font-size:13px; }
.kh-archive { border-top:2px solid var(--kh-ink); padding-block:38px 90px; scroll-margin-top:calc(var(--dgp-header-height,94px) + 24px); }
.kh-archive__heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.kh-archive__heading h2 { font-size:clamp(27px,3vw,36px); line-height:1.2; margin-top:8px; }
.kh-results-count { font-size:12px; color:var(--kh-muted); }
.kh-search { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,.45fr) auto; align-items:end; gap:20px; padding:26px; margin:0 0 42px; background:var(--kh-paper); }
.kh-search label { display:block; font-size:12px; margin-bottom:9px; }
.kh-search__input { position:relative; }
.kh-search__input svg { position:absolute; left:14px; top:15px; color:var(--kh-muted); }
.kh-search input,.kh-search select { min-width:0; width:100%; max-width:100%; height:50px; background:#fff; color:var(--kh-ink); border:1px solid var(--kh-line); border-radius:0; padding:10px 14px; font-size:15px; line-height:1.5; }
.kh-search input { padding-left:44px; }
.kh-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 16px; border:1px solid var(--kh-line); border-radius:0; background:transparent; color:var(--kh-ink); text-decoration:none; font-size:13px!important; line-height:1.5; }
.kh-button:hover { background:var(--kh-paper); }
.kh-button--dark { min-height:50px; background:var(--kh-ink); border-color:var(--kh-ink); color:#fff; padding-inline:24px; }
.kh-button--dark:hover { background:#525556; }
.kh-archive__grid { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr); gap:60px; }
.kh-card--list { display:grid; grid-template-columns:minmax(180px,.9fr) minmax(0,1.35fr); align-items:start; gap:28px; padding-block:32px; border-bottom:1px solid var(--kh-line); }
.kh-card--list:first-child { padding-top:0; }
.kh-card--list .kh-card__image { margin-top:4px; }
.kh-card--list h3 { font-size:25px; }
.kh-card--list .kh-card__excerpt { font-size:15px; margin-top:12px; }
.kh-sidebar { border-left:1px solid var(--kh-line); padding-left:34px; }
.kh-sidebar h3 { font-size:26px; line-height:1.2; margin-block:15px 20px; }
.kh-sidebar p:not(.kh-kicker) { font-size:15px; line-height:1.7; color:var(--kh-muted); }
.kh-sidebar .kh-text-link { margin-top:16px; }
.kh-sidebar__contact { border-top:1px solid var(--kh-line); margin-top:42px; padding-top:32px; }
.kh-sidebar__contact .kh-text-link { border-bottom:1px solid var(--kh-ink); }
.kh-pagination { display:flex; gap:8px; flex-wrap:wrap; padding-top:32px; font-size:14px; }
.kh-pagination .page-numbers { min-width:44px; min-height:44px; display:grid; place-items:center; padding:8px 12px; border:1px solid var(--kh-line); text-decoration:none; }
.kh-pagination .current { background:var(--kh-ink); border-color:var(--kh-ink); color:#fff; }
.kh-filter-state { margin-top:-20px!important; margin-bottom:32px!important; font-size:15px; }
.kh-empty { padding:30px; background:var(--kh-paper); }
.kh-empty h3 { font-size:27px; margin-bottom:14px; }
.kh-dialog { color:var(--kh-ink); background:#fff; border:0; padding:36px; width:min(680px,calc(100% - 32px)); max-height:85dvh; margin:auto; box-shadow:0 20px 80px #0003; }
.kh-dialog::backdrop { background:#17181bbb; }
.kh-dialog__heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.kh-dialog__heading h2 { font-size:30px; line-height:1.2; }
.kh-dialog>p { color:var(--kh-muted); font-size:15px; }
.kh-saved-list { padding:0; margin:24px 0 0; list-style:none; }
.kh-saved-list li { display:flex; align-items:center; gap:20px; justify-content:space-between; padding-block:20px; border-top:1px solid var(--kh-line); }
.kh-saved-list a { font-size:18px; line-height:1.4; }
.kh-saved-list button { flex:none; }
.kh-dialog [data-kh-saved-empty] { padding-block:25px; }
/* Reading: narrow prose, generous margins, purposeful supporting controls. */
.kh-article__header { max-width:900px; margin:auto; padding-block:52px 40px; }
.kh-back { font-size:13px; display:inline-flex; align-items:center; min-height:44px; margin-bottom:25px; text-decoration:none; }
.kh-article h1 { font-size:clamp(32px,4.1vw,54px); line-height:1.15; margin-block:15px 26px; }
.kh-article__deck { font-size:clamp(18px,1.8vw,23px); line-height:1.55; max-width:64ch; color:var(--kh-muted); }
.kh-article__meta { display:flex; align-items:center; gap:25px; margin-top:24px; }
.kh-article__visual { margin-bottom:60px; }
.kh-article__visual>img { display:block; width:100%; height:auto; max-height:560px; object-fit:cover; }
.kh-article__visual figcaption { color:var(--kh-muted); font-size:11px; text-align:right; margin-top:8px; }
.kh-article__layout { display:grid; grid-template-columns:200px minmax(0,690px); justify-content:center; gap:64px; align-items:start; }
.kh-article__aside { position:sticky; top:calc(var(--dgp-header-height,94px) + 84px); max-height:calc(100dvh - var(--dgp-header-height,94px) - 108px); overflow:auto; font-size:13px; padding:5px; }
.kh-article__aside nav { margin-block:16px 28px; }
.kh-article__aside nav a { display:block; padding-block:9px; color:var(--kh-muted); text-decoration:none; line-height:1.4; }
.kh-article__aside nav a:hover { text-decoration:underline; }
.kh-article__tools { display:flex; flex-wrap:wrap; gap:8px; }
.kh-prose { font-size:19px; line-height:1.75; overflow-wrap:anywhere; }
.kh-prose>*+* { margin-top:1.35em; }
.kh-prose :where(h2,h3) { scroll-margin-top:calc(var(--kh-header-bottom,var(--dgp-header-height,80px)) + 80px); margin-top:2em; margin-bottom:.8em; line-height:1.25; }
.kh-prose h2 { font-size:31px; }
.kh-prose h3 { font-size:25px; }
.kh-prose p { margin-bottom:1.35em; }
.kh-prose :where(ul,ol) { padding-left:1.3em; }
.kh-prose li+li { margin-top:.5em; }
.kh-prose blockquote { border-left:2px solid #b7b6b6; margin:2em 0; padding:12px 0 12px 28px; font-size:25px; line-height:1.5; }
.kh-prose img { max-width:100%; height:auto; }
.kh-prose .wp-block-table { overflow-x:auto; }
/* Imported editorial elements: retain semantic structure without the retired theme. */
.kh-prose :where(h4,h5,h6) { font-family:inherit; font-weight:400; letter-spacing:-.025em; line-height:1.3; margin-block:2em .8em; scroll-margin-top:calc(var(--kh-header-bottom,80px) + 80px); }
.kh-prose h4 { font-size:23px; } .kh-prose h5,.kh-prose h6 { font-size:21px; }
.kh-prose :where(strong,b) { font-weight:700; }
.kh-prose :where(sup,sub) { font-size:.72em; line-height:0; }
.kh-prose figure { margin:2em 0; max-width:100%; }
.kh-prose figure img { display:block; margin-inline:auto; }
.kh-prose figcaption { margin-top:12px; font-size:13px; line-height:1.6; color:var(--kh-muted); text-align:center; }
.kh-prose .wp-block-pullquote { padding:0; text-align:left; }
.kh-prose .wp-block-pullquote blockquote { margin:0; }
.kh-prose blockquote p:last-child { margin-bottom:0; }
.kh-prose .wp-block-media-text { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.kh-prose .wp-block-media-text__media { margin:0; }
.kh-prose .wp-block-media-text__content { padding:0; }
.kh-prose .wp-block-media-text__content p { font-size:inherit; line-height:inherit; }
.kh-prose .kh-missing-media { display:block; padding:18px; background:var(--kh-paper); color:var(--kh-muted); font-size:13px; line-height:1.6; }
.kh-prose .kh-zoomable { display:block; cursor:zoom-in; }
.kh-prose .kh-zoomable:hover { outline:1px solid var(--kh-line); outline-offset:5px; }
.kh-article__visual>img { object-fit:contain; }
.kh-article-tags { border-top:1px solid var(--kh-line); margin-top:38px; padding-top:20px; font-size:14px; }
.kh-article-tags summary { cursor:pointer; padding-block:10px; }
.kh-article-tags ul { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.kh-article-tags a { display:block; padding:8px 12px; background:var(--kh-paper); text-decoration:none; font-size:12px; line-height:1.4; }
.kh-article-tags a:hover { background:var(--kh-line); text-decoration:underline; text-decoration-color:var(--kh-gold); }
@media (max-width:560px) { .kh-prose .wp-block-media-text { grid-template-columns:1fr; } .kh-prose blockquote { font-size:21px; padding-left:20px; } }
.kh-prose :where(pre,code) { white-space:pre-wrap; overflow-wrap:anywhere; }
.kh-source { background:var(--kh-paper); padding:26px; border-left:2px solid #b7b6b6; font-size:16px; line-height:1.65; }
.kh-source p:last-child { margin-bottom:0; }
.kh-legal-note { font-size:13px; line-height:1.65; color:var(--kh-muted); padding-top:30px; margin-top:38px!important; border-top:1px solid var(--kh-line); }
.kh-article__contact { margin-top:42px; padding:30px; background:var(--kh-ink); color:#fff; }
.kh-article__contact :is(h2,p,a) { color:inherit; }
.kh-article__contact a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.kh-article__contact h2 { font-size:28px; line-height:1.25; margin-bottom:12px; }
.kh-related { padding-block:75px; }
.kh-related>h2 { font-size:32px; padding-top:30px; border-top:2px solid var(--kh-ink); margin-bottom:32px; }
.kh-related>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.kh-readingbar { position:fixed; top:var(--kh-header-bottom,var(--dgp-header-height,94px)); inset-inline:0; z-index:90; display:flex; align-items:center; gap:24px; padding:8px max(24px,calc((100% - 1170px)/2)); background:#fff; box-shadow:0 3px 12px #0000000a; transform:translateY(-120%); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s,transform .2s,visibility .2s; }
.kh-readingbar.is-visible { transform:none; opacity:1; visibility:visible; pointer-events:auto; }
.kh-readingbar>a { font-size:14px; text-decoration:none; white-space:nowrap; }
.kh-readingbar>span { flex:1; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kh-progress { position:absolute; inset:100% 0 auto; height:3px; background:var(--kh-line); }
.kh-progress i { display:block; height:100%; background:var(--kh-gold); transform:scaleX(0); transform-origin:left; }
@media (max-width:1100px) { .kh-topicbar { align-items:start; } .kh-topicbar nav { column-gap:20px; } .kh-library { padding-top:18px; } .kh-masthead { gap:40px; } .kh-archive__grid { gap:32px; grid-template-columns:minmax(0,2.5fr) minmax(190px,1fr); } .kh-sidebar { padding-left:25px; } .kh-card--list { grid-template-columns:1fr 1.5fr; gap:20px; } .kh-card--list h3 { font-size:23px; } .kh-article__layout { grid-template-columns:170px minmax(0,1fr); gap:40px; } }
@media (max-width:800px) {
 .kh-masthead { padding-top:40px; grid-template-columns:1fr; gap:24px; padding-bottom:30px; }
 .kh-masthead__intro { max-width:560px; }
 .kh-masthead__intro p:first-child { font-size:21px; }
 .kh-topicbar { flex-direction:column; gap:0; padding-bottom:5px; }
 .kh-topicbar nav { width:100%; column-gap:22px; }
 .kh-topicbar nav a { min-height:46px; }
 .kh-library { min-height:44px; padding:8px 0; }
 .kh-featured__grid { gap:28px; grid-template-columns:1.5fr 1fr; }
 .kh-featured__aside { padding-left:24px; }
 .kh-card--compact h3 { font-size:21px; }
 .kh-editor-note { display:none; }
 .kh-card--lead h3 { font-size:29px; }
 .kh-archive__grid { grid-template-columns:1fr; }
 .kh-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:30px 0 0; border-left:0; border-top:1px solid var(--kh-line); }
 .kh-sidebar__contact { border-top:0; padding-top:0; margin-top:0; }
 .kh-search { gap:14px; padding:20px; grid-template-columns:1fr 1fr; }
 .kh-search>div:first-child { grid-column:1/-1; }
 .kh-article__layout { display:block; }
 .kh-article__aside { position:static; max-height:none; padding:22px; background:var(--kh-paper); margin-bottom:36px; }
 .kh-article__aside nav { display:flex; flex-wrap:wrap; gap:5px 25px; margin-block:12px; }
 .kh-prose { max-width:690px; margin:auto; }
 .kh-related>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
 .kh-wrap { width:calc(100% - 40px); }
 .kh { font-size:16px; }
 .kh-masthead { padding-top:32px; }
 .kh-masthead h1 { font-size:50px; }
 .kh .kh-kicker { font-size:10px; }
 .kh-masthead__intro p+p { font-size:15px; }
 .kh-topicbar nav { column-gap:20px; }
 .kh-topicbar nav a { font-size:12px; }
 .kh-featured { padding-block:26px 46px; }
 .kh-section-label { flex-wrap:wrap; gap:4px 16px!important; }
 .kh-featured__grid { grid-template-columns:1fr; }
 .kh-featured__aside { padding-left:0; padding-top:28px; border-left:0; border-top:1px solid var(--kh-line); }
 .kh-featured__aside .kh-card--compact { display:grid; grid-template-columns:100px minmax(0,1fr); gap:18px; }
 .kh-featured__aside .kh-card--compact .kh-card__image { display:block!important; aspect-ratio:1; margin:3px 0 0; }
 .kh-card--compact h3 { font-size:21px; }
 .kh-card--lead .kh-card__excerpt { font-size:17px; }
 .kh-card--compact .kh-card__actions { flex-wrap:wrap; gap:8px; }
 .kh-archive { padding-bottom:50px; }
 .kh-archive__heading { display:block; }
 .kh-results-count { display:block; margin-top:12px; }
 .kh-search { padding:18px; gap:16px; }
 .kh-search>div,.kh-search>button { grid-column:1/-1; }
 .kh-search input,.kh-search select { font-size:16px; }
 .kh-card--list { grid-template-columns:1fr; gap:21px; padding-block:28px; }
 .kh-card--list .kh-card__image { aspect-ratio:16/9; }
 .kh-card--list h3 { font-size:26px; }
 .kh-card--list .kh-card__excerpt { font-size:16px; }
 .kh-sidebar { grid-template-columns:1fr; gap:30px; }
 .kh-sidebar h3 br { display:none; }
 .kh-sidebar h3 { font-size:25px; }
 .kh-sidebar__contact { border-top:1px solid var(--kh-line); padding-top:28px; }
 .kh-dialog { padding:24px; }
 .kh-dialog__heading { align-items:start; }
 .kh-dialog__heading h2 { font-size:26px; }
 .kh-saved-list li { align-items:start; gap:14px; }
 .kh-saved-list a { font-size:16px; }
 .kh-article__header { padding-block:26px 30px; }
 .kh-article__visual { margin-bottom:30px; }
 .kh-article h1 { font-size:34px; }
 .kh-article__meta { gap:15px; }
 .kh-prose { font-size:18px; line-height:1.72; }
 .kh-prose h2 { font-size:28px; }
 .kh-prose h3 { font-size:23px; }
 .kh-related>div { grid-template-columns:1fr; }
 .kh-readingbar { padding-inline:20px; gap:14px; }
 .kh-readingbar>span { font-size:12px; }
 .kh-readingbar .kh-save { width:40px; height:40px; }
}
@media (prefers-reduced-motion:reduce) { .kh *, .kh *::before,.kh *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
@media print { .dgp-site-header,.dgp-site-footer,.kh-readingbar,.kh-article__aside,.kh-related,.kh-back,.kh-save,.kh-article__contact,.kh-dialog { display:none!important; } .kh-wrap { width:100%; } .kh-article__layout { display:block; } .kh-article__visual>img { max-height:240px; object-fit:contain; } .kh-prose { font-size:11pt; line-height:1.5; } .kh-prose a::after { content:" (" attr(href) ")"; font-size:9pt; } .kh { color:#000;background:#fff; } .kh-article__header { padding-top:0; } .kh-article__visual { margin-bottom:24px; } }
