*,
:after,
:before {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:root,
[data-theme=dark] {
    --bg: #0a0a0a;
    --bg-deep: #080808;
    --bg-elevated: #0d0d0d;
    --bg-input: #111;
    --bg-hover: #1a1a1a;
    --surface: #0f0f0f;
    --surface-2: #141414;
    --border: #1c1c1c;
    --border-strong: #2a2a2a;
    --text: #e8e0d0;
    --text-soft: rgba(232, 224, 208, .85);
    --text-muted: rgba(232, 224, 208, .7);
    --text-dim: rgba(232, 224, 208, .5);
    --text-faint: rgba(232, 224, 208, .35);
    --text-ghost: rgba(232, 224, 208, .15);
    --muted: #4a4a4a;
    --accent: #c9a96e;
    --accent-hover: #dbbf80;
    --accent-bright: #e0c694;
    --accent-soft: hsla(39, 46%, 61%, .08);
    --accent-faint: hsla(39, 46%, 61%, .04);
    --accent-line: hsla(39, 46%, 61%, .3);
    --accent-line-strong: hsla(39, 46%, 61%, .6);
    --accent-glow: hsla(39, 46%, 61%, .18);
    --on-accent: #0a0800;
    --shadow-soft: rgba(0, 0, 0, .4);
    --shadow-strong: rgba(0, 0, 0, .7);
    --backdrop: hsla(0, 0%, 4%, .88);
    --backdrop-deep: rgba(5, 5, 5, .7);
    --bnav-bg: rgba(8, 8, 8, .95);
    --danger: #c75353;
    --tint-light: hsla(0, 0%, 100%, .06);
    --tint-mid: hsla(0, 0%, 100%, .12);
    --tint-strong: hsla(0, 0%, 100%, .2);
    color-scheme: dark
}

[data-theme=light] {
    --bg: #faf7f1;
    --bg-deep: #f1ece2;
    --bg-elevated: #fff;
    --bg-input: #fff;
    --bg-hover: #f0ead9;
    --surface: #fff;
    --surface-2: #f6f1e6;
    --border: #e6dec8;
    --border-strong: #c9bea0;
    --text: #2a241a;
    --text-soft: rgba(42, 36, 26, .85);
    --text-muted: rgba(42, 36, 26, .7);
    --text-dim: rgba(42, 36, 26, .5);
    --text-faint: rgba(42, 36, 26, .4);
    --text-ghost: rgba(42, 36, 26, .18);
    --muted: #8a7d6e;
    --accent: #a8804a;
    --accent-hover: #8a6738;
    --accent-bright: #c9a96e;
    --accent-soft: rgba(168, 128, 74, .1);
    --accent-faint: rgba(168, 128, 74, .05);
    --accent-line: rgba(168, 128, 74, .35);
    --accent-line-strong: rgba(168, 128, 74, .6);
    --accent-glow: rgba(168, 128, 74, .18);
    --on-accent: #fff;
    --shadow-soft: rgba(60, 40, 20, .08);
    --shadow-strong: rgba(60, 40, 20, .18);
    --backdrop: rgba(255, 251, 241, .9);
    --backdrop-deep: rgba(40, 30, 20, .45);
    --bnav-bg: rgba(255, 251, 241, .95);
    --danger: #b03a3a;
    --tint-light: rgba(60, 40, 20, .05);
    --tint-mid: rgba(60, 40, 20, .1);
    --tint-strong: rgba(60, 40, 20, .2);
    color-scheme: light
}

html {
    font-family: Inter, sans-serif;
    -webkit-font-smoothing: antialiased;
    scroll-behavior: smooth
}

body,
html {
    background: var(--bg);
    color: var(--text);
    transition: background-color .25s ease, color .25s ease
}

body {
    overflow-x: hidden
}

@media(max-width:900px) {
    body {
        padding-bottom: calc(72px + env(safe-area-inset-bottom))
    }
}

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

button {
    background: none;
    border: none;
    cursor: pointer;
    font: inherit
}

.container {
    margin: 0 auto;
    max-width: 1320px;
    padding: 0 16px
}

html.lenis,
html.lenis body {
    height: auto
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
    overflow: clip
}

.lenis [data-lenis-prevent-horizontal],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-smooth iframe {
    pointer-events: none
}

.lenis.lenis-autoToggle {
    transition-behavior: allow-discrete;
    transition-duration: 1ms;
    transition-property: overflow
}

.error-page[data-v-963d2298] {
    align-items: center;
    background: radial-gradient(ellipse at top, var(--accent-soft) 0, transparent 55%), var(--bg);
    color: var(--text);
    display: flex;
    font-family: Inter, sans-serif;
    justify-content: center;
    min-height: 100vh;
    padding: 40px 20px
}

.error-page__inner[data-v-963d2298] {
    max-width: 520px;
    text-align: center
}

.error-page__code[data-v-963d2298] {
    color: var(--accent-line-strong);
    font-family: Cormorant Garamond, serif;
    font-size: 8rem;
    font-weight: 300;
    letter-spacing: -.02em;
    line-height: 1;
    margin-bottom: 24px
}

@media(max-width:480px) {
    .error-page__code[data-v-963d2298] {
        font-size: 6rem
    }
}

.error-page__title[data-v-963d2298] {
    color: var(--text);
    font-family: Cormorant Garamond, serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: .02em;
    margin: 0 0 14px
}

.error-page__sub[data-v-963d2298] {
    color: var(--text-muted);
    font-size: .95rem;
    line-height: 1.6;
    margin: 0 0 34px
}

.error-page__actions[data-v-963d2298] {
    gap: 12px;
    margin-bottom: 38px
}

.error-page__actions[data-v-963d2298],
.error-page__links[data-v-963d2298] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.error-page__links[data-v-963d2298] {
    align-items: center;
    font-size: .8rem;
    gap: 10px;
    letter-spacing: .08em
}

.error-page__links a[data-v-963d2298] {
    color: var(--text-dim);
    text-decoration: none;
    transition: color .2s
}

.error-page__links a[data-v-963d2298]:hover {
    color: var(--accent)
}

.error-page__links .dot[data-v-963d2298] {
    background: var(--text-faint);
    border-radius: 50%;
    height: 3px;
    width: 3px
}

.error-btn[data-v-963d2298] {
    border: 1px solid transparent;
    border-radius: 2px;
    cursor: pointer;
    font-family: inherit;
    font-size: .82rem;
    letter-spacing: .14em;
    padding: 12px 24px;
    text-transform: uppercase;
    transition: all .25s
}

.error-btn--primary[data-v-963d2298] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--on-accent)
}

.error-btn--primary[data-v-963d2298]:hover {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
    transform: translateY(-1px)
}

.error-btn--ghost[data-v-963d2298] {
    background: transparent;
    border-color: var(--accent-line);
    color: var(--text-soft)
}

.error-btn--ghost[data-v-963d2298]:hover {
    border-color: var(--accent);
    color: var(--accent)
}