.product-grid { gap: 47px 28px; }
.product-image > img, .product-card:nth-child(2) .product-image > img { aspect-ratio: 3 / 4; object-fit: cover; }
.product-image { border-radius: 90px 90px 19px 19px; }
.product-card:nth-child(3n+2) .product-image { background: #efd9d5; border-radius: 20px 80px 20px 20px; }
.product-card:nth-child(3n+3) .product-image { background: #eee3ca; border-radius: 80px 20px 20px 20px; }
.product-card:nth-child(3n+2) .product-image > img { border-radius: 12px 72px 12px 12px; }
.product-card:nth-child(3n+3) .product-image > img { border-radius: 72px 12px 12px 12px; }
.product-card:nth-child(3n+2) .product-image::after { border-color: #b58d8c; border-radius: 16px 76px 16px 16px; }
.product-card:nth-child(3n+3) .product-image::after { border-color: #ac9f7c; border-radius: 76px 16px 16px 16px; }
.product-title-row { gap: 7px; }
.product-title-row h3 { max-width: 100%; }
.photo-request { min-height: 390px; aspect-ratio: 3/4; background: #fbf5e8 url('assets/linen.svg'); padding: 50px 24px 25px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: inherit; }
.photo-request-kicker { font-size: 8px; letter-spacing: 1.8px; color: var(--muted); }
.photo-request img { width: 70%; height: 115px; object-fit: contain; margin: 20px auto; opacity: .7; }
.photo-request-title { font: 36px/1.04 var(--hand); color: #94736a; }
.photo-request > span:last-child { font-size: 11px; line-height: 1.7; margin-top: 20px; max-width: 170px; }
.product-card-no-photo .product-image:hover > img { transform: none; }
.gallery-stage { display: grid; place-items: center; min-width: 0; background: #f5f1e7; }
.product-gallery { justify-content: flex-start; align-self: start; padding-bottom: 12px; }
.gallery-stage .gallery-main { width: 100%; aspect-ratio: 3 / 4; max-height: 65dvh; object-fit: contain; }
.gallery-thumbs { display: flex; gap: 7px; padding: 12px; flex-wrap: wrap; justify-content: center; }
.gallery-thumb { padding: 3px; border: 1px solid transparent; background: transparent; border-radius: 9px; width: 55px; min-height: 62px; }
.gallery-thumb img { width: 100%; height: 61px; object-fit: cover; border-radius: 5px; }
.gallery-thumb[aria-pressed=true] { border-color: var(--teal); background: #d7e8df; }
.gallery-thumb:hover { background: #e8e0cd; }
.product-gallery .gallery-caption { padding: 9px 14px; font-size: 10px; line-height: 1.6; color: var(--muted); }
.dialog-content h2 { font-size: 34px; line-height: 1.15; }
.dialog-content { padding-top: 48px; }
.gala-portrait { position: relative; padding: 12px; background: #fffaf0; border: 1px dashed #bea995; border-radius: 160px 160px 14px 14px; transform: rotate(-3deg); }
.gala-portrait > img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 150px 150px 8px 8px; }
.atelier-art { max-width: 410px; }
.atelier-inner { grid-template-columns: 1fr 1.15fr; gap: 75px; }
.atelier-copy > p:not(.eyebrow) { max-width: 510px; }
.experience-seal { position: absolute; right: -17px; bottom: 38px; width: 105px; height: 105px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #d8eade; border: 1px dashed #739e8f; box-shadow: 0 0 0 6px #d8eade; transform: rotate(8deg); }
.experience-seal strong { font: 43px/.95 var(--hand); }
.experience-seal span { font-size: 10px; }
.atelier-signature { z-index: 1; margin-top: -15px; }
.hero-photo-frame img { object-position: center; object-fit: contain; background: #f8efe3; }
.hero-actions { flex-wrap: wrap; align-items: center; gap: 16px 22px; }
.hero-3d-link { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; padding-block: 9px; border-bottom: 1px dashed #88aa9f; color: var(--teal); }
.hero-3d-link .icon { width: 18px; height: 18px; }
@media (max-width: 850px) { .atelier-inner { gap: 42px; } .product-grid { gap: 35px 19px; } .photo-request { min-height: 290px; padding-inline: 15px; } .photo-request-title { font-size: 29px; } .photo-request img { height: 80px; } .experience-seal { width: 85px; height: 85px; right: -10px; } }
@media (max-width: 620px) { .product-grid { gap: 40px; } .product-image > img, .product-card:nth-child(2) .product-image > img { aspect-ratio: 3/4; } .product-title-row h3 { font-size: 25px; } .atelier-art { max-width: 350px; padding-inline: 24px; } .atelier-inner { flex-direction: column; } .gala-portrait > img { max-height: 440px; } .gallery-stage .gallery-main { max-height: 49dvh; } .gallery-thumbs { padding: 8px; gap: 5px; } .gallery-thumb { width: 48px; } .gallery-thumb img { height: 54px; } .dialog-content { padding: 26px 24px; } .dialog-content h2 { font-size: 31px; } .photo-request { min-height: 310px; } }
