/* CPS photography: an image-led exhibition with directional reveals. */
html{scroll-behavior:auto}.cps-photo-page>.breadcrumbs{display:none}.photo-gallery{background:#f7f7f6;padding:36px 0 80px;color:#11263b}.photo-gallery>.wrap{max-width:1392px;width:calc(100% - 80px)}.photo-gallery [hidden]{display:none!important}.photo-sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.photo-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:65px;margin:8px 0 32px}.photo-eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;font-weight:700;letter-spacing:.19em;color:#6d317d;line-height:1.6}.photo-eyebrow>span{width:17px;height:2px;background:currentColor;transform:rotate(-45deg)}.photo-gallery-heading h1{font-size:clamp(38px,4.5vw,64px);font-weight:600!important;letter-spacing:-2.3px!important;line-height:1.15;margin:12px 0 0;text-transform:none!important;color:#0f263d}.photo-gallery-intro{max-width:400px;padding-top:10px}.photo-gallery-intro>p{font-size:12px;line-height:1.8;margin:0 0 12px;color:#697582}.photo-video-link{display:inline-flex;align-items:center;gap:25px;font-size:10px;font-weight:650;color:#6f2a85}.photo-video-link>span{font-size:15px}
.photo-universe{position:relative;scroll-margin-top:105px;outline:none}.photo-focus{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 28%;height:clamp(430px,36vw,540px);min-height:0;background:#fff;border:1px solid #e0e3e6;border-radius:12px;overflow:hidden;box-shadow:0 18px 44px #10253808}.photo-focus-image{position:relative;min-height:0;isolation:isolate;overflow:hidden;background:#101c28;touch-action:pan-y;cursor:grab;user-select:none}.photo-focus-image.is-dragging{cursor:grabbing}.photo-focus-image>img:not([data-photo-ambient]){position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;will-change:transform,clip-path;user-select:none}.photo-ambient{position:absolute;inset:-35px;width:calc(100% + 70px);height:calc(100% + 70px);object-fit:cover;filter:blur(35px) brightness(.48);opacity:.7;z-index:0;pointer-events:none}.photo-image-shade{position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(0deg,#071b3260,transparent 23%,transparent 85%,#071b3210)}
.photo-enlarge{position:absolute;z-index:5;right:20px;bottom:20px;display:flex;align-items:center;gap:10px;border:1px solid #ffffff65;background:#13293c8c;backdrop-filter:blur(12px);border-radius:50px;color:#fff;font:500 10px 'Segoe UI',Arial,sans-serif;padding:11px 15px;cursor:pointer;transition:background .2s}.photo-enlarge svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.photo-enlarge:hover{background:#142b41df}.photo-gesture-hint{position:absolute;z-index:4;left:22px;bottom:31px;color:#ffffffbd;font-size:8px;letter-spacing:.08em;pointer-events:none}
.photo-story{display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:0;padding:30px 30px 26px;background:linear-gradient(145deg,#fff,#faf9fc)}.photo-story-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.photo-story-top>.photo-eyebrow{font-size:7px;line-height:1.8;max-width:70px;color:#7a8090}.photo-edition{display:flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums}.photo-edition>[data-photo-index]{font-size:45px;line-height:1;letter-spacing:-2.5px;font-weight:400;color:#10283f}.photo-edition>small{font-size:11px;color:#a3a9b2;white-space:nowrap}.photo-story-copy{margin:24px 0;min-width:0;overflow:auto;max-height:52%;scrollbar-width:thin}.photo-category{display:block;font-size:10px;line-height:1.6;color:#8a4c9f;letter-spacing:.09em;text-transform:uppercase;font-weight:650;margin-bottom:15px}.photo-story-copy>h2{font-size:clamp(23px,2.5vw,36px);font-weight:550!important;line-height:1.22!important;letter-spacing:-1px!important;text-transform:none!important;margin:0;color:#132c44;text-wrap:pretty}.photo-story-copy>p{font-size:11px;line-height:1.9;color:#7d8794;margin:16px 0 0;max-height:110px;overflow:auto}.photo-story-copy>p:empty{display:none}.photo-story-bottom{display:flex;flex-direction:column;gap:24px}.photo-stage-arrows{display:flex;gap:10px}.photo-stage-arrows>button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #dfe2e7;background:transparent;color:#10283f;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.photo-stage-arrows>button:last-child{background:#11283f;border-color:#11283f;color:#fff}.photo-stage-arrows button:hover{border-color:#79398c;background:#79398c;color:#fff}.photo-stage-arrows svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.35;fill:none;stroke-linecap:round;stroke-linejoin:round}.photo-story-note{font-size:9px;line-height:1.8;color:#929aa5;letter-spacing:.02em}
.photo-gallery-controls{display:flex;align-items:center;gap:28px;margin:21px 0 19px}.photo-progress{flex:1;height:1px;background:#dfe2e6;overflow:hidden}.photo-progress>span{display:block;width:100%;height:100%;transform-origin:left;background:#803b94;transition:transform .7s cubic-bezier(.22,1,.36,1)}.photo-gallery-controls>[data-photo-motion]{display:flex;align-items:center;gap:8px;border:0;background:none;padding:0 0 0 3px;color:#8a909b;font:500 10px 'Segoe UI',Arial;letter-spacing:.02em;cursor:pointer;min-height:26px}.photo-motion-icon{font-size:12px;line-height:1;color:#7e8490}
.photo-filmstrip{display:flex;gap:17px;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin;scrollbar-color:#d0c5d5 transparent;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.photo-thumb{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;flex:0 0 142px;min-width:0;text-align:left;border:0;border-bottom:2px solid transparent;background:none;border-radius:0;padding:0 0 9px;cursor:pointer;color:#9197a1;scroll-snap-align:center;transition:color .3s,border-color .3s}.photo-thumb-image{display:block;grid-column:1/-1;overflow:hidden;aspect-ratio:2/1;background:#e7eaee;border-radius:4px}.photo-thumb-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.55);opacity:.65;transition:filter .3s,opacity .3s,transform .5s cubic-bezier(.22,1,.36,1)}.photo-thumb[aria-pressed=true]{border-color:#79398c;color:#182f45}.photo-thumb[aria-pressed=true] img,.photo-thumb:hover img{filter:saturate(1);opacity:1}.photo-thumb:hover img{transform:scale(1.04)}.photo-thumb-number{font-size:9px;line-height:1.6;font-variant-numeric:tabular-nums}.photo-thumb-name{font-size:10px;font-weight:550;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-collection{padding-top:73px}.photo-collection-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.photo-collection-header h2{font-size:clamp(26px,3vw,41px);font-weight:550!important;letter-spacing:-1.2px!important;line-height:1.2;text-transform:none!important;margin:11px 0 0;color:#112a42}.photo-search{display:flex;align-items:center;gap:10px;border-bottom:1px solid #cfd4db;padding:10px 0;width:210px;max-width:100%}.photo-search>svg{flex:0 0 16px;width:16px;height:16px;fill:none;stroke:#8793a0;stroke-width:1.4}.photo-search>input{border:0;background:transparent;outline-offset:6px;font:11px 'Segoe UI',Arial;padding:0;min-width:0;width:100%;color:#19334c}.photo-search>input::placeholder{color:#939ba6}.photo-collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dfe3e8;margin-bottom:24px}.photo-category-tabs{display:flex;gap:26px;overflow-x:auto;min-width:0;scrollbar-width:none}.photo-category-tabs::-webkit-scrollbar{display:none}.photo-category-tabs>button{font:550 11px 'Segoe UI',Arial;line-height:1.5;white-space:nowrap;color:#88919e;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;cursor:pointer;padding:14px 0 17px;display:flex;gap:8px;align-items:center}.photo-category-tabs>button>span{font-size:8px;color:#a7aeb8;font-variant-numeric:tabular-nums}.photo-category-tabs>button[aria-pressed=true]{border-color:#79398c;color:#6f2c84}.photo-result-count{font-size:8px;color:#9aa2ad;white-space:nowrap;padding-bottom:4px;flex-shrink:0}
.photo-collection-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:245px;gap:28px 24px;align-items:stretch}.photo-tile{grid-column:span 4;display:flex;flex-direction:column;gap:12px;border:0;background:none;border-radius:0;padding:0;min-width:0;text-align:left;color:#162e43;cursor:pointer}.photo-tile-large{grid-column:span 8;grid-row:span 2}.photo-tile-small{grid-column:span 3}.photo-tile-half{grid-column:span 6}.photo-tile-image{display:block;position:relative;overflow:hidden;border-radius:7px;background:#e6e9ed;width:100%;flex:1;min-height:0}.photo-tile-image>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.22,1,.36,1),filter .5s}.photo-tile-open{position:absolute;bottom:14px;right:14px;background:#ffffffea;color:#18354b;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;font-size:15px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}.photo-tile:hover .photo-tile-image>img{transform:scale(1.035)}.photo-tile:hover .photo-tile-open,.photo-tile:focus-visible .photo-tile-open{opacity:1;transform:translateY(0)}.photo-tile-label{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:0 1px 3px;min-height:28px}.photo-tile-title{font-size:11px;line-height:1.5;font-weight:550}.photo-tile-number{font-size:8px;color:#9aa2af;font-variant-numeric:tabular-nums}.photo-tile[aria-pressed=true] .photo-tile-title{color:#79398c}.photo-empty{font-size:13px;color:#7e8c9b;padding:42px 0;border-top:1px solid #e1e6ed;line-height:1.7}
.photo-theatre{padding:0;width:calc(100vw - 48px);height:calc(100dvh - 48px);max-width:none;max-height:none;border:1px solid #ffffff15;border-radius:10px;background:#0b121c;color:#fff;box-shadow:0 40px 100px #0008;overflow:hidden}.photo-theatre::backdrop{background:#02070be8;backdrop-filter:blur(14px)}.photo-theatre-top{height:65px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 25px;color:#8d99a9;font:500 8px 'Segoe UI',Arial;letter-spacing:.16em}.photo-theatre-top>[data-theatre-count]{margin-left:auto;font-variant-numeric:tabular-nums;letter-spacing:.08em}.photo-theatre-close{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:none;color:#c6ccd5;border:1px solid #ffffff25;border-radius:50%;font:300 24px 'Segoe UI',Arial;cursor:pointer}.photo-theatre-image{height:calc(100% - 172px);padding:0 30px;overflow:hidden}.photo-theatre-image>img{width:100%;height:100%;object-fit:contain;display:block}.photo-theatre-caption{height:107px;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:15px 30px 24px}.photo-theatre-caption>div:first-child{min-width:0}.photo-theatre-caption [data-theatre-category]{display:block;color:#9f7bb4;font-size:7px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:7px}.photo-theatre-caption strong{display:block;font:550 19px 'Segoe UI',Arial;line-height:1.4;color:#edf1f6}.photo-theatre-caption p{font:11px/1.6 'Segoe UI',Arial;color:#909eae;margin:6px 0 0;max-height:32px;overflow:auto}.photo-theatre-caption p:empty{display:none}.photo-theatre-caption>div:last-child{display:flex;gap:10px;flex-shrink:0}.photo-theatre-caption button{display:grid;place-items:center;color:#d0d8e3;border:1px solid #ffffff30;background:none;width:42px;height:42px;border-radius:50%;font-size:19px;cursor:pointer}
.photo-gallery button:disabled,.photo-theatre button:disabled{opacity:.4;cursor:default}.photo-gallery button:focus-visible,.photo-gallery a:focus-visible,.photo-theatre button:focus-visible,.photo-universe:focus-visible{outline:2px solid #a66bbc;outline-offset:5px}.photo-gallery[data-motion-paused=true] *{transition:none!important}.photo-gallery[data-motion-paused=true] .photo-tile:hover img,.photo-gallery[data-motion-paused=true] .photo-thumb:hover img{transform:none}
@media(min-width:1550px){.photo-collection-grid{grid-auto-rows:280px}.photo-filmstrip{gap:22px}.photo-thumb{flex-basis:166px}}
@media(max-width:1050px){.photo-gallery>.wrap{width:calc(100% - 48px)}.photo-focus{grid-template-columns:minmax(0,1fr) 31%;height:450px}.photo-story{padding:25px 23px}.photo-story-copy>h2{font-size:26px}.photo-story-top{flex-direction:column;gap:15px}.photo-story-top>.photo-eyebrow{max-width:none;font-size:7px}.photo-edition>[data-photo-index]{font-size:35px}.photo-story-note{display:none}.photo-collection-grid{grid-auto-rows:215px;gap:24px 18px}.photo-category-tabs{gap:20px}.photo-result-count{display:none}.photo-gallery-heading{gap:35px}.photo-gallery-intro{max-width:350px}.photo-gallery-heading h1{font-size:48px}.photo-story-copy{margin:22px 0}.photo-thumb{flex-basis:122px}}
@media(max-width:700px){.photo-gallery{padding-top:27px;padding-bottom:48px}.photo-gallery>.wrap{width:calc(100% - 32px)}.photo-gallery-heading{display:block;margin:0 0 24px}.photo-eyebrow{font-size:8px;letter-spacing:.17em}.photo-gallery-heading h1{font-size:42px;letter-spacing:-1.5px!important;margin-top:11px}.photo-gallery-intro{max-width:none;padding-top:15px;display:flex;align-items:flex-start;gap:22px}.photo-gallery-intro>p{font-size:11px;line-height:1.8;flex:1;margin-bottom:0}.photo-video-link{font-size:9px;line-height:1.6;max-width:100px;gap:12px;padding-top:2px}.photo-focus{display:flex;flex-direction:column;height:auto;min-height:0;border-radius:9px}.photo-focus-image{min-height:0;height:320px;flex:none}.photo-story{padding:20px 21px;min-height:174px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 15px;background:#fff}.photo-story-top{grid-column:2;grid-row:1;display:block;align-self:start}.photo-story-top>.photo-eyebrow{display:none}.photo-edition{gap:5px}.photo-edition>[data-photo-index]{font-size:29px;letter-spacing:-1.5px}.photo-edition>small{font-size:9px}.photo-story-copy{grid-column:1;grid-row:1;margin:0;max-height:none;overflow:visible}.photo-story-copy>h2{font-size:26px;line-height:1.2!important;max-width:220px}.photo-category{font-size:9px;letter-spacing:.07em;margin-bottom:10px}.photo-story-copy>p{font-size:10px;line-height:1.7;margin-top:12px;max-height:65px}.photo-story-bottom{grid-column:1/-1;grid-row:2;align-self:end;margin-top:20px;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.photo-story-bottom:before{content:'SWIPE OR USE THE ARROWS';font-size:6px;letter-spacing:.13em;color:#a0a7b1}.photo-stage-arrows{gap:8px}.photo-stage-arrows>button{width:36px;height:36px}.photo-stage-arrows svg{width:17px;height:17px}.photo-gesture-hint{font-size:7px;left:17px;bottom:24px}.photo-enlarge{right:15px;bottom:15px;padding:10px 12px;font-size:8px;gap:8px}.photo-enlarge svg{width:12px;height:12px}.photo-gallery-controls{gap:20px;margin:17px 0 14px}.photo-gallery-controls>[data-photo-motion]{font-size:9px}.photo-thumb{flex-basis:101px;gap:6px;grid-template-columns:17px minmax(0,1fr);padding-bottom:8px}.photo-filmstrip{gap:12px;padding-bottom:8px}.photo-thumb-name,.photo-thumb-number{font-size:9px}.photo-thumb-image{aspect-ratio:1.65}.photo-collection{padding-top:46px}.photo-collection-header{display:block;margin-bottom:19px}.photo-collection-header h2{font-size:29px;letter-spacing:-.8px!important;margin-top:9px}.photo-search{width:100%;margin-top:20px;padding-bottom:11px}.photo-search>input{font-size:11px}.photo-collection-toolbar{margin-bottom:20px;gap:0}.photo-category-tabs{width:100%;gap:22px}.photo-category-tabs>button{font-size:9px;padding:13px 0 15px;gap:6px}.photo-collection-grid{grid-auto-rows:185px;gap:22px 13px}.photo-tile,.photo-tile-small{grid-column:span 6}.photo-tile-large{grid-column:span 12;grid-row:span 2}.photo-tile-title{font-size:10px}.photo-tile-number{font-size:7px}.photo-tile-label{gap:10px}.photo-tile-open{width:27px;height:27px;bottom:10px;right:10px;opacity:1;transform:none;font-size:13px}.photo-tile-image{border-radius:5px}.photo-theatre{width:calc(100vw - 20px);height:calc(100dvh - 20px);border-radius:7px}.photo-theatre-top{height:55px;padding:0 15px;gap:15px;font-size:7px}.photo-theatre-close{width:32px;height:32px;font-size:23px}.photo-theatre-image{height:calc(100% - 185px);padding:0 10px}.photo-theatre-caption{height:130px;padding:15px 17px;gap:17px}.photo-theatre-caption strong{font-size:15px}.photo-theatre-caption p{font-size:10px}.photo-theatre-caption button{width:33px;height:33px}.photo-theatre-caption>div:last-child{gap:6px}}
@media(max-width:380px){.photo-focus-image{height:285px}.photo-story-copy>h2{font-size:23px}.photo-gallery-heading h1{font-size:38px}.photo-gallery-intro{gap:15px}.photo-video-link{max-width:85px}.photo-story{padding:18px}.photo-stage-arrows>button{width:34px;height:34px}.photo-collection-grid{grid-auto-rows:170px}}
@media(prefers-reduced-motion:reduce){.photo-gallery *,.photo-theatre *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.photo-tile:hover img,.photo-thumb:hover img{transform:none!important}}
