/* Mobile-only refinements shared by the public website. */
@media(max-width:820px) {
  html { scroll-padding-top: 80px; }
  body { padding-bottom: env(safe-area-inset-bottom,0px); }
  .site-header .header-inner { padding-inline: max(16px,env(safe-area-inset-left)); }
  .site-header .header-action, .site-header .nav-toggle { min-height: 44px; }
  .site-header .nav-toggle { width: 44px; }
  .site-header .primary-nav { overscroll-behavior: contain; }
  input, select, textarea { font-size: 16px; scroll-margin-top: 90px; }
  .button-row { gap: 10px; }
  .button-row>a { min-height: 46px; }
  .page-title { overflow-wrap: anywhere; }
  [data-reveal] { opacity: 1; transform: none; }
  .c-home-hero { min-height: 570px; height: calc(100svh - 110px); }
  .c-home-heading { padding-inline: 18px; }
  .c-home-intro p { font-size: 14px; line-height: 1.7; }
  .c-home-stage-footer { padding-inline: 12px; }
  .c-concept-selector button { min-height: 44px; }
  .c-feature-band h2 { font-size: 28px; }
  .c-feature-band { gap: 24px; }
  .content-section { padding-block: 36px; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
  .footer-grid>div:first-child { grid-column: 1/-1; }
  .footer-grid a { display: block; padding-block: 9px; line-height: 1.5; }
  .footer-records { flex-wrap: wrap; gap: 10px; overflow-wrap: anywhere; padding-bottom: max(24px,env(safe-area-inset-bottom)); }
  .account-status { padding-block: 20px; }
  .simple-hero { padding-block: 32px; }
  .simple-hero .button-row { display: grid; grid-template-columns: minmax(0,1fr); }
}
@media(max-width:380px) {
  .c-home-heading { gap: 12px 8px; padding-inline: 16px; }
  .c-home-heading h1 { font-size: 25px; }
  .c-home-heading>.button { padding-inline: 9px; }
  .c-home-intro strong { font-size: 18px; }
  .c-concept-selector button { font-size: 12px; gap: 3px; padding-inline: 4px; }
  .c-home-stage-footer .c-scene-caption { font-size: 11px; }
}
@media(max-height:520px) and (orientation:landscape) {
  .site-header { position: relative; }
  .c-home-hero { min-height: 380px; height: auto; grid-template-rows: auto 240px auto; }
}
