.product-photo-section{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:64px;align-items:center;margin-block:0 36px;padding-block:28px;scroll-margin-top:110px}
.design-overview:has(+.product-photo-section),.product-content-section:has(+.product-photo-section){padding-bottom:28px}
.product-photo-figure{margin:0;min-width:0}
.product-photo-open{display:block;position:relative;background:#f4f7f5;border:1px solid #dce5df;border-radius:4px;overflow:hidden;color:#fff;text-decoration:none}
.product-photo-open img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;transition:transform .22s ease}
.product-photo-open:hover img{transform:scale(1.025)}
.product-photo-open:focus-visible{outline:2px solid #145b46;outline-offset:5px}
.product-photo-view{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#123e33;color:#fff;padding:10px 14px;font-size:13px;line-height:1.5;font-weight:600}
.product-photo-figure figcaption{font-size:12px;line-height:1.6;color:#5f6f67;margin-top:12px}
body .product-photo-copy h2{font-size:32px;line-height:1.25;letter-spacing:-.02em;color:#123e33;margin:0 0 20px}
.product-photo-copy{max-width:560px;min-width:0}
body .product-photo-name{font-size:18px;line-height:1.65;font-weight:600;color:#234d40;margin:0 0 24px;overflow-wrap:anywhere}
.product-photo-facts{display:flex;flex-wrap:wrap;gap:20px 44px;margin:0 0 24px}
.product-photo-facts dt{font-size:12px;color:#5f6f67;line-height:1.6;margin-bottom:6px}
.product-photo-facts dd{font-size:16px;line-height:1.5;color:#123e33;font-variant-numeric:tabular-nums;margin:0}
body .product-photo-note{font-size:14px;line-height:1.75;color:#5f6f67;max-width:46ch;margin:0}
.product-photo-dialog{border:1px solid #dce5df;border-radius:6px;padding:18px;max-width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 32px);color:#123e33;background:#fff;overflow:auto}
.product-photo-dialog::backdrop{background:rgba(6,30,24,.78)}
.product-photo-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}
.product-photo-dialog h2{font-size:16px;line-height:1.5;font-weight:600;margin:10px 0;overflow-wrap:anywhere}
.product-photo-dialog button{flex-shrink:0;min-height:44px;padding:10px 16px;border:1px solid #c9d7ce;border-radius:4px;background:#fff;color:#123e33;font:inherit;font-size:14px;cursor:pointer}
.product-photo-dialog button:focus-visible{outline:2px solid #145b46;outline-offset:3px}
.product-photo-dialog img{display:block;width:auto;max-width:100%;max-height:calc(100dvh - 145px);height:auto;margin:auto;object-fit:contain}
@media(max-width:930px){.product-photo-section{gap:36px;grid-template-columns:minmax(0,300px) minmax(0,1fr)}body .product-photo-copy h2{font-size:28px}}
@media(max-width:680px){.product-photo-section{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:24px;margin-block:16px 36px}.product-photo-figure{width:100%;max-width:420px}.product-photo-facts{gap:20px 32px}body .product-photo-copy h2{font-size:26px}.product-photo-dialog{padding:12px}.product-photo-dialog header{gap:14px}.product-photo-dialog h2{font-size:14px}}
@media(prefers-reduced-motion:reduce){.product-photo-open img{transition:none}.product-photo-open:hover img{transform:none}}
