
:root {
  --bg: #f7f9ff;
  --surface: rgba(255,255,255,.82);
  --surface-solid: #ffffff;
  --text: #10203b;
  --muted: #62708a;
  --line: rgba(16,32,59,.12);
  --blue: #2468f2;
  --cyan: #46c8f5;
  --green: #32c85f;
  --shadow: 0 20px 60px rgba(23,63,140,.14);
  --radius: 26px;
  --max: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 85% 5%, rgba(70,200,245,.22), transparent 30rem),
    radial-gradient(circle at 5% 18%, rgba(36,104,242,.14), transparent 28rem),
    var(--bg);
  line-height: 1.62;
}
a { color: var(--blue); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration: none; }
img { max-width: 100%; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.site-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  background: rgba(247,249,255,.78);
  border-bottom: 1px solid var(--line);
}
.nav { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display:flex; align-items:center; gap:12px; color:var(--text); text-decoration:none; font-weight:800; letter-spacing:-.02em; }
.brand img { width:42px; height:42px; border-radius:12px; box-shadow:0 8px 24px rgba(36,104,242,.2); }
.nav-links { display:flex; flex-wrap:wrap; align-items:center; gap:20px; font-size:.94rem; }
.nav-links a { color:var(--muted); text-decoration:none; font-weight:650; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:var(--blue); }
.hero { padding: 82px 0 64px; }
.hero-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:72px; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(36,104,242,.09); color:var(--blue); border:1px solid rgba(36,104,242,.14); border-radius:999px; padding:8px 13px; font-size:.84rem; font-weight:800; letter-spacing:.02em; }
h1,h2,h3 { line-height:1.08; letter-spacing:-.035em; }
h1 { font-size:clamp(2.8rem,7vw,5.5rem); margin:22px 0 20px; }
h2 { font-size:clamp(2rem,4.5vw,3.5rem); margin:0 0 20px; }
h3 { font-size:1.25rem; margin:0 0 10px; }
.lead { font-size:clamp(1.08rem,2vw,1.3rem); color:var(--muted); max-width:680px; }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 22px; border-radius:16px; font-weight:800; text-decoration:none; border:1px solid transparent; }
.button.primary { color:#fff; background:linear-gradient(135deg,var(--blue),#6550ed); box-shadow:0 14px 30px rgba(36,104,242,.24); }
.button.secondary { color:var(--text); background:var(--surface-solid); border-color:var(--line); }
.icon-card { position:relative; padding:30px; border-radius:38px; background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.62)); border:1px solid rgba(255,255,255,.9); box-shadow:var(--shadow); }
.icon-card img { display:block; border-radius:28%; box-shadow:0 24px 55px rgba(13,62,137,.24); }
.icon-card::after { content:""; position:absolute; inset:auto 8% -7% 8%; height:16%; border-radius:50%; background:rgba(36,104,242,.16); filter:blur(22px); z-index:-1; }
.section { padding:76px 0; }
.section.alt { background:rgba(255,255,255,.54); border-block:1px solid var(--line); }
.section-head { max-width:720px; margin-bottom:34px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card { padding:28px; border-radius:var(--radius); background:var(--surface); border:1px solid rgba(255,255,255,.94); box-shadow:0 12px 38px rgba(31,68,129,.08); }
.card .symbol { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:rgba(36,104,242,.1); font-size:1.35rem; margin-bottom:18px; }
.card p { margin:0; color:var(--muted); }
.badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.badge { padding:8px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--muted); font-size:.86rem; font-weight:700; }
.legal-hero { padding:64px 0 32px; }
.legal-wrap { display:grid; grid-template-columns:260px minmax(0,760px); gap:48px; align-items:start; padding-bottom:80px; }
.toc { position:sticky; top:98px; padding:22px; border-radius:20px; background:var(--surface); border:1px solid var(--line); }
.toc strong { display:block; margin-bottom:10px; }
.toc a { display:block; color:var(--muted); text-decoration:none; padding:5px 0; font-size:.92rem; }
.toc a:hover { color:var(--blue); }
.legal { background:var(--surface-solid); border:1px solid var(--line); border-radius:28px; padding:clamp(24px,5vw,52px); box-shadow:var(--shadow); }
.legal h2 { font-size:1.65rem; margin-top:44px; scroll-margin-top:100px; }
.legal h2:first-child { margin-top:0; }
.legal h3 { margin-top:26px; }
.legal p,.legal li { color:#3c4960; }
.legal ul { padding-left:1.35rem; }
.notice { padding:18px 20px; border-left:4px solid var(--blue); background:rgba(36,104,242,.07); border-radius:12px; }
.contact-card { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
address { font-style:normal; }
.site-footer { border-top:1px solid var(--line); padding:36px 0 48px; color:var(--muted); }
.footer-grid { display:flex; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px; }
.footer-links a { color:var(--muted); }
.small { font-size:.88rem; color:var(--muted); }
@media (prefers-color-scheme: dark) {
  :root { --bg:#07101f; --surface:rgba(16,27,46,.82); --surface-solid:#101b2e; --text:#f4f7ff; --muted:#aab4c8; --line:rgba(255,255,255,.11); --shadow:0 24px 70px rgba(0,0,0,.35); }
  body { background:radial-gradient(circle at 85% 5%,rgba(50,142,210,.22),transparent 30rem),radial-gradient(circle at 5% 18%,rgba(46,82,180,.2),transparent 28rem),var(--bg); }
  .site-header { background:rgba(7,16,31,.78); }
  .section.alt { background:rgba(255,255,255,.025); }
  .icon-card { background:linear-gradient(145deg,rgba(27,42,67,.9),rgba(12,24,43,.75)); border-color:rgba(255,255,255,.08); }
  .badge,.button.secondary { background:#111d31; }
  .legal p,.legal li { color:#c3ccdc; }
}
@media (max-width: 820px) {
  .hero-grid,.legal-wrap { grid-template-columns:1fr; }
  .hero-grid { gap:42px; }
  .icon-card { max-width:440px; margin-inline:auto; }
  .grid-3 { grid-template-columns:1fr; }
  .toc { position:static; }
  .nav { align-items:flex-start; padding:14px 0; }
  .nav-links { justify-content:flex-end; gap:12px; }
}
@media (max-width: 560px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .nav-links a:not(.keep-mobile) { display:none; }
  .hero { padding-top:54px; }
  .contact-card { grid-template-columns:1fr; }
}
