/* Daily life photo collection — uses the site's existing colour and type tokens. */
.life-section{background:var(--white);border-top:1px solid var(--line)}
.life-section .section-heading{margin-bottom:38px}
.life-section .section-heading>p{max-width:380px}
.life-filter-row{display:flex;justify-content:space-between;align-items:center;gap:25px;border-block:1px solid var(--line);padding-block:13px;margin-bottom:32px}
.life-filters{display:flex;align-items:center;flex-wrap:wrap;column-gap:27px;row-gap:3px}
.life-filters button{position:relative;min-height:44px;padding:8px 0;font-size:12px;color:var(--muted);white-space:nowrap}
.life-filters button:after{content:"";position:absolute;bottom:2px;left:0;right:0;height:2px;background:transparent;transition:background .2s}
.life-filters button[aria-pressed=true]{color:var(--rose)}
.life-filters button[aria-pressed=true]:after{background:var(--rose)}
.life-filters button:hover{color:var(--rose)}
.life-count{font-size:10px;letter-spacing:.04em;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.life-photo{margin:0;min-width:0}
.life-photo-button{display:block;text-align:left;width:100%;padding:0}
.life-photo-image{display:block;position:relative;overflow:hidden;background:var(--pink);aspect-ratio:4/3}
.life-photo-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.life-photo-image>span{position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;background:rgba(255,253,249,.91);color:var(--ink);font-size:17px;border-radius:50%;transition:background .2s,color .2s}
.life-photo-button:hover .life-photo-image img{transform:scale(1.035)}
.life-photo-button:hover .life-photo-image>span{background:var(--rose);color:white}
.life-photo-caption{display:block;padding-top:14px}
.life-photo-caption small{display:block;font-size:9px;color:var(--rose);letter-spacing:.08em;margin-bottom:5px}
.life-photo-caption strong{display:block;font:400 17px/1.7 var(--serif);color:var(--ink)}
.life-gallery-bottom{display:flex;align-items:center;justify-content:center;position:relative;gap:25px;margin-top:40px;min-height:54px}
.life-gallery-bottom .button{font-size:12px;min-width:210px}
.life-gallery-bottom [data-life-more-label]{font:inherit}
.life-gallery-bottom p{font-size:10px;color:var(--muted);text-align:center}
.life-contexts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid var(--line);padding-top:32px;margin-top:57px}
.life-contexts article{min-width:0}
.life-contexts small{font-size:8px;letter-spacing:.13em;color:var(--rose)}
.life-contexts h3{font:400 22px/1.6 var(--serif);margin:10px 0 13px}
.life-contexts p{font-size:12px;line-height:1.95;color:var(--muted);max-width:360px}
@media(max-width:1000px){.life-filters{column-gap:20px}.life-count{align-self:flex-start;padding-top:15px}.life-grid{gap:26px 18px}.life-photo-caption strong{font-size:15px}.life-filter-row{align-items:flex-start}.life-contexts{gap:22px}.life-contexts h3{font-size:20px}}
@media(max-width:700px){.life-section .section-heading{margin-bottom:25px}.life-filter-row{display:block;margin-bottom:24px;padding-block:8px 12px}.life-filters{flex-wrap:nowrap;overflow-x:auto;gap:24px;max-width:100%;scrollbar-width:thin;scrollbar-color:#cfb6ae transparent;padding-bottom:5px}.life-filters button{font-size:11px;min-height:42px;flex-shrink:0}.life-count{font-size:9px;padding-top:8px}.life-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.life-photo-caption{padding-top:10px}.life-photo-caption small{font-size:8px;letter-spacing:.03em;margin-bottom:3px}.life-photo-caption strong{font:400 12px/1.7 var(--sans)}.life-photo-image>span{right:8px;bottom:8px;width:25px;height:25px;font-size:15px}.life-gallery-bottom{margin-top:29px;min-height:46px;gap:15px;flex-direction:column}.life-gallery-bottom .button{min-height:46px;padding:13px 20px;min-width:190px;font-size:11px}.life-contexts{display:block;padding-top:5px;margin-top:35px}.life-contexts article{padding-top:24px}.life-contexts h3{font-size:21px;margin:8px 0 10px}.life-contexts p{font-size:11px;max-width:none}.life-contexts small{font-size:7px}}
@media(prefers-reduced-motion:reduce){.life-photo-image img,.life-photo-image>span,.life-filters button:after{transition:none}}
@media print{.life-filter-row,.life-gallery-bottom{display:none}.life-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.life-photo[hidden]{display:block!important}.life-photo{break-inside:avoid}.life-photo-caption strong{font-size:12px}.life-contexts{break-inside:avoid}}
