/* V2 image art direction. Original assets remain available beside retouched assets. */
.hero-art{border-radius:28px;padding:22px 22px 18px;background:#f5f5f3;border:1px solid #eae8e4}
.hero-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:normal;border-radius:16px}
.art-note{margin-top:22px;border-color:#e2dfda;padding:16px 2px 0;gap:16px;font-size:.8rem}
#portofolio{background:#f5f3ef}
.gallery-primary{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.product{min-width:0}
.product .frame{position:relative;aspect-ratio:4/5;background:#f5f5f3;border:1px solid #e6e4e1;border-radius:18px;overflow:hidden;isolation:isolate}
.product img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;mix-blend-mode:normal;transform:none}
.product:hover img{transform:none}
.product[data-product="6"] .frame img{transform:scale(1.15) translateY(1.5%)}
.product figcaption{min-height:76px;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;padding:16px 3px 0;line-height:1.6;font-size:.95rem}
.product figcaption strong{font-weight:600}
.product figcaption span{font-size:.82rem;color:#736b65}
.gallery-group{margin-top:52px;padding-top:35px;border-top:1px solid #dfd9d3}
.group-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px}
.group-head h3{font-size:1.45rem;margin:0;letter-spacing:-.035em}
.group-head p{font-size:.9rem;color:var(--muted);margin:0}
.gallery-colors{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.color-study .frame{aspect-ratio:4/5;background:#efefef}
.color-study img{object-fit:cover}
.gallery-collections{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.collection .frame{aspect-ratio:3/2;border-radius:16px;background:#fff;padding:12px}
.collection[data-product="18"] .frame{background:#f5f5f3}
.gallery-references{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.reference .frame{aspect-ratio:4/3;background:white;padding:20px}
.reference[data-product="3"] img{max-height:190px;align-self:center;margin:auto}
.brands{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.brand-tile{height:110px;padding:16px;background:#fff;border:1px solid #e7e3df;border-radius:14px;display:flex;align-items:center;justify-content:center}
.brand-tile img{width:100%;height:100%;max-width:85px;max-height:75px;object-fit:contain;border-radius:0;aspect-ratio:auto;background:transparent}
.more{margin-top:30px;min-height:48px}
@media(min-width:761px) and (max-width:1050px){.gallery-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-colors{grid-template-columns:repeat(3,minmax(0,1fr))}.brands{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){.hero-art{padding:12px 12px 16px;border-radius:22px}.hero-art img{aspect-ratio:3/2}.art-note{margin-top:12px;font-size:.75rem}.gallery-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.product .frame{border-radius:14px}.product figcaption{font-size:.9rem;min-height:65px;padding:12px 1px 0}.product figcaption span{font-size:.78rem}.group-head{display:block}.group-head h3{margin-bottom:8px}.gallery-colors{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.gallery-collections{grid-template-columns:1fr;gap:24px}.gallery-references{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.reference .frame{padding:10px}.reference[data-product="3"] img{max-height:100px}.brands{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.brand-tile{height:92px;padding:14px}.brand-tile img{max-height:64px;max-width:75px}.gallery-group{margin-top:35px;padding-top:28px}.more{font-size:.84rem;max-width:100%;padding:12px 18px}}
