@font-face {
  font-family: Nunito;
  src: url("assets/nunito-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}

:root {
  color-scheme: light;
  font-family: Nunito, "Arial Rounded MT Bold", system-ui, sans-serif;
  color: #4c4968;
  background: #fbf8ff;
  line-height: 1.6;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: #5132d6; }
a:focus-visible { outline: 3px solid #b8790b; outline-offset: 4px; }
.shell { max-width: 1040px; margin: auto; padding: 0 24px; }
header { background: #fff; border-bottom: 1px solid #eae6f4; }
nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; }
.brand { display: inline-flex; align-items: center; gap: 8px; color: #221c47; font-size: 1.5rem; font-weight: 900; text-decoration: none; }
.brand img { width: 42px; height: 48px; object-fit: contain; }
.nav-links { display: flex; gap: 24px; flex-wrap: wrap; }
.nav-links a { color: #4c4968; font-weight: 800; text-decoration: none; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #5b3deb; }
main { padding-top: 56px; padding-bottom: 72px; }
.eyebrow { color: #5b3deb; font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
h1, h2, h3 { color: #221c47; }
h1 { font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 900; letter-spacing: -.04em; line-height: 1.08; margin: 10px 0 16px; }
h2 { font-size: 1.4rem; font-weight: 800; margin: 36px 0 8px; }
h3 { font-size: 1.08rem; font-weight: 800; margin: 24px 0 6px; }
p { margin: 8px 0 16px; }
li { margin: 6px 0; }
.lead { color: #4c4968; font-size: 1.1rem; font-weight: 600; max-width: 65ch; }
.card { background: #fff; border: 1px solid #eae6f4; border-radius: 24px; box-shadow: 0 8px 24px #382b7a12; padding: 26px; margin-top: 30px; }
.card h2 { margin-top: 0; }
.updated { color: #6d6987; font-size: .9rem; }
.hero { min-height: 470px; display: flex; align-items: center; padding: 28px; margin-bottom: 64px; border-radius: 30px; overflow: hidden; background: #cfe6fa url("assets/child-baner-home-leo.png") center / cover no-repeat; }
.hero-content { max-width: 480px; padding: 30px; border-radius: 24px; background: rgba(255, 255, 255, .93); box-shadow: 0 8px 24px #382b7a12; }
.hero h1 { max-width: 12ch; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 28px; }
.button { display: inline-block; background: #5b3deb; border-radius: 999px; color: #fff; font-weight: 800; padding: 12px 22px; text-decoration: none; }
.button:hover { background: #3b2896; }
.text-link { font-weight: 800; text-decoration: none; }
.section-title { font-size: clamp(1.7rem, 4vw, 2.4rem); line-height: 1.2; margin-top: 10px; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.feature-grid .card { margin-top: 0; }
.feature-grid h3 { margin-top: 16px; }
.feature-grid p { margin-bottom: 0; }
.feature-label { display: inline-block; border-radius: 999px; padding: 6px 11px; font-size: .7rem; font-weight: 900; letter-spacing: .06em; }
.feature-prayer .feature-label { color: #3b2896; background: #eee8fd; }
.feature-adventure .feature-label { color: #85421b; background: #fceada; }
.feature-leo .feature-label { color: #805100; background: #fcefd6; }
.feature-family .feature-label { color: #2f6b49; background: #e4f3e8; }
.contact-banner { background: #eae3fc; border-radius: 24px; margin-top: 64px; padding: 30px; }
.contact-banner h2 { margin-top: 0; }
footer { border-top: 1px solid #eae6f4; color: #6d6987; padding: 24px 0; font-size: .9rem; }
@media (max-width: 600px) {
  nav { align-items: flex-start; flex-direction: column; gap: 8px; }
  .nav-links { gap: 16px; }
  main { padding-top: 32px; }
  .hero { min-height: 0; padding: 200px 16px 16px; background-color: #eae3fc; background-position: 70% top; background-size: auto 230px; }
  .hero-content { padding: 24px; background: #fff; }
}
