.ks-hero{padding:64px 0 56px;gap:64px}
.ks-hero-img{position:relative;margin:0;border:1px solid #b29672;padding:12px;background:var(--paper)}

.ks-hero-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#e9e4da}
.ks-library{padding:64px 0 8px}
.ks-library .filters{margin-bottom:0}
.ks-style{display:grid;grid-template-columns:300px 1fr;gap:48px;padding:52px 0;border-top:1px solid var(--line);align-items:center;scroll-margin-top:110px}
.ks-style:last-of-type{border-bottom:1px solid var(--line)}
.ks-style[hidden]{display:none}
.ks-info .eyebrow{margin-bottom:12px}
.ks-info h2{font:500 clamp(28px,3vw,36px)/1.12 var(--serif);letter-spacing:-1px;margin:0 0 14px}
.ks-info h2 i{color:#997b51}
.ks-desc{font-size:14px;color:var(--muted);margin:0 0 20px}
.ks-palette{display:flex;height:34px;margin:0 0 18px;border:1px solid var(--line)}
.ks-palette span{flex:1}
.ks-info .micro{margin:0 0 18px}
.ks-info .tags{flex-wrap:wrap;margin-bottom:16px}
.ks-info .shortlist{padding-top:16px}
.ks-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:10px;aspect-ratio:2/1}
.ks-photo{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:#e9e4da;cursor:zoom-in;overflow:hidden}
.ks-photo[hidden]{display:none}
.ks-photo:first-child{grid-column:span 2;grid-row:span 2}
.ks-n4 .ks-photo:nth-child(4),.ks-n3 .ks-photo:nth-child(2),.ks-n3 .ks-photo:nth-child(3){grid-column:span 2}
.ks-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%;transition:transform .6s ease}
.ks-photo:hover img,.ks-photo:focus-visible img{transform:scale(1.04)}
.ks-photo:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.ks-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(30,28,26,.58);color:#fff;font:500 30px var(--serif)}
.ks-lightbox{position:fixed;inset:0;z-index:50;background:rgba(30,28,26,.94);display:flex;align-items:center;justify-content:center;padding:56px 80px}
.ks-lightbox[hidden]{display:none}
.ks-lightbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.ks-lightbox img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;display:block;background:#e9e4da}
.ks-lightbox figcaption{color:#eee8dd;font-size:13px;letter-spacing:.5px;text-align:center}
.ks-lightbox button{position:absolute;background:transparent;border:1px solid rgba(238,232,221,.45);color:#eee8dd;cursor:pointer;font:400 28px/1 var(--sans);width:46px;height:46px}
.ks-lightbox button:hover,.ks-lightbox button:focus-visible{background:var(--clay);border-color:var(--clay)}
.ks-close{top:16px;right:16px}
.ks-prev{left:16px;top:50%;transform:translateY(-50%)}
.ks-next{right:16px;top:50%;transform:translateY(-50%)}
body.ks-open{overflow:hidden}
@media(max-width:1000px){.ks-hero{gap:30px}.ks-style{grid-template-columns:240px 1fr;gap:30px}}
@media(max-width:760px){
  .ks-hero{padding:40px 0 36px;gap:34px}
  .ks-library{padding:44px 0 0}
  .ks-style{grid-template-columns:1fr;gap:22px;padding:40px 0;scroll-margin-top:160px;align-items:start}
  .ks-gallery{grid-template-columns:repeat(2,1fr);aspect-ratio:auto;grid-auto-rows:auto;gap:8px}
  .ks-photo{height:auto;aspect-ratio:1/1}
  .ks-photo:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
  .ks-n4 .ks-photo:nth-child(4),.ks-n3 .ks-photo:nth-child(2),.ks-n3 .ks-photo:nth-child(3){grid-column:auto}
  .ks-lightbox{padding:60px 12px 70px}
  .ks-prev,.ks-next{top:auto;bottom:12px;transform:none}
  .ks-prev{left:calc(50% - 56px)}
  .ks-next{right:calc(50% - 56px)}
}
@media(prefers-reduced-motion:reduce){.ks-photo img{transition:none}}

.ks-finishes{padding:64px 0;border-top:1px solid var(--line)}
.ks-fin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0 28px}
.ks-fin-card{border:1px solid var(--line);background:#fcfaf6;padding:22px}
.ks-fin-card h3{font:500 22px var(--serif);margin:0 0 8px}
.ks-fin-card p{font-size:13px;color:var(--muted);margin:0}
.ks-fin-details{margin:0 0 20px}
.ks-fin-details h3{font:500 22px var(--serif);margin:0 0 12px}
@media(max-width:1000px){.ks-fin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ks-fin-grid{grid-template-columns:1fr}.ks-finishes{padding:44px 0}}
@media(max-width:760px){.ks-hero-img{padding:8px}}
