/* Nexus website presentation. Technical articles keep Material's layout. */
:root {
  --nexus-ink: #0b1120;
  --nexus-line: rgba(163, 188, 225, .16);
  --nexus-cyan: #78def5;
  --nexus-blue: #637bff;
  --md-primary-fg-color: #101827;
  --md-primary-fg-color--light: #182338;
  --md-primary-fg-color--dark: #080d17;
  --md-accent-fg-color: #4266de;
  --md-text-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --md-code-font: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}

[data-md-color-scheme="slate"] { --md-accent-fg-color: #82d8f4; }
html { scroll-behavior: smooth; }
.md-header { box-shadow: none; border-bottom: 1px solid var(--nexus-line); }
.md-header__button.md-logo img { width: 1.7rem; height: 1.7rem; }
.md-header__title { font-weight: 650; letter-spacing: -.02em; }
.md-tabs { background: #101827; }
.md-tabs__link { font-size: .68rem; font-weight: 550; }
.md-typeset h1, .md-typeset h2, .md-typeset h3 { font-weight: 650; letter-spacing: -.035em; }
.md-typeset h1 { color: var(--md-default-fg-color); }
.md-typeset .nexus-page-eyebrow { margin-top: 1.2rem; color: var(--md-accent-fg-color); font-size: .58rem; font-weight: 750; letter-spacing: .15em; }
.md-typeset .md-button { border-radius: .35rem; padding: .6em 1em; font-size: .72rem; }
.md-footer { background: #101827; }
.md-footer-meta { background: #0b1120; }

body:has(.nexus-home) .md-main__inner { max-width: none; margin-top: 0; }
.nexus-home { color: #e8eef8; background: var(--nexus-ink); min-width: 0; }
.nexus-home .md-content__inner { margin: 0; padding: 0; }
.nexus-home .md-content__inner::before { display: none; }
.nexus-home .md-content__inner > h1 { display: none; }
.nexus-home h1, .nexus-home h2, .nexus-home h3 { color: #f3f6fc; }
.nexus-home .headerlink { display: none; }
.nexus-home p { font-size: .83rem; line-height: 1.75; color: #abb9cf; }
.nexus-home a { text-decoration: none; }
.nexus-container { width: min(60rem, calc(100% - 4rem)); margin-inline: auto; }
.nexus-eyebrow { font-size: .52rem !important; font-weight: 750; letter-spacing: .17em; color: #83d6f1 !important; }
.nexus-hero { position: relative; padding: 4.2rem 0 4rem; background: radial-gradient(ellipse at 83% 25%, rgba(63, 94, 180, .2), transparent 49%), radial-gradient(ellipse at 12% 0, rgba(39, 137, 155, .08), transparent 50%); }
.nexus-hero-grid { display: grid; grid-template-columns: 1.06fr 1fr; align-items: center; gap: 3.1rem; }
.nexus-hero .nexus-eyebrow { display: flex; align-items: center; gap: .5rem; margin: 0 0 1.2rem; }
.nexus-eyebrow > span { width: .27rem; height: .27rem; border-radius: 50%; background: #79e1c0; box-shadow: 0 0 .7rem #58bbab66; }
.nexus-home .nexus-hero h1 { margin: 0 0 1.1rem; font-size: clamp(2.1rem, 4.5vw, 3.5rem); font-weight: 680; line-height: 1.06; letter-spacing: -.052em; }
.nexus-gradient { background: linear-gradient(105deg, #8be5f5 3%, #7ba6ff 63%, #a396ff); color: transparent; background-clip: text; }
.nexus-hero-copy > p:not(.nexus-eyebrow):not(.nexus-hero-note) { max-width: 25rem; margin-bottom: 1.5rem; }
.nexus-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.nexus-home .nexus-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.05rem; border-radius: .36rem; border: 1px solid #35425b; padding: .7rem 1.1rem; font-size: .68rem; line-height: 1.2; font-weight: 650; transition: background .16s, border-color .16s; }
.nexus-home .nexus-button-primary { background: #8be0f1; color: #0c1a27; border-color: #8be0f1; }
.nexus-home .nexus-button-primary:hover { background: #b7f0fb; border-color: #b7f0fb; }
.nexus-home .nexus-button-secondary { color: #e2e9f7; background: #17213377; }
.nexus-home .nexus-button-secondary:hover { background: #253149; border-color: #6c7b96; }
.nexus-hero-note { margin-top: 1.05rem !important; font-size: .56rem !important; color: #73849d !important; }

.nexus-toolchain { overflow: hidden; border: 1px solid #2a3850; border-radius: .7rem; background: linear-gradient(145deg, #172338e6, #0d1525); box-shadow: 0 1.4rem 4rem #0005, inset 0 1px #ffffff06; }
.nexus-window-bar { display: flex; align-items: center; gap: .26rem; padding: .75rem .8rem; border-bottom: 1px solid var(--nexus-line); background: #0d152577; }
.nexus-window-bar > span { width: .29rem; height: .29rem; background: #41516c; border-radius: 50%; }
.nexus-window-bar > span:first-child { background: #638a9c; }
.nexus-window-bar small { margin-left: auto; font-size: .43rem; letter-spacing: .13em; color: #7386a3; }
.nexus-toolchain-center { display: flex; align-items: center; flex-direction: column; padding: 1.6rem 1rem 1.35rem; }
.nexus-toolchain-center img { width: 3.8rem; height: 3.8rem; margin-bottom: .65rem; }
.nexus-toolchain-center strong { font-size: .83rem; font-weight: 600; letter-spacing: -.02em; }
.nexus-toolchain-center > span { font-size: .51rem; margin-top: .3rem; color: #8ea0bb; }
.nexus-toolchain-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; padding: 0 .85rem 1rem; }
.nexus-toolchain-tools a { border: 1px solid #2b3a53; border-radius: .35rem; background: #18263c99; padding: .7rem .55rem; display: flex; flex-direction: column; color: #e7eef9; }
.nexus-toolchain-tools a:hover { border-color: #6793d1; background: #24344e; }
.nexus-toolchain-tools b { font-size: .45rem; font-weight: 500; color: #6bc5e6; margin-bottom: .45rem; }
.nexus-toolchain-tools strong { font-size: .66rem; }
.nexus-toolchain-tools span { font-size: .47rem; color: #8fa1bc; margin-top: .15rem; }
.nexus-ecosystem-note { padding: .8rem; border-top: 1px solid var(--nexus-line); background: #080e1a; color: #a8b9d5; font-size: .53rem; text-align: center; }

.nexus-principles { border-block: 1px solid var(--nexus-line); background: #101929; }
.nexus-principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.nexus-principles-grid > div { padding: 1.3rem 1.1rem; border-right: 1px solid var(--nexus-line); }
.nexus-principles-grid > div:first-child { padding-left: 0; }
.nexus-principles-grid > div:last-child { border-right: none; }
.nexus-principles strong, .nexus-principles span { display: block; }
.nexus-principles strong { font-size: .7rem; font-weight: 600; color: #e7eef9; }
.nexus-principles span { margin-top: .3rem; font-size: .58rem; color: #8597b3; line-height: 1.5; }
.nexus-section { padding-block: 3.7rem 4rem; }
.nexus-home h2 { margin: .7rem 0 1rem; font-size: 2rem; line-height: 1.15; }
.nexus-section > p:not(.nexus-eyebrow) { max-width: 31rem; }
.nexus-product-families { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.7rem; }
.nexus-product-family { display: flex; flex-direction: column; min-width: 0; }
.nexus-home .nexus-family-label { color: #b7c8df; font-size: .66rem; font-weight: 600; padding-bottom: .6rem; margin: 0 0 .8rem; border-bottom: 1px solid #33435d; }
.nexus-product-grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: 1fr; flex: 1; gap: .8rem; }
.nexus-home .nexus-product-card { padding: 1.1rem 1rem; border: 1px solid #27354b; border-radius: .5rem; background: linear-gradient(155deg, #172236, #111a2b); display: flex; flex-direction: column; color: #e8eef8; transition: border-color .16s, background .16s; }
.nexus-product-card:hover { border-color: #607ea5 !important; background: #1b2b43 !important; }
.nexus-card-icon { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; width: 1.9rem; height: 1.9rem; border: 1px solid #35506a; border-radius: .4rem; color: #8dd9f2; font-family: var(--md-code-font); font-size: .75rem; margin-bottom: 1.05rem; background: #22364b66; }
.nexus-product-card > small { font-size: .42rem; font-weight: 650; letter-spacing: .11em; color: #8194b1; }
.nexus-product-card h3 { margin: .38rem 0 .6rem; font-size: 1rem; font-weight: 650; letter-spacing: -.025em; }
.nexus-product-card p { margin: 0 0 1.2rem; font-size: .63rem; line-height: 1.7; color: #98a9c1; }
.nexus-card-link { margin-top: auto; color: #92d6ee; font-size: .56rem; font-weight: 600; }
.nexus-native { padding-block: 3.6rem; border-top: 1px solid var(--nexus-line); background: radial-gradient(ellipse at 20% 45%, #20365b55, transparent 65%), #0d1626; }
.nexus-native-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.nexus-native-panel { padding: 1.3rem; border: 1px solid #344866; border-radius: .6rem; background: #142137; min-width: 0; }
.nexus-home .nexus-native-panel > p { margin: 0 0 1.1rem; font-size: .5rem; letter-spacing: .12em; color: #92d6ee; }
.nexus-home .nexus-native-flow { list-style: none; margin: 0; padding: 0; }
.nexus-native-flow li { display: flex; align-items: flex-start; gap: .8rem; padding: .8rem 0; margin: 0; border-bottom: 1px solid #2b3d57; }
.nexus-native-flow li > span:first-child { color: #7bd7ed; font-family: var(--md-code-font); font-size: .6rem; padding-top: .1rem; }
.nexus-native-flow strong, .nexus-native-flow small, .nexus-native-examples strong, .nexus-native-examples span { display: block; }
.nexus-native-flow strong { font-size: .75rem; font-weight: 600; }
.nexus-native-flow small { font-size: .57rem; color: #9aadc7; margin-top: .2rem; }
.nexus-native-examples { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-top: 1.1rem; }
.nexus-native-examples a { color: #8ddced; }
.nexus-native-examples strong { font-size: .68rem; }
.nexus-native-examples span { color: #9aadc7; font-size: .55rem; margin-top: .25rem; }
.nexus-native-examples a:hover strong { color: #d3f6ff; }
.nexus-journey { background: #111b2b; border-block: 1px solid var(--nexus-line); padding-block: 3.4rem; }
.nexus-journey-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; }
.nexus-home .nexus-text-link { display: inline-block; font-size: .69rem; font-weight: 600; color: #8ddced; margin-top: .5rem; }
.nexus-text-link span { margin-left: .7rem; }
.nexus-resource-list { display: flex; flex-direction: column; }
.nexus-resource-list > a { display: flex; align-items: center; gap: .9rem; padding: 1.15rem 0; border-bottom: 1px solid #2d3a50; }
.nexus-resource-list > a:first-child { border-top: 1px solid #2d3a50; }
.nexus-resource-list > a > span:first-child { color: #6c819f; font-family: var(--md-code-font); font-size: .55rem; }
.nexus-resource-list strong, .nexus-resource-list small { display: block; }
.nexus-resource-list strong { color: #e4ecf9; font-size: .76rem; font-weight: 600; }
.nexus-resource-list small { color: #8ea0ba; font-size: .57rem; margin-top: .25rem; }
.nexus-resource-list b { font-size: .85rem; margin-left: auto; color: #8bcce7; }
.nexus-resource-list > a:hover strong { color: #9ee9f7; }
.nexus-bottom-cta { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-block: 3.2rem; }
.nexus-bottom-cta h2 { font-size: 1.6rem; }
.nexus-bottom-cta p:last-child { margin-bottom: 0; }
.nexus-domain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1.5rem; }
.nexus-domain { border: 1px solid var(--md-default-fg-color--lightest); border-top: 3px solid var(--md-accent-fg-color); border-radius: .4rem; padding: 0 1rem 1rem; background: var(--md-code-bg-color); }

a:focus-visible { outline: 3px solid #65a8ef; outline-offset: 4px; }
@media (min-width: 76.25em) {
  body:has(.nexus-home) .md-sidebar--primary { display: none; }
}
@media (max-width: 1100px) {
  .nexus-hero-grid { gap: 1.6rem; }
  .nexus-product-families { grid-template-columns: 1fr; gap: 1.5rem; }
  .nexus-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nexus-journey-grid { gap: 2rem; }
  .nexus-bottom-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 760px) {
  .nexus-container { width: calc(100% - 2rem); }
  .nexus-hero { padding-block: 2.7rem 2.5rem; }
  .nexus-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .nexus-home .nexus-hero h1 { font-size: clamp(2.2rem, 8vw, 3rem); }
  .nexus-hero-copy > p:not(.nexus-eyebrow):not(.nexus-hero-note) { max-width: 32rem; }
  .nexus-toolchain { max-width: 29rem; width: 100%; }
  .nexus-principles-grid { grid-template-columns: 1fr; }
  .nexus-principles-grid > div { padding: .9rem 0; border-right: none; border-bottom: 1px solid var(--nexus-line); }
  .nexus-principles-grid > div:last-child { border-bottom: none; }
  .nexus-section { padding-block: 2.6rem; }
  .nexus-home h2 { font-size: 1.7rem; }
  .nexus-journey-grid { grid-template-columns: 1fr; }
  .nexus-journey { padding-block: 2.5rem; }
  .nexus-domain-grid { grid-template-columns: 1fr; }
  .nexus-native-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .nexus-native { padding-block: 2.5rem; }
}
@media (max-width: 430px) {
  .nexus-product-grid { grid-template-columns: 1fr; }
  .nexus-home .nexus-hero h1 { font-size: 2.15rem; }
  .nexus-eyebrow { letter-spacing: .1em; }
  .nexus-hero .nexus-eyebrow { font-size: .45rem !important; }
  .nexus-toolchain-tools { gap: .3rem; padding-inline: .5rem; }
  .nexus-toolchain-tools a { padding: .65rem .4rem; }
  .nexus-toolchain-tools strong { font-size: .58rem; }
  .nexus-toolchain-tools span { font-size: .43rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nexus-home a { transition: none; }
}
