/* Editorial scene imagery: independent of JavaScript and existing commerce flows. */
.xx-editorial { width:min(1224px,calc(100% - 64px)); margin:64px auto; color:#27372e; }
.xx-editorial-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.xx-editorial-heading>p { margin:0; font:10px/1.7 ui-monospace,monospace; letter-spacing:.13em; color:#52665a; }
.xx-editorial .xx-editorial-heading h2 { margin:0; font-size:clamp(20px,2vw,29px); line-height:1.6; letter-spacing:-.035em; }
.xx-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; }
.xx-photo { min-width:0; margin:0; }
.xx-photo-frame { overflow:hidden; background:#dce0d4; }
.xx-photo img { display:block; width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.65,.3,1); }
.xx-photo figcaption { display:grid; gap:7px; margin:16px 0 0; }
.xx-photo figcaption span { color:#586d5e; font:10px/1.6 ui-monospace,monospace; letter-spacing:.09em; }
.xx-photo figcaption strong { font-size:15px; line-height:1.8; font-weight:600; }
.xx-editorial .xx-photo-note { margin:12px 0 0; color:#55615a; font:10px/1.7 ui-monospace,monospace; letter-spacing:.08em; text-align:right; }
.xx-editorial-three .xx-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.xx-editorial-three .xx-photo img { aspect-ratio:4/3; }
.xx-editorial-wide .xx-photo-grid { grid-template-columns:1fr; }
.xx-editorial-wide .xx-photo img { aspect-ratio:2.6/1; object-position:center 58%; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .xx-photo:hover img { transform:scale(1.035); } }
@media(max-width:700px) {
 .xx-editorial { width:calc(100% - 36px); margin:42px auto; }
 .xx-editorial-heading { display:block; margin-bottom:18px; }
 .xx-editorial .xx-editorial-heading h2 { margin-top:10px; }
 .xx-photo-grid,.xx-editorial-three .xx-photo-grid { grid-template-columns:1fr; gap:26px; }
 .xx-photo img,.xx-editorial-three .xx-photo img,.xx-editorial-wide .xx-photo img { aspect-ratio:3/2; }
 .xx-photo figcaption { margin-top:12px; gap:4px; }
}
@media(prefers-reduced-motion:reduce) { .xx-photo img { transition:none; } }
