/* The NEARPEST photo album: full frames, quiet controls, original brand assets. */
.photos-page .site-header{position:absolute}
.photos-page .brand-backdrop{overflow:clip}
.photos-masthead{display:grid;grid-template-columns:1fr 1fr;background:#50583e;color:var(--cream);min-height:570px}
.photos-masthead-copy{padding:137px 40px 28px var(--page);display:flex;flex-direction:column;align-items:flex-start;position:relative}
.photos-masthead-copy::before{width:760px;right:-390px;top:40px;opacity:.19}
.photos-breadcrumb{display:flex;gap:14px;align-items:center;margin-bottom:25px;font-size:9px}
.photos-breadcrumb a{border-bottom:1px solid #f2f0e665}
.photos-masthead-copy>.eyebrow{font-size:9px;margin-bottom:16px}
.photos-masthead h1{font-family:var(--display);font-weight:400;font-size:clamp(55px,5.5vw,85px);line-height:.99;letter-spacing:-.055em;text-transform:uppercase}
.photos-masthead h1 span{color:#e5b865}
.photos-masthead-description{font-size:13px;line-height:1.8;margin-top:24px}
.photos-masthead-copy>.text-link{font-size:10px;margin-top:13px;gap:34px}
.photos-masthead-foot{display:flex;justify-content:space-between;gap:20px;width:100%;border-top:1px solid #f2f0e645;padding-top:17px;margin-top:27px;font-size:8px}
.photos-masthead-foot a{border-bottom:1px solid #f2f0e67a;padding-bottom:3px}
.photos-masthead-image{position:relative;margin:0;min-width:0;overflow:hidden}
.photos-masthead-image>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:50% 55%}
.photos-masthead-image::after{content:"";position:absolute;inset:50% 0 0;pointer-events:none;background:linear-gradient(transparent,#152015a3)}
.photos-masthead-image figcaption{position:absolute;left:30px;right:30px;bottom:28px;display:flex;justify-content:space-between;gap:15px;z-index:1;font-size:9px;text-shadow:0 1px 6px #000}
.photos-collection{padding-top:45px;padding-bottom:55px;scroll-margin-top:18px}
.photos-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:28px}
.photos-intro .eyebrow{font-size:9px;margin-bottom:15px}
.photos-intro h2{font-size:clamp(36px,4.1vw,60px);letter-spacing:-.05em;line-height:1.04}
.photos-intro>p{max-width:325px;font-size:13px;line-height:1.85;padding-bottom:4px}
.photos-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:28px}
.photo-filters{display:flex;flex-wrap:wrap;gap:9px}
.photo-filters[hidden]{display:none}
.photo-filters button{min-height:44px;border:1px solid var(--line);border-radius:0;padding:10px 15px;font-size:11px;font-weight:800;display:flex;gap:14px;align-items:center;transition:background .2s,color .2s,border-color .2s}
.photo-filters button span{font-family:var(--mono);font-size:9px;font-weight:400;opacity:.65}
.photo-filters button[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:var(--cream)}
.photo-filters button:hover{border-color:var(--ink)}
.photos-count{font-size:9px;white-space:nowrap}
.photo-grid{column-count:3;column-gap:22px}
.photo-grid.photo-grid-paged{column-count:auto}
.photo-batch{column-count:3;column-gap:22px}
.photos-pagination{display:flex;justify-content:center;padding:12px 0 32px;overflow-anchor:none}
.photos-pagination .button{min-width:270px;justify-content:center;font-size:11px}
.photo-card{break-inside:avoid;display:inline-block;width:100%;margin:0 0 26px;vertical-align:top}
.photo-card[hidden]{display:none}
.photo-link{display:block;position:relative;overflow:hidden;background:#d9d8cc}
.photo-link img{width:100%;height:auto;display:block;transition:transform .55s ease}
.photo-link:hover img{transform:scale(1.025)}
.photo-link:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
.photo-open{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:38px;height:38px;background:var(--cream);color:var(--ink);border-radius:50%;font-size:19px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.photo-link:hover .photo-open,.photo-link:focus-visible .photo-open{opacity:1;transform:none}
.photo-card figcaption{padding-top:12px}
.photo-card-caption{display:block;font-size:11px;line-height:1.5;font-weight:800}
.photo-card-meta{font-size:8px;display:flex;justify-content:space-between;gap:10px;margin-top:6px;color:#646654}
.photos-collection-end{border-top:1px solid var(--line);padding-top:25px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.photos-collection-end>.mono{font-size:9px;line-height:1.8}
.photos-collection-end .text-link{font-size:10px}
.photos-next{background:#50583e;color:var(--cream);padding:85px var(--page);text-align:center}
.photos-next::before{width:900px;right:-200px;top:-280px;opacity:.20}
.photos-next>.eyebrow{margin-bottom:22px;font-size:10px}
.photos-next h2{font-size:clamp(44px,5.8vw,88px);line-height:1.04;letter-spacing:-.05em;margin-bottom:30px}
.photos-next>div{display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:center}
.photos-next .button{min-width:240px}
.photos-next .text-link{font-size:10px}
body.photo-viewer-open{overflow:hidden}
.photo-viewer{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100%;height:100svh;max-width:none;max-height:none;background:#171c17;color:var(--cream);border:0;box-shadow:none;overflow:hidden}
.photo-viewer[open]{display:grid;grid-template-rows:72px minmax(0,1fr) auto}
.photo-viewer::backdrop{background:#171c17}
.photo-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 30px;border-bottom:1px solid #f2f0e626}
.photo-viewer-header>.mono{font-size:10px;letter-spacing:.08em}
.photo-viewer-close{display:flex;align-items:center;gap:22px;min-height:44px;font-size:11px;text-transform:uppercase;font-weight:800;padding:0 8px}
.photo-viewer-close>span{font-family:Arial,sans-serif;font-size:29px;font-weight:400}
.photo-viewer-stage{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:20px;padding:24px 22px;min-height:0}
.photo-viewer-stage>figure{margin:0;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}
.photo-viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.photo-viewer-stage img[hidden]{display:none}
.photo-viewer-arrow{border:1px solid #f2f0e647;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-size:25px;transition:background .2s,color .2s}
.photo-viewer-arrow:hover{background:var(--cream);color:var(--ink)}
.photo-viewer-arrow:disabled{opacity:.35;cursor:default}
.photo-viewer button:focus-visible,.photo-viewer a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.photo-viewer-footer{display:grid;grid-template-columns:1fr auto;gap:8px 30px;align-items:start;border-top:1px solid #f2f0e626;padding:21px 30px 24px}
#photo-viewer-caption{font-size:14px;line-height:1.6;font-weight:800}
#photo-viewer-category{font-size:9px;opacity:.7;margin-top:5px}
#photo-viewer-count{font-size:12px;padding-top:4px;text-align:right;white-space:nowrap}
.photo-viewer-key-hint{font-size:8px;grid-column:1 / -1;opacity:.55;margin-top:5px}
.photo-viewer-error{font-size:14px;line-height:2;text-align:center}
.photo-viewer-error a{display:block;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1600px){.photo-grid,.photo-batch{column-count:4}.photos-masthead{min-height:640px}.photos-masthead-copy{padding-top:160px}.photos-breadcrumb{margin-bottom:35px}}
@media(max-width:1100px){.photos-masthead{grid-template-columns:1.05fr 1fr;min-height:550px}.photos-masthead-copy{padding-right:28px}.photos-masthead h1{font-size:clamp(47px,5.65vw,65px)}.photos-breadcrumb{margin-bottom:25px}.photos-masthead-description{font-size:12px}.photos-masthead-foot{font-size:7px}.photos-toolbar{align-items:flex-start;gap:15px}.photo-filters{gap:7px}.photo-filters button{font-size:10px;padding:10px 12px}.photos-count{padding-top:17px;font-size:8px}.photo-grid,.photo-batch{column-gap:18px}}
@media(max-width:760px){
 .photos-masthead{grid-template-columns:1fr;min-height:0}
 .photos-masthead-copy{padding:112px var(--page) 25px}
 .photos-breadcrumb{font-size:8px;margin-bottom:28px;gap:10px}
 .photos-masthead-copy>.eyebrow{font-size:8px;margin-bottom:13px}
 .photos-masthead h1{font-size:clamp(48px,11vw,76px);line-height:1.01}
 .photos-masthead-description{margin-top:20px;font-size:12px;line-height:1.7}
 .photos-masthead-copy>.text-link{margin-top:8px;font-size:9px}
 .photos-masthead-foot{margin-top:25px;padding-top:15px;font-size:7px}
 .photos-masthead-copy::before{width:650px;right:-275px;top:30px;opacity:.17}
 .photos-masthead-image{height:310px}
 .photos-masthead-image>img{object-position:50% 60%}
 .photos-masthead-image figcaption{font-size:8px;left:var(--page);right:var(--page);bottom:20px}
 .photos-collection{padding-top:42px;padding-bottom:38px}
 .photos-intro{display:block;margin-bottom:24px}
 .photos-intro .eyebrow{font-size:8px;margin-bottom:13px}
 .photos-intro h2{font-size:clamp(31px,7.8vw,48px);line-height:1.05}
 .photos-intro>p{max-width:420px;margin-top:20px;font-size:12px;line-height:1.75;padding:0}
 .photos-toolbar{display:block;padding:16px 0;margin-bottom:22px}
 .photo-filters{gap:7px;display:grid;grid-template-columns:1fr 1fr}
 .photo-filters button{font-size:10px;justify-content:space-between;min-height:44px;padding:10px 13px}
 .photos-count{font-size:8px;padding-top:14px}
 .photo-grid,.photo-batch{column-count:2;column-gap:12px}
 .photos-pagination{padding:8px 0 24px}
 .photos-pagination .button{font-size:10px;min-width:240px}
 .photo-card{margin-bottom:22px}
 .photo-card figcaption{padding-top:9px}
 .photo-card-caption{font-size:10px;line-height:1.5}
 .photo-card-meta{font-size:7px;margin-top:5px;gap:4px}
 .photo-open{width:30px;height:30px;font-size:17px;right:8px;bottom:8px;opacity:1;transform:none}
 .photos-collection-end>.mono{font-size:7px}.photos-collection-end .text-link{font-size:8px;gap:15px}
 .photos-next{padding:58px var(--page)}.photos-next h2{font-size:clamp(37px,9vw,58px)}.photos-next>.eyebrow{font-size:8px;margin-bottom:18px}.photos-next>div{gap:18px}.photos-next .button{min-width:230px;font-size:10px}.photos-next .text-link{font-size:9px}
 .photo-viewer[open]{grid-template-rows:64px minmax(0,1fr) auto}
 .photo-viewer-header{padding:10px 18px}.photo-viewer-header>.mono{font-size:8px}.photo-viewer-close{font-size:9px;gap:14px}
 .photo-viewer-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:0;padding:12px 6px}
 .photo-viewer-arrow{width:40px;height:44px;border-radius:0;border:0;font-size:26px}
 .photo-viewer-footer{padding:18px 20px 24px;gap:8px 15px}#photo-viewer-caption{font-size:12px}#photo-viewer-category{font-size:8px}#photo-viewer-count{font-size:10px}.photo-viewer-key-hint{display:none}
}
@media(max-width:430px){.photos-masthead-image{height:260px}.photos-masthead-copy{padding-top:110px}.photos-masthead h1{font-size:12vw}.photos-intro h2{font-size:8vw}.photo-card-meta{font-size:6.5px}.photo-viewer-stage{position:relative;display:block;padding:12px 8px 60px}.photo-viewer-stage>figure{width:100%}.photo-viewer-arrow{position:absolute;bottom:5px;width:48px;height:44px;border:1px solid #f2f0e647;border-radius:50%}#photo-viewer-prev{left:calc(50% - 58px)}#photo-viewer-next{right:calc(50% - 58px)}}
@media(prefers-reduced-motion:reduce){.photo-link img,.photo-open{transition:none}.photo-link:hover img{transform:none}}

/* Rounded frames and outlined filters carry the brand through the collection. */
.photo-link{border-radius:var(--radius-card)}
.photo-filters button{border-radius:var(--radius-control);border-width:1.5px}
@media(max-width:760px){.photo-viewer-arrow{border-radius:50%}}
