
#page-life-lens{ background:#FFFCF7 !important; }
.ll-wrap{ max-width:1160px; margin:0 auto; padding:34px 20px 90px; font-family:'Nunito',system-ui,sans-serif; }
.ll-eyebrow{ font-size:.78rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#7C6BA8 !important; -webkit-text-fill-color:#7C6BA8 !important; margin:0 0 10px; }
.ll-h1{ font-family:'Playfair Display',Georgia,serif; font-size:clamp(2rem,4vw,2.9rem); line-height:1.05; margin:0 0 12px; color:#1E2A3A !important; -webkit-text-fill-color:#1E2A3A !important; }
.ll-lede{ max-width:560px; font-size:1rem; line-height:1.65; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; margin:0 0 22px; }
.ll-acts{ display:flex; flex-wrap:wrap; gap:12px; }
.ll-btn{ display:inline-flex; align-items:center; gap:9px; min-height:48px; padding:12px 24px; border-radius:999px; border:1px solid transparent; font:inherit; font-weight:700; font-size:.98rem; cursor:pointer; transition:filter .16s, background .16s; }
.ll-btn svg{ width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ll-btn--primary{ background:#6E5AA6; color:#fff !important; -webkit-text-fill-color:#fff !important; }
.ll-btn--primary:hover{ filter:brightness(1.12); }
.ll-btn--soft{ background:#F2EEF9; border-color:#E2DAF2; color:#4C3F73 !important; -webkit-text-fill-color:#4C3F73 !important; }
.ll-btn--soft:hover{ background:#EAE3F6; }
.ll-btn:focus-visible{ outline:3px solid rgba(110,90,166,.45); outline-offset:2px; }
.ll-tabs{ display:flex; gap:8px; overflow-x:auto; padding:6px 0 4px; margin:30px 0 14px; scrollbar-width:none; }
.ll-tabs::-webkit-scrollbar{ display:none; }
.ll-tab{ flex:0 0 auto; min-height:44px; padding:9px 18px; border-radius:999px; border:1px solid #E7E0D6; background:#fff; font:inherit; font-weight:700; font-size:.9rem; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; cursor:pointer; white-space:nowrap; }
.ll-tab:hover{ background:#F6F2FB; }
.ll-tab.is-on{ background:#EDE7F8; border-color:#D7CCEF; color:#4C3F73 !important; -webkit-text-fill-color:#4C3F73 !important; }
.ll-tab:focus-visible{ outline:3px solid rgba(110,90,166,.4); outline-offset:2px; }
.ll-bar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:26px; }
.ll-srch{ display:flex; align-items:center; gap:10px; flex:1 1 320px; min-height:48px; padding:0 16px; background:#fff; border:1px solid #E7E0D6; border-radius:16px; }
.ll-srch svg{ width:18px; height:18px; flex:none; fill:none; stroke:#8A94A2; stroke-width:1.8; stroke-linecap:round; }
.ll-srch input{ flex:1; min-width:0; border:none; outline:none; background:none; font:inherit; font-size:.95rem; color:#1E2A3A; }
.ll-view{ display:inline-flex; gap:4px; padding:4px; background:#F4F1EB; border-radius:14px; }
.ll-vbtn{ min-height:40px; padding:8px 16px; border:none; border-radius:11px; background:none; font:inherit; font-weight:700; font-size:.86rem; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; cursor:pointer; }
.ll-vbtn.is-on{ background:#fff; color:#4C3F73 !important; -webkit-text-fill-color:#4C3F73 !important; box-shadow:0 1px 4px rgba(30,42,58,.08); }
.ll-vbtn:focus-visible{ outline:3px solid rgba(110,90,166,.4); outline-offset:2px; }
.ll-empty{ background:#fff; border:1px solid #EDE7DC; border-radius:26px; padding:56px 28px; text-align:center; }
.ll-empty-ic{ width:62px; height:62px; margin:0 auto 18px; border-radius:20px; background:#F2EEF9; display:flex; align-items:center; justify-content:center; }
.ll-empty-ic svg{ width:28px; height:28px; fill:none; stroke:#6E5AA6; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.ll-empty h2{ font-family:'Playfair Display',Georgia,serif; font-size:1.5rem; margin:0 0 8px; color:#1E2A3A !important; -webkit-text-fill-color:#1E2A3A !important; }
.ll-empty p{ max-width:430px; margin:0 auto 22px; font-size:.95rem; line-height:1.6; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; }
.ll-note{ margin:26px 0 0; font-size:.86rem; line-height:1.6; color:#8A8478 !important; -webkit-text-fill-color:#8A8478 !important; }

/* ---- the Life Lens promo block injected into Life Map ---- */
.llx-sec{ margin:0 0 40px; }
.llx-eyebrow{ font-size:.76rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#7C6BA8 !important; -webkit-text-fill-color:#7C6BA8 !important; margin:0 0 8px; }
.llx-h2{ font-family:'Playfair Display',Georgia,serif; font-size:1.9rem; margin:0 0 8px; color:#1E2A3A !important; -webkit-text-fill-color:#1E2A3A !important; }
.llx-sub{ font-size:.98rem; line-height:1.6; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; margin:0 0 20px; max-width:560px; }
.llx-box{ max-width:560px; background:#FBF8F2; border:1px solid #E7DFF3; border-radius:28px; padding:28px; box-shadow:0 6px 22px rgba(30,42,58,.05); }
.llx-ic{ width:52px; height:52px; border-radius:16px; background:#EDE7F8; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.llx-ic svg{ width:25px; height:25px; fill:none; stroke:#6E5AA6; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.llx-t{ font-family:'Playfair Display',Georgia,serif; font-size:1.5rem; margin:0 0 8px; color:#1E2A3A !important; -webkit-text-fill-color:#1E2A3A !important; }
.llx-d{ font-size:.95rem; line-height:1.6; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; margin:0 0 16px; }
.llx-filts{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.llx-filt{ background:#F2EEF9; border:1px solid #E4DCF4; border-radius:999px; padding:5px 13px; font-size:.76rem; font-weight:700; color:#5B4C86 !important; -webkit-text-fill-color:#5B4C86 !important; }
.llx-cta{ display:inline-flex; align-items:center; gap:8px; min-height:46px; padding:11px 22px; border-radius:999px; border:none; background:#6E5AA6; color:#fff !important; -webkit-text-fill-color:#fff !important; font:inherit; font-weight:700; font-size:.95rem; cursor:pointer; }
.llx-cta:hover{ filter:brightness(1.12); }
.llx-cta svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.llx-quick{ display:inline-flex; align-items:center; gap:9px; min-height:46px; padding:11px 22px; border-radius:999px; border:1px solid #E2DAF2; background:#F2EEF9; color:#4C3F73 !important; -webkit-text-fill-color:#4C3F73 !important; font:inherit; font-weight:700; font-size:.95rem; cursor:pointer; margin-bottom:22px; }
.llx-quick:hover{ background:#EAE3F6; }
.llx-quick svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:760px){
  .ll-wrap{ padding:24px 16px 80px; }
  .llx-box{ max-width:none; padding:22px; }
  .ll-bar{ flex-direction:column; align-items:stretch; }
  .ll-view{ justify-content:center; }
}
@media (prefers-reduced-motion:reduce){ .ll-btn,.llx-cta{ transition:none; } }
