/* Final mobile typography and interaction polish.  Kept last in the cascade on
   every page so the presentation is consistent after individual page styles. */
body{animation-duration:.16s!important}
[data-r]{transform:translateY(10px)!important;transition:opacity .32s ease,transform .32s cubic-bezier(.22,.7,.3,1)!important}
.navmenu{transition-duration:.18s!important}

@media (max-width:560px){
  html{scroll-behavior:smooth}

  /* Donation hero — centre the title inside the image, never below its edge. */
  .donation-page .hero h1{
    inset:0!important;
    left:0!important;
    bottom:auto!important;
    width:100%!important;
    margin:0!important;
    padding:0 20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:none!important;
    text-align:center!important;
    line-height:1!important;
  }

  /* LP overview: one centred reading column, with no isolated punctuation. */
  .summary-sec .wrap{padding-inline:24px!important}
  .summary-body{
    max-width:344px!important;
    margin-inline:auto!important;
    text-align:center!important;
    font-size:16px!important;
    line-height:2.02!important;
    text-wrap:pretty;
    line-break:strict;
  }
  .summary-body .summary-quote{margin-bottom:24px!important}
  .summary-body .summary-pc-copy{display:block!important}
  .summary-body .summary-sp-copy{display:none!important}

  /* LP location / WHY BEVA / curriculum */
  .map-copy{max-width:344px!important;margin-inline:auto!important;font-size:16px!important;line-height:2.08!important;text-wrap:pretty;line-break:strict}
  .map-copy .map-copy-block{display:block;margin-top:22px}
  .map-copy .km{margin-bottom:20px!important}
  .why3{max-width:344px!important;margin-inline:auto!important;gap:52px!important}
  .why3 .wy h3{font-size:20px!important;line-height:1.45!important;text-wrap:balance}
  .why3 .wy p{max-width:336px!important;margin-inline:auto!important;font-size:15.5px!important;line-height:2.02!important;text-wrap:pretty;line-break:strict}
  .why-close{max-width:344px!important;margin:52px auto 0!important;font-size:16px!important;line-height:2.04!important;text-wrap:pretty;line-break:strict}
  .teach-lead{font-size:17px!important;line-height:1.9!important;text-wrap:balance}
  .teach-lead .teach-line{display:block}
  .flow-note{max-width:344px!important;font-size:15.5px!important;line-height:2.04!important;text-wrap:pretty;line-break:strict}
  .flow-note .flow-line{display:block}
  .final .in{width:calc(100% - 44px)!important}
  .final h2{font-size:29px!important;line-height:1.38!important;text-wrap:balance}
  .final p{max-width:344px!important;font-size:16px!important;line-height:2.02!important;text-wrap:pretty;line-break:strict}
  .final p .final-line{display:block}

  /* About: keep the founder story and mission in centred, readable measures. */
  .msg{max-width:350px!important}
  .msg p{font-size:16.5px!important;line-height:2.05!important;margin-bottom:28px!important;text-wrap:pretty;line-break:strict}
  .msg .q{font-size:23px!important;line-height:1.52!important;margin-bottom:34px!important;text-wrap:balance}
  .msg .q .pcbr{display:block!important}
  .mv-line .mean{max-width:344px!important;margin-inline:auto!important;font-size:16px!important;line-height:2.02!important;text-wrap:pretty;line-break:strict}
  .mvi h3{font-size:19px!important;line-height:1.7!important;text-wrap:balance}
  .cc-story-lead,.cc-story-copy,.cc-lead{
    max-width:344px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    text-wrap:pretty;
    line-break:strict;
  }
  .cc-story-lead{font-size:20px!important;line-height:1.82!important}
  .cc-story-copy{font-size:16px!important;line-height:2.04!important}
  .cc-lead{font-size:15px!important;line-height:1.9!important}
}

@media (prefers-reduced-motion:reduce){
  [data-r]{transition:none!important}
}
