/* Reset & base */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:sans-serif; line-height:1.6; color:#333; }
.container { max-width:960px; padding:0 1em; margin:0 auto; }

/* Hero */
.hero { position:relative; color:#fff; text-align:center; padding:5em 1em; background:linear-gradient(to right, #1e3a8a, #6d28d9); }
.hero-bg { position:absolute; inset:0; opacity:0.1; display:flex; justify-content:center; align-items:center; }
.hero-logo { max-height:200px; }
.hero-content { position:relative; z-index:1; }
.hero-content h1 { font-size:2.5em; margin-bottom:0.5em; }
.hero-content p { max-width:720px; margin:0.5em auto 1em; }
.btn-primary { display:inline-block; padding:0.75em 1.5em; background:#fff; color:#1e3a8a; font-weight:bold; text-decoration:none; border-radius:8px; transition:0.3s; }
.btn-primary:hover { background:#f0f0f0; }

/* Sections */
.section { padding:4em 0; text-align:center; }
.bg-light { background:#f9fafb; }
.section h2 { font-size:2em; margin-bottom:1em; }
.section p { max-width:700px; margin:0 auto 2em; color:#555; }

/* Cards */
.cards { display:flex; flex-wrap:wrap; gap:1.5em; justify-content:center; }
.card { background:#fff; border-radius:12px; box-shadow:0 4px 8px rgba(0,0,0,0.1); padding:1.5em; flex:1 1 280px; max-width:300px; text-align:center; }
.card .icon { font-size:2.5em; margin-bottom:0.5em; }

/* CTA */
.hero-cta { background:linear-gradient(to right, #1e40af, #059669); color:#fff; padding:4em 1em; }
.hero-cta h2 { font-size:2.25em; margin-bottom:0.75em; }
.hero-cta p { max-width:700px; margin:0 auto 1.5em; }
