/*
 * ============================================================
 *  RESET.CSS — Modern Minimal Reset
 *  Agency Landing Page Template
 * ============================================================
 *
 *  A practical reset based on modern CSS best practices.
 *  Do not edit this file unless you have a specific reason —
 *  style preferences belong in components.css or sections.css.
 *
 *  Performance notes:
 *  - No external font imports — system fonts only, zero network cost
 *  - font-synthesis: none prevents synthetic bold/italic which
 *    can cause subtle layout shifts on font load
 * ============================================================
 */

/* Box sizing across everything */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Prevent font size inflation on mobile */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: var(--leading-normal);
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-text-primary);
  background-color: var(--color-bg-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  /* Prevents browser synthesizing bold/italic — avoids CLS on font swap */
  font-synthesis: none;
}

/* Remove list styles on ul/ol with a list role */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Improve media defaults */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/* Remove built-in form typography styles */
input,
button,
textarea,
select {
  font: inherit;
}

/* Avoid text overflows */
p,
h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/* Anchor reset */
a {
  color: inherit;
  text-decoration: none;
}

/* Remove button defaults */
button {
  background: none;
  border: none;
  cursor: pointer;
}

/* Sensible heading defaults */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-tight);
}

/* Focus visible only on keyboard nav */
:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}
:focus:not(:focus-visible) {
  outline: none;
}
