:root {
  --paper:#f8f8f5;
  --white:#fff;
  --ink:#17171b;
  --ink-2:#4b4a54;
  --muted:#6b6873;
  --line:#e7e6e3;
  --purple:#6650d9;
  --purple-2:#a79aff;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --shell:1360px;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  color-scheme:light;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body {
  margin:0;
  overflow-x:clip;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

button, input, textarea {
  font:inherit;
}

button {
  cursor:pointer;
}

a {
  color:inherit;
  text-decoration:none;
}

a:focus-visible, button:focus-visible {
  outline:2px solid var(--purple);
  outline-offset:3px;
  border-radius:4px;
}

.early-access :focus-visible {
  outline-color:#c9bcff;
}

.stage-control:focus-visible {
  outline-color:var(--ink);
}

h1, h2, h3 {
  text-wrap:balance;
}

p, li {
  text-wrap:pretty;
}

[id] {
  scroll-margin-top:24px;
}

svg {
  display:block;
}

h1, h2, h3, p {
  margin:0;
}

em {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-style:italic;
}

.shell {
  width:min(calc(100% - 92px),var(--shell));
  margin-inline:auto;
}

.skip-link {
  position:absolute;
  top:-80px;
  left:20px;
  background:var(--ink);
  color:white;
  padding:12px;
  z-index:100;
}

.skip-link:focus {
  top:12px;
}


.site-header {
  height:92px;
  position:relative;
  z-index:20;
  background:var(--paper);
}

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:100%;
}

.brand {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  gap:10px;
  font-size:25px;
  line-height:1;
  letter-spacing:-1.5px;
  font-weight:750;
}

.brand-symbol {
  width:38px;
  height:38px;
}

.brand-symbol svg {
  width:100%;
  height:100%;
}

.brand-period, .footer-brand span {
  color:var(--purple);
}

.desktop-nav {
  display:flex;
  gap:36px;
  margin-left:68px;
}

.desktop-nav a {
  font-size:13px;
  color:#383743;
  font-weight:570;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  transition:color .2s var(--ease-out);
}

.header-cta {
  border:1px solid #25232d;
  background:var(--ink);
  color:white;
  border-radius:100px;
  padding:14px 19px 14px 24px;
  font-size:13px;
  font-weight:650;
  display:flex;
  gap:28px;
  align-items:center;
  min-height:44px;
  transition:transform .16s var(--ease-out),background .2s var(--ease-out);
}

.header-cta span {
  font-size:19px;
  line-height:1;
}

.mobile-menu-toggle, .mobile-menu {
  display:none;
}

.hero {
  padding-top:64px;
}

.hero-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  padding:0 0 49px;
}

.eyebrow {
  display:flex;
  gap:9px;
  align-items:center;
  color:#54515d;
  font-weight:700;
  font-size:11px;
  letter-spacing:1.8px;
}

.eyebrow-mark {
  height:7px;
  width:7px;
  background:var(--purple);
  border-radius:50%;
}

.hero h1 {
  font-size:clamp(60px,6.5vw,108px);
  font-weight:680;
  letter-spacing:-.085em;
  line-height:.96;
  margin-top:30px;
  max-width:860px;
}

.hero h1 em {
  font-weight:400;
  letter-spacing:-.085em;
  color:#6451cb;
}

.hero-aside {
  width:330px;
  flex:none;
  margin-bottom:9px;
}

.hero-aside>p {
  font-size:16px;
  line-height:1.65;
  color:var(--ink-2);
  letter-spacing:-.02em;
}

.text-link, .feature-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  gap:46px;
  margin-top:24px;
  font-size:13px;
  font-weight:700;
  border-bottom:1px solid #c3c0c7;
  padding-bottom:10px;
  transition:border-color .2s var(--ease-out);
}

.text-link span, .feature-link span {
  font-size:21px;
  font-weight:400;
  transition:transform .2s var(--ease-out);
}

.experience {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:600px;
  border-radius:19px;
  background:radial-gradient(ellipse at 70% 85%,#a5abff 0%,transparent 40%),linear-gradient(116deg,#f2d7d6 0%,#e3d6f4 46%,#b3c6fa 100%);
  box-shadow:0 24px 55px -46px #5a469b61;
}

.experience-grid {
  position:absolute;
  inset:-150px;
  background-image:linear-gradient(to right,rgba(255,255,255,.54) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.54) 1px,transparent 1px);
  background-size:125px 125px;
  transform:perspective(520px) rotateX(11deg) scale(1.3) rotate(-4deg);
  pointer-events:none;
  z-index:-1;
}

.experience-halo {
  position:absolute;
  width:750px;
  height:430px;
  background:radial-gradient(ellipse,#fbffffa4,transparent 67%);
  left:calc(50% - 375px);
  top:115px;
  pointer-events:none;
}

.stage-topline, .stage-bottomline {
  position:absolute;
  z-index:5;
  left:34px;
  right:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.stage-topline {
  top:31px;
}

.stage-bottomline {
  bottom:25px;
}

.stage-label, .stage-time, .stage-story {
  font-size:11px;
  letter-spacing:1.25px;
  font-weight:750;
}

.stage-label {
  display:flex;
  gap:11px;
  align-items:center;
}

.stage-live-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#5850bb;
  box-shadow:0 0 0 5px #6d5bcd1c;
}

.stage-time {
  letter-spacing:2px;
  font-variant-numeric:tabular-nums;
}

.stage-scene {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:600px;
}

.orbit {
  position:absolute;
  border:1px solid #ffffff78;
  border-radius:50%;
  pointer-events:none;
}

.orbit-one {
  width:760px;
  height:430px;
  transform:rotate(-8deg);
}

.orbit-two {
  width:1010px;
  height:480px;
  transform:rotate(16deg);
}

.floating-folder {
  position:absolute;
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 14px;
  background:#fff9;
  border:1px solid #fff9;
  border-radius:12px;
  font-size:12px;
  color:#3b3550;
  box-shadow:0 18px 48px #48446a0d;
  backdrop-filter:blur(12px);
  opacity:.85;
  transition:transform .8s var(--ease),opacity .8s var(--ease);
  z-index:0;
}

.folder-glyph {
  font-size:23px;
  line-height:12px;
  color:#7462da;
}

.folder-left {
  top:215px;
  left:12%;
  transform:rotate(-8deg);
}

.folder-right {
  top:185px;
  right:12%;
  transform:rotate(9deg);
}

.folder-bottom {
  bottom:117px;
  right:15%;
  transform:rotate(-5deg);
}

.stage-scene[data-phase="searching"] .floating-folder {
  opacity:1;
}

.stage-scene[data-phase="searching"] .folder-left {
  transform:translateX(24px) rotate(-2deg);
}

.stage-scene[data-phase="searching"] .folder-right {
  transform:translateX(-24px) rotate(3deg);
}

.demo-window {
  position:relative;
  z-index:2;
  background:#181722;
  color:#fff;
  width:min(690px,70%);
  height:370px;
  border:1px solid #ffffff2d;
  border-radius:19px;
  overflow:hidden;
  box-shadow:0 42px 80px #261d5650,0 8px 26px #2d214029, inset 0 1px #ffffff17;
  transform:translateY(12px);
  transition:transform .7s var(--ease),box-shadow .7s var(--ease);
}

.stage-scene[data-phase="related"] .demo-window {
  transform:translateY(5px) scale(1.025);
  box-shadow:0 45px 90px #261d5667;
}

.window-header {
  height:51px;
  border-bottom:1px solid #ffffff18;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
}

.window-brand {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
  font-weight:720;
  letter-spacing:-.4px;
}

.window-logomark {
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  background:#6650d9;
  border-radius:6px;
  font-size:18px;
}

.window-dots {
  display:flex;
  gap:6px;
}

.window-dots i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#575361;
}

.window-body {
  padding:27px 33px 14px;
}

.window-prompt {
  height:17px;
  margin-bottom:13px;
  font-size:11px;
  color:#a6a3b5;
  letter-spacing:.25px;
}

.search-field {
  display:flex;
  align-items:center;
  gap:12px;
  height:65px;
  background:#fcfbff;
  color:#242130;
  border-radius:12px;
  padding:0 19px;
  box-shadow:0 2px 0 #ffffff3d,inset 0 0 0 1px #e8e5f5;
}

.search-field svg {
  color:#8275a7;
  flex:none;
}

.typed-query {
  font-weight:620;
  font-size:17px;
  letter-spacing:-.45px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.typing-caret {
  width:2px;
  height:23px;
  background:#7464d7;
  animation:blink .7s steps(1) infinite;
  flex:none;
}

.search-return {
  margin-left:auto;
  background:#eeeaf9;
  color:#5f5a6c;
  padding:7px 11px;
  border-radius:7px;
  font-size:16px;
}

.demo-workspace {
  position:relative;
  height:163px;
  margin-top:15px;
}

.searching-state, .result-state, .related-state {
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .45s,transform .6s var(--ease);
}

.stage-scene[data-phase="searching"] .searching-state, .stage-scene[data-phase="results"] .result-state, .stage-scene[data-phase="related"] .related-state {
  opacity:1;
  transform:translateY(0);
}

.sweep {
  position:absolute;
  top:0;
  left:0;
  width:3px;
  height:100%;
  background:#a08efc;
  box-shadow:0 0 30px 8px #8675ec70;
  animation:sweep 1.65s ease-in-out infinite alternate;
}

.source {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #ffffff1d;
  padding:9px 7px;
  color:#dbd8e8;
  font-size:12px;
}

.source span {
  color:#9a94bb;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}

.result-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:5px 2px 13px;
  color:#aaa6bd;
  font-size:11px;
  letter-spacing:1.2px;
  font-weight:760;
}

.result-found {
  color:#9ee3b7;
  display:flex;
  align-items:center;
  gap:7px;
}

.found-dot {
  background:#6fdd9d;
  width:6px;
  height:6px;
  border-radius:50%;
}

.result-card {
  background:#292633;
  border:1px solid #605b6c;
  border-radius:11px;
  padding:14px;
  display:flex;
  align-items:center;
  gap:14px;
}

.result-icon {
  width:33px;
}

.result-icon svg {
  width:33px;
  height:34px;
}

.result-copy {
  display:flex;
  flex:1;
  flex-direction:column;
  gap:6px;
  min-width:0;
}

.result-copy strong {
  font-size:15px;
  font-weight:610;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.result-copy small {
  font-size:12px;
  color:#b3aebc;
}

.result-arrow {
  font-size:21px;
  color:#cfc1ff;
}

.related-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 2px 8px;
  color:#aaa6bd;
  font-size:11px;
  letter-spacing:1.2px;
  font-weight:760;
}

.related-count {
  color:#cfc1ff;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.related-list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.related-row {
  display:flex;
  align-items:center;
  gap:11px;
  height:40px;
  padding:0 12px;
  background:#292633;
  border:1px solid #4a4656;
  border-radius:10px;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .35s var(--ease-out),transform .45s var(--ease-out);
}

.stage-scene[data-phase="related"] .related-row {
  opacity:1;
  transform:none;
}

.stage-scene[data-phase="related"] .related-row:nth-child(2) {
  transition-delay:.12s;
}

.stage-scene[data-phase="related"] .related-row:nth-child(3) {
  transition-delay:.24s;
}

.related-mark {
  flex:none;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  font-size:11px;
  font-weight:800;
  background:#1a7f50;
  color:#fff;
}

.related-row[data-state="possible"] .related-mark {
  background:#f0b44c;
  color:#2a1d05;
}

.related-row[data-state="missing"] {
  background:transparent;
  border-style:dashed;
}

.related-row[data-state="missing"] .related-mark {
  background:#e9806f;
  color:#2b0e09;
}

.related-copy {
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  flex:1;
}

.related-copy strong, .related-copy small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.related-copy strong {
  font-size:13px;
  font-weight:620;
  line-height:1.2;
}

.related-copy small {
  font-size:11px;
  line-height:1.25;
  color:#b3aebc;
}

.related-tag {
  flex:none;
  font-size:11px;
  font-weight:700;
  letter-spacing:.3px;
  color:#9ee3b7;
}

.related-row[data-state="possible"] .related-tag {
  color:#f6cd84;
}

.related-row[data-state="missing"] .related-tag {
  color:#f4a597;
}

.window-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 33px;
  color:#8f8a9c;
  font-size:11px;
  letter-spacing:1.1px;
  font-weight:700;
}

.footer-progress {
  width:54px;
  height:3px;
  border-radius:3px;
  background:#4c4659;
  overflow:hidden;
}

.footer-progress span {
  display:block;
  background:#aa9bff;
  height:100%;
  width:25%;
  transition:width .3s linear;
}

.stage-story {
  display:flex;
  align-items:center;
  gap:16px;
  letter-spacing:0;
  font-size:13px;
}

.stage-story>span:first-child {
  font-size:11px;
  font-variant-numeric:tabular-nums;
  letter-spacing:1px;
  background:#ffffff78;
  border:1px solid #fff9;
  padding:8px;
  border-radius:50%;
}

.stage-controls {
  display:flex;
  gap:7px;
}

.stage-control {
  height:44px;
  width:44px;
  border:1px solid #ffffffad;
  background:#ffffff75;
  backdrop-filter:blur(6px);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#373142;
  transition:transform .16s var(--ease-out),background .2s var(--ease-out);
}

.stage-control svg {
  width:17px;
  height:17px;
}

.stage-control-primary {
  background:#201c2a;
  color:white;
  border-color:#201c2a;
}

.play-icon {
  display:none;
}

.stage-control-primary.is-paused .play-icon {
  display:block;
}

.stage-control-primary.is-paused .pause-icon {
  display:none;
}

@keyframes blink {
  50% {
    opacity:0;
  }
}

@keyframes sweep {
  from {
    left:0;
  }
  to {
    left:99%;
  }
}

.experience-caption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:22px 4px;
  color:#5f5b68;
  font-size:11px;
  letter-spacing:1.2px;
  font-weight:700;
}

.caption-arrow {
  font-size:15px;
}

.reassurance {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:148px;
  padding-bottom:162px;
}

.reassurance>p {
  font-size:clamp(37px,4.2vw,61px);
  font-weight:640;
  line-height:1.04;
  letter-spacing:-.065em;
}

.reassurance em {
  color:#6954cf;
}

.reassurance-points {
  display:flex;
  flex-direction:column;
  gap:18px;
  width:320px;
}

.reassurance-points span {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:570;
  color:#48444f;
}

.reassurance-points i {
  width:22px;
  height:22px;
  border-radius:50%;
  background:#e6e0ff;
  position:relative;
}

.reassurance-points i:after {
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#5d46c3;
  font-style:normal;
  font-size:12px;
  font-weight:800;
}

.explore {
  padding-bottom:150px;
}

.section-meta {
  border-top:1px solid #d8d5dc;
  display:flex;
  justify-content:space-between;
  padding-top:20px;
  color:#625d69;
  font-size:11px;
  letter-spacing:1.6px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
}

.explore-title-row {
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-top:36px;
  gap:36px;
}

.explore-title-row h2 {
  font-size:clamp(39px,5vw,74px);
  line-height:1;
  letter-spacing:-.075em;
  font-weight:630;
}

.explore-title-row h2 em {
  color:#6a56ce;
}

.explore-title-row>p {
  max-width:300px;
  color:var(--muted);
  line-height:1.6;
  font-size:14px;
  margin-bottom:4px;
}

.feature-tabs {
  margin-top:61px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  border-bottom:1px solid #dad8df;
}

.tab-button {
  text-align:left;
  background:transparent;
  border:0;
  border-bottom:2px solid transparent;
  padding:12px 10px 19px;
  color:#6b6873;
  font-size:14px;
  font-weight:600;
  display:flex;
  gap:14px;
  align-items:center;
  white-space:nowrap;
  transition:color .2s var(--ease-out),border-color .2s var(--ease-out);
}

.tab-button span {
  font-size:11px;
  color:#736d7c;
  font-variant-numeric:tabular-nums;
}

.tab-button[aria-selected="true"] {
  border-bottom-color:#6250c9;
  color:#17141d;
}

.tab-button[aria-selected="true"] span {
  color:#6956d2;
}

.feature-panel {
  display:grid;
  grid-template-columns:47% 53%;
  min-height:410px;
  padding-top:34px;
}

.feature-panel[hidden] {
  display:none;
}

.feature-copy {
  padding:44px 30px 28px 12px;
}

.feature-index {
  font-size:11px;
  letter-spacing:1.5px;
  font-weight:750;
  color:#6b6574;
}

.feature-copy h3 {
  margin-top:24px;
  font-size:clamp(32px,3.3vw,49px);
  line-height:1.12;
  font-weight:640;
  letter-spacing:-.067em;
}

.feature-copy h3 em {
  color:#6854ca;
}

.feature-copy p {
  max-width:430px;
  color:#5f5a66;
  font-size:15px;
  line-height:1.75;
  margin-top:18px;
}

.feature-link {
  margin-top:28px;
}

.feature-visual {
  position:relative;
  overflow:hidden;
  min-height:395px;
  border-radius:16px;
  background:#eae6f7;
  padding:40px;
  display:flex;
  justify-content:center;
  flex-direction:column;
}

.visual-search {
  background:radial-gradient(ellipse at 85% 100%,#c5c0fc,transparent 65%),linear-gradient(120deg,#ece8f2,#e0dfe9);
}

.feature-visual-label {
  position:absolute;
  left:33px;
  top:30px;
  color:#4a4559;
  font-size:12px;
  letter-spacing:.5px;
}

.visual-search-input {
  display:flex;
  align-items:center;
  gap:15px;
  background:#211e2b;
  border-radius:12px;
  padding:23px 24px;
  color:white;
  font-size:16px;
  font-weight:620;
  max-width:575px;
  box-shadow:0 22px 60px #251f4e3c;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.visual-search-input span:first-child {
  font-size:28px;
  font-weight:400;
  color:#d0c6ff;
}

.visual-input-enter {
  margin-left:auto;
  color:#8d86aa;
  font-size:24px;
}

.visual-result {
  margin-top:15px;
  margin-left:54px;
  background:white;
  border:1px solid #f2edff;
  padding:17px 18px;
  border-radius:12px;
  display:flex;
  gap:15px;
  align-items:center;
  font-size:14px;
  font-weight:630;
  box-shadow:0 17px 35px #4a44641a;
}

.visual-result span:nth-child(2) {
  display:flex;
  flex-direction:column;
  gap:5px;
  overflow-wrap:anywhere;
}

.visual-result small {
  color:#6f6a78;
  font-size:12px;
  font-weight:400;
}

.visual-file {
  display:grid;
  place-items:center;
  width:40px;
  height:43px;
  background:#fae2dd;
  color:#b2402f;
  font-size:11px;
  font-weight:800;
  border-radius:6px;
  flex:none;
}

.visual-success {
  margin-left:auto;
  color:#289c65;
}

.visual-scans {
  background:linear-gradient(120deg,#efdee3,#d5d3f2);
  align-items:center;
}

.scan-page {
  height:272px;
  width:217px;
  background:#fefdfb;
  box-shadow:14px 20px 0 #fff7,0 24px 44px #5b526a42;
  border-radius:6px;
  padding:34px 22px;
  transform:rotate(-6deg);
}

.scan-title {
  color:#7f6e7c;
  font-size:11px;
  letter-spacing:1px;
  font-weight:700;
  margin-bottom:19px;
}

.scan-line {
  height:7px;
  width:69%;
  background:#dad8da;
  border-radius:5px;
  margin-bottom:13px;
}

.scan-line.wide {
  width:100%;
}

.scan-line.medium {
  width:83%;
}

.scan-line.long {
  width:95%;
}

.scan-mark {
  background:#fff39f;
  color:#4d4544;
  font-size:11px;
  font-weight:740;
  display:inline-block;
  padding:7px 7px;
  margin-bottom:14px;
  transform:rotate(-1deg);
}

.scan-tag {
  background:#23202c;
  color:#fff;
  border-radius:100px;
  padding:15px 19px;
  position:absolute;
  bottom:33px;
  right:34px;
  font-size:12px;
  box-shadow:0 10px 34px #17121b3b;
}

.scan-tag span {
  color:#a9efb0;
  margin-left:10px;
}

.visual-folders {
  background:linear-gradient(135deg,#e4e3f5,#d8e5ef);
  align-items:center;
}

.folder-pill {
  position:absolute;
  background:#ffffffde;
  border:1px solid #fff;
  border-radius:13px;
  padding:14px 20px;
  display:flex;
  gap:11px;
  align-items:center;
  box-shadow:0 9px 22px #67657f18;
  font-size:14px;
  color:#494455;
}

.folder-pill::first-letter {
  color:#7562d8;
}

.folder-pill.one {
  left:12%;
  top:18%;
  transform:rotate(-8deg);
}

.folder-pill.two {
  right:11%;
  top:29%;
  transform:rotate(7deg);
}

.folder-pill.three {
  left:16%;
  bottom:15%;
  transform:rotate(6deg);
}

.folder-connector {
  position:absolute;
  border:2px dashed #a89ccf;
  width:240px;
  height:176px;
  border-radius:50%;
  transform:rotate(-13deg);
}

.folder-middle {
  z-index:1;
  width:123px;
  height:123px;
  border-radius:50%;
  background:#201d2a;
  color:white;
  font-size:70px;
  display:grid;
  place-items:center;
  line-height:.6;
  box-shadow:0 15px 44px #352f5a38;
}

.folder-middle small {
  font-size:11px;
  letter-spacing:1px;
  transform:translateY(-20px);
  color:#cfc8ec;
}

.visual-related {
  background:radial-gradient(ellipse at 15% 100%,#d9d1ff,transparent 60%),linear-gradient(120deg,#ece8f2,#e2e0ee);
  padding:64px 40px 34px;
}

.job-card {
  background:#fff;
  border:1px solid #f0ecfb;
  border-radius:14px;
  padding:8px 8px 6px;
  box-shadow:0 22px 50px #4a44641f;
  max-width:540px;
  width:100%;
  margin-inline:auto;
}

.job-head {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding:12px 12px 10px;
  font-size:15px;
}

.job-head strong {
  font-weight:680;
  letter-spacing:-.01em;
}

.job-head span {
  font-size:12px;
  color:#5f5a66;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.job-row {
  display:flex;
  align-items:center;
  gap:13px;
  padding:11px 12px;
  border-top:1px solid #efedf3;
  font-size:14px;
  font-weight:630;
}

.job-mark {
  flex:none;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#dcf5e8;
  color:#1d7a4d;
  font-size:12px;
  font-weight:800;
}

.job-row[data-state="possible"] .job-mark {
  background:#fdf0d5;
  color:#8a5a00;
}

.job-row[data-state="missing"] .job-mark {
  background:#fde4df;
  color:#a3392a;
}

.job-copy {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.job-copy small {
  font-size:12px;
  font-weight:400;
  color:#6f6a78;
}

.job-tag {
  margin-left:auto;
  flex:none;
  font-size:11px;
  font-weight:720;
  letter-spacing:.3px;
  color:#1d7a4d;
  background:#ecf8f1;
  border-radius:100px;
  padding:5px 10px;
}

.job-row[data-state="missing"] .job-tag {
  color:#a3392a;
  background:#fdeeeb;
}

.job-actions {
  margin-left:auto;
  flex:none;
  display:flex;
  gap:6px;
}

.job-actions span {
  font-size:11px;
  font-weight:700;
  border:1px solid #dcd7e8;
  border-radius:100px;
  padding:5px 10px;
  color:#3d3849;
}

.job-actions span:first-child {
  background:#201c2a;
  border-color:#201c2a;
  color:#fff;
}

.job-foot {
  border-top:1px solid #efedf3;
  padding:11px 12px 8px;
  font-size:12px;
  color:#5f5a66;
}

/* Coming soon: what isn't built yet, labelled as such. */
.coming {
  padding-bottom:150px;
}

.coming-grid {
  list-style:none;
  margin:56px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.coming-item {
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:22px 24px 26px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.soon-badge {
  align-self:flex-start;
  font-size:11px;
  font-weight:750;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:#5440c4;
  background:#efebff;
  border-radius:100px;
  padding:5px 10px;
  margin-bottom:6px;
}

.coming-item h3 {
  font-size:18px;
  font-weight:660;
  letter-spacing:-.025em;
  line-height:1.25;
}

.coming-item p {
  font-size:14px;
  line-height:1.6;
  color:var(--ink-2);
}

.early-access {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:19px;
  background:#1d1a27;
  color:#fff;
  min-height:440px;
  margin-bottom:85px;
}

.access-content {
  padding:64px 75px;
  position:relative;
  z-index:2;
}

.eyebrow-light {
  color:#b9afd0;
}

.access-content h2 {
  font-size:clamp(41px,4.5vw,70px);
  letter-spacing:-.074em;
  line-height:1.02;
  margin-top:28px;
}

.access-content h2 em {
  color:#b8a8ff;
}

.access-content>p:not(.eyebrow):not(.demo-consent) {
  font-size:14px;
  max-width:440px;
  line-height:1.7;
  color:#b7b2c7;
  margin-top:21px;
}

.access-button {
  background:white;
  color:#17151e;
  border:0;
  border-radius:100px;
  padding:14px 21px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:40px;
  font-weight:680;
  font-size:14px;
  transition:transform .16s var(--ease-out),background .2s var(--ease-out);
}

.access-button span {
  font-size:21px;
  line-height:1;
}

.demo-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 26px;
  margin-top:30px;
}

.demo-address {
  font-size:15px;
  font-weight:600;
  color:#ece8fa;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-decoration:underline;
  text-decoration-color:#6c6290;
  text-underline-offset:5px;
  transition:text-decoration-color .2s var(--ease-out);
}

.demo-consent {
  font-size:13px;
  line-height:1.6;
  max-width:470px;
  color:#b7b2c7;
  margin-top:20px;
}

.demo-consent a {
  padding:14px 0;
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.access-sigil {
  position:absolute;
  right:14%;
  top:60px;
  width:330px;
  height:330px;
  border:1px solid #7b6bbd69;
  border-radius:50%;
  display:grid;
  place-items:center;
  transform:rotate(-19deg);
}

.access-sigil:before, .access-sigil:after {
  content:"";
  position:absolute;
  inset:34px;
  border:1px solid #8d75ef8a;
  border-radius:50%;
}

.access-sigil:after {
  inset:-30px;
  border-color:#7665aa64;
}

.access-sigil>span:first-child {
  font-weight:800;
  letter-spacing:-33px;
  font-size:134px;
  color:#eeeaff;
  transform:translateX(-16px);
}

.access-sigil>span:first-child>span {
  color:#8f7aff;
}

.access-ambient {
  position:absolute;
  width:530px;
  height:530px;
  border-radius:50%;
  filter:blur(80px);
  opacity:.35;
  pointer-events:none;
}

.ambient-a {
  background:#7158d5;
  right:-100px;
  top:-230px;
}

.ambient-b {
  background:#473d7e;
  left:-320px;
  bottom:-400px;
}

.footer {
  padding-bottom:45px;
  display:flex;
  align-items:end;
  gap:30px;
}

.footer-brand {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:26px;
  font-weight:750;
  letter-spacing:-1.5px;
}

.footer>p {
  font-size:13px;
  color:#6b6873;
}

.footer-end a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:#c3c0c7;
}

.footer-end {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:32px;
  font-size:12px;
  color:#6b6873;
}

/* The privacy page. */
.header-cta-quiet {
  background:transparent;
  color:var(--ink);
  border-color:#cfccd4;
}

.legal {
  max-width:760px;
  padding:56px 0 120px;
}

.legal h1 {
  font-size:clamp(44px,6vw,76px);
  font-weight:680;
  letter-spacing:-.075em;
  line-height:1;
  margin-top:26px;
}

.legal h1 em {
  color:#6451cb;
}

.legal-lead {
  margin-top:24px;
  font-size:17px;
  line-height:1.65;
  color:var(--ink-2);
}

.legal section {
  border-top:1px solid #d8d5dc;
  margin-top:44px;
  padding-top:28px;
}

.legal h2 {
  font-size:24px;
  font-weight:660;
  letter-spacing:-.035em;
  line-height:1.2;
}

.legal p, .legal li {
  font-size:16px;
  line-height:1.7;
  color:var(--ink-2);
}

.legal p {
  margin-top:14px;
}

.legal ul {
  margin:14px 0 0;
  padding-left:22px;
}

.legal li + li {
  margin-top:6px;
}

.legal a {
  color:var(--purple);
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:1040px) {
  .hero h1 {
    font-size:clamp(54px,7vw,76px);
  }
  .hero-aside {
    width:280px;
  }
  .demo-window {
    width:76%;
  }
  .folder-left {
    left:4%;
  }
  .folder-right {
    right:5%;
  }
  .folder-bottom {
    right:6%;
  }
  .access-sigil {
    right:4%;
    opacity:.7;
  }
  .access-content {
    padding:65px 55px;
  }
  .coming-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .shell {
    width:min(calc(100% - 64px),var(--shell));
  }
}

@media(max-width:760px) {
  .shell {
    width:calc(100% - 36px);
  }
  .site-header {
    height:74px;
  }
  .brand {
    font-size:23px;
  }
  .desktop-nav, .header-cta {
    display:none;
  }
  .header-cta-quiet {
    display:flex;
    padding:10px 16px;
    gap:12px;
  }
  .legal {
    padding:36px 0 80px;
  }
  .mobile-menu-toggle {
    border:0;
    background:transparent;
    width:44px;
    height:44px;
    margin-right:-8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
  }
  .mobile-menu-toggle span {
    height:2px;
    width:23px;
    background:#16151b;
  }
  .mobile-menu {
    display:flex;
    position:absolute;
    top:74px;
    left:0;
    right:0;
    background:#f8f8f5;
    box-shadow:0 20px 30px #0001;
    padding:10px 20px 25px;
    flex-direction:column;
    gap:0;
  }
  .mobile-menu[hidden] {
    display:none;
  }
  .mobile-menu>a, .mobile-menu>button {
    font-size:15px;
    text-align:left;
    padding:14px 2px;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    color:#231d2b;
  }
  .hero {
    padding-top:44px;
  }
  .hero-head {
    display:block;
    padding-bottom:29px;
  }
  .hero h1 {
    font-size:clamp(46px,10.8vw,74px);
    line-height:1.01;
    letter-spacing:-.079em;
    margin-top:22px;
  }
  .hero-aside {
    width:auto;
    margin-top:25px;
    display:flex;
    gap:16px;
    align-items:end;
    justify-content:space-between;
  }
  .hero-aside>p {
    max-width:345px;
    font-size:14px;
  }
  .text-link {
    white-space:nowrap;
    margin-top:0;
    gap:12px;
  }
  .experience {
    border-radius:13px;
    min-height:540px;
  }
  .stage-scene {
    min-height:540px;
  }
  .stage-topline, .stage-bottomline {
    left:17px;
    right:17px;
  }
  .stage-topline {
    top:20px;
  }
  .stage-bottomline {
    bottom:18px;
  }
  .demo-window {
    width:90%;
    height:372px;
    transform:translateY(4px);
  }
  .window-body {
    padding:26px 18px;
  }
  .window-header {
    padding:0 18px;
  }
  .typed-query {
    font-size:14px;
  }
  .search-field {
    padding:0 13px;
    height:57px;
  }
  .window-footer {
    padding:0 17px;
  }
  .stage-scene[data-phase="related"] .demo-window {
    transform:scale(1.005);
  }
  .floating-folder {
    font-size:11px;
    padding:6px;
    opacity:.8;
  }
  .folder-left {
    left:-30px;
    top:140px;
  }
  .folder-right {
    right:-30px;
    top:170px;
  }
  .folder-bottom {
    right:14px;
    bottom:43px;
  }
  .orbit-one {
    width:590px;
  }
  .orbit-two {
    width:700px;
  }
  .experience-caption {
    font-size:11px;
    letter-spacing:1px;
  }
  .reassurance {
    display:block;
    padding:90px 7px;
  }
  .reassurance>p {
    font-size:44px;
  }
  .reassurance-points {
    margin-top:40px;
    width:auto;
  }
  .explore {
    padding-bottom:100px;
  }
  .explore-title-row {
    display:block;
  }
  .explore-title-row h2 {
    font-size:49px;
  }
  .explore-title-row p {
    margin-top:20px;
  }
  .feature-tabs {
    overflow-x:auto;
    display:flex;
    scrollbar-width:none;
    margin-top:35px;
    gap:18px;
  }
  .tab-button {
    flex:none;
    padding:12px 6px 16px;
  }
  .feature-panel {
    display:block;
  }
  .feature-copy {
    padding:36px 8px;
  }
  .feature-copy h3 {
    font-size:38px;
  }
  .feature-visual {
    min-height:340px;
    padding:25px;
  }
  .visual-search-input {
    font-size:13px;
    padding:17px 15px;
  }
  .visual-result {
    margin-left:12px;
    font-size:12px;
  }
  .visual-related {
    padding:58px 14px 18px;
  }
  .job-row {
    gap:10px;
    padding:10px 8px;
    font-size:13px;
  }
  .job-head {
    padding:10px 8px 8px;
    font-size:14px;
  }
  .job-foot {
    padding:10px 8px 6px;
  }
  .coming {
    padding-bottom:100px;
  }
  .coming-grid {
    margin-top:36px;
  }
  .early-access {
    min-height:430px;
    margin-bottom:55px;
  }
  .access-content {
    padding:46px 28px;
  }
  .access-content h2 {
    font-size:47px;
  }
  .access-sigil {
    right:-130px;
    top:60px;
    opacity:.2;
  }
  .footer {
    flex-wrap:wrap;
    align-items:start;
    gap:14px;
    padding-bottom:30px;
  }
  .footer-brand {
    width:100%;
  }
  .footer-end {
    margin-left:0;
    width:100%;
    justify-content:space-between;
  }
  .related-row {
    padding:0 10px;
    gap:9px;
  }
  .footer-end {
    flex-wrap:wrap;
    gap:4px 24px;
  }
}

@media(max-width:480px) {
  .coming-grid {
    grid-template-columns:1fr;
  }
  .hero-aside {
    display:block;
  }
  .hero-aside>p {
    max-width:100%;
  }
  .text-link {
    margin-top:17px;
  }
  .experience {
    min-height:530px;
  }
  .stage-scene {
    min-height:530px;
  }
  .demo-window {
    width:94%;
    height:368px;
  }
  .related-heading>span:first-child {
    display:none;
  }
  .related-heading {
    justify-content:flex-end;
  }
  .window-prompt {
    font-size:11px;
  }
  .window-body {
    padding:24px 13px;
  }
  .result-copy strong {
    font-size:12px;
  }
  .result-copy small {
    font-size:11px;
  }
  .stage-label, .stage-time {
    font-size:11px;
    letter-spacing:1px;
  }
  .stage-story {
    font-size:11px;
    gap:6px;
  }
  .related-tag {
    display:none;
  }
  .experience-caption {
    display:block;
  }
  .experience-caption span:last-child {
    display:none;
  }
  .feature-copy h3 {
    font-size:34px;
  }
  .feature-panel {
    padding-top:8px;
  }
  .visual-result {
    margin-left:0;
  }
  .visual-result small {
    font-size:11px;
  }
  .visual-search-input {
    font-size:11px;
    gap:9px;
  }
  .scan-tag {
    font-size:11px;
    right:8px;
  }
  .job-copy small {
    font-size:11px;
  }
  .job-tag, .job-actions span {
    padding:4px 8px;
  }
  .job-actions span:last-child {
    display:none;
  }
  .access-content h2 {
    font-size:40px;
  }
}

@media(hover:hover) and (pointer:fine) {
  .desktop-nav a:hover, .tab-button:hover {
    color:var(--purple);
  }
  .tab-button[aria-selected="true"]:hover {
    color:#17141d;
  }
  .header-cta:hover {
    background:#302d3e;
  }
  .header-cta-quiet:hover {
    background:#efedf3;
  }
  .access-button:hover {
    background:#ede9ff;
  }
  .text-link:hover, .feature-link:hover {
    border-color:var(--ink);
  }
  .text-link:hover span, .feature-link:hover span {
    transform:translate(3px,2px);
  }
  .stage-control:hover {
    background:white;
  }
  .stage-control-primary:hover {
    background:#3a314a;
  }
  .demo-address:hover {
    text-decoration-color:#ece8fa;
  }
  .footer-end a:hover {
    color:var(--ink);
    text-decoration-color:currentColor;
  }
}

.header-cta:active, .access-button:active, .stage-control:active {
  transform:scale(.97);
}

@media(prefers-reduced-motion:reduce) {
  *, *:before, *:after {
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    transition-duration:.001ms!important;
  }
  .sweep {
    display:none;
  }
  .header-cta:active, .access-button:active, .stage-control:active {
    transform:none;
  }
}
