:root { --ink:#17202e; --muted:#66738a; --line:#e1e8f2; --surface:#fff; --bg:#f7f9fc; --blue:#2d70ef; --blue-dark:#1f5dd4; --blue-soft:#e7efff; --blue-pale:#f3f7ff; --success:#159b72; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--surface); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; font-size:16px; line-height:1.5; }
a { color:inherit; }
.section-shell { width:min(1180px,100%); margin:0 auto; padding-left:48px; padding-right:48px; }
.site-header { background:var(--surface); }
.site-nav { width:min(1180px,100%); min-height:78px; display:flex; align-items:center; justify-content:space-between; margin:0 auto; padding-left:48px; padding-right:48px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font-size:19px; font-weight:800; text-decoration:none; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; overflow:hidden; border-radius:9px; }
.brand-mark img { width:100%; height:100%; display:block; object-fit:cover; transform:scale(1.16); }
.nav-links { display:flex; align-items:center; gap:25px; }
.nav-links a,.mobile-nav a { color:var(--muted); font-size:14px; text-decoration:none; }
.nav-links a:hover,.mobile-nav a:hover,.footer-links a:hover { color:var(--blue); }
.button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 17px; border:0; border-radius:8px; outline:none; font-size:14px; font-weight:700; text-decoration:none; transition:background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.button:hover { transform:translateY(-1px); }
.inline-icon { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.button-primary,
.button-primary:visited { color:#fff !important; background:var(--blue); box-shadow:0 5px 12px rgba(45,112,239,.18); }
.button-primary span { color:inherit; }
.button-primary:focus-visible { box-shadow:0 0 0 3px rgba(45,112,239,.2), 0 5px 12px rgba(45,112,239,.18); }
.button-primary:hover { background:var(--blue-dark); }
.button-secondary { color:var(--blue); background:var(--surface); border:1px solid #cbdcff; }
.button-small { min-height:36px; padding:0 13px; font-size:13px; }
.menu-button { display:none; border:0; color:var(--blue); background:transparent; font-size:24px; }
.mobile-nav { width:min(100% - 36px,500px); margin:0 auto 14px; padding:10px 0; border-top:1px solid var(--line); }
.mobile-nav a { display:block; padding:9px 0; }
.hero { min-height:590px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:55px; padding-top:74px; padding-bottom:70px; }
.eyebrow { margin:0 0 9px; color:var(--blue); text-transform:uppercase; letter-spacing:1.2px; font-size:12px; font-weight:800; }
.hero h1 { margin:12px 0 19px; font-size:clamp(42px,5.2vw,64px); line-height:1.12; letter-spacing:-1.5px; }
.hero h1 em { color:var(--blue); font-style:normal; }
.hero-description { max-width:500px; margin:0; color:var(--muted); font-size:17px; line-height:1.8; }
.hero-extra-note { max-width:500px; margin-top:18px; padding-top:13px; border-top:1px solid var(--line); }
.hero-extra-note strong { display:block; margin-bottom:3px; color:var(--ink); font-size:12px; }
.hero-extra-note p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.hero-proof { display:flex; flex-wrap:wrap; gap:18px; margin-top:29px; color:var(--muted); font-size:12px; }
.hero-proof span { display:flex; align-items:center; gap:6px; }
.hero-proof b { color:var(--blue); font-size:15px; }
.hero-visual { position:relative; min-height:400px; display:grid; place-items:center; }
.visual-glow { position:absolute; width:340px; height:340px; border-radius:50%; background:var(--blue-pale); }
.dashboard-preview { position:relative; width:min(100%,390px); overflow:hidden; background:var(--surface); border:1px solid #d9e5fa; border-radius:12px; box-shadow:0 25px 65px rgba(45,112,239,.16); transform:rotate(2deg); }
.preview-bar { height:40px; display:flex; align-items:center; gap:6px; padding:0 14px; border-bottom:1px solid var(--line); background:var(--bg); }
.preview-bar > i { width:6px; height:6px; border-radius:50%; background:#cbd6e7; }
.preview-bar small { margin-left:7px; color:var(--muted); font-size:11px; }
.preview-content { padding:23px; }
.preview-title { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:13px; }
.preview-title strong { display:flex; align-items:center; gap:5px; color:var(--success); font-size:12px; }
.preview-title strong i { width:6px; height:6px; border-radius:50%; background:var(--success); }
.preview-ring { width:160px; height:160px; margin:28px auto; display:grid; place-items:center; border:13px solid var(--blue-soft); border-top-color:var(--blue); border-right-color:#8fb4f8; border-radius:50%; }
.preview-ring > div { display:grid; justify-items:center; }
.preview-ring b { color:var(--ink); font-size:36px; }
.preview-ring small { color:var(--muted); font-size:12px; }
.preview-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.preview-metrics span { display:grid; gap:5px; padding:10px; background:var(--blue-pale); border-radius:7px; }
.preview-metrics small { color:var(--muted); font-size:11px; }
.preview-metrics b { color:var(--ink); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.public-section { padding-top:95px; padding-bottom:95px; }
.section-heading { max-width:660px; margin:0 auto 38px; text-align:center; }
.section-heading h2 { margin:10px 0; font-size:34px; letter-spacing:-.5px; }
.section-heading > p:last-child { margin:0; color:var(--muted); font-size:15px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature-grid article { padding:24px; border:1px solid var(--line); border-radius:10px; }
.feature-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:18px; color:var(--blue); background:var(--blue-soft); border-radius:10px; font-size:21px; font-weight:700; }
.feature-grid h3 { margin:0 0 9px; font-size:18px; }
.feature-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
.dedicated-ip-section { background:var(--blue-pale); }
.dedicated-ip-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:18px; align-items:stretch; }
.dedicated-ip-intro { padding:30px; background:var(--surface); border:1px solid #cbdcff; border-radius:12px; box-shadow:0 10px 28px rgba(45,112,239,.08); }
.dedicated-ip-badge { display:inline-flex; align-items:center; gap:7px; min-height:27px; padding:0 9px; color:var(--blue); background:var(--blue-soft); border-radius:6px; font-size:12px; font-weight:800; }
.dedicated-ip-badge span { font-size:10px; }
.dedicated-ip-intro h3 { margin:19px 0 10px; font-size:24px; line-height:1.35; letter-spacing:-.3px; }
.dedicated-ip-intro > p { margin:0; color:var(--muted); font-size:14px; line-height:1.8; }
.dedicated-ip-points { display:grid; gap:11px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.dedicated-ip-points span { display:flex; align-items:flex-start; gap:8px; color:var(--ink); font-size:13px; line-height:1.6; }
.dedicated-ip-points b { color:var(--success); font-size:15px; line-height:1.35; }
.dedicated-ip-scenarios { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.dedicated-ip-scenarios article { display:flex; gap:12px; padding:22px 19px; background:rgba(255,255,255,.75); border:1px solid #dce8ff; border-radius:10px; }
.scenario-icon { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; color:var(--blue); background:var(--surface); border-radius:8px; font-size:17px; font-weight:800; }
.dedicated-ip-scenarios h3 { margin:1px 0 6px; font-size:16px; }
.dedicated-ip-scenarios p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.dedicated-ip-note { margin:15px 0 0; color:var(--muted); font-size:12px; line-height:1.7; text-align:right; }
.comparison-section { background:var(--surface); }
.comparison-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; }
.comparison-card { min-width:0; padding:25px 23px 21px; background:var(--surface); border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 24px rgba(25,54,98,.04); }
.comparison-card-primary { border-color:#bcd2ff; box-shadow:0 10px 28px rgba(45,112,239,.12); }
.comparison-card header { min-height:105px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.comparison-card-kicker { display:inline-flex; align-items:center; min-height:24px; padding:0 8px; color:var(--blue); background:var(--blue-pale); border-radius:5px; font-size:11px; font-weight:800; }
.comparison-card h3 { margin:13px 0 5px; color:var(--ink); font-size:20px; }
.comparison-card p { min-height:42px; margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.comparison-card dl { margin:0; }
.comparison-card dl > div { padding:14px 0; border-bottom:1px solid var(--line); }
.comparison-card dl > div:last-child { border-bottom:0; padding-bottom:0; }
.comparison-card dt { margin-bottom:4px; color:var(--ink); font-size:12px; font-weight:800; }
.comparison-card dd { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.comparison-card-primary dd { color:var(--ink); }
.comparison-note { margin:14px 0 0; color:var(--muted); font-size:12px; text-align:right; }
.platform-section { background:var(--bg); }
.platform-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.platform-grid a { position:relative; min-height:142px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:19px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.platform-grid a:hover { border-color:#b8d0ff; box-shadow:0 8px 20px rgba(45,112,239,.08); }
.platform-grid a[aria-disabled="true"] { color:var(--muted); background:#fbfcfe; border-color:#d8e0ea; border-style:dashed; cursor:default; box-shadow:none; }
.platform-grid a[aria-disabled="true"]:hover { border-color:#d8e0ea; box-shadow:none; }
.platform-grid a[aria-disabled="true"] > span { color:#8190a4; background:#eef2f6; }
.platform-grid a[aria-disabled="true"] small { width:fit-content; display:inline-flex; align-items:center; gap:5px; padding:4px 7px; color:#6c7a8d; background:#f0f3f7; border:1px solid #e0e6ed; border-radius:4px; font-weight:700; }
.platform-grid a[aria-disabled="true"] small::before { width:5px; height:5px; content:""; background:#8d9aac; border-radius:50%; }
.platform-grid a > span { width:40px; height:40px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:9px; }
.platform-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.platform-windows svg { fill:currentColor; stroke:none; }
.platform-grid strong { font-size:15px; }
.platform-grid small { color:var(--muted); font-size:12px; }
.faq-section { padding-bottom:100px; }
.faq-list { max-width:750px; margin:0 auto; }
.faq-list details { border-top:1px solid var(--line); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; padding:17px 0; color:var(--ink); cursor:pointer; list-style:none; font-size:16px; font-weight:700; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--blue); font-size:20px; }
.faq-list details[open] summary span { transform:rotate(180deg); }
.faq-list p { margin:-2px 0 18px; color:var(--muted); font-size:14px; line-height:1.8; }
.site-footer { min-height:78px; display:flex; align-items:center; gap:18px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.site-footer .brand { margin-right:auto; font-size:16px; }
.site-footer .brand-mark { width:28px; height:28px; font-size:15px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.footer-links a { color:var(--blue); text-decoration:none; }
.legal-page { max-width:920px; padding-top:52px; padding-bottom:52px; }
.back-link { display:inline-flex; margin-bottom:34px; color:var(--blue); font-size:14px; font-weight:700; text-decoration:none; }
.legal-page h1 { margin:10px 0 8px; font-size:36px; letter-spacing:0; }
.legal-date { margin:0; color:var(--muted); font-size:14px; }
.legal-content { margin-top:30px; padding-top:8px; border-top:1px solid var(--line); }
.legal-content h2 { margin:30px 0 10px; font-size:19px; }
.legal-content p { margin:0 0 14px; color:var(--muted); font-size:15px; line-height:1.9; }
.legal-content > p:first-child { color:var(--ink); }
.legal-content code { padding:2px 5px; border-radius:4px; background:var(--blue-pale); color:var(--ink); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.9em; }
.legal-callout { padding:14px 16px; border-radius:8px; background:var(--blue-pale); color:var(--ink) !important; }
.legal-footer { display:flex; justify-content:space-between; gap:16px; margin-top:34px; padding-top:24px; border-top:1px solid var(--line); }
.legal-footer a { color:var(--blue); font-size:14px; font-weight:700; text-decoration:none; }
@media (max-width:760px) {
  .section-shell { padding-left:36px; padding-right:36px; }
  .site-nav { min-height:66px; padding-left:36px; padding-right:36px; }
  .nav-links { display:none; }
  .menu-button { display:block; }
  .hero { min-height:auto; grid-template-columns:1fr; gap:20px; padding-top:58px; padding-bottom:62px; }
  .hero h1 { font-size:42px; }
  .hero-description { font-size:15px; }
  .hero-ai-acceleration { margin-top:16px; padding:11px 12px; }
  .hero-ai-acceleration p { font-size:11px; }
  .hero-visual { min-height:330px; }
  .dashboard-preview { width:min(100%,350px); }
  .public-section { padding-top:68px; padding-bottom:68px; }
  .section-heading h2 { font-size:28px; }
  .section-heading > p:last-child { font-size:14px; }
  .feature-grid { grid-template-columns:1fr; }
  .dedicated-ip-layout { grid-template-columns:1fr; }
  .dedicated-ip-intro { padding:23px 20px; }
  .dedicated-ip-intro h3 { font-size:21px; }
  .dedicated-ip-scenarios { grid-template-columns:1fr; }
  .dedicated-ip-scenarios article { padding:18px 16px; }
  .dedicated-ip-note { text-align:left; }
  .comparison-grid { grid-template-columns:1fr; gap:12px; }
  .comparison-card { padding:21px 18px 18px; }
  .comparison-card header { min-height:0; }
  .comparison-card h3 { font-size:18px; }
  .comparison-card p { min-height:0; font-size:12px; }
  .comparison-card dl > div { display:grid; grid-template-columns:112px 1fr; gap:12px; align-items:start; padding:12px 0; }
  .comparison-card dt { margin:0; }
  .comparison-note { text-align:left; line-height:1.7; }
  .platform-grid { grid-template-columns:repeat(2,1fr); }
  .site-footer { flex-wrap:wrap; padding-top:20px; padding-bottom:20px; }
  .site-footer .brand { width:100%; }
  .footer-links { width:100%; justify-content:flex-start; gap:12px; }
  .legal-page { padding-top:30px; padding-bottom:34px; }
  .legal-page h1 { font-size:29px; }
  .legal-content h2 { font-size:18px; }
  .legal-content p { font-size:14px; line-height:1.8; }
  .legal-footer { align-items:flex-start; flex-direction:column; }
}
