/* LifePath Landing Site Styles */
:root {
  --bg: #0f141a;
  --bg-alt: #161d25;
  --bg-accent: #1f2833;
  --text: #f5f7fa;
  --text-dim: #b3c0cc;
  --primary: #4A90E2;
  --primary-accent: #62a8ff;
  --danger: #e55959;
  --success: #3fbf79;
  --radius-s: 4px;
  --radius: 8px;
  --radius-l: 14px;
  --max-width: 1080px;
  --gradient: linear-gradient(135deg,#4A90E2,#6a5af9 55%,#8f53ff);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }

header { position: sticky; top:0; backdrop-filter: blur(16px); background: rgba(15,20,26,0.72); border-bottom: 1px solid #202a33; z-index: 100; }
nav { max-width: var(--max-width); margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding: .85rem 1.25rem; }
nav .brand-section { display:flex; align-items:center; gap:1rem; }
nav .brand { font-weight:600; font-size:1.15rem; letter-spacing:.5px; display:flex; gap:.6rem; align-items:center; }
nav .links { display:flex; align-items:center; gap:.5rem; }
nav a { color: var(--text-dim); text-decoration:none; font-size:.9rem; padding:.5rem .9rem; border-radius: var(--radius-s); transition:.2s; }
nav a:hover, nav a:focus-visible { background: var(--bg-accent); color: var(--text); }
nav .cta { background: var(--primary); color:#fff; font-weight:500; border-radius: var(--radius); box-shadow:0 4px 16px -4px rgba(74,144,226,.4); }
nav .cta:hover { background: var(--primary-accent); }
.mobile-cta { display: none; }
.desktop-cta { display: inline-flex; }

@media (max-width: 768px) {
  nav .mobile-cta { display: inline-flex; }
  nav .desktop-cta { display: none; }
  nav { flex-wrap: wrap; gap: .75rem; }
  nav .brand-section { flex: 1 1 100%; justify-content: space-between; }
  nav .links { flex: 1 1 100%; justify-content: center; flex-wrap: wrap; gap: .25rem; }
}

.hero { padding: 5.5rem 1.25rem 4rem; text-align:center; background: radial-gradient(circle at 50% 0%,rgba(74,144,226,.25),transparent 60%); }
.hero h1 { font-size: clamp(2.4rem, 6vw, 3.4rem); line-height:1.07; margin:0 0 1.2rem; letter-spacing:.5px; background: linear-gradient(90deg,#fff,#c7dbf2); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p.lead { font-size: clamp(1.1rem,2.25vw,1.35rem); margin:0 auto 2rem; max-width: 780px; color: var(--text-dim); }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
.button { --btn-bg: var(--primary); background: var(--btn-bg); color:#fff; padding:.95rem 1.35rem; border-radius: var(--radius); font-weight:500; text-decoration:none; font-size:.95rem; letter-spacing:.3px; display:inline-flex; gap:.5rem; align-items:center; position:relative; box-shadow:0 6px 20px -4px rgba(74,144,226,.45); transition:.25s; }
.button.secondary { --btn-bg: var(--bg-accent); color: var(--text-dim); box-shadow:none; }
.button:hover { transform:translateY(-2px); background: var(--primary-accent); }
.button.secondary:hover { background:#25313d; color: var(--text); }
.badge { background: var(--bg-accent); padding:.45rem .75rem; border-radius: 999px; font-size:.7rem; letter-spacing:.7px; text-transform:uppercase; color: var(--primary-accent); font-weight:600; display:inline-flex; gap:.4rem; align-items:center; }

section { padding: 4.5rem 1.25rem; }
.section-narrow { max-width: 780px; margin:0 auto; }
.grid { --cols:3; display:grid; gap:1.75rem; grid-template-columns: repeat(var(--cols),1fr); margin-top:2.75rem; }
@media (max-width: 960px){ .grid { --cols:2; } }
@media (max-width: 640px){ .grid { --cols:1; } }
.card { background: linear-gradient(145deg,#141c24,#10161d); border:1px solid #1f2a33; padding:1.4rem 1.35rem 1.55rem; border-radius: var(--radius-l); position:relative; overflow:hidden; }
.card:before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(74,144,226,.12),transparent 55%); opacity:.65; pointer-events:none; }
.card h3 { margin:.35rem 0 .6rem; font-size:1.05rem; letter-spacing:.35px; }
.card p { margin:0; font-size:.85rem; line-height:1.55; color: var(--text-dim); }
.icon-circle { width:42px; height:42px; display:grid; place-items:center; background: var(--bg-accent); border-radius:50%; font-size:1.15rem; color: var(--primary-accent); box-shadow:0 4px 10px -2px rgba(0,0,0,.45); }

.split { display:flex; gap:3.5rem; align-items:center; max-width: var(--max-width); margin:0 auto; flex-wrap:wrap; }
.split .col { flex:1 1 340px; }
.split h2 { font-size: clamp(1.8rem,3.5vw,2.35rem); margin:0 0 1.1rem; letter-spacing:.4px; }
.split p.lead { font-size:1.05rem; line-height:1.55; color: var(--text-dim); }
.list { list-style:none; padding:0; margin:1.1rem 0 0; display:grid; gap:.6rem; }
.list li { display:flex; gap:.65rem; font-size:.9rem; color: var(--text-dim); }
.list li:before { content:"✔"; color: var(--success); font-size:.85rem; margin-top:.15rem; }

.cta-band { text-align:center; padding:4.5rem 1.25rem 5rem; background: radial-gradient(circle at 50% 50%,rgba(74,144,226,.15),transparent 70%); }
.cta-band h2 { font-size: clamp(2rem,4.5vw,2.6rem); margin:0 0 1.1rem; background:linear-gradient(90deg,#fff,#b7d2ec); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cta-band p { max-width:680px; margin:0 auto 2rem; color: var(--text-dim); font-size:1.05rem; }

footer { background:#0c1116; border-top:1px solid #1b252d; padding:3.2rem 1.25rem 4rem; }
footer .footer-grid { display:grid; gap:2.5rem; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); max-width: var(--max-width); margin:0 auto 2.5rem; }
footer h4 { margin:0 0 1rem; font-size:.85rem; letter-spacing:.12rem; text-transform:uppercase; color: var(--text-dim); font-weight:600; }
footer ul { list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
footer a { color: var(--text-dim); text-decoration:none; font-size:.8rem; }
footer a:hover { color: var(--text); }
footer .brand { font-weight:600; letter-spacing:.5px; margin-bottom:.75rem; }
small.copyright { display:block; margin-top:2rem; text-align:center; font-size:.65rem; letter-spacing:.7px; color:#5f6b75; }

.note { font-size:.7rem; text-transform:uppercase; letter-spacing:.4px; color: var(--text-dim); margin-top:2.25rem; }

/* Light mode (optional future) */
@media (prefers-color-scheme: light) {
  :root { --bg:#f7f9fb; --bg-alt:#eef2f6; --bg-accent:#dfe7ef; --text:#1c262f; --text-dim:#4b5b68; --primary:#3178c6; --primary-accent:#4d92df; color-scheme: light; }
  nav { background: rgba(255,255,255,.82); border-color:#e1e6ea; }
  .card { background: linear-gradient(145deg,#ffffff,#f2f5f8); border-color:#e4eaef; }
  .card p { color:#4b5b68; }
  .button.secondary { background:#e9eef3; color:#384956; }
  .button.secondary:hover { background:#dfe7ef; }
  footer { background:#eef2f6; border-top-color:#dfe5ea; }
  footer a { color:#4b5b68; }
  footer a:hover { color:#1c262f; }
  small.copyright { color:#6c7a85; }
}
