/* Base HTML and Body Styles */
html, body {
  margin: 0;
  padding: 0;
  background: var(--background);
  background-image: 
    linear-gradient(90deg, transparent 0%, rgba(124, 92, 62, 0.02) 50%, transparent 100%),
    linear-gradient(0deg, transparent 0%, rgba(124, 92, 62, 0.01) 50%, transparent 100%),
    radial-gradient(circle at 20% 50%, rgba(124, 92, 62, 0.015) 0%, transparent 50%),
    radial-gradient(circle at 80% 50%, rgba(124, 92, 62, 0.015) 0%, transparent 100%);
  background-size: 100px 100px, 50px 50px, 200px 200px, 200px 200px;
  background-position: 0 0, 0 0, 0 0, 0 0;
  color: var(--charcoal);
  font-family: var(--font-secondary);
  font-size: 17px;
  box-sizing: border-box;
}

/* Main Element Spacing */
main {
  margin-top: 0;
  padding-top: 0;
  position: relative;
  z-index: 1;
}

/* General Image Styles */
img {
  max-width: 100%;
  height: auto;
}

img[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.3s ease;
}

img[loading="lazy"].loaded {
  opacity: 1;
}

/* Prevent horizontal overflow on embedded content */
iframe, 
embed, 
object, 
video {
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* Ensure tables don't cause horizontal scroll */
table {
  max-width: 100%;
  width: 100%;
  table-layout: fixed;
}

/* Prevent long words from breaking layout */
* {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Ensure all elements respect container bounds */
* {
  box-sizing: border-box;
}
