/* ── Base Reset & Typography ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { color: #1E1E1E; background: #fff; overflow-x: hidden; }
img, video { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul, ol { list-style: none; }
input, textarea, select { font-family: inherit; font-size: inherit; }

/* ── Focus Styles ── */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #FF6F61;
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Selection ── */
::selection { background: #FF6F61; color: #fff; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f5f5f5; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #999; }

/* ── Utility ── */
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── Print ── */
@media print {
    header, footer, #mobile-menu, .fade-up { display: none !important; }
    body { color: #000; background: #fff; }
    a { color: #000; }
    #hero { min-height: auto; padding-top: 2rem; }
}
