/* The phone and the consultation remain available while reading any section. */
body { --kf-header-h: 76px; --kf-admin-h: 0px; }
body.admin-bar { --kf-admin-h: var(--wp-admin--admin-bar--height, 32px); }
body .site-bar.kf-site-header {
    position: sticky;
    inset-block-start: var(--kf-admin-h);
    z-index: 15;
    color: #102941;
    background: #fffefa;
    border-bottom: 1px solid #d5dddc;
}
.kf-site-header .mast.wrap {
    display: grid;
    grid-template: "start nav actions" auto / max-content minmax(0,1fr) max-content;
    justify-content: normal;
    align-items: center;
    gap: clamp(15px, 2vw, 32px);
    min-height: 76px;
    padding-block: 4px;
    border: 0;
}
.kf-mast-start {grid-area: start; display: flex; align-items: center; gap: 14px; min-width: 0;}
.kf-site-header .mast .brand {gap: 9px;}
body .kf-site-header .mast .brand img {width: 68px; height: auto; aspect-ratio: auto; flex: none;}
body .kf-site-header .mast .brand-name,
.site-foot .brand .brand-name {
    display: block;
    font: 700 20px/1.1 Georgia, serif;
    letter-spacing: .115em;
}
.brand .brand-name > .kf-brand-text {font: inherit; letter-spacing: inherit;}
.kf-site-header .mast .brand small {display:block; font: 550 10px/1.2 Manrope, sans-serif; letter-spacing: .055em; margin-top: 4px;}
.kf-site-header .mast .topnav {grid-area: nav; justify-self: end; gap: clamp(12px, 1.28vw, 23px); margin: 0; font-size: 14px; font-weight: 690;}
.kf-media-jumps {display:flex; align-items:center; flex-wrap:wrap; gap:2px 22px; flex-shrink:0;}
.kf-media-jumps .lp-text-link {display:inline-flex; align-items:center; min-height:44px;}
@media(max-width:740px) { .kf-media-jumps {margin-block-start:9px;} }
.kf-site-header .topnav > a, .kf-site-header .program-nav > a {padding-block: 10px; white-space: nowrap;}
.kf-site-header .topnav a:is([aria-current="page"],[aria-current="location"]) {text-decoration: underline 2px #d2a341; text-underline-offset: 7px;}
.kf-site-header .program-nav {gap: 1px;}
.kf-site-header .program-nav summary {width: 23px; height: 40px;}
.kf-site-header .chev {width: 7px; height: 7px; border-width: 0 1.5px 1.5px 0;}
.kf-site-header .flyout {max-height: calc(100dvh - var(--kf-header-h) - var(--kf-admin-h) - 12px); overflow-y: auto; background: #fffefa; border-radius: 5px;}
.kf-mast-actions {grid-area: actions; display: flex; align-items: center; gap: 8px;}
.kf-nav-phone, .kf-site-header .mast .nav-cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 44px; white-space: nowrap; margin: 0;
    padding: 10px 14px; border: 1px solid #a6b6be; border-radius: 5px;
    color: #102941; background: transparent; font: 760 14px/1.2 Manrope, sans-serif;
}
.kf-nav-phone {font-size: 16px; font-variant-numeric: tabular-nums;}
.kf-nav-phone svg, .kf-mast-actions .arr {flex: none;}
.kf-nav-phone:hover {background: #f1f5f6; border-color: #677e8c; color: #0b3654;}
body .kf-site-header .mast .nav-cta {border-color: #e4bf73; background: #f2ce7a; border-radius: 5px;}
body .kf-site-header .mast .nav-cta:hover {background: #f9d88b; border-color: #b88b32;}
.kf-site-header .mast .nav-cta .arr {display: inline; margin: 0; font-size: 18px;}
.kf-back-to-top {
    position: fixed; z-index: 1;
    inset: auto max(7px, min(1vw, 18px)) max(20px, env(safe-area-inset-bottom)) auto;
    display: inline-grid; place-items: center; flex: none;
    width: 44px; height: 44px;
    color: #102941; background: #fffefa;
    border: 1px solid #a2b0b8; border-radius: 50%;
    box-shadow: 0 3px 12px #10294114;
}
.kf-back-to-top:hover {color: #102941; border-color: #ad873e; background: #faf0d7;}
.site-foot .legal {align-items: center;}
.kf-footer-up {display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 4px 3px; font-weight: 720; white-space: nowrap;}
.kf-footer-up svg {color: #f2ce7a;}
.kf-topics-back {
    display: inline-flex; align-items: center; gap: 6px; grid-column: 1/-1;
    justify-self: start; min-height: 44px; margin-top: 4px;
    font-size: 14px; font-weight: 700; color: #355a70;
}
.kf-topics-back:hover {text-decoration: underline; text-underline-offset: .2em;}
.landing-programs:focus-visible {outline: 0;}
.landing-programs:focus-visible .landing-section-head h2 {width: fit-content; outline: 2px solid #8b5b00; outline-offset: 4px;}
main, main :where([id]), .lp-home :is(section[id],article[id],.landing-panels,.kfo,.lp-section) {
    scroll-margin-top: calc(var(--kf-header-h) + var(--kf-admin-h) + 12px);
}
@media (min-width: 1200px) and (max-width: 1320px) {
    .kf-site-header .mast.wrap {width: 94%; gap: 16px;}
}
@media (width < 1200px) {
    body {--kf-header-h: 66px;}
    .kf-site-header .mast.wrap {
        grid-template: "start actions menu" auto "nav nav nav" auto / minmax(0,1fr) max-content max-content;
        width: min(94%, var(--page)); min-height: 66px; gap: 0 18px;
    }
    body .kf-site-header .mast .brand img {width: 58px;}
    body .kf-site-header .mast .brand-name {font-size: 17px;}
    .kf-back-to-top {
        position: static; width: 40px; height: 40px; box-shadow: none; border-color: #d1d9d8;
    }
    .kf-js .kf-site-header .menu-toggle {
        grid-area: menu; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
        min-height: 44px; padding: 7px 0 7px 6px; border: 0;
        background: transparent; color: #102941; font-size: 14px; font-weight: 750;
    }
    .kf-site-header .mast .topnav {
        grid-area: nav; width: 100%; justify-self: stretch; flex-wrap: wrap;
        gap: 0 18px; padding: 8px 0; border-top: 1px solid #d5dddc;
    }
    .kf-js .kf-site-header .menu-toggle[aria-expanded="false"] + .topnav {display: none;}
    .kf-js .kf-site-header .menu-toggle[aria-expanded="true"] + .topnav {
        position: absolute; top: 100%; right: 0; z-index: 2;
        display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0;
        width: min(360px, 100%); max-height: calc(100dvh - var(--kf-header-h) - var(--kf-admin-h) - 10px);
        padding: 6px 18px 12px; overflow-y: auto; overscroll-behavior: contain;
        border: 1px solid #d5dddc; border-radius: 0 0 7px 7px;
        background: #fffefa; box-shadow: 0 12px 28px #122b411c;
    }
    .kf-js .kf-site-header .topnav > * + * {border-top: 1px solid #e3e7e5;}
    .kf-js .kf-site-header .topnav > a, .kf-js .kf-site-header .program-nav > a {display: flex; align-items: center; min-height: 44px; padding-block: 8px;}
    .kf-js .kf-site-header .program-nav {display: grid; grid-template-columns: minmax(0,1fr) 44px;}
    .kf-js .kf-site-header .program-nav details {display: contents;}
    .kf-js .kf-site-header .program-nav summary {justify-self: end; width: 44px; height: 44px;}
    .kf-js .kf-site-header .flyout {position: static; grid-column: 1 / -1; min-width: 0; max-height: none; padding: 0 12px 8px; background: #f5f3ed; border: 0; box-shadow: none;}
    .kf-js .kf-site-header .flyout a {font-size: 14px;}
}
@media (min-width: 781px) and (max-width: 920px) {
    .kf-site-header .mast.wrap {column-gap: 10px;}
    .kf-site-header .kf-mast-start {gap: 6px;}
    .kf-nav-phone, body .kf-site-header .mast .nav-cta {padding-inline: 10px; font-size: 14px;}
}
@media (max-width: 780px) {
    body {--kf-header-h: 99px;}
    .kf-site-header .mast.wrap {
        width: 94%; min-height: auto; padding: 3px 0 6px;
        grid-template: "start menu" auto "actions actions" auto "nav nav" auto / minmax(0,1fr) max-content;
        gap: 0 10px;
    }
    body .kf-site-header .mast .brand img {width: 50px;}
    body .kf-site-header .mast .brand .brand-name {font-size: 16px; letter-spacing: .11em;}
    .kf-site-header .mast .brand small {display: none;}
    .kf-site-header .kf-mast-start {gap: 12px;}
    .kf-site-header .kf-back-to-top {width: 40px; height: 40px;}
    .kf-site-header .kf-back-to-top svg {width: 18px; height: 18px;}
    .kf-mast-actions {display: grid; grid-template-columns: 1fr 1fr; gap: 7px;}
    .kf-nav-phone, .kf-site-header .mast .nav-cta {
        padding: 7px 4px; min-height: 44px; gap: 5px; font-size: clamp(12px,3.2vw,14px);
    }
    .kf-nav-phone {font-size: clamp(13px,3.5vw,15px);}
    .kf-nav-phone svg {width: 15px; height: 15px;}
    .kf-site-header .mast .nav-cta .arr {display: inline; font-size: 15px;}
    .site-foot .legal {column-gap: 16px;}
}
@media (max-width: 600px) {body.admin-bar {--kf-admin-h: 0px;}}
@media (max-width: 360px) {
    .kf-site-header .mast .nav-cta .arr, .kf-site-header .menu-toggle > span {display: none;}
    .kf-js .kf-site-header .mast .menu-toggle {width: 44px; padding: 5px;}
}
@media print {
    .kf-site-header .mast .topnav, .kf-site-header .menu-toggle, .kf-mast-actions, .kf-back-to-top, .kf-footer-up {display:none;}
}
.kf-program-links {border-bottom:1px solid var(--line);}
.kf-program-links:has(> .kf-menu-catalog) {border-bottom:0;}
.kf-program-links > .kf-menu-catalog {grid-column:1 / -1; border-top:1px solid var(--line);}
.kf-menu-group {grid-column:1 / -1; min-width:0;}
.kf-menu-group > a {font-weight:760;}
.kf-menu-nested {padding-inline-start:16px; border-inline-start:1px solid var(--line);}
.kf-site-header .flyout .kf-menu-catalog {display:flex; align-items:center; justify-content:space-between; gap:12px; font-weight:760;}
@media (min-width:1200px) {
    .kf-site-header .program-nav .flyout {width:510px; padding:7px 20px;}
    .kf-program-links {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px;}
    .kf-program-links a {display:flex; align-items:center; padding:11px 0; line-height:1.35;}
    .kf-program-links a:nth-child(2) {border-top:0;}
}
