/* HẢI VŨ PIANO ACADEMY — MOBILE PUBLIC POLISH V1
   Mobile-first corrections shared by all public pages.
   No overflow-x hiding, no scale hacks, no negative-margin centering.
*/
@media(max-width:768px){
  :root{--site-gutter:16px!important;}
  body{font-size:16px;}
  main{min-width:0;}
  .site-container,.wrap{max-width:100%;}

  /* Shared hero: shorter, calmer, readable above the fold. */
  .hv-public-hero{
    width:calc(100% - 20px)!important;
    min-height:500px!important;
    border-radius:0!important;
    align-items:flex-start!important;
  }
  .hv-public-hero::before{
    background:linear-gradient(180deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.945) 43%,rgba(255,255,255,.72) 70%,rgba(255,255,255,.25) 100%)!important;
  }
  .hv-public-hero__inner{width:calc(100% - 32px)!important;padding:30px 0 32px!important;}
  .hv-public-hero__copy{width:100%!important;max-width:none!important;}
  .hv-public-hero__eyebrow{margin-bottom:14px!important;font-size:10.5px!important;line-height:1.35!important;letter-spacing:.055em!important;}
  .hv-public-hero__title{max-width:12.5ch!important;font-size:clamp(32px,8.5vw,40px)!important;line-height:1.07!important;letter-spacing:-.03em!important;}
  .hv-public-hero__lead{margin-top:16px!important;font-size:15px!important;line-height:1.58!important;}
  .hv-public-hero__actions{display:grid!important;grid-template-columns:1fr!important;max-width:none!important;gap:10px!important;margin-top:20px!important;}
  .hv-public-hero__btn{width:100%!important;min-height:48px!important;padding-inline:18px!important;font-size:14px!important;}

  /* Legacy page heroes get the same restrained mobile rhythm. */
  .page-hero,.hv98-index-hero{padding:34px 16px 36px!important;}
  .page-hero h1,.hv98-index-hero h1{font-size:clamp(32px,8.2vw,40px)!important;line-height:1.08!important;letter-spacing:-.025em!important;}
  .page-hero p,.hv98-index-hero p{font-size:15px!important;line-height:1.6!important;}

  /* Newsroom becomes a true one-column reading flow. */
  .hv-newsroom{padding:24px 0 54px!important;}
  .hv-newsroom__toolbar{gap:12px!important;margin-bottom:20px!important;}
  .hv-newsroom__filters{display:flex!important;flex-wrap:nowrap!important;max-width:100%!important;overflow-x:auto!important;padding-bottom:4px!important;scrollbar-width:none;}
  .hv-newsroom__filters::-webkit-scrollbar{display:none;}
  .hv-newsroom__filters button{flex:0 0 auto!important;min-height:38px!important;}
  .hv-newsroom__lead{display:block!important;margin-bottom:28px!important;}
  .hv-newsroom__side{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;margin-top:26px!important;}
  .hv-news-card--lead .hv-news-card__media,
  .hv-news-card--side .hv-news-card__media,
  .hv-news-card--standard .hv-news-card__media{aspect-ratio:16/9!important;height:auto!important;min-height:0!important;border-radius:14px!important;}
  .hv-news-card--side a{display:block!important;height:auto!important;}
  .hv-news-card--side .hv-news-card__body{padding:13px 0 0!important;}
  .hv-news-card--lead h2{font-size:26px!important;line-height:1.2!important;margin:7px 0 9px!important;}
  .hv-news-card--side h3,.hv-news-card--standard h3{font-size:20px!important;line-height:1.28!important;-webkit-line-clamp:unset!important;overflow:visible!important;}
  .hv-news-card--side p{display:block!important;font-size:13px!important;line-height:1.55!important;-webkit-line-clamp:3!important;}
  .hv-newsroom__body{display:block!important;}
  .hv-news-row{display:block!important;padding:22px 0!important;}
  .hv-news-row__media{display:block!important;width:100%!important;aspect-ratio:16/9!important;margin-bottom:13px!important;border-radius:12px!important;overflow:hidden!important;}
  .hv-news-row h3{font-size:20px!important;line-height:1.3!important;margin:6px 0 8px!important;}
  .hv-news-row p{display:block!important;font-size:13px!important;line-height:1.55!important;}
  .hv-newsroom__rail{display:none!important;}
  .hv-newsroom__more-grid{grid-template-columns:1fr!important;gap:20px!important;}

  /* News article pages. */
  .hv98-article{padding:26px 16px 58px!important;}
  .hv98-breadcrumb{margin-bottom:22px!important;gap:7px!important;font-size:11.5px!important;}
  .hv98-article-meta{font-size:10.5px!important;letter-spacing:.045em!important;}
  .hv98-article h1{font-size:clamp(30px,8vw,38px)!important;line-height:1.09!important;letter-spacing:-.03em!important;margin-bottom:17px!important;}
  .hv98-sapo{font-size:15.5px!important;line-height:1.65!important;margin-bottom:24px!important;}
  .hv98-hero-figure{margin-bottom:30px!important;}
  .hv98-hero-figure img{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;border-radius:12px!important;}
  .hv98-article-layout{display:block!important;}
  .hv98-prose{font-size:16px!important;line-height:1.76!important;}
  .hv98-prose h2{font-size:24px!important;line-height:1.24!important;margin:32px 0 12px!important;}
  .hv98-rail{display:none!important;}
  .hv98-related{margin-top:42px!important;}
  .hv98-related-head{align-items:flex-start!important;gap:14px!important;}
  .hv98-related-head>span{font-size:22px!important;}
  .hv98-related>a strong{font-size:15px!important;line-height:1.45!important;}

  /* General cards/sections: single column and sane touch targets. */
  .grid3,.grid4,.cards-grid,.topics-grid,.achievement-grid{grid-template-columns:1fr!important;}
  .section{padding-left:16px!important;padding-right:16px!important;}
  .section-head{display:block!important;}
  button,.btn,a.btn{min-height:44px;}
  input,select,textarea{font-size:16px!important;}

  /* Admissions form stays comfortable on phone. */
  .hv-admissions-band__inner,.hv-admissions-form__grid{grid-template-columns:1fr!important;}
  .hv-admissions-form{padding:18px!important;}

  /* Footer: one clean reading column. */
  .site-footer{margin-top:42px!important;}
  .site-footer__inner{padding:26px 0 16px!important;}
  .site-footer__grid{grid-template-columns:1fr!important;gap:22px!important;}
  .site-footer__col{min-height:0!important;padding-left:0!important;border-left:0!important;}
  .site-footer__brand-row{align-items:center!important;}
  .site-footer__brand-name{font-size:20px!important;}
}

@media(max-width:430px){
  .hv-public-hero{width:calc(100% - 16px)!important;min-height:480px!important;}
  .hv-public-hero__inner{width:calc(100% - 26px)!important;padding-top:26px!important;}
  .hv-public-hero__title{font-size:clamp(31px,9vw,36px)!important;}
  .hv-public-hero__lead{font-size:14.8px!important;}
  .hv-newsroom__section-title h2{font-size:23px!important;}
  .hv-news-card--lead h2{font-size:24px!important;}
  .hv-news-row h3{font-size:19px!important;}
  .hv98-article h1{font-size:31px!important;}
  .hv98-prose h2{font-size:22px!important;}
}
