
:root{
  --bg:#0B1020; --surface:#11172A; --text:#F6F8FF; --sub:#B7C4E1;
  --primary:#1E50FF; --primary-600:#1037BA; --maxw:1120px; --radius:16px; --shadow:0 10px 30px rgba(0,0,0,.25)
}
*{box-sizing:border-box} html,body{margin:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background:linear-gradient(180deg,#0A0F21 0%, #0C1430 100%);
  color:var(--text); line-height:1.6;
}
a{color:var(--text); text-decoration:none}
.container{max-width:var(--maxw); margin-inline:auto; padding: clamp(16px, 3vw, 24px);}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.6rem; padding:.9rem 1.2rem;
  border-radius:999px; font-weight:700; background:var(--primary); color:#fff; box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.08); transition:transform .15s ease, background .2s ease}
.btn:hover{transform:translateY(-1px); background:var(--primary-600)}
.btn.alt{background:transparent; border:1px solid rgba(255,255,255,.2)}
.tag{display:inline-block; padding:.25rem .6rem; border-radius:999px; font-size:.8rem; background:#132045; color:#C1D4FF; border:1px solid #2141A8}
.header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(180%) blur(10px); background:rgba(9,14,30,.6); border-bottom:1px solid rgba(255,255,255,.06)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:1rem}
.brand{display:flex; align-items:center; gap:.75rem; font-weight:800}
.hero{padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(36px, 5vw, 64px);}
.hero-grid{display:grid; gap:32px; align-items:center; grid-template-columns: 1fr;}
@media (min-width:980px){ .hero-grid{grid-template-columns:1.1fr .9fr} }
.headline{font-size: clamp(28px, 3.6vw, 46px); line-height:1.15; font-weight:900; letter-spacing:-.02em}
.lead{color:var(--sub); font-size: clamp(16px, 1.4vw, 20px)}
.hero-card{background: radial-gradient(1200px 600px at 100% 0%, rgba(30,80,255,.15), transparent 60%), var(--surface);
  border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow)}
.bullets{display:grid; gap:10px; margin:16px 0} .bullet{display:flex; gap:.6rem; align-items:flex-start; color:#DCE6FF}
.section{padding-block: clamp(36px, 6vw, 80px)} .section h2{font-size: clamp(22px, 3vw, 32px); margin:0 0 10px;}
.muted{color:var(--sub)}
.features{display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(220px,1fr));}
.feature{background:var(--surface); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:18px; min-height: 140px;}
.feature h3{margin:0 0 6px; font-size:1.05rem}
.tiny{font-size:.92rem; color:#C9D6F5}
.process{display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(240px,1fr))}
.step{background:linear-gradient(180deg,#0F1A38, #0E1A34); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:18px; position:relative;}
.badge{position:absolute; top:12px; right:12px; background:#17337B; color:#DBE7FF; padding:.3rem .55rem; border-radius:999px; font-size:.8rem; border:1px solid #284BB2}
.testimonials{display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(280px,1fr))}
.quote{background:var(--surface); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:18px; font-size:.98rem}
.faq{max-width:880px; margin-inline:auto}
.faq-item{background:var(--surface); border:1px solid rgba(255,255,255,.08); border-radius:12px; margin-bottom:10px; overflow:hidden}
.faq-q{width:100%; background:transparent; border:none; color:#F6F8FF; text-align:left; padding:16px 18px; font-weight:700; cursor:pointer}
.faq-a{display:none; padding:0 18px 16px; color:#D6E2FF; border-top:1px solid rgba(255,255,255,.06)}
.faq-item[open] .faq-a{display:block}
.cta-final{text-align:center; border-top:1px solid rgba(255,255,255,.06); padding-bottom:72px}
.footer{border-top:1px solid rgba(255,255,255,.06); color:#AFC0E6}
.footer-grid{display:grid; gap:12px; grid-template-columns: 1fr}
@media (min-width:820px){ .footer-grid{grid-template-columns: 1fr auto} }
/* Background images (LOCAL) */
.bg-texas{ background-image: linear-gradient(rgba(10,15,33,.55), rgba(10,15,33,.55)), url('assets/texas-flag.svg'); background-size: cover; background-position: center; background-repeat: no-repeat; border-bottom:1px solid rgba(255,255,255,.08); border-radius:16px; }
.bg-family{ background-image: linear-gradient(rgba(14,20,48,.65), rgba(14,20,48,.65)), url('assets/family-bg.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; border-top:1px solid rgba(255,255,255,.08); }
.center{ text-align:center }
