#life.life{--life-bg:#141414;position:relative;background:var(--life-bg);color:#f2f2ee;padding:80px 0 0;overflow:clip}
#life .life-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:48px;margin-bottom:80px}
#life h2{margin:0;color:#f2f2ee}#life-title span{color:var(--red)}
.life-heading>div{max-width:540px;padding-top:12px}.life-heading p{font-size:15px;line-height:1.9;color:#b9b9b2;margin:0}.life-heading .life-intro-en{font-size:12px;color:#85857f;margin-top:12px}
.life-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;border-top:1px solid #41413e;padding-top:24px;margin-bottom:36px}
.life-section-heading span{font-size:10px;letter-spacing:.12em;color:#ef6a60}
.life-section-heading h3{font-family:Georgia,'Noto Serif SC',serif;font-size:clamp(30px,3.4vw,48px);font-weight:400;margin:12px 0 0}
.life-section-heading>p{font-size:12px;color:#999;max-width:310px}
.life-masonry{columns:3;column-gap:28px}
.life-image-card{position:relative;display:block;width:100%;padding:6px;border:0;background:#eee;box-shadow:0 5px 15px #0003;text-align:left;break-inside:avoid;margin:0 0 28px;transition:transform 350ms ease,box-shadow 350ms ease}
.life-image-card img{display:block;width:100%;height:auto}
.life-image-card:hover,.life-image-card:focus-visible{transform:scale(1.03);box-shadow:0 12px 30px #0006;z-index:2}
.life-image-card:focus-visible{outline:2px solid #ef6a60;outline-offset:5px}
.life-image-info{position:absolute;inset:auto 6px 6px;padding:35px 14px 14px;background:linear-gradient(transparent,#141414ee);color:#fff;opacity:0;transition:opacity 250ms ease}
.life-image-info strong{display:block;font-size:14px;font-weight:500}.life-image-info small{display:block;font-size:10px;line-height:1.6;margin-top:5px;color:#ccc}
.life-image-card:hover .life-image-info,.life-image-card:focus-visible .life-image-info{opacity:1}
.life-observations{margin-top:80px}
.life-ring{position:relative;height:590px;background:var(--life-bg);touch-action:pan-y;cursor:grab;isolation:isolate}
.life-ring.is-dragging{cursor:grabbing}.life-ring:focus-visible{outline:1px solid #ef6a60;outline-offset:4px}
.life-ring .life-image-card{position:absolute;left:50%;top:45%;margin:0;user-select:none;cursor:inherit;transition:box-shadow 250ms ease}
.life-ring .life-image-card img{height:210px;object-fit:cover;pointer-events:none}
.life-ring .life-image-card:hover{box-shadow:0 10px 35px #0008}
.life-ring-hint{text-align:center;font-size:10px;letter-spacing:.07em;color:#999;padding-bottom:56px}.life-ring-hint span{margin:0 18px;color:#ef6a60;font-size:18px}
.life-archive-entry{border-top:1px solid #41413e;padding-block:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.life-archive-entry>span{font-size:10px;letter-spacing:.1em;color:#888}
.life-full-toggle{padding:12px 0;border:0;background:none;color:#eee;font-size:14px}.life-full-toggle:hover{color:#ef6a60}
.life-archive-grid{columns:4;column-gap:20px;padding-bottom:40px}.life-full-archive[hidden]{display:none}
.life-enter{opacity:0;translate:0 30px;transition:opacity 700ms ease,translate 850ms ease,transform 350ms ease,box-shadow 350ms ease}.life-enter.is-revealed{opacity:1;translate:0 0}
.life-ring.life-enter{translate:0 14px;will-change:opacity,translate;transition:opacity 1s ease-out,translate 1s ease-out}
.life-ring.life-enter.is-revealed{translate:0 0}
.life-dialog{padding:64px 24px 24px;border:1px solid #41413e;background:#141414;color:#eee;width:min(900px,94vw);max-height:94dvh;overflow:auto;overscroll-behavior:contain}.life-dialog::backdrop{background:#141414e8}
.life-close{position:absolute;right:16px;top:10px}.life-close,.life-detail-copy button{border:1px solid #ffffff30;color:inherit;background:#141414;padding:10px 14px;min-height:44px;font-size:12px}
.life-detail-art{height:min(55dvh,520px)}.life-detail-art img{width:100%;height:100%;object-fit:contain}
.life-detail-copy{padding-top:20px}.life-detail-copy>span{font-size:11px;color:#ef6a60}.life-detail-copy h3{font-size:24px;margin:8px 0}.life-detail-copy p{font-size:14px;color:#bbb}.life-detail-copy>div{display:flex;justify-content:space-between;margin-top:20px}
@media(max-width:900px){.life-masonry{columns:2}.life-archive-grid{columns:3}}
@media(max-width:767px){#life.life{padding-top:52px}#life .life-heading{display:block;margin-bottom:45px}.life-heading>div{padding-top:20px}.life-heading p{font-size:13px}.life-section-heading{display:block}.life-section-heading>p{margin-top:12px}.life-masonry{column-gap:14px}.life-image-card{padding:4px;margin-bottom:14px}.life-image-info{inset:auto 4px 4px;padding:25px 8px 8px;opacity:1}.life-image-info strong{font-size:11px}.life-masonry .life-image-info small{display:none}.life-observations{margin-top:48px}.life-ring{height:440px}.life-ring .life-image-card img{height:155px}.life-ring .life-image-info small{display:none}.life-ring-hint{font-size:8px;padding-bottom:30px}.life-ring-hint span{margin:0 8px}.life-archive-entry{align-items:start;flex-direction:column;gap:6px}.life-archive-grid{columns:2;column-gap:14px}.life-detail-art{height:45dvh}}
@media(hover:none){.life-image-info{opacity:1}}
@media(prefers-reduced-motion:reduce){.life-enter,.life-ring.life-enter{opacity:1;translate:none;transition:none;will-change:auto}.life-image-card,.life-image-info{transition:none}}
