:root {
--color-primary: #202f67;
--color-primary-dark: #13204f;
--color-primary-light: #e8ecf8;

--color-secondary: #c5a66a;
--color-secondary-dark: #8b6c34;

--color-white: #ffffff;
--color-black: #101828;

--color-text: #202939;
--color-text-muted: #596579;

--color-border: #d7dce5;
--color-border-light: #eaecf0;

--color-background: #ffffff;
--color-background-light: #f5f7fa;

--color-focus: #ffbf47;
--color-danger: #b42318;

--font-primary:
Arial,
"Helvetica Neue",
Helvetica,
sans-serif;

--container-width: 1320px;

--border-radius-sm: 4px;
--border-radius-md: 8px;
--border-radius-lg: 12px;

--shadow-sm: 0 2px 8px rgba(16, 24, 40, 0.08);
--shadow-md: 0 14px 35px rgba(16, 24, 40, 0.14);

--transition-base: 180ms ease;
}

html {
min-height: 100%;
scroll-behavior: smooth;
font-size: 100%;
}

body {
min-height: 100%;
margin: 0;
overflow-x: hidden;
background: var(--color-background);
color: var(--color-text);
font-family: var(--font-primary);
font-size: 1rem;
line-height: 1.6;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
font-family: var(--font-primary);
}

img,
svg {
max-width: 100%;
}

img {
height: auto;
}

a {
color: var(--color-primary);
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}

a:hover {
color: var(--color-primary-dark);
}

button,
a,
input,
select,
textarea {
transition:
color var(--transition-base),
background-color var(--transition-base),
border-color var(--transition-base),
box-shadow var(--transition-base),
opacity var(--transition-base),
transform var(--transition-base);
}

button {
font: inherit;
}

button:not(:disabled),
a[href] {
cursor: pointer;
}

:focus {
outline: none;
}

:focus-visible {
outline: 3px solid var(--color-focus);
outline-offset: 3px;
box-shadow: 0 0 0 2px var(--color-black);
}

::selection {
background: var(--color-primary);
color: var(--color-white);
}

.site-wrapper {
min-height: 100vh;
}

/* .site-main {
min-height: 400px;
} */

.container {
width: min(100% - 32px, var(--container-width));
}

.skip-link {
position: fixed;
top: 12px;
left: 12px;
z-index: 99999;
padding: 12px 18px;
border-radius: var(--border-radius-sm);
background: var(--color-white);
color: var(--color-black);
font-weight: 700;
text-decoration: none;
box-shadow: var(--shadow-md);
transform: translateY(-180%);
}

.skip-link:focus {
color: var(--color-black);
transform: translateY(0);
}

.noscript-message {
position: relative;
z-index: 9999;
padding: 12px 16px;
border-bottom: 2px solid var(--color-danger);
background: #fff4e5;
color: #592e00;
text-align: center;
font-weight: 700;
}

.visually-hidden-focusable:not(:focus):not(:focus-within) {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}

*,
*::before,
*::after {
scroll-behavior: auto !important;
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
