* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --primary: #1f4f8f;
    --primary-dark: #163b6b;
    --text: #1f2937;
    --muted: #6b7280;
    --border: #d9dee7;
    --background: #f5f7fa;
    --surface: #ffffff;
    --danger: #dc2626;
    --success: #16a34a;

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;

    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;
    color: var(--text);
    background: var(--background);
    line-height: 1.5;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

input,
select,
textarea {
    width: 100%;
}

.container {
    width: min(100% - 32px, 1200px);
    margin-inline: auto;
}

@media (min-width: 768px) {
    .container {
        width: min(100% - 48px, 1200px);
    }
}

@media (min-width: 1200px) {
    .container {
        width: min(100% - 64px, 1200px);
    }
}