
.site-shell { min-height: 100vh; }
.logo-text-link { text-decoration: none; white-space: nowrap; }
.form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.legal-page { padding: clamp(38px, 6vw, 84px) 0; background: #f3f6fb; }
.legal-card { width: min(calc(100% - 36px), 980px); margin: 0 auto; padding: clamp(24px, 4vw, 52px); border: 2px solid #10182f; border-radius: 16px; background: #fff; box-shadow: 0 18px 42px rgba(8,15,42,.08); }
.legal-card h1 { margin: 0 0 12px; color: #080f2a; font-size: clamp(36px, 5vw, 62px); line-height: 1; letter-spacing: -.045em; }
.legal-card h2 { margin: 32px 0 10px; color: #080f2a; font-size: clamp(22px, 3vw, 30px); }
.legal-card p, .legal-card li { color: #2f3b55; line-height: 1.7; }
.legal-card ul { padding-left: 22px; }
.legal-date { margin-bottom: 30px; font-weight: 700; color: #526079; }
.error-page { min-height: 62vh; display: grid; place-items: center; padding: 48px 18px; background: #f3f6fb; }
.error-card { max-width: 720px; padding: 42px; text-align: center; border: 2px solid #10182f; border-radius: 16px; background: #fff; }
.error-card h1 { font-size: clamp(48px, 8vw, 90px); margin: 0 0 12px; }
.form-server-error { margin: 0 0 18px; padding: 13px 15px; border: 2px solid #b42318; border-radius: 10px; background: #fff2f0; color: #7a271a; font-weight: 750; }

.analytics-consent { position: fixed; z-index: 9999; left: 18px; right: 18px; bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; width: min(calc(100% - 36px), 920px); margin: 0 auto; padding: 18px 20px; border: 2px solid #10182f; border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(8,15,42,.22); color: #24304a; }
.analytics-consent[hidden] { display: none; }
.analytics-consent p { margin: 0; line-height: 1.45; }
.analytics-consent__actions { display: flex; gap: 10px; flex: 0 0 auto; }
.analytics-consent button { min-height: 42px; padding: 0 16px; border: 2px solid #0f5bf4; border-radius: 9px; font: inherit; font-weight: 800; cursor: pointer; }
.analytics-consent [data-consent-accept] { background: #0f5bf4; color: #fff; }
.analytics-consent [data-consent-decline] { background: #fff; color: #0f5bf4; }
@media (max-width: 680px) { .analytics-consent { align-items: stretch; flex-direction: column; } .analytics-consent__actions { width: 100%; } .analytics-consent button { flex: 1; } }
