.ktp-works{--ktp-card-bg:var(--blk-bg-soft);--ktp-card-ink:var(--blk-fg);color:var(--blk-fg);font-family:var(--blk-font-body);width:min(100%,var(--blk-measure));margin-inline:auto;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,4vw,3rem)}.ktp-works-head{margin-bottom:clamp(1.25rem,3vw,2.25rem)}.ktp-works-title{font-family:var(--blk-font-title);margin:0;font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:400;line-height:1.1}.ktp-works-intro{max-width:56ch;color:var(--blk-muted);margin:.5rem 0 0;line-height:1.55}.ktp-works-note{border:1px dashed var(--blk-line);border-radius:var(--blk-radius-sm);color:var(--blk-muted);margin:0 0 1rem;padding:.5rem .75rem;font-size:.85rem}.ktp-works-empty{text-align:center;color:var(--blk-muted);border:1px dashed var(--blk-line);border-radius:var(--ktp-radius);font-family:var(--blk-font-title);margin:0;padding:3rem 1rem;font-size:1.2rem;font-style:italic}.ktp-grid{grid-template-columns:repeat(auto-fill,minmax(min(var(--ktp-col),100%),1fr));gap:var(--ktp-gap);margin:0;padding:0;list-style:none;display:grid}.ktp-card{min-width:0}.ktp-card-link{width:100%;color:var(--ktp-card-ink);border-radius:var(--ktp-radius);flex-direction:column;text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;display:flex}.ktp-card-link:focus-visible{outline:2px solid var(--blk-accent);outline-offset:5px;border-radius:var(--ktp-radius)}.ktp-card-pic{isolation:isolate;background:radial-gradient(120% 90% at 50% 20%,color-mix(in srgb,var(--ktp-card-bg)92%,white),var(--ktp-card-bg)70%);aspect-ratio:var(--ktp-aspect,auto);border-radius:var(--ktp-radius);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blk-line)70%,transparent),inset 0 -18px 28px -24px color-mix(in srgb,var(--blk-fg)35%,transparent);display:block;position:relative;overflow:hidden}.ktp-works[data-shape=square] .ktp-card-pic,.ktp-works[data-shape=square] .ktp-card-link{border-radius:0}.ktp-works[data-shape=arch] .ktp-card-pic{border-radius:999px 999px var(--ktp-radius)var(--ktp-radius);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blk-line)70%,transparent),inset 0 26px 36px -30px color-mix(in srgb,var(--blk-fg)55%,transparent),inset 0 -18px 28px -24px color-mix(in srgb,var(--blk-fg)35%,transparent)}.ktp-works[data-shape=arch] .ktp-card-link{border-radius:999px 999px var(--ktp-radius)var(--ktp-radius)}.ktp-card-pic img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block}.ktp-works[data-aspect=auto] .ktp-card-pic img{height:auto}.ktp-works[data-fit=contain] .ktp-card-pic img{object-fit:contain;padding:7% 7% 10%}.ktp-card-plinth{background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--blk-fg)22%,transparent),transparent 70%);pointer-events:none;mix-blend-mode:multiply;border-radius:50%;height:6%;position:absolute;bottom:7%;left:18%;right:18%}.ktp-works[data-fit=cover] .ktp-card-plinth{opacity:.6}.ktp-card-badge{background:var(--blk-band);color:var(--blk-band-fg);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.28rem .65rem;font-size:.7rem;font-weight:600;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px -3px #0006}.ktp-works[data-shape=arch] .ktp-card-badge{top:auto;bottom:10px}.ktp-card[data-status=reserved] .ktp-card-badge{background:var(--blk-accent);color:var(--blk-on-accent)}.ktp-card[data-status=sold] .ktp-card-pic img{filter:saturate(.55);opacity:.8}.ktp-card-cap{gap:.2rem;padding:.85rem .2rem .3rem;display:grid}.ktp-card-title{font-family:var(--blk-font-title);font-size:var(--ktp-title-size);text-wrap:balance;line-height:1.2}.ktp-card-meta{font-size:var(--ktp-meta-size);letter-spacing:.06em;color:var(--blk-muted);font-variant-caps:all-small-caps}.ktp-card-price{font-size:var(--ktp-meta-size);font-variant-numeric:tabular-nums;color:var(--blk-accent-ink);margin-top:.25rem;font-weight:600}.ktp-card[data-status=sold] .ktp-card-price{color:var(--blk-muted);font-weight:500}.ktp-works[data-caption=overlay] .ktp-card-link{position:relative}.ktp-works[data-caption=overlay] .ktp-card-cap{color:var(--blk-band-fg);background:linear-gradient(to top,color-mix(in srgb,var(--blk-band)85%,transparent),transparent);border-radius:0 0 var(--ktp-radius)var(--ktp-radius);opacity:0;padding:2.5rem 1rem 1rem;transition:opacity .22s,transform .22s;position:absolute;inset:auto 0 0;transform:translateY(6px)}.ktp-works[data-caption=overlay] .ktp-card-cap .ktp-card-meta,.ktp-works[data-caption=overlay] .ktp-card-cap .ktp-card-price{color:var(--blk-band-fg);opacity:.9}.ktp-works[data-caption=overlay] .ktp-card-link:hover .ktp-card-cap,.ktp-works[data-caption=overlay] .ktp-card-link:focus-visible .ktp-card-cap{opacity:1;transform:none}@media (hover:none){.ktp-works[data-caption=overlay] .ktp-card-cap{opacity:1;transform:none}}.ktp-works[data-hover=lift] .ktp-card-link:hover{box-shadow:0 22px 36px -22px color-mix(in srgb,var(--blk-fg)55%,transparent),0 8px 14px -12px color-mix(in srgb,var(--blk-accent)40%,transparent);transform:translateY(-5px)}.ktp-works[data-hover=lift] .ktp-card-link:hover .ktp-card-pic img,.ktp-works[data-hover=glow] .ktp-card-link:hover .ktp-card-pic img{transform:scale(1.035)}.ktp-works[data-hover=glow] .ktp-card-link:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--blk-accent)55%,transparent),0 16px 40px -14px color-mix(in srgb,var(--blk-accent)75%,transparent);transform:translateY(-2px)}.ktp-works[data-hover=glow] .ktp-card-pic:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff73 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.ktp-works[data-hover=glow] .ktp-card-link:hover .ktp-card-pic:after{transition:transform .7s;transform:translate(120%)}@media (prefers-reduced-motion:reduce){.ktp-card-link,.ktp-card-pic img,.ktp-card-pic:after,.ktp-card-cap{transition:none!important;transform:none!important}}.ktp-gallery{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.ktp-gallery-stage{isolation:isolate;background:radial-gradient(120% 90% at 50% 20%,color-mix(in srgb,var(--ktp-card-bg,var(--blk-bg-soft))92%,white),var(--ktp-card-bg,var(--blk-bg-soft))70%);min-height:320px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blk-line)70%,transparent);place-items:center;display:grid;position:relative;overflow:hidden}.ktp-gallery[data-large] .ktp-gallery-stage{aspect-ratio:4/5;min-height:0}.ktp-gallery-img{object-fit:contain;width:100%;height:100%;max-height:calc(100vh - 32px);display:block}.ktp-gallery-plinth{background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--blk-fg)18%,transparent),transparent 70%);mix-blend-mode:multiply;pointer-events:none;border-radius:50%;height:5%;position:absolute;bottom:6%;left:18%;right:18%}@keyframes ktp-fade{0%{opacity:0}}.ktp-gallery-thumbs{gap:8px;margin:0;padding:10px 0 0;list-style:none;display:flex;overflow-x:auto}.ktp-pop .ktp-gallery-thumbs{padding:8px}.ktp-gallery-thumb{border-radius:var(--blk-radius-sm);background:var(--ktp-card-bg,var(--blk-bg-soft));cursor:pointer;border:2px solid #0000;width:60px;height:60px;padding:0;transition:border-color .15s;overflow:hidden}.ktp-gallery-thumb:hover{border-color:color-mix(in srgb,var(--blk-accent)50%,transparent)}.ktp-gallery-thumb[aria-pressed=true]{border-color:var(--blk-accent)}.ktp-gallery-thumb:focus-visible{outline:2px solid var(--blk-accent);outline-offset:2px}.ktp-gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ktp-facts{border-top:1px solid var(--blk-line);border-bottom:1px solid var(--blk-line);grid-template-columns:auto 1fr;gap:.35rem 1.25rem;margin:0;padding:.85rem 0;font-size:.92rem;display:grid}.ktp-facts>div{display:contents}.ktp-facts dt{letter-spacing:.08em;color:var(--blk-muted);font-variant-caps:all-small-caps}.ktp-facts dd{font-variant-numeric:tabular-nums;margin:0}.ktp-desc{line-height:1.65}.ktp-desc p{margin:0 0 .75rem}.ktp-desc p:last-child{margin-bottom:0}.ktp-desc a{color:var(--blk-accent-ink)}.ktp-buy{background:var(--blk-accent);color:var(--blk-on-accent);border-radius:999px;align-items:center;padding:.8rem 1.5rem;font-weight:600;text-decoration:none;transition:filter .15s,transform .15s;display:inline-flex}.ktp-buy:hover{filter:brightness(.92);transform:translateY(-1px)}.ktp-buy:focus-visible{outline:2px solid var(--blk-accent);outline-offset:3px}[data-status=sold] .ktp-buy{color:var(--blk-accent-ink);background:0 0;border:1.5px solid}.ktp-dialog{background:var(--ktp-pop-backdrop);width:100vw;max-width:none;height:100vh;max-height:none;color:var(--blk-fg);font-family:var(--blk-font-body);border:0;margin:0;padding:16px;position:fixed;inset:0;overflow:auto}.ktp-dialog:not([open]){display:none}.ktp-dialog[open]{place-items:center;display:grid}.ktp-dialog::backdrop{background:0 0}.ktp-pop{background:var(--blk-bg);border-radius:var(--ktp-pop-radius);width:min(100%,880px);max-height:calc(100vh - 32px);transform-origin:var(--ktp-origin,50% 50%);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);animation:.3s cubic-bezier(.2,.8,.2,1) ktp-pop-in;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #00000080}.ktp-works[data-pop-width=narrow] .ktp-pop{width:min(100%,680px)}.ktp-works[data-pop-width=wide] .ktp-pop{width:min(100%,1120px)}.ktp-works[data-pop-side=right] .ktp-pop-media{order:2}@keyframes ktp-pop-in{0%{opacity:0;transform:scale(.82)}}@media (max-width:760px){.ktp-dialog[open]{place-items:start stretch;padding:0}.ktp-pop{background:var(--blk-bg);border-radius:0;grid-template-columns:1fr;width:100%;min-height:100vh;max-height:none;animation:.25s ease-out ktp-sheet-in;overflow:visible}@keyframes ktp-sheet-in{0%{transform:translateY(24px)}}.ktp-works[data-pop-side=right] .ktp-pop-media{order:0}}@media (prefers-reduced-motion:reduce){.ktp-pop,.ktp-gallery-img{animation:none}}.ktp-pop-close{z-index:2;background:color-mix(in srgb,var(--blk-bg)85%,transparent);width:38px;height:38px;color:var(--blk-fg);cursor:pointer;border:0;border-radius:999px;font-size:1.5rem;line-height:1;position:absolute;top:10px;right:10px;box-shadow:0 2px 10px -4px #0006}.ktp-pop-close:hover{background:var(--blk-bg-soft)}.ktp-pop-close:focus-visible{outline:2px solid var(--blk-accent);outline-offset:2px}.ktp-pop-media{background:var(--ktp-card-bg,var(--blk-bg-soft));min-height:320px;display:grid}.ktp-pop-media .ktp-gallery-stage{box-shadow:none}.ktp-pop-media .ktp-gallery-img{max-height:calc(100vh - 120px)}@media (max-width:760px){.ktp-pop-media .ktp-gallery-stage{aspect-ratio:4/5;min-height:0}}.ktp-pop-body{flex-direction:column;gap:.9rem;padding:clamp(1.25rem,3vw,2.25rem);display:flex;overflow-y:auto}.ktp-pop-title{font-family:var(--blk-font-title);text-wrap:balance;margin:0;padding-right:2.5rem;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;line-height:1.15}.ktp-pop-price{font-variant-numeric:tabular-nums;color:var(--blk-accent-ink);margin:0;font-size:1.15rem;font-weight:600}.ktp-pop[data-status=sold] .ktp-pop-price{color:var(--blk-muted)}.ktp-pop-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin:auto 0 0;padding-top:.5rem;display:flex}.ktp-pop-page{color:var(--blk-muted);text-underline-offset:.2em;font-size:.9rem;text-decoration:underline}.ktp-pop-page:hover{color:var(--blk-fg)}.ktp-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
