/* MonroeSpiritual site styles - inspired by carrd.co layout and animations */
:root{
  --ms-accent:#6c5ce7;
  --ms-accent-2:#f6d365;
  --ms-bg-1:linear-gradient(135deg,#fdfbfb 0%,#ebedee 100%);
}
body { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.ms-hero{ position:relative; min-height:72vh; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:80px 0; }
.ms-hero-bg{ position:absolute; inset:0; background:linear-gradient(180deg,#fffaf0 0%, #f7f3ff 60%); z-index:0; }
.ms-hero-inner{ position:relative; z-index:3; max-width:900px; color:#1f2937; }
.ms-hero-title{ font-size:clamp(2rem,6vw,3.6rem); font-weight:700; margin-bottom:0.5rem; letter-spacing: -0.02em; }
.ms-hero-subtitle{ font-size:1.5rem; color:#4b5563; margin-bottom:0.5rem; }
.ms-hero-lead{ color:#4b5563; margin-bottom:1rem; }
.ms-hero-ctas .ms-cta{ padding:0.8rem 1.6rem; font-size:1.05rem; border-radius:999px; box-shadow:0 8px 20px rgba(108,92,231,0.12); }

/* floating blobs */
.ms-hero-blobs{ position:absolute; inset:0; pointer-events:none; z-index:1; }
.blob{ position:absolute; filter:blur(30px); opacity:0.85; transform:translateZ(0); }
.blob-1{ width:360px; height:360px; left:-80px; top:10%; background:radial-gradient(circle at 20% 20%, #fbc2eb, #a18cd1); animation: floaty 9s ease-in-out infinite; }
.blob-2{ width:260px; height:260px; right:-60px; top:5%; background:radial-gradient(circle at 20% 20%, #ffd1a9, #ff9a9e); animation: floaty 11s ease-in-out infinite; }
.blob-3{ width:200px; height:200px; left:10%; bottom:-60px; background:radial-gradient(circle at 20% 20%, #c6f7e2, #7ee8fa); animation: floaty 13s ease-in-out infinite; }
@keyframes floaty{ 0%{ transform: translateY(0) scale(1);} 50%{ transform: translateY(-24px) scale(1.03);} 100%{ transform: translateY(0) scale(1);} }

/* features */
.ms-feature-card{ background:rgba(255,255,255,0.9); border-radius:12px; box-shadow:0 8px 30px rgba(18,38,63,0.06); transition:transform .6s,opacity .6s; opacity:0; transform: translateY(18px); }
.ms-reveal.in-view .ms-feature-card{ opacity:1; transform:translateY(0); }

/* testimonials */
.ms-testimonials blockquote{ font-size:1.05rem; font-style:italic; color:#374151; }

/* small utilities */
.ms-reveal{ will-change:transform,opacity; }

/* responsive tweaks */
@media (max-width:768px){ .ms-hero{ padding:56px 0; } .blob-1{ left:-140px; top:5%; } .ms-hero-subtitle{ font-size:1.2rem; } }

/* subtle entrance */
.in-view{ opacity:1 !important; transform:none !important; }

/* ensure CTA stands out on dark backgrounds */
.btn-outline-primary{ border-color:rgba(108,92,231,0.9); color:var(--ms-accent); }

/* small accessibility focus */
.ms-cta:focus{ outline:3px solid rgba(108,92,231,0.12); }

/* Section spacing and headings to match Carrd layout */
.ms-section{ padding-top:72px; padding-bottom:72px; }
.ms-hero-eyebrow{ font-weight:600; color:#6b7280; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:0.5rem; }
.ms-hero-title{ font-size:clamp(2.2rem,6vw,3.4rem); line-height:1.02; font-weight:700; margin-bottom:0.5rem; }
.ms-hero-subtitle{ font-size:1.125rem; color:#374151; max-width:780px; margin:0 auto 8px; }
.ms-hero-subnote{ color:#6b7280; font-size:0.95rem; }

/* card image sizing */
.card-img-top{ height:160px; object-fit:cover; }

/* form styles for subscribe */
.ms-section form input.form-control{ min-width:260px; max-width:380px; }

/* small CTA variant */
.btn-outline-secondary{ border-color:#cbd5e1; color:#374151; }

/* ensure hero image/text stack nicely on small screens */
@media (max-width:768px){ .ms-hero-inner{ padding:0 20px; } .ms-section{ padding-top:48px; padding-bottom:48px; } .card-img-top{ height:200px; } }

