:root {
  color-scheme:light;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg:#f4f8ff;
  --surface:#ffffff;
  --line:#cbdaf2;
  --line-orange:rgba(20,91,196,.34);
  --orange:#145bc4;
  --orange-light:#0b4ea2;
  --text:#0c1f3e;
  --muted:#5d6f89;
  background:var(--bg);
  color:var(--text);
}

* { box-sizing:border-box; }

html { min-height:100%; background:var(--bg); }

body {
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 12% 0%, rgba(20,91,196,.14), transparent 32rem),
    radial-gradient(circle at 88% 30%, rgba(20,91,196,.07), transparent 26rem),
    var(--bg);
  color:var(--text);
}

a { color:var(--orange-light); text-underline-offset:3px; }

header {
  display:flex;
  align-items:center;
  gap:16px;
  min-height:112px;
  padding:14px clamp(16px, 4vw, 48px);
  border-bottom:1px solid var(--line-orange);
  background:rgba(255,255,255,.94);
}

.logo {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid rgba(20,91,196,.32);
  border-radius:13px;
  background:linear-gradient(135deg, var(--orange-light), var(--orange));
  color:#ffffff;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.05em;
  text-decoration:none;
}

.brand h1 { margin:0; font-size:clamp(20px, 3vw, 28px); }
.brand p { margin:5px 0 0; color:var(--orange-light); font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }

main { width:min(860px, calc(100% - 32px)); margin:34px auto 56px; }

.back { display:inline-block; margin-bottom:18px; }

.legal-card {
  padding:clamp(20px, 4vw, 38px);
  border:1px solid var(--line);
  border-top:2px solid var(--orange);
  border-radius:18px;
  background:linear-gradient(145deg, rgba(255,255,255,.99), rgba(241,247,255,.99));
  box-shadow:0 18px 50px rgba(20,62,120,.09);
}

h2 { margin:0 0 10px; font-size:clamp(28px, 5vw, 40px); }
h3 { margin:30px 0 10px; color:var(--orange-light); font-size:19px; }
p, li { color:#334966; line-height:1.65; }
ul { padding-left:22px; }
address { color:#334966; font-style:normal; line-height:1.7; }
.updated { margin-top:0; color:var(--muted); font-size:13px; }
.note { padding:12px 14px; border:1px solid var(--line-orange); border-radius:10px; background:rgba(20,91,196,.07); }

footer {
  width:min(860px, calc(100% - 32px));
  margin:0 auto;
  padding:20px 0 30px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13px;
}

@media(max-width:520px) {
  header { min-height:92px; }
  .logo { width:48px; height:48px; }
  .brand p { display:none; }
}


