/* Public legal pages are readable without JavaScript or an account. */
:root { color-scheme: light dark; --bg:#f5f7fb; --panel:#fff; --ink:#19233b; --muted:#516078; --line:#d9e1ef; --brand:#3454c4; --soft:#edf1ff; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--brand); text-underline-offset:4px; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--brand); outline-offset:4px; border-radius:3px; }
.skip { position:absolute; left:16px; top:-100px; padding:10px; background:var(--panel); z-index:5; }
.skip:focus { top:8px; }
.wrap { max-width:1080px; margin:auto; padding:0 28px; }
header { border-bottom:1px solid var(--line); background:var(--panel); }
.header-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; padding-bottom:20px; }
.brand { display:inline-flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; font-weight:750; line-height:1.25; }
.mark { width:44px; height:44px; display:grid; place-items:center; flex:none; background:var(--brand); color:white; border-radius:13px; font-size:19px; }
.brand small { display:block; font-size:12px; color:var(--muted); font-weight:500; margin-top:4px; }
.home-link { font-size:14px; padding:8px 0; }
main.wrap { padding-top:42px; padding-bottom:44px; }
.eyebrow { color:var(--brand); font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.13em; margin:0 0 8px; }
h1 { font-size:clamp(28px,5vw,42px); letter-spacing:-.035em; line-height:1.2; margin:0 0 16px; }
.lead { max-width:820px; color:var(--muted); margin:0 0 26px; }
.legal-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.legal-nav a { padding:7px 13px; border:1px solid var(--line); border-radius:8px; color:var(--ink); text-decoration:none; font-size:14px; background:var(--panel); }
.legal-nav a[aria-current="page"] { background:var(--brand); color:#fff; border-color:var(--brand); }
.card { border:1px solid var(--line); border-radius:16px; padding:26px 30px; background:var(--panel); margin-bottom:18px; }
h2 { font-size:23px; letter-spacing:-.02em; line-height:1.3; margin:0 0 14px; }
h3 { font-size:18px; line-height:1.4; margin:22px 0 8px; }
p { margin:0 0 14px; }
p:last-child { margin-bottom:0; }
ul,ol { margin:12px 0 0; padding-left:24px; }
li + li { margin-top:9px; }
.details { margin:0; }
.details > div { display:grid; grid-template-columns:225px minmax(0,1fr); gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.details > div:first-child { padding-top:0; }
.details > div:last-child { padding-bottom:0; border-bottom:0; }
dt { color:var(--muted); font-size:15px; }
dd { margin:0; overflow-wrap:anywhere; font-weight:550; }
.note { padding:18px 22px; border-left:4px solid var(--brand); background:var(--soft); border-radius:0 10px 10px 0; margin:20px 0; }
.price-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.price { border:1px solid var(--line); border-radius:12px; padding:18px; }
.price h3 { margin:0 0 8px; }
.price strong { font-size:24px; white-space:nowrap; }
.price p { font-size:15px; color:var(--muted); margin-top:8px; }
.muted { color:var(--muted); font-size:14px; }
footer { padding:24px 0 34px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.footer-row { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
@media(max-width:640px) { .wrap { padding-left:18px; padding-right:18px; } main.wrap { padding-top:28px; } .card { padding:22px 20px; } .details > div { grid-template-columns:1fr; gap:4px; } .price-list { grid-template-columns:1fr; } .header-row { gap:12px; } .home-link { max-width:120px; text-align:right; } }
@media(prefers-color-scheme:dark) { :root { --bg:#0e1421; --panel:#151e2d; --ink:#ecf0f9; --muted:#b4bfd3; --line:#334158; --brand:#a8baff; --soft:#202d46; } .mark,.legal-nav a[aria-current="page"] { background:#3454c4; color:#fff; border-color:#3454c4; } }
@media print { header,.legal-nav,.skip { display:none; } :root { --bg:#fff; --panel:#fff; --ink:#111; --muted:#444; --line:#ccc; --brand:#222; --soft:#fafafa; } .wrap { max-width:none; padding:0; } .card { break-inside:avoid; padding:18px; } main.wrap { padding:0; } }
