:root {
    --amc-primary: #e66a19;
    --amc-primary-dark: #b94f0b;
    --amc-primary-deep: #8f3d09;
    --amc-primary-light: #fff2e8;
    --amc-primary-soft: #fff7f1;
    --amc-accent: #f28c38;
    --amc-heading: #241a14;
    --amc-text: #5d514a;
    --amc-muted: #8a7d75;
    --amc-bg: #faf8f6;
    --amc-surface: #ffffff;
    --amc-border: #e8ded7;
    --amc-border-strong: #d9c9be;
    --amc-success: #2f8f63;
    --amc-warning: #d98a14;
    --amc-error: #c94a3a;
    --amc-shadow-sm: 0 2px 12px rgba(172, 79, 17, 0.07);
    --amc-shadow-md: 0 12px 32px rgba(172, 79, 17, 0.12);

    /* Legacy names remain as aliases for the shared page foundation. */
    --color-primary: var(--amc-primary);
    --color-primary-dark: var(--amc-primary-dark);
    --color-background: var(--amc-bg);
    --color-surface: var(--amc-surface);
    --color-heading: var(--amc-heading);
    --color-body: var(--amc-text);
    --color-muted: var(--amc-muted);
    --color-border: var(--amc-border);
    --color-success: var(--amc-success);
    --color-warning: var(--amc-warning);
    --color-error: var(--amc-error);
    --shadow-sm: var(--amc-shadow-sm);
    --shadow-md: var(--amc-shadow-md);
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --transition: 180ms ease;
}

* {
    box-sizing: border-box;
}

html {
    color: var(--color-body);
    background: var(--color-background);
    font-family: "Segoe UI", system-ui, sans-serif;
    line-height: 1.5;
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    margin: 0;
}

:focus-visible {
    outline: 3px solid rgba(230, 106, 25, 0.38);
    outline-offset: 3px;
}

img {
    max-width: 100%;
}

a {
    color: var(--color-primary);
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    color: var(--color-heading);
    line-height: 1.2;
}

.container {
    width: min(1120px, calc(100% - 2rem));
    margin-inline: auto;
}

.page-main {
    min-height: calc(100vh - 9rem);
    padding-block: 3rem;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
