/* ============================================================================ CSS RESET - Normalize & Base Styles ============================================================================ */ /* Box sizing reset */ * { margin: 0; padding: 0; box-sizing: border-box; } /* Body base */ body { background-color: var(--page-bg, #d6d6d6); background-image: var(--page-bg-pattern, none); background-size: 40px 40px; background-attachment: fixed; max-width: 100vw; /* Prevent horizontal overflow */ overflow-x: clip; /* Clip prevents horizontal scroll WITHOUT breaking position: sticky */ } /* Background photo layer — activated via JS in dev mode */ body.bg-photo { background-image: var(--page-bg-pattern, none), linear-gradient(var(--page-bg-tint, rgba(214,214,214,0.85)), var(--page-bg-tint, rgba(214,214,214,0.85))), var(--bg-photo-url, none); background-size: auto, auto, cover; background-position: 0 0, 0 0, center; background-repeat: repeat, repeat, no-repeat; background-attachment: fixed; } /* Smooth scrolling */ html { scroll-behavior: smooth; scroll-padding-top: 70px; /* Account for fixed header */ max-width: 100vw; /* Prevent horizontal overflow */ overflow-x: clip; /* Clip prevents horizontal scroll WITHOUT breaking position: sticky */ } /* Ensure Iconify icons display properly */ .iconify, iconify-icon { display: inline-block; vertical-align: middle; }