.kf-photo-header {
    display: flex; justify-content: space-between; align-items: end; gap: 22px 36px;
    padding-block: clamp(18px, 3vw, 40px) clamp(26px, 3.5vw, 48px);
}
.kf-photo-header h1 {
    margin: 0; color: #102940;
    font: 760 clamp(46px, 6vw, 94px)/.98 Inter, Manrope, sans-serif; letter-spacing: -.065em;
}
.kf-photo-crosslink, .kf-album-heading > a, .kf-photo-albums a {
    display: inline-flex; align-items: center; justify-content: center; gap: .65em;
    min-height: 44px; color: #153f5e; font-size: 14px; font-weight: 720;
}
.kf-photo-crosslink {
    padding: 9px 16px; border: 1px solid #b2bec1; border-radius: 3px;
}
.kf-photo-crosslink:hover, .kf-photo-crosslink:focus-visible { background: #fbf7ef; border-color: #97773d; }
.kf-photo-albums { display: flex; flex-wrap: wrap; column-gap: 22px; padding-bottom: 18px; }
.kf-photo-album { padding-bottom: clamp(32px, 4vw, 64px); }
.kf-album-heading {
    display: flex; align-items: center; justify-content: space-between; gap: 10px 22px;
    padding: 15px 0; border-top: 1px solid #c8ccca;
}
.kf-album-heading h2 {
    margin: 0; color: #183047;
    font: 690 clamp(24px, 2.45vw, 40px)/1.15 Inter, Manrope, sans-serif; letter-spacing: -.045em;
}
.kf-album-heading > a { white-space: nowrap; }
.kf-album-heading > a:hover, .kf-photo-albums a:hover { text-decoration: underline; text-underline-offset: .2em; }
.kf-album-content { color: #294457; }
.kf-album-content .wp-block-gallery.has-nested-images {
    width: 100%; margin: 0 0 22px; display: block;
    columns: 3; column-gap: clamp(10px, 1.3vw, 24px);
}
.kf-album-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100%; display: inline-block; vertical-align: top; break-inside: avoid;
    margin: 0 0 clamp(10px, 1.3vw, 24px); overflow: visible;
}
.kf-album-content .wp-block-gallery.has-nested-images figure.wp-block-image a { display: block; height: auto; }
.kf-album-content .wp-block-gallery.has-nested-images figure.wp-block-image img {
    display: block; height: auto; width: 100%; border-radius: 2px;
}
.kf-album-content .wp-block-gallery figure.wp-block-image a:focus-visible { outline-offset: 2px; }
@media(max-width:810px) {
    .kf-album-content .wp-block-gallery.has-nested-images { columns: 2; }
}
@media(max-width:540px) {
    .kf-photo-header { flex-wrap: wrap; gap: 16px; }
    .kf-album-heading { align-items: start; flex-direction: column; gap: 2px; }
    .kf-album-heading > a { justify-content: flex-start; }
}
.kf-photo-welcome { position: relative; isolation: isolate; margin-block-end: clamp(17px, 2vw, 32px); }
.kf-photo-welcome::before {
    content: ""; position: absolute; inset: -42px 0 0; z-index: -1;
    background: #f8f5ed; box-shadow: 0 0 0 100vmax #f8f5ed; clip-path: inset(0 -100vmax);
}
.kf-photo-header .reading { max-width: 58ch; margin: 16px 0 0; color: #415769; font-size: clamp(16px, 1.35vw, 21px); line-height: 1.55; }
.kf-photo-header .reading p { margin: 0 0 .6em; }
.kf-photo-header .reading p:last-child { margin-bottom: 0; }
