:root { color-scheme: light; font-family: system-ui, sans-serif; color: #243b2f; background: #f6f6f0; }
* { box-sizing: border-box; }
body { min-height: 100svh; margin: 0; display: grid; place-items: center; padding: 32px 20px; background: radial-gradient(ellipse at 5% 15%, #cedfc97a, transparent 48%), radial-gradient(ellipse at 95% 90%, #ddc99e55, transparent 44%), #f6f6f0; overflow-x: hidden; }
body::before, body::after { content: ""; position: fixed; width: 290px; height: 480px; border: 1px solid #72956e26; border-radius: 95% 0 95% 0; transform: rotate(-25deg); z-index: -1; pointer-events: none; }
body::before { top: -130px; right: -90px; }
body::after { bottom: -150px; left: -100px; transform: rotate(35deg); }
.card { width: min(100%, 520px); padding: 46px 40px 30px; text-align: center; border: 1px solid #e1e4d9; border-radius: 26px; background: #fffefae8; box-shadow: 0 20px 70px #243b2f0b; }
.brand { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 36px; }
.brand img { object-fit: contain; }
.brand span { font: 32px Georgia, serif; color: #2c5d43; }
.eyebrow { font-size: 10px; letter-spacing: .16em; font-weight: 600; color: #737b6e; margin: 0 0 18px; }
h1 { font: 40px/1.13 Georgia, serif; letter-spacing: -.025em; margin: 0 0 20px; text-wrap: balance; }
.description { line-height: 1.65; color: #596956; margin: 0 0 28px; }
.open-app { display: flex; justify-content: center; align-items: center; gap: 16px; color: white; background: #2c5d43; text-decoration: none; border-radius: 14px; padding: 17px 20px; font-weight: 600; transition: background .15s; }
.open-app:hover { background: #204833; }
.open-app:focus-visible { outline: 3px solid #93a678; outline-offset: 4px; }
[hidden] { display: none !important; }
.hint { font-size: 12px; line-height: 1.7; color: #737b6e; margin: 20px auto 28px; max-width: 350px; }
.divider { width: 54px; height: 1px; background: #d7dfcd; margin: 0 auto 22px; }
.footer { font-size: 12px; line-height: 1.8; margin: 0; }
.footer span { color: #737b6e; font-size: 11px; }
.legal-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 18px; margin-top: 28px; font-size: 12px; }
.legal-nav a, .legal-page a { color: #2c5d43; text-underline-offset: 3px; }
.legal-page { width: min(100%, 800px); text-align: left; }
.legal-page .brand { justify-content: flex-start; text-decoration: none; }
.legal-page h1 { text-wrap: wrap; }
.document-date { font-size: 13px; color: #737b6e; margin-bottom: 32px; }
.legal-page article { font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.legal-page h2 { font: 25px/1.3 Georgia, serif; margin: 30px 0 12px; }
.legal-page li { margin-bottom: 10px; }
.legal-page ul { padding-left: 22px; }
.legal-page .legal-nav { border-top: 1px solid #e1e4d9; padding-top: 24px; }
@media print { body { display: block; padding: 0; background: white; } body::before, body::after { display: none; } .card { width: 100%; border: none; box-shadow: none; padding: 0; background: white; } .legal-page .brand, .legal-nav { display: none; } }
@media (max-width: 420px) { .card { padding: 34px 24px 26px; } h1 { font-size: 34px; } .brand { margin-bottom: 28px; } }
