:root {
    --color-bg:#f7f7f2;
    --color-surface:#fff;
    --color-text:#2b2e29;
    --color-muted:#74776f;
    --color-border:#e5e6dd;
    --color-gold:#9b7d42;
    --color-gold-soft:#f5efe1;
    --color-sidebar:#272b26;
    --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:Arial,Helvetica,sans-serif;
    --font-display:Georgia,'Times New Roman',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:280px
}

* {
    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
}

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

h1 {
    font-size:2.2rem;
    line-height:1.2;
    font-weight:500;
    letter-spacing:-.045em
}

h2 {
    font-size:1.05rem;
    font-weight:600;
    line-height:1.4
}

h3 {
    font-size:1rem;
    font-weight:600
}

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
    }
}
