
.photo-intro{padding:85px 6% 80px;display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:end;background:linear-gradient(110deg,#fff,#eef3f7 70%,#d8e5ef)}.photo-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:28px}.photo-intro h1{font-size:clamp(48px,5.6vw,82px);line-height:1.08;margin:0;font-weight:500}.photo-intro-copy{max-width:390px;padding-bottom:5px}.photo-intro-copy p{font-size:13px;line-height:1.9}.photo-intro-copy p:first-child{font-size:17px;margin-bottom:22px}.photo-intro-copy .text-link{margin-top:12px;display:inline-block;font-size:12px}.photo-gallery{padding:70px 6% 110px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:55px 35px;align-items:start;background:#fff}.photo{display:block;position:relative;padding:0;border:0;background:var(--paper);cursor:zoom-in;overflow:hidden;width:100%}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover img{transform:scale(1.025)}.photo>span{position:absolute;bottom:14px;right:14px;background:white;color:var(--ink);height:32px;width:32px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.photo:hover>span,.photo:focus-visible>span{opacity:1}.photo-0{grid-column:1/9;aspect-ratio:1.55}.photo-1{grid-column:10/13;aspect-ratio:.64;margin-top:110px}.photo-2{grid-column:2/7;aspect-ratio:1.05;margin-top:0}.photo-3{grid-column:8/13;aspect-ratio:1.25;margin-top:90px}.photo-4{grid-column:1/8;aspect-ratio:1.5;margin-top:20px}.photo-5{grid-column:9/13;aspect-ratio:1;margin-top:120px}.photo-6{grid-column:2/6;aspect-ratio:.72}.photo-7{grid-column:7/13;aspect-ratio:1.3;margin-top:110px}.photo-8{grid-column:1/7;aspect-ratio:1.4;margin-top:25px}.photo-9{grid-column:9/13;aspect-ratio:.7;margin-top:60px}.photo-10{grid-column:2/8;aspect-ratio:1.5}.photo-11{grid-column:9/12;aspect-ratio:.67;margin-top:100px}.photo-end{text-align:left;padding:75px 6%;background:var(--paper)}.photo-end>p{font-size:12px}.photo-end h2{font-size:clamp(34px,3.6vw,52px)}
#photo-lightbox{border:0;max-width:none;max-height:none;width:100vw;height:100dvh;padding:65px 85px 40px;background:#151824;color:white;overflow:hidden}#photo-lightbox::backdrop{background:#151824}#photo-lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}#lightbox-image{min-height:0;max-height:calc(100% - 50px);max-width:100%;width:auto;height:auto;object-fit:contain}#photo-lightbox figcaption{width:100%;display:flex;justify-content:space-between;gap:20px;color:#c8d2dc;font-size:11px}#photo-lightbox button{position:absolute;border:1px solid #ffffff40;background:none;color:white;cursor:pointer;width:44px;height:44px;font-size:22px}.lightbox-close{top:15px;right:20px}.lightbox-prev{left:18px;top:48%}.lightbox-next{right:18px;top:48%}
@media(max-width:750px){.photo-intro{padding:45px 7% 50px;grid-template-columns:1fr;gap:35px}.photo-intro h1{font-size:49px}.photo-gallery{padding:40px 7% 60px;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.photo-gallery .photo{grid-column:auto;margin-top:0;aspect-ratio:.85}.photo-gallery .photo:nth-child(3n+1){grid-column:1/-1;aspect-ratio:1.4}.photo-gallery .photo:nth-child(3n){margin-top:35px}.photo-end{padding:50px 7%}#photo-lightbox{padding:70px 20px 80px}#photo-lightbox figcaption{font-size:10px}.lightbox-prev,.lightbox-next{top:auto!important;bottom:20px}.photo>span{opacity:1;width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.photo img{transition:none}}
/* Tighter editorial mosaic with consistent gutters and shared row edges. */
.photo-gallery{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(70px,8vw,130px);gap:12px;padding-top:45px;padding-bottom:70px;align-items:stretch}
.photo-gallery .photo{margin:0;aspect-ratio:auto;height:100%;grid-column:auto;grid-row:auto}
.photo-gallery .photo-0{grid-column:1/8;grid-row:1/4}
.photo-gallery .photo-1{grid-column:8/13;grid-row:1/5}
.photo-gallery .photo-2{grid-column:1/8;grid-row:4/7}
.photo-gallery .photo-3{grid-column:8/13;grid-row:5/8}
.photo-gallery .photo-4{grid-column:1/8;grid-row:7/10}
.photo-gallery .photo-5{grid-column:8/13;grid-row:8/11}
.photo-gallery .photo-6{grid-column:1/5;grid-row:10/14}
.photo-gallery .photo-7{grid-column:5/9;grid-row:11/14}
.photo-gallery .photo-8{grid-column:9/13;grid-row:11/14}
.photo-gallery .photo-9{grid-column:1/5;grid-row:14/18}
.photo-gallery .photo-10{grid-column:5/10;grid-row:14/18}
.photo-gallery .photo-11{grid-column:10/13;grid-row:14/18}
@media(max-width:750px){.photo-gallery{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:7vw;gap:7px;padding:25px 4% 45px}.photo-gallery .photo:nth-child(3n+1){aspect-ratio:auto}.photo-gallery .photo:nth-child(3n){margin:0}.photo-gallery .photo img{object-fit:cover}}
.photo-gallery .photo-3{grid-row:5/7}.photo-gallery .photo-4{grid-column:1/9;grid-row:7/10}.photo-gallery .photo-5{grid-column:9/13;grid-row:7/10}.photo-gallery .photo-7{grid-column:5/13;grid-row:10/14}.photo-gallery .photo-8{grid-column:1/5;grid-row:14/17}.photo-gallery .photo-9{grid-column:5/9;grid-row:14/20}.photo-gallery .photo-10{grid-column:1/5;grid-row:17/20}.photo-gallery .photo-11{grid-column:9/13;grid-row:14/20}
.photo-0 img{object-position:center 78%}.photo-3 img{object-position:center 42%}.photo-10 img{object-position:center 65%}

/* Opening follows the main site's full-view editorial layout. */
.photo-intro{height:calc(100svh - 120px);min-height:650px;max-height:940px;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center;padding:60px 6% 70px}
.photo-intro h1{font-size:clamp(40px,4.4vw,65px);line-height:1.15;letter-spacing:-.06em;margin:0 0 30px}.photo-hero-copy{max-width:470px}.photo-intro-copy{max-width:410px;padding:0}.photo-intro-copy p:first-child{font-size:15px;line-height:1.9}.photo-hero-image{position:relative;isolation:isolate;width:100%;height:440px}.photo-hero-image:before{content:'';position:absolute;inset:22px -22px -22px 22px;background:#c2d4e2;z-index:-1}.photo-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% center}
@media(max-width:750px){.photo-intro{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;gap:40px;padding:45px 7% 65px}.photo-intro h1{font-size:clamp(39px,7vw,51px)}.photo-hero-image{height:auto;aspect-ratio:1.15;width:calc(100% - 15px)}.photo-hero-image:before{inset:15px -15px -15px 15px}.photo-hero-image img{aspect-ratio:1.15}}

.photo-gallery .photo-12{grid-column:1/7;grid-row:20/26}.photo-gallery .photo-13{grid-column:7/13;grid-row:20/26}

.photo-gallery .photo-14{grid-column:1/5;grid-row:26/31}.photo-gallery .photo-15{grid-column:5/13;grid-row:26/29}.photo-gallery .photo-16{grid-column:5/9;grid-row:29/34}.photo-gallery .photo-17{grid-column:1/5;grid-row:31/34}.photo-gallery .photo-18{grid-column:9/13;grid-row:29/34}.photo-gallery .photo-19{grid-column:1/13;grid-row:34/39}

/* Explicit media sizing prevents the site's shared image/dialog rules leaking in. */
.photo-gallery .photo{min-width:0;min-height:0;overflow:hidden}.photo-gallery .photo img{position:absolute;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0}
.photo>span svg{width:18px;height:18px}.photo-intro .text-link svg{width:16px;height:16px;vertical-align:middle;margin-left:8px}
#photo-lightbox{position:fixed;inset:0;margin:0;box-sizing:border-box;border-radius:0;transform:none;max-width:100vw;max-height:100dvh;touch-action:pan-y pinch-zoom}
#photo-lightbox figure{width:100%;max-width:none;min-width:0;min-height:0}#photo-lightbox #lightbox-image{position:static;display:block;flex:1;min-height:0;min-width:0;max-width:100%;max-height:calc(100% - 60px);width:100%;height:100%;object-fit:contain;margin:0;aspect-ratio:auto}
#photo-lightbox button{display:grid;place-items:center;padding:10px;z-index:3;border-radius:50%;background:#151824cc;-webkit-appearance:none;appearance:none}#photo-lightbox button svg{width:22px;height:22px}#photo-lightbox .lightbox-close{position:absolute;top:16px;right:16px}
@media(max-width:750px){
.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:8px;padding:25px 5% 45px}
.photo-gallery .photo{grid-column:auto!important;grid-row:auto!important;aspect-ratio:3/4!important;height:auto!important;margin:0!important;align-self:stretch}
.photo-gallery .photo:nth-child(5n+1){grid-column:1/-1!important;aspect-ratio:3/2!important}
#photo-lightbox{width:100%;height:100dvh;padding:70px 16px 95px}#photo-lightbox figure{gap:16px}#photo-lightbox figcaption{min-height:36px;align-items:start;line-height:1.6}#lightbox-caption{max-width:80%}#lightbox-count{white-space:nowrap}
#photo-lightbox .lightbox-prev,#photo-lightbox .lightbox-next{position:absolute;top:auto;bottom:max(20px,env(safe-area-inset-bottom));width:48px;height:48px}#photo-lightbox .lightbox-prev{left:calc(50% - 60px)}#photo-lightbox .lightbox-next{right:calc(50% - 60px)}
}
