/* Supplied photographs stay whole, including their photographic signatures. */
.photo-album{background:#f6f3ec;border-top:1px solid var(--rule)}
.album-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,7vw,100px);align-items:end;margin-bottom:38px}
.album-heading h2{font-size:clamp(36px,4.2vw,58px);line-height:1.04}
.album-heading h2 em,.album-video-layout h2 em{font-weight:500}
.album-heading>p,.album-heading>div>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.85;max-width:420px}
.album-heading .text-action{margin-top:13px;font-size:12px}
.album-grid--portraits,.album-grid--story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.album-card{margin:0;min-width:0;break-inside:avoid}
.album-open{display:block;position:relative;padding:9px;background:#eae8df;border:1px solid #cfd4c9;border-radius:3px;text-decoration:none;overflow:hidden;isolation:isolate;transition:background 250ms,border-color 250ms,box-shadow 250ms}
.album-open:hover{background:#e0e5d9;border-color:#8b9a86;box-shadow:0 10px 28px #163a2e0b}
.album-open:focus-visible{outline:2px solid var(--forest);outline-offset:5px}
.album-open .album-image{width:100%;height:auto;object-fit:contain;border-radius:1px}
.album-grid--portraits .album-image{aspect-ratio:3/4}
.album-expand{position:absolute;right:17px;bottom:17px;width:35px;height:35px;display:grid;place-items:center;color:var(--cream);background:#163a2ee6;border:1px solid #f8f5eb66;border-radius:50%;transition:background 200ms,transform 200ms}
.album-expand svg{width:17px;height:17px}
.album-open:hover .album-expand{background:var(--forest);transform:translateY(-2px)}
.album-card figcaption{display:flex;gap:14px;align-items:baseline;font-size:12px;color:var(--forest);margin-top:15px;line-height:1.6;padding-inline:2px}
.album-number{flex:none;font:11px var(--sans);letter-spacing:.08em;color:#77806d}
.album-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #d4d8cd;margin-top:34px;padding-top:23px}
.album-footer p{font-size:12px;color:var(--muted);max-width:550px;line-height:1.8}
.album-footer .action{font-size:12px;flex:none}
.photo-album--life{background:#f8f6f0}
.album-grid--life{columns:3;column-gap:25px}
.album-grid--life .album-card{margin-bottom:30px}
.album-credit{font-size:10px;line-height:1.6;color:var(--muted);text-align:right;border-top:1px solid var(--rule);padding-top:18px}
.photo-album--story{background:#e9ece3}
.album-grid--story{align-items:start;gap:32px}
.album-grid--story .album-card:nth-child(2){padding-top:56px}
.album-grid--story .album-card:nth-child(3){padding-top:22px}
.album-grid--story .album-image{aspect-ratio:2/3}
.album-card--story figcaption{font:500 26px/1.12 var(--serif);gap:13px;margin-top:20px;max-width:290px}
.album-card--story .album-number{font-size:10px}
.album-video-section{background:var(--cream);border-block:1px solid var(--rule)}
.album-video-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1040px}
.album-video-layout h2{font-size:clamp(40px,4.5vw,61px);line-height:1.03}
.album-video-layout>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:340px;margin-top:22px}
.album-video-layout .action{margin-top:17px;font-size:12px}
.album-video{width:100%;max-width:390px;justify-self:center}
.album-video video{display:block;width:100%;max-height:610px;border:9px solid #e5e6dc;outline:1px solid #cfd4c9;border-radius:3px;object-fit:contain;background:#11281e}
.album-video figcaption{font-size:10px;text-align:right;margin-top:13px}
.photo-dialog-open{overflow:hidden}
.album-viewer{border:1px solid #e0e6d331;border-radius:6px;width:min(1180px,calc(100% - 36px));max-width:none;max-height:calc(100dvh - 36px);margin:auto;padding:0;background:#122b22;color:#faf7ed;overflow:auto;box-shadow:0 24px 100px #0006}
.album-viewer::backdrop{background:#0b1912e8;backdrop-filter:blur(5px)}
.album-viewer[open]{animation:album-viewer-in 180ms ease-out}
.album-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 19px;border-bottom:1px solid #fbfaf51c}
.album-viewer-bar h2{color:inherit;font:12px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.album-viewer-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #fbfaf541;border-radius:50%;background:transparent;color:inherit}
.album-viewer-close svg{width:19px;height:19px}
.album-viewer-close:hover,.album-viewer-nav button:hover{background:#ffffff12}
.album-viewer :focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.album-viewer-photo{position:relative;display:grid;place-items:center;min-height:160px;padding:12px 18px}
.album-viewer-photo img{width:100%;height:calc(100dvh - 250px);max-height:760px;min-height:120px;object-fit:contain}
.album-viewer-copy{display:flex;align-items:start;justify-content:space-between;gap:25px;padding:7px 24px 18px}
.album-viewer-caption{color:inherit;font-size:12px;line-height:1.6;margin:0}
.album-viewer-credit{display:block;color:#d4decb;font-size:10px;line-height:1.6;margin-top:4px}
.album-viewer-original{font-size:10px;flex:none;color:#d4decb}
.album-viewer-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #fbfaf51c;padding:12px 20px}
.album-viewer-nav button{border:1px solid #fbfaf541;border-radius:4px;background:none;color:inherit;display:flex;gap:12px;align-items:center;justify-content:center;min-height:44px;font-size:12px;padding:8px 17px}
.album-viewer-nav svg{width:18px;height:18px}
.album-viewer-nav [data-photo-prev] svg{transform:rotate(180deg)}
.album-viewer-count{color:#e0e7d9;font-size:11px;letter-spacing:.12em;font-variant-numeric:tabular-nums;text-align:center}
.album-viewer-error{position:absolute;inset:auto 20px 24px;text-align:center;padding:12px;background:#122b22ed;color:var(--cream);font-size:12px}
@keyframes album-viewer-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.album-heading{gap:35px}.album-heading h2{font-size:43px}.album-grid--portraits,.album-grid--story{gap:18px}.album-grid--life{columns:2;column-gap:20px}.album-card--story figcaption{font-size:23px}.album-expand{width:31px;height:31px;right:14px;bottom:14px}.album-footer{align-items:start;gap:20px}.album-footer .action{font-size:11px}.album-video-layout{gap:40px}.album-video{max-width:320px}}
@media(max-width:600px){.album-heading{grid-template-columns:1fr;gap:20px;margin-bottom:26px}.album-heading h2{font-size:38px}.album-heading>p,.album-heading>div>p:not(.eyebrow){font-size:13px;line-height:1.8}.album-heading .text-action{margin-top:10px;font-size:11px}.album-grid--portraits{grid-template-columns:1fr;gap:28px;max-width:390px;margin-inline:auto}.album-open{padding:7px}.album-card figcaption{margin-top:12px;font-size:12px}.album-grid--life{columns:2;column-gap:12px}.album-grid--life .album-card{margin-bottom:23px}.album-grid--life .album-open{padding:5px}.album-grid--life figcaption{font-size:10px;gap:7px;line-height:1.5}.album-grid--life .album-number{font-size:9px}.album-grid--life .album-expand{width:27px;height:27px;right:10px;bottom:10px}.album-grid--life .album-expand svg{width:14px;height:14px}.album-footer{display:block;margin-top:27px;padding-top:20px}.album-footer p{font-size:12px}.album-footer .action{margin-top:13px}.album-credit{font-size:9px;text-align:left}.album-grid--story{grid-template-columns:1fr 1fr;gap:25px 15px}.album-grid--story .album-card:first-child{grid-column:1/-1;width:75%;justify-self:center}.album-grid--story .album-card:nth-child(2){padding-top:0}.album-grid--story .album-card:nth-child(3){padding-top:26px}.album-card--story figcaption{font-size:23px;gap:9px;max-width:250px}.album-card--story .album-number{font-size:9px}.album-video-layout{grid-template-columns:1fr;gap:27px}.album-video-layout h2{font-size:40px}.album-video-layout>div>p:not(.eyebrow){margin-top:16px;font-size:13px}.album-video{max-width:330px}.album-video video{max-height:560px}.album-viewer{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.album-viewer-bar{padding:8px 12px}.album-viewer-bar h2{font-size:10px}.album-viewer-close{width:40px;height:40px}.album-viewer-photo{padding:9px}.album-viewer-photo img{height:calc(100dvh - 258px)}.album-viewer-copy{padding:7px 13px 15px;gap:12px;flex-wrap:wrap}.album-viewer-caption{font-size:11px}.album-viewer-credit{font-size:9px}.album-viewer-original{font-size:10px}.album-viewer-nav{gap:10px;padding:11px 12px}.album-viewer-nav button{font-size:11px;padding:8px 12px;gap:7px}.album-viewer-nav svg{width:15px}.album-viewer-count{font-size:10px;letter-spacing:.05em}}
@media(prefers-reduced-motion:reduce){.album-viewer[open]{animation:none}.album-open,.album-expand{transition:none}.album-open:hover .album-expand{transform:none}}
