/* ================================================================
   Life Insurance page — styles extracted from inline <style> block
   ================================================================ */

.blog-hero { background: var(--charcoal); color: var(--white); padding: 52px 0 60px; position: relative; overflow: hidden; }
.blog-hero::before { content:''; position:absolute; top:-80px; right:-60px; width:500px; height:500px; background:radial-gradient(circle,rgba(212,121,28,.07) 0%,transparent 65%); pointer-events:none; }
.blog-hero .breadcrumb { color: rgba(255,255,255,.4); margin-bottom: 16px; }
.blog-hero .breadcrumb a { color: var(--amber-glow); }
.blog-hero h1 { font-family: var(--font-display); font-size: clamp(1.8rem,4.5vw,2.8rem); line-height:1.15; margin-bottom:12px; }
.blog-hero p { color: rgba(255,255,255,.55); font-size:1.05rem; max-width:620px; }
.blog-hero-wave { position:absolute; bottom:-2px; left:0; right:0; height:40px; background:var(--cream); clip-path:ellipse(55% 100% at 50% 100%); }

.blog-layout { display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; padding:48px 0 60px; }
.blog-content h2 { font-family:var(--font-display); font-size:1.5rem; color:var(--charcoal); margin:36px 0 12px; }
.blog-content h2:first-child { margin-top:0; }
.blog-content h3 { font-family:var(--font-display); font-size:1.15rem; color:var(--charcoal); margin:28px 0 8px; }
.blog-content p { color:var(--text-soft); font-size:.95rem; line-height:1.75; margin-bottom:12px; }
.blog-content strong { color: var(--text); }

.product-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:28px; margin-bottom:20px; box-shadow:var(--shadow); }
.product-card h3 { margin-top:0; }
.product-card .product-icon { font-size:1.6rem; margin-bottom:10px; }
.product-card .product-list { padding-left:0; margin:12px 0 16px; }
.product-card .product-list li { position:relative; padding-left:20px; font-size:.9rem; color:var(--text-soft); margin-bottom:6px; line-height:1.5; }
.product-card .product-list li::before { content:''; position:absolute; left:0; top:7px; width:8px; height:8px; background:var(--amber); border-radius:50%; }

.carrier-strip { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:24px 28px; margin:28px 0; }
.carrier-strip h3 { font-family:var(--font-display); font-size:1.05rem; color:var(--charcoal); margin-bottom:14px; }
.carrier-logos { display:flex; gap:24px; flex-wrap:wrap; align-items:center; }
.carrier-tag { background:var(--cream); border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 20px; font-weight:600; font-size:.9rem; color:var(--charcoal); display:flex; align-items:center; gap:8px; }
.carrier-tag .dot { width:10px; height:10px; border-radius:50%; }

.comparison-table { width:100%; border-collapse:collapse; margin:20px 0 28px; font-size:.88rem; }
.comparison-table th { background:var(--charcoal); color:var(--white); padding:12px 16px; text-align:left; font-weight:600; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; }
.comparison-table td { padding:12px 16px; border-bottom:1px solid var(--border); color:var(--text-soft); }
.comparison-table tr:nth-child(even) td { background:var(--cream); }
.comparison-table td:first-child { font-weight:600; color:var(--charcoal); }

.inline-cta { background:linear-gradient(135deg, var(--charcoal) 0%, #2a2a2a 100%); color:var(--white); border-radius:var(--radius); padding:32px; text-align:center; margin:32px 0; }
.inline-cta h3 { font-family:var(--font-display); font-size:1.2rem; margin-bottom:8px; }
.inline-cta p { color:rgba(255,255,255,.55); font-size:.9rem; margin-bottom:18px; }

.blog-sidebar { position:sticky; top:88px; }
.sidebar-cta { background:var(--amber); color:var(--white); border-radius:var(--radius); padding:28px; text-align:center; margin-bottom:20px; }
.sidebar-cta h3 { font-family:var(--font-display); font-size:1.1rem; margin-bottom:8px; }
.sidebar-cta p { font-size:.86rem; color:rgba(255,255,255,.75); margin-bottom:16px; }
.sidebar-cta .btn-dark { background:var(--charcoal); color:var(--white); width:100%; }

.blog-faq { margin-top:36px; }
.blog-faq details { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:10px; box-shadow:var(--shadow); overflow:hidden; }
.blog-faq summary { padding:16px 20px; cursor:pointer; font-weight:700; font-size:.93rem; color:var(--charcoal); display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; }
.blog-faq summary::-webkit-details-marker { display:none; }
.blog-faq summary::after { content:'+'; font-size:1.2rem; color:var(--amber); font-weight:700; }
.blog-faq details[open] summary::after { content:'−'; }
.blog-faq .faq-answer { padding:0 20px 16px; font-size:.88rem; color:var(--text-soft); line-height:1.65; }

@media (max-width:960px) {
  .blog-layout { grid-template-columns:1fr; }
  .blog-sidebar { position:static; }
}
@media (max-width:640px) {
  .carrier-logos { flex-direction:column; }
  .comparison-table { font-size:.8rem; }
  .comparison-table th, .comparison-table td { padding:8px 10px; }
}
