img{max-width:100%;height:auto;}

/* Mobile-First Base (added by audit fix) */
html { box-sizing: border-box; font-size: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; line-height: 1.5; -webkit-text-size-adjust: 100%; }
img, video { max-width: 100%; height: auto; display: block; }
iframe { max-width: 100%; }
:where(button, input, select, textarea) { font: inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Layout helpers */
.container { width: min(100% - 2rem, 70rem); margin-inline: auto; }
.stack > * + * { margin-top: 1rem; }

/* Typography scale example using rem */
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
p, li { font-size: 1rem; }

/* Navigation toggle (class-based) */
.nav-toggle { display: inline-flex; align-items: center; gap: .5rem; background: transparent; border: 1px solid currentColor; padding: .5rem .75rem; border-radius: .5rem; }
.nav-menu { display: none; }
.nav-menu.is-open { display: block; }

/* Progressive enhancement for wider viewports */
@media (min-width: 768px) {
  .nav-toggle { display: none; }
  .nav-menu { display: block !important; }
}
