/* Personal photo timeline. Edit colors and spacing here. */
.photo-history{margin:65px 0 85px;padding:55px 32px;background:#f6faf7;border:1px solid #dfebe4}
.photo-history-heading{text-align:center;max-width:620px;margin:0 auto 45px}.photo-history-heading h2{font-size:clamp(30px,4vw,46px);margin:15px 0}.photo-history-heading p{line-height:1.8;color:#637e72}
.childhood-paths{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:920px;margin:auto}.childhood-lane{min-width:0;border-left:1px solid #b9d9cd;padding-left:24px}.childhood-lane>h3{font:italic 35px Georgia;margin:12px 0 25px}.childhood-lane>.eyebrow{font-size:9px;letter-spacing:1.5px}
.life-photo{margin:0 0 30px;background:white;padding:10px;box-shadow:0 8px 25px #23463808;transition:transform .35s,box-shadow .35s;position:relative;min-width:0}.life-photo:hover{transform:translateY(-5px) rotate(.5deg);box-shadow:0 15px 28px #23463815}.childhood-lane>.life-photo:before{content:'';position:absolute;left:-30px;top:28px;width:9px;height:9px;border:1px solid #4f9a85;background:#f6faf7;border-radius:50%}
.life-placeholder,.life-photo-button{width:100%;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:linear-gradient(135deg,#e9f2eb,#f7f4e8);color:#719184;border:1px dashed #b7cdbd;border-radius:0;font:italic 14px Georgia;padding:0;overflow:hidden}.photo-outline{width:58px;height:47px;border:1px solid #a4bca8;display:grid;place-items:center;font-size:28px;transform:rotate(-7deg)}
.life-photo-button{border:0;cursor:zoom-in}.life-photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.life-photo-button:hover img{transform:scale(1.045)}.life-photo-button:focus-visible{outline:3px solid #109e95;outline-offset:3px}
.life-photo figcaption{padding:14px 8px 8px}.life-photo h4{font:21px Georgia;margin:6px 0 9px}.life-photo figcaption p{font-size:12px;line-height:1.7;margin:0;color:#6a8075}.life-date{font-size:9px!important;letter-spacing:1.6px;text-transform:uppercase;color:#248878!important}
.paths-join{text-align:center;position:relative;padding:25px 0 40px}.paths-join:before{content:'';display:block;width:50%;height:30px;border:1px solid #b9d9cd;border-top:0;border-radius:0 0 60px 60px;margin:-25px auto 15px}.paths-join>span{display:inline-grid;place-items:center;border-radius:50%;width:52px;height:52px;background:#e0efe6;color:#188b78;font-size:30px}.paths-join p{font:italic 22px Georgia;color:#54796a}
.shared-path{border-left:1px solid #b9d9cd;margin-left:18px;padding-left:32px}.life-chapter{position:relative;margin-bottom:50px}.life-chapter:before{content:'';position:absolute;left:-38px;top:5px;width:9px;height:9px;background:#319d85;border-radius:50%;border:1px solid #319d85}.life-chapter-heading h3{font-size:30px;margin:12px 0}.life-chapter-heading>p:last-child{font-size:13px;color:#6a8075;line-height:1.8;margin-bottom:25px}.chapter-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.timeline-end{text-align:center;font:italic 24px Georgia;color:#4c7c6b;margin:40px 0 0}
#our-photo-viewer{width:min(850px,90vw);max-height:90vh;overflow:auto;border:0;padding:20px;background:#f8fbf7;color:#263c3b}#our-photo-viewer::backdrop{background:#102e29dc}#our-photo-viewer img{display:block;max-height:62vh;max-width:100%;margin:15px auto;object-fit:contain}#our-photo-viewer h3,#our-photo-viewer p{text-align:center}#our-photo-viewer .toolbar{justify-content:center}.photo-count{font-size:12px;color:#648582}
@media(max-width:650px){.photo-history{padding:35px 16px}.childhood-paths{gap:16px}.childhood-lane{padding-left:12px}.childhood-lane>.eyebrow{font-size:8px;letter-spacing:.4px}.childhood-lane>h3{font-size:26px}.childhood-lane>.life-photo:before{left:-18px}.life-photo{padding:6px}.life-photo h4{font-size:18px}.life-photo figcaption{padding:12px 4px 6px}.life-placeholder{font-size:11px;text-align:center;gap:10px}.photo-outline{width:36px;height:30px;font-size:20px}.shared-path{margin-left:4px;padding-left:20px}.life-chapter:before{left:-26px}.chapter-photos{grid-template-columns:1fr;gap:0}.paths-join p{font-size:19px}.life-chapter-heading h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.life-photo,.life-photo-button img{transition:none}.life-photo:hover,.life-photo-button:hover img{transform:none}}

/* Show the full personal photo, including portrait and landscape images. */
.life-photo-button{background:#e9f2eb}.life-photo-button img{object-fit:contain}.life-photo-button:hover img{transform:none}
