/* Public website: shared light palette, loaded after page-specific styles. */
:root {
  color-scheme: light;
  --ink: #234469;
  --ink-soft: #eaf5ff;
  --ink-line: #c9e1f5;
  --paper: #ffffff;
  --paper-muted: #526d89;
  --teal: #2563eb;
  --teal-deep: #087f9c;
  --teal-dark: #087f9c;
  --orange: #ea580c;
  --dark: #234469;
  --line: #cfe2f3;
}
html, body { background: #fff; color: var(--ink); }
body *, body *::before, body *::after { letter-spacing: 0; }
::selection { background: #cae8ff; color: #17499d; }
button, input, textarea, select { accent-color: var(--teal); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.grain, .hero-grid, .company-grid, .pricing-orbit { display: none; }
.site-header { height: 82px; padding: 0 max(24px,calc((100% - 1440px)/2)); color: var(--ink); background: #fff; border-color: var(--line); backdrop-filter: none; }
.site-header .brand { color: #1855bc; font-size: 22px; }
.brand-mark i:nth-child(2) { background: #0c9bb9; }
.site-header .main-nav { gap: 23px; margin-left: 24px; }
.main-nav a { min-height: 44px; display: inline-flex; align-items: center; border-bottom: 2px solid transparent; color: #42617f; }
.site-header .main-nav a:hover, .site-header .main-nav a.is-current { color: #2563eb; border-bottom-color: #2563eb; }
.header-cta, .primary-button, .primary-button.light, .contact-action, .query-control button { border-radius: 6px; background: #2563eb; color: #fff; box-shadow: 0 5px 14px #2563eb1a; }
.header-cta:hover, .primary-button:hover, .primary-button.light:hover, .contact-action:hover, .query-control button:hover { background: #1d4ed8; color: #fff; transform: none; }
.header-cta { min-height: 44px; }
.hero, .product-hero { min-height: 590px; height: min(840px,calc(100svh - 52px)); color: var(--ink); background: #f0f9ff; }
.hero-copy { width: 52%; padding: 122px 0 60px max(24px,calc((100vw - 1280px)/2)); }
.hero h1 { font-size: 56px; color: var(--ink); line-height: 1.25; }
.hero h1 em, .product-hero h1 em { color: #2563eb; }
.hero-summary, .product-hero-copy > p:not(.eyebrow) { color: #526d89; font-size: 16px; }
.hero-value { color: #087f9c; font-size: 19px; font-weight: 600; line-height: 1.6; margin: 0 0 16px; }
.hero-meta { margin-top: 42px; gap: 24px; }
.hero-meta div { border-color: #9dd9eb; }
.hero-meta dt { color: #087f9c; }
.hero-meta dd, .hero-caption, .hero-caption strong, .product-scroll, .product-scroll b { color: #526d89; }
.play-button { color: #2563eb; }
.play-button b { color: #2563eb; border-color: #a8cef6; }
.hero-brand { display: block; margin: 0 0 16px; font-size: 22px; font-weight: 700; color: #087f9c; }
.eyebrow, .section-index { color: #087f9c; }
.intro-band, .product-section, .system-visual, .versions-section, .api-section, .contact-section, .product-overview, .contact-directory, .authorization-advantages, .docs-library, .edition-list-section, .edition-detail-body, .pricing-plans { background: #fff; }
.intro-band, .product-section, .versions-section, .api-section, .contact-section { padding-top: 86px; padding-bottom: 86px; }
.system-visual { padding-top: 84px; padding-bottom: 84px; min-height: 555px; border-color: var(--line); }
.system-visual:before { background: #08a3bd; }
.intro-heading > p, .product-heading > p, .capability p, .visual-copy > p:last-child, .section-heading-row > p, .api-copy > p, .product-overview-heading > p { color: #526d89; }
.capability:hover, .product-panel:hover { background: #f0f9ff; }
.focus-capability, .focus-capability:hover, .product-panel.is-primary, .product-panel.is-primary:hover { color: var(--ink); background: #e9f8fd; }
.focus-capability .cap-number, .focus-capability p, .product-panel.is-primary .product-panel-top, .product-panel.is-primary .product-panel-copy p { color: #376780; }
.product-panel { background: #fff; }
.product-panel-copy p { color: #526d89; }
.arch-core { border-color: #9bc7ff; background: #e2f1ff; box-shadow: 14px 14px 0 #d7f7f2; color: #2563eb; }
.arch-node { background: #fff; border-color: #c2ddf4; color: var(--ink); box-shadow: 8px 8px 0 #eef8ff; }
.arch-node i { background: #08a3bd; }
.architecture path { stroke: #229dc4; }
.version-item { border-color: var(--line); }
.version-item:hover, .version-item.is-active, .version-item.is-featured { color: var(--ink); background: #edf6ff; }
.version-item > p, .version-item div a, .version-item div span { color: #2563eb; }
.version-item > span, .version-item div b, .version-item:hover > span, .version-item:hover div b { color: #526d89; }
.pricing-section { color: var(--ink); background: #eaf9f8; }
.pricing-main > p:not(.section-index), .pricing-detail p, .pricing-detail span { color: #376b76; }
.pricing-main .section-index { color: #087f9c; }
.pricing-detail { border-color: #addfdc; }
.pricing-detail article { border-color: #addfdc; }
.pricing-detail h3, .pricing-detail strong { color: #087f9c; }
.api-terminal { background: #f2f9ff; border-color: #b6d9f6; color: #234469; box-shadow: 12px 12px 0 #e5f8f5; border-radius: 8px; }
.api-section { color: #234469; }
.api-copy > p:not(.section-index) { color: #526d89; }
.terminal-body i { color: #087f9c; }
.terminal-top { border-color: #c9e1f5; color: #526d89; background: #e7f3ff; }
.terminal-top span, .terminal-top b, .terminal-body, .terminal-body p, .terminal-body code { color: #234469; }
.terminal-body span, .terminal-body b, .terminal-body em { color: #087f9c; }
.company-section { color: var(--ink); background: #edf7ff; min-height: 420px; padding-top: 85px; padding-bottom: 85px; }
.company-copy > p:last-child { color: #526d89; }
.company-statement strong { color: #2085c5; -webkit-text-stroke: 0; font-size: 40px; }
.company-statement span { color: #087f9c; }
.site-footer { color: #526d89; background: #f4fbff; border-top: 1px solid #cfe2f3; }
.site-footer:before { background: none; }
.site-footer h2, .site-footer-brand .brand { color: #234469; }
.site-footer-brand > p, .site-footer-nav a, .site-footer-contact p, .site-footer-qrs figcaption, .site-footer-friends, .site-footer-friends a, .site-footer-legal, .site-footer-legal a { color: #526d89; }
.site-footer-friends { border-color: #cfe2f3; }
.site-footer-friends > span { color: #087f9c; }
.login-overlay { background: #296ba840; backdrop-filter: blur(4px); }
.login-panel { color: var(--ink); background: #fff; border-color: #bedcf5; border-radius: 8px; box-shadow: 0 16px 60px #2563eb24; }
.login-panel > p:not(.eyebrow), .login-panel label, .login-panel small { color: #526d89; }
.login-panel input, .close-button { color: var(--ink); border-color: #bedcf5; }
.login-panel:after, .panel-k { display: none; }

/* Product, pricing, documentation, contact and authorization share bright bands. */
.product-page, .version-page, .pricing-page, .contact-page, .docs-page, .empower-page { background: #fff; color: var(--ink); }
.version-hero, .edition-detail-hero, .pricing-hero, .contact-hero, .docs-hero, .document-hero, .docs-not-found, .authorization-hero { color: var(--ink); background-color: #eff9ff; background-image: url('/assets/technology-scene.png'); background-position: right center; background-size: auto 100%; background-repeat: no-repeat; }
.version-hero-grid, .version-hero::after, .edition-detail-hero::before, .pricing-hero::before, .pricing-hero::after, .contact-hero-grid, .contact-hero-mark, .authorization-grid, .authorization-hero::after, .detail-mark { display: none; }
.version-hero, .pricing-hero, .contact-hero, .docs-hero, .document-hero { min-height: 390px; padding-top: 140px; padding-bottom: 66px; }
.version-hero h1, .edition-detail-hero h1, .pricing-hero h1, .contact-hero-copy h1, .docs-hero h1, .document-hero h1, .authorization-copy h1 { color: #234469; font-size: 46px; }
.version-hero > p, .edition-detail-summary, .edition-kicker, .pricing-hero-copy > p:last-child, .pricing-hero-meta dd, .contact-hero-copy > p:last-child, .docs-hero-copy > span, .docs-hero dd, .document-hero span, .authorization-copy > p:not(.section-index), .authorization-facts span { color: #526d89; }
.version-hero > p, .pricing-hero-meta, .docs-hero dl { padding: 15px; background: #ffffffd9; }
.product-hero-copy { padding-top: 122px; padding-bottom: 66px; }
.product-hero-copy h1 { font-size: 50px; }
.product-hero-notes span { color: #526d89; }
.product-control { background: #ecf9fa; color: var(--ink); }
.product-control-copy > p:not(.eyebrow), .product-control-copy .underlined-button { color: #376780; }
.product-control-board { background: #fff; border-color: #b8dbe9; box-shadow: 12px 12px 0 #d8f0f5; border-radius: 8px; }
.control-board-top { background: #eaf5ff; border-color: #c9e1f5; }
.control-board-top b { color: #526d89; }
.control-board-body article { color: var(--ink); background: #f4fbff; border-color: #c9e1f5; }
.control-board-body article b { color: #087f9c; }
.product-connect { background: #fff; }
.product-cta { background: #e7f7ff; color: var(--ink); }
.product-cta p { color: #087f9c; }
.product-cta .primary-button { background: #2563eb; color: #fff; border-color: #2563eb; }
.route-module { border-radius: 8px; border-color: var(--line); box-shadow: 6px 6px 0 #eaf7ff; }
.route-module h3, .product-connect span { color: var(--ink); }
.route-module small { color: #526d89; }
.edition-row:hover, .edition-row.is-featured { color: #234469; background: #edf6ff; }
.edition-row:hover .edition-en, .edition-row.is-featured .edition-en, .edition-row:hover .edition-summary, .edition-row.is-featured .edition-summary { color: #526d89; }
.pricing-compare, .authorization-boundaries { background: #f0f9ff; }
.pricing-plan { background: #fff; border-color: var(--line); }
.pricing-plan.is-primary { background: #eaf8ff; color: #234469; box-shadow: inset 0 4px #2563eb; }
.pricing-plan > p, .pricing-plan dl, .pricing-plan.is-primary > p, .pricing-plan.is-primary dl, .pricing-plan dl dt, .pricing-plan-price span, .pricing-plan-top small { color: #526d89; }
.pricing-plan-price strong { color: #c2410c; }
.pricing-plan.is-primary .pricing-plan-price, .pricing-plan.is-primary > a { border-color: #bed9f5; }
.pricing-table-shell, .pricing-table tbody th { background: #fff; border-color: var(--line); }
.pricing-table thead th { background: #e5f2ff; color: #234469; }
.pricing-table thead small, .pricing-table tbody td { color: #526d89; }
.pricing-table .pricing-group-row th { background: #e8f9f5; color: #087f76; }
.pricing-check.is-yes { background: #e2f7ee; color: #087957; }
.pricing-cta, .contact-support { background: #eaf9f8; color: #234469; }
.pricing-cta > p, .contact-support > div:last-child p { color: #376b76; }
.contact-table th { background: #eaf5ff; color: #42617f; }
.contact-table td { color: #234469; border-color: var(--line); }
.contact-groups, .contact-group, .contact-group-head, .contact-group-head > div { min-width: 0; }
.contact-table-wrap { max-width: 100%; min-width: 0; }
.authorization-query { background: #fff; border-color: #afd5f4; border-radius: 8px; box-shadow: 0 12px 36px #1677b51a; }
.query-panel-head { border-color: var(--line); }
.query-panel-head h2, .authorization-query form label, .result-head h2, .result-grid strong { color: #234469; }
.query-panel-head span, .query-note, .result-head small, .result-grid small { color: #526d89; }
.query-control input { color: #234469; background: #f6fbff; border-color: #afcde7; border-radius: 6px; }
.query-control input::placeholder { color: #617c98; }
.query-message { color: #b4233c; }
.query-result { background: #f4fbff; border-color: var(--line); }
.result-head, .result-grid div { border-color: var(--line); }
.authorization-facts, .authorization-facts span { border-color: #b8d9ec; }
.authorization-section-heading h2, .advantage-grid h3 { color: #234469; }
.boundary-primary { color: #234469; background: #e5f6ff; }
.boundary-secondary { color: #234469; background: #fff; }
.authorization-footer { background: #f4fbff; color: #526d89; }
.authorization-footer a { color: #087f9c; }
.boundary-primary p, .boundary-secondary p { color: #526d89; }
.boundary-grid article { border-radius: 8px; border-color: var(--line); }
.docs-card { background: #fff; border-color: var(--line); border-radius: 8px; }
.docs-card-mark { background: #dcf4ff; color: #1267bc; }
.docs-card-api .docs-card-mark { background: #fff0e6; color: #c2410c; }
.docs-card-copy small, .docs-card-copy strong { color: #087f9c; }
.document-sidebar a:hover, .document-sidebar a.is-current { color: #2563eb; border-color: #2563eb; background: #eaf5ff; }
.document-body pre { color: #234469; background: #edf7ff; border: 1px solid var(--line); border-radius: 6px; }
.document-body p, .document-body ul, .docs-card-copy p { color: #42617f; }
.document-article { padding-left: 0; padding-right: 0; border: 0; }
.site-nav-toggle { display: none; }
@media (max-width: 1180px) {
  .site-header .main-nav { gap: 14px; margin-left: 0; }
  .site-header .main-nav a { font-size: 13px; }
  .site-header .brand { font-size: 19px; }
  .hero h1 { font-size: 44px; }
  .hero-copy { padding-left: 5%; }
}
@media (max-width: 980px) {
  .site-header { position: relative; height: 70px; gap: 12px; padding: 0 20px; }
  .header-actions { margin-left: auto; gap: 12px; }
  .site-header .main-nav { display: flex; overflow-x: auto; }
  .site-header:has(.site-nav-toggle) .main-nav { position: absolute; z-index: 25; display: none; left: 0; right: 0; top: 70px; margin: 0; padding: 12px 20px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 12px 22px #2563eb14; }
  .site-header.is-menu-open .main-nav { display: grid; grid-template-columns: 1fr 1fr; }
  .site-nav-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #c3dcf4; border-radius: 6px; background: #f0f8ff; color: #2563eb; }
  .site-nav-toggle svg { width: 22px; height: 22px; }
  .hero, .product-hero { min-height: 550px; height: 650px; }
  .hero-copy, .product-hero-copy { width: 54%; padding-top: 50px; padding-bottom: 50px; }
  .hero h1, .product-hero-copy h1 { font-size: 38px; }
  .hero-meta { flex-wrap: wrap; gap: 16px; }
  .hero-actions { flex-wrap: wrap; gap: 18px; }
  .version-hero, .pricing-hero, .contact-hero, .docs-hero, .document-hero { padding-top: 68px; }
}
@media (max-width: 650px) {
  .site-header { padding: 0 16px; }
  .site-header .brand { font-size: 18px; gap: 8px; }
  .site-header .brand-logo { max-width: 92px; height: 28px; }
  .header-cta { font-size: 12px; padding: 10px; }
  .hero, .product-hero { min-height: 0; height: auto; padding-bottom: 230px; }
  .hero-copy, .product-hero-copy { width: 100%; min-height: 0; padding: 36px 24px 16px; }
  .hero h1, .product-hero-copy h1 { font-size: 34px; line-height: 1.3; }
  .hero-brand { font-size: 20px; margin-bottom: 12px; }
  .eyebrow { margin-bottom: 16px; font-size: 10px; }
  .hero-summary { font-size: 14px; margin-bottom: 22px; }
  .hero-meta { display: none; }
  .hero-value { font-size: 16px; }
  .hero-meta dd { font-size: 11px; }
  #commerce-scene, #product-scene { top: auto; bottom: 0; height: 230px; }
  .hero-caption, .product-scroll, .product-hero-notes { display: none; }
  .system-visual { min-height: 0; padding: 52px 24px; }
  .intro-band, .product-section, .versions-section, .api-section, .contact-section, .company-section { padding: 56px 24px; }
  .version-hero, .edition-detail-hero, .pricing-hero, .contact-hero, .docs-hero, .document-hero, .authorization-hero { background-image: none; }
  .version-hero h1, .edition-detail-hero h1, .pricing-hero h1, .contact-hero-copy h1, .docs-hero h1, .document-hero h1, .authorization-copy h1 { font-size: 34px; }
  .version-hero, .pricing-hero, .contact-hero, .docs-hero, .document-hero { min-height: 0; padding: 48px 24px; }
  .authorization-hero-inner { padding-top: 44px; padding-bottom: 48px; }
  .version-hero > p, .pricing-hero-meta, .docs-hero dl { padding: 0; background: transparent; }
  .result-grid div { border-color: var(--line); }
  .company-statement strong { font-size: 30px; }
  .site-footer-legal { flex-wrap: wrap; }
  .site-footer-legal > * { max-width: 100%; overflow-wrap: anywhere; }
}
@media (max-width: 650px) and (max-height: 740px) {
  .hero-copy, .product-hero-copy { padding-top: 24px; }
  .hero .eyebrow { display: none; }
  .hero-summary { line-height: 1.6; margin-bottom: 16px; }
  .hero, .product-hero { padding-bottom: 180px; }
  #commerce-scene, #product-scene { height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
