/* Shared styles for JLIG funnel pages (life/, health/, annuities/) */
:root{--ink:#001f3f;--paper:#f7f8fa;--ink-muted:#5b6b80;--accent:#00C853;--gold:#FFD700;--card:#fff;--border:#e5e7eb;--err:#dc2626}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
a{color:var(--ink)}
.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}
.container-narrow{max-width:780px;margin:0 auto;padding:0 1.25rem}

/* Nav */
.nav{background:var(--ink);color:#fff;padding:1rem 0;position:sticky;top:0;z-index:50}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brand{font-family:'Syne',sans-serif;font-weight:700;font-size:1.05rem;color:#fff;text-decoration:none}
.brand small{display:block;font-family:'DM Sans',sans-serif;font-weight:400;font-size:.65rem;opacity:.8;letter-spacing:.05em;text-transform:uppercase}
.nav .cta{background:var(--accent);color:var(--ink);padding:.55rem 1rem;border-radius:8px;font-weight:600;text-decoration:none;font-size:.9rem}
.nav .cta:hover{background:#00e15c}
.crumb{padding:.6rem 0;background:#fff;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--ink-muted)}
.crumb a{color:var(--ink-muted);text-decoration:none}
.crumb a:hover{color:var(--ink)}

/* Hero */
.hero{background:linear-gradient(180deg,#001f3f 0%,#003366 100%);color:#fff;padding:3.5rem 0 4rem}
.hero h1{font-family:'Syne',sans-serif;font-size:clamp(1.75rem,3.6vw,2.6rem);line-height:1.18;margin-bottom:1rem;font-weight:700}
.hero p.lead{font-size:1.1rem;opacity:.92;max-width:680px;margin-bottom:1.75rem}
.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap}
.btn-primary{background:var(--accent);color:var(--ink);padding:1rem 1.5rem;border-radius:10px;font-weight:700;text-decoration:none;font-size:1.05rem;display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer;font-family:inherit}
.btn-primary:hover{background:#00e15c;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid #fff;padding:.95rem 1.5rem;border-radius:10px;font-weight:600;text-decoration:none;font-size:1.05rem;display:inline-flex;align-items:center;gap:.5rem}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}
.badge{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:.35rem .75rem;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.03em}
.badge.gold{border-color:var(--gold);color:var(--gold)}

/* Sections */
section{padding:3.5rem 0}
section.alt{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
section h2{font-family:'Syne',sans-serif;font-size:1.85rem;text-align:center;margin-bottom:.5rem}
section .section-sub{text-align:center;color:var(--ink-muted);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}

/* Benefits grid */
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.benefit{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}
.benefit .ico{font-size:1.6rem;margin-bottom:.5rem}
.benefit h3{font-size:1.05rem;margin-bottom:.4rem}
.benefit p{color:var(--ink-muted);font-size:.95rem}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.step{position:relative;padding:1.5rem;background:#fff;border:1px solid var(--border);border-radius:12px}
.step .num{position:absolute;top:-14px;left:1.5rem;background:var(--accent);color:var(--ink);font-family:'Syne',sans-serif;font-weight:700;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.step h3{margin-top:.4rem;font-size:1.05rem;margin-bottom:.4rem}
.step p{color:var(--ink-muted);font-size:.93rem}

/* Form */
.form-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:2rem;box-shadow:0 4px 12px rgba(0,31,63,.04)}
.form-card h2{text-align:left;margin-bottom:.4rem;font-size:1.6rem}
.form-card .form-sub{text-align:left;color:var(--ink-muted);margin-bottom:1.5rem;font-size:.95rem}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.82rem;color:var(--ink-muted);margin-bottom:.35rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;background:#f9fafb;border:1.5px solid var(--border);border-radius:8px;padding:.7rem .85rem;color:var(--ink);font-size:.97rem;font-family:inherit;outline:none;transition:border-color .15s,background .15s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:#fff}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media (max-width:520px){.field-row{grid-template-columns:1fr}}
.form-msg{color:var(--err);font-size:.85rem;margin-bottom:.75rem;min-height:1.1em}
.form-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1rem}
.form-actions .or{color:var(--ink-muted);font-size:.9rem}
.consent{font-size:.78rem;color:var(--ink-muted);margin-top:1rem;line-height:1.5}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:.75rem}
.faq details[open]{border-color:var(--accent)}
.faq summary{font-weight:600;cursor:pointer;padding:.25rem 0;font-size:1rem}
.faq details p{margin-top:.75rem;color:var(--ink-muted)}

/* CTA bar */
.cta-bar{background:var(--ink);color:#fff;text-align:center;padding:3rem 0}
.cta-bar h2{color:#fff}
.cta-bar p{margin-bottom:1.75rem;opacity:.9}

/* Footer */
.footer{background:#000814;color:#fff;padding:3rem 0 1.5rem;font-size:.9rem}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}
.footer h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);margin-bottom:.85rem}
.footer ul{list-style:none}
.footer ul li{line-height:1.9}
.footer a{color:#b0bcc4;text-decoration:none}
.footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;color:#8794a8;font-size:.78rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}

/* Sticky mobile call CTA */
.sticky-call{position:fixed;bottom:0;left:0;right:0;background:var(--accent);color:var(--ink);padding:1rem;text-align:center;font-weight:700;text-decoration:none;z-index:100;display:none;box-shadow:0 -2px 12px rgba(0,0,0,.15)}
@media (max-width:640px){.sticky-call{display:block}body{padding-bottom:60px}}
