/* Persistent utility controls share the first header row at every breakpoint. */
.kf-site-header .mast.wrap {
    grid-template: "start nav tools actions" auto / max-content minmax(0, 1fr) max-content max-content;
    column-gap: clamp(10px, 1.25vw, 23px);
}
.kf-mast-tools { grid-area: tools; display: inline-flex; align-items: center; gap: 3px; }
.kf-mark-filters { position: absolute; pointer-events: none; overflow: hidden; }
.kf-mast-tools .kf-language-option, .kf-color-mode {
    display: inline-flex; justify-content: center; align-items: center;
    min-width: 40px; min-height: 44px; padding: 0 4px;
    color: inherit; background: transparent; border: 0; border-radius: 4px;
    font: 730 13px/1 Manrope, Arial, sans-serif;
}
.kf-color-mode { display: none; }
[data-kf-theme] .kf-color-mode { display: inline-flex; }
.kf-color-mode:hover, .kf-mast-tools .kf-language-option:hover { color: #18334a; background: #f3f0e7; }
.kf-color-mode .kf-mode-sun, [data-kf-theme="dark"] .kf-mode-moon { display: none; }
[data-kf-theme="dark"] .kf-mode-sun { display: block; }
@media (min-width: 1200px) and (max-width: 1390px) {
    .kf-site-header .mast.wrap { width: 96%; column-gap: 10px; }
    .kf-site-header .mast .topnav { gap: 11px; }
    .kf-mast-actions { gap: 6px; }
    .kf-mast-actions .kf-nav-phone, body .kf-site-header .mast .nav-cta { padding-inline: 10px; }
}
@media (min-width: 1200px) and (max-width: 1260px) {
    .kf-site-header .mast.wrap { width: 97%; column-gap: 8px; }
    body .kf-site-header .mast .brand img { width: 58px; }
    body .kf-site-header .mast .brand-name { font-size: 18px; }
    .kf-site-header .mast .topnav { gap: 9px; }
}
@media (width < 1200px) {
    .kf-site-header .mast.wrap {
        grid-template: "start tools actions menu" auto "nav nav nav nav" auto /
            minmax(0,1fr) max-content max-content max-content;
    }
}
@media (max-width: 780px) {
    .kf-site-header .mast.wrap {
        grid-template: "start tools menu" auto "actions actions actions" auto "nav nav nav" auto /
            minmax(0,1fr) max-content max-content;
        column-gap: 6px;
    }
}
@media (max-width: 450px), (min-width: 781px) and (max-width: 880px) {
    .kf-mast-tools { gap: 0; }
    .kf-site-header .kf-back-to-top {
        position: fixed; inset: auto 9px max(12px,env(safe-area-inset-bottom)) auto;
        width: 40px; height: 40px; box-shadow: 0 2px 12px #0002;
    }
}
@media (min-width: 781px) and (max-width: 880px) {
    .kf-site-header .mast.wrap { width: 96%; column-gap: 6px; }
}
@media (max-width: 385px) {
    .kf-site-header .mast.wrap { width: calc(100% - 12px); column-gap: 2px; }
    .kf-site-header .mast .brand { gap: 4px; }
    body .kf-site-header .mast .brand img { width: 42px; }
    body .kf-site-header .mast .brand .brand-name { font-size: 15px; letter-spacing: .055em; }
}
@media print { .kf-mast-tools, .kf-color-mode { display: none !important; } }

/* Keep author-supplied photographs, wordmarks and artwork in their original colours. */
@media screen {
    html[data-kf-theme="dark"] {
        color-scheme: dark;
        --paper: #101a22;
        --wash: #16232d;
        --kf-panel: #1c2e39;
        --kf-input: #111e27;
        --ink: #f3f0e7;
        --muted: #b7c6cf;
        --line: #3b4e59;
        --blue: #aad4ee;
        --gold: #ecc884;
        --deep: #0c151d;
        --rule: var(--line);
        background: var(--paper);

        & body { background: var(--paper); color: var(--ink); }
        & .lp-home { --ink: inherit; --paper: inherit; --blue: inherit; --rule: inherit; }
        & ::selection { background: #e1c38c; color: #15232d; }
        & :focus-visible { outline-color: #f2c977; }

        & body .kf-site-header, & .kf-site-header .flyout, &.kf-js .kf-site-header .menu-toggle[aria-expanded="true"] + .topnav {
            color: var(--ink); background: var(--deep); border-color: var(--line);
        }
        & .kf-site-header .mast .topnav, & .kf-site-header .topnav > * + * { border-color: var(--line); }
        & .kf-site-header .mast .menu-toggle, & .kf-nav-phone { color: var(--ink); }
        & .kf-nav-phone { border-color: #708995; }
        & .kf-back-to-top { color: var(--ink); background: var(--kf-panel); border-color: #6a7b85; }
        & :is(.kf-color-mode, .kf-language-option, .kf-nav-phone, .kf-back-to-top):hover { color: var(--gold); background: var(--kf-panel); }
        & body .kf-site-header .mast .nav-cta { color: #132639; }
        & .skip { background: var(--gold); color: #142433; }

        & .lp-section, & .landing-tabs a, & .landing-more summary { color: var(--ink); }
        & :is(.landing-section-head .eyebrow, .landing-section-head > p:not(.eyebrow), .landing-tabs a::after,
            .landing-topic-case, .landing-program-copy > p, .landing-program-copy .landing-audience,
            .lp-side > p:not(.lp-kicker), .lp-team-intro, .lp-numbers dt, .lp-posts time, .lp-compass details > p, .lp-section .lp-role,
            .kf-home-person-copy > p:not(.ka-role)) { color: var(--muted); }
        & .lp-section .lp-kicker, & .ka .ka-eyebrow, & .ka-role, & .kc-eyebrow { color: var(--gold); }
        & :is(.lp-team, .lp-compass, .lp-back) { background: var(--paper); }
        & :is(.lp-journal, .lp-practice, .landing-program) { background: var(--wash); }
        & .lp-inquiry { background: linear-gradient(110deg, #102634, #183547); }
        & :is(.lp-section .lp-text-link, .lp-back a, .kf-topics-back, .lp-compass summary::after, .lp-library summary::after) { color: var(--blue); }
        & :is(.lp-numbers, .lp-areas, .lp-library, .lp-areas details, .lp-library details, .lp-method, .lp-posts article,
            .kf-home-person, .landing-tabs a, .landing-tabs a:first-child) { border-color: var(--line); }
        & .landing-tabs a[aria-current] { border-color: var(--gold); box-shadow: 0 2px var(--gold); }
        & :is(.lp-compass summary, .lp-library summary):hover { color: var(--gold); }

        & .kf-clients { color: var(--ink); background: var(--wash); border-color: var(--line); }
        & .kf-clients-heading h2 { color: var(--muted); }
        & .kf-client-controls, & .kf-client-controls button + button { border-color: #526671; }
        & .kf-client-controls button { color: var(--ink); }
        & .kf-client-controls button:hover { color: var(--gold); background: var(--kf-panel); }
        & :is(.kf-client-reversed, .ken-clients li, .ken-clients li.ken-inverse-logo) { background: transparent; color: var(--ink); }
        & .ken .ken-clients { background: var(--wash); }
        & :is(.kf-client, .ken-clients) img:is([src*="c990d0e1f9c6af7a"], [src*="186701b89cb4a684"], [src*="570aa3b6f54ee09c"]) {
            filter: url("#kf-mark-lettering");
        }
        & :is(.kf-client, .ken-clients) img[src*="810661a28021dec1"] {
            filter: brightness(0) saturate(100%) invert(84%) sepia(18%) saturate(619%) hue-rotate(172deg);
        }
        & :is(.kft-review figcaption, .kft-dialog-byline) img { background: transparent; }
        & :is(.kft-review figcaption, .kft-dialog-byline) img[src*="e98a2eb0b1b9a278"] {
            width: 58px; height: 37px; object-fit: contain; object-view-box: inset(26% 14% 30%);
            filter: url("#kf-mark-trinec");
        }
        & :is(.kft-review figcaption, .kft-dialog-byline) img[src*="1fd40e3f9fd9f55e"] {
            width: 47px; height: 37px; filter: url("#kf-mark-ekova");
        }
        & .kft { background: #11212c; color: var(--ink); border-color: var(--line); }
        & .kft::before { background: linear-gradient(90deg, #11212c 35%, #11212c 40%, rgb(17 33 44 / .95) 47%, rgb(17 33 44 / .65) 57%, rgb(17 33 44 / .10) 75%, transparent 89%); }
        & :is(.kft-review blockquote, .kft-review figcaption strong, .kft-dialog-byline strong, .kft-dialog, .kft-full summary) { color: var(--ink); }
        & :is(.kft-review figcaption, .kft-dialog-byline, .kft-bottom h2) { color: var(--muted); }
        & .kft-opening { color: var(--gold); }
        & .kft-dialog, & .kft-dialog-top { background: var(--kf-panel); }
        & .kft-dialog::backdrop { background: rgb(4 9 13 / .8); }
        & .kft-dialog-byline { border-color: var(--line); }
        & :is(.kft-controls button, .kft-dialog-top button) { background: #1c2e39ec; color: var(--ink); border-color: #657783; }
        & .kft-controls .kft-play { background: transparent; border-color: transparent; }
        & :is(.kft-controls button, .kft-dialog-top button):hover, & .kft-full summary:hover { color: var(--gold); }

        & .ka { --ka-cream: var(--wash); --ka-ink: var(--ink); --ka-muted: var(--muted); --ka-rule: var(--line); background: var(--paper); }
        & .ka-profile-dominika, & .kc-welcome { background: var(--wash); color: var(--ink); border-color: var(--line); }
        & .ka-email, & .kc-call, & .kc-links a, & .kc-office a { color: var(--blue); }
        & .ka summary:hover, & .ka-email:hover { color: var(--gold); }
        & :is(.kc-directory h2, .kc-person h3, .kc-office h3, .kc-links .kc-tel, .kf-photo-header h1, .kf-album-heading h2) { color: var(--ink); }
        & :is(.kc-welcome .crumb, .kc-role, .kc-office address, .kc-lead, .kf-photo-header .reading, .kf-album-content, .kf-collection-copy .intro) { color: var(--muted); }
        & :is(.kc-person, .kc-office, .kf-album-heading) { border-color: var(--line); }
        & .kf-photo-welcome::before, & .kf-collection-hero::before { background: var(--wash); box-shadow: 0 0 0 100vmax var(--wash); }
        & :is(.kf-photo-crosslink, .kf-album-heading > a, .kf-photo-albums a) { color: var(--blue); }
        & .kf-photo-crosslink:hover, & .kf-photo-crosslink:focus-visible { background: var(--kf-panel); }

        & .kfo, & .lp-inquiry .kfo, & .kc-form .kfo {
            background: var(--kf-panel); color: var(--ink); border-color: var(--line); border-top-color: var(--gold);
        }
        & .kfo label, & .kc-form .kfo label { color: var(--ink); }
        & .kfo .kfo-help, & .kc-form .kfo h2 + p, & .lp-inquiry .kfo .kfo-help, & .kc-form .kfo .kfo-help { color: var(--muted); }
        & .kfo a, & .lp-inquiry .kfo a { color: var(--blue); }
        & body .kfo .kfo-form :is(input:not([type="hidden"]), textarea, select), & .catalog-filter :is(input, select) {
            background-color: var(--kf-input); border-color: #758692; color: var(--ink);
        }
        & ::placeholder { color: #a4b3be; }
        & body .kfo .kfo-form [aria-invalid="true"] { border-color: #f4a398; }
        & .kfo .kfo-errors { background: #432b2c; border-inline-start-color: #ec9b90; }
        & .kfo .kfo-field-error, & .kfo .kfo-errors a { color: #ffc1b6; }
        & .kfo :focus-visible, & .kfo .kfo-form :focus-visible, & .kft-controls button:focus-visible, & .kft-full summary:focus-visible { outline-color: var(--gold); }
        & .catalog-filter { background: var(--wash); }
        & .play-icon, & .load-video { color: #112333; background: var(--gold); }
        & .player { background: var(--deep); }
    }
}
@media screen and (max-width: 1050px) {
    html[data-kf-theme="dark"] .kft::before {
        background: linear-gradient(90deg, #11212c 36%, rgb(17 33 44 / .96) 49%, rgb(17 33 44 / .70) 65%, rgb(17 33 44 / .1) 90%);
    }
}
@media screen and (max-width: 700px) {
    html[data-kf-theme="dark"] .kft::before {
        background: linear-gradient(90deg, rgb(17 33 44 / .98), rgb(17 33 44 / .94) 68%, rgb(17 33 44 / .83));
    }
}
