*{box-sizing:border-box}body{margin:0;background:#faf7ee;color:#24575b;font:16px/1.6 "Avenir Next",Arial,sans-serif}a{color:inherit}header{padding:24px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8dfd9;gap:24px}.brand{font:26px Georgia,serif;text-decoration:none}nav{display:flex;gap:24px;font-size:14px}.intro{max-width:790px;margin:55px auto 28px;padding:0 24px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(38px,5vw,60px);line-height:1.1;margin:18px 0}p{color:#596c67}.intro p{max-width:620px;margin:20px auto}.preview{background:#e4efea;text-align:center;padding:9px 20px;font-size:13px}.browse{max-width:1280px;margin:auto;padding:0 28px 65px}.tabs{display:flex;justify-content:center;gap:12px;margin:24px 0}.tabs button{font:inherit;border:1px solid #39717a;background:transparent;color:#24575b;border-radius:30px;padding:10px 25px;cursor:pointer}.tabs button[aria-pressed=true]{background:#39717a;color:white}.filters{display:flex;flex-wrap:wrap;gap:16px;padding:20px 0;border-top:1px solid #d8dfd9;border-bottom:1px solid #d8dfd9}.filters label{display:grid;gap:6px;font-size:13px;flex:1;min-width:180px}.filters select,.filters input{font:inherit;color:#24575b;background:white;border:1px solid #b8c9c4;border-radius:6px;padding:11px;width:100%}.count{font-size:14px;margin:18px 0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}.card{min-width:0}.photo{display:block;width:100%;border:0;padding:0;background:#eee;border-radius:10px;overflow:hidden;cursor:zoom-in}.photo img{display:block;width:100%;height:260px;object-fit:contain}.card h3{font-size:22px;line-height:1.2;margin:16px 0 8px}.card p{margin:3px 0}.price{font-weight:600;color:#24575b;font-size:18px}.type{font-size:12px}.card[hidden]{display:none}.empty{text-align:center;padding:40px}footer{border-top:1px solid #d8dfd9;padding:25px 6%;display:flex;justify-content:space-between;gap:24px;font-size:14px}dialog{border:0;border-radius:12px;background:#faf7ee;color:#24575b;padding:22px;max-width:min(800px,94vw)}dialog::backdrop{background:#153e46bb}dialog img{display:block;width:100%;max-height:60vh;object-fit:contain;background:#eee}dialog h2{font-size:28px;margin:18px 0 6px}dialog p{margin:8px 0}dialog button{float:right;border:1px solid #39717a;background:white;color:#24575b;border-radius:6px;padding:8px 15px;margin-bottom:15px;cursor:pointer;font:inherit}.detail-price{font-size:22px;font-weight:600}.clear{clear:both}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #118493;outline-offset:4px}@media(max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){header{padding:20px;flex-wrap:wrap}.brand{font-size:24px}nav{gap:16px;font-size:13px}.intro{margin:35px auto 24px}.browse{padding:0 18px 45px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}.photo img{height:220px}.card h3{font-size:20px}footer{flex-wrap:wrap}}@media(max-width:430px){.filters{gap:12px}.filters label{min-width:135px}.filters label:last-child{flex-basis:100%}.photo img{height:175px}.card h3{font-size:18px}.tabs button{padding:9px 18px}} .photo.framed{position:relative;aspect-ratio:1}.photo.framed img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(var(--photo-scale)) translate(var(--photo-x),var(--photo-y));transform-origin:center}dialog .detail-photo{position:relative;width:min(650px,75vw,60vh);aspect-ratio:1;overflow:hidden;background:#eee;margin:auto}dialog .detail-photo img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;transform:scale(var(--photo-scale,1)) translate(var(--photo-x,0%),var(--photo-y,0%));transform-origin:center}.group-links{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}.group-links[hidden]{display:none}.group-links a{padding:6px 13px;border:1px solid #b8c9c4;border-radius:20px;text-decoration:none;font-size:13px;background:#f1f5f2}.group-heading{grid-column:1/-1;margin:22px 0 0;padding:0 0 10px;border-bottom:1px solid #cbd9d3;font-size:29px;scroll-margin-top:20px}.group-heading span{font:14px Arial,sans-serif;margin-left:10px;color:#596c67}.filters label[hidden]{display:none}.category-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:20px 0}.category-nav button{font:inherit;color:#24575b;border:1px solid #b8c9c4;background:#f1f5f2;border-radius:20px;padding:7px 15px;cursor:pointer}.category-nav[hidden]{display:none}