/* Landing page: modules banner */
.lpm-banner { background: linear-gradient(135deg, #10264a 0%, #1b3d73 100%); color: #fff; padding: 3.2rem 0; position: relative; overflow: hidden; }
.lpm-banner::after { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(244,123,32,.35), transparent 70%); }
.lpm-head { text-align: center; max-width: 720px; margin: 0 auto 2rem; position: relative; z-index: 1; }
.lpm-eyebrow { display: inline-block; background: rgba(244,123,32,.18); color: #ffb680; border-radius: 20px; padding: .25rem .9rem; font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.lpm-head h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 700; margin: .8rem 0 .5rem; }
.lpm-head p { color: #c5d3ea; margin: 0; }
.lpm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .9rem; position: relative; z-index: 1; }
.lpm-card { display: flex; flex-direction: column; gap: .25rem; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; padding: 1.1rem 1.1rem 1rem; color: #fff; text-decoration: none; position: relative; transition: transform .2s ease, background .2s ease; }
.lpm-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.13); color: #fff; }
.lpm-card i { font-size: 1.7rem; color: #ffb680; margin-bottom: .3rem; }
.lpm-card b { font-size: .98rem; }
.lpm-card small { color: #c5d3ea; font-size: .8rem; line-height: 1.35; }
.lpm-no { position: absolute; right: .9rem; top: .7rem; font-size: 1.3rem; font-weight: 700; color: rgba(255,255,255,.18); }
.lpm-blue i { color: #8fc2ff; } .lpm-purple i { color: #c9a8ff; } .lpm-green i { color: #7fe0a8; } .lpm-red i { color: #ff9c9c; }
.lpm-banner .lpm-head h2 { color: #fff; }
.lpm-grid { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .lpm-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1200px) { .lpm-grid { grid-template-columns: repeat(7, 1fr); } .lpm-card { padding: 1rem .85rem; } .lpm-card b { font-size: .9rem; } }
