/* Personal and practical material share one family record. */
.life-essentials{padding:78px 4vw 86px;scroll-margin-top:110px;background:var(--paper)}
.life-essentials-inner{max-width:1100px;margin:0 auto}
.life-essentials-intro{text-align:center;margin:0 auto 38px;max-width:930px}
.life-essentials-intro h2{font:400 clamp(38px,3.9vw,55px)/1.12 var(--serif);letter-spacing:-.04em}
.life-essentials-intro h2 em{font-style:normal;color:var(--teal)}
.life-essentials-intro>p{font-size:17px;line-height:1.65;color:var(--muted);max-width:790px;margin:22px auto 0}
.life-vault{background:#f5f6f2;border:1px solid #dde3d8;border-radius:16px;overflow:hidden}
.life-vault>h3{font:400 23px/1.3 var(--serif);letter-spacing:-.025em;color:var(--teal);padding:19px 32px;border-bottom:1px solid #dde3d8}
.life-vault-categories{display:grid;grid-template-columns:1fr 1fr}
.life-category{padding:29px 32px 31px;min-width:0}
.life-category+.life-category{border-left:1px solid #dde3d8}
.life-category-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;min-height:86px}
.life-category-intro h4{font:500 28px/1.2 var(--serif);letter-spacing:-.03em;color:var(--ink);margin:0}
.life-category-intro p{font-size:16px;line-height:1.5;color:var(--muted);max-width:39ch;margin:10px 0 0}
.life-memory-photo{display:block;width:112px;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:4px;flex:none;margin-top:4px}
.life-examples{display:flex;flex-wrap:wrap;gap:8px 0;padding:0;margin:22px 0 0;list-style:none;color:#4f685f;font-size:15px;line-height:1.5}
.life-examples li:not(:last-child):after{content:'·';display:inline-block;padding:0 11px;color:#8b998b}
@media(max-width:800px){
 .life-essentials{padding:62px 5vw 68px}
 .life-essentials-intro{margin-bottom:30px}
 .life-essentials-intro h2{font-size:clamp(34px,5.5vw,44px)}
 .life-essentials-intro>p{font-size:16px;margin-top:20px}
 .life-vault>h3{padding:18px 25px}
 .life-vault-categories{grid-template-columns:1fr}
 .life-category{padding:25px}
 .life-category+.life-category{border-left:0;border-top:1px solid #dde3d8}
 .life-category-intro{min-height:0}
 .life-category-intro h4{font-size:26px}
 .life-examples{margin-top:20px}
}
@media(max-width:450px){
 .life-memory-photo{width:82px}
 .life-category-intro{gap:16px}
 .life-category{padding:23px}
}
