/* Hani Len — Base reset (site-wide) */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

/* Safety net: a single full-bleed element miscalculating 100vw on mobile
   (browsers size 100vw off the largest possible viewport, before the URL
   bar collapses) is enough to put a horizontal scrollbar on the whole
   page. Guard against that site-wide instead of relying on every
   full-bleed section getting its own math exactly right. */
html { overflow-x: hidden; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  line-height: var(--lh-display);
}

p { margin: 0 0 1em; text-wrap: pretty; }

/* Standard WP screen-reader-only utility (defined locally rather than
   assuming the parent block theme's global styles include it). */
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
  width: 1px; word-wrap: normal !important;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
