:root {
  --ink: #081a33;
  --ink-2: #193a5c;
  --muted: #637992;
  --muted-2: #8da2b8;
  --line: #dbe7f4;
  --line-soft: #eaf2fa;
  --bg: #f6f9fd;
  --paper: #fff;
  --blue: #2f6bff;
  --blue-2: #1b9bff;
  --green: #139b6b;
  --amber: #b47613;
  --radius: 16px;
  --mono: "SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, monospace;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "SF Pro Display", "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 40;
  border-bottom: 1px solid rgba(219, 231, 244, .85);
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(18px);
}
.site-nav-wrap { display: flex; align-items: center; gap: 28px; min-height: 72px; }
.site-brand img { display: block; width: 178px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.site-nav > a { color: #4d6680; font-size: 13px; transition: color .2s; }
.site-nav > a:hover, .site-nav > a.is-active { color: var(--blue); }
.site-nav-cta {
  display: inline-flex !important; align-items: center; gap: 7px;
  padding: 9px 15px; border-radius: 8px;
  background: var(--ink); color: #fff !important;
}
.site-nav-cta:hover { background: var(--blue); }
.site-menu-toggle { display: none; margin-left: auto; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.site-menu-toggle span { display: block; width: 16px; height: 1.5px; margin: 3px auto; background: var(--ink); }
main { min-height: 65vh; }

/* Common */
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-family: var(--mono); font-size: 9px; letter-spacing: .18em; }
.eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.section { padding: 82px 0; }
.section-soft { background: #fff; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.section-head { max-width: 720px; margin-bottom: 36px; }
.section-head h2 { margin: 11px 0 0; font-size: clamp(30px, 3.2vw, 44px); font-weight: 400; line-height: 1.18; letter-spacing: -.045em; }
.section-head p { margin: 12px 0 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
.section-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.text-link { color: var(--blue); font-size: 13px; }
.text-link:hover { text-decoration: underline; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 18px; border: 1px solid transparent; border-radius: 8px; font-size: 13px; transition: .2s; }
.btn-primary { background: linear-gradient(135deg, var(--blue), var(--blue-2)); color: #fff; box-shadow: 0 10px 24px rgba(47,107,255,.23); }
.btn-primary:hover { transform: translateY(-1px); filter: brightness(1.04); }
.btn-ghost { border-color: var(--line); background: #fff; color: var(--ink-2); }
.btn-ghost:hover { border-color: #b8d2ee; background: #f8fbff; }
.btn-dark { background: var(--ink); color: #fff; }
.btn-dark:hover { background: var(--blue); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.card { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 8px 28px rgba(25,70,135,.035); }
.card-pad { padding: 25px; }

/* Home */
.home-hero {
  position: relative; overflow: hidden; padding: 88px 0 70px;
  background:
    radial-gradient(700px 440px at 83% 8%, rgba(47,107,255,.16), transparent 65%),
    radial-gradient(520px 420px at 8% 92%, rgba(53,185,255,.1), transparent 65%),
    linear-gradient(145deg, #fbfdff, #edf5ff);
}
.home-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(47,107,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(47,107,255,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 50% 40%, black, transparent 76%);
}
.hero-inner { position: relative; z-index: 1; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 5px 10px; border: 1px solid #d8e7f8; border-radius: 999px; background: rgba(255,255,255,.7); color: #587895; font-size: 11px; }
.hero-badge i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(19,155,107,.1); }
.home-hero h1 { max-width: 760px; margin: 22px 0 0; font-size: clamp(46px, 6.2vw, 82px); font-weight: 400; line-height: 1.06; letter-spacing: -.065em; }
.home-hero h1 span { color: var(--blue); }
.hero-sub { max-width: 600px; margin: 20px 0 0; color: #5e7690; font-size: 15px; line-height: 1.95; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 29px; }
.hero-note { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; color: #8299b0; font-size: 11px; }
.hero-note span::before { content: "✓"; margin-right: 5px; color: var(--green); }
.hero-visual { position: absolute; right: 4%; top: 48px; width: 380px; height: 400px; pointer-events: none; }
.orbit { position: absolute; border: 1px solid rgba(47,107,255,.14); border-radius: 50%; }
.orbit-one { inset: 20px; }
.orbit-two { inset: 80px; border-style: dashed; }
.hero-panel { position: absolute; right: 0; top: 90px; width: 290px; padding: 22px; border: 1px solid #d9e7f6; border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 30px 70px rgba(25,70,135,.14); backdrop-filter: blur(12px); transform: rotate(-2deg); }
.hero-panel-label { color: #8da2b8; font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.hero-panel-domain { margin-top: 8px; color: var(--ink); font-size: 34px; font-weight: 500; letter-spacing: -.05em; }
.hero-panel-domain span { color: var(--blue); }
.hero-panel p { margin: 7px 0 0; color: #6f849a; font-size: 11px; }
.hero-panel-row { display: flex; justify-content: space-between; margin-top: 19px; padding-top: 13px; border-top: 1px solid #e6eef8; color: #7d93aa; font-size: 10px; }
.hero-panel-row strong { color: var(--ink); font-weight: 500; }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 54px; padding-top: 22px; border-top: 1px solid #d8e5f4; }
.hero-stats strong { display: block; font-size: 25px; font-weight: 400; letter-spacing: -.04em; }
.hero-stats span { color: #8198ae; font-size: 10.5px; }

/* Feature cards */
.feature-card { padding: 25px; }
.feature-icon { display: grid; place-items: center; width: 41px; height: 41px; border-radius: 11px; background: #edf5ff; color: var(--blue); font-family: var(--mono); font-size: 11px; }
.feature-card h3 { margin: 19px 0 0; font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.feature-card p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.feature-card ul { margin: 14px 0 0; padding: 0; list-style: none; }
.feature-card li { color: #748ba2; font-size: 11px; line-height: 1.8; }
.feature-card li::before { content: "·"; margin-right: 7px; color: var(--blue); }
.feature-card-wide { grid-column: span 2; }
.feature-visual { margin-top: 18px; padding: 16px; border: 1px solid #e1ebf7; border-radius: 10px; background: #f8fbff; }
.mini-domain-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #e6eef8; font-size: 11px; }
.mini-domain-row:last-child { border-bottom: 0; }
.mini-domain-row strong { font-family: var(--mono); font-size: 12px; font-weight: 500; }
.mini-domain-row span { color: #8ca1b7; }

/* Steps */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; counter-reset: step; }
.step { position: relative; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.step::before { counter-increment: step; content: "0" counter(step); color: var(--blue); font-family: var(--mono); font-size: 10px; }
.step h3 { margin: 21px 0 0; font-size: 17px; font-weight: 500; }
.step p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.9; }

/* CTA */
.cta-band { padding: 45px 46px; border-radius: 22px; background: linear-gradient(120deg, #0a2445, #123f70 58%, #1c5f8f); color: #fff; box-shadow: 0 25px 60px rgba(10,36,69,.18); }
.cta-band h2 { margin: 0; font-size: clamp(28px, 3.2vw, 42px); font-weight: 400; letter-spacing: -.04em; }
.cta-band p { max-width: 540px; margin: 10px 0 0; color: rgba(235,245,255,.6); font-size: 13px; }
.cta-actions { display: flex; gap: 9px; margin-top: 22px; flex-wrap: wrap; }

/* Page hero */
.page-hero { padding: 68px 0 54px; border-bottom: 1px solid var(--line-soft); background: linear-gradient(150deg,#fbfdff,#eef5ff); }
.page-hero h1 { margin: 12px 0 0; font-size: clamp(40px, 5vw, 64px); font-weight: 400; line-height: 1.1; letter-spacing: -.06em; }
.page-hero p { max-width: 680px; margin: 15px 0 0; color: var(--muted); font-size: 14px; line-height: 1.9; }

/* Pricing */
.pricing-hero { padding-bottom: 20px; background: transparent; border-bottom: 0; }
.query-card { padding: 27px 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 14px 38px rgba(25,70,135,.06); }
.query-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 19px; }
.query-card h2 { margin: 0; font-size: 23px; font-weight: 400; letter-spacing: -.03em; }
.query-card p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.query-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field > span { color: #607791; font-size: 11px; }
.field input, .field textarea, .field select { width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #fbfdff; color: var(--ink); font-size: 13px; }
.field input:focus, .field textarea:focus { border-color: #7aa8ff; box-shadow: 0 0 0 3px rgba(47,107,255,.1); background: #fff; }
.form-error { margin: 8px 0 0; color: #b53737; font-size: 11.5px; }
.query-result { margin-top: 18px; padding: 15px 17px; border: 1px solid #dce8f6; border-radius: 10px; background: #f8fbff; }
.query-result.is-valid { border-color: #bfe8d2; background: #f3fcf7; }
.query-result.is-invalid { border-color: #f0cccc; background: #fff6f6; }
.query-result h3 { margin: 0; font-size: 16px; font-weight: 500; }
.query-result p { margin: 4px 0 0; color: #6d8399; font-size: 11.5px; }
.result-meta { display: flex; gap: 15px; flex-wrap: wrap; margin-top: 8px; color: #8da2b7; font-size: 10.5px; }
.pricing-section { padding-top: 48px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: stretch; }
.price-card { position: relative; display: flex; flex-direction: column; padding: 27px 25px 24px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.price-card.is-highlighted { border-color: #86b0ff; box-shadow: 0 20px 50px rgba(47,107,255,.12); }
.price-badge { position: absolute; right: 18px; top: 17px; padding: 3px 8px; border-radius: 999px; background: #edf4ff; color: var(--blue); font-size: 9px; }
.price-card h3 { margin: 0; font-size: 21px; font-weight: 500; }
.price-tagline { min-height: 34px; margin: 6px 0 0; color: #7b90a6; font-size: 11.5px; line-height: 1.65; }
.price-number { margin: 20px 0 0; color: var(--ink); font-size: 39px; font-weight: 400; letter-spacing: -.05em; }
.price-number small { font-size: 13px; color: #8198ae; letter-spacing: 0; }
.price-billing { margin: 3px 0 0; color: #8da2b7; font-size: 10.5px; }
.price-features { flex: 1; margin: 19px 0 22px; padding: 16px 0 0; border-top: 1px solid var(--line-soft); list-style: none; }
.price-features li { color: #5f7890; font-size: 11.5px; line-height: 1.8; }
.price-features li::before { content: "✓"; margin-right: 7px; color: var(--green); font-size: 10px; }
.price-card .btn { width: 100%; }

/* Changelog */
.log-list { display: grid; gap: 18px; }
.log-card { padding: 27px 29px; }
.log-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.log-version { color: var(--blue); font-family: var(--mono); font-size: 12px; }
.log-date { color: #8da2b7; font-family: var(--mono); font-size: 10px; }
.log-card h2 { margin: 10px 0 0; font-size: 22px; font-weight: 500; letter-spacing: -.02em; }
.log-card ul { margin: 14px 0 0; padding: 0; list-style: none; }
.log-card li { color: #5e778f; font-size: 12px; line-height: 1.9; }
.log-card li::before { content: "—"; margin-right: 8px; color: #a9bdd2; }

/* Docs */
.docs-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 36px; align-items: start; }
.docs-toc { position: sticky; top: 92px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.docs-toc h3 { margin: 0 0 9px; color: #8da2b7; font-size: 9px; font-family: var(--mono); letter-spacing: .14em; }
.docs-toc a { display: block; padding: 5px 0; color: #5f7890; font-size: 11.5px; }
.docs-toc a:hover { color: var(--blue); }
.doc-section { padding: 27px 29px; }
.doc-section + .doc-section { margin-top: 16px; }
.doc-section h2 { margin: 0; font-size: 23px; font-weight: 500; letter-spacing: -.02em; }
.doc-section h3 { margin: 24px 0 0; font-size: 16px; font-weight: 500; }
.doc-section p, .doc-section li { color: #5e778f; font-size: 12.5px; line-height: 1.95; }
.doc-section ul, .doc-section ol { padding-left: 19px; }
.doc-section code { padding: 2px 5px; border-radius: 4px; background: #f0f5fc; color: #275078; font-family: var(--mono); font-size: 11px; }
.doc-section pre { overflow-x: auto; margin: 12px 0; padding: 14px 16px; border: 1px solid #e1ebf7; border-radius: 9px; background: #f8fbff; color: #31536f; font-family: var(--mono); font-size: 11px; line-height: 1.7; }
.faq-item + .faq-item { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line-soft); }
.faq-item h3 { margin: 0; font-size: 14px; font-weight: 500; }
.faq-item p { margin: 6px 0 0; }
.doc-note { padding: 12px 14px; border: 1px solid #f0dfbd; border-radius: 8px; background: #fffaf0; color: #866329; font-size: 11.5px; }

/* About */
.about-hero { padding-bottom: 0; background: transparent; border: 0; }
.about-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; }
.about-card { padding: 27px; }
.about-card h2 { margin: 0; font-size: 25px; font-weight: 400; letter-spacing: -.03em; }
.about-card p { color: #5e778f; font-size: 12.5px; line-height: 1.95; }
.about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 17px; }
.about-stat { padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: #fbfdff; }
.about-stat strong { display: block; font-size: 23px; font-weight: 400; letter-spacing: -.04em; }
.about-stat span { color: #8da2b7; font-size: 10px; }
.contact-list { display: grid; gap: 12px; margin-top: 17px; }
.contact-list a, .contact-list div { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 11px; border-bottom: 1px solid var(--line-soft); color: #5e778f; font-size: 11.5px; }
.contact-list a:hover { color: var(--blue); }
.contact-list span:last-child { color: var(--ink-2); }

/* Footer */
.site-footer { margin-top: 20px; border-top: 1px solid var(--line); background: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1.8fr; gap: 60px; padding: 50px 0 35px; }
.footer-brand img { width: 175px; height: auto; }
.footer-brand p { margin: 15px 0 0; color: #7b90a6; font-size: 12px; line-height: 1.9; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.footer-links h3 { margin: 0 0 12px; color: #93a6ba; font-size: 11px; font-weight: 500; }
.footer-links a { display: block; margin-top: 8px; color: #637b92; font-size: 11.5px; }
.footer-links a:hover { color: var(--blue); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0 24px; border-top: 1px solid var(--line-soft); color: #93a6ba; font-size: 10px; }

@media (max-width: 980px) {
  .hero-visual { display: none; }
  .home-hero h1 { max-width: 680px; }
  .pricing-grid, .grid-3, .steps { grid-template-columns: 1fr 1fr; }
  .docs-layout { grid-template-columns: 1fr; }
  .docs-toc { position: static; }
  .about-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .container { width: calc(100% - 32px); }
  .site-nav-wrap { min-height: 62px; }
  .site-brand img { width: 155px; }
  .site-menu-toggle { display: block; }
  .site-nav { position: absolute; left: 16px; right: 16px; top: 68px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 9px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 20px 50px rgba(20,60,120,.13); }
  .site-nav.is-open { display: flex; }
  .site-nav > a { padding: 10px 12px; border-radius: 7px; }
  .site-nav-cta { margin-top: 5px; justify-content: center; }
  .section { padding: 55px 0; }
  .home-hero { padding: 60px 0 45px; }
  .home-hero h1 { font-size: 43px; }
  .hero-stats { grid-template-columns: 1fr 1fr; gap: 18px; }
  .pricing-grid, .grid-3, .grid-2, .steps { grid-template-columns: 1fr; }
  .feature-card-wide { grid-column: auto; }
  .query-form { grid-template-columns: 1fr; }
  .query-card { padding: 21px 18px; }
  .cta-band { padding: 30px 24px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; padding: 35px 0 25px; }
  .footer-links { gap: 18px; }
  .footer-bottom { flex-direction: column; gap: 5px; }
}

.section-head-flush { margin-bottom: 0; }
.about-cta { margin-top: 22px; }

/* =========================================================
   TECHON-INSPIRED DARK / ORANGE THEME
   ========================================================= */
:root {
  --navy: #061426;
  --navy-2: #0a1f38;
  --navy-3: #0d2947;
  --orange: #ff6b2c;
  --orange-2: #ff8a3d;
  --cyan: #3bc6ff;
  --paper-2: #f2f6fc;
}
body { background: #f3f6fb; color: #0a1d33; }
.site-header {
  background: rgba(6, 20, 38, .96);
  border-bottom: 1px solid rgba(116, 164, 215, .18);
  backdrop-filter: blur(18px);
}
.dx-topbar { border-bottom: 1px solid rgba(116, 164, 215, .12); background: #030d1a; }
.dx-topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 30px; color: #6f8aa6; font-family: var(--mono); font-size: 9px; letter-spacing: .04em; }
.dx-topbar-inner > div { display: flex; gap: 18px; }
.dx-topbar-inner a { color: #8ca7c3; }
.dx-topbar-inner a:hover { color: var(--orange); }
.dx-nav-wrap { min-height: 72px; }
.site-header .site-brand img, .site-footer .footer-brand img { filter: brightness(0) invert(1); }
.dx-nav > a { color: #9cb2ca; font-size: 12.5px; letter-spacing: .01em; }
.dx-nav > a:hover, .dx-nav > a.is-active { color: #fff; }
.dx-nav > a.is-active { position: relative; }
.dx-nav > a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -9px; height: 2px; background: var(--orange); }
.dx-nav .site-nav-cta, .dx-nav-cta { background: var(--orange); color: #fff !important; border-radius: 2px; padding: 10px 15px; font-size: 12px; box-shadow: 0 8px 24px rgba(255,107,44,.18); }
.dx-nav-cta::after { display: none !important; }
.dx-nav-cta:hover { background: var(--orange-2); color: #fff !important; }
.dx-menu-toggle { border-color: rgba(255,255,255,.25); background: transparent; }
.dx-menu-toggle span { background: #fff; }

/* shared new components */
.dx-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-family: var(--mono); font-size: 9px; letter-spacing: .18em; }
.dx-kicker::before { content: ""; width: 23px; height: 1px; background: currentColor; }
.dx-kicker-light { color: var(--orange); }
.dx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 0 19px; border: 1px solid transparent; border-radius: 2px; font-size: 12.5px; transition: .2s; }
.dx-btn-orange { background: var(--orange); color: #fff; box-shadow: 0 12px 30px rgba(255,107,44,.2); }
.dx-btn-orange:hover { background: var(--orange-2); transform: translateY(-1px); }
.dx-btn-ghost-light { border-color: rgba(255,255,255,.25); color: #eaf4ff; background: rgba(255,255,255,.025); }
.dx-btn-ghost-light:hover { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.08); }
.dx-btn-dark { background: var(--navy); color: #fff; }
.dx-btn-dark:hover { background: var(--navy-3); }
.dx-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.dx-text-link { color: var(--blue); font-size: 12px; }
.dx-text-link:hover { color: var(--orange); }
.dx-section { padding: 92px 0; }
.dx-section-light { background: #fff; }
.dx-section-muted { background: #eef3fa; }
.dx-section-dark { position: relative; overflow: hidden; background: var(--navy); color: #fff; }
.dx-section-dark::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(700px 400px at 90% 0, rgba(59,198,255,.09), transparent 65%), radial-gradient(500px 350px at 0 100%, rgba(255,107,44,.07), transparent 65%); }
.dx-section-dark > .container { position: relative; z-index: 1; }
.dx-section-head { max-width: 720px; margin-bottom: 42px; }
.dx-section-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; max-width: none; }
.dx-section-head-row > div { max-width: 650px; }
.dx-section-head-row > p { max-width: 360px; margin: 0 0 4px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.dx-section-head h2, .dx-center h2 { margin: 12px 0 0; color: #081a33; font-size: clamp(32px, 3.6vw, 50px); font-weight: 400; line-height: 1.13; letter-spacing: -.055em; }
.dx-section-dark .dx-section-head h2 { color: #fff; }
.dx-section-head p { margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.9; }
.dx-center { max-width: 720px; margin-left: auto; margin-right: auto; text-align: center; }
.dx-center .dx-kicker { justify-content: center; }
.dx-center p { margin-left: auto; margin-right: auto; }
.dx-hero-grid { position: absolute; inset: 0; pointer-events: none; opacity: .5; background-image: linear-gradient(rgba(120,170,225,.075) 1px, transparent 1px), linear-gradient(90deg, rgba(120,170,225,.075) 1px, transparent 1px); background-size: 62px 62px; mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 76%); }

/* home hero */
.dx-hero { position: relative; overflow: hidden; padding: 86px 0 0; background: radial-gradient(800px 500px at 75% 25%, #123a61 0%, transparent 62%), linear-gradient(120deg, #061426, #081e35 58%, #07192d); color: #fff; }
.dx-hero::after { content: ""; position: absolute; width: 560px; height: 560px; right: -190px; top: -170px; border: 1px solid rgba(59,198,255,.13); border-radius: 50%; box-shadow: 0 0 0 90px rgba(59,198,255,.025), 0 0 0 180px rgba(59,198,255,.018); pointer-events: none; }
.dx-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 45px; min-height: 540px; padding-bottom: 56px; }
.dx-hero-copy h1 { max-width: 680px; margin: 21px 0 0; color: #fff; font-size: clamp(52px, 5.7vw, 78px); font-weight: 400; line-height: 1.04; letter-spacing: -.07em; }
.dx-hero-copy h1 em { color: var(--orange); font-style: normal; }
.dx-hero-lead { max-width: 560px; margin: 21px 0 0; color: #9ab0c7; font-size: 14px; line-height: 1.95; }
.dx-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; color: #7893ad; font-size: 10px; }
.dx-trust span::before { content: "✓"; margin-right: 6px; color: var(--cyan); }
.dx-hero-visual { position: relative; min-height: 430px; }
.dx-orbit { position: absolute; border: 1px solid rgba(59,198,255,.14); border-radius: 50%; }
.dx-orbit-one { inset: 5px 12px 15px 5px; }
.dx-orbit-two { inset: 62px 68px 70px 62px; border-style: dashed; border-color: rgba(255,107,44,.2); }
.dx-dashboard { position: absolute; right: 18px; top: 47px; width: 332px; padding: 21px; border: 1px solid rgba(150,198,240,.25); border-radius: 3px; background: linear-gradient(150deg, rgba(15,42,70,.97), rgba(7,25,44,.97)); box-shadow: 0 30px 80px rgba(0,0,0,.4); transform: rotate(-1.5deg); }
.dx-dash-head { display: flex; align-items: center; justify-content: space-between; color: #7796b5; font-family: var(--mono); font-size: 8px; letter-spacing: .08em; }
.dx-live { display: inline-flex; align-items: center; gap: 5px; color: #69e0b0; }
.dx-live i { width: 5px; height: 5px; border-radius: 50%; background: #69e0b0; box-shadow: 0 0 0 3px rgba(105,224,176,.12); }
.dx-dash-domain { margin-top: 15px; color: #fff; font-size: 34px; font-weight: 500; letter-spacing: -.05em; }
.dx-dash-domain span { color: var(--cyan); }
.dx-dash-desc { margin: 5px 0 0; color: #839fb9; font-size: 10px; }
.dx-dash-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 17px; }
.dx-dash-grid div { padding: 10px; border: 1px solid rgba(126,170,213,.16); background: rgba(255,255,255,.025); }
.dx-dash-grid span { display: block; color: #7290ab; font-size: 8px; }
.dx-dash-grid strong { display: block; margin-top: 3px; color: #fff; font-size: 15px; font-weight: 500; }
.dx-dash-bar { display: flex; align-items: flex-end; gap: 5px; height: 42px; margin-top: 13px; padding: 0 8px; border-bottom: 1px solid rgba(126,170,213,.14); }
.dx-dash-bar span { flex: 1; height: 40%; background: linear-gradient(180deg, rgba(59,198,255,.75), rgba(59,198,255,.18)); }
.dx-dash-bar span:nth-child(2) { height: 65%; }.dx-dash-bar span:nth-child(3) { height: 45%; }.dx-dash-bar span:nth-child(4) { height: 85%; background: linear-gradient(180deg, rgba(255,107,44,.8), rgba(255,107,44,.2)); }.dx-dash-bar span:nth-child(5) { height: 55%; }
.dx-dash-row { display: flex; justify-content: space-between; gap: 10px; padding-top: 9px; color: #6e8da9; font-size: 8.5px; }
.dx-dash-row strong { color: #b7cce0; font-weight: 400; }
.dx-float-chip { position: absolute; z-index: 2; padding: 7px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 2px; background: rgba(8,28,50,.9); color: #cbe1f4; font-family: var(--mono); font-size: 8px; letter-spacing: .06em; box-shadow: 0 10px 25px rgba(0,0,0,.2); }
.dx-chip-a { right: 0; top: 20px; color: var(--orange); }
.dx-chip-b { left: 10px; bottom: 68px; color: var(--cyan); }
.dx-mini-card { position: absolute; left: 0; bottom: 22px; width: 195px; padding: 13px; border-left: 2px solid var(--orange); background: rgba(10,32,55,.94); box-shadow: 0 16px 35px rgba(0,0,0,.2); }
.dx-mini-label { display: block; color: #6c8da9; font-family: var(--mono); font-size: 7.5px; letter-spacing: .12em; }
.dx-mini-card strong { display: block; margin-top: 5px; color: #e7f2fc; font-size: 11px; font-weight: 500; }
.dx-mini-card small { display: block; margin-top: 4px; color: #7894ae; font-size: 8.5px; }
.dx-hero-stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(128,173,216,.16); }
.dx-hero-stats div { padding: 20px 22px 25px 0; border-right: 1px solid rgba(128,173,216,.12); }
.dx-hero-stats div:not(:first-child) { padding-left: 22px; }
.dx-hero-stats div:last-child { border-right: 0; }
.dx-hero-stats strong { display: block; color: #fff; font-size: 27px; font-weight: 400; letter-spacing: -.04em; }
.dx-hero-stats span { color: #7895b0; font-size: 9.5px; }

/* home service grid */
.dx-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #dce7f3; border-left: 1px solid #dce7f3; }
.dx-service { position: relative; min-height: 250px; padding: 25px 24px 22px; border-right: 1px solid #dce7f3; border-bottom: 1px solid #dce7f3; background: #fff; transition: .25s; }
.dx-service:hover { background: var(--navy); box-shadow: 0 18px 40px rgba(5,25,48,.12); }
.dx-service-no { color: #a7b8c9; font-family: var(--mono); font-size: 9px; }
.dx-service-icon { margin-top: 19px; color: var(--blue); font-size: 20px; }
.dx-service h3 { margin: 13px 0 0; color: #0b213a; font-size: 19px; font-weight: 500; letter-spacing: -.025em; }
.dx-service p { margin: 8px 0 0; color: #667d94; font-size: 11.5px; line-height: 1.85; }
.dx-service a { display: inline-block; margin-top: 16px; color: #98aabe; font-family: var(--mono); font-size: 8.5px; letter-spacing: .06em; }
.dx-service:hover h3, .dx-service:hover p { color: #fff; }
.dx-service:hover p { color: #94abc0; }
.dx-service:hover a { color: var(--orange); }
.dx-service:hover .dx-service-icon { color: var(--orange); }

/* platform */
.dx-platform-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 55px; align-items: center; }
.dx-platform-copy h2 { margin: 14px 0 0; color: #fff; font-size: clamp(32px, 3.4vw, 47px); font-weight: 400; line-height: 1.15; letter-spacing: -.05em; }
.dx-platform-copy p { max-width: 450px; margin: 14px 0 0; color: #91a8be; font-size: 12.5px; line-height: 1.95; }
.dx-check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin: 22px 0 24px; padding: 0; list-style: none; }
.dx-check-list li { color: #b4c8da; font-size: 10.5px; }
.dx-check-list li::before { content: "✓"; margin-right: 7px; color: var(--cyan); }
.dx-console { border: 1px solid rgba(146,192,232,.24); background: #071b30; box-shadow: 0 25px 70px rgba(0,0,0,.35); }
.dx-console-head { display: flex; align-items: center; gap: 5px; height: 35px; padding: 0 13px; border-bottom: 1px solid rgba(146,192,232,.15); background: #0b233b; }
.dx-console-dot { width: 6px; height: 6px; border-radius: 50%; background: #ff6b2c; }.dx-console-dot:nth-child(2) { background: #f2c14e; }.dx-console-dot:nth-child(3) { background: #48c98c; }
.dx-console-head em { margin-left: 8px; color: #6c8ba5; font-family: var(--mono); font-size: 8px; font-style: normal; }
.dx-console-body { display: grid; grid-template-columns: 118px 1fr; min-height: 310px; }
.dx-console-side { padding: 16px 12px; border-right: 1px solid rgba(146,192,232,.12); }
.dx-console-side span { display: block; padding: 8px 9px; color: #718da5; font-size: 9px; }
.dx-console-side span.is-on { background: rgba(59,198,255,.1); color: #bfeaff; border-left: 2px solid var(--cyan); }
.dx-console-main { padding: 16px; }
.dx-console-title { display: flex; justify-content: space-between; color: #d7e7f4; font-size: 11px; }
.dx-console-title span { color: #60dcaa; font-family: var(--mono); font-size: 7px; }
.dx-console-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 13px; }
.dx-console-kpis div { padding: 9px; background: rgba(255,255,255,.035); border: 1px solid rgba(146,192,232,.12); }
.dx-console-kpis span { display: block; color: #6e8aa2; font-size: 7.5px; }
.dx-console-kpis strong { display: block; margin-top: 3px; color: #fff; font-size: 17px; font-weight: 400; }
.dx-console-chart { display: flex; align-items: flex-end; gap: 5px; height: 62px; margin-top: 12px; padding: 0 8px 7px; border-bottom: 1px solid rgba(146,192,232,.12); }
.dx-console-chart i { flex: 1; height: 30%; background: rgba(59,198,255,.32); }.dx-console-chart i:nth-child(2), .dx-console-chart i:nth-child(7) { height: 58%; }.dx-console-chart i:nth-child(3) { height: 45%; }.dx-console-chart i:nth-child(5) { height: 78%; background: rgba(255,107,44,.6); }.dx-console-chart i:nth-child(8) { height: 68%; }.dx-console-chart i:nth-child(11) { height: 88%; background: rgba(59,198,255,.6); }
.dx-console-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; padding: 7px 0; border-bottom: 1px solid rgba(146,192,232,.08); color: #89a4ba; font-size: 8px; }
.dx-console-row span:first-child { color: #d2e5f4; font-family: var(--mono); }
.dx-state { color: #68d6aa; }

/* steps */
.dx-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.dx-step { position: relative; padding: 27px 25px 23px; border: 1px solid #dce7f3; background: #fff; }
.dx-step::after { content: "→"; position: absolute; right: -12px; top: 48%; z-index: 2; color: #a9bed2; font-size: 17px; }
.dx-step:last-child::after { display: none; }
.dx-step-no { color: var(--orange); font-family: var(--mono); font-size: 10px; }
.dx-step h3 { margin: 27px 0 0; color: #0b213a; font-size: 19px; font-weight: 500; }
.dx-step p { margin: 7px 0 0; color: #687f96; font-size: 11.5px; line-height: 1.9; }
.dx-step em { display: block; margin-top: 22px; color: #a2b4c5; font-family: var(--mono); font-size: 8px; font-style: normal; letter-spacing: .1em; }

/* price cards overrides */
.dx-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: stretch; }
.dx-price-grid .price-card { padding: 28px 26px 25px; border: 1px solid #d9e5f1; border-radius: 2px; background: #fff; box-shadow: none; }
.dx-price-grid .price-card.is-highlighted { border-color: var(--orange); box-shadow: 0 20px 50px rgba(255,107,44,.1); }
.dx-price-grid .price-card h3 { color: #0a1d33; font-size: 22px; font-weight: 500; }
.dx-price-grid .price-tagline { color: #71869c; font-size: 11px; }
.dx-price-grid .price-number { color: #081a33; font-size: 38px; }
.dx-price-grid .price-billing { color: #8da2b7; }
.dx-price-grid .price-features { border-top-color: #e8eff7; }
.dx-price-grid .price-features li { color: #5d748a; font-size: 11px; }
.dx-price-grid .price-features li::before { color: var(--orange); }
.dx-price-grid .btn-ghost { border-color: #d7e3ef; background: #fff; color: #17334f; }
.dx-price-grid .btn-primary { background: var(--orange); box-shadow: 0 12px 30px rgba(255,107,44,.18); }
.dx-price-grid .price-badge { background: #fff0e9; color: var(--orange); }
.dx-price-note { display: flex; flex-wrap: wrap; justify-content: center; gap: 25px; margin-top: 27px; color: #7e93a8; font-size: 10px; }
.dx-price-note span::before { content: "✓"; margin-right: 6px; color: #15a36e; }

/* support band */
.dx-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dx-support-card { padding: 38px; border: 1px solid #dae6f2; background: #f8fbff; }
.dx-support-card h2 { margin: 14px 0 0; color: #0a1d33; font-size: 31px; font-weight: 400; line-height: 1.18; letter-spacing: -.045em; }
.dx-support-card p { max-width: 410px; margin: 12px 0 22px; color: #647b92; font-size: 12px; line-height: 1.9; }
.dx-support-card-orange { border-color: #ffd8c8; background: #fff4ee; }
.dx-support-card-orange .dx-kicker { color: var(--orange); }

/* generic page hero */
.dx-page-hero { position: relative; overflow: hidden; padding: 78px 0 62px; background: radial-gradient(650px 360px at 82% 5%, #123a61, transparent 65%), linear-gradient(120deg, #061426, #09233d); color: #fff; }
.dx-page-hero .container { position: relative; z-index: 2; }
.dx-page-hero h1 { margin: 15px 0 0; color: #fff; font-size: clamp(48px, 5.5vw, 74px); font-weight: 400; line-height: 1.08; letter-spacing: -.065em; }
.dx-page-hero p { max-width: 680px; margin: 16px 0 0; color: #98afc5; font-size: 13.5px; line-height: 1.9; }
.dx-hero-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.dx-hero-tags span { padding: 4px 9px; border: 1px solid rgba(142,186,226,.2); color: #89a7c2; font-family: var(--mono); font-size: 8px; letter-spacing: .05em; }
.dx-cta-simple { padding: 20px 0; }
.dx-cta-simple h2 { margin: 14px 0 0; color: #fff; font-size: clamp(34px, 4vw, 52px); font-weight: 400; line-height: 1.15; letter-spacing: -.055em; }
.dx-cta-simple p { max-width: 540px; margin: 13px 0 0; color: #91a9bf; font-size: 12.5px; line-height: 1.9; }

/* feature page */
.dx-feature-list { border-top: 1px solid #dce7f3; }
.dx-feature-row { display: grid; grid-template-columns: 95px 1fr 1fr; gap: 35px; align-items: center; padding: 48px 0; border-bottom: 1px solid #dce7f3; }
.dx-feature-reverse .dx-feature-meta { order: 1; }
.dx-feature-reverse .dx-feature-copy { order: 3; }
.dx-feature-reverse .dx-feature-visual { order: 2; }
.dx-feature-meta span { display: block; color: var(--orange); font-family: var(--mono); font-size: 12px; }
.dx-feature-meta em { display: block; margin-top: 8px; color: #9db0c2; font-family: var(--mono); font-size: 8px; font-style: normal; letter-spacing: .1em; writing-mode: vertical-rl; }
.dx-feature-copy h3 { margin: 0; color: #0a1d33; font-size: 30px; font-weight: 400; letter-spacing: -.04em; }
.dx-feature-copy p { margin: 12px 0 0; color: #617990; font-size: 12.5px; line-height: 1.95; }
.dx-feature-copy ul { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px; margin: 17px 0 0; padding: 0; list-style: none; }
.dx-feature-copy li { color: #647b92; font-size: 10.5px; }
.dx-feature-copy li::before { content: "—"; margin-right: 6px; color: var(--orange); }
.dx-feature-visual { min-height: 205px; padding: 22px; border: 1px solid #dbe7f3; background: linear-gradient(145deg, #f8fbff, #edf4fc); }
.dx-visual-browser { padding: 0; overflow: hidden; background: #fff; }
.dx-visual-bar { display: flex; align-items: center; gap: 4px; height: 29px; padding: 0 10px; border-bottom: 1px solid #e3edf7; background: #f1f6fc; }
.dx-visual-bar i { width: 5px; height: 5px; border-radius: 50%; background: #cddbe9; }
.dx-visual-bar span { margin-left: 7px; color: #8ca1b4; font-family: var(--mono); font-size: 7.5px; }
.dx-visual-domain { padding: 22px 18px 0; color: #0a1f39; font-size: 31px; font-weight: 500; letter-spacing: -.05em; }
.dx-visual-domain span { color: var(--blue); }
.dx-visual-price { padding: 2px 18px 18px; color: #415b74; font-size: 11px; }
.dx-visual-price small { margin-left: 8px; padding: 2px 6px; background: #ecf9f3; color: #16875c; font-size: 8px; }
.dx-visual-table { padding: 12px 15px; background: #fff; }
.dx-table-head, .dx-table-row { display: grid; grid-template-columns: 1.2fr 1fr .7fr; gap: 8px; padding: 8px 5px; border-bottom: 1px solid #edf2f8; font-size: 9.5px; }
.dx-table-head { color: #9bafc2; font-family: var(--mono); font-size: 7.5px; }
.dx-table-row { color: #5d748b; }
.dx-table-row strong { color: #1a3b5b; font-family: var(--mono); font-weight: 500; }
.dx-table-row em { color: #16875c; font-style: normal; }
.dx-visual-inquiry { background: #071a2d; color: #fff; border-color: #132e49; }
.dx-visual-inquiry span { color: var(--orange); font-family: var(--mono); font-size: 7.5px; letter-spacing: .1em; }
.dx-visual-inquiry strong { display: block; margin-top: 17px; font-size: 29px; font-weight: 400; letter-spacing: -.04em; }
.dx-visual-inquiry p { color: #9ab2c7; font-size: 10px; }
.dx-visual-inquiry small { color: #6e8ba5; font-size: 8px; }
.dx-visual-line { width: 100%; height: 1px; margin: 20px 0 12px; background: linear-gradient(90deg, var(--orange), rgba(255,107,44,0)); }
.dx-visual-tabs { padding: 15px; background: #fff; }
.dx-tab-row { display: flex; gap: 4px; border-bottom: 1px solid #e7eff8; }
.dx-tab-row span { padding: 7px 8px; color: #94a8bb; font-size: 8px; }
.dx-tab-row span:nth-child(2) { border-bottom: 2px solid var(--orange); color: #1b3c5c; }
.dx-tab-card { margin-top: 17px; padding: 13px; border: 1px solid #e5eef7; background: #f8fbff; }
.dx-tab-card small { color: #98abba; font-family: var(--mono); font-size: 7px; }
.dx-tab-card strong { display: block; margin-top: 6px; color: #0a1f38; font-family: var(--mono); font-size: 21px; font-weight: 500; }
.dx-tab-card em { color: #7c91a4; font-size: 8px; font-style: normal; }
.dx-visual-license { background: #071a2d; border-color: #132e49; color: #fff; }
.dx-license-label { color: #7894ad; font-family: var(--mono); font-size: 7.5px; letter-spacing: .1em; }
.dx-visual-license strong { display: block; margin-top: 17px; color: #69e0b0; font-size: 19px; font-weight: 500; }
.dx-visual-license strong i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #69e0b0; }
.dx-visual-license p { color: #7e9ab2; font-family: var(--mono); font-size: 8px; }
.dx-license-row { display: flex; justify-content: space-between; padding-top: 9px; color: #7894ad; font-size: 8px; }
.dx-license-row em { color: #d1e4f4; font-style: normal; }
.dx-visual-install { background: #fff; }
.dx-install-line { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid #edf2f8; }
.dx-install-line span { color: var(--orange); font-family: var(--mono); font-size: 8px; }
.dx-install-line p { flex: 1; margin: 0; color: #4e6880; font-size: 9.5px; }
.dx-install-line em { color: #16875c; font-family: var(--mono); font-size: 7px; font-style: normal; }
.dx-install-bar { height: 4px; margin-top: 20px; background: #edf2f8; }
.dx-install-bar i { display: block; width: 74%; height: 100%; background: linear-gradient(90deg, var(--blue), var(--orange)); }

/* updates */
.dx-log-wrap { display: grid; grid-template-columns: .65fr 1.35fr; gap: 65px; align-items: start; }
.dx-log-aside { position: sticky; top: 130px; }
.dx-log-aside h2 { margin: 13px 0 0; color: #0a1d33; font-size: 35px; font-weight: 400; line-height: 1.18; letter-spacing: -.045em; }
.dx-log-aside p { margin: 12px 0 17px; color: #687f95; font-size: 12px; line-height: 1.9; }
.dx-log-list { border-top: 1px solid #dce7f3; }
.dx-log-item { padding: 28px 0; border-bottom: 1px solid #dce7f3; }
.dx-log-meta { display: flex; align-items: center; gap: 11px; }
.dx-version { color: var(--orange); font-family: var(--mono); font-size: 11px; }
.dx-date { color: #9aafc2; font-family: var(--mono); font-size: 8.5px; }
.dx-log-meta em { padding: 2px 6px; background: #e8f8f1; color: #14855a; font-family: var(--mono); font-size: 7px; font-style: normal; }
.dx-log-item h2 { margin: 10px 0 0; color: #0a1d33; font-size: 25px; font-weight: 400; letter-spacing: -.035em; }
.dx-log-item ul { margin: 12px 0 0; padding: 0; list-style: none; }
.dx-log-item li { color: #5f778e; font-size: 11.5px; line-height: 1.9; }
.dx-log-item li::before { content: "—"; margin-right: 7px; color: #a9bccd; }
.dx-log-item p { color: #657d93; font-size: 11.5px; }

/* pricing query */
.dx-pricing-hero { padding-bottom: 105px; }
.dx-query-section { position: relative; z-index: 3; margin-top: -55px; }
.dx-query-card { max-width: 980px; margin: 0 auto; padding: 29px 32px; border: 1px solid #dce7f3; background: #fff; box-shadow: 0 20px 55px rgba(16,47,82,.11); }
.dx-query-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.dx-query-head h2 { margin: 8px 0 0; color: #0a1d33; font-size: 26px; font-weight: 400; letter-spacing: -.035em; }
.dx-query-head p { margin: 4px 0 0; color: #73889c; font-size: 11px; }
.dx-query-icon { color: var(--orange); font-size: 29px; }
.dx-query-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.dx-query-form fieldset { border: 0; }
.dx-query-form .field > span { color: #647d94; }
.dx-query-form input { border-radius: 2px; background: #f8fbff; border-color: #d8e5f1; min-height: 44px; }
.dx-query-form .dx-btn { min-height: 44px; }
.dx-query-result { margin-top: 17px; padding: 15px 17px; border: 1px solid #dce8f6; border-radius: 2px; background: #f8fbff; }
.dx-query-result h3 { margin: 0; color: #0a1d33; font-size: 16px; font-weight: 500; }
.dx-query-result p { margin: 4px 0 0; color: #6d8399; font-size: 11.5px; }
.dx-query-result.is-valid { border-color: #bfe8d2; background: #f3fcf7; }
.dx-query-result.is-invalid { border-color: #f0cccc; background: #fff6f6; }
.dx-pricing-section { padding-top: 58px; }
.dx-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; align-items: start; }
.dx-faq-grid h2 { margin: 13px 0 0; color: #0a1d33; font-size: 35px; font-weight: 400; letter-spacing: -.04em; }
.dx-faq-grid p { color: #687f95; font-size: 12.5px; line-height: 1.9; }
.dx-faq-list { border-top: 1px solid #d8e4f0; }
.dx-faq-item { padding: 19px 0; border-bottom: 1px solid #d8e4f0; }
.dx-faq-item h3 { margin: 0; color: #0b2038; font-size: 14px; font-weight: 500; }
.dx-faq-item p { margin: 5px 0 0; color: #60798f; font-size: 11.5px; line-height: 1.85; }

/* docs */
.dx-docs-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 45px; align-items: start; }
.dx-docs-toc { position: sticky; top: 130px; padding: 18px; border: 1px solid #dce7f3; background: #fff; }
.dx-docs-toc .dx-kicker { margin-bottom: 13px; font-size: 8px; }
.dx-docs-toc > a { display: block; padding: 6px 0; color: #5d758c; font-size: 11.5px; }
.dx-docs-toc > a:hover { color: var(--orange); }
.dx-docs-cta { margin-top: 17px; padding-top: 14px; border-top: 1px solid #e6eef7; }
.dx-docs-cta p { margin: 0 0 5px; color: #8195a8; font-size: 10px; }
.dx-docs-cta a { color: var(--orange); font-size: 10.5px; }
.dx-docs-content { border-top: 1px solid #dce7f3; }
.dx-doc-section { padding: 30px 0; border-bottom: 1px solid #dce7f3; }
.dx-doc-section h2 { margin: 10px 0 0; color: #0a1d33; font-size: 27px; font-weight: 400; letter-spacing: -.035em; }
.dx-doc-section h3 { margin: 23px 0 0; color: #18344f; font-size: 15px; font-weight: 500; }
.dx-doc-section p, .dx-doc-section li { color: #5f778d; font-size: 12px; line-height: 1.95; }
.dx-doc-section ul, .dx-doc-section ol { padding-left: 18px; }
.dx-doc-section code { padding: 2px 5px; background: #eef4fb; color: #275078; font-family: var(--mono); font-size: 10.5px; }
.dx-doc-section pre { overflow-x: auto; margin: 12px 0; padding: 14px 16px; border-left: 2px solid var(--orange); background: #081b2f; color: #b8d5e9; font-family: var(--mono); font-size: 10.5px; line-height: 1.7; }
.dx-req-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 18px 0; }
.dx-req-grid div { padding: 13px; border: 1px solid #e0eaf4; background: #f8fbff; }
.dx-req-grid span { display: block; color: #9aafc1; font-family: var(--mono); font-size: 7.5px; letter-spacing: .07em; }
.dx-req-grid strong { display: block; margin-top: 5px; color: #1a3852; font-size: 11px; font-weight: 500; }
.dx-doc-note { padding: 11px 14px; border-left: 2px solid var(--orange); background: #fff7f2; color: #8b603e; font-size: 10.5px; }
.dx-doc-section .dx-faq-item { padding: 16px 0; }
.dx-doc-section .dx-faq-item h3 { margin: 0; }
.dx-doc-section .dx-faq-item p { margin: 5px 0 0; }

/* about */
.dx-about-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; align-items: start; }
.dx-about-main { padding: 38px; border: 1px solid #dce7f3; background: #fff; }
.dx-about-main h2 { margin: 13px 0 0; color: #0a1d33; font-size: 36px; font-weight: 400; line-height: 1.18; letter-spacing: -.045em; }
.dx-about-main p { color: #60798f; font-size: 12.5px; line-height: 1.95; }
.dx-about-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 25px; }
.dx-about-stats div { padding: 15px; border: 1px solid #e0eaf4; background: #f8fbff; }
.dx-about-stats strong { display: block; color: #0a1d33; font-size: 23px; font-weight: 400; }
.dx-about-stats span { color: #8298ab; font-size: 8.5px; }
.dx-about-side { padding: 33px 30px; border: 1px solid #132e49; background: var(--navy); color: #fff; }
.dx-about-side h2 { margin: 13px 0 0; color: #fff; font-size: 30px; font-weight: 400; letter-spacing: -.04em; }
.dx-about-side > p { color: #8fa8bf; font-size: 11px; line-height: 1.8; }
.dx-contact-list { margin: 17px 0 21px; }
.dx-contact-list a, .dx-contact-list div { display: flex; justify-content: space-between; gap: 15px; padding: 11px 0; border-bottom: 1px solid rgba(145,188,226,.14); color: #7f9bb3; font-size: 9.5px; }
.dx-contact-list strong { color: #d4e5f2; font-weight: 400; }
.dx-about-side .dx-btn { width: 100%; }

/* footer dark */
.site-footer { margin-top: 0; border-top: 0; background: var(--navy); color: #8da6bc; }
.dx-footer-cta { border-bottom: 1px solid rgba(137,180,220,.15); background: #081c31; }
.dx-footer-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 48px 0; }
.dx-footer-cta h2 { margin: 10px 0 0; color: #fff; font-size: 33px; font-weight: 400; line-height: 1.18; letter-spacing: -.045em; }
.dx-footer-cta p { margin: 8px 0 0; color: #8aa5bd; font-size: 11.5px; }
.dx-footer-grid { padding: 46px 0 38px; }
.dx-footer-brand p { color: #819cb3; }
.dx-footer-contact { display: grid; gap: 5px; margin-top: 17px; color: #7f9bb3; font-family: var(--mono); font-size: 8.5px; }
.dx-footer-contact a { color: var(--orange); }
.dx-footer-links h3 { color: #d3e2ef; font-family: var(--mono); font-size: 8.5px; letter-spacing: .08em; }
.dx-footer-links a { color: #7996af; font-size: 11px; }
.dx-footer-links a:hover { color: var(--orange); }
.dx-footer-bottom { border-top-color: rgba(137,180,220,.14); color: #647f97; padding-bottom: 22px; font-family: var(--mono); font-size: 8px; letter-spacing: .03em; }

@media (max-width: 1020px) {
  .dx-hero-inner { grid-template-columns: 1fr; min-height: auto; padding-bottom: 40px; }
  .dx-hero-visual { display: none; }
  .dx-hero-copy h1 { max-width: 780px; }
  .dx-service-grid, .dx-price-grid { grid-template-columns: 1fr 1fr; }
  .dx-platform-grid, .dx-about-grid { grid-template-columns: 1fr; }
  .dx-feature-row { grid-template-columns: 65px 1fr; }
  .dx-feature-visual { grid-column: 2; }
  .dx-feature-reverse .dx-feature-copy, .dx-feature-reverse .dx-feature-visual, .dx-feature-reverse .dx-feature-meta { order: initial; }
  .dx-log-wrap { grid-template-columns: 1fr; gap: 25px; }
  .dx-log-aside { position: static; }
  .dx-docs-layout { grid-template-columns: 1fr; }
  .dx-docs-toc { position: static; }
  .dx-faq-grid { grid-template-columns: 1fr; gap: 25px; }
}
@media (max-width: 760px) {
  .dx-topbar-inner { display: none; }
  .dx-nav-wrap { min-height: 66px; }
  .dx-nav { top: 74px !important; background: #081c31 !important; border-color: rgba(140,185,225,.2) !important; }
  .dx-nav > a { color: #c0d5e6 !important; }
  .dx-nav > a.is-active { color: #fff; }
  .dx-nav-cta { margin: 6px 0 0 !important; }
  .dx-hero { padding-top: 55px; }
  .dx-hero-copy h1 { font-size: 45px; }
  .dx-hero-lead { font-size: 12.5px; }
  .dx-hero-stats { grid-template-columns: 1fr 1fr; }
  .dx-hero-stats div { padding: 15px 13px; }
  .dx-hero-stats div:not(:first-child) { padding-left: 13px; }
  .dx-hero-stats div:nth-child(2) { border-right: 0; }
  .dx-hero-stats strong { font-size: 22px; }
  .dx-section { padding: 55px 0; }
  .dx-section-head-row { display: block; }
  .dx-section-head-row > p { margin-top: 14px; }
  .dx-section-head h2, .dx-center h2 { font-size: 32px; }
  .dx-service-grid, .dx-steps, .dx-price-grid, .dx-support-grid { grid-template-columns: 1fr; }
  .dx-service { min-height: auto; }
  .dx-step::after { display: none; }
  .dx-platform-grid { gap: 30px; }
  .dx-console-body { grid-template-columns: 1fr; }
  .dx-console-side { display: none; }
  .dx-check-list { grid-template-columns: 1fr; }
  .dx-feature-row { grid-template-columns: 1fr; gap: 16px; padding: 30px 0; }
  .dx-feature-meta em { writing-mode: initial; }
  .dx-feature-visual { grid-column: auto; }
  .dx-feature-copy h2 { font-size: 26px; }
  .dx-feature-copy ul { grid-template-columns: 1fr; }
  .dx-log-aside h2, .dx-faq-grid h2 { font-size: 29px; }
  .dx-page-hero { padding: 55px 0 48px; }
  .dx-page-hero h1 { font-size: 43px; }
  .dx-query-card { padding: 22px 18px; }
  .dx-query-form { grid-template-columns: 1fr; }
  .dx-query-form .dx-btn { width: 100%; }
  .dx-req-grid { grid-template-columns: 1fr 1fr; }
  .dx-about-main, .dx-about-side { padding: 25px 20px; }
  .dx-about-stats { grid-template-columns: 1fr 1fr; }
  .dx-footer-cta-inner { display: block; padding: 35px 0; }
  .dx-footer-cta h2 { font-size: 28px; }
  .dx-footer-cta .dx-btn { margin-top: 18px; }
  .dx-footer-grid { grid-template-columns: 1fr; gap: 28px; padding: 32px 0; }
  .dx-doc-section h2 { font-size: 24px; }
}

/* =========================================================
   DISCUZ-INSPIRED LIGHT / INDIGO THEME
   ========================================================= */
:root {
  --blue: #5b4bff;
  --blue-2: #7c6cff;
  --orange: #ff7a45;
  --navy: #1c0d4e;
  --navy-2: #281466;
  --navy-3: #351b7d;
  --discuz-deep: #1b0a4a;
  --discuz-deep-2: #2a126d;
  --discuz-soft: #f7f5ff;
  --discuz-line: #ebe7fb;
}
body { background: #fff; color: #17132b; font-family: "SF Pro Display", "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif; }
.dc-serif, .dc-hero h1, .dc-heading h2, .dx-page-hero h1, .dx-section-head h2, .dx-center h2, .dx-feature-copy h3, .dx-log-item h2, .dx-log-aside h2, .dx-about-main h2, .dx-doc-section h2, .dx-query-head h2, .dx-faq-grid h2 {
  font-family: "Songti SC", "Noto Serif SC", "STSong", "SimSun", serif;
  font-weight: 600;
}
.site-header { background: var(--discuz-deep); border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: 0 8px 28px rgba(16,7,50,.12); }
.dc-nav-wrap { min-height: 82px; }
.site-header .site-brand img, .site-footer img { filter: brightness(0) invert(1); }
.dc-brand img { width: 185px; }
.dc-nav { gap: 6px; }
.dc-nav > a { color: #d8cff5; padding: 9px 17px; border-radius: 999px; font-size: 12.5px; }
.dc-nav > a:hover { color: #fff; background: rgba(255,255,255,.08); }
.dc-nav > a.is-active { color: #fff; background: rgba(255,255,255,.14); }
.dc-nav > a.is-active::after { display: none; }
.dc-nav .dc-nav-cta { margin-left: 10px; border-radius: 999px; padding: 10px 20px; color: #fff !important; background: linear-gradient(135deg, #ff8b55, #ff6b2c); box-shadow: 0 8px 22px rgba(255,107,44,.25); }
.dc-nav .dc-nav-cta:hover { background: linear-gradient(135deg, #ff9b69, #ff7a45); }
.dc-menu-toggle { border-color: rgba(255,255,255,.3); background: transparent; }
.dc-menu-toggle span { background: #fff; }

/* Discuz header/hero */
.dc-hero { position: relative; overflow: hidden; padding: 82px 0 0; background: radial-gradient(850px 480px at 50% 0, #3a1d91 0%, transparent 68%), linear-gradient(160deg, #1b0a4a, #2a126d 58%, #3d1c99); color: #fff; }
.dc-hero::before { content: ""; position: absolute; inset: 0; opacity: .25; background-image: radial-gradient(rgba(188,172,255,.4) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(to bottom, #000, transparent 72%); }
.dc-hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.dc-glow-a { width: 540px; height: 540px; right: -250px; top: -210px; background: radial-gradient(circle, rgba(107,80,255,.45), transparent 65%); }
.dc-glow-b { width: 430px; height: 430px; left: -180px; bottom: -160px; background: radial-gradient(circle, rgba(255,122,69,.18), transparent 65%); }
.dc-hero-inner { position: relative; z-index: 2; max-width: 980px; margin: 0 auto; text-align: center; }
.dc-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border: 1px solid rgba(208,194,255,.28); border-radius: 999px; background: rgba(255,255,255,.06); color: #d7cbfa; font-family: var(--mono); font-size: 9px; letter-spacing: .09em; }
.dc-eyebrow i { width: 6px; height: 6px; border-radius: 50%; background: #9a86ff; box-shadow: 0 0 0 3px rgba(154,134,255,.16); }
.dc-hero h1 { margin: 26px 0 0; color: #fff; font-size: clamp(48px, 5.6vw, 76px); line-height: 1.18; letter-spacing: -.03em; }
.dc-hero h1 span { color: #b9a7ff; }
.dc-hero-lead { max-width: 760px; margin: 20px auto 0; color: #c6bce4; font-size: 14px; line-height: 1.95; }
.dc-hero-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 30px; }
.dc-hero-links a { padding: 9px 19px; border: 1px solid rgba(178,158,255,.26); border-radius: 999px; background: rgba(111,88,255,.22); color: #eae4ff; font-size: 12px; transition: .2s; }
.dc-hero-links a:hover { background: rgba(111,88,255,.45); border-color: rgba(210,198,255,.5); }
.dc-hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.dc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 25px; border: 1px solid transparent; border-radius: 999px; font-size: 12.5px; transition: .2s; }
.dc-btn-primary { background: linear-gradient(135deg, #ff8b55, #ff6b2c); color: #fff; box-shadow: 0 12px 26px rgba(255,107,44,.25); }
.dc-btn-primary:hover { background: linear-gradient(135deg, #ff9d71, #ff7a45); transform: translateY(-1px); }
.dc-btn-ghost { border-color: rgba(209,197,255,.36); background: rgba(255,255,255,.04); color: #e9e2ff; }
.dc-btn-ghost:hover { background: rgba(255,255,255,.1); }
.dc-btn-outline { border-color: #5b4bff; background: transparent; color: #5b4bff; }
.dc-btn-outline:hover { background: #5b4bff; color: #fff; }
.dc-hero-points { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; margin-top: 22px; color: #bfb3df; font-size: 10.5px; }
.dc-hero-points span::before { content: "✓"; margin-right: 6px; color: #b9a7ff; }
.dc-hero-stats-wrap { position: relative; z-index: 2; margin-top: 48px; border-top: 1px solid rgba(207,193,255,.15); }
.dc-hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.dc-hero-stats > div { padding: 21px 20px 27px; text-align: center; border-right: 1px solid rgba(207,193,255,.12); }
.dc-hero-stats > div:last-child { border-right: 0; }
.dc-hero-stats strong { display: block; color: #fff; font-family: "Songti SC", "Noto Serif SC", serif; font-size: 28px; font-weight: 600; }
.dc-hero-stats span { color: #ada1ce; font-size: 9.5px; }
.dc-curve { position: absolute; z-index: 1; left: -8%; bottom: -60px; width: 116%; height: 115px; background: #fff; border-radius: 50% 50% 0 0; }

/* Discuz sections */
.dc-section { position: relative; padding: 88px 0; background: #fff; }
.dc-section-soft { background: var(--discuz-soft); }
.dc-section-lavender { background: #f1edff; }
.dc-heading { position: relative; max-width: 760px; margin: 0 auto 44px; text-align: center; }
.dc-watermark { position: absolute; z-index: 0; left: 50%; top: -12px; transform: translateX(-50%); width: 100%; color: #f1eefb; font-family: var(--mono); font-size: clamp(38px, 5vw, 70px); font-weight: 700; letter-spacing: .02em; white-space: nowrap; pointer-events: none; }
.dc-heading .dc-kicker { position: relative; z-index: 1; color: #6c5ce7; }
.dc-heading h2 { position: relative; z-index: 1; margin: 13px 0 0; color: #17132b; font-size: clamp(31px, 3.4vw, 44px); line-height: 1.25; letter-spacing: -.02em; }
.dc-heading > p { position: relative; z-index: 1; max-width: 610px; margin: 12px auto 0; color: #766e8e; font-size: 12.5px; line-height: 1.9; }
.dc-kicker { display: inline-flex; align-items: center; gap: 8px; color: #6c5ce7; font-family: var(--mono); font-size: 9px; letter-spacing: .16em; }
.dc-kicker::before { content: ""; width: 20px; height: 1px; background: currentColor; }
.dc-squiggle { position: relative; z-index: 1; margin-top: 8px; color: #7a63ff; font-family: var(--mono); font-size: 17px; letter-spacing: -2px; }
.dc-module-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.dc-module { display: flex; flex-direction: column; align-items: center; min-height: 150px; padding: 22px 12px 18px; border: 1px solid var(--discuz-line); border-radius: 13px; background: #fff; text-align: center; transition: .22s; }
.dc-module:hover { border-color: #a99cff; box-shadow: 0 14px 35px rgba(90,70,190,.11); transform: translateY(-2px); }
.dc-module > span { color: #6c5ce7; font-size: 30px; line-height: 1; }
.dc-module strong { margin-top: 17px; color: #211a3c; font-size: 13px; font-weight: 500; }
.dc-module small { margin-top: 5px; color: #958da9; font-size: 9px; }
.dc-showcase { display: grid; grid-template-columns: .9fr 1.1fr; gap: 55px; align-items: center; }
.dc-showcase-copy h2 { margin: 14px 0 0; color: #17132b; font-family: "Songti SC", "Noto Serif SC", serif; font-size: 37px; font-weight: 600; line-height: 1.28; letter-spacing: -.02em; }
.dc-showcase-copy p { margin: 14px 0 0; color: #756d8b; font-size: 12.5px; line-height: 1.95; }
.dc-showcase-copy ul { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 16px; margin: 20px 0 25px; padding: 0; list-style: none; }
.dc-showcase-copy li { color: #5f5775; font-size: 10.5px; }
.dc-showcase-copy li::before { content: "✓"; margin-right: 6px; color: #6c5ce7; }
.dc-showcase-panel { padding: 25px; border: 1px solid #e4dcff; border-radius: 20px; background: #fff; box-shadow: 0 25px 60px rgba(78,52,170,.1); }
.dc-panel-head { display: flex; justify-content: space-between; color: #9a91b1; font-family: var(--mono); font-size: 8px; letter-spacing: .08em; }
.dc-panel-head em { color: #21a56e; font-style: normal; }
.dc-panel-domain { margin-top: 18px; color: #1d1637; font-family: var(--mono); font-size: 37px; font-weight: 500; letter-spacing: -.05em; }
.dc-panel-domain span { color: #6c5ce7; }
.dc-showcase-panel > p { margin: 2px 0 0; color: #9188a6; font-size: 10px; }
.dc-panel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 18px; }
.dc-panel-grid div { padding: 11px; border-radius: 9px; background: #f7f5ff; }
.dc-panel-grid span { display: block; color: #9a91ae; font-size: 8px; }
.dc-panel-grid strong { display: block; margin-top: 4px; color: #2a2150; font-size: 13px; font-weight: 500; }
.dc-panel-bar { display: flex; align-items: flex-end; gap: 6px; height: 58px; margin-top: 15px; padding: 0 4px; border-bottom: 1px solid #eeeaff; }
.dc-panel-bar i { flex: 1; height: 35%; background: #ded8ff; border-radius: 3px 3px 0 0; }.dc-panel-bar i:nth-child(2) { height: 60%; }.dc-panel-bar i:nth-child(3) { height: 45%; }.dc-panel-bar i:nth-child(4) { height: 82%; background: #8f7aff; }.dc-panel-bar i:nth-child(5) { height: 55%; }.dc-panel-bar i:nth-child(6) { height: 72%; background: #c7bdff; }
.dc-panel-row { display: flex; justify-content: space-between; padding-top: 9px; color: #968da9; font-size: 8.5px; }
.dc-panel-row strong { color: #4b4168; font-weight: 400; }
.dc-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.dc-value-grid article { padding: 25px 22px; border: 1px solid var(--discuz-line); border-radius: 13px; background: #fff; }
.dc-value-grid span { color: #8d7aff; font-family: var(--mono); font-size: 9px; }
.dc-value-grid h3 { margin: 24px 0 0; color: #211a3c; font-size: 16px; font-weight: 500; }
.dc-value-grid p { margin: 7px 0 0; color: #877f99; font-size: 10.5px; line-height: 1.85; }
.dc-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.dc-steps article { padding: 27px; border: 1px solid var(--discuz-line); border-radius: 14px; background: #fff; }
.dc-step-no { color: #6c5ce7; font-family: var(--mono); font-size: 10px; }
.dc-steps h3 { margin: 25px 0 0; color: #241b44; font-size: 18px; font-weight: 500; }
.dc-steps p { margin: 7px 0 0; color: #8b829d; font-size: 11px; line-height: 1.9; }
.dc-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.dc-price-grid .price-card { padding: 28px 25px 24px; border: 1px solid #e7e1f7; border-radius: 16px; background: #fff; box-shadow: none; }
.dc-price-grid .price-card.is-highlighted { border-color: #8e7bff; box-shadow: 0 20px 50px rgba(92,70,190,.13); }
.dc-price-grid .price-card h3 { color: #211a3c; font-family: "Songti SC", serif; font-size: 23px; font-weight: 600; }
.dc-price-grid .price-tagline { color: #8a819c; font-size: 10.5px; }
.dc-price-grid .price-number { color: #1b1238; font-family: "Songti SC", serif; font-size: 38px; }
.dc-price-grid .price-billing { color: #9b92ad; }
.dc-price-grid .price-features { border-top-color: #f0ecfa; }
.dc-price-grid .price-features li { color: #6e6584; }
.dc-price-grid .price-features li::before { color: #6c5ce7; }
.dc-price-grid .price-badge { background: #f0ecff; color: #6c5ce7; }
.dc-price-grid .btn-primary { border-radius: 999px; background: linear-gradient(135deg, #6c5ce7, #5b4bff); box-shadow: 0 10px 25px rgba(91,75,255,.2); }
.dc-price-grid .btn-ghost { border-radius: 999px; border-color: #ddd5f2; color: #51466e; }
.dc-center-link { margin-top: 25px; text-align: center; }
.dc-center-link a { color: #6c5ce7; font-size: 11.5px; }
.dc-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dc-support-card { padding: 35px; border-radius: 16px; background: #fff; border: 1px solid #e7e1f7; }
.dc-support-card-line { background: transparent; border-color: #c9bcff; }
.dc-support-card h2 { margin: 13px 0 0; color: #211a3c; font-family: "Songti SC", serif; font-size: 29px; font-weight: 600; line-height: 1.35; }
.dc-support-card p { margin: 10px 0 20px; color: #817896; font-size: 11.5px; line-height: 1.9; }

/* page heroes and all legacy dx pages -> light indigo */
.dx-page-hero { position: relative; overflow: hidden; padding: 80px 0 66px; background: radial-gradient(700px 400px at 78% 0, #3a1d91, transparent 65%), linear-gradient(160deg, #1b0a4a, #2a126d 65%, #3a1b8d); color: #fff; }
.dx-page-hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(rgba(205,195,255,.45) 1px, transparent 1px); background-size: 24px 24px; }
.dx-page-hero .container { position: relative; z-index: 2; }
.dx-page-hero h1 { margin: 15px 0 0; color: #fff; font-size: clamp(42px, 4.8vw, 60px); line-height: 1.25; letter-spacing: -.02em; }
.dx-page-hero p { max-width: 700px; margin: 15px 0 0; color: #c6bce4; font-size: 13px; line-height: 1.9; }
.dx-page-hero .dx-kicker-light { color: #b9a7ff; }
.dx-hero-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.dx-hero-tags span { padding: 5px 11px; border: 1px solid rgba(206,193,255,.24); border-radius: 999px; color: #d2c7f0; font-family: var(--mono); font-size: 8px; }
.dx-hero-grid { opacity: .18; }
.dx-section { padding: 88px 0; background: #fff; }
.dx-section-light { background: #fff; }
.dx-section-muted { background: #f7f5ff; }
.dx-section-dark { background: linear-gradient(150deg, #1b0a4a, #2a126d); }
.dx-section-dark::before { background: radial-gradient(600px 380px at 90% 0, rgba(120,96,255,.22), transparent 65%); }
.dx-section-head h2, .dx-center h2 { color: #17132b; font-size: clamp(31px, 3.4vw, 43px); letter-spacing: -.02em; }
.dx-section-dark .dx-section-head h2, .dx-cta-simple h2 { color: #fff; }
.dx-section-head p { color: #7d748e; }
.dx-section-head-row > p { color: #817895; }
.dx-kicker { color: #6c5ce7; }
.dx-kicker-light { color: #b9a7ff; }
.dx-text-link { color: #6c5ce7; }
.dx-btn-dark { border-radius: 999px; background: #5b4bff; }
.dx-btn-orange { border-radius: 999px; background: linear-gradient(135deg, #ff8b55, #ff6b2c); color: #fff; }
.dx-btn-ghost-light { border-color: rgba(204,190,255,.3); color: #e8e1ff; border-radius: 999px; }
.dx-cta-simple p { color: #bfb4dd; }

/* service modules on other pages */
.dx-service-grid { border: 0; gap: 14px; }
.dx-service { min-height: 225px; border: 1px solid #eae4fa; border-radius: 14px; background: #fff; }
.dx-service:hover { background: #f6f2ff; box-shadow: 0 16px 36px rgba(88,64,180,.08); }
.dx-service-no { color: #a296bf; }
.dx-service-icon { color: #6c5ce7; }
.dx-service h3 { color: #211a3c; }
.dx-service p { color: #817895; }
.dx-service a { color: #8e83aa; }
.dx-service:hover h3 { color: #211a3c; }.dx-service:hover p { color: #817895; }.dx-service:hover a { color: #6c5ce7; }.dx-service:hover .dx-service-icon { color: #6c5ce7; }
.dx-platform-grid { gap: 55px; }
.dx-platform-copy h2 { color: #fff; font-family: "Songti SC", serif; font-weight: 600; }
.dx-check-list li { color: #cfc4e9; }
.dx-check-list li::before { color: #b9a7ff; }
.dx-console { border-color: rgba(190,176,255,.2); border-radius: 14px; background: #21104f; }
.dx-console-head { background: #2a1463; border-color: rgba(190,176,255,.16); }
.dx-console-body { border-radius: 0 0 14px 14px; }
.dx-console-side { border-color: rgba(190,176,255,.14); }
.dx-console-side span.is-on { background: rgba(136,112,255,.16); color: #e1d7ff; border-color: #a998ff; }
.dx-console-kpis div { background: rgba(255,255,255,.04); border-color: rgba(190,176,255,.14); }
.dx-console-chart i { background: rgba(155,133,255,.35); }.dx-console-chart i:nth-child(5) { background: rgba(255,122,69,.7); }.dx-console-chart i:nth-child(11) { background: rgba(155,133,255,.7); }
.dx-console-row { border-color: rgba(190,176,255,.1); }
.dx-console-title span { color: #b9a7ff; }
.dx-steps { gap: 16px; }
.dx-step { border: 1px solid #eae4fa; border-radius: 14px; background: #fff; }
.dx-step-no { color: #6c5ce7; }.dx-step h3 { color: #211a3c; }.dx-step p { color: #817895; }
.dx-step::after { color: #c9bfff; }

/* features */
.dx-feature-list { border-top-color: #eee9fa; }
.dx-feature-row { border-bottom-color: #eee9fa; }
.dx-feature-meta span { color: #6c5ce7; }.dx-feature-meta em { color: #a99fc2; }
.dx-feature-copy h3 { color: #1e1639; font-size: 29px; line-height: 1.4; }
.dx-feature-copy p, .dx-feature-copy li { color: #7c738f; }
.dx-feature-copy li::before { color: #8d7aff; }
.dx-feature-visual { border: 1px solid #e9e2fa; border-radius: 14px; background: linear-gradient(145deg, #fbfaff, #f1edff); }
.dx-visual-browser, .dx-visual-table, .dx-visual-tabs, .dx-visual-install { background: #fff; }
.dx-visual-bar { background: #f5f1ff; border-color: #eee8fa; }.dx-visual-bar i { background: #d8cff0; }
.dx-visual-domain span { color: #6c5ce7; }
.dx-visual-inquiry, .dx-visual-license { background: #21104f; border-color: #3a217d; }
.dx-visual-inquiry span, .dx-license-label { color: #b9a7ff; }
.dx-visual-inquiry p, .dx-visual-inquiry small, .dx-visual-license p, .dx-license-row { color: #b4a8d4; }
.dx-visual-license strong { color: #a8efd0; }
.dx-visual-line { background: linear-gradient(90deg, #8d7aff, rgba(141,122,255,0)); }
.dx-tab-row span:nth-child(2) { border-color: #6c5ce7; color: #32265c; }

/* updates */
.dx-log-aside h2 { color: #1b1238; }
.dx-log-aside p, .dx-log-item p { color: #7d748f; }
.dx-log-list, .dx-log-item { border-color: #eee9fa; }
.dx-version { color: #6c5ce7; }.dx-date { color: #a69bbd; }
.dx-log-meta em { background: #f0ecff; color: #6c5ce7; }
.dx-log-item h2 { color: #1e1639; }
.dx-log-item li { color: #756c88; }.dx-log-item li::before { color: #b7abd4; }

/* query / pricing */
.dx-query-section { position: relative; z-index: 3; margin-top: -55px; }
.dx-query-card { border: 1px solid #e8e1f8; border-radius: 18px; background: #fff; box-shadow: 0 24px 60px rgba(74,48,150,.12); }
.dx-query-head h2 { color: #1e1639; }
.dx-query-icon { color: #8d7aff; }
.dx-query-form input { border-radius: 999px; border-color: #e1d9f3; background: #fbfaff; }
.dx-query-form .field > span { color: #756b8c; }
.dx-query-form .dx-btn { border-radius: 999px; background: linear-gradient(135deg, #6c5ce7, #5b4bff); box-shadow: 0 10px 22px rgba(91,75,255,.18); }
.dx-query-result { border-radius: 12px; }
.dx-price-grid { gap: 16px; }
.dx-price-grid .price-card { border-radius: 16px; border-color: #e8e1f8; }
.dx-price-grid .price-card.is-highlighted { border-color: #8d7aff; box-shadow: 0 20px 50px rgba(93,70,190,.12); }
.dx-price-grid .price-card h3 { font-family: "Songti SC", serif; font-weight: 600; }.dx-price-grid .price-number { font-family: "Songti SC", serif; }
.dx-price-grid .price-features li::before { color: #6c5ce7; }
.dx-price-grid .btn-primary { border-radius: 999px; background: linear-gradient(135deg, #6c5ce7, #5b4bff); box-shadow: 0 10px 25px rgba(91,75,255,.18); }
.dx-price-grid .btn-ghost { border-radius: 999px; }
.dx-price-grid .price-badge { background: #f0ecff; color: #6c5ce7; }
.dx-price-note span::before { color: #6c5ce7; }
.dx-faq-grid h2 { color: #1e1639; }.dx-faq-grid p, .dx-faq-item p { color: #7d748f; }
.dx-faq-list, .dx-faq-item { border-color: #eee9fa; }.dx-faq-item h3 { color: #241b40; }

/* docs */
.dx-docs-toc { border: 1px solid #eae4fa; border-radius: 14px; background: #fff; }
.dx-docs-toc > a { color: #756c89; }.dx-docs-toc > a:hover { color: #6c5ce7; }
.dx-docs-content, .dx-doc-section { border-color: #eee9fa; }
.dx-doc-section h2 { color: #1e1639; }.dx-doc-section h3 { color: #312752; }
.dx-doc-section p, .dx-doc-section li { color: #776e8b; }
.dx-doc-section code { background: #f2eeff; color: #5b4bff; }
.dx-doc-section pre { border-left-color: #8d7aff; border-radius: 0 10px 10px 0; background: #21104f; }
.dx-req-grid div { border-color: #eae4fa; border-radius: 10px; background: #faf9ff; }
.dx-req-grid span { color: #a69bbd; }.dx-req-grid strong { color: #342957; }
.dx-doc-note { border-left-color: #8d7aff; border-radius: 0 10px 10px 0; background: #f4f0ff; color: #665280; }
.dx-docs-cta { border-color: #eee9fa; }.dx-docs-cta a { color: #6c5ce7; }

/* about */
.dx-about-main { border: 1px solid #eae4fa; border-radius: 18px; background: #fff; }
.dx-about-main h2 { color: #1e1639; }.dx-about-main p { color: #776e8b; }
.dx-about-stats div { border-color: #eee9fa; border-radius: 10px; background: #faf9ff; }
.dx-about-stats strong { color: #1e1639; font-family: "Songti SC", serif; }.dx-about-stats span { color: #a295b9; }
.dx-about-side { border: 0; border-radius: 18px; background: linear-gradient(155deg, #21104f, #351b7d); }
.dx-about-side h2 { color: #fff; }.dx-about-side > p { color: #c0b3dc; }
.dx-contact-list a, .dx-contact-list div { border-color: rgba(195,180,255,.18); color: #b9abd7; }.dx-contact-list strong { color: #eee8ff; }

/* Discuz footer */
.site-footer { margin-top: 0; background: #17083f; color: #a99dc4; }
.dc-footer-main { background: radial-gradient(700px 380px at 15% 0, rgba(97,70,210,.28), transparent 65%), #17083f; }
.dc-footer-top { display: grid; grid-template-columns: 1.05fr 1.4fr; gap: 60px; padding: 52px 0 38px; }
.dc-footer-brand img { width: 185px; height: auto; }
.dc-footer-brand p { max-width: 380px; margin: 18px 0 0; color: #a99dc4; font-size: 11.5px; line-height: 1.9; }
.dc-footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.dc-footer-cols h3 { margin: 0 0 14px; color: #e7dfff; font-family: "Songti SC", serif; font-size: 14px; font-weight: 600; }
.dc-footer-cols a { display: block; margin-top: 9px; color: #a99dc4; font-size: 11px; }
.dc-footer-cols a:hover { color: #fff; }
.dc-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0 25px; border-top: 1px solid rgba(195,180,255,.13); color: #7f70a1; font-family: var(--mono); font-size: 8.5px; }
.dx-footer-cta, .dx-footer-grid, .dx-footer-bottom { display: none !important; }

@media (max-width: 1020px) {
  .dc-module-grid { grid-template-columns: repeat(3, 1fr); }
  .dc-showcase, .dc-footer-top { grid-template-columns: 1fr; gap: 30px; }
  .dc-value-grid { grid-template-columns: 1fr 1fr; }
  .dc-footer-top { gap: 30px; }
}
@media (max-width: 760px) {
  .dc-nav-wrap { min-height: 68px; }
  .dc-nav { top: 74px !important; background: #21104f !important; border-color: rgba(190,176,255,.25) !important; }
  .dc-nav > a { color: #d8cff5 !important; }
  .dc-nav > a.is-active { background: rgba(255,255,255,.14); color: #fff !important; }
  .dc-nav .dc-nav-cta { margin: 7px 0 0; text-align: center; }
  .dc-hero { padding-top: 55px; }
  .dc-hero h1 { font-size: 43px; }
  .dc-hero-lead { font-size: 12px; }
  .dc-hero-links { gap: 6px; }.dc-hero-links a { padding: 8px 13px; font-size: 10.5px; }
  .dc-hero-actions { margin-top: 23px; }
  .dc-hero-stats { grid-template-columns: 1fr 1fr; }
  .dc-hero-stats > div { padding: 15px 10px 19px; }.dc-hero-stats > div:nth-child(2) { border-right: 0; }
  .dc-hero-stats strong { font-size: 23px; }
  .dc-hero-points { gap: 10px; font-size: 9px; }
  .dc-section, .dx-section { padding: 56px 0; }
  .dc-heading h2 { font-size: 31px; }
  .dc-module-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .dc-module { min-height: 135px; }
  .dc-showcase-copy h2, .dc-support-card h2 { font-size: 28px; }
  .dc-showcase-copy ul { grid-template-columns: 1fr; }
  .dc-value-grid, .dc-price-grid, .dc-steps, .dc-support-grid { grid-template-columns: 1fr; }
  .dc-footer-cols { grid-template-columns: 1fr 1fr; }
  .dc-footer-brand img { width: 165px; }
  .dc-footer-top { padding: 34px 0 26px; }
  .dc-footer-bottom { display: block; line-height: 2; }
  .dx-page-hero { padding: 55px 0 48px; }
  .dx-page-hero h1 { font-size: 41px; }
  .dx-section-head h2, .dx-center h2 { font-size: 30px; }
  .dx-feature-copy h3 { font-size: 25px; }
  .dx-docs-layout, .dx-faq-grid { grid-template-columns: 1fr; gap: 25px; }
  .dx-docs-toc { position: static; }
  .dx-query-card { padding: 22px 18px; }
  .dx-query-form { grid-template-columns: 1fr; }
  .dx-req-grid { grid-template-columns: 1fr 1fr; }
  .dx-about-grid { grid-template-columns: 1fr; }
  .dx-log-wrap { grid-template-columns: 1fr; gap: 25px; }
}

/* Discuz hero curve / stats readability */
.dc-curve { bottom: -145px; height: 155px; }
.dc-hero-stats-wrap { padding-bottom: 30px; }
.dc-hero-stats span { color: #c7bbe6; font-size: 10px; }
