/* v5.2 — mobile balance / responsive cleanup */
@media (max-width:680px){
  html,body{overflow-x:hidden;}
  body{padding-bottom:94px;}

  .dm-shell,
  .dm-nav-inner,
  .v31-cases-shell,
  .dm-plan-layout,
  .v31-self-check,
  .v31-case-cta,
  .dm-concept-grid,
  .dm-plan-cards,
  .plan-v43-main,
  .plan-v43-campaign,
  .plan-v43-reasons,
  .flow-v46-grid,
  .difference-v46-grid,
  .faq-list,
  .faq-item{min-width:0!important;}

  .dm-shell{width:calc(100% - 28px)!important;}

  /* Hero */
  #hero .dm-hero-actions-v26{grid-template-columns:1fr 1fr!important;gap:10px!important;max-width:none!important;}
  #hero .dm-hero-actions-v26 > *{min-width:0!important;}
  #hero .dm-hero-actions-v26 a{font-size:13px!important;padding-inline:14px!important;}
  #hero .dm-hero-benefits{
    margin-top:16px!important;
    padding:6px 16px!important;
    border:1px solid #efe4de!important;
    border-radius:18px!important;
    background:#fffdfa!important;
  }
  #hero .dm-hero-benefit p{min-width:0!important;}
  #hero .dm-hero-benefit strong,
  #hero .dm-hero-benefit span{word-break:keep-all!important;overflow-wrap:break-word!important;}

  /* Concept & Who */
  .dm-concept{padding:50px 0!important;scroll-margin-top:84px;}
  .dm-concept-grid{gap:20px!important;}
  .dm-concept-copy h2{font-size:28px!important;line-height:1.38!important;letter-spacing:-.02em!important;}
  .dm-concept-copy p{font-size:12.5px!important;line-height:1.85!important;}
  .dm-concept .dm-outline-link{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    padding:12px 18px!important;
    font-size:13px!important;
    gap:12px!important;
  }
  .dm-concept-mascot{
    order:2!important;
    min-height:0!important;
    padding:10px 8px 2px!important;
    margin:0!important;
  }
  .dm-concept-mascot img{
    width:min(320px,90vw)!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    display:block!important;
    margin-inline:auto!important;
  }
  .dm-concept-points{
    order:3!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin-top:4px!important;
  }
  .dm-concept-points article{
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
    border:1px solid #efe4de!important;
    border-radius:16px!important;
    padding:16px 14px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(80,54,38,.04)!important;
  }
  .dm-concept-points article > div{min-width:0!important;}
  .dm-concept-points h3{
    margin:0 0 6px!important;
    font-size:14.5px!important;
    line-height:1.45!important;
    word-break:keep-all!important;
    overflow-wrap:break-word!important;
  }
  .dm-concept-points p{
    margin:0!important;
    font-size:12px!important;
    line-height:1.8!important;
    word-break:keep-all!important;
    overflow-wrap:break-word!important;
  }

  /* Cases CTA */
  #empathy-ledger .v31-self-check{padding:18px 15px!important;border-radius:18px!important;}
  #empathy-ledger .v31-self-copy h3{font-size:18px!important;line-height:1.6!important;}
  #empathy-ledger .v31-case-cta{
    padding:20px 16px!important;
    gap:14px!important;
    border-radius:20px!important;
  }
  #empathy-ledger .v31-case-cta-copy h3{
    font-size:19px!important;
    line-height:1.65!important;
    letter-spacing:-.01em!important;
    margin:0!important;
  }
  #empathy-ledger .v31-case-cta-copy h3 br{display:none!important;}
  #empathy-ledger .v31-case-cta-actions{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #empathy-ledger .v31-case-cta-actions button{
    width:100%!important;
    min-height:50px!important;
    font-size:14px!important;
    border-radius:999px!important;
  }
  #empathy-ledger .v31-case-cta-actions p{
    font-size:12px!important;
    line-height:1.7!important;
    text-align:center!important;
    margin:2px 0 0!important;
  }

  /* Plan */
  .dm-plans{padding:50px 0!important;scroll-margin-top:84px;}
  .dm-plan-layout{gap:22px!important;}
  .dm-plan-intro h2{
    font-size:clamp(28px,8.3vw,34px)!important;
    line-height:1.34!important;
    letter-spacing:-.03em!important;
    margin-bottom:12px!important;
  }
  .dm-plan-intro h2 br{display:none!important;}
  .dm-plan-intro > p{
    max-width:none!important;
    font-size:12.5px!important;
    line-height:1.82!important;
    margin-bottom:12px!important;
  }
  .plan-v43-keycopy{font-size:13px!important;margin-bottom:18px!important;}
  .dm-plan-intro .dm-outline-link{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    padding:12px 18px!important;
    font-size:13px!important;
    gap:12px!important;
  }
  .plan-v43-campaign{
    align-items:flex-start!important;
    gap:8px 10px!important;
    padding:13px 14px!important;
    border-radius:16px!important;
  }
  .plan-v43-campaign strong{display:block!important;font-size:13px!important;line-height:1.6!important;}
  .plan-v43-campaign > span:last-child{
    width:100%!important;
    margin-left:0!important;
    white-space:normal!important;
    font-size:11.5px!important;
    line-height:1.65!important;
  }

  /* Sticky mobile CTA */
  .dm-mobile-cta{
    left:10px!important;
    right:10px!important;
    bottom:max(8px, env(safe-area-inset-bottom))!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px!important;
    border-radius:18px!important;
  }
  .dm-mobile-cta::before{display:none!important;content:none!important;}
  .dm-mobile-cta a,
  .dm-mobile-cta button{
    min-height:44px!important;
    padding-inline:10px!important;
    font-size:12.5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
}

@media (max-width:390px){
  body{padding-bottom:92px;}
  #hero .dm-hero-actions-v26{grid-template-columns:1fr!important;}
  .dm-concept-copy h2{font-size:26px!important;}
  .dm-plan-intro h2{font-size:27px!important;}
  .dm-mobile-cta{grid-template-columns:1fr 1fr!important;}
  .dm-mobile-cta a,
  .dm-mobile-cta button{font-size:12px!important;}
}
