/* Envelope-first trial. No selectors affect content outside this comparison region. */
#dm-comparison-gallery { --ef-navy:#173b55; --ef-muted:#586b78; --ef-tone:brightness(1.08) contrast(1.02) saturate(.94); color:var(--ef-navy); background:#fff; }
#dm-comparison-gallery .envelope-first { position:relative; padding:48px 0 44px; background:#fff; }
#dm-comparison-gallery .ef-anchor { position:absolute; top:0; }
#dm-comparison-gallery .ef-section-head { margin:0 0 35px; text-align:center; }
#dm-comparison-gallery .ef-section-head h2 { margin:0 0 12px; color:var(--ef-navy); font-size:32px; line-height:1.5; letter-spacing:.025em; }
#dm-comparison-gallery .ef-section-head h2 span { display:inline-block; }
#dm-comparison-gallery .ef-section-head p { margin:0; color:var(--ef-muted); font-size:15px; line-height:1.85; }
#dm-comparison-gallery .ef-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; width:min(100%,940px); margin-inline:auto; }
#dm-comparison-gallery .ef-column { min-width:0; text-align:center; }
#dm-comparison-gallery .ef-stage { margin:0 0 5px; color:#6a7c88; font-family:Arial,sans-serif; font-size:13px; font-weight:500; line-height:1.6; letter-spacing:.06em; }
#dm-comparison-gallery .ef-column h3 { margin:0 0 18px; color:var(--ef-navy); font-size:22px; line-height:1.5; }
#dm-comparison-gallery figure { margin:0; }
#dm-comparison-gallery .ef-photo-open { position:relative; display:block; width:100%; padding:0; border:0; border-radius:0; background:transparent; cursor:zoom-in; }
#dm-comparison-gallery .ef-column .ef-photo-open { max-width:300px; margin-inline:auto; }
#dm-comparison-gallery .ef-photo-frame { display:block; position:relative; width:100%; aspect-ratio:var(--frame-aspect); overflow:hidden; background:#202321; }
#dm-comparison-gallery .ef-photo-frame img { position:absolute; display:block; width:var(--photo-width); max-width:none; height:auto; left:var(--photo-left); top:var(--photo-top); filter:var(--ef-tone); }
#dm-comparison-gallery .ef-column figcaption { margin-top:13px; color:#40596a; font-size:14px; line-height:1.8; }
#dm-comparison-gallery .ef-zoom { position:absolute; right:10px; bottom:10px; display:grid; place-items:center; width:28px; height:28px; background:rgba(255,255,255,.93); color:var(--ef-navy); }
#dm-comparison-gallery .ef-zoom svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
#dm-comparison-gallery .ef-letter-section { padding:0 0 32px; background:#fff; }
#dm-comparison-gallery .ef-letter-details { max-width:940px; margin:0 auto; border-top:1px solid #dbe3e8; }
#dm-comparison-gallery .ef-letter-details summary { padding:16px 0; color:var(--ef-muted); font-size:14px; line-height:1.8; font-weight:500; cursor:pointer; }
#dm-comparison-gallery .ef-letter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding:8px 0 24px; }
#dm-comparison-gallery .ef-letter-grid figcaption { display:flex; align-items:baseline; gap:10px; margin:0 0 9px; color:var(--ef-navy); font-size:15px; }
#dm-comparison-gallery .ef-letter-grid figcaption span { color:var(--ef-muted); font-family:Arial,sans-serif; font-size:12px; }
#dm-comparison-gallery .ef-lightbox { width:min(1100px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:0; background:#fff; color:var(--ef-navy); }
#dm-comparison-gallery .ef-lightbox::backdrop { background:rgba(15,29,40,.72); }
#dm-comparison-gallery .ef-lightbox-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid #ccdce6; }
#dm-comparison-gallery .ef-lightbox-head p { margin:0; font-size:16px; font-weight:700; line-height:1.6; }
#dm-comparison-gallery .ef-lightbox-head button { min-height:44px; padding:8px 10px; border:1px solid #ccdce6; background:#fff; color:var(--ef-navy); font:inherit; font-size:13px; cursor:pointer; white-space:nowrap; }
#dm-comparison-gallery .ef-lightbox-head button span { margin-left:8px; font-size:20px; }
#dm-comparison-gallery .ef-lightbox-image { display:block; width:100%; max-height:calc(100dvh - 130px); height:auto; object-fit:contain; filter:var(--ef-tone); }
@media (max-width:1000px) {
 #dm-comparison-gallery .ef-grid { gap:40px; }
 #dm-comparison-gallery .ef-column h3 { font-size:21px; }
}
@media (max-width:760px) {
 #dm-comparison-gallery .envelope-first { padding:32px 0 30px; }
 #dm-comparison-gallery .ef-section-head { margin-bottom:27px; text-align:left; }
 #dm-comparison-gallery .ef-section-head h2 { font-size:25px; line-height:1.55; letter-spacing:.015em; }
 #dm-comparison-gallery .ef-section-head p { font-size:14px; line-height:1.85; }
 #dm-comparison-gallery .ef-grid { grid-template-columns:1fr; gap:33px; max-width:400px; }
 #dm-comparison-gallery .ef-stage { font-size:12px; }
 #dm-comparison-gallery .ef-column h3 { margin-bottom:13px; font-size:21px; }
 #dm-comparison-gallery .ef-column figcaption { margin-top:11px; font-size:14px; }
 #dm-comparison-gallery .ef-letter-section { padding-bottom:22px; }
 #dm-comparison-gallery .ef-letter-grid { grid-template-columns:1fr; gap:23px; }
 #dm-comparison-gallery .ef-letter-details summary { padding:15px 0; }
 #dm-comparison-gallery .ef-lightbox-head { padding-inline:12px; }
 #dm-comparison-gallery .ef-lightbox-head p { font-size:14px; }
}


/* New supplied crops: show the complete prepared images without applying the earlier crop or tone. */
#dm-comparison-gallery .ef-photo-frame.ef-selected-image { background:#fff; }
#dm-comparison-gallery .ef-photo-frame.ef-selected-image img { position:static; width:100%; height:100%; object-fit:contain; filter:none; }
