:root {
    --color-bg:#f7f7f7;
    --color-surface:#fff;
    --color-text:#292929;
    --color-muted:#777;
    --color-border:#e5e5e5;
    --color-gold:#888;
    --color-gold-soft:#ededed;
    --color-sidebar:#414141;
    --color-danger:#a62f35;
    --color-danger-soft:#fff1f2;
    --color-info:#285b9e;
    --color-info-soft:#eff5ff;
    --color-gold-tint:#ece4d4;
    --color-info-tint:#e2edfc;
    --color-success-tint:#e0eee4;
    --color-danger-tint:#fce2e5;
    --color-category-rose:#dc98a4;
    --color-category-purple:#9365ad;
    --color-category-gold:#bd9435;
    --color-category-green:#80af93;
    --color-category-blue:#83a8ca;
    --color-success:#35664b;
    --color-success-soft:#edf5ee;
    --color-form-panel:#fafbf8;
    --color-form-highlight:#f0f5e9;
    --shadow-form:0 16px 48px #272b260a;
    --color-auth-tint:#fbf1ed;
    --color-auth-line:#d9bcb045;
    --shadow-auth:0 24px 80px #4938280d;
    --font-body:'DM Sans',Arial,sans-serif;
    --font-display:Manrope,Arial,sans-serif;
    --space-1:.25rem;
    --space-2:.5rem;
    --space-3:.75rem;
    --space-4:1rem;
    --space-6:1.5rem;
    --space-8:2rem;
    --radius:10px;
    --filter-control-height:48px;
    --sidebar-width:242px
}

@font-face {
    font-family:'DM Sans';
    src:url('../fonts/dm-sans-latin.woff2') format('woff2');
    font-style:normal;
    font-weight:400 700;
    font-display:swap
}

@font-face {
    font-family:Manrope;
    src:url('../fonts/manrope-latin.woff2') format('woff2');
    font-style:normal;
    font-weight:400 800;
    font-display:swap
}

* {
    box-sizing:border-box
}

html {
    font-size:16px;
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--color-bg);
    color:var(--color-text);
    font-family:var(--font-body);
    line-height:1.6;
    font-size:14px
}

h1,h2,h3,p {
    margin:0
}

h1 {
    font-family:var(--font-display);
    font-size:27px;
    line-height:1.2;
    font-weight:750;
    letter-spacing:-1px
}

h2 {
    font-family:var(--font-display);
    font-size:14px;
    font-weight:750;
    line-height:1.4
}

h3 {
    font-family:var(--font-display);
    font-size:14px;
    font-weight:700
}

a {
    color:var(--color-gold);
    text-underline-offset:3px
}

button,input,select,textarea {
    font:inherit
}

button,a,input,select,textarea,summary {
    touch-action:manipulation
}

button {
    cursor:pointer
}

button:disabled {
    cursor:not-allowed
}

img,svg {
    max-width:100%
}

:focus-visible {
    outline:2px solid var(--color-gold);
    outline-offset:2px
}

.muted {
    color:var(--color-muted)
}

.eyebrow {
    display:block;
    color:var(--color-gold);
    font-size:.7rem;
    letter-spacing:.16em;
    font-weight:700;
    margin-bottom:.75rem
}

.icon {
    width:20px;
    height:20px;
    flex-shrink:0;
    vertical-align:middle
}

.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}

.skip-link {
    position:fixed;
    top:-100px;
    left:1rem;
    z-index:100;
    background:white;
    padding:1rem
}

.skip-link:focus {
    top:1rem
}

[hidden] {
    display:none!important
}

fieldset {
    border:0;
    padding:0;
    margin:0;
    min-width:0
}

input,select,textarea {
    max-width:100%
}

button:disabled,input:disabled,select:disabled {
    opacity:.7
}

main:focus {
    outline:none
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*::before,*::after {
        animation-duration:.01ms!important;
        transition-duration:.01ms!important
    }
}
