.kft {
    position: relative;
    isolation: isolate;
    overflow: clip;
    color: #142b40;
    background-color: #f8f5ed;
    border-bottom: 1px solid #e7e2d7;
}
.kft-scene {
    position: absolute;
    inset: 0 0 0 auto;
    z-index: -2;
    width: 62%;
    height: 100%;
    object-fit: cover;
    object-position: 60% 54%;
}
.kft::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, #f8f5ed 33%, #f8f5ed 40%, rgb(248 245 237 / .96) 46%, rgb(248 245 237 / .62) 55%, rgb(248 245 237 / .05) 69%, transparent 82%);
}
.kft-layout {
    box-sizing: border-box;
    min-height: clamp(360px,27.65vw,424px);
    display: flex;
    align-items: center;
    padding-block: clamp(32px,2.6vw,43px);
}
.kft-panel {
    position: relative;
    box-sizing: border-box;
    width: min(100%, 645px);
    min-width: 0;
    padding-left: clamp(42px,4.8vw,74px);
}
.kft-opening {
    position: absolute;
    inset: -.55em auto auto 0;
    color: #9caeba;
    font: 400 clamp(70px,6.6vw,102px)/1 Georgia,serif;
    user-select: none;
}
.kft-review { margin: 0; min-width: 0; }
.kft-review + .kft-review { padding-top: 22px; margin-top: 22px; border-top: 1px solid #c5c8bd; }
.kft-review blockquote {
    box-sizing: border-box;
    margin: 0;
    max-width: min(100%, 485px);
    padding: 0;
    border: 0;
    color: #13283b;
    font: 400 clamp(28px,2.75vw,42px)/1.14 Georgia,"Times New Roman",serif;
    letter-spacing: -.035em;
    text-wrap: pretty;
    overflow-wrap: anywhere;
}
.kft-review figcaption, .kft-dialog-byline {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #3c5362;
}
.kft-review figcaption { max-width: 485px; margin-top: 16px; padding-top: 12px; position: relative; }
.kft-review figcaption::before {
    content: ""; position: absolute; inset: 0 auto auto 0;
    width: 42px; height: 2px; background: #bd924e;
}
:is(.kft-review figcaption, .kft-dialog-byline) img {
    width: 35px; height: 35px; flex: none; object-fit: contain; background: #fff;
    border-radius: 2px;
}
:is(.kft-review figcaption, .kft-dialog-byline) strong {
    display: block; color: #142c41;
    font: 725 15px/1.28 Inter,Manrope,sans-serif;
}
:is(.kft-review figcaption, .kft-dialog-byline) span {
    display: block; margin-top: 2px;
    font: 530 12px/1.4 Manrope,Arial,sans-serif;
}
.kft-full { margin-top: 7px; }
.kft-full summary {
    display: inline-flex; align-items: center; gap: 13px; min-height: 40px;
    padding: 0; border-bottom: 1px solid #7a8585;
    cursor: pointer; list-style: none; color: #193247;
    font: 700 13px/1.3 Manrope,Arial,sans-serif;
}
.kft-full summary::-webkit-details-marker { display: none; }
.kft-full summary span { font: 420 20px/1 Manrope,Arial,sans-serif; }
.kft-full summary:hover, .kft-full summary:focus-visible { color: #6d4810; border-color: currentColor; }
.kft-full-text { max-width: 55ch; margin: 12px 0; line-height: 1.6; }
.kft-bottom {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px 14px; margin-top: 13px;
}
.kft-bottom h2 { margin: 0; max-width: 29ch; color: #445760; font: 560 12px/1.4 Manrope,Arial,sans-serif; letter-spacing: 0; }
.kft-controls { display: flex; align-items: center; gap: 6px; flex: none; }
.kft-controls[hidden], .kft-dialog:not([open]) { display: none; }
.kft-controls button, .kft-dialog-top button {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
    flex: none; width: 41px; height: 41px; padding: 0;
    border: 1px solid #9eaaa9; border-radius: 50%; background: rgb(248 245 237 / .83);
    cursor: pointer; color: #183448;
}
.kft-controls .kft-play { border-color: transparent; background: transparent; }
.kft-controls button:hover, .kft-dialog-top button:hover { border-color: #827047; background: #f0e7d1; }
.kft-controls button:focus-visible, .kft-full summary:focus-visible, .kft-dialog-top button:focus-visible { outline: 2px solid #73530f; outline-offset: 3px; }
.kft-counter { padding-inline: 3px; white-space: nowrap; font: 640 13px/1.2 Manrope,Arial,sans-serif; font-variant-numeric: tabular-nums; }
.kft-counter b { font-weight: 730; }
.kft-play-icon, .kft-play[data-paused] .kft-pause-icon { display:none; }
.kft-play[data-paused] .kft-play-icon { display:block; }
.kft-controls [data-kft-status] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* All passages determine the size of the same three rows, including inactive slides. */
.kft-ready .kft-stack { display: grid; }
.kft-ready .kft-review {
    grid-column: 1; grid-row: 1 / span 3;
    display: grid; grid-template-rows: subgrid;
    margin: 0; padding: 0; border: 0; width: 100%;
}
.kft-ready .kft-review blockquote { align-self: center; }
.kft-ready .kft-review[aria-hidden="true"] { visibility: hidden; opacity: 0; pointer-events: none; }

.kft-dialog {
    box-sizing: border-box;
    position: fixed; inset: 0; margin: auto;
    width: min(90vw, 550px); max-height: 84vh; max-height: 84dvh;
    border: 0; border-top: 3px solid #c3a267; border-radius: 3px;
    padding: 0 clamp(21px,3vw,39px) 25px; overflow-y: auto; overscroll-behavior: contain;
    background: #fcfaf5; color: #173145; box-shadow: 0 18px 70px rgb(8 20 28 / .3);
}
.kft-dialog::backdrop { background: rgb(10 25 37 / .68); }
:root:has(.kft-dialog[open]) { overflow: hidden; scrollbar-gutter: stable; }
.kft-dialog-top {
    position: sticky; top: 0; z-index: 1; background: #fcfaf5;
    display: flex; justify-content: space-between; align-items: center; gap: 15px;
    padding-block: 15px 11px;
}
.kft-dialog-top h2 { margin: 0; font: 670 14px/1.3 Manrope,Arial,sans-serif; letter-spacing: .01em; }
.kft-dialog-top form { display: inline-flex; margin: 0; }
.kft-dialog-top button { font: 400 25px/1 Manrope,Arial,sans-serif; }
.kft-dialog-text { margin: 8px 0 19px; padding: 0; border: 0; font: 400 clamp(18px,1.38vw,22px)/1.48 Georgia,serif; overflow-wrap: anywhere; }
.kft-dialog-byline { padding-top: 16px; border-top: 1px solid #dbd7ca; }
@media(max-width:1050px) and (min-width:701px) {
    .kft-panel { width: 60%; }
    .kft::before { background: linear-gradient(90deg,#f8f5ed 35%,rgb(248 245 237 / .97) 47%,rgb(248 245 237 / .84) 56%,rgb(248 245 237 / .1) 78%); }
}
@media(max-width:700px) {
    .kft-scene { width: 100%; object-position: 63% center; }
    .kft::before { background: linear-gradient(90deg,rgb(248 245 237 / .99),rgb(248 245 237 / .97) 70%,rgb(248 245 237 / .87)); }
    .kft-layout { min-height: 0; padding-block: 32px; }
    .kft-panel { width: 100%; padding-left: 34px; }
    .kft-opening { top: -.46em; font-size: 57px; }
    .kft-review blockquote { font-size: clamp(25px,6.75vw,32px); }
    .kft-review figcaption { margin-top: 13px; }
    .kft-bottom { flex-wrap: wrap; margin-top: 11px; }
    .kft-bottom h2 { max-width: none; }
    .kft-controls { margin-left: auto; }
    .kft-controls button, .kft-dialog-top button { width:44px; height:44px; }
}
@media (prefers-reduced-motion:no-preference) {
    .kft-ready .kft-review { transition: opacity .2s ease; }
}
