/* Eigenwave — home page styles */
#navLinks {
  display:flex;
  gap:34px;
}

#secNav {
  position:fixed;
  left:clamp(14px,1.6vw,28px);
  top:50%;
  transform:translateY(-50%);
  z-index:40;
  display:flex;
  flex-direction:column;
  gap:3px;
  transition:opacity .3s;
}

/* 1250–1569px: no room for labels beside the 1200px content column, so the
   rail collapses to its marks (confined to the 32px gutter: left 10px + 22px
   wide) and expands into a floating panel on hover/focus.
   ≥1570px: full labels, as designed. <1250px: hidden (hamburger covers nav). */
@media (max-width:1569px) {
  #secNav {
    left:10px;
    gap:2px;
    padding:6px 4px;
    border:1px solid transparent;
    border-radius:14px;
    background:transparent;
    transition:padding .28s cubic-bezier(.2,.7,.2,1),gap .28s cubic-bezier(.2,.7,.2,1),background .28s,border-color .28s,box-shadow .28s;
  }

  #secNav [data-sn] {
    padding:5px 4px;
    border-radius:8px;
    transition:color .25s,background .25s,padding .28s cubic-bezier(.2,.7,.2,1);
  }

  #secNav [data-sn-label] {
    max-width:0;
    overflow:hidden;
    opacity:0 !important;
    transform:translateX(-5px);
    transition:max-width .3s cubic-bezier(.2,.7,.2,1),opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1);
  }

  #secNav:hover,
  #secNav:focus-within {
    gap:4px;
    padding:14px 20px 14px 12px;
    background:color-mix(in srgb,var(--surface) 94%,transparent);
    backdrop-filter:blur(8px);
    border-color:var(--line);
    box-shadow:0 10px 34px color-mix(in srgb,var(--ink) 10%,transparent);
  }

  #secNav:hover [data-sn],
  #secNav:focus-within [data-sn] {
    padding:7px 10px 7px 6px;
  }

  #secNav:hover [data-sn]:hover,
  #secNav:focus-within [data-sn]:focus-visible {
    background:color-mix(in srgb,var(--brand) 7%,transparent);
  }

  #secNav:hover [data-sn-label],
  #secNav:focus-within [data-sn-label] {
    max-width:220px;
    opacity:.82 !important;
    transform:none;
  }

  /* over the dark CTA band the marks/labels are painted light, so the panel
     itself has to invert or white-on-white blends away */
  #secNav.is-dark:hover,
  #secNav.is-dark:focus-within {
    background:color-mix(in srgb,var(--navy) 92%,transparent);
    border-color:color-mix(in srgb,#fff 16%,transparent);
    box-shadow:0 10px 34px color-mix(in srgb,#000 34%,transparent);
  }

  #secNav.is-dark:hover [data-sn]:hover,
  #secNav.is-dark:focus-within [data-sn]:focus-visible {
    background:color-mix(in srgb,#fff 10%,transparent);
  }
}

@media (max-width:1249px) {
  #secNav {
    display:none !important;
  }
}

#hero {
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
}

#weaveWrap {
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

#weave {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.pill-mono-3 {
  position:absolute;
  right:14px;
  top:38%;
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-family:var(--mono);
  font-size:12.5px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 13px 5px 10px;
  transition:border-color .2s,box-shadow .2s;
}

.pill-mono-4 {
  position:absolute;
  right:14px;
  top:46%;
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-family:var(--mono);
  font-size:12.5px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 13px 5px 10px;
  transition:border-color .2s,box-shadow .2s;
}

.pill-mono-5 {
  position:absolute;
  right:14px;
  top:54%;
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-family:var(--mono);
  font-size:12.5px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 13px 5px 10px;
  transition:border-color .2s,box-shadow .2s;
}

.pill-mono-6 {
  position:absolute;
  right:14px;
  top:62%;
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-family:var(--mono);
  font-size:12.5px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 13px 5px 10px;
  transition:border-color .2s,box-shadow .2s;
}

.container-1200-2 {
  position:relative;
  z-index:1;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:120px 32px 60px;
}

#heroCopy {
  width:fit-content;
}

.kicker-5 {
  margin:0 0 36px;
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:.08em;
  color:var(--muted);
  opacity:0;
  animation:rise .9s cubic-bezier(.2,.7,.2,1) .05s both;
}

.heading-hero-2 {
  margin:0;
  font-family:var(--disp);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.06;
  font-size:clamp(40px,5.8vw,82px);
  max-width:16ch;
  opacity:0;
  animation:rise .9s cubic-bezier(.2,.7,.2,1) .18s both;
}

.text-ultra-6 {
  font-style:normal;
  color:var(--ultra);
  padding-bottom:12px;
  background-image:linear-gradient(var(--ultra),var(--ultra)),linear-gradient(var(--ultra),var(--ultra));
  background-repeat:no-repeat;
  background-size:100% 3px,100% 3px;
  background-position:left 0 bottom 0,left 0 bottom 8px;
}

/* hero "how it works" link — sits on top of the weave canvas, so it needs its
   own surface to stay legible; the arrow drifts down as a scroll cue and the
   pill fills with brand color on hover */
.mono-14-ink-3 {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:52px;
  padding:11px 20px;
  font-family:var(--mono);
  font-size:14px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 6%,transparent);
  text-decoration:none;
  overflow:hidden;
  transition:color .25s,border-color .25s,box-shadow .25s,transform .25s cubic-bezier(.2,.7,.2,1);
  opacity:0;
  animation:rise .9s cubic-bezier(.2,.7,.2,1) .36s both;
}

/* brand wash that sweeps in from the left on hover */
.mono-14-ink-3::before {
  content:"";
  position:absolute;
  inset:0;
  background:var(--brand);
  transform:translateX(-101%);
  transition:transform .42s cubic-bezier(.2,.7,.2,1);
  z-index:0;
}

.mono-14-ink-3 > * {
  position:relative;
  z-index:1;
}

/* the arrow keeps nudging downward, hinting the page continues */
.mono-14-ink-3 .hiw-arrow {
  display:inline-block;
  animation:hiw-nudge 2.4s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes hiw-nudge {
  0%,72%,100% { transform:translateY(0); opacity:.75; }
  84% { transform:translateY(4px); opacity:1; }
}

.mono-14-ink-3:hover {
  color:var(--on-brand);
  border-color:var(--brand);
  transform:translateY(-1px);
  box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 26%,transparent);
}

.mono-14-ink-3:hover::before {
  transform:translateX(0);
}

.mono-14-ink-3:hover .hiw-arrow {
  animation-duration:1.1s;
}

@media (prefers-reduced-motion:reduce){
  .mono-14-ink-3 .hiw-arrow { animation:none; }
  .mono-14-ink-3::before { transition:none; }
}

.el-16 {
  max-width:720px;
  margin-bottom:56px;
}

.card-14-2 {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
  padding:18px 14px 6px;
  overflow:hidden;
}

.mono-13-muted-4 {
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 26px;
  font-family:var(--mono);
  font-size:13px;
  color:var(--muted);
}

.section-pad-4 {
  padding:clamp(88px,9vw,120px) 0;
}

.el-17 {
  max-width:760px;
  margin-bottom:48px;
}

.heading-section-5 {
  margin:0;
  font-family:var(--disp);
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1.14;
  font-size:clamp(30px,3.6vw,46px);
}

.mono-15-muted {
  margin:22px 0 0;
  font-family:var(--mono);
  font-size:14.5px;
  color:var(--muted);
}

.card-14-3 {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  padding:18px 14px 4px;
  overflow:hidden;
}

.solRun-anim {
  animation:solRun 3s ease-in-out infinite;
}

.mono-12-muted-5 {
  margin:6px 0 12px;
  text-align:center;
  font-family:var(--mono);
  font-size:12px;
  color:var(--muted);
}

#learnGrid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:56px;
  align-items:start;
}

.card-14-4 {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
  padding:28px;
}

.row-8 {
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}

.el-18 {
  position:relative;
  height:46px;
}

#loreBar {
  border:1px solid color-mix(in srgb,var(--ultra) 45%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--ultra) 9%,transparent),color-mix(in srgb,var(--ultra) 3%,transparent));
  border-radius:12px;
  padding:18px 24px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  transition:box-shadow .3s;
}

.mono-17-ink {
  font-family:var(--mono);
  font-weight:500;
  font-size:17px;
  letter-spacing:.4em;
  padding-left:.4em;
  color:var(--ink);
}

.kicker-6 {
  margin:0 0 16px;
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.12em;
  color:var(--muted);
  text-transform:uppercase;
}

.fs-16 {
  list-style:none;
  margin:0;
  padding:0;
  font-size:16px;
}

.row-12-2 {
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 0;
  color:var(--muted);
  transition:color .4s;
}

.mt-28 {
  margin-top:28px;
}

.el-19 {
  width:100%;
  height:auto;
  display:block;
}

.mono-12-muted-6 {
  margin:10px 0 0;
  font-family:var(--mono);
  font-size:12px;
  color:var(--muted);
}

.el-20 {
  max-width:720px;
  margin-bottom:48px;
}

#conFrame {
  border:1px solid var(--line2);
  border-radius:16px;
  background:var(--surface);
  overflow:hidden;
  box-shadow:0 30px 80px -40px rgba(14,17,32,.22);
}

.mono-12-ink {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 20px;
  border-bottom:1px solid var(--line);
  background:var(--bg3);
  font-family:var(--mono);
  font-size:11.5px;
}

.row-18 {
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}

#conStatus {
  color:var(--faint);
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

.dot-good-6 {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--good);
}

#conVisit {
  color:var(--ultra);
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s;
}

#conBody {
  display:grid;
  grid-template-columns:218px 1fr;
  min-height:430px;
}

#conTabs {
  border-right:1px solid var(--line);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.grid-auto {
  display:grid;
  padding:22px 24px;
}

.el-21 {
  grid-area:1/1;
  opacity:1;
  visibility:visible;
  transition:opacity .35s;
}

.fs-14 {
  max-width:640px;
  font-size:13.5px;
  line-height:1.55;
}

.row-10-6 {
  display:flex;
  gap:10px;
}

.text-faint-fs-11 {
  color:var(--faint);
  font-size:11px;
}

.text-ultra-7 {
  background:color-mix(in srgb,var(--ultra) 10%,transparent);
  color:var(--ultra);
  border-radius:3px;
  padding:0 3px;
}

#alfCaret {
  display:inline-block;
  width:7px;
  height:14px;
  background:var(--ultra);
  vertical-align:-2px;
  margin-left:2px;
  animation:blinkc 1s steps(1) infinite;
}

.row-10-7 {
  display:flex;
  gap:10px;
  margin-top:14px;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .35s,transform .35s;
}

.card-3-2 {
  font-size:9.5px;
  font-weight:600;
  color:var(--faint);
  background:var(--bg3);
  border:1px solid var(--line);
  border-radius:3px;
  padding:0 4px;
  vertical-align:1px;
}

.row-6-2 {
  display:flex;
  gap:6px;
  margin-top:8px;
  flex-wrap:wrap;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .35s,transform .35s;
}

.chip-3 {
  white-space:nowrap;
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--ultra);
  border:1px solid color-mix(in srgb,var(--ultra) 40%,transparent);
  background:color-mix(in srgb,var(--ultra) 6%,transparent);
  border-radius:4px;
  padding:1px 7px;
}

.chip-4 {
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--ultra);
  border:1px solid color-mix(in srgb,var(--ultra) 40%,transparent);
  background:color-mix(in srgb,var(--ultra) 6%,transparent);
  border-radius:4px;
  padding:1px 7px;
}

.mono-11-faint-2 {
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--faint);
  margin-top:8px;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .35s,transform .35s;
}

.text-good-2 {
  color:var(--good);
  font-weight:500;
}

#lucGrid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
  align-items:center;
}

.el-22 {
  width:100%;
  height:auto;
}

.el-23 {
  fill:color-mix(in srgb,var(--ultra) 13%,transparent);
  stroke:var(--ultra);
}

.stack-10 {
  display:flex;
  flex-direction:column;
  gap:10px;
}

.mono-md-ink {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
  font-family:var(--mono);
}

#wtCanvas {
  width:100%;
  height:150px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg);
}

#wtAlert {
  margin-top:14px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);
  background:color-mix(in srgb,var(--warn) 9%,transparent);
  border-radius:10px;
  padding:12px 14px;
  font-family:var(--mono);
  font-size:11.5px;
  line-height:1.6;
  color:var(--muted);
  opacity:0;
  transform:translateY(8px);
  transition:opacity .4s,transform .4s;
}

.card-12 {
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg3);
  overflow:hidden;
  max-width:560px;
}

.mono-11-faint-3 {
  padding:12px 18px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--faint);
}

.pad-8 {
  padding:8px 0;
}

.row-12-3 {
  display:flex;
  gap:12px;
  padding:10px 18px;
  font-size:13.5px;
  line-height:1.6;
  color:var(--muted);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .4s,transform .4s;
}

.row-12-4 {
  display:flex;
  gap:12px;
  padding:10px 18px;
  font-size:13.5px;
  line-height:1.6;
  color:var(--muted);
  border-top:1px solid var(--line);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .4s,transform .4s;
}

.mono-11-faint-4 {
  padding:11px 18px;
  border-top:1px solid var(--line);
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--faint);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .4s,transform .4s;
}

.mono-12-faint {
  margin:22px 0 0;
  text-align:center;
  font-family:var(--mono);
  font-size:11.5px;
  color:var(--faint);
}

.card-14-5 {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
  padding:18px 14px 4px;
  overflow:hidden;
}

#cta {
  background:var(--navy);
  color:#fff;
  padding:110px 0;
  text-align:center;
}

.heading-section-6 {
  margin:0;
  font-family:var(--disp);
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1.1;
  font-size:clamp(34px,4.4vw,56px);
}

.el-24 {
  font-style:normal;
  color:var(--brand-soft);
}

.mono-14-ink-4 {
  margin:22px 0 40px;
  font-family:var(--mono);
  font-size:13.5px;
  color:rgba(255,255,255,.55);
}

.pad-56 {
  padding:56px 0;
}

.row-between-4 {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}

.mono-12-muted-7 {
  margin:8px 0 0;
  font-family:var(--mono);
  font-size:12px;
  color:var(--muted);
}

.row-28 {
  display:flex;
  gap:28px;
  flex-wrap:wrap;
}

.mono-12-muted-8 {
  margin-top:40px;
  padding-top:24px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  font-family:var(--mono);
  font-size:11.5px;
  color:var(--muted);
}
