:root {
    --bg: #f3dfbd;
    --bg-soft: #e7c793;
    --surface: rgba(255, 241, 216, 0.92);
    --surface-strong: #fff0d2;
    --text: #2d170d;
    --text-soft: #6d462d;
    --line: rgba(80, 38, 15, 0.18);

    --primary: #a33a1d;
    --primary-dark: #6d2412;
    --secondary: #d49316;
    --secondary-soft: #f1c875;
    --accent: #0f5c53;
    --accent-soft: #cfe6df;

    --shadow-sm: 0 10px 26px rgba(63, 30, 10, 0.14);
    --shadow-md: 0 24px 52px rgba(63, 30, 10, 0.22);

    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 32px;

    --container: 1220px;
    --transition: 0.22s ease;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at 18% 8%, rgba(241, 200, 117, 0.55) 0, transparent 30%),
        radial-gradient(circle at 82% 18%, rgba(163, 58, 29, 0.34) 0, transparent 31%),
        radial-gradient(circle at 72% 58%, rgba(15, 92, 83, 0.16) 0, transparent 28%),
        linear-gradient(180deg, #f3dfbd 0%, #dfb878 46%, #fff0d2 100%);
    line-height: 1.65;
    min-height: 100vh;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.12), transparent 18%, rgba(83,38,13,0.06) 100%),
        repeating-linear-gradient(
            90deg,
            rgba(80, 38, 15, 0.025) 0,
            rgba(80, 38, 15, 0.025) 1px,
            transparent 1px,
            transparent 36px
        );
    mix-blend-mode: multiply;
    opacity: 0.45;
    z-index: -1;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

main {
    width: min(100% - 32px, var(--container));
    margin: 0 auto;
    padding: 36px 0 70px 0;
}

p,
ul,
ol {
    margin-top: 0;
}

ul,
ol {
    padding-left: 20px;
}

strong {
    color: var(--primary-dark);
}

::selection {
    background: var(--secondary-soft);
    color: var(--text);
}