.photo-comparison{margin:0;min-width:0;width:100%;--comparison-ratio:1.5}
.comparison-frame{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:var(--comparison-ratio);background:#e1e3da;--reveal:85%}
.comparison-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.comparison-empty{clip-path:inset(0 calc(100% - var(--reveal)) 0 0);opacity:0}
.comparison-ready .comparison-empty{opacity:1}
.comparison-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;transform:translateX(-50%);background:#fff9;box-shadow:0 0 6px #0002;pointer-events:none;z-index:2}
.comparison-grip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;white-space:pre;width:46px;height:46px;border-radius:50%;background:#f8f7f2;color:#263c31;border:1px solid #fff;box-shadow:0 2px 16px #0003;font:24px Georgia,serif;letter-spacing:3px;padding-left:3px}
.comparison-range{position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:pan-y;z-index:3}
.comparison-frame:has(.comparison-range:focus-visible){outline:3px solid #8b987a;outline-offset:4px}
.comparison-frame:has(.comparison-range:focus-visible) .comparison-grip{outline:3px solid #263c31;outline-offset:3px}
.comparison-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.comparison-choice{font:inherit;font-size:.76rem;color:var(--ink,#263c31);background:none;border:1px solid #bac4b2;border-radius:0;padding:10px 14px;min-height:44px;cursor:pointer;white-space:nowrap}
.comparison-choice[aria-pressed=true]{background:#263c31;border-color:#263c31;color:#fff}
.comparison-choice:focus-visible{outline:2px solid #263c31;outline-offset:3px}
.comparison-hint{font-size:.72rem;color:var(--muted,#616d5c);text-align:center}
.comparison-note{font-size:.68rem;line-height:1.5;color:var(--muted,#616d5c);margin-top:9px}
.comparison-status{position:absolute;left:12px;right:12px;bottom:12px;background:#f8f7f2ed;padding:9px 12px;font-size:.75rem;z-index:4}
.photo-comparison:not(.comparison-ready) .comparison-divider{display:none}
.comparison-unavailable .comparison-empty,.comparison-unavailable .comparison-range{display:none}
.comparison-frame[data-endpoint=empty] .comparison-grip{transform:translate(-100%,-50%)}
.comparison-frame[data-endpoint=original] .comparison-grip{transform:translate(0,-50%)}
.photo-comparison-intro{font-size:.83rem;color:var(--muted);margin-top:18px;max-width:31em}
.zone-comparison-layout{display:grid;gap:16px;min-width:0}
.zone-comparison-secondary{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.zone-comparison-secondary .media-frame{aspect-ratio:3/2}
.zone-comparison-layout.is-portrait{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}
.zone-comparison-layout.is-portrait .zone-comparison-secondary{grid-template-columns:1fr}
.zone-comparison-layout.is-portrait .zone-comparison-secondary .media-frame{aspect-ratio:3/4}
.zone-comparison-layout.is-portrait .comparison-hint{display:none}
.photo-has-comparison:after{content:'↔';position:absolute;left:12px;bottom:12px;border:1px solid #ffffff90;background:#263c31bd;color:white;padding:4px 9px;font-size:17px;line-height:1;pointer-events:none}
.lightbox-stage.has-comparison{height:auto;min-height:0;background:transparent}
.comparison-in-gallery{display:flex;align-items:center;flex-direction:column}
.comparison-in-gallery .comparison-frame{width:min(100%,calc(55dvh * var(--comparison-ratio)))}
.comparison-in-gallery .comparison-controls{width:min(100%,calc(55dvh * var(--comparison-ratio)));min-width:260px}
.comparison-in-gallery .comparison-note{text-align:center}
@media(max-width:680px){
 .comparison-grip{width:42px;height:42px;font-size:22px}.comparison-choice{font-size:.71rem;padding:9px 11px}
 .comparison-hint{font-size:.66rem;max-width:90px}.comparison-note{font-size:.64rem}
 .zone-comparison-layout.is-portrait{grid-template-columns:1fr}.zone-comparison-layout.is-portrait .zone-comparison-secondary{grid-template-columns:1fr 1fr}
 .zone-comparison-layout.is-portrait .comparison-hint{display:block}
 .comparison-in-gallery .comparison-frame{width:min(100%,calc(48dvh * var(--comparison-ratio)))}
 .comparison-in-gallery .comparison-controls{width:min(100%,calc(48dvh * var(--comparison-ratio)));min-width:0;align-self:stretch;width:100%}
}
.comparison-frame>img{width:100%;height:auto;max-width:none;max-height:none;min-height:0;aspect-ratio:auto}
.comparison-expand{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;border-bottom:1px solid #aebbaa;color:var(--ink);font:inherit;font-size:.78rem;min-height:44px;padding:8px 0;margin:4px auto 0;cursor:pointer}
.multi-page #lightbox .photo-comparison{width:100%;height:100%;min-height:0;justify-content:center}
.multi-page #lightbox .comparison-in-gallery .comparison-frame{width:min(100%,calc((var(--stage-height,65vh) - 70px) * var(--comparison-ratio)));flex:none}
.multi-page #lightbox .comparison-in-gallery .comparison-controls{width:min(100%,calc((var(--stage-height,65vh) - 70px) * var(--comparison-ratio)));min-width:0;align-self:center;flex:none;margin-top:10px}
.multi-page #lightbox .comparison-note{display:none}
