@font-face { font-family: Montserrat; src: url('./assets/Montserrat-Variable.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
:root { color-scheme: light; --forest: #173119; --green: #29472d; --orange: #ed6b1d; --paper: #f2f1e9; --ink-soft: #5f6e5c; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--forest); background: linear-gradient(rgba(31,51,27,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(31,51,27,.035) 1px, transparent 1px), var(--paper); background-size: 72px 72px; font-family: Montserrat, Arial, sans-serif; }
.legal-header { display: flex; width: min(1120px, calc(100% - 40px)); margin: 20px auto 0; padding: 18px 24px; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: linear-gradient(100deg, rgba(50,85,55,.92), rgba(105,129,99,.82)); box-shadow: 0 18px 45px rgba(20,46,23,.16); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.legal-header img { display: block; width: 170px; max-width: 48vw; filter: brightness(0) invert(1); }
.legal-header a { color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }
.legal-main { width: min(860px, calc(100% - 40px)); margin: clamp(64px, 9vw, 110px) auto; }
.legal-eyebrow { margin: 0 0 18px; color: var(--orange); font-size: 12px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.legal-main h1 { max-width: 780px; margin: 0; font-size: clamp(42px, 7vw, 76px); line-height: .98; letter-spacing: -.055em; }
.legal-intro { max-width: 720px; margin: 30px 0 52px; color: var(--ink-soft); font-size: clamp(17px, 2vw, 21px); line-height: 1.65; }
.legal-card { margin-top: 18px; padding: clamp(25px, 4vw, 42px); border: 1px solid rgba(31,51,27,.13); border-radius: 28px; background: rgba(255,255,251,.78); box-shadow: 0 20px 55px rgba(31,51,27,.08); }
.legal-card h2 { margin: 0 0 14px; font-size: clamp(22px, 3vw, 30px); line-height: 1.15; }
.legal-card p, .legal-card li { color: #465743; font-size: 15px; line-height: 1.75; }
.legal-card ul { margin: 12px 0 0; padding-left: 22px; }
.legal-card a { color: var(--orange); font-weight: 750; }
.legal-footer { padding: 30px 20px 45px; color: #70806d; text-align: center; font-size: 12px; }
.error-main { display: grid; min-height: calc(100vh - 140px); place-items: center; text-align: center; }
.error-main .legal-main { margin-block: 60px; }
.error-code { display: block; color: rgba(31,51,27,.10); font-size: clamp(120px, 25vw, 280px); font-weight: 900; line-height: .75; letter-spacing: -.08em; }
.error-main h1 { max-width: 720px; margin: -12px auto 0; }
.error-main .legal-intro { margin-inline: auto; }
.legal-button { display: inline-flex; padding: 16px 24px; border-radius: 999px; color: #fff; background: var(--orange); font-size: 13px; font-weight: 850; text-decoration: none; }
@media (max-width: 600px) { .legal-header { padding: 14px 17px; } .legal-header img { width: 145px; } .legal-main { width: min(100% - 30px, 860px); } .legal-card { border-radius: 22px; } }
