:root {
    --ks-bg: #f7f4ed;
    --ks-surface: #fffdf8;
    --ks-surface-muted: #eee9df;
    --ks-text: #101318;
    --ks-muted: #67635c;
    --ks-soft: #8e9580;
    --ks-border: #d9d2c6;
    --ks-accent: #0d151c;
    --ks-green: #6f836f;
    --ks-green-soft: #dfe8dc;
    --ks-blue-soft: #d9e2e8;
    --ks-sand: #d8c5a2;
    --ks-container: 1280px;
    --ks-serif: Georgia, 'Times New Roman', serif;
    --ks-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ks-site {
    margin: 0;
    background: var(--ks-bg);
    color: var(--ks-text);
    font-family: var(--ks-sans);
    font-size: 16px;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
body.ks-site .site-header,
body.ks-site .site-footer,
body.ks-site .site-info { display: none; }
body.ks-site a { color: inherit; }
button, input { font: inherit; }
svg { display: block; }

.ks-wrap {
    width: min(calc(100% - 48px), var(--ks-container));
    margin-inline: auto;
}

.ks-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(247,244,237,.96);
    border-bottom: 1px solid var(--ks-border);
    backdrop-filter: blur(10px);
}
.admin-bar .ks-header { top: 32px; }
.ks-header__inner {
    width: min(calc(100% - 48px), var(--ks-container));
    min-height: 96px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 38px;
}
.ks-brand {
    display: inline-flex;
    flex-direction: column;
    gap: 3px;
    color: var(--ks-text);
    text-decoration: none !important;
}
.ks-brand__title {
    font-family: var(--ks-serif);
    font-size: clamp(28px, 2.4vw, 38px);
    line-height: .96;
    letter-spacing: -.04em;
    font-weight: 700;
}
.ks-brand__tagline {
    color: var(--ks-muted);
    font-size: 13px;
    letter-spacing: .02em;
}
.ks-nav {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 30px;
}
.ks-nav a,
.ks-icon-link {
    font-size: 14px;
    font-weight: 700;
    color: var(--ks-text);
    text-decoration: none !important;
}
.ks-header__actions {
    display: flex;
    align-items: center;
    gap: 16px;
}
.ks-icon-link svg,
.ks-header-upload svg,
.ks-search-icon svg,
.ks-upload-callout__icon svg,
.ks-upload-hero__icon svg,
.ks-entry-card svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ks-header-upload {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 14px 18px;
    border-radius: 10px;
    background: var(--ks-accent);
    color: #fff !important;
    box-shadow: 0 14px 34px rgba(16,19,24,.14);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
}
.ks-header-upload svg { width: 18px; height: 18px; }

.ks-home { overflow: hidden; }
.ks-section { padding: 52px 0; }
.ks-hero {
    padding: 90px 0 64px;
    border-bottom: 1px solid rgba(217,210,198,.72);
}
.ks-hero__inner {
    max-width: 980px;
    margin-inline: auto;
    text-align: center;
}
.ks-hero h1 {
    max-width: 900px;
    margin: 0 auto 28px;
    font-family: var(--ks-serif);
    font-size: clamp(56px, 6.3vw, 92px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.055em;
}
.ks-pills {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0 0 34px;
}
.ks-pill,
.ks-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #bbb5ab;
    border-radius: 999px;
    background: rgba(255,253,248,.74);
    color: var(--ks-text);
    line-height: 1;
    text-decoration: none !important;
}
.ks-pill { padding: 10px 24px; min-width: 86px; justify-content: center; font-size: 14px; font-weight: 700; }
.ks-pill.is-active,
.ks-chip.is-active { background: var(--ks-accent); border-color: var(--ks-accent); color: #fff; }

.ks-search-shell {
    display: grid;
    grid-template-columns: 32px 1fr 64px;
    align-items: center;
    gap: 16px;
    min-height: 90px;
    padding: 0 12px 0 34px;
    border: 1.5px solid #aaa397;
    border-radius: 16px;
    background: rgba(255,253,248,.9);
    text-align: left;
}
.ks-search-shell input[type='search'] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ks-text);
    font-size: clamp(18px, 2vw, 24px);
}
.ks-search-shell input::placeholder { color: #77736c; }
.ks-search-shell button {
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 11px;
    background: var(--ks-surface-muted);
    color: var(--ks-text);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}
.ks-search-meta {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin: 12px 36px 30px;
    color: var(--ks-muted);
    font-size: 13px;
}
.ks-search-meta a { color: var(--ks-text); font-weight: 700; text-decoration: none !important; }

.ks-upload-callout {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    align-items: center;
    gap: 24px;
    text-align: left;
    padding: 26px 28px;
    border: 1px solid var(--ks-border);
    border-radius: 16px;
    background: rgba(255,253,248,.75);
}
.ks-upload-callout__icon,
.ks-upload-hero__icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--ks-accent);
    color: #fff;
}
.ks-upload-callout strong {
    display: block;
    margin-bottom: 4px;
    font-family: var(--ks-serif);
    font-size: 24px;
    line-height: 1.05;
}
.ks-upload-callout p { margin: 0; color: var(--ks-muted); font-size: 15px; }
.ks-button,
.ks-newsletter button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    background: var(--ks-accent);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
    cursor: pointer;
}
.ks-button--large { min-height: 58px; padding: 0 30px; border-radius: 10px; font-size: 17px; white-space: nowrap; }

.ks-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}
.ks-section-head h2 {
    margin: 0;
    font-family: var(--ks-serif);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.045em;
}
.ks-section-head a { color: var(--ks-text); font-size: 14px; font-weight: 700; text-decoration: none !important; }

.ks-topics { padding-top: 40px; padding-bottom: 48px; }
.ks-chip-cloud { display: flex; flex-wrap: wrap; gap: 12px; }
.ks-chip { padding: 10px 15px; font-size: 13px; font-weight: 700; background: rgba(255,253,248,.58); }
.ks-chip span { color: var(--ks-muted); font-size: 12px; font-weight: 600; }

.ks-feature { padding-top: 48px; }
.ks-feature__grid,
.ks-split-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: 56px;
    align-items: start;
}
.ks-feature-card {
    display: grid;
    grid-template-columns: 270px 1fr;
    overflow: hidden;
    min-height: 262px;
    border: 1px solid var(--ks-border);
    border-radius: 16px;
    background: var(--ks-surface);
}
.ks-feature-card__image { min-height: 262px; }
.ks-abstract-one {
    background:
        radial-gradient(circle at 27% 66%, #0d151c 0 22%, transparent 23%),
        linear-gradient(90deg, rgba(13,21,28,.13) 1px, transparent 1px),
        linear-gradient(0deg, rgba(13,21,28,.13) 1px, transparent 1px),
        radial-gradient(circle at 18% 28%, #cfd8c8 0 22%, transparent 23%),
        linear-gradient(135deg, #ccd8d5, #eee7da 75%);
    background-size: auto, 82px 82px, 82px 82px, auto, auto;
}
.ks-feature-card__body { padding: 34px 34px 28px; }
.ks-label {
    margin: 0 0 14px;
    color: var(--ks-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.ks-feature-card h3,
.ks-resource-card h3,
.ks-actor-card h3 {
    margin: 0;
    font-family: var(--ks-serif);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.02;
}
.ks-feature-card h3 { max-width: 13ch; font-size: 29px; }
.ks-feature-card p { margin: 13px 0 0; color: var(--ks-muted); font-size: 14px; line-height: 1.45; }
.ks-feature-card .ks-author { color: var(--ks-text); font-size: 13px; }
.ks-mini-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ks-mini-tags span,
.ks-actor-card span {
    display: inline-flex;
    border: 1px solid var(--ks-border);
    border-radius: 7px;
    padding: 7px 10px;
    background: rgba(255,253,248,.65);
    font-size: 12px;
    line-height: 1;
    color: var(--ks-text);
}
.ks-dots { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
.ks-dots span { width: 8px; height: 8px; border-radius: 50%; border: 1px solid #c8c0b4; }
.ks-dots .is-active { background: var(--ks-text); border-color: var(--ks-text); }

.ks-news-panel { padding-top: 2px; }
.ks-news-item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 30px;
    gap: 20px;
    padding: 22px 0 24px;
    border-top: 1px solid var(--ks-border);
    color: var(--ks-text);
    text-decoration: none !important;
}
.ks-news-item span { color: var(--ks-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.ks-news-item strong { display: block; margin-top: 7px; font-size: 17px; line-height: 1.25; }
.ks-news-item em { align-self: center; justify-self: end; font-style: normal; font-size: 22px; }

.ks-card-grid { display: grid; gap: 22px; }
.ks-card-grid--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ks-resource-card {
    min-height: 356px;
    padding: 18px;
    border: 1px solid var(--ks-border);
    border-radius: 14px;
    background: var(--ks-surface);
}
.ks-cover {
    position: relative;
    display: grid;
    place-items: center;
    height: 150px;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 9px;
    background: #eee9df;
    font-family: var(--ks-serif);
    font-size: 24px;
    line-height: .98;
    letter-spacing: -.035em;
    text-align: center;
    text-transform: uppercase;
}
.ks-cover--green { background: #91a086; color: #fffdf8; }
.ks-cover--paper { background: radial-gradient(circle at 5% 115%, #0d151c 0 28%, transparent 29%), linear-gradient(135deg,#fffdf8,#e5dece); }
.ks-cover--blue { background: radial-gradient(circle at 80% 18%, transparent 0 28%, rgba(255,253,248,.15) 29%), #8fa1ad; }
.ks-cover--ceramic { background: radial-gradient(ellipse at 50% 48%, #8d8a81 0 24%, #c8c0b4 25% 32%, transparent 33%), linear-gradient(180deg,#d9d0c2,#f5f1e8); }
.ks-cover--line { background: repeating-linear-gradient(45deg,#eee9df,#eee9df 11px,#f8f4ec 11px,#f8f4ec 24px); color: #a69a8b; }
.ks-resource-card h3 { font-size: 22px; margin-bottom: 10px; }
.ks-resource-card p { margin: 0; color: var(--ks-muted); font-size: 13px; line-height: 1.45; }

.ks-actors-events { padding-top: 26px; }
.ks-actor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ks-actor-card {
    min-height: 240px;
    padding: 28px 22px 20px;
    border: 1px solid var(--ks-border);
    border-radius: 14px;
    background: var(--ks-surface);
}
.ks-logo-dot {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    margin-bottom: 22px;
    border-radius: 50%;
    font-family: var(--ks-serif);
    font-size: 28px;
    line-height: 1;
}
.ks-logo-dot--dark { background: var(--ks-accent); color: #fff; }
.ks-logo-dot--green { background: #6f836f; color: #fff; }
.ks-logo-dot--sand { background: #e1d2b7; color: var(--ks-text); }
.ks-actor-card h3 { margin-bottom: 4px; font-size: 22px; }
.ks-actor-card p { margin: 0 0 16px; color: var(--ks-muted); font-size: 13px; }

.ks-event-list {
    overflow: hidden;
    border: 1px solid var(--ks-border);
    border-radius: 14px;
    background: var(--ks-surface);
}
.ks-event-item {
    display: grid;
    grid-template-columns: 82px 1fr 28px;
    gap: 20px;
    align-items: center;
    min-height: 112px;
    padding: 18px 20px;
    border-top: 1px solid var(--ks-border);
    color: var(--ks-text);
    text-decoration: none !important;
}
.ks-event-item:first-child { border-top: 0; }
.ks-event-item time {
    display: grid;
    place-items: center;
    width: 66px;
    height: 72px;
    border-radius: 9px;
    background: var(--ks-surface-muted);
    line-height: 1;
}
.ks-event-item time strong { font-size: 28px; }
.ks-event-item time span { margin-top: -8px; font-size: 14px; font-weight: 800; }
.ks-event-item div > span { display: block; color: var(--ks-muted); font-size: 11px; margin-bottom: 5px; }
.ks-event-item div > strong { display: block; font-size: 16px; line-height: 1.25; }
.ks-event-item p { margin: 4px 0 0; color: var(--ks-muted); font-size: 12px; }
.ks-event-item em { justify-self: end; font-style: normal; font-size: 22px; }

.ks-entry-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
.ks-entry-card {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    min-height: 178px;
    padding: 24px 24px 22px;
    border: 1px solid var(--ks-border);
    border-radius: 14px;
    background: var(--ks-surface);
    color: var(--ks-text);
    text-decoration: none !important;
}
.ks-entry-card__icon { width: 28px; height: 28px; color: var(--ks-text); }
.ks-entry-card strong {
    margin-top: 18px;
    font-family: var(--ks-serif);
    font-size: 26px;
    line-height: 1;
    letter-spacing: -.035em;
}
.ks-entry-card p { margin: 10px 0 0; color: var(--ks-muted); font-size: 13px; line-height: 1.45; }
.ks-entry-card em { align-self: end; margin-top: 18px; font-style: normal; font-size: 22px; }

.ks-upload-section { padding-top: 40px; }
.ks-upload-hero {
    display: grid;
    grid-template-columns: 96px minmax(0, 1.08fr) minmax(280px, .85fr) 250px;
    align-items: center;
    gap: 40px;
    min-height: 260px;
    padding: 52px 58px;
    border: 1px solid var(--ks-border);
    border-radius: 18px;
    background: linear-gradient(135deg, #e9e9df, #f3f0e8);
}
.ks-upload-hero__icon { width: 94px; height: 94px; }
.ks-upload-main h2 {
    max-width: 10ch;
    margin: 0 0 14px;
    font-family: var(--ks-serif);
    font-size: clamp(54px, 6vw, 76px);
    font-weight: 700;
    line-height: .92;
    letter-spacing: -.055em;
}
.ks-upload-main p { max-width: 38ch; margin: 0; color: var(--ks-muted); font-size: 17px; line-height: 1.45; }
.ks-upload-main .ks-button { margin-top: 30px; min-width: 285px; }
.ks-benefits { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.ks-benefits li { color: var(--ks-text); font-size: 15px; font-weight: 800; line-height: 1.35; }
.ks-benefits li::before { content: '✓'; margin-right: 12px; }
.ks-upload-hero__art {
    height: 160px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 18% 72%, var(--ks-accent) 0 18%, transparent 19%),
        radial-gradient(circle at 72% 22%, #cbd9c8 0 28%, transparent 29%),
        linear-gradient(100deg, transparent 0 46%, rgba(13,21,28,.24) 46% 47%, transparent 47% 100%),
        linear-gradient(135deg, var(--ks-blue-soft), #e7ddcc);
}

.ks-footer {
    padding: 52px 0 22px;
    border-top: 1px solid var(--ks-border);
    background: var(--ks-surface);
}
.ks-footer__grid { display: grid; grid-template-columns: 1.45fr .7fr .9fr 1.15fr; gap: 64px; }
.ks-footer h2 { margin: 0 0 14px; font-family: var(--ks-sans); font-size: 14px; letter-spacing: 0; }
.ks-footer p { max-width: 30ch; margin: 16px 0; color: var(--ks-muted); font-size: 14px; line-height: 1.55; }
.ks-footer a { display: block; margin-bottom: 8px; color: var(--ks-text); font-size: 14px; text-decoration: none !important; }
.ks-brand--footer .ks-brand__title { font-size: 30px; }
.ks-newsletter { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.ks-newsletter input { min-width: 0; padding: 13px 14px; border: 1px solid var(--ks-border); border-radius: 8px; background: #fff; }
.ks-newsletter button { padding: 0 18px; border-radius: 8px; }
.ks-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--ks-border); color: var(--ks-muted); font-size: 12px; }
.ks-footer__bottom a { display: inline; color: var(--ks-muted); font-size: 12px; margin: 0; }

@media (max-width: 1100px) {
    .ks-header__inner { grid-template-columns: 1fr auto; }
    .ks-nav { display: none; }
    .ks-feature__grid,
    .ks-split-grid,
    .ks-upload-hero { grid-template-columns: 1fr; }
    .ks-card-grid--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ks-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ks-upload-hero__art { max-width: 260px; }
}
@media (max-width: 760px) {
    .admin-bar .ks-header { top: 0; }
    .ks-wrap,
    .ks-header__inner { width: min(calc(100% - 32px), var(--ks-container)); }
    .ks-header__inner { min-height: 78px; gap: 14px; }
    .ks-header-upload span { display: none; }
    .ks-hero { padding-top: 58px; }
    .ks-search-shell { grid-template-columns: 24px 1fr 48px; min-height: 70px; padding-left: 18px; }
    .ks-search-shell button { width: 46px; height: 46px; font-size: 25px; }
    .ks-upload-callout { grid-template-columns: 1fr; text-align: left; }
    .ks-feature-card,
    .ks-card-grid--five,
    .ks-actor-grid,
    .ks-entry-grid,
    .ks-footer__grid { grid-template-columns: 1fr; }
    .ks-feature-card__image { min-height: 210px; }
    .ks-event-item { grid-template-columns: 70px 1fr 22px; }
    .ks-footer__bottom { flex-direction: column; }
}

/* Dynamic content additions */
.ks-feature-card a,
.ks-resource-card a,
.ks-actor-card a,
.ks-event-item,
.ks-news-item,
.ks-entry-card { text-decoration: none !important; }
.ks-feature-card__image-link { display: block; min-height: 100%; }
.ks-feature-card__image-link .ks-cover { min-height: 100%; height: 100%; border-radius: 0; }
.ks-cover--image { padding: 0; display: block; overflow: hidden; }
.ks-cover--image img { width: 100%; height: 100%; min-height: 170px; display: block; object-fit: cover; }
.ks-feature-card__cover { min-height: 262px; }
.ks-empty-state {
    grid-column: 1 / -1;
    margin: 0;
    padding: 22px;
    border: 1px dashed var(--ks-border);
    border-radius: 16px;
    color: var(--ks-muted);
    background: rgba(255,253,248,.55);
}
.ks-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}
.ks-info-box {
    padding: 26px;
    border: 1px solid var(--ks-border);
    border-radius: 18px;
    background: var(--ks-surface);
}
.ks-info-box h3 {
    margin: 0 0 10px;
    font-family: var(--ks-serif);
    font-size: 24px;
}
.ks-info-box p { margin: 0; color: var(--ks-muted); line-height: 1.55; }
.ks-info-box a { display: inline-block; margin-top: 16px; font-weight: 800; text-decoration: none !important; }

.ks-archive-hero,
.ks-single-hero {
    padding: 92px 0 54px;
    border-bottom: 1px solid var(--ks-border);
    background: linear-gradient(180deg, rgba(255,253,248,.72), rgba(247,244,237,.92));
}
.ks-archive-hero h1,
.ks-single-hero h1 {
    max-width: 820px;
    margin: 8px 0 14px;
    font-family: var(--ks-serif);
    font-size: clamp(44px, 6vw, 82px);
    line-height: .96;
    letter-spacing: -.04em;
}
.ks-archive-hero p,
.ks-single-hero p {
    max-width: 620px;
    margin: 0;
    color: var(--ks-muted);
    font-size: 18px;
    line-height: 1.5;
}
.ks-card-grid--archive { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ks-archive-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ks-archive-events { max-width: 860px; }
.ks-pagination { margin-top: 38px; }
.ks-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ks-pagination a,
.ks-pagination span {
    display: inline-flex;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid var(--ks-border);
    border-radius: 999px;
    background: var(--ks-surface);
    text-decoration: none !important;
}
.ks-pagination .current { background: var(--ks-accent); border-color: var(--ks-accent); color: #fff; }
.ks-single-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .7fr);
    gap: 56px;
    align-items: center;
}
.ks-single-cover { min-height: 320px; border-radius: 24px; }
.ks-single-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 58px;
    padding: 58px 0 78px;
}
.ks-single-main {
    max-width: 780px;
    font-size: 18px;
    line-height: 1.7;
}
.ks-single-main p:first-child { margin-top: 0; }
.ks-single-meta {
    align-self: start;
    display: grid;
    gap: 16px;
    padding: 24px;
    border: 1px solid var(--ks-border);
    border-radius: 18px;
    background: var(--ks-surface);
}
.ks-single-meta div { display: grid; gap: 5px; padding-bottom: 14px; border-bottom: 1px solid var(--ks-border); }
.ks-single-meta strong { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--ks-muted); }
.ks-single-meta span { font-size: 15px; color: var(--ks-text); line-height: 1.45; }
.ks-search-shell--small { max-width: 820px; margin-top: 28px; }

@media (max-width: 1000px) {
    .ks-card-grid--archive,
    .ks-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ks-single-hero__grid,
    .ks-single-content,
    .ks-info-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .ks-card-grid--archive,
    .ks-archive-grid { grid-template-columns: 1fr; }
    .ks-archive-hero,
    .ks-single-hero { padding-top: 60px; }
}

/* v0.7 – tighter reference alignment */
:root {
    --ks-bg: #faf8f2;
    --ks-surface: #fffdf9;
    --ks-surface-muted: #f0ece4;
    --ks-border: #d8d1c6;
    --ks-muted: #5f5b54;
    --ks-container: 1160px;
}
body.ks-site {
    background: var(--ks-bg);
    font-size: 15px;
    line-height: 1.48;
}
.ks-wrap,
.ks-header__inner {
    width: min(calc(100% - 96px), var(--ks-container));
}
.ks-header__inner {
    min-height: 82px;
    gap: 34px;
}
.ks-brand__title {
    font-size: clamp(28px, 2.15vw, 36px);
    line-height: .98;
    letter-spacing: -.045em;
}
.ks-brand__tagline { font-size: 13px; }
.ks-nav { gap: 28px; }
.ks-nav a,
.ks-icon-link { font-size: 13px; }
.ks-header-upload {
    padding: 13px 16px;
    border-radius: 9px;
    font-size: 13px;
}
.ks-section { padding: 42px 0; }
.ks-hero {
    padding: 74px 0 58px;
    border-bottom-color: rgba(216,209,198,.7);
}
.ks-hero__inner {
    max-width: 940px;
}
.ks-hero h1 {
    max-width: 900px;
    margin-bottom: 24px;
    font-size: clamp(48px, 5.35vw, 74px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.048em;
}
.ks-pills {
    gap: 12px;
    margin-bottom: 28px;
}
.ks-pill {
    min-width: 78px;
    padding: 8px 20px;
    font-size: 12px;
}
.ks-search-shell {
    min-height: 74px;
    grid-template-columns: 28px 1fr 58px;
    padding-left: 28px;
    border-radius: 13px;
    border-color: #a59e94;
}
.ks-search-shell input[type='search'] { font-size: 18px; }
.ks-search-shell button {
    width: 52px;
    height: 52px;
    border-radius: 9px;
    font-size: 30px;
}
.ks-search-meta {
    margin: 11px 28px 24px;
    font-size: 12px;
}
.ks-upload-callout {
    grid-template-columns: 58px 1fr auto;
    gap: 20px;
    padding: 22px 24px;
    border-radius: 13px;
}
.ks-upload-callout__icon {
    width: 58px;
    height: 58px;
}
.ks-upload-callout strong {
    font-size: 21px;
}
.ks-upload-callout p {
    font-size: 14px;
}
.ks-button--large {
    min-height: 52px;
    padding: 0 26px;
    border-radius: 8px;
    font-size: 15px;
}
.ks-section-head {
    margin-bottom: 18px;
}
.ks-section-head h2 {
    font-size: clamp(30px, 3.2vw, 40px);
    letter-spacing: -.04em;
}
.ks-section-head a { font-size: 12px; }
.ks-topics {
    padding-top: 34px;
    padding-bottom: 38px;
}
.ks-chip-cloud { gap: 10px; }
.ks-chip {
    padding: 8px 14px;
    font-size: 12px;
    background: rgba(255,253,249,.7);
}
.ks-feature { padding-top: 34px; }
.ks-feature__grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .84fr);
    gap: 48px;
}
.ks-feature-card {
    grid-template-columns: 245px 1fr;
    min-height: 230px;
    border-radius: 13px;
}
.ks-feature-card__image,
.ks-feature-card__cover { min-height: 230px; }
.ks-feature-card__body { padding: 28px 30px 24px; }
.ks-label {
    margin-bottom: 13px;
    font-size: 10px;
    letter-spacing: .14em;
}
.ks-feature-card h3 {
    max-width: 16ch;
    font-size: 25px;
    line-height: 1.03;
}
.ks-feature-card p {
    font-size: 13px;
    line-height: 1.43;
}
.ks-mini-tags { gap: 7px; margin-top: 16px; }
.ks-mini-tags span,
.ks-actor-card span {
    padding: 6px 9px;
    border-radius: 6px;
    font-size: 11px;
}
.ks-news-panel { padding-top: 0; }
.ks-news-item {
    grid-template-columns: minmax(0, 1fr) 26px;
    grid-template-rows: auto auto;
    gap: 5px 18px;
    padding: 18px 0 20px;
}
.ks-news-item span,
.ks-news-item strong { grid-column: 1; }
.ks-news-item em {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
}
.ks-news-item span {
    font-size: 10px;
    letter-spacing: .09em;
}
.ks-news-item strong {
    margin-top: 0;
    max-width: 28ch;
    font-size: 15px;
    line-height: 1.25;
}
.ks-card-grid--five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}
.ks-resource-card {
    min-height: 320px;
    padding: 14px;
    border-radius: 12px;
}
.ks-cover {
    height: 130px;
    margin-bottom: 17px;
    border-radius: 8px;
    font-size: 20px;
}
.ks-resource-card h3 {
    font-size: 19px;
    line-height: 1.02;
    margin-bottom: 8px;
}
.ks-resource-card p {
    font-size: 12px;
    line-height: 1.35;
}
.ks-actors-events { padding-top: 16px; }
.ks-split-grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .92fr);
    gap: 48px;
}
.ks-actor-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.ks-actor-card {
    min-height: 212px;
    padding: 22px 16px 16px;
    border-radius: 12px;
}
.ks-logo-dot {
    width: 62px;
    height: 62px;
    margin-bottom: 18px;
    font-size: 23px;
}
.ks-actor-card h3 {
    font-family: var(--ks-sans);
    font-size: 15px;
    line-height: 1.12;
    letter-spacing: -.015em;
    margin-bottom: 5px;
}
.ks-actor-card p {
    font-size: 12px;
    line-height: 1.2;
    margin-bottom: 14px;
}
.ks-event-list { border-radius: 12px; }
.ks-event-item {
    grid-template-columns: 70px 1fr 24px;
    min-height: 94px;
    gap: 16px;
    padding: 14px 18px;
}
.ks-event-item time {
    width: 58px;
    height: 64px;
    border-radius: 8px;
}
.ks-event-item time strong { font-size: 24px; }
.ks-event-item time span { font-size: 12px; }
.ks-event-item div > span { font-size: 10px; }
.ks-event-item div > strong { font-size: 14px; }
.ks-event-item p { font-size: 11px; }
.ks-entry-grid { gap: 18px; }
.ks-entry-card {
    min-height: 154px;
    padding: 20px 20px 18px;
    border-radius: 12px;
}
.ks-entry-card strong {
    margin-top: 15px;
    font-size: 22px;
}
.ks-entry-card p { font-size: 12px; }
.ks-upload-section { padding-top: 32px; }
.ks-upload-hero {
    grid-template-columns: 88px minmax(260px, .95fr) minmax(250px, .9fr) 220px;
    gap: 34px;
    min-height: 236px;
    padding: 44px 48px;
    border-radius: 16px;
}
.ks-upload-hero__icon {
    width: 84px;
    height: 84px;
}
.ks-upload-main h2 {
    max-width: 12ch;
    font-size: clamp(42px, 4.3vw, 62px);
    line-height: .93;
}
.ks-upload-main p {
    font-size: 15px;
    line-height: 1.4;
}
.ks-upload-main .ks-button {
    margin-top: 24px;
    min-width: 250px;
}
.ks-benefits { gap: 13px; }
.ks-benefits li {
    font-size: 13px;
    line-height: 1.32;
}
.ks-upload-hero__art {
    height: 144px;
    border-radius: 14px;
}
.ks-footer {
    padding-top: 44px;
}
.ks-footer__grid {
    grid-template-columns: 1.35fr .72fr .88fr 1.12fr;
    gap: 54px;
}

@media (min-width: 900px) and (max-width: 1180px) {
    .ks-wrap,
    .ks-header__inner { width: min(calc(100% - 64px), 1040px); }
    .ks-card-grid--five { gap: 14px; }
    .ks-resource-card h3 { font-size: 17px; }
    .ks-upload-hero { grid-template-columns: 76px minmax(230px, 1fr) minmax(230px, .95fr); }
    .ks-upload-hero__art { display: none; }
}
@media (max-width: 899px) {
    .ks-wrap,
    .ks-header__inner { width: min(calc(100% - 40px), var(--ks-container)); }
    .ks-hero h1 {
        max-width: 740px;
        font-size: clamp(42px, 8.1vw, 64px);
    }
    .ks-feature__grid,
    .ks-split-grid { grid-template-columns: 1fr; }
    .ks-card-grid--five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ks-actor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ks-upload-hero { grid-template-columns: 1fr; }
    .ks-upload-main h2 { max-width: 14ch; }
}
@media (max-width: 620px) {
    .ks-card-grid--five,
    .ks-actor-grid,
    .ks-entry-grid { grid-template-columns: 1fr; }
}

/* v0.8 – closer visual alignment to reference */
:root {
    --ks-bg: #fbfaf5;
    --ks-surface: #fffef9;
    --ks-surface-muted: #f1eee7;
    --ks-container: 1220px;
    --ks-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}
body.ks-site {
    font-size: 14px;
    line-height: 1.42;
}
.ks-wrap,
.ks-header__inner {
    width: min(calc(100% - 108px), var(--ks-container));
}
.ks-header__inner {
    min-height: 78px;
}
.ks-brand__title {
    font-weight: 700;
    letter-spacing: -.055em;
}
.ks-nav {
    gap: 26px;
}
.ks-nav a,
.ks-icon-link,
.ks-header-upload {
    font-size: 12px;
}
.ks-section {
    padding: 32px 0;
}
.ks-hero {
    padding: 66px 0 46px;
}
.ks-hero__inner {
    max-width: 1030px;
}
.ks-hero h1 {
    max-width: 1040px;
    margin-bottom: 22px;
    font-size: clamp(50px, 4.9vw, 70px);
    line-height: .95;
    letter-spacing: -.058em;
}
.ks-pills {
    margin-bottom: 24px;
}
.ks-search-shell,
.ks-hero-upload {
    max-width: 860px;
    margin-inline: auto;
}
.ks-search-shell {
    min-height: 70px;
    grid-template-columns: 26px 1fr 54px;
    padding-left: 28px;
    border-radius: 14px;
}
.ks-search-shell input[type='search'] {
    font-size: 17px;
}
.ks-search-shell button {
    width: 48px;
    height: 48px;
}
.ks-search-meta {
    max-width: 860px;
    margin: 10px auto 22px;
    padding-inline: 28px;
}
.ks-upload-callout {
    padding: 20px 22px;
}
.ks-upload-callout strong {
    font-size: 22px;
}
.ks-topics {
    padding-top: 32px;
    padding-bottom: 26px;
}
.ks-section-head {
    margin-bottom: 16px;
}
.ks-section-head h2 {
    font-weight: 700;
    font-size: clamp(30px, 2.8vw, 40px);
    letter-spacing: -.055em;
}
.ks-chip-cloud {
    gap: 9px 11px;
}
.ks-chip {
    padding: 7px 13px;
}
.ks-feature {
    padding-top: 18px;
    padding-bottom: 34px;
}
.ks-feature__grid,
.ks-split-grid {
    gap: 42px;
}
.ks-feature-card {
    grid-template-columns: 250px 1fr;
    min-height: 218px;
    border-radius: 12px;
}
.ks-feature-card__image,
.ks-feature-card__cover {
    min-height: 218px;
}
.ks-feature-card__body {
    padding: 26px 30px 22px;
}
.ks-feature-card h3 {
    max-width: 16ch;
    font-size: 24px;
    line-height: 1.02;
}
.ks-feature-card p {
    margin-top: 11px;
}
.ks-dots {
    display: none;
}
.ks-news-item {
    padding: 17px 0 18px;
}
.ks-news-item strong {
    max-width: 34ch;
    font-size: 15px;
}
#bibliotek.ks-section {
    padding-top: 34px;
    padding-bottom: 28px;
}
.ks-card-grid--five {
    gap: 18px;
}
.ks-resource-card {
    min-height: 304px;
    padding: 13px;
}
.ks-cover {
    height: 124px;
    margin-bottom: 15px;
    font-size: 19px;
}
.ks-resource-card h3 {
    font-size: 18px;
    line-height: 1.03;
}
.ks-mini-tags {
    margin-top: 13px;
}
.ks-actors-events {
    padding-top: 24px;
    padding-bottom: 34px;
}
.ks-actor-card {
    min-height: 204px;
}
.ks-logo-dot {
    width: 58px;
    height: 58px;
    margin-bottom: 17px;
}
.ks-event-item {
    min-height: 88px;
    padding: 13px 17px;
}
#ressourcer.ks-section {
    padding-top: 40px;
    padding-bottom: 34px;
}
.ks-entry-card {
    min-height: 148px;
}
.ks-entry-card strong {
    font-size: 21px;
}
.ks-upload-section {
    padding-top: 26px;
    padding-bottom: 54px;
}
.ks-upload-hero {
    grid-template-columns: 88px minmax(330px, 1.35fr) minmax(285px, .95fr) 220px;
    gap: 28px;
    min-height: 228px;
    padding: 42px 44px;
    border-radius: 15px;
    background: linear-gradient(135deg, #ecece3 0%, #f4f0e8 58%, #eee7dc 100%);
}
.ks-upload-hero__icon {
    width: 78px;
    height: 78px;
}
.ks-upload-main h2 {
    max-width: 440px;
    margin-bottom: 13px;
    font-size: clamp(44px, 3.7vw, 56px);
    line-height: .96;
    letter-spacing: -.06em;
}
.ks-upload-main p {
    max-width: 36ch;
    font-size: 14px;
}
.ks-upload-main .ks-button {
    min-width: 220px;
    margin-top: 22px;
}
.ks-benefits {
    gap: 11px;
}
.ks-benefits li {
    font-size: 12px;
    line-height: 1.3;
}
.ks-upload-hero__art {
    height: 132px;
    border-radius: 13px;
    background:
        radial-gradient(circle at 18% 72%, var(--ks-accent) 0 18%, transparent 19%),
        radial-gradient(circle at 74% 19%, #cbd9c8 0 31%, transparent 32%),
        linear-gradient(100deg, transparent 0 45%, rgba(13,21,28,.22) 45.5% 46.5%, transparent 47% 100%),
        linear-gradient(135deg, #dfe8ed, #e7ddcc);
}
.ks-footer {
    padding-top: 38px;
}
.ks-footer__grid {
    gap: 48px;
}
.ks-brand--footer .ks-brand__title {
    display: block;
    font-size: 28px;
    line-height: 1;
}
.ks-brand--footer .ks-brand__tagline {
    display: block;
    margin-top: 4px;
}
.ks-footer p,
.ks-footer a {
    font-size: 13px;
}

@media (min-width: 1200px) {
    .ks-hero h1 {
        font-size: 68px;
    }
}
@media (max-width: 1180px) {
    .ks-upload-hero {
        grid-template-columns: 78px minmax(300px, 1.2fr) minmax(260px, 1fr);
    }
    .ks-upload-hero__art {
        display: none;
    }
}
@media (max-width: 899px) {
    .ks-wrap,
    .ks-header__inner {
        width: min(calc(100% - 40px), var(--ks-container));
    }
    .ks-section {
        padding: 34px 0;
    }
    .ks-hero h1 {
        font-size: clamp(42px, 8vw, 60px);
    }
    .ks-feature-card {
        grid-template-columns: 1fr;
    }
    .ks-upload-hero {
        grid-template-columns: 1fr;
    }
    .ks-upload-main h2 {
        max-width: 12ch;
    }
}


/* v0.8.2 – kirurgisk rettelse af upload-boks i hero.
   Baseline: v0.8. Kun denne boks ændres. */
.ks-hero-upload.ks-upload-callout {
    max-width: 860px;
    min-height: 98px;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin-inline: auto;
    padding: 18px 24px 18px 26px;
    border: 1.25px solid rgba(172, 164, 151, .78);
    border-radius: 15px;
    background: rgba(255, 253, 248, .86);
    box-shadow: none;
}

.ks-hero-upload .ks-upload-callout__icon {
    width: 58px;
    height: 58px;
    border-radius: 999px;
    flex: 0 0 58px;
}

.ks-hero-upload .ks-upload-callout__icon svg {
    width: 25px;
    height: 25px;
    stroke-width: 1.9;
}

.ks-hero-upload > div:nth-child(2) {
    min-width: 0;
    padding-top: 1px;
}

.ks-hero-upload strong {
    margin: 0 0 5px;
    font-family: var(--ks-serif);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.025em;
    color: var(--ks-text);
}

.ks-hero-upload p {
    max-width: 50ch;
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    color: #5f5b52;
}

.ks-hero-upload .ks-button--large {
    justify-self: end;
    min-width: 218px;
    min-height: 56px;
    padding: 0 24px;
    border-radius: 9px;
    font-size: 16px;
    line-height: 1;
    box-shadow: none;
}

@media (max-width: 720px) {
    .ks-hero-upload.ks-upload-callout {
        grid-template-columns: 52px 1fr;
        gap: 16px;
        min-height: 0;
        padding: 18px;
    }
    .ks-hero-upload .ks-upload-callout__icon {
        width: 52px;
        height: 52px;
    }
    .ks-hero-upload .ks-button--large {
        grid-column: 1 / -1;
        width: 100%;
        justify-self: stretch;
        margin-top: 2px;
    }
}


/* v0.8.3 – kirurgisk rettelse af pilen i hero-søgefeltet.
   Kun submit-knappen i søgefeltet ændres. */
.ks-hero .ks-search-shell {
    padding-right: 22px;
}

.ks-hero .ks-search-shell button {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateX(-4px);
    padding: 0 0 2px 0;
    line-height: 1;
}

@media (max-width: 720px) {
    .ks-hero .ks-search-shell {
        padding-right: 16px;
    }
    .ks-hero .ks-search-shell button {
        transform: translateX(-2px);
    }
}

/* v0.8.4 – søgefiltre og live search i hero. */
.ks-search-filters {
    margin-bottom: 30px;
}

.ks-search-filter {
    appearance: none;
    cursor: pointer;
    font-family: var(--ks-sans);
}

.ks-search-filter:focus-visible,
.ks-search-shell input[type='search']:focus-visible,
.ks-search-shell button:focus-visible {
    outline: 3px solid rgba(15, 32, 42, .22);
    outline-offset: 3px;
}

.ks-search-filter:not(.is-active):hover {
    background: #fffdf8;
    color: var(--ks-text);
    border-color: #b8b1a7;
    box-shadow: 0 1px 0 rgba(16, 19, 24, .03);
}

.ks-live-search-results {
    display: none;
    max-width: 860px;
    margin: 12px auto 0;
    border: 1px solid rgba(172, 164, 151, .78);
    border-radius: 16px;
    background: rgba(255, 253, 248, .98);
    box-shadow: 0 22px 45px rgba(16, 19, 24, .10);
    text-align: left;
    overflow: hidden;
    position: relative;
    z-index: 5;
}

.ks-live-search-results.is-visible {
    display: block;
}

.ks-live-search__state {
    padding: 18px 22px;
    color: #625e56;
    font-size: 15px;
}

.ks-live-search__group {
    padding: 14px 0 8px;
}

.ks-live-search__group + .ks-live-search__group {
    border-top: 1px solid rgba(217, 210, 198, .8);
}

.ks-live-search__group > p {
    margin: 0 22px 8px;
    color: #6a655c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ks-live-search__item {
    display: grid;
    grid-template-columns: minmax(92px, .24fr) minmax(0, 1fr) 24px;
    gap: 7px 16px;
    align-items: center;
    padding: 12px 22px;
    color: var(--ks-text);
    text-decoration: none !important;
}

.ks-live-search__item:hover {
    background: #f5f0e7;
}

.ks-live-search__type {
    grid-row: 1 / span 3;
    align-self: start;
    color: #6c675f;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    line-height: 1.2;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.ks-live-search__item strong {
    min-width: 0;
    font-family: var(--ks-serif);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.ks-live-search__item em {
    min-width: 0;
    color: #5f5b52;
    font-size: 13px;
    font-style: normal;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.ks-live-search__tags {
    color: #767168;
    font-size: 12px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.ks-live-search__arrow {
    grid-column: 3;
    grid-row: 1 / span 3;
    justify-self: end;
    color: var(--ks-text);
    font-size: 20px;
}

.ks-live-search__terms {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 2px 22px 8px;
}

.ks-live-search__terms a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    padding: 8px 10px;
    border: 1px solid rgba(187, 181, 171, .9);
    border-radius: 999px;
    background: #fffefa;
    color: var(--ks-text);
    font-size: 13px;
    line-height: 1;
    text-decoration: none !important;
}

.ks-live-search__terms small {
    color: #77736c;
    font-size: 11px;
    font-weight: 700;
}

.ks-live-search__all {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 22px 16px;
    border-top: 1px solid rgba(217, 210, 198, .8);
    color: var(--ks-text);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    background: rgba(245, 240, 231, .64);
}

.ks-live-search__all:hover {
    background: #efe8dc;
}

@media (max-width: 720px) {
    .ks-search-filters {
        gap: 8px;
        margin-bottom: 22px;
    }

    .ks-search-filter {
        min-width: 0;
        padding-inline: 14px;
        font-size: 13px;
    }

    .ks-live-search-results {
        margin-top: 10px;
    }

    .ks-live-search__item {
        grid-template-columns: minmax(0, 1fr) 22px;
        padding: 13px 16px;
    }

    .ks-live-search__type {
        grid-row: auto;
        grid-column: 1;
    }

    .ks-live-search__item strong,
    .ks-live-search__item em,
    .ks-live-search__tags {
        grid-column: 1;
    }

    .ks-live-search__arrow {
        grid-column: 2;
        grid-row: 1 / span 4;
    }
}


/* v0.8.5 – sikrer at hover ikke bliver gul/link-agtig via browser-cache eller gamle regler. */
.ks-pills .ks-search-filter:not(.is-active):hover {
    background: #fffdf8;
    color: var(--ks-text);
    border-color: #b8b1a7;
}

/* v0.8.6 – typografi, spacing og farver.
   Baseline: v0.8.5. Ingen ændringer i data, queries eller live-search-logik. */
:root {
    --ks-bg: #faf8f1;
    --ks-surface: #fffdf7;
    --ks-surface-muted: #f3efe7;
    --ks-border: #d7d0c5;
    --ks-muted: #675f55;
    --ks-text: #10161b;
    --ks-accent: #0b151d;
}

body.ks-site {
    background: var(--ks-bg);
    color: var(--ks-text);
    font-size: 14.5px;
    line-height: 1.48;
}

.ks-header {
    background: rgba(250,248,241,.96);
    border-bottom-color: rgba(215,208,197,.78);
}

.ks-wrap,
.ks-header__inner {
    width: min(calc(100% - 104px), 1210px);
}

.ks-brand__title,
.ks-hero h1,
.ks-section-head h2,
.ks-feature-card h3,
.ks-resource-card h3,
.ks-entry-card strong,
.ks-upload-main h2 {
    font-weight: 650;
    text-wrap: balance;
}

.ks-brand__title {
    letter-spacing: -.045em;
}

.ks-brand__tagline {
    color: #716a60;
}

.ks-nav a,
.ks-icon-link,
.ks-header-upload {
    font-weight: 750;
}

.ks-section {
    padding: 38px 0;
}

.ks-hero {
    padding: 66px 0 52px;
    background: linear-gradient(180deg, #fbfaf5 0%, #faf8f1 100%);
}

.ks-hero__inner {
    max-width: 1010px;
}

.ks-hero h1 {
    max-width: 930px;
    margin-bottom: 24px;
    font-size: clamp(50px, 4.65vw, 66px);
    line-height: .99;
    letter-spacing: -.052em;
}

.ks-pills {
    gap: 13px;
    margin-bottom: 26px;
}

.ks-pill {
    min-width: 80px;
    min-height: 30px;
    padding: 8px 20px;
    font-size: 12px;
    font-weight: 750;
    border-color: #b9b2a7;
    background: rgba(255,253,247,.84);
}

.ks-search-shell {
    min-height: 72px;
    border-color: #a69f95;
    background: rgba(255,253,247,.92);
}

.ks-search-shell input[type='search'] {
    font-size: 17px;
    letter-spacing: -.005em;
}

.ks-search-shell input::placeholder {
    color: #777064;
}

.ks-search-meta {
    color: #6d665d;
}

.ks-hero-upload.ks-upload-callout {
    background: rgba(255,253,247,.86);
    border-color: rgba(171,163,151,.72);
}

.ks-hero-upload strong {
    font-size: 20px;
    letter-spacing: -.018em;
}

.ks-hero-upload p {
    font-size: 13.5px;
    color: #6b6359;
}

.ks-section-head {
    margin-bottom: 19px;
}

.ks-section-head h2 {
    font-size: clamp(31px, 2.75vw, 39px);
    line-height: 1.05;
    letter-spacing: -.05em;
}

.ks-section-head a {
    align-self: center;
    color: #171b1f;
    font-size: 12px;
    font-weight: 800;
}

.ks-topics {
    padding-top: 36px;
    padding-bottom: 30px;
}

.ks-chip-cloud {
    gap: 10px 12px;
}

.ks-chip {
    min-height: 27px;
    padding: 7px 13px;
    border-color: #d0c8bb;
    background: rgba(255,253,247,.82);
    font-size: 11.5px;
    font-weight: 750;
}

.ks-chip span {
    color: #746d64;
}

.ks-feature {
    padding-top: 22px;
    padding-bottom: 40px;
}

.ks-feature__grid,
.ks-split-grid {
    gap: 52px;
}

.ks-feature-card {
    grid-template-columns: 260px minmax(0,1fr);
    min-height: 230px;
    border-color: #d9d2c7;
    background: rgba(255,253,247,.94);
}

.ks-feature-card__image,
.ks-feature-card__cover {
    min-height: 230px;
}

.ks-feature-card__body {
    min-width: 0;
    padding: 28px 32px 24px;
}

.ks-label {
    color: #6d665d;
    font-size: 9.5px;
    letter-spacing: .16em;
}

.ks-feature-card h3 {
    max-width: 18ch;
    font-size: 24px;
    line-height: 1.06;
    overflow-wrap: anywhere;
}

.ks-feature-card p {
    color: #6a6258;
    font-size: 13px;
    line-height: 1.46;
}

.ks-news-item {
    padding: 18px 0 19px;
    border-top-color: rgba(215,208,197,.86);
}

.ks-news-item span {
    color: #766e63;
    font-size: 9.5px;
    letter-spacing: .1em;
}

.ks-news-item strong {
    max-width: 36ch;
    font-size: 15px;
    line-height: 1.32;
    overflow-wrap: anywhere;
}

#bibliotek.ks-section {
    padding-top: 38px;
    padding-bottom: 34px;
}

.ks-card-grid--five {
    gap: 19px;
}

.ks-resource-card {
    min-width: 0;
    min-height: 326px;
    padding: 16px;
    border-color: #d9d2c7;
    background: rgba(255,253,247,.96);
}

.ks-cover {
    height: 132px;
    margin-bottom: 17px;
    border-radius: 10px;
    font-size: 18px;
    line-height: 1;
    color: rgba(16,22,27,.88);
}

.ks-resource-card h3 {
    max-width: 100%;
    margin-bottom: 8px;
    font-size: 17.5px;
    line-height: 1.08;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.ks-resource-card p {
    color: #6f675d;
    font-size: 12px;
    line-height: 1.38;
    overflow-wrap: anywhere;
}

.ks-mini-tags {
    gap: 7px;
    margin-top: 14px;
}

.ks-mini-tags span,
.ks-actor-card span {
    max-width: 100%;
    padding: 6px 8px;
    border-color: #d0c8bb;
    background: rgba(255,253,247,.78);
    font-size: 10.5px;
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.ks-actors-events {
    padding-top: 28px;
    padding-bottom: 42px;
}

.ks-actor-grid {
    gap: 18px;
}

.ks-actor-card {
    min-width: 0;
    min-height: 220px;
    padding: 23px 18px 17px;
    border-color: #d9d2c7;
    background: rgba(255,253,247,.96);
}

.ks-logo-dot {
    width: 60px;
    height: 60px;
    margin-bottom: 18px;
    font-size: 22px;
}

.ks-actor-card h3 {
    max-width: 100%;
    font-size: 14.5px;
    line-height: 1.14;
    font-weight: 780;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.ks-actor-card p {
    color: #6f675d;
    font-size: 11.5px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.ks-event-list {
    border-color: #d9d2c7;
    background: rgba(255,253,247,.96);
}

.ks-event-item {
    min-height: 94px;
    padding: 14px 18px;
    border-top-color: rgba(215,208,197,.88);
}

.ks-event-item time {
    background: #f2eee6;
}

.ks-event-item div {
    min-width: 0;
}

.ks-event-item div > span {
    color: #756e64;
    font-size: 10px;
    line-height: 1.28;
}

.ks-event-item div > strong {
    font-size: 14.5px;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

.ks-event-item p {
    color: #6f675d;
}

#ressourcer.ks-section {
    padding-top: 44px;
    padding-bottom: 42px;
}

.ks-entry-grid {
    gap: 20px;
}

.ks-entry-card {
    min-height: 164px;
    padding: 22px 22px 20px;
    border-color: #d9d2c7;
    background: rgba(255,253,247,.94);
}

.ks-entry-card strong {
    font-size: 22px;
    line-height: 1.05;
}

.ks-entry-card p {
    color: #6f675d;
    font-size: 12px;
    line-height: 1.42;
}

.ks-upload-section {
    padding-top: 34px;
    padding-bottom: 60px;
}

.ks-upload-hero {
    grid-template-columns: 86px minmax(0, 1.5fr) minmax(280px, .95fr) 230px;
    gap: 34px;
    min-height: 244px;
    padding: 46px 50px;
    border-color: #d5cec3;
    background: linear-gradient(130deg, #ecece3 0%, #f6f1e8 54%, #eee4d6 100%);
}

.ks-upload-hero__icon {
    width: 82px;
    height: 82px;
}

.ks-upload-main h2 {
    max-width: 620px;
    margin-bottom: 14px;
    font-size: clamp(42px, 3.25vw, 52px);
    line-height: .99;
    letter-spacing: -.055em;
}

.ks-upload-main p {
    max-width: 42ch;
    color: #625b51;
    font-size: 14px;
    line-height: 1.45;
}

.ks-upload-main .ks-button {
    margin-top: 24px;
}

.ks-benefits {
    gap: 12px;
}

.ks-benefits li {
    font-size: 12.5px;
    line-height: 1.38;
}

.ks-upload-hero__art {
    height: 140px;
    background:
        radial-gradient(circle at 18% 72%, var(--ks-accent) 0 18%, transparent 19%),
        radial-gradient(circle at 74% 19%, #cbd9c8 0 31%, transparent 32%),
        linear-gradient(100deg, transparent 0 45%, rgba(13,21,28,.20) 45.5% 46.5%, transparent 47% 100%),
        linear-gradient(135deg, #dde7eb, #e9dfd0);
}

.ks-footer {
    padding-top: 44px;
    background: #fffdf7;
}

.ks-footer__grid {
    gap: 58px;
}

.ks-footer p,
.ks-footer a {
    color: #5f594f;
    line-height: 1.5;
}

@media (min-width: 1200px) {
    .ks-hero h1 {
        font-size: 64px;
    }
}

@media (min-width: 900px) and (max-width: 1180px) {
    .ks-wrap,
    .ks-header__inner {
        width: min(calc(100% - 72px), 1060px);
    }
    .ks-resource-card h3 {
        font-size: 16.5px;
    }
    .ks-upload-hero {
        grid-template-columns: 78px minmax(0, 1.25fr) minmax(250px, 1fr);
    }
}

@media (max-width: 899px) {
    .ks-wrap,
    .ks-header__inner {
        width: min(calc(100% - 40px), var(--ks-container));
    }
    .ks-hero h1 {
        font-size: clamp(42px, 8vw, 58px);
    }
}

/* v0.8.7 – farvesystem og visuel dybde.
   Baseline: v0.8.6. Kun farver, overflader, borders og diskrete skygger. */
:root {
    --ks-bg: #fdfbf6;
    --ks-bg-warm: #faf7ef;
    --ks-surface: #fffefa;
    --ks-surface-quiet: #f8f4eb;
    --ks-surface-muted: #f0ebe1;
    --ks-border: #d7d0c3;
    --ks-border-strong: #aaa296;
    --ks-text: #0d1419;
    --ks-muted: #686159;
    --ks-accent: #09141b;
    --ks-sage: #7c8f78;
    --ks-sage-soft: #e3eadf;
    --ks-blue-soft: #dbe5e8;
    --ks-sand: #eadfcf;
    --ks-paper: #f7f0e4;
}

body.ks-site {
    background: var(--ks-bg);
    color: var(--ks-text);
}

.ks-header {
    background: rgba(255, 254, 250, .96);
    border-bottom-color: rgba(215, 208, 195, .72);
}

.ks-hero {
    background: linear-gradient(180deg, #fffefa 0%, #fbf8f0 100%);
    border-bottom: 1px solid rgba(215, 208, 195, .72);
}

.ks-brand__tagline,
.ks-search-meta,
.ks-footer p,
.ks-footer a,
.ks-resource-card p,
.ks-actor-card p,
.ks-event-item p,
.ks-entry-card p,
.ks-feature-card p {
    color: var(--ks-muted);
}

.ks-search-shell {
    background: rgba(255, 254, 250, .95);
    border-color: var(--ks-border-strong);
    box-shadow: 0 1px 0 rgba(13, 20, 25, .03);
}

.ks-search-shell button {
    background: #f1ede6;
    color: var(--ks-text);
}

.ks-search-shell button:hover {
    background: #e8e2d8;
}

.ks-pill,
.ks-chip,
.ks-mini-tags span,
.ks-actor-card span,
.ks-live-search__terms a {
    background: rgba(255, 254, 250, .88);
    border-color: #cfc7ba;
    color: var(--ks-text);
}

.ks-pill.is-active,
.ks-chip.is-active,
.ks-button,
.ks-header-upload,
.ks-upload-callout__icon,
.ks-upload-hero__icon {
    background: var(--ks-accent);
    border-color: var(--ks-accent);
    color: #fffefa !important;
}

.ks-pills .ks-search-filter:not(.is-active):hover,
.ks-chip:hover,
.ks-live-search__terms a:hover {
    background: #f4efe5;
    border-color: #b8afa2;
    color: var(--ks-text);
}

.ks-hero-upload.ks-upload-callout,
.ks-feature-card,
.ks-resource-card,
.ks-actor-card,
.ks-event-list,
.ks-entry-card,
.ks-live-search-results {
    background: rgba(255, 254, 250, .94);
    border-color: rgba(211, 203, 189, .94);
    box-shadow: 0 10px 22px rgba(18, 20, 20, .025);
}

.ks-hero-upload.ks-upload-callout {
    background: linear-gradient(180deg, rgba(255, 254, 250, .98), rgba(250, 247, 239, .92));
}

.ks-topics {
    background: #fbf8f0;
}

.ks-feature,
#bibliotek.ks-section,
.ks-actors-events,
#ressourcer.ks-section {
    background: var(--ks-bg);
}

.ks-label,
.ks-news-item span,
.ks-event-item div > span {
    color: #7b7267;
}

.ks-news-item,
.ks-event-item,
.ks-live-search__group + .ks-live-search__group,
.ks-live-search__all {
    border-color: rgba(215, 208, 195, .78);
}

.ks-news-item:hover,
.ks-event-item:hover,
.ks-entry-card:hover,
.ks-resource-card:hover,
.ks-actor-card:hover,
.ks-live-search__item:hover {
    background: #fbf7ef;
}

.ks-event-item time {
    background: #f0ebe1;
    color: var(--ks-text);
}

.ks-cover {
    background: var(--ks-paper);
    color: rgba(13, 20, 25, .86);
}

.ks-cover--green {
    background: #7f9278;
    color: #fffefa;
}

.ks-cover--paper {
    background:
        radial-gradient(circle at 5% 116%, var(--ks-accent) 0 27%, transparent 28%),
        linear-gradient(135deg, #fff8eb 0%, #efe4d4 100%);
}

.ks-cover--blue {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 254, 250, .14) 0 28%, transparent 29%),
        #9eb0ba;
}

.ks-cover--ceramic {
    background:
        radial-gradient(ellipse at 50% 48%, #827e76 0 23%, #cfc6b8 24% 32%, transparent 33%),
        linear-gradient(180deg, #e1d8ca, #f8f3ea);
}

.ks-cover--line {
    background:
        repeating-linear-gradient(45deg, #f0eadf, #f0eadf 11px, #fbf7ef 11px, #fbf7ef 24px);
    color: #a09283;
}

.ks-logo-dot--dark {
    background: var(--ks-accent);
    color: #fffefa;
}

.ks-logo-dot--green {
    background: #728871;
    color: #fffefa;
}

.ks-logo-dot--sand {
    background: #e5d6bd;
    color: var(--ks-text);
}

.ks-upload-section {
    background: var(--ks-bg);
}

.ks-upload-hero {
    background:
        linear-gradient(135deg, rgba(230, 233, 222, .96) 0%, rgba(248, 242, 232, .98) 54%, rgba(239, 231, 218, .98) 100%);
    border-color: rgba(207, 198, 184, .98);
    box-shadow: 0 18px 42px rgba(18, 20, 20, .035);
}

.ks-upload-hero__art {
    background:
        radial-gradient(circle at 18% 72%, var(--ks-accent) 0 18%, transparent 19%),
        radial-gradient(circle at 74% 19%, #c9dbc9 0 31%, transparent 32%),
        linear-gradient(100deg, transparent 0 45%, rgba(13, 20, 25, .20) 45.5% 46.5%, transparent 47% 100%),
        linear-gradient(135deg, #dae8eb, #e9dfce);
}

.ks-footer {
    background: #fffefa;
    border-top-color: rgba(215, 208, 195, .72);
}

.ks-newsletter input {
    background: #fffefa;
    border-color: #d2cabd;
}

.ks-footer__bottom {
    border-top-color: rgba(215, 208, 195, .82);
}

/* v0.8.8 – farver kun.
   Formål: tydeligere lag mellem baggrund, sektioner, kort og CTA. */
:root {
    --ks-bg: #fffdf8;
    --ks-bg-warm: #f7f2e8;
    --ks-surface: #fffefb;
    --ks-surface-quiet: #faf6ed;
    --ks-surface-muted: #eee8dc;
    --ks-border: #d8d0c2;
    --ks-border-strong: #9f978b;
    --ks-text: #0b1218;
    --ks-muted: #6d665d;
    --ks-soft-text: #8a8175;
    --ks-accent: #071017;
    --ks-green: #768a73;
    --ks-green-soft: #dce6dc;
    --ks-blue-soft: #d8e4e9;
    --ks-sand: #e7dac6;
    --ks-paper: #f4ead9;
}

body.ks-site,
.ks-home {
    background: var(--ks-bg);
    color: var(--ks-text);
}

.ks-header {
    background: rgba(255, 254, 251, .97);
    border-bottom-color: rgba(216, 208, 194, .82);
    box-shadow: 0 1px 0 rgba(7, 16, 23, .02);
}

.ks-hero {
    background: linear-gradient(180deg, #fffefb 0%, #fffdf8 58%, #faf7f0 100%);
    border-bottom-color: rgba(216, 208, 194, .78);
}

.ks-topics {
    background: #f7f2e8;
    border-top: 1px solid rgba(216, 208, 194, .72);
    border-bottom: 1px solid rgba(216, 208, 194, .56);
}

.ks-feature,
.ks-actors-events {
    background: #fffdf8;
}

#bibliotek.ks-section,
#ressourcer.ks-section {
    background: #fbf7ef;
}

.ks-upload-section {
    background: #fffdf8;
}

.ks-card,
.ks-feature-card,
.ks-resource-card,
.ks-actor-card,
.ks-event-list,
.ks-entry-card,
.ks-news-panel,
.ks-live-search-results {
    background: #fffefb;
    border-color: #d9d1c4;
    box-shadow: 0 10px 28px rgba(7, 16, 23, .025);
}

.ks-resource-card:hover,
.ks-actor-card:hover,
.ks-entry-card:hover,
.ks-news-item:hover,
.ks-event-item:hover,
.ks-live-search__item:hover {
    background: #faf6ee;
}

.ks-search-shell,
.ks-hero-upload.ks-upload-callout {
    background: #fffefb;
    border-color: #9f978b;
}

.ks-search-shell button {
    background: #f1ece3;
}

.ks-search-shell button:hover {
    background: #e8e1d6;
}

.ks-pill,
.ks-chip,
.ks-mini-tags span,
.ks-actor-card span,
.ks-live-search__terms a {
    background: #fffefb;
    border-color: #cfc6b8;
    color: var(--ks-text);
}

.ks-pill.is-active,
.ks-chip.is-active,
.ks-button,
.ks-header-upload,
.ks-upload-callout__icon,
.ks-upload-hero__icon {
    background: var(--ks-accent);
    border-color: var(--ks-accent);
    color: #fffefb !important;
}

.ks-pills .ks-search-filter:not(.is-active):hover,
.ks-chip:hover,
.ks-live-search__terms a:hover {
    background: #f6f1e8;
    border-color: #aaa196;
    color: var(--ks-text);
}

.ks-search-meta,
.ks-brand__tagline,
.ks-resource-card p,
.ks-actor-card p,
.ks-event-item p,
.ks-entry-card p,
.ks-feature-card p,
.ks-footer p,
.ks-footer a {
    color: var(--ks-muted);
}

.ks-label,
.ks-news-item span,
.ks-event-item div > span {
    color: var(--ks-soft-text);
}

.ks-news-item,
.ks-event-item,
.ks-live-search__group + .ks-live-search__group,
.ks-live-search__all {
    border-color: rgba(216, 208, 194, .82);
}

.ks-event-item time {
    background: #f1ece3;
    color: var(--ks-text);
}

.ks-cover {
    background: var(--ks-paper);
    color: rgba(11, 18, 24, .86);
}

.ks-cover--green {
    background: #7b9175;
    color: #fffefb;
}

.ks-cover--paper {
    background:
        radial-gradient(circle at 5% 116%, var(--ks-accent) 0 27%, transparent 28%),
        linear-gradient(135deg, #fff9ed 0%, #eadfce 100%);
}

.ks-cover--blue {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 254, 251, .18) 0 28%, transparent 29%),
        #9dafb9;
}

.ks-cover--ceramic {
    background:
        radial-gradient(ellipse at 50% 48%, #827f77 0 23%, #d1c8bb 24% 32%, transparent 33%),
        linear-gradient(180deg, #ded5c7, #faf4ea);
}

.ks-cover--line {
    background:
        repeating-linear-gradient(45deg, #efe8dd, #efe8dd 11px, #fbf7ef 11px, #fbf7ef 24px);
    color: #9a8d7e;
}

.ks-logo-dot--dark {
    background: var(--ks-accent);
    color: #fffefb;
}

.ks-logo-dot--green {
    background: #738b72;
    color: #fffefb;
}

.ks-logo-dot--sand {
    background: #e7d8bd;
    color: var(--ks-text);
}

.ks-upload-hero {
    background:
        linear-gradient(112deg, rgba(241, 238, 229, .98) 0%, rgba(247, 239, 226, .98) 54%, rgba(236, 229, 216, .98) 100%);
    border-color: #d4cab9;
    box-shadow: 0 20px 50px rgba(7, 16, 23, .045);
}

.ks-upload-hero__art {
    background:
        radial-gradient(circle at 18% 72%, var(--ks-accent) 0 18%, transparent 19%),
        radial-gradient(circle at 74% 19%, #c9ddc9 0 31%, transparent 32%),
        linear-gradient(100deg, transparent 0 45%, rgba(11, 18, 24, .20) 45.5% 46.5%, transparent 47% 100%),
        linear-gradient(135deg, #d7e5e9, #eadfce);
}

.ks-footer {
    background: #fffefb;
    border-top-color: rgba(216, 208, 194, .82);
}

.ks-newsletter input {
    background: #fffefb;
    border-color: #d4cabd;
}

.ks-footer__bottom {
    border-top-color: rgba(216, 208, 194, .86);
}


/* v0.8.10 – Source Sans 3 fonttest.
   Kun font og typografiske justeringer. */
:root {
    --ks-serif: "Source Sans 3", var(--ks-sans);
    --ks-sans: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.ks-site {
    font-family: var(--ks-sans);
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0;
}

.ks-brand__title,
.ks-hero h1,
.ks-section-head h2,
.ks-feature-card h3,
.ks-resource-card h3,
.ks-actor-card h3,
.ks-entry-card strong,
.ks-upload-main h2,
.ks-hero-upload strong,
.ks-live-search__item strong,
.ks-info-box h2,
.ks-archive-hero h1 {
    font-family: var(--ks-sans);
    font-weight: 650;
    letter-spacing: -.035em;
}

.ks-brand__title {
    font-size: clamp(26px, 2.05vw, 34px);
    line-height: .98;
}

.ks-hero h1 {
    max-width: 960px;
    font-size: clamp(52px, 4.9vw, 70px);
    font-weight: 650;
    line-height: .96;
    letter-spacing: -.046em;
}

.ks-section-head h2 {
    font-size: clamp(31px, 2.7vw, 40px);
    font-weight: 650;
    line-height: 1.04;
    letter-spacing: -.038em;
}

.ks-nav a,
.ks-icon-link,
.ks-header-upload,
.ks-pill,
.ks-chip,
.ks-button,
.ks-section-head a,
.ks-live-search__all {
    font-family: var(--ks-sans);
    font-weight: 700;
    letter-spacing: -.005em;
}

.ks-label,
.ks-news-item span,
.ks-event-item div > span,
.ks-live-search__type,
.ks-live-search__group > p {
    font-family: var(--ks-sans);
    font-weight: 750;
    letter-spacing: .11em;
}

.ks-feature-card h3 {
    font-size: 25px;
    line-height: 1.08;
    letter-spacing: -.032em;
}

.ks-news-item strong,
.ks-event-item div > strong {
    font-family: var(--ks-sans);
    font-weight: 650;
    letter-spacing: -.018em;
}

.ks-resource-card h3 {
    font-size: 18px;
    line-height: 1.12;
    letter-spacing: -.026em;
    font-weight: 650;
}

.ks-actor-card h3 {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: -.018em;
    font-weight: 650;
}

.ks-entry-card strong {
    font-size: 22px;
    line-height: 1.08;
    letter-spacing: -.028em;
}

.ks-hero-upload strong {
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -.022em;
}

.ks-upload-main h2 {
    font-size: clamp(42px, 3.3vw, 54px);
    font-weight: 650;
    line-height: .98;
    letter-spacing: -.044em;
}

.ks-footer h2,
.ks-footer a,
.ks-footer p {
    font-family: var(--ks-sans);
}

@media (min-width: 1200px) {
    .ks-hero h1 {
        font-size: 68px;
    }
}


/* v0.8.11 – finjustering efter Source Sans-test.
   Kun menu-farve og mere subtil Populære emner-flade. */
.ks-nav a,
.ks-icon-link {
    color: #101318;
    font-weight: 650;
}

.ks-nav a:hover,
.ks-icon-link:hover {
    color: #5f5b54;
}

.ks-header-upload {
    background: #071017;
    border-color: #071017;
    color: #fffefb !important;
}

.ks-topics {
    background: #fdfbf6;
    border-top-color: rgba(216, 208, 194, .42);
    border-bottom-color: rgba(216, 208, 194, .34);
}

.ks-topics .ks-section-head h2 {
    color: #101318;
}

.ks-topics .ks-section-head a {
    color: #101318;
}

.ks-topics .ks-chip {
    background: #fffefb;
    border-color: #d8d0c2;
    color: #101318;
    box-shadow: none;
}

.ks-topics .ks-chip:hover {
    background: #fbf8f1;
    border-color: #c8beaf;
}

.ks-topics .ks-chip span {
    color: #746c63;
}

/* v0.8.12 – uploadformular. */
.ks-upload-page-hero {
    padding: 96px 0 40px;
    border-bottom: 1px solid var(--ks-border);
    background: linear-gradient(180deg, rgba(255,253,248,.82), rgba(247,244,237,.96));
}

.ks-upload-page-hero__inner {
    max-width: 900px;
}

.ks-upload-page-hero h1 {
    margin: 0 0 22px;
    font-family: var(--ks-serif);
    font-size: clamp(58px, 7vw, 104px);
    line-height: .92;
    letter-spacing: -.055em;
}

.ks-upload-page-hero p:not(.ks-label) {
    max-width: 760px;
    margin: 0;
    color: var(--ks-muted);
    font-size: 22px;
    line-height: 1.45;
}

.ks-upload-page-form {
    padding-top: 54px;
}

.ks-upload-form-shell {
    max-width: 1040px;
    margin-inline: auto;
}

.ks-upload-success,
.ks-upload-errors {
    margin: 0 0 24px;
    padding: 22px 24px;
    border: 1px solid var(--ks-border);
    border-radius: 22px;
    background: var(--ks-surface);
}

.ks-upload-success {
    border-color: #a9b89c;
    background: #f2f7ed;
}

.ks-upload-errors {
    border-color: #c9a29a;
    background: #fff6f3;
}

.ks-upload-success strong,
.ks-upload-errors strong {
    display: block;
    margin-bottom: 6px;
    font-size: 18px;
}

.ks-upload-errors ul {
    margin: 10px 0 0 20px;
    padding: 0;
    color: var(--ks-muted);
}

.ks-upload-form {
    display: grid;
    gap: 26px;
}

.ks-upload-step {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 34px;
    padding: 32px;
    border: 1px solid var(--ks-border);
    border-radius: 28px;
    background: var(--ks-surface);
}

.ks-upload-step__head {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.ks-upload-step__head > span {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--ks-accent);
    color: #fff;
    font-weight: 700;
}

.ks-upload-step__head h2 {
    margin: 0 0 8px;
    font-family: var(--ks-serif);
    font-size: 34px;
    line-height: .98;
    letter-spacing: -.035em;
}

.ks-upload-step__head p {
    margin: 0;
    color: var(--ks-muted);
    font-size: 16px;
    line-height: 1.45;
}

.ks-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.ks-upload-field {
    display: grid;
    gap: 9px;
    color: var(--ks-text);
    font-weight: 700;
}

.ks-upload-field--wide {
    grid-column: 1 / -1;
}

.ks-upload-field em {
    color: #9d392d;
    font-style: normal;
}

.ks-upload-field small,
.ks-upload-taxonomy > p {
    margin: -2px 0 0;
    color: var(--ks-muted);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.ks-upload-field input,
.ks-upload-field select,
.ks-upload-field textarea {
    width: 100%;
    border: 1px solid #bdb5a9;
    border-radius: 14px;
    background: #fffefb;
    color: var(--ks-text);
    padding: 14px 15px;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.45;
}

.ks-upload-field textarea {
    resize: vertical;
}

.ks-upload-field input:focus,
.ks-upload-field select:focus,
.ks-upload-field textarea:focus {
    outline: 3px solid rgba(13, 21, 28, .12);
    border-color: var(--ks-accent);
}

.ks-upload-taxonomy {
    margin: 0 0 24px;
    padding: 0 0 24px;
    border: 0;
    border-bottom: 1px solid var(--ks-border);
}

.ks-upload-taxonomy:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.ks-upload-taxonomy legend {
    margin: 0 0 8px;
    padding: 0;
    font-size: 18px;
    font-weight: 800;
}

.ks-upload-options {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
}

.ks-upload-options label {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.ks-upload-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ks-upload-options span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 13px;
    border: 1px solid var(--ks-border);
    border-radius: 999px;
    background: #fffefb;
    color: var(--ks-text);
    font-size: 14px;
    font-weight: 700;
}

.ks-upload-options input:checked + span {
    border-color: var(--ks-accent);
    background: var(--ks-accent);
    color: #fff;
}

.ks-upload-consent {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 12px;
    margin-top: 22px;
    color: var(--ks-muted);
    font-size: 15px;
    line-height: 1.45;
}

.ks-upload-consent input {
    width: 19px;
    height: 19px;
    margin-top: 2px;
}

.ks-upload-submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    padding: 26px 30px;
    border: 1px solid var(--ks-border);
    border-radius: 26px;
    background: linear-gradient(110deg, #f2eee4 0%, #fffaf0 100%);
}

.ks-upload-submit p {
    margin: 0;
    max-width: 520px;
    color: var(--ks-muted);
    font-size: 16px;
    line-height: 1.45;
}

.ks-honeypot {
    position: absolute;
    left: -100vw;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (max-width: 900px) {
    .ks-upload-step {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .ks-upload-grid {
        grid-template-columns: 1fr;
    }

    .ks-upload-submit {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* v0.8.13 – uploadformular i trin. Kun upload-siden. */
.ks-upload-page-hero {
    padding: clamp(72px, 7vw, 118px) 0 38px;
    background: linear-gradient(180deg, #fffdf9 0%, #faf7ef 100%);
}

.ks-upload-page-hero__inner {
    max-width: 880px;
}

.ks-upload-page-hero h1 {
    max-width: 10ch;
    margin-bottom: 18px;
    font-size: clamp(54px, 6.3vw, 92px);
    line-height: .95;
    letter-spacing: -.052em;
}

.ks-upload-page-hero p:not(.ks-label) {
    max-width: 690px;
    font-size: clamp(18px, 1.75vw, 21px);
}

.ks-upload-page-form {
    padding-top: 44px;
}

.ks-upload-form-shell {
    max-width: 1060px;
}

.ks-upload-form {
    gap: 20px;
}

.ks-upload-progress {
    position: sticky;
    top: 0;
    z-index: 4;
    padding: 18px 18px 16px;
    border: 1px solid #d9d1c4;
    border-radius: 24px;
    background: rgba(255, 253, 248, .94);
    box-shadow: 0 18px 48px rgba(7, 16, 23, .05);
    backdrop-filter: blur(10px);
}

.admin-bar .ks-upload-progress {
    top: 32px;
}

.ks-upload-progress__top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 14px;
}

.ks-upload-progress__eyebrow,
.ks-upload-progress__count,
.ks-upload-step__eyebrow {
    margin: 0;
    color: #736c62;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.ks-upload-progress ol {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ks-upload-progress button {
    width: 100%;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 10px;
    border: 1px solid #d7cfc2;
    border-radius: 999px;
    background: #fffefb;
    color: #24211d;
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.ks-upload-progress button:hover,
.ks-upload-progress button:focus-visible {
    border-color: #a79d90;
    background: #f7f2e8;
}

.ks-upload-progress button.is-active {
    border-color: var(--ks-accent);
    background: var(--ks-accent);
    color: #fff;
}

.ks-upload-progress button.is-complete:not(.is-active) {
    border-color: #b9c4b2;
    background: #f3f7ef;
}

.ks-upload-progress button span {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(7, 16, 23, .08);
    font-size: 12px;
    font-weight: 800;
}

.ks-upload-progress button.is-active span {
    background: rgba(255,255,255,.18);
}

.ks-upload-progress__bar {
    height: 5px;
    margin-top: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #eee8de;
}

.ks-upload-progress__bar span {
    display: block;
    height: 100%;
    width: 20%;
    border-radius: inherit;
    background: var(--ks-accent);
    transition: width .22s ease;
}

.ks-upload-form.is-enhanced .ks-upload-step:not(.is-active) {
    display: none;
}

.ks-upload-step {
    grid-template-columns: minmax(210px, 265px) 1fr;
    gap: 36px;
    padding: clamp(28px, 3.4vw, 42px);
    border-radius: 30px;
    border-color: #d8d0c3;
    background: #fffdf8;
    box-shadow: 0 24px 70px rgba(7, 16, 23, .04);
}

.ks-upload-step__head {
    gap: 16px;
}

.ks-upload-step__head > span {
    width: 38px;
    height: 38px;
    background: var(--ks-accent);
    color: #fff;
    font-size: 15px;
    box-shadow: 0 12px 24px rgba(7,16,23,.13);
}

.ks-upload-step__head h2 {
    margin: 8px 0 9px;
    font-size: clamp(30px, 3vw, 42px);
    line-height: .98;
}

.ks-upload-step__head p:not(.ks-upload-step__eyebrow) {
    max-width: 26ch;
    font-size: 16px;
}

.ks-upload-step__body {
    min-width: 0;
}

.ks-upload-grid {
    gap: 18px 18px;
}

.ks-upload-field {
    gap: 7px;
    font-size: 15px;
    font-weight: 800;
}

.ks-upload-field input,
.ks-upload-field select,
.ks-upload-field textarea {
    min-height: 50px;
    padding: 13px 15px;
    border-color: #bcb4a9;
    border-radius: 13px;
    background: #fffefb;
    font-size: 16px;
}

.ks-upload-field textarea {
    min-height: 108px;
}

.ks-upload-field textarea[rows="3"] {
    min-height: 94px;
}

.ks-upload-field small {
    max-width: 62ch;
    font-size: 13px;
}

.ks-upload-taxonomy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ks-upload-taxonomy {
    margin: 0;
    padding: 18px;
    border: 1px solid #ded6ca;
    border-radius: 20px;
    background: #fbf8f1;
}

.ks-upload-taxonomy:last-child {
    border-bottom: 1px solid #ded6ca;
    padding-bottom: 18px;
}

.ks-upload-taxonomy:first-child {
    grid-column: 1 / -1;
}

.ks-upload-taxonomy legend {
    margin: 0 0 4px;
    font-size: 17px;
}

.ks-upload-taxonomy > p {
    font-size: 13px;
}

.ks-upload-options {
    gap: 7px;
    margin-top: 12px;
}

.ks-upload-options span {
    min-height: 30px;
    padding: 6px 10px;
    border-color: #d5cdc0;
    background: #fffdf8;
    font-size: 13px;
    font-weight: 750;
}

.ks-upload-options label:hover span {
    border-color: #aaa094;
    background: #f7f2e8;
}

.ks-upload-options input:focus-visible + span {
    outline: 3px solid rgba(7, 16, 23, .12);
    outline-offset: 2px;
}

.ks-upload-options input:checked + span {
    border-color: var(--ks-accent);
    background: var(--ks-accent);
    color: #fff;
}

.ks-upload-consent {
    margin-top: 20px;
    padding: 16px 18px;
    border: 1px solid #ddd5c9;
    border-radius: 18px;
    background: #fbf8f1;
    font-size: 15px;
}

.ks-upload-nav {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-top: 26px;
    border-top: 1px solid #e2dbd0;
}

.ks-upload-nav .ks-button,
.ks-upload-submit .ks-button {
    min-height: 50px;
}

.ks-button--ghost {
    background: #fffdf8;
    color: var(--ks-text);
    border: 1px solid #cfc6b8;
    box-shadow: none;
}

.ks-button--ghost:hover,
.ks-button--ghost:focus-visible {
    background: #f7f2e8;
    border-color: #a79d90;
}

.ks-upload-review dl {
    display: grid;
    gap: 12px;
    margin: 0;
}

.ks-upload-review dl > div {
    display: grid;
    grid-template-columns: minmax(145px, 190px) 1fr;
    gap: 18px;
    padding: 15px 0;
    border-bottom: 1px solid #e4ddd2;
}

.ks-upload-review dl > div:first-child {
    border-top: 1px solid #e4ddd2;
}

.ks-upload-review dt {
    color: #746c63;
    font-size: 14px;
    font-weight: 800;
}

.ks-upload-review dd {
    margin: 0;
    color: var(--ks-text);
    font-size: 16px;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.ks-upload-submit--inside {
    margin-top: 22px;
    padding: 22px 24px;
    border-radius: 22px;
    background: linear-gradient(110deg, #f1eee5 0%, #fbf3e6 100%);
}

.ks-upload-submit--inside p {
    max-width: 520px;
}

.ks-upload-field input[aria-invalid="true"],
.ks-upload-field select[aria-invalid="true"],
.ks-upload-field textarea[aria-invalid="true"] {
    border-color: #aa4033;
    box-shadow: 0 0 0 3px rgba(170, 64, 51, .12);
}

@media (max-width: 980px) {
    .ks-upload-progress {
        position: static;
    }

    .ks-upload-progress ol {
        display: flex;
        overflow-x: auto;
        padding-bottom: 2px;
        scroll-snap-type: x mandatory;
    }

    .ks-upload-progress li {
        min-width: 165px;
        scroll-snap-align: start;
    }

    .ks-upload-step {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ks-upload-step__head p:not(.ks-upload-step__eyebrow) {
        max-width: 56ch;
    }

    .ks-upload-nav {
        grid-column: 1;
    }

    .ks-upload-taxonomy-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .ks-upload-page-hero {
        padding-top: 56px;
    }

    .ks-upload-page-hero h1 {
        max-width: 11ch;
        font-size: clamp(44px, 14vw, 62px);
    }

    .ks-upload-progress {
        margin-inline: -4px;
        padding: 14px;
        border-radius: 20px;
    }

    .ks-upload-step {
        padding: 22px;
        border-radius: 22px;
    }

    .ks-upload-grid,
    .ks-upload-review dl > div {
        grid-template-columns: 1fr;
    }

    .ks-upload-nav,
    .ks-upload-submit--inside {
        flex-direction: column;
        align-items: stretch;
    }

    .ks-upload-nav .ks-button,
    .ks-upload-submit--inside .ks-button {
        width: 100%;
    }
}

/* v0.8.14 – Bibliotek som rigtig database. Kun Bibliotek-arkiv og Bibliotek-detaljeside. */
.ks-library-page,
.ks-bibliotek-single {
    background: var(--ks-bg);
}

.ks-library-hero,
.ks-bibliotek-hero {
    padding: clamp(70px, 7vw, 108px) 0 clamp(38px, 4vw, 58px);
    border-bottom: 1px solid rgba(216, 208, 194, .66);
    background: linear-gradient(180deg, #fffefb 0%, #faf7ef 100%);
}

.ks-library-hero__grid,
.ks-bibliotek-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: clamp(34px, 5vw, 72px);
    align-items: end;
}

.ks-library-hero h1,
.ks-bibliotek-hero h1 {
    max-width: 920px;
    margin: 8px 0 18px;
    font-family: var(--ks-serif);
    font-size: clamp(50px, 6vw, 88px);
    line-height: .94;
    letter-spacing: -.052em;
    font-weight: 650;
}

.ks-library-hero p:not(.ks-label),
.ks-bibliotek-hero p:not(.ks-label) {
    max-width: 700px;
    margin: 0;
    color: var(--ks-muted);
    font-size: clamp(18px, 1.6vw, 21px);
    line-height: 1.46;
}




.ks-library-panel-section {
    padding: 34px 0 26px;
    background: #fdfbf6;
    border-bottom: 1px solid rgba(216, 208, 194, .55);
}

.ks-library-panel {
    display: grid;
    gap: 22px;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid #d8d0c3;
    border-radius: 28px;
    background: #fffefb;
    box-shadow: 0 22px 58px rgba(7, 16, 23, .035);
}

.ks-library-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.ks-library-search,
.ks-library-filter {
    display: grid;
    gap: 7px;
}

.ks-library-search span,
.ks-library-filter span {
    color: #736c62;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ks-library-search input,
.ks-library-filter select {
    width: 100%;
    min-height: 52px;
    border: 1px solid #bdb4a8;
    border-radius: 16px;
    background: #fffefb;
    color: var(--ks-text);
    font: inherit;
    font-size: 17px;
    font-weight: 500;
}

.ks-library-search input {
    padding: 14px 18px;
}

.ks-library-filter select {
    padding: 0 40px 0 14px;
}

.ks-library-search input:focus,
.ks-library-filter select:focus {
    outline: 3px solid rgba(7, 16, 23, .10);
    border-color: var(--ks-accent);
}

.ks-library-filters {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.ks-library-panel__bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    min-height: 34px;
    padding-top: 2px;
}

.ks-library-active {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ks-library-active a,
.ks-library-reset {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid #d5cdc0;
    border-radius: 999px;
    background: #fbf8f1;
    color: var(--ks-text);
    font-size: 13px;
    font-weight: 750;
    text-decoration: none !important;
}

.ks-library-reset {
    margin-left: auto;
    white-space: nowrap;
    background: transparent;
    color: var(--ks-muted);
}

.ks-library-active a:hover,
.ks-library-reset:hover {
    border-color: #aaa094;
    background: #f7f2e8;
    color: var(--ks-text);
}

.ks-library-results-section {
    padding: clamp(42px, 5vw, 72px) 0 clamp(72px, 7vw, 104px);
}

.ks-library-results-head {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: end;
    margin-bottom: 26px;
}

.ks-library-results-head h2 {
    margin: 4px 0 0;
    font-family: var(--ks-serif);
    font-size: clamp(32px, 3.2vw, 48px);
    line-height: 1.02;
    letter-spacing: -.04em;
    font-weight: 650;
}

.ks-library-results-head > p {
    max-width: 360px;
    margin: 0;
    color: var(--ks-muted);
    font-size: 15px;
    line-height: 1.45;
    text-align: right;
}

.ks-library-results-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.ks-library-results-grid .ks-resource-card {
    min-width: 0;
}

.ks-library-results-grid .ks-resource-card a {
    min-height: 100%;
}

.ks-library-results-grid .ks-resource-card h3 {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.ks-library-empty {
    max-width: 680px;
    padding: 34px;
    border: 1px dashed #cfc6b8;
    border-radius: 24px;
    background: #fffefb;
}

.ks-library-empty strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ks-text);
    font-size: 24px;
    line-height: 1.1;
}

.ks-library-empty p {
    margin: 0 0 18px;
    color: var(--ks-muted);
    font-size: 16px;
    line-height: 1.48;
}

.ks-back-link {
    display: inline-flex;
    margin-bottom: 26px;
    color: var(--ks-muted);
    font-size: 15px;
    font-weight: 750;
    text-decoration: none !important;
}

.ks-back-link:hover {
    color: var(--ks-text);
}

.ks-bibliotek-hero__copy .ks-mini-tags {
    margin-top: 22px;
}

.ks-bibliotek-cover {
    min-height: 360px;
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(7, 16, 23, .055);
}

.ks-bibliotek-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: clamp(44px, 6vw, 78px);
    padding: clamp(54px, 6vw, 82px) 0 clamp(64px, 7vw, 96px);
}

.ks-bibliotek-main {
    min-width: 0;
    max-width: 780px;
}

.ks-bibliotek-content-block {
    margin-bottom: 34px;
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(216, 208, 194, .82);
}

.ks-bibliotek-content-block:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.ks-bibliotek-content-block h2,
.ks-bibliotek-facts h2,
.ks-bibliotek-taxonomies h2 {
    margin: 0 0 16px;
    font-family: var(--ks-serif);
    font-size: clamp(26px, 2.3vw, 34px);
    line-height: 1.05;
    letter-spacing: -.035em;
    font-weight: 650;
}

.ks-bibliotek-content-block p,
.ks-bibliotek-content-block li {
    color: var(--ks-text);
    font-size: 18px;
    line-height: 1.68;
}

.ks-bibliotek-content-block p {
    margin: 0 0 18px;
}

.ks-bibliotek-content-block p:last-child {
    margin-bottom: 0;
}

.ks-bibliotek-sidebar {
    align-self: start;
    display: grid;
    gap: 20px;
    position: sticky;
    top: 24px;
}

.admin-bar .ks-bibliotek-sidebar {
    top: 56px;
}

.ks-bibliotek-facts,
.ks-bibliotek-taxonomies {
    display: grid;
    gap: 14px;
    padding: 24px;
    border: 1px solid #d8d0c3;
    border-radius: 24px;
    background: #fffefb;
    box-shadow: 0 18px 46px rgba(7, 16, 23, .03);
}

.ks-bibliotek-facts div {
    display: grid;
    gap: 5px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(216, 208, 194, .82);
}

.ks-bibliotek-facts div:last-of-type {
    border-bottom: 0;
}

.ks-bibliotek-facts strong,
.ks-bibliotek-tax-group strong {
    color: #736c62;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.ks-bibliotek-facts span {
    color: var(--ks-text);
    font-size: 15px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.ks-bibliotek-primary-link,
.ks-bibliotek-facts .ks-button--ghost {
    justify-content: center;
    margin-top: 6px;
    width: 100%;
}

.ks-bibliotek-taxonomies {
    gap: 18px;
}

.ks-bibliotek-tax-group {
    display: grid;
    gap: 9px;
}

.ks-bibliotek-tax-group > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ks-bibliotek-tax-group a {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid #d5cdc0;
    border-radius: 999px;
    background: #fbf8f1;
    color: var(--ks-text);
    font-size: 13px;
    font-weight: 750;
    text-decoration: none !important;
}

.ks-bibliotek-tax-group a:hover {
    border-color: #aaa094;
    background: #f7f2e8;
}

.ks-bibliotek-related {
    padding: 0 0 clamp(64px, 7vw, 96px);
}

.ks-section-head--compact {
    margin-bottom: 22px;
}

.ks-bibliotek-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ks-entry-card--related a {
    min-height: 100%;
}

@media (max-width: 1120px) {
    .ks-library-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ks-library-results-grid,
    .ks-bibliotek-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .ks-library-hero__grid,
    .ks-bibliotek-hero__grid,
    .ks-bibliotek-layout {
        grid-template-columns: 1fr;
    }

    .ks-bibliotek-sidebar {
        position: static;
    }

    .ks-library-results-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ks-library-results-head > p {
        text-align: left;
    }
}

@media (max-width: 720px) {
    .ks-library-search-row,
    .ks-library-filters,
    .ks-library-results-grid,
    .ks-bibliotek-related-grid {
        grid-template-columns: 1fr;
    }

    .ks-library-search-row .ks-button {
        width: 100%;
        justify-content: center;
    }

    .ks-library-panel__bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .ks-library-reset {
        margin-left: 0;
    }

    .ks-bibliotek-cover {
        min-height: 260px;
    }
}

/* v0.8.16 – fjerner overflødig hero-note fra Biblioteket. */
.ks-library-panel {
    position: relative;
    gap: 18px;
    padding: clamp(20px, 2.4vw, 28px);
    border-radius: 24px;
    background: rgba(255, 254, 250, .94);
}

.ks-library-search-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 14px 18px;
}

.ks-library-search input,
.ks-library-filter select {
    min-height: 50px;
    border-color: #c2b8aa;
    background: #fffefa;
    box-shadow: 0 1px 0 rgba(7, 16, 23, .025);
}

.ks-library-search input {
    padding-inline: 18px;
}

.ks-library-submit {
    min-height: 50px;
    padding-inline: 24px;
    border-radius: 0;
    align-self: end;
}

.ks-library-live-note {
    grid-column: 1 / -1;
    margin: -4px 0 0;
    color: #7a7267;
    font-size: 13px;
    line-height: 1.35;
}

.ks-library-panel.has-live-filter .ks-library-submit::after {
    content: "";
}

.ks-library-panel.is-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), transparent);
    animation: ckms-panel-glow .92s ease-in-out infinite;
}

@keyframes ckms-panel-glow {
    0% { opacity: .18; transform: translateX(-20px); }
    50% { opacity: .7; }
    100% { opacity: .18; transform: translateX(20px); }
}

.ks-library-active button {
    appearance: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid #d5cdc0;
    border-radius: 999px;
    background: #fbf8f1;
    color: var(--ks-text);
    font-family: var(--ks-sans);
    font-size: 13px;
    font-weight: 750;
    line-height: 1;
}

.ks-library-active button:hover {
    border-color: #aaa094;
    background: #f4efe5;
}

.ks-library-results-head {
    margin-bottom: 28px;
}

.ks-library-results-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.ks-library-dynamic.is-loading {
    opacity: .58;
    transition: opacity .16s ease;
}

.ks-library-card {
    min-width: 0;
    border: 1px solid #d8d0c3;
    border-radius: 20px;
    background: #fffefa;
    box-shadow: 0 18px 48px rgba(7, 16, 23, .035);
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ks-library-card:hover {
    transform: translateY(-2px);
    border-color: #bfb4a6;
    box-shadow: 0 24px 62px rgba(7, 16, 23, .07);
}

.ks-library-card a {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    color: inherit;
    text-decoration: none !important;
}

.ks-library-card__media {
    position: relative;
    padding: 12px 12px 0;
}

.ks-library-card__media .ks-cover {
    width: 100%;
    height: 190px;
    margin: 0;
    border-radius: 14px;
    font-size: clamp(20px, 2vw, 29px);
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.ks-library-card__media .ks-cover--image img {
    min-height: 190px;
}

.ks-library-card__type {
    position: absolute;
    left: 24px;
    top: 24px;
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 48px);
    min-height: 28px;
    padding: 7px 10px 6px;
    border: 1px solid rgba(255, 254, 250, .82);
    border-radius: 999px;
    background: rgba(7, 16, 23, .82);
    color: #fffefa;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    line-height: 1;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.ks-library-card__body {
    display: grid;
    grid-template-rows: auto auto auto 1fr;
    gap: 13px;
    padding: 22px 22px 48px;
}

.ks-library-card h3 {
    margin: 0;
    max-width: 18ch;
    color: var(--ks-text);
    font-family: var(--ks-serif);
    font-size: clamp(21px, 2vw, 28px);
    font-weight: 650;
    line-height: 1.02;
    letter-spacing: -.038em;
    overflow-wrap: normal;
    hyphens: manual;
}

.ks-library-card__excerpt {
    display: -webkit-box;
    margin: 0;
    color: #625c53;
    font-size: 15px;
    line-height: 1.43;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ks-library-card__facts {
    display: grid;
    gap: 8px;
    margin-top: 2px;
    padding-top: 13px;
    border-top: 1px solid rgba(216, 208, 194, .72);
}

.ks-library-card__facts span {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    align-items: baseline;
    color: #625c53;
    font-size: 13px;
    line-height: 1.3;
}

.ks-library-card__facts strong {
    color: #82796d;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
}

.ks-library-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-self: end;
    padding-top: 4px;
}

.ks-library-card__tags span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 6px 9px;
    border: 1px solid #d9d1c4;
    border-radius: 999px;
    background: #fbf7ef;
    color: #1f2326;
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
}

.ks-library-card__arrow {
    position: absolute;
    right: 20px;
    bottom: 18px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d6cec0;
    border-radius: 50%;
    background: #fffefa;
    color: var(--ks-text);
    font-size: 18px;
    line-height: 1;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}

.ks-library-card:hover .ks-library-card__arrow {
    transform: translateX(2px);
    background: var(--ks-accent);
    color: #fffefa;
}

.ks-library-card .ks-cover--green {
    background:
        radial-gradient(circle at 84% 18%, rgba(255, 254, 250, .18) 0 21%, transparent 22%),
        linear-gradient(135deg, #7e927a 0%, #9ba98d 100%);
}

.ks-library-card .ks-cover--paper {
    background:
        radial-gradient(circle at 8% 105%, #071017 0 26%, transparent 27%),
        linear-gradient(135deg, #fffdf8 0%, #eee5d6 100%);
}

.ks-library-card .ks-cover--blue {
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 254, 250, .18) 0 30%, transparent 31%),
        linear-gradient(135deg, #8da1ae, #becbd0);
}

.ks-library-card .ks-cover--ceramic {
    background:
        radial-gradient(ellipse at 50% 48%, #7a766e 0 21%, #c7bfb1 22% 31%, transparent 32%),
        linear-gradient(180deg, #ddd5c8 0%, #f7f2e8 100%);
}

.ks-library-card .ks-cover--line {
    background:
        radial-gradient(circle at 82% 15%, rgba(223, 216, 203, .76) 0 24%, transparent 25%),
        repeating-linear-gradient(45deg, #ede6da, #ede6da 9px, #f8f4ed 9px, #f8f4ed 22px);
    color: #a19688;
}

@media (max-width: 1100px) {
    .ks-library-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .ks-library-search-row {
        grid-template-columns: 1fr;
    }

    .ks-library-submit {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .ks-library-results-grid {
        grid-template-columns: 1fr;
    }

    .ks-library-card__media .ks-cover,
    .ks-library-card__media .ks-cover--image img {
        height: 170px;
        min-height: 170px;
    }
}


:root {
    --ks-bg: #fffaf6;
    --ks-bg-soft: #fff3ee;
    --ks-surface: #fffdf9;
    --ks-surface-warm: #f8efe6;
    --ks-navy: #07172a;
    --ks-ink: #081520;
    --ks-rose: #d38b90;
    --ks-rose-soft: #f2ceca;
    --ks-sage: #8f9670;
    --ks-sage-soft: #e3e4c9;
    --ks-taupe: #c7aa93;
    --ks-border: #dbcfc3;
    --ks-border-strong: #a99d91;
    --ks-muted: #675e57;
    --ks-soft-text: #857a70;
    --ks-accent: var(--ks-navy);
    --ks-serif: "Newsreader", Georgia, "Times New Roman", serif;
    --ks-sans: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ks-container: 1280px;
}

body.ks-site {
    background: var(--ks-bg);
    color: var(--ks-ink);
    font-family: var(--ks-sans);
    font-size: 16px;
    line-height: 1.52;
}

.ks-header {
    background: rgba(7, 23, 42, .985);
    border-bottom: 1px solid rgba(255, 250, 246, .12);
    box-shadow: none;
}

.ks-header__inner {
    min-height: 78px;
}

.ks-brand__title {
    color: #fffaf6;
    font-family: var(--ks-sans);
    font-size: clamp(24px, 2vw, 32px);
    font-weight: 760;
    letter-spacing: -.04em;
}

.ks-brand__tagline,
.ks-nav a,
.ks-icon-link {
    color: rgba(255, 250, 246, .84);
}

.ks-nav a,
.ks-icon-link {
    font-weight: 700;
}

.ks-nav a:hover,
.ks-icon-link:hover {
    color: #fffaf6;
}

.ks-header-upload {
    background: var(--ks-rose);
    border-color: var(--ks-rose);
    color: var(--ks-navy) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

.ks-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 56px;
    background:
        linear-gradient(180deg, rgba(255,250,246,.98) 0%, rgba(255,250,246,.94) 62%, rgba(255,244,238,.72) 100%);
    border-bottom: 1px solid rgba(219,207,195,.78);
}

.ks-hero::before,
.ks-hero::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: min(33vw, 520px);
    pointer-events: none;
    opacity: .88;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.ks-hero::before {
    left: -42px;
    background-image: url('../img/ckms-abstract-hero-left.svg');
}

.ks-hero::after {
    right: -46px;
    background-image: url('../img/ckms-abstract-hero-right.svg');
}

.ks-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 980px;
}

.ks-hero h1 {
    max-width: 920px;
    margin: 0 auto 26px;
    color: var(--ks-navy);
    font-family: var(--ks-serif);
    font-size: clamp(48px, 5.35vw, 78px);
    font-weight: 560;
    line-height: .96;
    letter-spacing: -.044em;
}

.ks-hero h1 em {
    color: var(--ks-rose);
    font-family: var(--ks-serif);
    font-style: italic;
    font-weight: 520;
    letter-spacing: -.035em;
}

.ks-pills {
    margin-bottom: 26px;
    gap: 12px;
}

.ks-pill,
.ks-chip {
    border-color: rgba(169, 157, 145, .62);
    background: rgba(255, 253, 249, .78);
    color: var(--ks-navy);
}

.ks-pill {
    min-width: 84px;
    padding: 9px 20px;
    font-size: 13px;
    font-weight: 760;
}

.ks-pill.is-active,
.ks-chip.is-active {
    background: var(--ks-navy);
    border-color: var(--ks-navy);
    color: #fffaf6 !important;
}

.ks-pills .ks-search-filter:not(.is-active):hover,
.ks-chip:hover,
.ks-live-search__terms a:hover {
    background: #fff4ef;
    border-color: var(--ks-rose);
    color: var(--ks-navy);
}

.ks-search-shell {
    max-width: 780px;
    min-height: 74px;
    margin-inline: auto;
    grid-template-columns: 28px 1fr 54px;
    gap: 18px;
    padding: 0 10px 0 28px;
    border: 1.25px solid rgba(169,157,145,.82);
    border-radius: 14px;
    background: rgba(255,253,249,.92);
    box-shadow: 0 18px 46px rgba(7, 23, 42, .045);
}

.ks-search-shell input[type='search'] {
    font-size: clamp(16px, 1.45vw, 19px);
}

.ks-search-shell button {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--ks-rose-soft);
    color: var(--ks-navy);
    font-size: 29px;
}

.ks-search-shell button:hover {
    background: var(--ks-rose);
}

.ks-search-meta {
    max-width: 720px;
    margin: 11px auto 26px;
    color: var(--ks-muted);
}

.ks-search-meta a {
    color: #a85e64;
}

.ks-hero-upload.ks-upload-callout {
    max-width: 780px;
    min-height: 86px;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 20px;
    padding: 18px 20px;
    border-color: rgba(219,207,195,.92);
    background: rgba(255,253,249,.86);
    box-shadow: 0 16px 40px rgba(7,23,42,.04);
}

.ks-hero-upload .ks-upload-callout__icon {
    width: 52px;
    height: 52px;
}

.ks-hero-upload strong {
    color: var(--ks-navy);
    font-family: var(--ks-serif);
    font-size: 21px;
    font-weight: 560;
    letter-spacing: -.025em;
}

.ks-button--large {
    min-height: 48px;
    padding-inline: 24px;
    border-radius: 9px;
    background: var(--ks-navy);
    color: #fffaf6 !important;
}

.ks-section {
    padding: 56px 0;
}

.ks-section-head h2,
.ks-library-results-head h2,
.ks-archive-hero h1,
.ks-single-hero h1,
.ks-library-hero h1 {
    color: var(--ks-navy);
    font-family: var(--ks-serif);
    font-weight: 560;
    letter-spacing: -.036em;
}

.ks-section-head h2 {
    font-size: clamp(32px, 2.75vw, 44px);
    line-height: 1.02;
}

.ks-section-head a {
    color: #a85e64;
}

.ks-topics {
    padding: 38px 0 34px;
    background: #fffaf6;
    border-top: 1px solid rgba(219,207,195,.64);
    border-bottom: 1px solid rgba(219,207,195,.52);
}

.ks-chip-cloud {
    gap: 12px 16px;
}

.ks-chip {
    padding: 8px 14px;
    background: rgba(255,253,249,.92);
    border-color: rgba(199,170,147,.62);
    box-shadow: 0 5px 20px rgba(7,23,42,.018);
}

.ks-chip:nth-child(3n+1) { border-color: rgba(211,139,144,.62); }
.ks-chip:nth-child(3n+2) { border-color: rgba(143,150,112,.68); }
.ks-chip span { color: #a85e64; font-weight: 800; }

.ks-feature {
    background: #fffdf9;
}

.ks-feature__grid {
    align-items: start;
    gap: 54px;
}

.ks-feature-card,
.ks-resource-card,
.ks-actor-card,
.ks-event-list,
.ks-entry-card,
.ks-news-panel,
.ks-library-panel,
.ks-library-card {
    background: rgba(255,253,249,.96);
    border-color: rgba(219,207,195,.92);
    box-shadow: 0 18px 44px rgba(7,23,42,.035);
}

.ks-feature-card {
    min-height: 278px;
    border-radius: 16px;
    overflow: hidden;
}

.ks-feature-card__body {
    padding: 32px 34px;
}

.ks-feature-card h3 {
    color: var(--ks-navy);
    font-family: var(--ks-serif);
    font-size: 30px;
    font-weight: 560;
    line-height: 1.04;
}

.ks-label,
.ks-news-item span,
.ks-event-item div > span,
.ks-live-search__type,
.ks-live-search__group > p {
    color: #7b6a60;
    font-size: 11px;
    font-weight: 820;
    letter-spacing: .12em;
}

.ks-news-item,
.ks-event-item {
    min-height: 80px;
    border-color: rgba(219,207,195,.78);
}

.ks-news-item strong,
.ks-event-item div > strong {
    color: var(--ks-navy);
    font-weight: 750;
}

#bibliotek.ks-section {
    background: #fff5ef;
    border-top: 1px solid rgba(219,207,195,.34);
    border-bottom: 1px solid rgba(219,207,195,.34);
}

.ks-card-grid--five {
    gap: 26px;
}

.ks-resource-card {
    min-height: 342px;
    padding: 14px;
    border-radius: 14px;
}

.ks-resource-card h3 {
    color: var(--ks-navy);
    font-size: 18px;
    line-height: 1.08;
    font-weight: 760;
    letter-spacing: -.025em;
}

.ks-cover {
    position: relative;
    overflow: hidden;
    height: 142px;
    border-radius: 10px;
    color: var(--ks-navy);
    font-family: var(--ks-serif);
    font-size: 19px;
    font-weight: 560;
    letter-spacing: -.02em;
    background: #f2e3d9;
}

.ks-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../img/ckms-abstract-card.svg') center/cover no-repeat;
    opacity: .46;
    mix-blend-mode: multiply;
}

.ks-cover--green { background: #8f9670; color: #fffaf6; }
.ks-cover--paper { background: #f3e5d7; }
.ks-cover--blue { background: #d8e0e6; }
.ks-cover--ceramic { background: #d9c0ba; }
.ks-cover--line { background: #fff4ef; color: var(--ks-navy); }
.ks-cover--image::after { display: none; }

.ks-actors-events {
    background: #fffdf9;
    padding-top: 50px;
}

.ks-actor-card {
    border-radius: 14px;
    min-height: 230px;
}

.ks-logo-dot--dark { background: var(--ks-navy); }
.ks-logo-dot--green { background: var(--ks-sage); }
.ks-logo-dot--sand { background: var(--ks-rose-soft); color: var(--ks-navy); }

.ks-event-item time {
    background: #f4e3dc;
    color: var(--ks-navy);
}

#ressourcer.ks-section {
    background: #fff5ef;
}

.ks-entry-card {
    min-height: 150px;
    border-radius: 14px;
    box-shadow: none;
}

.ks-entry-card strong {
    color: var(--ks-navy);
    font-family: var(--ks-serif);
    font-weight: 560;
}

.ks-upload-section {
    background: #fffdf9;
}

.ks-upload-hero {
    position: relative;
    overflow: hidden;
    grid-template-columns: 74px minmax(0, 1.3fr) minmax(260px, .9fr) 250px;
    border-radius: 22px;
    background: linear-gradient(112deg, #f5c8c8 0%, #f8dcd7 54%, #f3e6d6 100%);
    border-color: rgba(211,139,144,.45);
    box-shadow: 0 24px 60px rgba(7,23,42,.07);
}

.ks-upload-hero::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 40%;
    background: url('../img/ckms-abstract-hero-right.svg') center/contain no-repeat;
    opacity: .36;
    pointer-events: none;
}

.ks-upload-main,
.ks-benefits,
.ks-upload-hero__icon,
.ks-upload-hero__art {
    position: relative;
    z-index: 1;
}

.ks-upload-main h2 {
    color: var(--ks-navy);
    font-family: var(--ks-serif);
    font-weight: 560;
    font-size: clamp(36px, 3.2vw, 54px);
    letter-spacing: -.042em;
}

.ks-upload-hero__art {
    background:
        radial-gradient(circle at 18% 72%, var(--ks-navy) 0 17%, transparent 18%),
        radial-gradient(circle at 72% 22%, rgba(143,150,112,.48) 0 30%, transparent 31%),
        linear-gradient(105deg, transparent 0 44%, rgba(7,23,42,.20) 44.5% 45.5%, transparent 46% 100%),
        rgba(255,250,246,.38);
}

.ks-footer {
    position: relative;
    overflow: hidden;
    background: var(--ks-navy);
    color: #fffaf6;
    border-top: 0;
}

.ks-footer::after {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -95px;
    width: 520px;
    height: 360px;
    background: url('../img/ckms-abstract-hero-right.svg') center/contain no-repeat;
    opacity: .22;
    pointer-events: none;
}

.ks-footer .ks-wrap { position: relative; z-index: 1; }
.ks-footer .ks-brand__title,
.ks-footer h2,
.ks-footer a { color: #fffaf6; }
.ks-footer p,
.ks-footer .ks-brand__tagline,
.ks-footer__bottom,
.ks-footer__bottom a { color: rgba(255,250,246,.72); }
.ks-footer__bottom { border-top-color: rgba(255,250,246,.18); }
.ks-newsletter input { background: rgba(255,250,246,.08); border-color: rgba(255,250,246,.28); color: #fffaf6; }
.ks-newsletter input::placeholder { color: rgba(255,250,246,.58); }
.ks-newsletter button { background: var(--ks-rose); color: var(--ks-navy) !important; }

.ks-library-hero,
.ks-archive-hero,
.ks-single-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #fffaf6 0%, #fff5ef 100%);
}

.ks-library-hero::after,
.ks-archive-hero::after,
.ks-single-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: -70px;
    bottom: 0;
    width: min(36vw, 520px);
    background: url('../img/ckms-abstract-hero-right.svg') center/contain no-repeat;
    opacity: .54;
    pointer-events: none;
}

.ks-library-hero__grid,
.ks-archive-hero .ks-wrap,
.ks-single-hero .ks-wrap { position: relative; z-index: 1; }

.ks-library-panel-section { background: #fffdf9; }
.ks-library-results-section { background: #fff5ef; }
.ks-library-panel { border-radius: 22px; }

.ks-library-card__media,
.ks-library-card .ks-cover {
    background-color: #f2e3d9;
}

@media (max-width: 1100px) {
    .ks-hero::before,
    .ks-hero::after {
        width: 310px;
        opacity: .28;
    }
    .ks-hero::before { left: -130px; }
    .ks-hero::after { right: -130px; }
    .ks-feature__grid,
    .ks-split-grid,
    .ks-upload-hero {
        grid-template-columns: 1fr;
    }
    .ks-upload-hero::after { width: 65%; opacity: .18; }
}

@media (max-width: 860px) {
    .ks-header__inner {
        grid-template-columns: 1fr auto;
        min-height: 72px;
    }
    .ks-header__actions { gap: 10px; }
    .ks-header-upload { padding: 12px 14px; }
    .ks-hero {
        padding: 64px 0 44px;
    }
    .ks-hero::before,
    .ks-hero::after {
        opacity: .18;
        width: 260px;
    }
    .ks-hero h1 {
        font-size: clamp(40px, 10vw, 58px);
        line-height: 1;
    }
    .ks-hero h1 br { display: none; }
    .ks-pills {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }
    .ks-search-shell {
        grid-template-columns: 24px 1fr 46px;
        min-height: 66px;
        padding-left: 18px;
    }
    .ks-search-shell button {
        width: 44px;
        height: 44px;
        font-size: 25px;
    }
    .ks-search-meta {
        margin-inline: 0;
    }
    .ks-hero-upload.ks-upload-callout {
        grid-template-columns: 52px 1fr;
    }
    .ks-hero-upload .ks-button {
        grid-column: 1 / -1;
        width: 100%;
    }
    .ks-card-grid--five,
    .ks-entry-grid,
    .ks-actor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ks-feature-card {
        grid-template-columns: 1fr;
    }
    .ks-feature-card__cover { min-height: 220px; }
    .ks-upload-hero { padding: 34px 28px; }
    .ks-upload-hero__art { display: none; }
    .ks-footer::after { opacity: .12; }
    .ks-library-hero::after,
    .ks-archive-hero::after,
    .ks-single-hero::after { opacity: .18; }
}

@media (max-width: 560px) {
    .ks-wrap,
    .ks-header__inner {
        width: min(calc(100% - 28px), var(--ks-container));
    }
    .ks-brand__title { font-size: 22px; }
    .ks-brand__tagline { font-size: 11px; }
    .ks-icon-link { display: none; }
    .ks-header-upload span { display: none; }
    .ks-header-upload { width: 42px; height: 42px; padding: 0; justify-content: center; }
    .ks-hero { padding-top: 48px; }
    .ks-hero h1 { font-size: clamp(36px, 12vw, 48px); }
    .ks-pill { min-width: auto; padding: 8px 14px; }
    .ks-search-shell { border-radius: 12px; }
    .ks-search-meta { flex-direction: column; gap: 6px; }
    .ks-hero-upload.ks-upload-callout {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .ks-card-grid--five,
    .ks-entry-grid,
    .ks-actor-grid,
    .ks-footer__grid,
    .ks-info-grid {
        grid-template-columns: 1fr;
    }
    .ks-section { padding: 42px 0; }
    .ks-section-head { align-items: flex-start; gap: 8px; }
    .ks-section-head h2 { font-size: 34px; }
    .ks-cover { height: 156px; }
    .ks-upload-main h2 { font-size: 36px; }
    .ks-benefits li { font-size: 13px; }
}

/* v0.8.18 */
:root {
    --ks-bg: #fffaf6;
    --ks-bg-wash: #fff5f0;
    --ks-surface: #fffefb;
    --ks-navy: #07172a;
    --ks-ink: #091521;
    --ks-rose: #c8797e;
    --ks-rose-soft: #f4d2ce;
    --ks-rose-wash: #fff1ed;
    --ks-sage: #7d876c;
    --ks-sage-soft: #e4e6d2;
    --ks-linen: #f4eadf;
    --ks-border: #ded2c6;
    --ks-muted: #6d625b;
    --ks-soft-text: #8b8076;
    --ks-accent: var(--ks-navy);
    --ks-serif: "Newsreader", Georgia, "Times New Roman", serif;
    --ks-sans: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.ks-site {
    background: var(--ks-bg) !important;
    color: var(--ks-ink);
    font-family: var(--ks-sans);
}

.ks-header {
    background: rgba(7, 23, 42, .985) !important;
    border-bottom: 1px solid rgba(255,250,246,.13) !important;
    box-shadow: none !important;
}

.ks-header__inner {
    min-height: 76px;
}

.ks-brand__title {
    color: #fffaf6 !important;
    font-family: var(--ks-sans) !important;
    font-size: clamp(23px, 1.9vw, 30px) !important;
    font-weight: 760 !important;
    letter-spacing: -.035em !important;
}

.ks-brand__tagline,
.ks-nav a,
.ks-icon-link {
    color: rgba(255,250,246,.82) !important;
}

.ks-nav {
    gap: 28px;
}

.ks-nav a,
.ks-icon-link {
    font-size: 13px;
    font-weight: 720;
}

.ks-nav a:hover,
.ks-icon-link:hover {
    color: #fffaf6 !important;
}

.ks-header-upload {
    background: var(--ks-rose-soft) !important;
    color: var(--ks-navy) !important;
    border: 1px solid rgba(255,250,246,.16);
    border-radius: 10px;
    box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
}

.ks-hero {
    position: relative;
    padding: 88px 0 58px !important;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 5%, rgba(255,255,255,.72), transparent 38%),
        linear-gradient(180deg, #fffaf6 0%, #fffaf6 56%, #fff5f0 100%) !important;
    border-bottom: 1px solid rgba(222,210,198,.72) !important;
}

.ks-hero::before,
.ks-hero::after {
    opacity: .62 !important;
    width: min(31vw, 450px) !important;
    background-size: contain !important;
    mix-blend-mode: multiply;
}

.ks-hero::before { left: -60px !important; }
.ks-hero::after { right: -70px !important; }

.ks-hero__inner {
    max-width: 920px !important;
}

.ks-hero h1 {
    max-width: 880px !important;
    margin-bottom: 24px !important;
    color: var(--ks-navy) !important;
    font-family: var(--ks-serif) !important;
    font-size: clamp(50px, 5.2vw, 76px) !important;
    font-weight: 560 !important;
    line-height: .96 !important;
    letter-spacing: -.04em !important;
}

.ks-hero h1 em {
    color: var(--ks-rose) !important;
    font-style: italic !important;
    font-weight: 520 !important;
}

.ks-pills {
    margin-bottom: 26px !important;
    gap: 12px !important;
}

.ks-pill,
.ks-chip {
    background: rgba(255,254,251,.86) !important;
    border-color: rgba(154,143,132,.48) !important;
    color: var(--ks-navy) !important;
}

.ks-pill {
    padding: 8px 19px !important;
    min-width: 82px !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

.ks-pill.is-active,
.ks-chip.is-active {
    background: var(--ks-navy) !important;
    border-color: var(--ks-navy) !important;
    color: #fffaf6 !important;
}

.ks-pills .ks-search-filter:not(.is-active):hover,
.ks-chip:hover,
.ks-live-search__terms a:hover {
    background: #fff7f3 !important;
    border-color: rgba(200,121,126,.62) !important;
    color: var(--ks-navy) !important;
}

.ks-search-shell {
    max-width: 770px !important;
    min-height: 72px !important;
    margin-inline: auto !important;
    padding: 0 10px 0 28px !important;
    grid-template-columns: 28px 1fr 52px !important;
    gap: 18px !important;
    background: rgba(255,254,251,.94) !important;
    border: 1.4px solid rgba(128,119,108,.78) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 52px rgba(7,23,42,.055) !important;
}

.ks-search-shell input[type='search'] {
    color: var(--ks-ink) !important;
    font-size: clamp(16px, 1.4vw, 19px) !important;
}

.ks-search-shell input::placeholder { color: #786f67 !important; }

.ks-search-shell button {
    width: 48px !important;
    height: 48px !important;
    border-radius: 11px !important;
    background: var(--ks-rose-soft) !important;
    color: var(--ks-navy) !important;
}

.ks-search-shell button:hover { background: var(--ks-rose) !important; }

.ks-search-meta {
    max-width: 712px !important;
    margin: 11px auto 26px !important;
    font-size: 12px !important;
}

.ks-search-meta a { color: #a45f64 !important; }

.ks-hero-upload.ks-upload-callout {
    max-width: 770px !important;
    min-height: 86px !important;
    grid-template-columns: 54px minmax(0, 1fr) auto !important;
    gap: 20px !important;
    padding: 18px 20px !important;
    background: rgba(255,254,251,.90) !important;
    border: 1px solid rgba(222,210,198,.92) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(7,23,42,.045) !important;
}

.ks-hero-upload .ks-upload-callout__icon,
.ks-upload-hero__icon {
    background: var(--ks-navy) !important;
}

.ks-hero-upload .ks-upload-callout__icon {
    width: 52px !important;
    height: 52px !important;
}

.ks-hero-upload strong {
    color: var(--ks-navy) !important;
    font-family: var(--ks-serif) !important;
    font-size: 21px !important;
    font-weight: 560 !important;
    letter-spacing: -.024em !important;
}

.ks-hero-upload p {
    font-size: 14px !important;
}

.ks-button,
.ks-newsletter button,
.ks-button--large {
    background: var(--ks-navy) !important;
    color: #fffaf6 !important;
}

.ks-button--large {
    min-height: 48px !important;
    padding-inline: 24px !important;
    border-radius: 9px !important;
    font-size: 15px !important;
}

.ks-section {
    padding: 58px 0 !important;
}

.ks-section-head {
    margin-bottom: 26px !important;
}

.ks-section-head h2,
.ks-library-results-head h2,
.ks-archive-hero h1,
.ks-single-hero h1,
.ks-library-hero h1,
.ks-upload-main h2 {
    color: var(--ks-navy) !important;
    font-family: var(--ks-serif) !important;
    font-weight: 560 !important;
    letter-spacing: -.034em !important;
}

.ks-section-head h2 {
    font-size: clamp(32px, 3vw, 46px) !important;
    line-height: 1 !important;
}

.ks-section-head a,
.ks-live-search__all,
.ks-news-item em,
.ks-event-item em {
    color: #9f5b60 !important;
}

.ks-topics {
    background: #fffaf6 !important;
    border-top: 1px solid rgba(222,210,198,.58) !important;
    border-bottom: 1px solid rgba(222,210,198,.46) !important;
    padding: 38px 0 34px !important;
}

.ks-chip-cloud {
    gap: 12px 16px !important;
}

.ks-chip {
    padding: 8px 14px !important;
    box-shadow: none !important;
    font-size: 12px !important;
}

.ks-chip:nth-child(3n+1) { border-color: rgba(200,121,126,.50) !important; }
.ks-chip:nth-child(3n+2) { border-color: rgba(125,135,108,.56) !important; }
.ks-chip:nth-child(3n) { border-color: rgba(7,23,42,.22) !important; }
.ks-chip span { color: #a45f64 !important; font-weight: 760 !important; }

.ks-feature,
.ks-actors-events,
.ks-upload-section {
    background: var(--ks-surface) !important;
}

#bibliotek.ks-section,
#ressourcer.ks-section {
    background: #fff6f2 !important;
    border-top: 1px solid rgba(222,210,198,.30) !important;
    border-bottom: 1px solid rgba(222,210,198,.30) !important;
}

.ks-feature__grid,
.ks-split-grid {
    gap: 58px !important;
}

.ks-feature-card,
.ks-resource-card,
.ks-actor-card,
.ks-event-list,
.ks-entry-card,
.ks-news-panel,
.ks-library-panel,
.ks-library-card,
.ks-live-search-results {
    background: rgba(255,254,251,.96) !important;
    border-color: rgba(222,210,198,.88) !important;
    box-shadow: 0 20px 54px rgba(7,23,42,.032) !important;
}

.ks-feature-card {
    min-height: 276px !important;
    border-radius: 15px !important;
}

.ks-feature-card__body {
    padding: 32px 34px !important;
}

.ks-feature-card h3 {
    max-width: 14ch !important;
    color: var(--ks-navy) !important;
    font-size: 30px !important;
    font-weight: 560 !important;
    line-height: 1.04 !important;
}

.ks-label,
.ks-news-item span,
.ks-event-item div > span,
.ks-live-search__type,
.ks-live-search__group > p {
    color: #76695f !important;
    font-size: 10.5px !important;
    font-weight: 820 !important;
    letter-spacing: .13em !important;
}

.ks-dots { display: none !important; }

.ks-news-item {
    min-height: 78px !important;
    padding: 18px 0 !important;
    border-color: rgba(222,210,198,.72) !important;
}

.ks-news-item strong,
.ks-event-item div > strong {
    color: var(--ks-navy) !important;
    font-weight: 740 !important;
}

.ks-card-grid--five {
    gap: 26px !important;
}

.ks-resource-card {
    min-height: 340px !important;
    padding: 14px !important;
    border-radius: 14px !important;
}

.ks-resource-card h3 {
    color: var(--ks-navy) !important;
    font-family: var(--ks-sans) !important;
    font-size: 18px !important;
    font-weight: 760 !important;
    line-height: 1.08 !important;
    letter-spacing: -.018em !important;
}

.ks-cover {
    height: 144px !important;
    border-radius: 10px !important;
    color: var(--ks-navy) !important;
    font-size: 18px !important;
    font-weight: 560 !important;
    background: #f0dfd4 !important;
}

.ks-cover::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    background: url('../img/ckms-abstract-card.svg') center/cover no-repeat !important;
    opacity: .52 !important;
    mix-blend-mode: multiply !important;
}

.ks-cover--green { background: #8d967a !important; color: #fffaf6 !important; }
.ks-cover--paper { background: #f3e7dc !important; }
.ks-cover--blue { background: #dce6ea !important; }
.ks-cover--ceramic { background: #dfc7c2 !important; }
.ks-cover--line { background: #fff2ed !important; color: var(--ks-navy) !important; }
.ks-cover--image::after { display: none !important; }

.ks-mini-tags span,
.ks-actor-card span {
    background: #fffdf9 !important;
    border-color: rgba(222,210,198,.86) !important;
    color: var(--ks-navy) !important;
}

.ks-actor-card {
    min-height: 232px !important;
    border-radius: 14px !important;
}

.ks-logo-dot--dark { background: var(--ks-navy) !important; }
.ks-logo-dot--green { background: var(--ks-sage) !important; }
.ks-logo-dot--sand { background: var(--ks-rose-soft) !important; color: var(--ks-navy) !important; }

.ks-event-list {
    border-radius: 14px !important;
}

.ks-event-item {
    min-height: 104px !important;
    border-color: rgba(222,210,198,.74) !important;
}

.ks-event-item time {
    background: #f3ded9 !important;
    color: var(--ks-navy) !important;
}

.ks-entry-card {
    min-height: 162px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

.ks-entry-card strong {
    color: var(--ks-navy) !important;
    font-family: var(--ks-serif) !important;
    font-weight: 560 !important;
}

.ks-upload-hero {
    position: relative !important;
    overflow: hidden !important;
    grid-template-columns: 76px minmax(0, 1.25fr) minmax(250px, .85fr) 246px !important;
    gap: 34px !important;
    min-height: 246px !important;
    padding: 46px 54px !important;
    border-radius: 20px !important;
    background: linear-gradient(112deg, #f3c9c7 0%, #f7ddd9 48%, #f7eadf 100%) !important;
    border-color: rgba(200,121,126,.34) !important;
    box-shadow: 0 26px 64px rgba(7,23,42,.065) !important;
}

.ks-upload-hero::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 0 auto !important;
    width: 44% !important;
    background: url('../img/ckms-abstract-hero-right.svg') center/contain no-repeat !important;
    opacity: .22 !important;
    pointer-events: none !important;
}

.ks-upload-main,
.ks-benefits,
.ks-upload-hero__icon,
.ks-upload-hero__art { position: relative; z-index: 1; }

.ks-upload-hero__icon {
    width: 78px !important;
    height: 78px !important;
}

.ks-upload-main h2 {
    max-width: 13ch !important;
    margin-bottom: 12px !important;
    font-size: clamp(38px, 3.35vw, 56px) !important;
    line-height: .96 !important;
}

.ks-upload-main p {
    font-size: 15px !important;
}

.ks-upload-main .ks-button {
    min-width: 220px !important;
    margin-top: 24px !important;
}

.ks-benefits li {
    font-size: 14px !important;
}

.ks-upload-hero__art {
    background:
        radial-gradient(circle at 18% 72%, var(--ks-navy) 0 17%, transparent 18%),
        radial-gradient(circle at 72% 22%, rgba(125,135,108,.46) 0 30%, transparent 31%),
        linear-gradient(105deg, transparent 0 44%, rgba(7,23,42,.20) 44.5% 45.5%, transparent 46% 100%),
        rgba(255,250,246,.34) !important;
}

.ks-footer {
    position: relative !important;
    overflow: hidden !important;
    background: var(--ks-navy) !important;
    color: #fffaf6 !important;
    border-top: 0 !important;
}

.ks-footer::after {
    content: "" !important;
    position: absolute !important;
    right: -115px !important;
    bottom: -105px !important;
    width: 520px !important;
    height: 360px !important;
    background: url('../img/ckms-abstract-hero-right.svg') center/contain no-repeat !important;
    opacity: .18 !important;
    pointer-events: none !important;
}

.ks-footer .ks-wrap { position: relative; z-index: 1; }
.ks-footer .ks-brand__title,
.ks-footer h2,
.ks-footer a { color: #fffaf6 !important; }
.ks-footer p,
.ks-footer .ks-brand__tagline,
.ks-footer__bottom,
.ks-footer__bottom a { color: rgba(255,250,246,.72) !important; }
.ks-footer__bottom { border-top-color: rgba(255,250,246,.18) !important; }
.ks-newsletter input { background: rgba(255,250,246,.08) !important; border-color: rgba(255,250,246,.28) !important; color: #fffaf6 !important; }
.ks-newsletter button { background: var(--ks-rose-soft) !important; color: var(--ks-navy) !important; }

@media (max-width: 1100px) {
    .ks-hero::before,
    .ks-hero::after {
        width: 310px !important;
        opacity: .25 !important;
    }
    .ks-hero::before { left: -145px !important; }
    .ks-hero::after { right: -145px !important; }
    .ks-feature__grid,
    .ks-split-grid,
    .ks-upload-hero { grid-template-columns: 1fr !important; }
    .ks-card-grid--five { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 860px) {
    .ks-header__inner { min-height: 70px !important; }
    .ks-nav { display: none !important; }
    .ks-hero { padding: 56px 0 42px !important; }
    .ks-hero::before,
    .ks-hero::after { opacity: .16 !important; }
    .ks-hero h1 { font-size: clamp(39px, 10.2vw, 58px) !important; }
    .ks-hero h1 br { display: none !important; }
    .ks-pills { justify-content: flex-start !important; flex-wrap: nowrap !important; overflow-x: auto !important; }
    .ks-search-shell { min-height: 66px !important; grid-template-columns: 24px 1fr 46px !important; padding-left: 18px !important; }
    .ks-search-shell button { width: 44px !important; height: 44px !important; }
    .ks-hero-upload.ks-upload-callout { grid-template-columns: 52px 1fr !important; }
    .ks-hero-upload .ks-button { grid-column: 1 / -1 !important; width: 100% !important; }
    .ks-card-grid--five,
    .ks-entry-grid,
    .ks-actor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .ks-feature-card { grid-template-columns: 1fr !important; }
    .ks-feature-card__cover { min-height: 220px !important; }
    .ks-upload-hero { padding: 34px 28px !important; }
    .ks-upload-hero::after { opacity: .14 !important; }
    .ks-upload-hero__art { display: none !important; }
}

@media (max-width: 560px) {
    .ks-wrap,
    .ks-header__inner { width: min(calc(100% - 28px), var(--ks-container)) !important; }
    .ks-brand__title { font-size: 22px !important; }
    .ks-brand__tagline { font-size: 11px !important; }
    .ks-icon-link { display: none !important; }
    .ks-header-upload span { display: none !important; }
    .ks-header-upload { width: 42px !important; height: 42px !important; padding: 0 !important; justify-content: center !important; }
    .ks-hero h1 { font-size: clamp(36px, 12vw, 48px) !important; }
    .ks-pill { min-width: auto !important; padding: 8px 14px !important; }
    .ks-search-meta { flex-direction: column !important; gap: 6px !important; }
    .ks-hero-upload.ks-upload-callout { grid-template-columns: 1fr !important; }
    .ks-card-grid--five,
    .ks-entry-grid,
    .ks-actor-grid,
    .ks-footer__grid,
    .ks-info-grid { grid-template-columns: 1fr !important; }
    .ks-section { padding: 42px 0 !important; }
    .ks-section-head { align-items: flex-start !important; gap: 8px !important; }
    .ks-section-head h2 { font-size: 34px !important; }
    .ks-cover { height: 156px !important; }
    .ks-upload-main h2 { font-size: 36px !important; }
}

/* v0.8.19 – uploadformular: layoutfix, labels og responsive oprydning. */
body.page-template-template-upload-projekt .ks-upload-page-form {
    padding-top: clamp(36px, 4vw, 56px) !important;
    padding-bottom: clamp(72px, 7vw, 104px) !important;
}

body.page-template-template-upload-projekt .ks-upload-form-shell {
    width: min(calc(100% - 40px), 1120px) !important;
    margin-inline: auto !important;
}

body.page-template-template-upload-projekt .ks-upload-progress {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
    padding: 20px 22px 18px !important;
    border-radius: 22px !important;
    background: rgba(255, 253, 248, .98) !important;
    box-shadow: 0 20px 56px rgba(7, 23, 42, .045) !important;
}

body.page-template-template-upload-projekt .admin-bar .ks-upload-progress {
    top: auto !important;
}

body.page-template-template-upload-projekt .ks-upload-progress__top {
    margin-bottom: 16px !important;
}

body.page-template-template-upload-projekt .ks-upload-progress ol {
    gap: 10px !important;
}

body.page-template-template-upload-projekt .ks-upload-progress button {
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    letter-spacing: .005em !important;
}

body.page-template-template-upload-projekt .ks-upload-progress__bar {
    margin-top: 14px !important;
}

body.page-template-template-upload-projekt .ks-upload-step {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: clamp(30px, 4vw, 48px) !important;
    padding: clamp(34px, 4vw, 52px) !important;
    border-radius: 28px !important;
    background: #fffdf8 !important;
    overflow: hidden !important;
}

body.page-template-template-upload-projekt .ks-upload-step__head {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 16px !important;
}

body.page-template-template-upload-projekt .ks-upload-step__head > span {
    width: 36px !important;
    height: 36px !important;
    margin-top: 2px !important;
    font-size: 14px !important;
}

body.page-template-template-upload-projekt .ks-upload-step__head h2 {
    max-width: 11ch !important;
    margin: 7px 0 10px !important;
    font-size: clamp(31px, 2.45vw, 38px) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
}

body.page-template-template-upload-projekt .ks-upload-step--documentation .ks-upload-step__head h2,
body.page-template-template-upload-projekt .ks-upload-step--review .ks-upload-step__head h2 {
    max-width: 12.5ch !important;
    font-size: clamp(29px, 2.25vw, 36px) !important;
}

body.page-template-template-upload-projekt .ks-upload-step__head p:not(.ks-upload-step__eyebrow) {
    max-width: 27ch !important;
    color: #6f675e !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

body.page-template-template-upload-projekt .ks-upload-step__body {
    min-width: 0 !important;
    width: 100% !important;
}

body.page-template-template-upload-projekt .ks-upload-grid {
    gap: 18px 20px !important;
}

body.page-template-template-upload-projekt .ks-upload-field {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    gap: 8px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body.page-template-template-upload-projekt .ks-upload-field__label {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    width: max-content !important;
    max-width: 100% !important;
}

body.page-template-template-upload-projekt .ks-upload-field em {
    display: inline !important;
    margin: 0 !important;
    color: #a74439 !important;
    font-style: normal !important;
    line-height: inherit !important;
}

body.page-template-template-upload-projekt .ks-upload-field input,
body.page-template-template-upload-projekt .ks-upload-field select,
body.page-template-template-upload-projekt .ks-upload-field textarea {
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
    border-color: #bfb6aa !important;
    border-radius: 14px !important;
    background: #fffefa !important;
    color: var(--ks-navy, #071727) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

body.page-template-template-upload-projekt .ks-upload-field textarea {
    min-height: 112px !important;
    line-height: 1.45 !important;
}

body.page-template-template-upload-projekt .ks-upload-field textarea[rows="3"] {
    min-height: 96px !important;
}

body.page-template-template-upload-projekt .ks-upload-field small {
    margin-top: -2px !important;
    color: #81786d !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}

body.page-template-template-upload-projekt .ks-upload-taxonomy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body.page-template-template-upload-projekt .ks-upload-taxonomy {
    min-width: 0 !important;
    padding: 20px !important;
    border-color: #ded4c7 !important;
    border-radius: 20px !important;
    background: #fffaf3 !important;
}

body.page-template-template-upload-projekt .ks-upload-taxonomy legend {
    font-size: 16px !important;
    line-height: 1.2 !important;
}

body.page-template-template-upload-projekt .ks-upload-options {
    gap: 8px !important;
}

body.page-template-template-upload-projekt .ks-upload-options span {
    min-height: 29px !important;
    padding: 6px 10px !important;
    border-color: #d7cec1 !important;
    background: #fffdf8 !important;
    font-size: 12.5px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
}

body.page-template-template-upload-projekt .ks-upload-nav {
    grid-column: 2 !important;
    padding-top: 28px !important;
    margin-top: 6px !important;
}

body.page-template-template-upload-projekt .ks-upload-nav .ks-button,
body.page-template-template-upload-projekt .ks-upload-submit .ks-button {
    min-height: 50px !important;
    padding-inline: 22px !important;
    white-space: nowrap !important;
}

body.page-template-template-upload-projekt .ks-upload-consent {
    margin-top: 22px !important;
    align-items: start !important;
}

body.page-template-template-upload-projekt .ks-upload-submit--inside {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 22px !important;
}

body.page-template-template-upload-projekt .ks-upload-review dl > div {
    grid-template-columns: minmax(135px, 180px) minmax(0, 1fr) !important;
}

@media (max-width: 1080px) {
    body.page-template-template-upload-projekt .ks-upload-step {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    body.page-template-template-upload-projekt .ks-upload-step__head h2,
    body.page-template-template-upload-projekt .ks-upload-step--documentation .ks-upload-step__head h2,
    body.page-template-template-upload-projekt .ks-upload-step--review .ks-upload-step__head h2 {
        max-width: 18ch !important;
    }

    body.page-template-template-upload-projekt .ks-upload-step__head p:not(.ks-upload-step__eyebrow) {
        max-width: 58ch !important;
    }

    body.page-template-template-upload-projekt .ks-upload-nav {
        grid-column: 1 !important;
    }
}

@media (max-width: 760px) {
    body.page-template-template-upload-projekt .ks-upload-form-shell {
        width: min(calc(100% - 28px), 1120px) !important;
    }

    body.page-template-template-upload-projekt .ks-upload-progress ol {
        display: flex !important;
        overflow-x: auto !important;
        padding-bottom: 3px !important;
        scroll-snap-type: x mandatory !important;
    }

    body.page-template-template-upload-projekt .ks-upload-progress li {
        min-width: 158px !important;
        scroll-snap-align: start !important;
    }

    body.page-template-template-upload-projekt .ks-upload-step {
        padding: 24px !important;
        border-radius: 22px !important;
    }

    body.page-template-template-upload-projekt .ks-upload-taxonomy-grid,
    body.page-template-template-upload-projekt .ks-upload-grid,
    body.page-template-template-upload-projekt .ks-upload-review dl > div,
    body.page-template-template-upload-projekt .ks-upload-submit--inside {
        grid-template-columns: 1fr !important;
    }

    body.page-template-template-upload-projekt .ks-upload-nav {
        flex-direction: column-reverse !important;
        align-items: stretch !important;
    }

    body.page-template-template-upload-projekt .ks-upload-nav span:empty {
        display: none !important;
    }

    body.page-template-template-upload-projekt .ks-upload-nav .ks-button,
    body.page-template-template-upload-projekt .ks-upload-submit .ks-button {
        width: 100% !important;
        justify-content: center !important;
        white-space: normal !important;
    }
}


/* v0.8.22 – Header/footer logo asset.
   Uses a transparent light logo for the dark header and footer.
   Replaces text brand only; no layout/data/function changes. */
.ks-brand--logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-direction: row !important;
    gap: 0 !important;
    min-width: 0 !important;
    text-decoration: none !important;
}

.ks-brand__logo {
    display: block !important;
    width: clamp(230px, 24vw, 350px) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 62px !important;
    object-fit: contain !important;
}

.ks-header .ks-brand__logo {
    filter: none !important;
}

.ks-footer .ks-brand--logo {
    margin-bottom: 18px !important;
}

.ks-footer .ks-brand__logo,
.ks-brand__logo--footer {
    width: clamp(220px, 21vw, 320px) !important;
    max-height: 58px !important;
}

@media (max-width: 1100px) {
    .ks-brand__logo {
        width: clamp(205px, 38vw, 300px) !important;
        max-height: 54px !important;
    }
}

@media (max-width: 640px) {
    .ks-brand__logo {
        width: min(220px, 60vw) !important;
        max-height: 46px !important;
    }

    .ks-footer .ks-brand__logo,
    .ks-brand__logo--footer {
        width: min(230px, 70vw) !important;
        max-height: 48px !important;
    }
}

/* v0.8.23 – projekt-upload med obligatorisk aktørrelation + redaktørflow. */
.ks-upload-progress ol {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ks-upload-progress button {
    min-height: 46px;
    padding-inline: 8px;
    font-size: 13px;
}

.ks-upload-step--actor .ks-upload-step__body {
    display: grid;
    gap: 20px;
}

.ks-upload-actor-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    border: 0;
}

.ks-upload-actor-choice legend {
    grid-column: 1 / -1;
    margin: 0 0 -2px;
    color: #736c62;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.ks-upload-choice-card {
    position: relative;
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    align-items: start;
    min-height: 96px;
    padding: 18px;
    border: 1px solid #d8d0c3;
    border-radius: 20px;
    background: #fffefb;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ks-upload-choice-card:hover,
.ks-upload-choice-card:focus-within {
    border-color: #a99f91;
    background: #faf6ec;
}

.ks-upload-choice-card.is-selected {
    border-color: var(--ks-accent);
    background: #f4f7ef;
    box-shadow: 0 14px 34px rgba(7, 16, 23, .06);
}

.ks-upload-choice-card input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--ks-accent);
}

.ks-upload-choice-card span {
    display: grid;
    gap: 5px;
}

.ks-upload-choice-card strong {
    color: var(--ks-text);
    font-size: 16px;
    line-height: 1.2;
}

.ks-upload-choice-card em {
    color: var(--ks-muted);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.35;
}

.ks-upload-actor-panel {
    padding: 22px;
    border: 1px solid #ded6ca;
    border-radius: 22px;
    background: #fbf8f1;
}

.ks-upload-form.is-enhanced .ks-upload-actor-panel[hidden] {
    display: none;
}

.ks-upload-note {
    margin: 18px 0 0;
    padding: 14px 16px;
    border: 1px solid #d9d1c4;
    border-radius: 16px;
    background: #fffdf8;
    color: var(--ks-muted);
    font-size: 14px;
    line-height: 1.45;
}

.ks-upload-note strong {
    color: var(--ks-text);
}

.ks-upload-field__label {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    line-height: 1.25;
}

.ks-upload-field__label em {
    transform: translateY(-.02em);
}

.ks-upload-field select:disabled,
.ks-upload-field input:disabled,
.ks-upload-field textarea:disabled {
    opacity: .65;
    cursor: not-allowed;
}

.ks-upload-review [data-review-field="aktoer"] {
    font-weight: 800;
}

@media (max-width: 1100px) {
    .ks-upload-progress ol {
        display: flex;
        overflow-x: auto;
        padding-bottom: 2px;
        scroll-snap-type: x mandatory;
    }

    .ks-upload-progress li {
        min-width: 150px;
        scroll-snap-align: start;
    }
}

@media (max-width: 780px) {
    .ks-upload-actor-choice {
        grid-template-columns: 1fr;
    }

    .ks-upload-actor-panel {
        padding: 18px;
        border-radius: 18px;
    }
}


/* v0.8.24 – upload taxonomy chip state fix
   Keeps selected taxonomy chips readable after click. */
body.page-template-template-upload-projekt .ks-upload-options input:checked + span,
body.page-template-template-upload-projekt .ks-upload-options input:checked:focus-visible + span {
    background: #071827 !important;
    border-color: #071827 !important;
    color: #fffdf8 !important;
    box-shadow: 0 6px 18px rgba(7, 24, 39, .13) !important;
}

body.page-template-template-upload-projekt .ks-upload-options label:hover input:checked + span,
body.page-template-template-upload-projekt .ks-upload-options input:checked + span:hover {
    background: #071827 !important;
    border-color: #071827 !important;
    color: #fffdf8 !important;
}

body.page-template-template-upload-projekt .ks-upload-options input:focus-visible + span {
    outline: 3px solid rgba(7, 24, 39, .18) !important;
    outline-offset: 2px !important;
}

/* v0.8.25 – simple Opslag/Event submissions and actor project context. */
.ks-simple-submit-section {
    padding: 0 0 28px;
    margin-top: -12px;
}

.ks-simple-submit-wrap {
    max-width: 980px;
}

.ks-simple-submit {
    background: rgba(255,253,248,.9);
    border: 1px solid var(--ks-border);
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(11,27,45,.06);
    overflow: hidden;
}

.ks-simple-submit summary {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 22px 26px;
    cursor: pointer;
    list-style: none;
}

.ks-simple-submit summary::-webkit-details-marker { display: none; }

.ks-simple-submit summary > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #071827;
    color: #fffdf8;
    font-size: 24px;
    line-height: 1;
}

.ks-simple-submit summary strong {
    display: block;
    font-family: var(--ks-serif);
    font-size: clamp(24px, 2.6vw, 36px);
    line-height: 1;
    color: #071827;
}

.ks-simple-submit summary em {
    justify-self: end;
    max-width: 280px;
    color: var(--ks-muted);
    font-style: normal;
    font-size: 14px;
    line-height: 1.35;
    text-align: right;
}

.ks-simple-submit[open] summary {
    border-bottom: 1px solid rgba(217,210,198,.85);
}

.ks-simple-submit-form {
    padding: 26px;
}

.ks-simple-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
}

.ks-simple-field {
    display: grid;
    gap: 8px;
}

.ks-simple-field--wide {
    grid-column: 1 / -1;
}

.ks-simple-field__label {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: #071827;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.ks-simple-field__label em {
    color: #b56e75;
    font-style: normal;
}

.ks-simple-field input,
.ks-simple-field select,
.ks-simple-field textarea {
    width: 100%;
    border: 1px solid #cfc6b8;
    border-radius: 14px;
    background: #fffdf8;
    color: #071827;
    font: inherit;
    font-size: 16px;
    line-height: 1.35;
    outline: none;
}

.ks-simple-field input,
.ks-simple-field select {
    min-height: 54px;
    padding: 0 16px;
}

.ks-simple-field textarea {
    min-height: 118px;
    padding: 15px 16px;
    resize: vertical;
}

.ks-simple-field input:focus,
.ks-simple-field select:focus,
.ks-simple-field textarea:focus {
    border-color: #071827;
    box-shadow: 0 0 0 3px rgba(7,24,39,.10);
}

.ks-simple-field small {
    color: var(--ks-muted);
    font-size: 13px;
    line-height: 1.35;
}

.ks-simple-consent {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    margin-top: 22px;
    padding: 16px;
    border-radius: 16px;
    background: rgba(238,233,223,.42);
    color: var(--ks-muted);
    font-size: 14px;
    line-height: 1.45;
}

.ks-simple-consent input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
}

.ks-simple-submit-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid rgba(217,210,198,.85);
}

.ks-simple-submit-actions p {
    margin: 0;
    color: var(--ks-muted);
    font-size: 14px;
}

.ks-simple-submit-message {
    display: grid;
    gap: 4px;
    margin: 0 0 14px;
    padding: 16px 18px;
    border-radius: 16px;
    font-size: 14px;
}

.ks-simple-submit-message--success {
    background: #e8efe7;
    border: 1px solid #c8d7c5;
    color: #172416;
}

.ks-simple-submit-message--error {
    background: #fff0ed;
    border: 1px solid #e7bab2;
    color: #4a1d17;
}

.ks-simple-submit-message ul {
    margin: 6px 0 0 18px;
}

.ks-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.ks-actor-card__derived-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.ks-actor-card__derived-tags span,
.ks-actor-context__tags span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border: 1px solid #d8d1c8;
    border-radius: 999px;
    background: #fffdf8;
    color: #071827;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.ks-actor-context {
    margin-top: 34px;
    padding: 26px;
    border: 1px solid var(--ks-border);
    border-radius: 20px;
    background: rgba(255,253,248,.72);
}

.ks-actor-context h2 {
    margin: 4px 0 16px;
    font-family: var(--ks-serif);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
    letter-spacing: -.04em;
}

.ks-actor-context__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.ks-actor-context__projects {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(217,210,198,.8);
}

.ks-actor-context__projects li {
    padding: 12px 0;
    border-bottom: 1px solid rgba(217,210,198,.8);
}

.ks-actor-context__projects a {
    color: #071827;
    font-weight: 800;
    text-decoration: none !important;
}

@media (max-width: 760px) {
    .ks-simple-submit summary {
        grid-template-columns: 36px 1fr;
        padding: 18px;
    }

    .ks-simple-submit summary > span {
        width: 36px;
        height: 36px;
        font-size: 20px;
    }

    .ks-simple-submit summary em {
        grid-column: 2;
        justify-self: start;
        max-width: none;
        text-align: left;
    }

    .ks-simple-submit-form {
        padding: 18px;
    }

    .ks-simple-grid {
        grid-template-columns: 1fr;
    }

    .ks-simple-submit-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ks-simple-submit-actions .ks-button {
        width: 100%;
        justify-content: center;
    }
}


/* v0.8.27 – Opslagstavle matched to the first visual: calm, low-density, no card illustrations. */
.ks-board-page {
    --board-bg: #fffdf9;
    --board-wash: #fbf8f3;
    --board-ink: #071827;
    --board-muted: #6f6961;
    --board-line: rgba(216, 209, 198, .82);
    --board-line-soft: rgba(216, 209, 198, .54);
    --board-sage: #708465;
    --board-rose: #c66f61;
    --board-blue: #315d8f;
    --board-purple: #6a4a8d;
    background: var(--board-bg);
    color: var(--board-ink);
}

.ks-board-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(68px, 7vw, 96px) 0 0;
    background: linear-gradient(180deg, #fffdf9 0%, #fbf8f3 100%);
    border-bottom: 1px solid var(--board-line);
}

.ks-board-hero::after {
    content: "";
    position: absolute;
    top: 14px;
    right: max(32px, calc((100vw - 1280px) / 2));
    width: min(34vw, 470px);
    height: 260px;
    background: url('../img/ckms-abstract-hero-right.svg') center/contain no-repeat;
    opacity: .30;
    pointer-events: none;
}

.ks-board-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: end;
    padding-bottom: 56px;
}

.ks-board-hero__copy h1 {
    margin: 0 0 18px;
    font-family: var(--ks-serif);
    font-size: clamp(64px, 7.2vw, 98px);
    font-weight: 540;
    line-height: .94;
    letter-spacing: -.055em;
    color: var(--board-ink);
}

.ks-board-hero__copy p {
    max-width: 620px;
    margin: 0;
    color: var(--board-muted);
    font-size: clamp(18px, 1.25vw, 22px);
    line-height: 1.45;
}

.ks-board-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 58px;
    padding: 0 30px;
    border-radius: 999px;
    background: var(--board-ink);
    color: #fffdf9 !important;
    font-size: 17px;
    font-weight: 720;
    text-decoration: none !important;
    box-shadow: 0 18px 38px rgba(7,24,39,.14);
    white-space: nowrap;
}

.ks-board-primary span {
    font-size: 29px;
    font-weight: 320;
    line-height: 0;
    transform: translateY(-1px);
}

.ks-board-tabs {
    position: relative;
    z-index: 1;
    display: flex;
    gap: clamp(26px, 4.4vw, 64px);
    align-items: center;
    min-height: 68px;
    overflow-x: auto;
    padding-bottom: 0;
}

.ks-board-tabs a {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 68px;
    color: var(--board-ink);
    font-size: 15px;
    font-weight: 640;
    text-decoration: none !important;
    white-space: nowrap;
}

.ks-board-tabs a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: transparent;
}

.ks-board-tabs a.is-active::after,
.ks-board-tabs a:hover::after {
    background: var(--board-sage);
}

.ks-board-listing {
    padding: 48px 0 56px;
    background: #fffdf9;
}

.ks-board-toolbar {
    display: grid;
    grid-template-columns: 176px minmax(260px, 352px);
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    margin-bottom: 46px;
}

.ks-board-select select,
.ks-board-search input {
    width: 100%;
    height: 52px;
    border: 1px solid var(--board-line);
    border-radius: 11px;
    background: rgba(255,253,249,.96);
    color: var(--board-ink);
    font: inherit;
    font-size: 15px;
    outline: none;
}

.ks-board-select select {
    padding: 0 16px;
}

.ks-board-search {
    position: relative;
    display: block;
}

.ks-board-search span {
    position: absolute;
    left: 17px;
    top: 50%;
    display: inline-flex;
    width: 19px;
    height: 19px;
    transform: translateY(-50%);
    color: rgba(7,24,39,.48);
    pointer-events: none;
}

.ks-board-search svg,
.ks-board-card__details svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ks-board-search input {
    padding: 0 18px 0 48px;
}

.ks-board-select select:focus,
.ks-board-search input:focus {
    border-color: rgba(7,24,39,.66);
    box-shadow: 0 0 0 4px rgba(7,24,39,.055);
}

.ks-board-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
}

.ks-board-card {
    min-height: 410px;
    border: 1px solid rgba(216,209,198,.78);
    border-radius: 14px;
    background: #fffdf9;
    box-shadow: 0 12px 32px rgba(7,24,39,.025);
    overflow: hidden;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.ks-board-card:hover {
    transform: translateY(-1px);
    border-color: rgba(7,24,39,.18);
    box-shadow: 0 16px 40px rgba(7,24,39,.055);
}

.ks-board-card a {
    display: block;
    min-height: 410px;
    height: 100%;
    color: inherit;
    text-decoration: none !important;
}

.ks-board-card__body {
    display: grid;
    grid-template-rows: auto auto auto 1fr auto;
    min-height: 410px;
    padding: 32px 30px 28px;
}

.ks-board-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 30px;
}

.ks-board-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    max-width: calc(100% - 84px);
    padding: 0 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ks-board-badge--green { background: #e9f0e3; color: #4a663f; }
.ks-board-badge--rose { background: #f8e2dc; color: #a95548; }
.ks-board-badge--purple { background: #efe5f6; color: #6a4a8d; }
.ks-board-badge--blue { background: #e5edf6; color: #315d8f; }
.ks-board-badge--neutral { background: #eee9df; color: #665f55; }

.ks-board-card__meta time {
    color: var(--board-muted);
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
}

.ks-board-card h2 {
    max-width: 92%;
    margin: 0 0 18px;
    color: var(--board-ink);
    font-family: var(--ks-serif);
    font-size: clamp(24px, 1.55vw, 29px);
    font-weight: 540;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.ks-board-card p {
    margin: 0;
    color: var(--board-muted);
    font-size: 16px;
    line-height: 1.55;
}

.ks-board-card__details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: center;
    margin-top: 30px;
    padding-top: 19px;
    border-top: 1px solid var(--board-line-soft);
    color: var(--board-muted);
    font-size: 13px;
}

.ks-board-card__details span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.ks-board-card__foot {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-top: 23px;
}

.ks-board-card .ks-mini-tags {
    margin: 0;
    gap: 7px;
}

.ks-board-card .ks-mini-tags span {
    min-height: 32px;
    padding: 0 13px;
    border-color: rgba(216,209,198,.88);
    background: rgba(255,253,249,.9);
    font-size: 13px;
}

.ks-board-card__arrow {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(216,209,198,.88);
    border-radius: 999px;
    color: var(--board-ink);
    font-size: 24px;
    line-height: 1;
    transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.ks-board-card:hover .ks-board-card__arrow {
    background: var(--board-ink);
    border-color: var(--board-ink);
    color: #fffdf9;
}

.ks-board-pagination {
    display: flex;
    justify-content: center;
    margin-top: 42px;
}

.ks-board-pagination .nav-links {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ks-board-pagination a,
.ks-board-pagination span {
    display: inline-flex;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid var(--board-line);
    border-radius: 999px;
    background: #fffdf9;
    color: var(--board-ink);
    text-decoration: none !important;
}

.ks-board-pagination .current {
    background: var(--board-ink);
    border-color: var(--board-ink);
    color: #fffdf9;
}

.ks-board-empty {
    padding: 56px;
    border: 1px solid var(--board-line);
    border-radius: 18px;
    background: #fffdf9;
    text-align: center;
}

.ks-board-empty h2 {
    margin: 0 0 8px;
    font-family: var(--ks-serif);
    font-size: 36px;
    font-weight: 540;
}

.ks-board-empty p { margin: 0; color: var(--board-muted); }

.ks-board-submit {
    padding: 0 0 78px;
    background: #fffdf9;
}

.ks-board-submit .ks-simple-submit-section,
.ks-board-submit .ks-simple-submit-wrap {
    margin: 0;
    padding: 0;
    max-width: none;
}

.ks-board-submit .ks-simple-submit {
    border-radius: 15px;
    background: rgba(255,253,249,.88);
    box-shadow: 0 14px 40px rgba(7,24,39,.035);
}

.ks-board-submit .ks-simple-submit summary {
    grid-template-columns: 64px minmax(0, 1fr) auto;
    min-height: 132px;
    padding: 28px 46px;
}

.ks-board-submit .ks-simple-submit summary > span {
    width: 64px;
    height: 64px;
    background: #f5f8f2;
    border: 1px solid rgba(216,209,198,.86);
    color: var(--board-sage);
    font-size: 35px;
    font-weight: 330;
}

.ks-board-submit .ks-simple-submit summary strong {
    margin-bottom: 6px;
    font-family: var(--ks-serif);
    font-size: clamp(24px, 1.9vw, 31px);
    font-weight: 540;
    letter-spacing: -.035em;
}

.ks-board-submit .ks-simple-submit summary strong::after {
    content: "Del samarbejdsmuligheder, puljer og åbne kald.";
    display: block;
    max-width: 560px;
    margin-top: 8px;
    color: var(--board-muted);
    font-family: var(--ks-sans);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
}

.ks-board-submit .ks-simple-submit summary em {
    color: var(--board-ink);
    font-size: 16px;
    font-weight: 650;
    border-bottom: 2px solid var(--board-sage);
    padding-bottom: 6px;
}

.ks-board-submit .ks-simple-submit-form {
    border-top: 1px solid rgba(216,209,198,.72);
    padding: 34px 48px 42px;
}

@media (max-width: 1160px) {
    .ks-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .ks-board-hero {
        padding-top: 56px;
    }

    .ks-board-hero::after {
        opacity: .16;
        right: -180px;
        top: 12px;
    }

    .ks-board-hero__inner,
    .ks-board-toolbar {
        grid-template-columns: 1fr;
    }

    .ks-board-hero__inner {
        gap: 32px;
        padding-bottom: 42px;
    }

    .ks-board-primary {
        justify-self: start;
    }

    .ks-board-tabs {
        gap: 28px;
    }

    .ks-board-grid {
        grid-template-columns: 1fr;
    }

    .ks-board-card,
    .ks-board-card a,
    .ks-board-card__body {
        min-height: 0;
    }

    .ks-board-submit .ks-simple-submit summary {
        grid-template-columns: 52px 1fr;
        padding: 24px;
    }

    .ks-board-submit .ks-simple-submit summary > span {
        width: 52px;
        height: 52px;
    }

    .ks-board-submit .ks-simple-submit summary em {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }

    .ks-board-submit .ks-simple-submit-form {
        padding: 24px;
    }
}

@media (max-width: 560px) {
    .ks-board-hero__copy h1 {
        font-size: 54px;
    }

    .ks-board-listing {
        padding-top: 34px;
    }

    .ks-board-toolbar {
        gap: 14px;
        margin-bottom: 30px;
    }

    .ks-board-card__body {
        padding: 26px 24px 24px;
    }

    .ks-board-card__details {
        grid-template-columns: 1fr;
    }

    .ks-board-card__foot {
        align-items: start;
    }
}


/* v0.8.28 – Uddannelse og event archive aligned with the calmer board design. */
.ks-event-archive-page {
    --event-bg: #fffdf9;
    --event-warm: #fbf5ef;
    --event-ink: #071827;
    --event-muted: #6f675f;
    --event-line: #ded6ca;
    --event-line-soft: rgba(222,214,202,.72);
    --event-sage: #7e9274;
    background: var(--event-bg);
    color: var(--event-ink);
}

.ks-event-archive-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(70px, 7vw, 118px) 0 0;
    border-bottom: 1px solid var(--event-line);
    background:
        radial-gradient(circle at 100% 0%, rgba(242,206,202,.36), transparent 34%),
        linear-gradient(180deg, #fffdf9 0%, var(--event-warm) 100%);
}

.ks-event-archive-hero::after {
    content: "";
    position: absolute;
    right: max(22px, calc((100vw - var(--ks-container)) / 2));
    top: 42px;
    width: min(34vw, 470px);
    height: 260px;
    background-image: url('../img/ckms-abstract-hero-right.svg');
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;
    opacity: .22;
    pointer-events: none;
}

.ks-event-archive-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(34px, 6vw, 92px);
    align-items: end;
    padding-bottom: 56px;
}

.ks-event-archive-hero .ks-label {
    margin: 0 0 10px;
    color: #746c63;
    font-size: 12px;
    letter-spacing: .18em;
    font-weight: 850;
}

.ks-event-archive-hero h1 {
    max-width: 980px;
    margin: 0 0 18px;
    color: var(--event-ink);
    font-family: var(--ks-serif);
    font-size: clamp(58px, 6vw, 98px);
    line-height: .9;
    letter-spacing: -.055em;
    font-weight: 600;
}

.ks-event-archive-hero p:not(.ks-label) {
    max-width: 620px;
    margin: 0;
    color: var(--event-muted);
    font-size: clamp(18px, 1.35vw, 22px);
    line-height: 1.45;
}

.ks-event-archive-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0 26px;
    border-radius: 999px;
    background: var(--event-ink);
    color: #fffdf9 !important;
    font-size: 16px;
    font-weight: 760;
    text-decoration: none !important;
    box-shadow: 0 18px 42px rgba(7,24,39,.14);
    white-space: nowrap;
}

.ks-event-archive-primary span {
    font-size: 28px;
    line-height: 0;
    font-weight: 300;
    transform: translateY(-1px);
}

.ks-event-archive-tabs {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: clamp(28px, 4.5vw, 66px);
    min-height: 68px;
    overflow-x: auto;
}

.ks-event-archive-tabs a {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 68px;
    color: var(--event-ink);
    font-size: 15px;
    font-weight: 650;
    white-space: nowrap;
    text-decoration: none !important;
}

.ks-event-archive-tabs a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: transparent;
}

.ks-event-archive-tabs a.is-active::after,
.ks-event-archive-tabs a:hover::after {
    background: var(--event-sage);
}

.ks-event-archive-listing {
    padding: 48px 0 64px;
    background: var(--event-bg);
}

.ks-event-archive-toolbar {
    display: grid;
    grid-template-columns: 180px minmax(260px, 356px);
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    margin-bottom: 38px;
}

.ks-event-archive-select select,
.ks-event-archive-search input {
    width: 100%;
    height: 52px;
    border: 1px solid var(--event-line);
    border-radius: 11px;
    background: rgba(255,253,249,.96);
    color: var(--event-ink);
    font: inherit;
    font-size: 15px;
    outline: none;
}

.ks-event-archive-select select { padding: 0 16px; }

.ks-event-archive-search {
    position: relative;
    display: block;
}

.ks-event-archive-search span {
    position: absolute;
    left: 17px;
    top: 50%;
    display: inline-flex;
    width: 19px;
    height: 19px;
    color: rgba(7,24,39,.48);
    transform: translateY(-50%);
    pointer-events: none;
}

.ks-event-archive-search svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ks-event-archive-search input { padding: 0 18px 0 48px; }

.ks-event-archive-select select:focus,
.ks-event-archive-search input:focus {
    border-color: rgba(7,24,39,.66);
    box-shadow: 0 0 0 4px rgba(7,24,39,.055);
}

.ks-event-archive-list {
    width: min(100%, 1040px);
    border: 1px solid var(--event-line);
    border-radius: 18px;
    background: #fffdf9;
    box-shadow: 0 16px 44px rgba(7,24,39,.03);
    overflow: hidden;
}

.ks-event-archive-card + .ks-event-archive-card {
    border-top: 1px solid var(--event-line-soft);
}

.ks-event-archive-card a {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 40px;
    gap: 26px;
    align-items: center;
    min-height: 126px;
    padding: 24px 30px;
    color: inherit;
    text-decoration: none !important;
    transition: background .16s ease;
}

.ks-event-archive-card a:hover {
    background: #fbf7f0;
}

.ks-event-archive-card__date {
    display: grid;
    place-items: center;
    width: 64px;
    height: 70px;
    border-radius: 10px;
    background: #f8e2dc;
    color: var(--event-ink);
    text-align: center;
}

.ks-event-archive-card__date strong {
    margin-top: 3px;
    font-size: 28px;
    line-height: .9;
    font-weight: 850;
    letter-spacing: -.03em;
}

.ks-event-archive-card__date span {
    margin-top: -7px;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .04em;
}

.ks-event-archive-card__content { min-width: 0; }

.ks-event-archive-card__topline {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-bottom: 6px;
    color: #766e66;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .14em;
    line-height: 1.25;
    text-transform: uppercase;
}

.ks-event-archive-card__topline em {
    color: #766e66;
    font-style: normal;
    font-weight: 760;
    letter-spacing: .08em;
}

.ks-event-archive-card h2 {
    max-width: 760px;
    margin: 0;
    color: var(--event-ink);
    font-family: var(--ks-sans);
    font-size: clamp(18px, 1.35vw, 22px);
    line-height: 1.18;
    font-weight: 850;
    letter-spacing: -.025em;
}

.ks-event-archive-card__provider,
.ks-event-archive-card p {
    margin: 6px 0 0;
    color: var(--event-muted);
    font-size: 14px;
    line-height: 1.45;
}

.ks-event-archive-card__provider {
    font-weight: 660;
}

.ks-event-archive-card__arrow {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    color: #a95548;
    font-size: 27px;
    line-height: 1;
    transition: background .16s ease, color .16s ease;
}

.ks-event-archive-card:hover .ks-event-archive-card__arrow {
    background: var(--event-ink);
    color: #fffdf9;
}

.ks-event-archive-submit {
    padding-top: 0;
}

.ks-event-archive-submit .ks-simple-submit summary strong::after {
    content: none;
    display: none;
}

.ks-event-archive-submit .ks-simple-submit summary em {
    border-bottom-color: var(--event-sage);
}

@media (max-width: 900px) {
    .ks-event-archive-hero::after {
        opacity: .13;
        right: -160px;
    }

    .ks-event-archive-hero__inner,
    .ks-event-archive-toolbar {
        grid-template-columns: 1fr;
    }

    .ks-event-archive-primary {
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .ks-event-archive-hero {
        padding-top: 56px;
    }

    .ks-event-archive-hero h1 {
        max-width: 9ch;
        font-size: 54px;
    }

    .ks-event-archive-tabs {
        gap: 28px;
    }

    .ks-event-archive-card a {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 18px;
        padding: 22px;
    }

    .ks-event-archive-card__date {
        width: 56px;
        height: 62px;
    }

    .ks-event-archive-card__date strong { font-size: 24px; }
    .ks-event-archive-card__date span { font-size: 11px; }

    .ks-event-archive-card__arrow {
        grid-column: 2;
        justify-self: end;
    }
}

/* v0.8.29 – Opslagstavle cards: steadier rhythm, wider cards, no jumping content. */
.ks-board-page .ks-wrap {
    max-width: 1240px;
}

.ks-board-page .ks-board-listing {
    padding-top: 42px;
    padding-bottom: 64px;
}

.ks-board-page .ks-board-toolbar {
    margin-bottom: 38px;
}

.ks-board-page .ks-board-grid {
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    gap: 24px;
    align-items: stretch;
}

.ks-board-page .ks-board-card {
    min-height: 368px;
    height: 100%;
    border-radius: 13px;
    box-shadow: 0 12px 34px rgba(7,24,39,.025);
}

.ks-board-page .ks-board-card a {
    display: flex;
    min-height: 368px;
    height: 100%;
}

.ks-board-page .ks-board-card__body {
    width: 100%;
    min-height: 368px;
    padding: 28px 26px 24px;
    display: grid;
    grid-template-rows: 28px minmax(78px, auto) minmax(70px, auto) 50px 46px;
    row-gap: 0;
}

.ks-board-page .ks-board-card__meta {
    margin-bottom: 0;
    gap: 12px;
    align-self: start;
}

.ks-board-page .ks-board-badge {
    min-height: 24px;
    max-width: 158px;
    padding: 0 11px;
    font-size: 10.5px;
    line-height: 1;
    letter-spacing: .06em;
}

.ks-board-page .ks-board-card__meta time {
    flex: 0 0 auto;
    font-size: 12px;
    line-height: 1;
}

.ks-board-page .ks-board-card h2 {
    max-width: 100%;
    margin: 16px 0 0;
    align-self: start;
    font-size: clamp(22px, 1.38vw, 25px);
    line-height: 1.08;
    letter-spacing: -.032em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ks-board-page .ks-board-card p {
    margin-top: 14px;
    align-self: start;
    font-size: 14.5px;
    line-height: 1.52;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ks-board-page .ks-board-card__details {
    margin-top: 14px;
    padding-top: 14px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-self: end;
    font-size: 12px;
    line-height: 1.25;
}

.ks-board-page .ks-board-card__details span {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ks-board-page .ks-board-card__details svg {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
}

.ks-board-page .ks-board-card__foot {
    margin-top: 16px;
    align-items: center;
    min-height: 40px;
}

.ks-board-page .ks-board-card .ks-mini-tags {
    display: flex;
    flex-wrap: wrap;
    max-height: 34px;
    overflow: hidden;
    gap: 6px;
}

.ks-board-page .ks-board-card .ks-mini-tags span {
    min-height: 27px;
    padding: 0 10px;
    font-size: 11.5px;
    line-height: 1;
}

.ks-board-page .ks-board-card__arrow {
    width: 40px;
    height: 40px;
    font-size: 21px;
}

@media (max-width: 1260px) {
    .ks-board-page .ks-board-grid {
        grid-template-columns: repeat(2, minmax(280px, 1fr));
    }
}

@media (max-width: 820px) {
    .ks-board-page .ks-board-grid {
        grid-template-columns: 1fr;
    }

    .ks-board-page .ks-board-card,
    .ks-board-page .ks-board-card a,
    .ks-board-page .ks-board-card__body {
        min-height: 0;
    }

    .ks-board-page .ks-board-card__body {
        grid-template-rows: auto;
        padding: 26px 24px 24px;
    }

    .ks-board-page .ks-board-card__details {
        grid-template-columns: 1fr;
    }
}


/* v0.8.30 – Opslagstavle: fixed card rhythm and Danish-ready metadata. */
.ks-board-grid {
    grid-template-columns: repeat(4, minmax(255px, 1fr));
    align-items: stretch;
}

.ks-board-card {
    min-height: 382px;
}

.ks-board-card a {
    min-height: 382px;
}

.ks-board-card__body {
    min-height: 382px;
    display: flex;
    flex-direction: column;
    padding: 30px 30px 26px;
}

.ks-board-card__meta {
    flex: 0 0 30px;
    align-items: center;
    margin-bottom: 26px;
}

.ks-board-card__meta time {
    font-size: 13px;
    line-height: 1;
    color: rgba(111, 105, 97, .92);
    white-space: nowrap;
}

.ks-board-badge {
    min-height: 28px;
    max-width: 178px;
    padding-inline: 16px;
    font-size: 12px;
    line-height: 1;
}

.ks-board-card h2 {
    min-height: 78px;
    max-width: 100%;
    margin-bottom: 20px;
    font-size: clamp(24px, 1.42vw, 28px);
    line-height: 1.08;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ks-board-card p {
    min-height: 76px;
    font-size: 15.5px;
    line-height: 1.58;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ks-board-card__details {
    flex: 0 0 55px;
    width: 100%;
    margin-top: 24px;
    padding-top: 17px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    column-gap: 14px;
    row-gap: 8px;
    font-size: 12.5px;
    line-height: 1.22;
}

.ks-board-card__details span {
    min-width: 0;
    align-items: flex-start;
}

.ks-board-card__details svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-top: 1px;
}

.ks-board-card__foot {
    flex: 0 0 50px;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: end;
    column-gap: 14px;
    margin-top: auto;
}

.ks-board-card .ks-mini-tags {
    min-height: 38px;
    display: flex;
    align-items: end;
    align-content: end;
    flex-wrap: wrap;
    gap: 7px;
    overflow: hidden;
}

.ks-board-card .ks-mini-tags span {
    min-height: 30px;
    padding: 0 12px;
    font-size: 12.5px;
    line-height: 1;
    white-space: nowrap;
}

.ks-board-card__arrow {
    align-self: end;
    justify-self: end;
    width: 42px;
    height: 42px;
    font-size: 23px;
}

@media (max-width: 1220px) {
    .ks-board-grid {
        grid-template-columns: repeat(2, minmax(270px, 1fr));
    }
}

@media (max-width: 720px) {
    .ks-board-grid {
        grid-template-columns: 1fr;
    }

    .ks-board-card,
    .ks-board-card a,
    .ks-board-card__body {
        min-height: 0;
    }

    .ks-board-card h2,
    .ks-board-card p {
        min-height: 0;
    }

    .ks-board-card__details {
        flex-basis: auto;
        grid-template-columns: 1fr;
    }

    .ks-board-card__foot {
        flex-basis: auto;
    }
}


/* v0.8.31 – Opslagstavle: repaired tag area.
   Tags must never be clipped. Card internals use fixed zones so labels, text,
   metadata, tags and arrow align calmly across the row. */
.ks-board-card {
    min-height: 432px;
}

.ks-board-card a,
.ks-board-card__body {
    min-height: 432px;
}

.ks-board-card__body {
    display: grid;
    grid-template-rows: 30px 100px 86px 62px 74px;
    row-gap: 0;
    padding: 30px 30px 26px;
}

.ks-board-card__meta {
    grid-row: 1;
    margin: 0;
    min-height: 30px;
}

.ks-board-card h2 {
    grid-row: 2;
    min-height: 0;
    margin: 26px 0 0;
    font-size: clamp(23px, 1.32vw, 27px);
    line-height: 1.08;
}

.ks-board-card p {
    grid-row: 3;
    min-height: 0;
    margin: 0;
    font-size: 15.25px;
    line-height: 1.56;
}

.ks-board-card__details {
    grid-row: 4;
    min-height: 0;
    margin: 0;
    padding-top: 17px;
    align-self: start;
}

.ks-board-card__foot {
    grid-row: 5;
    min-height: 0;
    margin: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    column-gap: 14px;
    align-items: end;
}

.ks-board-card .ks-mini-tags {
    min-height: 0;
    max-height: none;
    overflow: visible;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    align-content: flex-end;
    gap: 7px;
    margin: 0;
    padding: 0;
}

.ks-board-card .ks-mini-tags span {
    min-height: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0 12px;
    font-size: 12.5px;
    line-height: 1;
    white-space: nowrap;
}

.ks-board-card__arrow {
    align-self: end;
    justify-self: end;
    width: 42px;
    height: 42px;
}

@media (max-width: 720px) {
    .ks-board-card,
    .ks-board-card a,
    .ks-board-card__body {
        min-height: 0;
    }

    .ks-board-card__body {
        display: flex;
        flex-direction: column;
    }

    .ks-board-card h2,
    .ks-board-card p {
        margin-top: 18px;
    }

    .ks-board-card__details {
        margin-top: 22px;
    }

    .ks-board-card__foot {
        margin-top: 22px;
    }
}
