/* HAMOU MATH — mobile-first refinement 55.3.1
   Presentation-only rules: no IDs, handlers, route logic, or payment behavior changed. */
:root { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html { max-width: 100%; overflow-x: clip; scroll-padding-top: 76px; }
body { max-width: 100%; overflow-x: clip; }
img, video, canvas, svg, iframe { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, [role="button"], a.btn, .btn, .primary-btn, .secondary-btn { touch-action: manipulation; }
:where(button, input, select, textarea, a.btn, .btn, .primary-btn, .secondary-btn) { min-height: 42px; }
:where(input, select, textarea) { max-width: 100%; }
:where(table) { border-collapse: separate; border-spacing: 0; }
:where(pre, code) { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  body.hm49-home .navbar, body.hm49-home .topbar, body.hm49-home header { max-width: 100%; }
  body.hm49-home .hero { padding-inline: 0 !important; }
  body.hm49-home .hero-grid,
  body.hm49-home .hero-content,
  body.hm49-home .hm-hero-grid,
  body.hm49-home .growth-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.hm49-home .hero-copy,
  body.hm49-home .hero-card,
  body.hm49-home .growth-hero,
  body.hm49-home .growth-card { min-width: 0; width: 100%; }
  body.hm49-home .desktop-nav { display: none !important; }
  body.hm49-home .mobile-toggle { display: inline-flex !important; align-items: center; justify-content: center; }
  body.hm49-home .function-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.hm49-home .hm-feature-grid,
  body.hm49-home .hm-pathway-grid,
  body.hm49-home .hm49-pathway-grid,
  body.hm49-home .growth-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.hm49-home .section, body.hm49-home section { min-width: 0; }
  body.hm49-home .container, body.hm49-home .wrap, body.hm49-home .page { width: min(100% - 28px, 760px) !important; max-width: 760px; }
}
@media (max-width: 600px) {
  body { font-size: 15px; }
  body.hm49-home .container, body.hm49-home .wrap, body.hm49-home .page,
  .page, .wrap, .container, main.container, main.wrap { width: calc(100% - 24px) !important; max-width: 100%; padding-inline: 0; }
  body.hm49-home .topbar, body.hm49-home .navbar { gap: 10px; }
  body.hm49-home .nav-actions { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
  body.hm49-home .nav-actions > *, body.hm49-home .hero-actions > * { flex: 1 1 140px; min-width: 0; }
  body.hm49-home .hero h1 { font-size: clamp(30px, 8vw, 42px) !important; line-height: 1.2 !important; overflow-wrap: anywhere; }
  body.hm49-home .hero p { font-size: 15px !important; line-height: 1.8 !important; }
  body.hm49-home .hero-actions, body.hm49-home .actions { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  body.hm49-home .hero-actions a, body.hm49-home .actions a,
  body.hm49-home .primary-btn, body.hm49-home .secondary-btn { width: 100%; justify-content: center; }
  body.hm49-home .function-grid,
  body.hm49-home .hm-feature-grid,
  body.hm49-home .hm-pathway-grid,
  body.hm49-home .hm49-pathway-grid,
  body.hm49-home .growth-feature-grid,
  body.hm49-home .persona-grid,
  body.hm49-home .feature-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.hm49-home .function-card { min-height: 0; padding: 17px; border-radius: 17px; }
  body.hm49-home .hm-hero-mini-pill { max-width: 100%; white-space: normal; }
  body.hm49-home .hm49-visual-bottom { grid-template-columns: minmax(0, 1fr) !important; }
  body.hm49-home .growth-hero, body.hm49-home .growth-card,
  body.hm49-home .hero-card, body.hm49-home .panel { padding: 16px !important; border-radius: 18px !important; }
  body.hm49-home .section-head { align-items: flex-start !important; flex-direction: column; gap: 8px; }
  body.hm49-home h2 { font-size: clamp(22px, 6vw, 30px); line-height: 1.35; }
  body.hm49-home .micro-proof { flex-wrap: wrap; gap: 7px; }
  body.hm49-home .micro-proof span { max-width: 100%; }
  body.hm49-home .subscription-direct-link { width: 100%; justify-content: center; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 9px !important; }
  .stat-card { min-width: 0; padding: 12px !important; }
  .stat-value { overflow-wrap: anywhere; font-size: clamp(20px, 6vw, 28px) !important; }
  .account-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .topbar { align-items: stretch !important; }
  .top-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .top-actions > *, .top-actions .btn { min-width: 0; width: 100%; }
  .panel { min-width: 0; padding: 14px !important; }
  .panel-header { align-items: flex-start !important; flex-direction: column; gap: 10px; }
  .table-wrap { width: 100%; max-width: 100%; overflow-x: auto !important; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .table-wrap table { min-width: 620px; }
  .field, .form-group, .form-row, .form-grid, .input-group { min-width: 0; max-width: 100%; }
  .form-grid, .form-row, .grid-2, .import-grid { grid-template-columns: minmax(0, 1fr) !important; }
  input, select, textarea { min-width: 0; width: 100%; }
  .document-preview, .preview, .paper-preview, .document-page { max-width: 100%; overflow-wrap: anywhere; }
  .actions, .button-row, .toolbar { flex-wrap: wrap; gap: 8px; }
  .actions > *, .button-row > *, .toolbar > * { min-width: 0; max-width: 100%; }
  .source, .card, .feature-card { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 380px) {
  body.hm49-home .container, body.hm49-home .wrap, body.hm49-home .page,
  .page, .wrap, .container, main.container, main.wrap { width: calc(100% - 18px) !important; }
  body.hm49-home .brand, body.hm49-home .logo { max-width: 100%; }
  body.hm49-home .hero h1 { font-size: 29px !important; }
  .stats { grid-template-columns: minmax(0, 1fr) !important; }
  .top-actions { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
