@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
  --bg: #f7fbff;
  --white: #ffffff;
  --soft: #eef7ff;
  --soft-2: #f2f8fd;
  --navy: #17366f;
  --navy-deep: #102a59;
  --blue: #159fe3;
  --blue-2: #2d79ef;
  --cyan: #19c1c7;
  --text: #172b52;
  --muted: #6d82a4;
  --line: #dce8f4;
  --shadow: 0 24px 70px rgba(24, 76, 130, .10);
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background: var(--bg);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: Manrope, Inter, sans-serif; }
.section { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.section-label { color: var(--navy); font-size: 15px; font-weight: 800; margin-bottom: 18px; }

.site-header {
  width: 100%;
  min-height: 74px;
  padding: 0 max(20px, calc((100vw - var(--max)) / 2));
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 34px;
  align-items: center;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand-symbol, .mini-symbol {
  width: 42px;
  height: 42px;
  border: 3px solid var(--blue);
  border-radius: 12px;
  position: relative;
  transform: rotate(30deg);
  display: grid;
  place-items: center;
}
.brand-symbol::before, .brand-symbol::after, .mini-symbol::before, .mini-symbol::after {
  content: "";
  position: absolute;
  width: 22px;
  height: 2px;
  background: var(--blue);
  border-radius: 4px;
  left: 7px;
}
.brand-symbol::before, .mini-symbol::before { top: 12px; }
.brand-symbol::after, .mini-symbol::after { bottom: 12px; }
.brand-symbol i, .mini-symbol i { display:none; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { font-size: 25px; font-weight: 500; letter-spacing: .04em; color: #111; }
.brand-copy small { margin-top: 5px; font-size: 10px; letter-spacing: .05em; color: #2d3e58; }
.nav { justify-self: center; display:flex; gap: 28px; font-size: 13px; font-weight: 600; color:#334c73; }
.nav a { padding: 28px 0 24px; border-bottom: 2px solid transparent; transition:.2s ease; }
.nav a:hover { color: var(--blue); border-color: var(--blue); }
.header-contact { font-size: 12px; font-weight: 700; color: var(--blue-2); }

.hero {
  min-height: 660px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 66px;
  align-items: center;
  padding: 72px 0 78px;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #edf7ff;
  border: 1px solid #d5ebfa;
  color:#53749b;
  font-size: 11px;
  font-weight: 700;
}
.eyebrow span { width:8px; height:8px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 5px rgba(21,159,227,.11); }
h1 {
  max-width: 720px;
  margin: 22px 0 22px;
  color: var(--navy-deep);
  font-size: clamp(44px, 5.7vw, 72px);
  line-height: 1.03;
  letter-spacing: -.045em;
}
h1 em { color: var(--blue); font-style: normal; }
.hero-lead { max-width: 700px; font-size: 17px; line-height: 1.7; color: #526d91; margin-bottom: 28px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn {
  min-height: 48px;
  padding: 0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--blue-2), var(--blue)); color:#fff; box-shadow:0 13px 32px rgba(21,159,227,.22); }
.btn-secondary { background:#fff; color:var(--navy); border:1px solid var(--line); }
.hero-features {
  margin-top: 38px;
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
.hero-features > div { display:flex; align-items:center; gap:12px; min-width:0; }
.feature-icon {
  flex:0 0 44px; width:44px; height:44px; border-radius:13px;
  display:grid; place-items:center; color:#fff; font-size:20px; font-weight:800;
  background: linear-gradient(135deg, #5a66ff, #2f7cef);
  box-shadow:0 12px 24px rgba(54,108,232,.17);
}
.feature-icon.shield { background: linear-gradient(135deg,#50c66c,#7dd987); }
.hero-features p { margin:0; display:flex; flex-direction:column; gap:4px; min-width:0; }
.hero-features b { font-size:12px; color:#29466f; }
.hero-features small { font-size:10px; color:#7c91ad; line-height:1.35; }

.wallet-stage { min-height: 570px; display:grid; place-items:center; position:relative; }
.wallet-glow {
  position:absolute; inset: 8% 0 6%; border-radius: 42%;
  background: radial-gradient(circle at 55% 45%, rgba(85,172,247,.27), rgba(217,238,255,.45) 40%, rgba(247,251,255,0) 72%);
  filter: blur(4px);
}
.wallet-phone {
  width: min(100%, 390px);
  padding: 22px;
  border-radius: 38px;
  background: rgba(255,255,255,.95);
  border:1px solid #d8e7f4;
  box-shadow: 0 30px 90px rgba(30,87,143,.18);
  position:relative;
  z-index:2;
}
.phone-brand { display:flex; align-items:center; gap:8px; color:#111; }
.mini-symbol { width:25px; height:25px; border-width:2px; border-radius:8px; }
.mini-symbol::before,.mini-symbol::after { width:13px; left:4px; height:1.5px; }
.mini-symbol::before{top:7px}.mini-symbol::after{bottom:7px}
.phone-brand b { font-size:15px; letter-spacing:.08em; }
.phone-brand small { margin-left:auto; color:#86a0bb; font-size:10px; }
.phone-status { display:inline-flex; margin:16px 0 12px auto; background:#eaf6ff; color:#1688cf; border:1px solid #cae8fb; border-radius:999px; padding:6px 10px; font-size:10px; font-weight:700; }
.phone-balance {
  min-height: 165px; position:relative; overflow:hidden;
  padding: 22px; border-radius: 28px; border:1px solid #d6e8f5;
  background: linear-gradient(135deg,#fbfdff,#eef8ff);
  display:flex; flex-direction:column;
}
.phone-balance span { font-size:12px; color:var(--navy); font-weight:800; }
.phone-balance strong { margin:14px 0 6px; font-size:38px; color:var(--navy); letter-spacing:.03em; }
.phone-balance small { font-size:11px; color:#758aa6; }
.balance-wave { position:absolute; right:-22px; bottom:-28px; width:180px; height:100px; background:linear-gradient(145deg,rgba(119,203,255,.06),rgba(92,184,246,.35)); clip-path: polygon(0 70%,25% 40%,48% 63%,65% 30%,100% 0,100% 100%,0 100%); }
.phone-actions { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:250px; margin:22px auto 12px; }
.phone-actions div { text-align:center; }
.phone-actions span { margin:0 auto 8px; width:64px; height:64px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(145deg,#138edc,#18b6e8); color:#fff; font-size:27px; box-shadow:0 15px 30px rgba(20,159,224,.20); }
.phone-actions b { display:block; color:var(--navy); font-size:11px; }
.phone-tabs { display:flex; gap:24px; padding:8px 8px 16px; color:#7790ae; font-size:10px; }
.phone-card { padding:18px; border:1px solid #dce8f2; border-radius:24px; background:#fff; margin-top:10px; }
.phone-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.phone-card-head b { color:var(--navy); font-size:13px; }
.phone-card-head a { color:var(--blue); font-size:10px; font-weight:800; }
.asset-row,.activity-line { display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; padding:11px 0; border-top:1px solid #edf2f7; }
.asset-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:12px; font-weight:800; background:linear-gradient(145deg,#5265ff,#43a8f6); }
.asset-icon.alt { background:linear-gradient(145deg,#08b8ad,#23cfd0); }
.asset-row p,.activity-line p { margin:0; display:flex; flex-direction:column; gap:2px; }
.asset-row p b,.activity-line p b { font-size:10px; color:#223d68; }
.asset-row p small,.activity-line p small { font-size:8px; color:#91a2b8; }
.asset-row > strong,.activity-line > strong { font-size:9px; color:#38557f; }
.compact { padding-bottom:10px; }
.activity-line > span { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; background:#edf7ff; color:var(--blue); }

.legal-strip { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding: 28px 0 34px; }
.legal-grid { display:grid; grid-template-columns:1.15fr .85fr .8fr 1.55fr 1fr; gap:12px; }
.legal-item { min-height:96px; display:flex; gap:13px; align-items:center; padding:18px; border:1px solid #e0eaf3; border-radius:15px; background:#fff; }
.legal-icon { flex:0 0 38px; width:38px; height:38px; border-radius:10px; display:grid; place-items:center; border:1px solid #d7e7f4; background:#f2f9ff; color:var(--blue-2); font-weight:800; font-size:12px; }
.legal-item div { display:flex; flex-direction:column; gap:6px; min-width:0; }
.legal-item small { color:#7890ad; font-size:9px; }
.legal-item b,.legal-item a { color:#29476f; font-size:11px; line-height:1.45; word-break:break-word; }
.legal-item a { color:var(--blue-2); font-weight:700; }

.content-split { padding: 84px 0 90px; display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start; }
.about-copy h2,.section-head h2,.security-panel h2,.contact-panel h2 {
  color:var(--navy-deep); font-size:clamp(32px,4vw,52px); line-height:1.08; letter-spacing:-.04em; margin:0 0 20px;
}
.about-copy > p,.section-head > p,.security-panel > div > p,.contact-panel > div > p { color:#667f9f; font-size:14px; line-height:1.75; }
.check-list { list-style:none; padding:0; margin:26px 0 0; display:grid; gap:12px; }
.check-list li { position:relative; padding-left:28px; color:#3f5d84; font-size:13px; line-height:1.5; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:0; width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:#e9f8ed; color:#49b861; font-size:11px; font-weight:900; }
.flow-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.flow-grid article { min-height:245px; position:relative; padding:22px 17px; border:1px solid #dfe9f3; border-radius:16px; background:#fff; text-align:center; }
.flow-grid article > span { position:absolute; top:14px; left:14px; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--blue-2); color:#fff; font-size:10px; font-weight:800; }
.flow-icon { width:55px; height:55px; margin:34px auto 18px; display:grid; place-items:center; color:var(--blue-2); font-size:30px; font-weight:700; }
.flow-grid h3 { color:#29466f; font-size:13px; margin-bottom:10px; }
.flow-grid p { margin:0; color:#7890ac; font-size:10px; line-height:1.55; }

.soft-section { background:linear-gradient(180deg,#f0f8ff,#f8fcff); border-top:1px solid #e1edf7; border-bottom:1px solid #e1edf7; padding:86px 0 92px; }
.section-head { max-width:790px; margin-bottom:40px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.product-card { min-height:230px; padding:25px; border-radius:18px; border:1px solid #dce8f2; background:#fff; position:relative; transition:.22s ease; }
.product-card:hover,.partner-card:hover,.document-card:hover { transform:translateY(-3px); box-shadow:0 18px 45px rgba(38,92,145,.09); border-color:#bcdaf0; }
.product-card > span { position:absolute; right:20px; top:18px; color:#a4b7ca; font-size:10px; font-weight:700; }
.product-icon { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(145deg,#f0f7ff,#e6f3ff); color:var(--blue-2); font-size:21px; font-weight:800; }
.product-card h3 { margin:28px 0 10px; font-size:17px; color:#23426c; }
.product-card p { margin:0; color:#758ca8; font-size:12px; line-height:1.65; }

.partners-section { padding:88px 0; }
.partner-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.partner-card { min-height:220px; padding:24px; border-radius:18px; border:1px solid #dde9f3; background:#fff; transition:.22s ease; }
.partner-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:14px; color:var(--blue-2); background:#edf7ff; font-size:14px; font-weight:900; }
.partner-card h3 { color:#27466f; font-size:16px; margin:30px 0 10px; }
.partner-card p { margin:0; color:#778da8; font-size:11px; line-height:1.65; }
.partner-note { margin-top:16px; padding:22px 26px; border-radius:16px; background:var(--navy-deep); color:#fff; display:grid; grid-template-columns:190px 1fr; gap:26px; align-items:start; }
.partner-note b { font-size:12px; }
.partner-note p { margin:0; color:#c5d5e9; font-size:11px; line-height:1.65; }

.security-section { padding:28px 0 86px; }
.security-panel { padding:54px; display:grid; grid-template-columns:1fr 1fr; gap:70px; border-radius:28px; background:linear-gradient(135deg,#eaf6ff,#f9fcff); border:1px solid #d8e8f4; }
.security-panel h2 { font-size:clamp(30px,3.7vw,48px); }
.security-points { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.security-points article { padding:20px; border-radius:16px; background:#fff; border:1px solid #dce8f2; }
.security-points span { color:var(--blue-2); font-size:9px; font-weight:900; }
.security-points p { margin:12px 0 0; color:#758aa6; font-size:11px; line-height:1.55; }
.security-points b { display:block; color:#26456f; font-size:12px; margin-bottom:5px; }

.documents-section { padding:78px 0 94px; }
.documents-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.document-card { min-height:112px; padding:22px; display:grid; grid-template-columns:44px 1fr auto; gap:14px; align-items:center; border-radius:17px; background:#fff; border:1px solid #dde8f2; transition:.22s ease; }
.document-card > span { width:44px; height:44px; border-radius:13px; display:grid; place-items:center; background:#edf7ff; color:var(--blue-2); font-size:21px; }
.document-card div { display:flex; flex-direction:column; gap:5px; }
.document-card b { color:#27466f; font-size:12px; }
.document-card small { color:#8498b1; font-size:9px; line-height:1.45; }
.document-card i { color:var(--blue-2); font-style:normal; font-size:18px; }

.contact-section { padding:0 0 84px; }
.contact-panel { padding:45px 50px; display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; background:#fff; border:1px solid #dce8f2; border-radius:24px; box-shadow:var(--shadow); }
.contact-panel h2 { font-size:38px; margin-bottom:12px; }
.contact-box { min-width:300px; display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.contact-box small { color:#7b90ab; font-size:10px; }
.contact-box > a:not(.btn) { color:var(--blue-2); font-weight:800; font-size:14px; margin-bottom:6px; }

.footer { background:var(--navy-deep); color:#fff; padding:42px 0 20px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr 1.15fr; gap:44px; align-items:start; }
.footer .brand-symbol { border-color:#51b7ed; }
.footer .brand-symbol::before,.footer .brand-symbol::after { background:#51b7ed; }
.footer .brand-copy strong { color:#fff; }
.footer .brand-copy small { color:#abc1da; }
.footer-nav,.footer-company { display:flex; flex-direction:column; gap:10px; }
.footer-nav a,.footer-company span,.footer-company a { color:#aebfd3; font-size:10px; }
.footer-company b { font-size:11px; }
.footer-bottom { margin-top:34px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); color:#8299b5; font-size:9px; line-height:1.5; }

/* Legal pages */
.legal-page { background:#f7fbff; color:var(--text); }
.legal-header { width:min(calc(100% - 40px),940px); margin:24px auto 0; min-height:64px; display:flex; justify-content:space-between; align-items:center; padding:12px 18px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(33,83,133,.06); }
.back-link { color:#6d85a4; font-size:12px; font-weight:700; }
.legal-wrap { width:min(calc(100% - 40px),940px); margin:62px auto 90px; }
.legal-wrap .kicker { margin-bottom:14px; color:var(--blue-2); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.legal-wrap h1 { margin:0 0 16px; color:var(--navy-deep); font-size:clamp(36px,6vw,58px); line-height:1.05; }
.legal-meta { color:#7e93ad; font-size:11px; margin-bottom:30px; }
.legal-card { padding:34px; border-radius:22px; border:1px solid #dce8f2; background:#fff; box-shadow:0 18px 55px rgba(34,88,142,.07); }
.legal-card h2 { margin:30px 0 10px; color:#23446f; font-size:19px; }
.legal-card h2:first-child { margin-top:0; }
.legal-card p,.legal-card li { color:#607b9c; font-size:12px; line-height:1.75; }
.legal-card strong { color:#29476f; }
.legal-card ul { padding-left:20px; }
.legal-warning { margin:20px 0; padding:15px 17px; border-left:3px solid var(--blue); border-radius:8px; background:#edf8ff; color:#4e6d91; font-size:11px; line-height:1.6; }
.legal-table { display:grid; grid-template-columns:190px 1fr; margin-top:18px; border:1px solid #dce8f2; border-radius:16px; overflow:hidden; }
.legal-table div { padding:13px 15px; border-bottom:1px solid #e6eef5; font-size:11px; line-height:1.5; }
.legal-table div:nth-child(odd) { color:#7a91ac; background:#f7fbff; border-right:1px solid #e6eef5; }
.legal-table div:nth-last-child(-n+2) { border-bottom:0; }

.reveal { opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns:auto 1fr; }
  .header-contact { display:none; }
  .nav { justify-self:end; gap:18px; }
  .hero { grid-template-columns:1fr .9fr; gap:34px; }
  .legal-grid { grid-template-columns:repeat(3,1fr); }
  .legal-wide { grid-column:span 2; }
  .content-split { grid-template-columns:1fr; gap:48px; }
  .flow-grid { grid-template-columns:repeat(4,1fr); }
}

@media (max-width: 820px) {
  .site-header { min-height:66px; }
  .nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:54px; }
  .wallet-stage { min-height:auto; padding-top:10px; }
  .hero-features { grid-template-columns:1fr; }
  .legal-grid { grid-template-columns:1fr 1fr; }
  .legal-wide { grid-column:span 2; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .partner-grid { grid-template-columns:repeat(2,1fr); }
  .security-panel { grid-template-columns:1fr; gap:30px; padding:36px; }
  .documents-grid { grid-template-columns:1fr; }
  .contact-panel { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
  .section { width: min(calc(100% - 24px), var(--max)); }
  .site-header { padding:0 14px; }
  .brand-symbol { width:35px; height:35px; }
  .brand-symbol::before,.brand-symbol::after { width:18px; left:5px; }
  .brand-copy strong { font-size:21px; }
  h1 { font-size:42px; }
  .hero { padding:42px 0 56px; }
  .hero-lead { font-size:14px; }
  .wallet-phone { padding:17px; border-radius:30px; }
  .phone-balance { min-height:150px; }
  .phone-actions span { width:56px; height:56px; }
  .legal-strip { padding-top:24px; }
  .legal-grid { grid-template-columns:1fr; }
  .legal-wide { grid-column:auto; }
  .content-split { padding:65px 0; }
  .flow-grid { grid-template-columns:1fr 1fr; }
  .flow-grid article { min-height:210px; }
  .soft-section { padding:65px 0; }
  .product-grid,.partner-grid { grid-template-columns:1fr; }
  .partner-note { grid-template-columns:1fr; gap:8px; }
  .partners-section { padding:65px 0; }
  .security-panel { padding:26px; border-radius:22px; }
  .security-points { grid-template-columns:1fr; }
  .documents-section { padding:64px 0 72px; }
  .contact-panel { padding:28px; }
  .contact-box { min-width:0; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .legal-header { width:calc(100% - 24px); }
  .legal-wrap { width:calc(100% - 24px); margin-top:44px; }
  .legal-card { padding:22px; }
  .legal-table { grid-template-columns:1fr; }
  .legal-table div:nth-child(odd) { border-right:0; border-bottom:0; }
  .legal-table div:nth-child(even) { border-bottom:1px solid #e6eef5; }
  .legal-table div:last-child { border-bottom:0; }
}
