:root {
  --bg: #020305;
  --band: #07090c;
  --ink: #f4f8fb;
  --body: rgba(228, 238, 246, .62);
  --muted: rgba(228, 238, 246, .42);
  --line: rgba(255, 255, 255, .11);
  --cyan: #6fd2ff;
  --cyan-soft: #9be0ff;
  --display: 'Archivo', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--body); font-family: var(--display); -webkit-font-smoothing: antialiased; }
.preview-notice { position: sticky; top: 0; z-index: 3; padding: 11px 24px; text-align: center; background: #0b1014; border-bottom: 1px solid rgba(111,210,255,.23); color: var(--cyan-soft); font: 10px/1.2 var(--mono); letter-spacing: .18em; }
.navis-topbar { display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 1220px; margin: 0 auto; padding: 23px 0; border-bottom: 1px solid var(--line); }
.navis-topbar a { color: var(--muted); font: 10px/1.2 var(--mono); letter-spacing: .12em; text-decoration: none; }
.navis-topbar__brand { color: var(--ink) !important; letter-spacing: .18em !important; }
.navis-topbar__brand span { color: var(--cyan); }
.navis-topbar nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: end; gap: 22px; }
.navis-topbar > nav:first-child { margin-left: auto; }
.navis-topbar a:hover { color: var(--cyan-soft); }
.navis-topbar a.navis-topbar__return { padding: 0; border: 0; color: #9BE0FF !important; font: 10px/1.2 var(--mono); letter-spacing: .24em; }
main { overflow: hidden; }
.eyebrow { margin: 0 0 20px; color: var(--cyan); font: 11px/1.4 var(--mono); letter-spacing: .26em; }
h1,h2,h3,p { margin-top: 0; }
h1,h2 { color: var(--ink); letter-spacing: -.055em; font-weight: 700; }
em { color: var(--cyan); font-style: normal; }
.button { border: 0; border-radius: 999px; background: var(--cyan); color: #020305; cursor: pointer; font: 11px/1 var(--mono); letter-spacing: .18em; padding: 18px 24px; white-space: nowrap; text-decoration: none; }
.button--ghost { background: transparent; border: 1px solid rgba(111,210,255,.5); color: var(--cyan-soft); }
.button span { margin-left: 9px; font-size: 15px; }
.launch-banner { position: relative; display: grid; grid-template-columns: minmax(110px,.38fr) minmax(400px,1.2fr) auto; gap: 34px; align-items: center; max-width: 1220px; margin: 32px auto 0; padding: 38px 46px; border: 1px solid var(--line); background: linear-gradient(120deg,rgba(111,210,255,.1),transparent 46%), var(--band); }
.banner-copy h1 { margin-bottom: 14px; font-size: clamp(28px,3.3vw,48px); line-height: .97; }
.banner-copy p:last-child { max-width: 620px; margin: 0; font-size: 15px; line-height: 1.55; }
.banner-ring,.hero-ring { position: relative; aspect-ratio: 1; border: 1px solid rgba(111,210,255,.68); border-radius: 50%; box-shadow: 0 0 40px rgba(111,210,255,.14), inset 0 0 30px rgba(111,210,255,.09); }
.banner-ring { width: min(130px,100%); }
.banner-ring span,.hero-ring span { position: absolute; inset: 12%; border: 1px solid rgba(244,248,251,.5); border-radius: 50%; }
.banner-ring i,.hero-ring i { position: absolute; top: 50%; left: 50%; width: 18%; height: 18%; transform: translate(-50%,-50%); border-radius: 50%; background: var(--cyan); box-shadow: 0 0 28px var(--cyan); }
.navis-topbar { animation: navis-fade-up .65s ease-out both; }
.launch-banner { animation: navis-fade-up .8s .08s ease-out both; }
.hero-ring { animation: navis-ring-in 1s .25s cubic-bezier(.16,1,.3,1) both; }
.hero .eyebrow { animation: navis-fade-up .65s .62s ease-out both; }
.hero h2 { animation: navis-fade-up .8s .72s cubic-bezier(.16,1,.3,1) both; }
.hero .lede { animation: navis-fade-up .75s .9s ease-out both; }
.hero-actions { animation: navis-fade-up .65s 1.04s ease-out both; }
.compatibility { animation: navis-fade-up .65s 1.16s ease-out both; }
@keyframes navis-fade-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes navis-ring-in { 0% { opacity: 0; transform: scale(.35) rotate(-35deg); filter: blur(6px); } 62% { opacity: 1; transform: scale(1.08) rotate(8deg); filter: blur(0); } 100% { opacity: 1; transform: scale(1) rotate(0); filter: blur(0); } }
@keyframes navis-new-core-pulse {
  0%, 42%, 100% { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 28px 8px rgba(111,210,255,.58); }
  12% { transform: translate(-50%, -50%) scale(1.24); box-shadow: 0 0 38px 13px rgba(111,210,255,.78); }
  24% { transform: translate(-50%, -50%) scale(1.07); box-shadow: 0 0 31px 10px rgba(111,210,255,.66); }
}
.banner-ring i { animation: navis-new-core-pulse 2.2s cubic-bezier(.4, 0, .2, 1) infinite; }
.hero { position: relative; min-height: 710px; padding: 142px 8vw 76px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; isolation: isolate; }
.orbital-grid { position: absolute; z-index: -2; inset: 0; opacity: .35; background-image: linear-gradient(rgba(111,210,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(111,210,255,.08) 1px,transparent 1px); background-size: 52px 52px; mask-image: radial-gradient(circle at 50% 46%,black,transparent 68%); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 8% 17%; border: 1px solid rgba(111,210,255,.15); border-radius: 50%; transform: rotate(-18deg); box-shadow: 0 0 150px rgba(111,210,255,.1); }
.hero-ring { width: 92px; margin-bottom: 28px; }
.hero-ring b { position: absolute; inset: -28%; border: 1px solid rgba(111,210,255,.15); border-radius: 50%; }
.hero h2 { max-width: 850px; margin: 0 0 22px; font-size: clamp(49px,7.2vw,104px); line-height: .9; }
.lede { max-width: 650px; margin-bottom: 30px; font-size: 18px; line-height: 1.58; }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px; }
.hero-actions span { color: var(--muted); font: 10px/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.compatibility { margin-top: 72px; color: var(--muted); font: 10px/1.4 var(--mono); letter-spacing: .18em; }
.ecosystem,.cross-app,.capabilities,.trial-cta { max-width: 1120px; margin: 0 auto; padding: 122px 42px; }
.ecosystem { border-top: 1px solid var(--line); }
.section-intro { max-width: 670px; }
.section-intro h2,.cross-app h2,.capabilities h2,.trial-cta h2 { margin-bottom: 17px; font-size: clamp(35px,5vw,64px); line-height: .96; }
.section-intro p:last-child,.cross-app p,.trial-cta p { max-width: 620px; font-size: 17px; line-height: 1.6; }
.ecosystem-map { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 62px; }
.node { min-height: 210px; padding: 25px; background: rgba(255,255,255,.018); border: 1px solid var(--line); }
.node--active { border-color: rgba(111,210,255,.35); box-shadow: inset 0 0 40px rgba(111,210,255,.045); }
.node-index,.capability-grid span { color: var(--cyan); font: 11px var(--mono); letter-spacing: .16em; }
.node h3 { margin: 37px 0 10px; color: var(--ink); font-size: 19px; }
.node p { min-height: 44px; font-size: 14px; line-height: 1.5; }
.node strong { color: var(--cyan-soft); font: 10px var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.node--future { opacity: .68; }
.cross-app { display: grid; grid-template-columns: 1fr 1fr; gap: 92px; border-top: 1px solid var(--line); }
.command-stack { display: grid; align-content: center; gap: 12px; }
.command-label { margin: 0 0 9px; color: var(--muted); font: 10px var(--mono); letter-spacing: .16em; }
code { display: block; padding: 15px; border-left: 2px solid rgba(111,210,255,.6); background: rgba(111,210,255,.055); color: rgba(232,241,248,.78); font: 12px/1.5 var(--mono); }
.capabilities { border-top: 1px solid var(--line); }
.capability-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 48px; background: var(--line); border: 1px solid var(--line); }
.capability-grid article { min-height: 245px; padding: 25px; background: var(--bg); }
.capability-grid h3 { margin: 40px 0 12px; color: var(--ink); font-size: 18px; }
.capability-grid p { font-size: 14px; line-height: 1.55; }
.trial-cta { text-align: center; border-top: 1px solid var(--line); padding-bottom: 150px; }
.trial-cta p { margin: 0 auto 28px; }
.release-download {
  display: grid;
  justify-items: center;
  gap: 13px;
  max-width: 760px;
  margin: 34px auto 10px;
  padding: 24px;
  border: 1px solid rgba(155, 224, 255, .26);
  border-radius: 18px;
  background: linear-gradient(120deg, rgba(111,210,255,.09), rgba(255,255,255,.025));
  box-shadow: inset 0 0 42px rgba(111, 210, 255, .035);
}
.release-download small {
  max-width: 610px;
  color: rgba(228, 238, 246, .68);
  font: 11px/1.55 var(--mono);
  letter-spacing: .04em;
}
.navis-trial-form { max-width: 760px; margin: 42px auto 0; padding: 28px; border: 1px solid var(--line); background: rgba(255,255,255,.018); text-align: left; }
.navis-trial-form[data-enabled="false"] { opacity: .76; }
.navis-trial-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.navis-trial-form__field { width: 100%; min-width: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 4px; background: #080b0e; color: var(--ink); padding: 15px 16px; font: 14px/1.25 var(--display); outline: none; }
.navis-trial-form__field:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(111,210,255,.13); }
.navis-trial-form__field:disabled { cursor: not-allowed; opacity: .58; }
.navis-trial-form__consents { display: grid; gap: 10px; margin-top: 18px; color: var(--body); font-size: 12px; line-height: 1.45; }
.navis-trial-form__consents label { display: flex; gap: 10px; align-items: flex-start; }
.navis-trial-form__consents input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--cyan); }
.navis-trial-form__consents a { color: var(--cyan-soft); }
.navis-trial-form__trap { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.navis-trial-form__actions { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin-top: 24px; }
.navis-trial-form__actions .button:disabled { cursor: not-allowed; opacity: .42; }
.navis-trial-form__actions .button.is-ready { box-shadow: 0 0 30px rgba(111,210,255,.42); }
.navis-trial-form__status { margin: 0; color: var(--muted); font: 11px/1.5 var(--mono); letter-spacing: .03em; }
.navis-trial-form__status.is-error { color: #ffb3b3; }
.navis-footer { border-top: 1px solid rgba(255, 255, 255, .07); }
.navis-footer__inner { max-width: 1220px; margin: 0 auto; padding: 56px 0 44px; display: flex; flex-direction: column; gap: 26px; }
.navis-footer__row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.navis-footer__brand { color: var(--ink); font: 800 18px/1 var(--display); letter-spacing: .08em; }
.navis-footer__meta { color: var(--muted); font: 10px/1.2 var(--mono); letter-spacing: .22em; }
.navis-footer__legal, .navis-footer__legalid, .navis-footer__copy { max-width: 760px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.navis-footer__bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.navis-footer__links { display: flex; gap: 20px; }
.navis-footer__links a { color: var(--muted); font-size: 12px; text-decoration: none; }
.navis-footer__links a:hover { color: var(--ink); }
/* Documentation page: mirrors the information architecture of Pulse for Revit's guide. */
.navis-guide { display: grid; grid-template-columns: 230px minmax(0, 760px); gap: 76px; max-width: 1120px; margin: 0 auto; padding: 94px 0 140px; }
.navis-guide__nav { position: sticky; top: 26px; align-self: start; display: grid; gap: 3px; }
.navis-guide__nav strong { margin-bottom: 13px; color: var(--ink); font-size: 14px; }
.navis-guide__nav a { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.06); color: var(--muted); font: 10px/1.4 var(--mono); letter-spacing: .07em; text-decoration: none; }
.navis-guide__nav a:hover { color: var(--cyan-soft); }
.navis-guide__hero { margin-bottom: 70px; padding-bottom: 47px; border-bottom: 1px solid var(--line); }
.navis-guide__hero h1 { max-width: 700px; margin: 0 0 20px; color: var(--ink); font-size: clamp(48px,6.5vw,82px); line-height: .92; letter-spacing: -.06em; }
.navis-guide__hero p { max-width: 650px; font-size: 18px; line-height: 1.6; }
.navis-guide__section { margin: 0 0 74px; scroll-margin-top: 34px; }
.navis-guide__section h2 { margin: 0 0 20px; color: var(--ink); font-size: 30px; letter-spacing: -.04em; }
.navis-guide__section h3 { margin: 32px 0 10px; color: var(--ink); font-size: 18px; }
.navis-guide__section p,.navis-guide__section li { font-size: 15px; line-height: 1.65; }
.navis-guide__section ol,.navis-guide__section ul { margin: 15px 0 0 20px; }
.navis-guide__section li + li { margin-top: 8px; }
.navis-guide__callout { margin-top: 22px; padding: 17px 19px; border: 1px solid rgba(111,210,255,.22); background: rgba(111,210,255,.055); color: var(--body); font-size: 14px; line-height: 1.6; }
.navis-guide__callout strong { color: var(--cyan-soft); }
.navis-guide__commands { display: grid; gap: 9px; margin-top: 20px; }
.navis-guide__commands code { border-left: 2px solid rgba(111,210,255,.6); }
.navis-guide__pdf { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 19px; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
.navis-guide__pdf a { color: var(--cyan-soft); font: 11px var(--mono); letter-spacing: .12em; }
@media (max-width: 820px) { .launch-banner { grid-template-columns: 84px 1fr; margin: 15px; padding: 28px; } .launch-banner .button { grid-column: 2; justify-self: start; } .banner-ring { width: 76px; } .hero { min-height: 650px; padding: 105px 26px 62px; } .ecosystem,.cross-app,.capabilities,.trial-cta { padding: 82px 26px; } .ecosystem-map,.cross-app { grid-template-columns: 1fr; } .cross-app { gap: 44px; } .capability-grid { grid-template-columns: 1fr 1fr; } .navis-trial-form { padding: 22px; } .navis-footer__inner { padding: 48px 26px 38px; } }
@media (max-width: 820px) { .navis-topbar { margin: 0 26px; } .navis-guide { grid-template-columns: 1fr; gap: 46px; padding: 72px 26px 110px; } .navis-guide__nav { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; } .navis-guide__nav strong { grid-column: 1 / -1; } }
@media (max-width: 520px) { .preview-notice { font-size: 8px; padding: 9px 12px; } .navis-topbar { align-items: flex-start; margin: 0 20px; padding: 17px 0; } .navis-topbar nav { gap: 12px; justify-content: flex-start; } .navis-topbar nav > a:not(.navis-topbar__return) { display: none; } .launch-banner { grid-template-columns: 1fr; gap: 18px; } .launch-banner .button { grid-column: auto; } .banner-ring { width: 68px; } .hero h2 { font-size: 48px; } .compatibility { margin-top: 48px; } .capability-grid { grid-template-columns: 1fr; } .hero-actions { flex-direction: column; } .release-download { padding: 20px; } .release-download .button { width: 100%; text-align: center; white-space: normal; line-height: 1.25; } .navis-trial-form__fields,.navis-trial-form__actions { grid-template-columns: 1fr; } .navis-guide__nav { grid-template-columns: 1fr; } .navis-guide__pdf { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; } }

/* Navisworks cards inherit the rounded, restrained treatment used by the Pulse home. */
.node,
.capability-grid article,
.navis-trial-form,
.navis-guide__pdf,
.navis-guide__callout,
.navis-guide__commands code {
  border-color: rgba(155, 224, 255, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .025);
}
.node--active {
  border-color: rgba(155, 224, 255, .36);
  box-shadow: inset 0 0 36px rgba(111, 210, 255, .035);
}
.capability-grid article { padding: 26px; }
.navis-guide__commands code { border-left: 0; }
