.ph-discovery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    gap: clamp(18px, 3vw, 38px);
    margin-block: 24px 38px;
}
.ph-piece-card { min-width: 0; }
.ph-piece-card h3 { margin-block: 12px 0; font-size: clamp(1.04rem, 1.5vw, 1.35rem); }
.ph-collection-index .ph-card-frame { aspect-ratio: 4 / 3; }
.ph-card-frame {
    display: block;
    position: relative;
    aspect-ratio: 1;
    background: #f1eee6;
    overflow: hidden;
}
.ph-card-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.ph-product-media { margin: 0; }
.ph-product-media .ph-card-secondary {
    position: absolute;
    inset: 0;
    object-fit: cover;
    opacity: 0;
}
.ph-product-media.ph-show-room .ph-card-secondary { opacity: 1; }
.ph-product-media .ph-room-caption { display: none; }
.ph-product-media.ph-show-room .ph-room-caption { display: inline; }
.ph-product-media.ph-show-room .ph-card-caption { display: none; }
.ph-card-secondary, .ph-room-stage { object-position: 50% 44%; }
@media (hover: hover) {
    .ph-product-media .ph-card-frame:hover .ph-card-secondary { opacity: 1; }
    .ph-product-media:has(.ph-card-frame:hover) .ph-room-caption { display: inline; }
    .ph-product-media:has(.ph-card-frame:hover) .ph-card-caption { display: none; }
}
.ph-product-media figcaption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 38px;
    padding-block: 5px;
    font-size: .81rem;
}
.ph-view-toggle {
    background: transparent;
    border: 1px solid #c4beb1;
    border-radius: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 5px 8px;
}
.ph-view-toggle[aria-pressed="true"] { background: #e7e3d8; }
.ph-object-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(22px, 5vw, 70px);
}
.ph-object-media, .ph-object-description { min-width: 0; }
.ph-object-description { padding-block: clamp(12px, 3vw, 46px); }
.ph-object-description h1 { margin-block: 0 18px; line-height: 1.14; }
.ph-object-description h2 { margin-block-start: 30px; font-size: 1.1rem; }
.ph-object-description p { max-width: 48ch; }
.ph-object-figure, .ph-art-figure, .ph-finish-figure { margin: 0; }
.ph-stage-image {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    background: #f1eee6;
}
.ph-stage-image.ph-room-stage { object-fit: cover; }
.ph-object-figure figcaption, .ph-art-figure figcaption, .ph-finish-figure figcaption {
    margin-block: 8px 0;
    font-size: .84rem;
    color: #58534c;
}
.ph-art-figure img { display: block; width: 100%; max-height: 600px; object-fit: contain; background: #f1eee6; }
.ph-finish-figure { max-width: 550px; }
.ph-finish-figure img { display: block; width: 100%; height: auto; }
.ph-media-choices, .ph-choice-links {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    gap: 10px;
}
.ph-media-choices li { flex: 0 1 100px; min-width: 80px; }
.ph-media-choices a {
    display: block;
    border: 1px solid #d4cec1;
    padding: 5px;
    text-align: center;
    font-size: .76rem;
}
.ph-media-choices a[aria-current="true"] { outline: 2px solid #38514e; outline-offset: -2px; }
.ph-media-choices img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: #f1eee6; }
.ph-choice-links a { display: block; border: 1px solid #c4beb1; padding: 9px 14px; }
.ph-path { font-size: .9rem; margin-block: 0 25px; }
.ph-product-sections { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-block-start: 30px; font-size: .91rem; }
.ph-story-section { border-top: 1px solid #d4cec1; margin-block-start: clamp(35px, 6vw, 78px); padding-block-start: 26px; }
.ph-story-section h2 { margin-block: 0 18px; }
.ph-specifications { max-width: 750px; }
.ph-specifications div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 16px; border-bottom: 1px solid #ded8cc; padding: 11px 0; }
.ph-specifications dd { margin: 0; }
.ph-story-art { max-width: 1050px; }
.ph-story-art .ph-art-figure img { max-height: 380px; }
.ph-product-story .ph-discovery-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 300px)); }
@media (max-width: 767px) {
    .ph-object-grid { grid-template-columns: minmax(0, 1fr); }
    .ph-discovery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ph-product-media figcaption { flex-wrap: wrap; align-content: start; }
    .ph-product-story .ph-discovery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ph-art-options { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.ph-art-options li { flex: 0 1 95px; }
.ph-art-options a { display: block; padding: 5px; border: 1px solid #c4beb1; font-size: .82rem; }
.ph-art-options a[aria-current="page"] { outline: 2px solid #38514e; outline-offset: -2px; }
.ph-art-options img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: #f1eee6; }
