/* Explain: Base page behavior and typography defaults */
* {
    box-sizing: border-box;
}
html {
    background: var(--background-color);
    color: var(--text-color);
    scroll-behavior: smooth;
}
body {
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
}
::selection {
    background: var(--primary-color);
    color: #ffffff;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
}
.form-input {
    background-color: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 0.375rem;
    width: 100%;
    padding: 0.75rem 1rem;
    transition: border-color 0.3s ease;
}
.form-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(11, 61, 145, 0.1);
}