
/* KG Living | symmetric, compact portfolio */
.p-hero{padding:62px 0 57px}
.p-hero h1{font-size:clamp(62px,7vw,104px);margin:22px 0 20px;line-height:.96}
.p-hero p{font-size:13px;line-height:1.85;max-width:575px}
.archive{background:#f0ebe4;padding:64px 0 95px}
.archive-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.48fr);gap:32px;align-items:end;margin-bottom:32px}
.archive-head h2{font-size:clamp(42px,4.7vw,72px);margin:14px 0 0;line-height:1.04}
.archive-head p{font-size:12px;line-height:1.8;max-width:330px;justify-self:end}
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 27px;padding:0 0 16px;border-bottom:1px solid var(--line)}
.filters{display:flex;align-items:center;flex-wrap:wrap;column-gap:22px;row-gap:10px}
.filter-btn{border:0;border-bottom:1px solid transparent;background:transparent;padding:8px 0 9px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#786f65;transition:color .2s ease,border-color .2s ease}
.filter-btn:hover,.filter-btn.active{color:var(--ink);border-bottom-color:#6e6257}
.filter-btn.active{font-weight:600}
.filter-count{font-size:10px;letter-spacing:.10em;color:#7a7167;white-space:nowrap}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 22px;align-items:start}
.tile{width:100%;min-width:0}
.frame{display:block;position:relative;width:100%;aspect-ratio:1.28/1;overflow:hidden;background:#ded5ca;border:0;text-align:left}
.frame img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.80);transition:transform .55s ease,filter .55s ease}
.frame:hover img{transform:scale(1.035);filter:saturate(.98)}
.frame .image-no{position:absolute;left:14px;top:14px;font-size:9px;letter-spacing:.12em;color:white;text-shadow:0 1px 6px #0008}
.frame .arrow{position:absolute;right:11px;bottom:11px;width:31px;height:31px;background:#f1eae1e8;color:#38302b;display:flex;align-items:center;justify-content:center;font-size:18px;transition:background .2s ease}
.frame:hover .arrow{background:#fff8ef}
.frame-empty{background:#e9e2d8;border:1px solid #d7ccbf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.frame-empty .empty-monogram{font-family:Didot,Georgia,serif;font-size:clamp(42px,5vw,64px);font-weight:400;line-height:1;color:#b9aa9b;letter-spacing:-.09em}
.frame-empty .empty-label{font-size:9px;letter-spacing:.15em;color:#82766b;text-transform:uppercase}
.tile-info{padding-top:13px;border-top:1px solid #cbbfb4;margin-top:12px;display:flex;align-items:start;justify-content:space-between;gap:8px}
.tile-info h3{font-family:Didot,"Iowan Old Style",Georgia,serif;font-size:clamp(22px,2.15vw,31px);line-height:1.2;letter-spacing:-.02em;margin:7px 0 0}
.tile-info small{font-size:9px;letter-spacing:.10em;line-height:1.5;color:#776c60}
.tile-info .count{white-space:nowrap;padding-top:2px;font-size:9px}
.tile.no-action .frame{cursor:default}
.tile.no-action .frame:hover{transform:none}
.empty-note{font-size:11px;line-height:1.75;color:var(--muted);max-width:760px;margin:47px 0 0}
.no-results{padding:60px 0;color:var(--muted);font-size:13px}
@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.frame{aspect-ratio:1.32/1}.archive-head{grid-template-columns:1fr .6fr}}
@media(max-width:650px){.p-hero{padding:43px 0 46px}.p-hero h1{font-size:clamp(57px,13vw,82px);margin:21px 0 18px}.hero-count{white-space:nowrap}.archive{padding:52px 0 72px}.archive-head{display:block;margin-bottom:25px}.archive-head h2{font-size:clamp(42px,10.2vw,63px)}.archive-head p{margin-top:14px}.filter-bar{align-items:start;margin-bottom:24px;gap:9px}.filters{column-gap:14px;row-gap:3px}.filter-btn{font-size:9px;letter-spacing:.065em;padding:8px 0}.filter-count{font-size:9px}.project-grid{grid-template-columns:1fr;gap:31px}.frame{aspect-ratio:1.36/1}.tile-info h3{font-size:27px}.empty-note{margin-top:30px}}
