/* ==========================================================================
   AmritaKripa — marketing site
   ========================================================================== */

/* ---- Base ---------------------------------------------------------------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Manrope', sans-serif; color: #2A3050; background: #ffffff; }

/* Helpers referenced by the responsive rules below */
.ak-s4-hbr { display: none; }
.ak-s3-num::after { content: '.'; }
.ak-s3-br { display: none; }

/* Footer link hover */
.ak-foot-link:hover { color: #ffffff !important; text-decoration: underline !important; }

/* Modal visibility (toggled by script) */
.ak-modal { display: none; }
.ak-modal.is-open { display: flex; }
.ak-mobile-menu { display: none; }
.ak-mobile-menu.is-open { display: block; }

/* ---- Animations ---------------------------------------------------------- */
@keyframes akFadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes akOverlayIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes akSheetIn { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* ---- Mobile -------------------------------------------------------------- */
@media (max-width: 860px) {
  .ak-nav-links { display: none !important; }
  .ak-hamburger { display: inline-flex !important; }
  .ak-nav-logo { margin: 0 auto !important; }
  .ak-nav-right { margin-left: 0 !important; }

  .ak-hero-inner { grid-template-columns: 1fr !important; gap: 4px !important; padding: 96px 24px 64px !important; }
  .ak-hero-media { order: 2 !important; max-width: 420px; margin: 0 auto !important; }
  .ak-hero-content { order: 1 !important; text-align: center !important; align-items: center !important; }
  .ak-hero-cta { justify-content: center !important; }
  .ak-hero-btn { width: 100% !important; justify-content: center !important; }
  .ak-hero-h1 { font-size: 34px !important; }
  .ak-hero-sub { max-width: 300px !important; }
  .ak-brandlogo { margin: 0 auto !important; margin-bottom: 40px !important; }

  .ak-s2-cards { grid-template-columns: 1fr !important; }
  .ak-s2-pad { padding: 72px 24px !important; }
  .ak-s2-h2 { font-size: 30px !important; }
  .ak-s2-lead { font-size: 23px !important; }
  .ak-s2-intro { text-align: left !important; text-wrap: pretty !important; }

  .ak-s3-pad { padding: 64px 24px 0 !important; }
  .ak-s3-head { margin-bottom: 30px !important; }
  .ak-s3-h2 { font-size: 30px !important; }
  .ak-s3-steps { gap: 0 !important; }
  .ak-s3-row:last-child { padding-bottom: 60px !important; }
  .ak-s3-row { flex-direction: column-reverse !important; align-items: flex-start !important; gap: 18px !important; background: none !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 -24px !important; padding: 38px 24px !important; }
  .ak-s3-row:nth-child(odd) { background: #f6f2eb !important; }
  .ak-s3-img { width: 80% !important; max-width: 80% !important; height: auto !important; margin: 0 auto !important; }
  .ak-s3-br { display: inline !important; }
  .ak-s3-titlerow { display: block !important; text-align: center !important; margin-bottom: 10px !important; }
  .ak-s3-titlerow h3 { display: inline !important; font-size: 21px !important; text-align: center !important; }
  .ak-s3-num { font-size: 21px !important; color: #2A3050 !important; margin-right: 6px !important; }
  .ak-s3-text { padding: 0 !important; text-align: left !important; width: 100% !important; }
  .ak-s3-body { text-align: left !important; max-width: none !important; margin: 0 !important; }
  .ak-s4-pad { padding: 72px 24px !important; }
  .ak-s4-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 0 !important; grid-template-areas: 'header' 'media' 'body' !important; }
  .ak-s4-copy { display: contents !important; }
  .ak-s4-headcard { grid-area: header; background: none !important; border-radius: 0 !important; padding: 0 !important; }
  .ak-s4-bodycard { grid-area: body; background: none !important; border-radius: 0 !important; padding: 0 !important; }
  .ak-s4-body { margin: 0 !important; color: #ffffff !important; }
  .ak-s4-media { grid-area: media; margin: 22px 0 !important; }
  #feed { background-image: none !important; background: linear-gradient(165deg, #353c63 0%, #2A3050 58%, #242a4a 100%) !important; }

  .ak-s5-pad { padding: 72px 24px !important; }
  .ak-s5-bandpad { padding: 48px 24px !important; }
  .ak-s5-grid { flex-direction: column !important; gap: 10px !important; }
  .ak-s5-copy { display: contents !important; }
  .ak-s5-h2 { order: 1 !important; margin-bottom: 0 !important; }
  .ak-s5-sub { order: 2 !important; margin-bottom: 0 !important; }
  .ak-s5-media { order: 3 !important; max-width: 460px; align-self: center; margin: 8px 0 !important; }
  .ak-s5-body { order: 4 !important; margin-bottom: 0 !important; }
  .ak-s5-h2 { font-size: 32px !important; }
  .ak-s5-cards { grid-template-columns: 1fr 1fr !important; gap: 32px 20px !important; }
  .ak-s4-h2 { font-size: 32px !important; color: #ffffff !important; text-align: center !important; max-width: 300px !important; margin-left: auto !important; margin-right: auto !important; }
  .ak-s4-sub { color: #ffffff !important; text-align: center !important; }
  .ak-s4-hbr { display: inline !important; }

  .ak-foot-org { flex-direction: column !important; align-items: center !important; gap: 18px !important; text-align: center !important; }
  .ak-foot-org p { text-align: center !important; }

  .ak-s6-pad { padding: 72px 24px !important; }
  .ak-s6-head { font-size: 30px !important; margin-bottom: 36px !important; }
  .ak-s6-headrow { gap: 18px !important; margin-bottom: 36px !important; }
  .ak-s6-quote { font-size: 25px !important; }
  .ak-s6-mark { height: 76px !important; }
}

@media (max-width: 560px) {
  .ak-hero-h1 { font-size: 30px !important; }
  .ak-brandlogo { height: 74px !important; }
  .ak-s2-h2 { font-size: 26px !important; }
  .ak-s2-lead { font-size: 21px !important; }
  .ak-s3-h2 { font-size: 26px !important; }
  .ak-s3-h2 br { display: none; }
  .ak-s4-h2 { font-size: 28px !important; }
  .ak-s5-h2 { font-size: 28px !important; }
  .ak-s5-cards { grid-template-columns: 1fr 1fr !important; gap: 32px 16px !important; }
  .ak-cta { padding: 9px 16px !important; font-size: 13px !important; border-radius: 999px !important; }
  .ak-s6-quote { font-size: 22px !important; }
}

@media (max-width: 460px) {
  .ak-hero-cta { flex-direction: column !important; align-self: stretch; width: 100%; }
  .ak-hero-cta > a { width: 100%; justify-content: center; }
}
