/* EL MALEK — shared system stylesheet.
   Holds only what inline styles cannot express: resets and the mobile tier
   (Design System §22). No layout classes. One source of truth for all pages. */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #FFFFFF; }
body { font-family: Jost, "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; color: #221E1F; }
a { color: inherit; text-decoration: none; }
a:hover { color: #CAB5A0; }
img { display: block; }

[data-om-drawer] { display: none; }

@media (max-width: 767px) {
  section, footer { padding-top: 80px !important; padding-bottom: 80px !important; padding-left: 24px !important; padding-right: 24px !important; }
  section > div, footer > div { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; }

  h1 { font-size: 44px !important; line-height: 1.05 !important; }
  h2 { font-size: 32px !important; line-height: 1.2 !important; }
  [data-t3] { font-size: 20px !important; }
  [data-body] { font-size: 16px !important; line-height: 1.8 !important; max-width: none !important; }
  [data-lbl] { font-size: 10px !important; letter-spacing: 0.24em !important; }
  section [style*="font-size: 15px"], footer [style*="font-size: 15px"] { font-size: 14px !important; }
  section a[style*="0.26em"] { font-size: 10px !important; letter-spacing: 0.24em !important; }
  section a[style*="padding: 18px 44px"] { display: block !important; padding: 16px 32px !important; text-align: center !important; }

  [data-reveal] { grid-template-columns: 1fr !important; gap: 32px !important; }
  [data-cols] { grid-template-columns: 1fr !important; gap: 32px !important; }
  footer > div > div:first-child { grid-template-columns: 1fr !important; gap: 40px !important; }
  footer > div > div:last-child { flex-direction: column !important; gap: 24px !important; }
  footer > div > div:last-child span:last-child { text-align: left !important; max-width: none !important; }

  div[style*="aspect-ratio: 3 / 4"], div[style*="aspect-ratio: 3 / 2"], div[style*="aspect-ratio: 5 / 4"], div[style*="aspect-ratio: 16 / 9"] { aspect-ratio: 4 / 5 !important; }

  [data-band] { padding: 0 !important; height: 480px !important; }
  [data-band-hero] { padding: 0 !important; height: 560px !important; }
  [data-band] > div:last-child, [data-band-hero] > div:last-child { padding: 0 24px 48px !important; }
  [data-band] > div:last-child > div, [data-band-hero] > div:last-child > div { flex-direction: column !important; align-items: flex-start !important; gap: 32px !important; }

  [data-spec] { grid-template-columns: 1fr !important; gap: 8px !important; }

  [data-om-header] > div:first-child { height: 64px !important; padding: 0 24px !important; grid-template-columns: 1fr auto 1fr !important; column-gap: 16px !important; }
  [data-om-nav] { display: none !important; }
  [data-om-header] a[data-om-home] { grid-column: 2; justify-self: center; }
  [data-om-burger] { display: flex !important; grid-column: 3; justify-self: end; }
  [data-om-logo] { height: 24px !important; }
  [data-om-drawer] a { padding: 4px 0; }
}
