:root {
  --mama-lilac: #e6cce6;
  --mama-lilac-deep: #c99dcc;
  --mama-plum: #4f3154;
  --mama-ink: #302733;
  --mama-muted: #716775;
  --mama-cream: #fffaf5;
  --mama-blush: #f7edf5;
  --mama-green: #3f765c;
  --mama-white: #fff;
  --mama-shadow: 0 24px 70px rgba(80, 47, 84, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--mama-ink); background: var(--mama-cream) !important; overflow-x: hidden; }
.fade-in { opacity: 1 !important; transform: none !important; }
a, button { transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
a:focus-visible, button:focus-visible { outline: 3px solid #8f5797; outline-offset: 4px; }

header { background: linear-gradient(135deg, #fffaf5 0%, #f8ebf5 53%, #e7cde7 100%) !important; }
header::before, header::after {
  content: ""; position: absolute; border-radius: 999px; pointer-events: none; filter: blur(2px);
}
header::before { width: 28rem; height: 28rem; right: -9rem; top: -12rem; background: rgba(255,255,255,.5); }
header::after { width: 15rem; height: 15rem; left: -7rem; bottom: -8rem; background: rgba(230,204,230,.48); }
nav { position: relative; z-index: 30; }
nav > div:first-child img { filter: drop-shadow(0 8px 12px rgba(79,49,84,.16)); }
nav a { font-weight: 700; }
nav .language-menu-open { opacity: 1 !important; pointer-events: auto; }

header .container:last-child { max-width: 1180px; }
header h1 { color: var(--mama-plum) !important; letter-spacing: -.045em; line-height: 1.05 !important; }
header p { color: #655069 !important; line-height: 1.75; }
header .md\:w-1\/2:last-child { position: relative; }
header .md\:w-1\/2:last-child::before {
  content: ""; position: absolute; width: 88%; aspect-ratio: 1; border-radius: 48% 52% 62% 38%;
  background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), var(--mama-shadow);
}
header .md\:w-1\/2:last-child img { position: relative; width: min(25rem, 78vw) !important; height: auto !important; border-radius: 36% 64% 58% 42% !important; box-shadow: none !important; }

.store-link, a[href*="apps.apple.com"], a[href*="play.google.com"] { min-width: 166px; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border-radius: 999px; padding: .85rem 1.35rem; font-weight: 700; box-shadow: 0 10px 25px rgba(49,35,52,.13); }
.store-link:hover, a[href*="apps.apple.com"]:hover, a[href*="play.google.com"]:hover { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(49,35,52,.2); }

main section { position: relative; }
#features { background: #fffaf5 !important; }
#features h2 { color: var(--mama-plum) !important; letter-spacing: -.03em; }
#features .grid > div { background: rgba(255,255,255,.82) !important; border: 1px solid rgba(201,157,204,.28); border-radius: 2rem !important; box-shadow: 0 18px 48px rgba(79,49,84,.09); text-align: left !important; }
#features .grid > div:hover { transform: translateY(-8px) !important; }
#features .grid img { width: 7rem !important; height: 7rem !important; object-fit: contain; margin-left: 0 !important; border-radius: 1.5rem; background: var(--mama-blush); }
#features h3 { color: var(--mama-plum); }
#features p { color: var(--mama-muted) !important; line-height: 1.75; }

.mama-section { padding: 5.5rem 1.5rem; }
.mama-container { width: min(1120px, 100%); margin: 0 auto; }
.mama-kicker { display: inline-block; margin-bottom: .8rem; color: #7b4a82; font-size: .78rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.mama-section h2 { max-width: 760px; color: var(--mama-plum); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -.04em; font-weight: 700; }
.mama-section .lead { max-width: 720px; margin-top: 1rem; color: var(--mama-muted); font-size: 1.08rem; line-height: 1.75; }
.mama-steps, .mama-faq { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 2.4rem; }
.mama-step, .mama-faq article { padding: 1.7rem; border-radius: 1.6rem; background: white; border: 1px solid #eedfed; box-shadow: 0 14px 38px rgba(79,49,84,.07); }
.mama-step-icon { display: grid; place-items: center; width: 4.25rem; height: 4.25rem; margin-bottom: 1.25rem; border-radius: 1.35rem; background: linear-gradient(135deg, var(--mama-blush), var(--mama-lilac)); color: var(--mama-plum); font-size: 1.65rem; box-shadow: inset 0 0 0 1px rgba(201,157,204,.22), 0 10px 24px rgba(79,49,84,.09); transform: rotate(-3deg); }
.mama-step:nth-child(2) .mama-step-icon { background: linear-gradient(135deg, #fff7dc, #f2dfab); color: #76591f; transform: rotate(3deg); }
.mama-step:nth-child(3) .mama-step-icon { background: linear-gradient(135deg, #eaf6ef, #c7e4d3); color: var(--mama-green); transform: rotate(-2deg); }
.mama-step-icon i { transform: rotate(3deg); }
.mama-step:nth-child(2) .mama-step-icon i { transform: rotate(-3deg); }
.mama-step:nth-child(3) .mama-step-icon i { transform: rotate(2deg); }
.mama-step h3, .mama-faq h3 { color: var(--mama-plum); font-size: 1.1rem; font-weight: 700; }
.mama-step p, .mama-faq p { margin-top: .65rem; color: var(--mama-muted); line-height: 1.65; }
.mama-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.1rem; margin-top: 2.4rem; }
.mama-feature { position: relative; min-height: 190px; padding: 1.8rem; overflow: hidden; border-radius: 1.75rem; background: var(--mama-plum); color: white; }
.mama-feature:nth-child(2), .mama-feature:nth-child(3) { background: #f0ddef; color: var(--mama-plum); }
.mama-feature h3 { max-width: 28rem; font-size: 1.3rem; line-height: 1.25; font-weight: 700; }
.mama-feature p { max-width: 34rem; margin-top: .75rem; color: inherit; opacity: .82; line-height: 1.65; }
.mama-feature strong { color: inherit; }
.mama-feature::after { content: "✿"; position: absolute; right: 1.2rem; bottom: -.7rem; color: currentColor; opacity: .08; font-size: 6rem; }
.mama-plans { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 1.1rem; margin-top: 2.4rem; }
.mama-plan { position: relative; display: flex; flex-direction: column; padding: 1.8rem; border: 1px solid #eadbea; border-radius: 1.75rem; background: rgba(255,255,255,.88); box-shadow: 0 14px 38px rgba(79,49,84,.07); }
.mama-plan.is-featured { border-color: var(--mama-lilac-deep); background: var(--mama-plum); color: white; box-shadow: var(--mama-shadow); transform: translateY(-.5rem); }
.mama-plan-badge { align-self: flex-start; margin-bottom: 1.15rem; padding: .4rem .75rem; border-radius: 999px; background: var(--mama-blush); color: #704578; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mama-plan.is-featured .mama-plan-badge { background: var(--mama-lilac); color: var(--mama-plum); }
.mama-plan h3 { color: var(--mama-plum); font-size: 1.35rem; font-weight: 700; }
.mama-plan.is-featured h3 { color: white; }
.mama-plan-price { margin-top: .45rem; font-size: 1.05rem; font-weight: 700; color: #76577b; }
.mama-plan.is-featured .mama-plan-price { color: var(--mama-lilac); }
.mama-plan-saving { align-self: flex-start; margin-top: .9rem; padding: .5rem .8rem; border-radius: .75rem; background: #eaf6ef; color: var(--mama-green); font-size: .86rem; font-weight: 700; }
.mama-plan ul { display: grid; gap: .85rem; margin-top: 1.4rem; }
.mama-plan li { position: relative; padding-left: 1.65rem; color: var(--mama-muted); line-height: 1.55; }
.mama-plan li::before { content: "✓"; position: absolute; left: 0; color: var(--mama-green); font-weight: 700; }
.mama-plan.is-featured li { color: rgba(255,255,255,.86); }
.mama-plan.is-featured li::before { color: var(--mama-lilac); }
.mama-plan-note { max-width: 760px; margin-top: 1.25rem; color: var(--mama-muted); font-size: .9rem; line-height: 1.6; }
.mama-faq { grid-template-columns: repeat(2, 1fr); }

footer { background: #302733 !important; }
footer img { filter: drop-shadow(0 6px 10px rgba(0,0,0,.25)); }

.legal-page main { padding-top: 3rem !important; padding-bottom: 5rem !important; }
.legal-page main > div { max-width: 900px !important; padding: clamp(1.5rem,4vw,3.5rem) !important; border-radius: 2rem !important; box-shadow: var(--mama-shadow) !important; border: 1px solid #efe2ee; color: #514655 !important; line-height: 1.75; }
.legal-page main h2 { color: var(--mama-plum); }
.legal-page main a { color: #7b4a82 !important; font-weight: 700; }

.mobile-nav-button { display: none; border: 0; background: rgba(255,255,255,.7); color: var(--mama-plum); border-radius: .8rem; width: 2.75rem; height: 2.75rem; font-size: 1.35rem; }
@media (max-width: 767px) {
  nav { flex-wrap: wrap; }
  .mobile-nav-button { display: grid; place-items: center; }
  nav > .hidden.md\:flex { display: none; width: 100%; padding: 1rem; margin-top: .75rem; border-radius: 1.25rem; background: rgba(255,255,255,.96); box-shadow: 0 15px 40px rgba(79,49,84,.14); }
  nav > .hidden.md\:flex.is-open { display: flex; flex-direction: column; gap: 1rem; }
  nav > .hidden.md\:flex .space-x-8, nav > .hidden.md\:flex { align-items: flex-start; }
  header .container:last-child { padding-top: 3.5rem !important; }
  header h1 { max-width: 100%; font-size: clamp(2rem, 9vw, 2.65rem) !important; overflow-wrap: anywhere; }
  header p { max-width: 100%; font-size: 1rem !important; overflow-wrap: anywhere; }
  header .container:last-child > div { width: 100%; }
  header .md\:w-1\/2 { width: 100%; min-width: 0; }
  header .store-link, header a[href*="apps.apple.com"], header a[href*="play.google.com"] { width: 100%; min-width: 0; }
  .mama-section { padding: 4rem 1.25rem; }
  .mama-steps, .mama-faq, .mama-features, .mama-plans { grid-template-columns: 1fr; }
  .mama-plan.is-featured { transform: none; }
}
@media (max-width: 420px) {
  header .container:last-child { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  header h1 { font-size: 2rem !important; }
  nav { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  nav .brand, nav > div:first-child { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } .fade-in { opacity: 1 !important; transform: none !important; } }
