/* Life at CEFC — page-specific styles only */
.life-page{--life-burgundy:#7b1f36;--life-gold:#d3aa4b;--life-navy:#12213a;--life-cream:#fbf7ef;--life-ink:#2a2a2a;background:#fff;color:var(--life-ink)}
.life-page .page-hero{min-height:420px;display:flex;align-items:flex-end;position:relative;isolation:isolate;background-position:center 34%;background-size:cover}
.life-page .page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,26,46,.88),rgba(16,26,46,.52) 58%,rgba(16,26,46,.15));z-index:-1}
.life-page .page-hero>div{max-width:820px;padding-bottom:64px}
.life-page .page-hero h1{max-width:760px}
.life-hero-intro{font-size:1.15rem;line-height:1.75;max-width:720px;margin-top:14px}
.life-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto;padding:78px 0}
.life-intro{text-align:center;max-width:820px;margin:0 auto 42px}
.life-intro p:last-child{font-size:1.08rem;line-height:1.8;color:#555}
.life-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:0;border-radius:28px;overflow:hidden;background:var(--life-navy);box-shadow:0 22px 55px rgba(12,25,47,.18)}
.life-feature-media{min-height:430px;position:relative}
.life-feature-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.life-feature-copy{padding:46px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.life-feature-copy h2{font-size:clamp(2rem,3vw,3.1rem);line-height:1.08;margin:10px 0 18px;color:#fff}
.life-feature-copy p{line-height:1.75;color:rgba(255,255,255,.88)}
.life-meta{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.life-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:.83rem;font-weight:800;letter-spacing:.02em;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.16)}
.life-chip.gold{background:var(--life-gold);color:#17233b;border-color:var(--life-gold)}
.life-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:#fff;font-weight:800;text-decoration:none}
.life-link:hover{text-decoration:underline}
.life-filter-wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:42px 0 30px}
.life-filter{appearance:none;border:1px solid #e0d7c8;background:#fff;color:#4f4650;border-radius:999px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 4px 15px rgba(0,0,0,.04)}
.life-filter:hover,.life-filter.active{background:var(--life-burgundy);border-color:var(--life-burgundy);color:#fff}
.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.life-card{background:#fff;border:1px solid #ece6dc;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px rgba(25,33,47,.08);transition:transform .22s ease,box-shadow .22s ease}
.life-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(25,33,47,.14)}
.life-card-media{aspect-ratio:16/10;overflow:hidden;background:#eee}
.life-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.life-card:hover .life-card-media img{transform:scale(1.035)}
.life-card-body{padding:24px}
.life-card-body h3{font-size:1.3rem;line-height:1.25;margin:9px 0 10px;color:var(--life-navy)}
.life-card-body p{color:#5d5a5a;line-height:1.68;margin-bottom:0}
.life-card .life-meta{gap:7px}
.life-card .life-chip{background:#f4efe6;color:#70431f;border-color:#eee0ca;font-size:.76rem;padding:6px 10px}
.life-card .life-chip.category{background:#f6e9ed;color:var(--life-burgundy);border-color:#eed9df}
.life-card details{margin-top:16px;border-top:1px solid #eee5da;padding-top:14px}
.life-card summary{cursor:pointer;font-weight:800;color:var(--life-burgundy);list-style:none}
.life-card summary::-webkit-details-marker{display:none}
.life-card summary::after{content:" +"}
.life-card details[open] summary::after{content:" −"}
.life-card details p{margin-top:12px}
.life-purpose{margin-top:72px;background:linear-gradient(135deg,#fbf7ef,#f5ecdc);border:1px solid #e9dcc8;border-radius:28px;padding:46px}
.life-purpose-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center}
.life-purpose h2{color:var(--life-navy);margin-top:4px}
.life-purpose-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.life-purpose-item{background:#fff;border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(61,46,33,.06)}
.life-purpose-item strong{display:block;color:var(--life-burgundy);margin-bottom:5px}
.life-purpose-item span{color:#625b54;font-size:.94rem;line-height:1.5}
.life-new-update{margin-top:70px;text-align:center;background:var(--life-navy);border-radius:28px;padding:50px 28px;color:#fff}
.life-new-update h2{color:#fff;margin:7px 0 12px}
.life-new-update p{max-width:710px;margin:0 auto 24px;color:rgba(255,255,255,.84);line-height:1.7}
.life-page [hidden]{display:none!important}
@media(max-width:900px){.life-feature{grid-template-columns:1fr}.life-feature-media{min-height:360px}.life-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.life-purpose-grid{grid-template-columns:1fr}}
@media(max-width:640px){.life-shell{width:min(100% - 28px,1180px);padding:58px 0}.life-page .page-hero{min-height:390px}.life-page .page-hero>div{padding-bottom:46px}.life-feature-media{min-height:260px}.life-feature-copy{padding:30px 24px}.life-grid{grid-template-columns:1fr}.life-purpose{padding:30px 22px}.life-purpose-list{grid-template-columns:1fr}.life-filter-wrap{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.life-filter{white-space:nowrap}}

/* Temporary illustration treatment for updates awaiting an actual photograph */
.life-card-media-placeholder{position:relative}
.life-placeholder-note{position:absolute;left:12px;bottom:12px;background:rgba(18,33,58,.9);color:#fff;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.life-placeholder-caption{font-size:.82rem!important;color:#7a746d!important;font-style:italic;border-left:3px solid var(--life-gold);padding-left:10px}
.life-inline-link{color:var(--life-burgundy);font-weight:800;text-decoration:none}
.life-inline-link:hover{text-decoration:underline}
