/* LIFE Groups page — builds on styles.css variables (--navy, --blue, --cream, --ink, --gold) */
.life-page { background:#fff; }

/* Hero — matches the deep teal of the previous LIFE Groups page */
.lg-hero { padding:110px 20px 100px; text-align:center; color:#fff;
  background:radial-gradient(circle at 75% 20%,#47746655,transparent 34%),linear-gradient(145deg,#0b3340,#102a38); }
.lg-hero-inner { width:min(820px,100%); margin:auto; }
.lg-hero .eyebrow { color:#bfe0d6; }
.lg-hero h1 { margin:.15em 0 .35em; font:clamp(2.8rem,7vw,5.8rem)/.98 Georgia,serif; letter-spacing:-.035em; }
.lg-lead { max-width:620px; margin:0 auto; color:#dce8e4; font-size:1.18rem; }
.lg-start { margin:28px 0 8px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.lg-pill { padding:8px 16px; border-radius:999px; border:1px solid #ffffff40; background:#ffffff12; font-weight:700; font-size:.95rem; }
.lg-actions { margin-top:22px; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }

/* LIFE letters */
.lg-meaning h2, .lg-rhythm h2, .lg-faq h2 { font-family:Georgia,serif; }
.lg-letters { margin-top:36px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.lg-letter { background:var(--cream); border-radius:20px; padding:30px 26px; border-top:4px solid var(--gold); }
.lg-initial { display:block; font:700 3.6rem/1 Georgia,serif; color:var(--navy); }
.lg-letter h3 { margin:.5em 0 .35em; color:var(--navy); font-size:1.15rem; line-height:1.3; }
.lg-letter p { margin:0; color:#46525c; }

/* Living LIFE Together */
.lg-track { background:var(--navy); color:#fff; }
.lg-track-inner { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; }
.lg-track .eyebrow { color:var(--gold); }
.lg-track h2 { font-family:Georgia,serif; color:#fff; }
.lg-track-copy p:not(.eyebrow) { color:#dbe5ef; font-size:1.08rem; }
.lg-track-copy .lg-track-close { font:italic 1.3rem Georgia,serif; color:#fff; border-left:3px solid var(--gold); padding-left:16px; }
.lg-track-inner { align-items:start; }
.lg-details { position:sticky; top:100px; }
.lg-details { margin:0; background:#fff; color:var(--ink); border-radius:20px; padding:30px; box-shadow:0 24px 60px #0a1c3055; }
.lg-details > div { padding:12px 0; border-bottom:1px solid #e6e8ea; }
.lg-details > div:last-child { border-bottom:0; }
.lg-details dt { text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:800; color:var(--blue); }
.lg-details dd { margin:2px 0 0; font-weight:700; font-size:1.05rem; }
.lg-details-cta { padding-top:18px !important; }
.lg-details-cta .button { margin:0; width:100%; text-align:center; }

/* Seasons */
.lg-sub { max-width:640px; color:#46525c; font-size:1.08rem; }
.lg-seasons { list-style:none; margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.lg-seasons li { display:flex; flex-direction:column; gap:4px; padding:24px; border:1px solid #e1e4e8; border-radius:18px; }
.lg-seasons li.is-current { border:2px solid var(--blue); background:#f2f7fc; }
.lg-season-name { font:700 1.3rem Georgia,serif; color:var(--navy); }
.lg-season-dates { font-weight:700; }
.lg-season-note { color:#5b6670; font-size:.95rem; }
.lg-seasons li.is-current .lg-season-note { color:var(--blue); font-weight:800; }

/* FAQ */
.lg-faq { max-width:860px; padding-top:20px; }
.lg-faq details { border-bottom:1px solid #e1e4e8; padding:16px 0; }
.lg-faq summary { cursor:pointer; font-weight:800; font-size:1.08rem; color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:16px; }
.lg-faq summary::-webkit-details-marker { display:none; }
.lg-faq summary::after { content:"+"; font-size:1.4rem; line-height:1; color:var(--blue); }
.lg-faq details[open] summary::after { content:"–"; }
.lg-faq details p { margin:10px 0 0; color:#46525c; }

/* Closing CTA */
.lg-cta { padding:80px 20px; text-align:center; color:#fff; background:linear-gradient(145deg,#0b3340,#102a38); }
.lg-cta h2 { margin:0 0 .3em; font:clamp(2rem,5vw,3.4rem)/1.1 Georgia,serif; }
.lg-cta p { margin:0; color:#dce8e4; font-size:1.1rem; }

@media (max-width:960px) {
  .lg-letters, .lg-seasons { grid-template-columns:repeat(2,1fr); }
  .lg-track-inner { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:620px) {
  .lg-hero { padding:80px 16px 72px; }
  .lg-letters, .lg-seasons { grid-template-columns:1fr; }
  .lg-details { padding:22px; }
}

/* Hero motto */
.lg-motto { margin:0 0 14px; font:italic 1.2rem Georgia,serif; color:#e9d7ae; }

/* Around the table */
.lg-table-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.lg-table h2 { font-family:Georgia,serif; }
.lg-expect { list-style:none; margin:24px 0 0; padding:0; }
.lg-expect li { position:relative; padding:12px 0 12px 30px; border-bottom:1px solid #e6e8ea; font-weight:600; }
.lg-expect li::before { content:""; position:absolute; left:4px; top:21px; width:10px; height:10px; border-radius:50%; background:var(--gold); }
.lg-quote { margin:0 0 24px; padding:28px 30px; background:var(--navy); color:#fff; border-radius:20px; font:italic clamp(1.4rem,2.6vw,1.9rem)/1.3 Georgia,serif; }
.lg-hope { background:var(--cream); border-radius:20px; padding:28px 30px; }
.lg-hope h3 { margin:0 0 .4em; color:var(--navy); font-family:Georgia,serif; font-size:1.3rem; }
.lg-hope p { margin:0 0 .8em; color:#46525c; }
.lg-hope p:last-child { margin:0; }
@media (max-width:960px) { .lg-table-grid { grid-template-columns:1fr; gap:28px; } }

/* Living L.I.F.E. Together subtitle + hero "now gathering" line */
.lg-track-copy .lg-track-sub { margin:-.2em 0 1.2em; font:italic 1.25rem/1.45 Georgia,serif; color:var(--gold) !important; }
.lg-now { margin:26px 0 0; color:#dce8e4; font-size:1.05rem; }
.lg-now strong { color:#fff; }
.lg-now + .lg-start { margin-top:14px; }
