:root {
  --ink: #081628;
  --text: #2a3d55;
  --muted: #68788c;
  --blue: #1f6bff;
  --pale: #f0f5fe;
  --alt: #f4f9ff;
  --dark: #020617;
  --card: #ffffff;
  --line: rgba(21, 51, 89, 0.1);
  --shadow: 0 18px 46px rgba(24, 72, 128, 0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 1180px;
  color: var(--ink);
  background: #fff;
  font-family: Inter, sans-serif;
}
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, dl, dd { margin: 0; }
.page { width: max(100%, 1180px); overflow: hidden; background: #fff; }
.safe { width: min(1440px, calc(max(100vw, 1180px) - 160px)); margin: 0 auto; }

.hero-section {
  position: relative;
  height: 1020px;
  background: var(--pale);
}
.site-header {
  position: relative;
  z-index: 3;
  width: min(1440px, calc(max(100vw, 1180px) - 160px));
  height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand { display: flex; align-items: center; gap: 10px; font-size: 12.6px; font-weight: 800; }
.brand img { width: 34px; height: 34px; }
.nav { display: flex; gap: 4px; align-items: center; }
.nav a {
  height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border-radius: 999px;
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
}
.nav a.active { color: var(--ink); background: rgba(31, 107, 255, 0.09); }
.hero-content { position: relative; height: 828px; }
.hero-copy { position: absolute; left: 0; top: 250px; z-index: 2; width: 580px; }
.hero-copy h1 { font-size: clamp(42px, 2.6vw, 50px); line-height: 1.08; font-weight: 800; letter-spacing: -1.2px; }
.hero-lede { width: min(515px, 100%); margin-top: 30px; color: var(--ink); font-size: clamp(21px, 1.25vw, 24px); line-height: 1.18; }
.hero-body { width: 580px; margin-top: 34px; color: var(--text); font-size: 14px; line-height: 1.38; }
.primary-button {
  margin-top: 42px;
  width: 245px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--blue);
  color: #fff;
  font-size: 18px;
  font-weight: 800;
}
.hero-art {
  position: absolute;
  right: max(-240px, calc((100vw - 1920px) * 0.34 - 240px));
  top: 0;
  width: clamp(820px, 63.23vw, 1214px);
  height: 1020px;
  object-fit: cover;
}
.highlights {
  position: relative;
  z-index: 3;
  height: 120px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.highlights article { padding: 24px; background: rgba(255, 255, 255, 0.88); border-right: 1px solid rgba(21, 51, 89, 0.08); }
.highlights article:last-child { border-right: 0; }
.highlights span, dt {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.62px;
  text-transform: uppercase;
}
.highlights strong { display: block; margin-top: 14px; font-size: 16px; line-height: 1.08; }

.foundation-section { height: 678px; background: #fff; display: flex; align-items: center; }
.foundation-grid {
  display: grid;
  grid-template-columns: minmax(520px, 674px) minmax(390px, 506px);
  gap: clamp(70px, 10vw, 236px);
  align-items: center;
}
.platform-card {
  width: 100%;
  height: 346px;
  border: 1px solid rgba(31, 107, 255, 0.14);
  border-radius: 8px;
  background: linear-gradient(145deg, #fff, #eef6ff);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.window-dots { height: 48px; display: flex; align-items: center; gap: 7px; padding-left: 20px; border-bottom: 1px solid var(--line); }
.window-dots i { width: 10px; height: 10px; border-radius: 50%; background: #b9c9dc; }
.window-dots i:nth-child(2) { background: #8ee0d5; }
.window-dots i:nth-child(3) { background: #7aa7ff; }
.platform-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding: 24px; }
.metric-box, .network-box { height: 232px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.78); padding: 20px; }
.metric-box span { color: var(--muted); font-size: 14px; font-weight: 700; }
.metric-box strong { display: block; margin-top: 8px; font-size: 40px; line-height: 1; }
.bars { display: flex; align-items: end; gap: 8px; height: 90px; margin-top: 48px; }
.bars i { flex: 1; border-radius: 999px 999px 0 0; background: linear-gradient(180deg, var(--blue), #9dc0ff); }
.bars i:nth-child(1){height:38%}.bars i:nth-child(2){height:52%}.bars i:nth-child(3){height:47%}.bars i:nth-child(4){height:72%}.bars i:nth-child(5){height:61%}.bars i:nth-child(6){height:86%}
.network-box { position: relative; background-image: linear-gradient(rgba(31,107,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(31,107,255,.07) 1px, transparent 1px); background-size: 34px 34px; }
.dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); }
.dot.a { left: 72px; top: 54px; }.dot.b { left: 194px; top: 91px; background:#00a6a6; }.dot.c { right: 62px; top: 58px; }
.line { position: absolute; height: 2px; background: linear-gradient(90deg, var(--blue), #00a6a6); opacity: .6; transform-origin: left center; }
.line.one { left: 74px; top: 60px; width: 150px; transform: rotate(15deg); }.line.two { left: 132px; top: 134px; width: 112px; transform: rotate(-24deg); }
.platform-code-asset {
  position: absolute;
  left: 87px;
  top: 102px;
  width: 126px;
  height: 121px;
  object-fit: cover;
}
.section-copy h2 { width: min(506px, 100%); font-size: clamp(36px, 2.35vw, 45px); line-height: 1.06; letter-spacing: -1px; font-weight: 800; }
.section-copy p { width: min(507px, 100%); margin-top: 30px; color: var(--text); font-size: 14px; line-height: 1.45; }

.services-section { height: 820px; padding-top: 145px; background: var(--alt); }
.center-heading { text-align: center; }
.center-heading h2 { font-size: 45px; line-height: 1; font-weight: 800; }
.center-heading p { margin: 24px auto 0; width: min(1200px, 100%); color: var(--text); font-size: 14px; }
.service-grid { margin-top: 80px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.service-grid article, .policy-grid article, .legal-grid article {
  min-height: 189px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 16px 36px rgba(24,72,128,.07);
}
.service-grid span {
  width: 42px; height: 42px; display:grid; place-items:center; border-radius:50%;
  color: var(--blue); background:#e8f2ff; font-size: 18px; font-weight: 800;
}
h3 { font-size: 18px; line-height: 1.1; font-weight: 800; }
.service-grid h3 { margin-top: 20px; }
.service-grid p, .policy-grid p, .legal-grid p { margin-top: 12px; color: var(--text); font-size: 12px; line-height: 1.45; }

.company-section { height: 825px; background: #fff; display: flex; align-items: center; }
.company-grid { display: grid; grid-template-columns: minmax(420px, 570px) minmax(0, 856px); gap: 14px; }
.info-card, .profile-card, .focus-card {
  border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.86); box-shadow: var(--shadow);
}
.info-card { height: 563px; padding: 112px 31px 31px; }
.info-card h2 { font-size: 45px; line-height: 1; font-weight: 800; }
.accent { width: 81px; height: 3px; margin: 47px 0 56px; background: var(--blue); }
dt { margin-top: 22px; } dt:first-child { margin-top: 0; }
dd { margin-top: 8px; color: var(--ink); font-size: 14px; font-weight: 800; line-height: 1.25; }
.profile-card { height: 563px; padding: 30px; }
.doc-visual { height: 232px; display: grid; grid-template-columns: 1fr 210px; gap: 28px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(145deg,#fff,#eef6ff); padding: 34px; }
.document { padding: 22px; background:#fff; border-radius:8px; border:1px solid var(--line); }
.document img { width:42px; height:42px; display:block; }.document strong { display:block; margin-top:12px; font-size:18px; }.document i { display:block; height:10px; margin-top:14px; border-radius:999px; background:#dce9f8; }
.wallet-visual {
  width: 210px;
  height: 183px;
  object-fit: contain;
  align-self: center;
  justify-self: center;
}
.profile-card h3 { margin-top: 24px; }
.profile-card p { margin-top: 10px; color: var(--text); font-size: 12px; line-height: 1.45; }

.privacy-section { height: 834px; padding-top: 112px; background: var(--alt); }
.privacy-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(440px, 536px); gap: clamp(48px, 5vw, 84px); align-items: center; }
.privacy-top h2 { width: min(731px, 100%); font-size: clamp(38px, 2.35vw, 45px); line-height: 1; font-weight: 800; }
.privacy-top p { width: min(740px, 100%); margin-top: 30px; color: var(--text); font-size: 14px; line-height: 1.45; }
.privacy-art, .legal-art { height: 249px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(145deg,#fff,#eaf4ff); box-shadow: var(--shadow); position: relative; overflow: hidden; }
.paper { position:absolute; left:42px; top:42px; width:192px; height:165px; border:1px solid var(--line); border-radius:8px; background:#fff; padding:38px 20px; }
.paper strong { font-size:14px; }.paper i, .risk-card i { display:block; height:10px; margin-top:16px; border-radius:999px; background:#dce9f8; }
.privacy-asset {
  position: absolute;
  right: 1px;
  top: -8px;
  width: 322px;
  height: 248px;
  object-fit: cover;
}
.policy-grid { margin-top: 66px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.policy-grid .wide { grid-column: span 2; }

.legal-section { height: 878px; background:#fff; padding-top:112px; }
.legal-top { display:grid; grid-template-columns: minmax(420px, 615px) minmax(520px, 665px); gap:clamp(70px, 8vw, 160px); align-items:center; }
.legal-top h2 { width:min(615px, 100%); font-size:clamp(38px, 2.35vw, 45px); line-height:1; font-weight:800; }
.radar { position:absolute; left:68px; top:37px; width:190px; height:190px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,transparent 0 26%,rgba(31,107,255,.09) 27% 28%,transparent 29% 52%,rgba(31,107,255,.09) 53% 54%,transparent 55%); box-shadow: 0 22px 44px rgba(31,107,255,.14); }
.radar img { width: 32px; height: 32px; }
.risk-card { position:absolute; right:142px; top:73px; width:220px; height:138px; padding:22px; border-radius:8px; background:rgba(255,255,255,.84); border:1px solid var(--line); }
.risk-card img {
  position: absolute;
  right: -69px;
  bottom: -29px;
  width: 153px;
  height: 118px;
  object-fit: contain;
}
.legal-grid { margin-top:66px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }

.about-section { height:599px; background:var(--alt); display:flex; align-items:center; }
.about-grid { display:grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 545px); gap:55px; align-items:center; }
.about-grid h2 { font-size:clamp(38px, 2.35vw, 45px); line-height:1; font-weight:800; }
.about-grid p { width:min(760px, 100%); margin-top:45px; color:var(--text); font-size:14px; line-height:1.45; }
.about-grid p + p { margin-top:28px; }
.focus-card { min-height:361px; padding:29px; }
.focus-card ul { margin:22px 0 0; padding:0; list-style:none; }
.focus-card li { position:relative; padding-left:22px; margin-top:13px; color:var(--text); font-size:16px; font-weight:700; }
.focus-card li::before { content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--blue); }

.contact-section { height:601px; padding-top:77px; background:var(--dark); }
.contact-card { height:448px; display:grid; grid-template-columns: 1fr minmax(420px, 537px); gap:clamp(56px, 5vw, 80px); padding:70px clamp(58px, 4.25vw, 82px); border-radius:8px; color:#fff; background:radial-gradient(circle at 78% 18%,rgba(31,107,255,.35),transparent 20rem), linear-gradient(145deg,#0f172a,#020617); border:1px solid rgba(148,163,184,.18); }
.contact-card h2 { font-size:45px; line-height:1.08; font-weight:800; }
.contact-card p { width:496px; margin-top:28px; color:#cbd5e1; font-size:14px; line-height:1.45; }
.contact-card dt { color:#cbd5e1; font-size:12px; }
.contact-card dd { color:#fff; font-size:14px; margin-bottom:30px; }

.site-footer { height:149px; background:var(--dark); border-top:1px solid rgba(148,163,184,.18); }
.footer-inner { height:149px; display:flex; align-items:center; justify-content:space-between; color:#94a3b8; }
.footer-inner strong { color:#fff; font-size:16px; }.footer-inner p { margin-top:6px; color:#94a3b8; font-size:12px; }
.footer-inner a { color:#93c5fd; font-size:18px; font-weight:700; }

@media (max-width: 1440px) {
  .safe,
  .site-header {
    width: min(1200px, calc(max(100vw, 1180px) - 96px));
  }

  .hero-section {
    height: 900px;
  }

  .hero-content {
    height: 708px;
  }

  .hero-copy {
    top: 220px;
    width: 500px;
  }

  .hero-body {
    width: 500px;
  }

  .hero-art {
    right: -300px;
    width: 930px;
    height: 850px;
  }

  .foundation-grid {
    grid-template-columns: minmax(500px, 570px) minmax(360px, 460px);
    gap: 80px;
  }

  .platform-card {
    height: 322px;
  }

  .platform-inner {
    padding: 20px;
  }

  .metric-box,
  .network-box {
    height: 222px;
  }

  .service-grid,
  .policy-grid,
  .legal-grid {
    gap: 12px;
  }

  .company-grid {
    grid-template-columns: 420px 1fr;
  }

  .info-card h2,
  .center-heading h2,
  .section-copy h2,
  .privacy-top h2,
  .legal-top h2,
  .about-grid h2,
  .contact-card h2 {
    font-size: 38px;
  }

  .privacy-top {
    grid-template-columns: minmax(0, 1fr) 460px;
  }

  .privacy-art {
    transform: scale(0.86);
    transform-origin: right center;
  }

  .legal-top {
    grid-template-columns: minmax(380px, 500px) 540px;
    gap: 80px;
  }

  .legal-art {
    transform: scale(0.88);
    transform-origin: right center;
  }

  .about-grid {
    grid-template-columns: minmax(0, 1fr) 440px;
  }

  .contact-card {
    grid-template-columns: 1fr 460px;
  }
}
