/* Small album previews keep documentary photos separate from the main showcase. */
.photo-albums{margin-top:80px;padding-top:55px;border-top:1px solid var(--line)}
.album-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:end;margin-bottom:35px}
.album-intro h3{font:400 44px/1.15 var(--serif);letter-spacing:-1.2px;margin-top:19px}
.album-intro p{font-size:17px;color:var(--muted);line-height:1.8;max-width:520px}
.album-total{display:block;margin-top:17px;font-size:10px;letter-spacing:1.5px;font-weight:600}
.album-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.album-card{display:block;padding:0;background:transparent;text-align:left;min-width:0}
.album-cover{display:block;aspect-ratio:1.3;position:relative;overflow:hidden;background:#edf1f5}
.album-cover>img,.album-pair-mini img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--entrance-ease)}
.album-cover-arrow{position:absolute;right:12px;bottom:12px;width:33px;height:33px;display:grid;place-items:center;background:#fff;color:var(--ink);font-size:20px;transition:transform .4s}
.album-card:hover .album-cover img{transform:scale(1.07)}.album-card:hover .album-cover-arrow{transform:rotate(10deg)}
.album-card-title{display:block;font-size:17px;font-weight:600;margin:17px 0 7px}
.album-card-count{display:block;font-size:12px;color:var(--muted)}.album-card-count b{display:block;font-size:11px;font-weight:500;margin-top:12px}
.album-pair-mini{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.album-pair-mini img{object-position:45% center}
.album-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;padding:35px 5%;background:#f6f8fa;color:var(--ink);overflow:auto;overscroll-behavior:contain}
.album-dialog::backdrop{background:#142e49dd;backdrop-filter:blur(10px)}
.album-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:25px;max-width:1500px;margin:auto}
.album-dialog-head h2{font-size:44px;letter-spacing:-1px;margin:14px 0 0}.album-dialog-head .eyebrow{font-size:10px;letter-spacing:1.5px}
.album-close{width:52px;height:52px;background:#fff;font-size:27px}
.album-browse,.album-viewer{max-width:1500px;margin:auto}
.album-tabs{display:flex;flex-wrap:wrap;gap:10px;padding:25px 0 30px}
.album-tabs button{background:#fff;border:1px solid var(--line);font-size:15px;padding:14px 20px;min-height:48px;transition:background .25s,color .25s}.album-tabs button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.album-tabs sup{font-size:10px;margin-left:8px}
.album-panel h3{font:400 36px/1.2 var(--serif);letter-spacing:-.8px;margin-bottom:12px}.album-panel-intro{max-width:800px;color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:28px}
.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.album-photo{min-width:0;display:block;width:100%;padding:0;text-align:left;background:transparent}
.album-photo>img{width:100%;height:auto;aspect-ratio:.94;object-fit:cover;transition:filter .4s;display:block;background:#e3e9ee}
.album-photo>span{display:flex;justify-content:space-between;gap:16px;font-size:14px;line-height:1.6;margin-top:13px}.album-photo b{font-size:20px;font-weight:400;flex-shrink:0}.album-photo:hover img{filter:brightness(1.05)}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1100px;margin:auto}
.before-after figure{margin:0;padding:15px;background:#fff;border:1px solid var(--line)}
.before-after .album-photo>img{aspect-ratio:.9;max-height:550px;object-fit:contain;background:#eff2f5}
.before-after .album-photo>span{display:none}
.before-after figcaption{display:flex;align-items:baseline;gap:15px;font-size:14px;line-height:1.6;padding:20px 5px 8px}
.before-after figcaption>span{font:600 11px var(--sans);letter-spacing:2px;background:var(--ink);color:white;padding:9px 13px;flex-shrink:0}
.album-extra{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;max-width:1100px;margin:30px auto 0}
.album-extra .album-photo>img{aspect-ratio:1.2;object-position:center 35%}.album-extra p{font:400 25px/1.6 var(--serif);max-width:550px}.album-extra .album-photo>span{font-size:12px}
.album-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}.album-back{min-height:48px;padding:8px 0;background:transparent;font-size:15px;text-decoration:underline;text-underline-offset:6px}.album-photo-count{font-size:13px;letter-spacing:1px}
.album-viewer-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:25px;background:#e9eef3;padding:20px 24px}
.album-full-image{width:100%;height:calc(100dvh - 350px);min-height:250px;max-height:850px;object-fit:contain;display:block}
.album-full-caption{font-size:17px;text-align:center;margin:17px 0 10px;line-height:1.7}
.album-dialog-foot{display:flex;justify-content:space-between;gap:25px;padding:25px 0 10px;margin:30px auto 0;max-width:1500px;border-top:1px solid var(--line);align-items:center}
.album-dialog-foot>span{font-size:11px;color:var(--muted)}.album-enquire{font-size:15px;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.album-browse[hidden],.album-viewer[hidden],.album-panel[hidden]{display:none}
.album-dialog[open]{animation:album-enter .45s var(--entrance-ease)}
@keyframes album-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.album-cards{gap:14px}.album-card-title{font-size:15px}.album-intro{gap:5%}.album-intro h3{font-size:39px}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.album-cover-arrow{width:29px;height:29px;right:8px;bottom:8px}.album-dialog-head h2{font-size:38px}.album-tabs button{padding:12px 15px}.album-dialog{padding-left:4%;padding-right:4%}}
@media(max-width:700px){.album-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 16px}.album-intro{display:block}.album-intro h3{font-size:36px}.album-intro h3 br{display:none}.album-intro p{margin-top:20px;font-size:16px}.album-total{font-size:9px;letter-spacing:1px}.album-grid{grid-template-columns:1fr 1fr;gap:25px 17px}.album-dialog-head{gap:15px}.album-dialog-head h2{font-size:32px}.album-dialog-head .eyebrow{font-size:9px}.album-dialog{padding:25px 5%}.album-panel h3{font-size:30px}.album-photo>span{font-size:13px}.before-after{gap:14px}.before-after figure{padding:8px}.before-after figcaption{flex-direction:column;gap:10px;padding:15px 5px 5px;font-size:13px}.before-after figcaption>span{font-size:10px}.album-extra{grid-template-columns:140px 1fr;gap:20px}.album-extra p{font-size:21px}.album-dialog-foot{display:block}.album-enquire{margin-top:12px;font-size:14px}.album-viewer-stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;padding:12px 6px}.album-viewer-stage>.circle{width:40px;height:44px;font-size:20px}.album-full-image{height:calc(100dvh - 340px);min-height:260px}.album-full-caption{font-size:16px}.album-photo-count{font-size:11px}.album-back{font-size:14px}.album-panel-intro{font-size:16px}}
@media(max-width:480px){.photo-albums{margin-top:55px;padding-top:38px}.album-cards{grid-template-columns:1fr 1fr;gap:25px 17px}.album-card-title{font-size:16px;line-height:1.4;margin-top:13px}.album-card-count{font-size:12px}.album-card-count b{font-size:11px;margin-top:9px}.album-cover{aspect-ratio:1.15}.album-card:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;align-items:center;padding:15px;border:1px solid var(--line)}.album-card:last-child .album-cover{grid-row:span 2;aspect-ratio:1.25}.album-card:last-child .album-card-title{margin:0;align-self:end}.album-card:last-child .album-card-count{align-self:start;margin-top:10px}.album-intro h3{font-size:34px;line-height:1.2}.album-close{width:46px;height:46px}.album-dialog-head h2{font-size:29px;letter-spacing:-.7px}.album-dialog-head .eyebrow{font-size:8px;letter-spacing:1px}.album-tabs{gap:7px;padding:20px 0}.album-tabs button{font-size:12px;padding:11px 12px;min-height:46px}.album-tabs sup{font-size:9px;margin-left:4px}.album-grid{gap:22px 14px}.album-photo>img{aspect-ratio:.78}.album-photo>span{font-size:12px;gap:7px}.before-after{grid-template-columns:1fr}.before-after .album-photo>img{max-height:380px;aspect-ratio:1.1}.before-after figcaption{flex-direction:row;gap:12px;font-size:13px;align-items:center}.album-extra{grid-template-columns:120px 1fr;gap:17px}.album-extra p{font-size:19px}.album-extra .album-photo>span{font-size:11px}.album-viewer-stage{gap:5px;padding:10px 0;grid-template-columns:36px minmax(0,1fr) 36px}.album-viewer-stage>.circle{width:36px;height:42px}.album-full-image{min-height:220px;height:calc(100dvh - 350px)}}
@media(prefers-reduced-motion:reduce){.album-dialog[open]{animation:none}.album-cover img,.album-cover-arrow{transition:none}}

/* Comparison labels stay visible as soon as the photos enter the screen. */
.before-after figure{position:relative}.before-after figcaption>span{position:absolute;top:28px;left:28px;z-index:1}.before-after .album-photo>img{max-height:420px}.album-close{position:fixed;top:35px;right:5%;z-index:5}.album-dialog-head{padding-right:75px}
@media(max-width:480px){.before-after figcaption>span{top:20px;left:20px}.before-after .album-photo>img{max-height:380px}.album-close{top:22px;right:5%}.album-dialog-head{padding-right:58px}}
