html { overflow-x: clip; }
body { margin:0; background:#050505; color:#fff; font-family:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif; font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased; }
* { box-sizing:border-box; }
a { color:#fff; text-decoration:none; }
h1,h2,h3,h4,p,ul { margin:0; }
ul { list-style:none; padding:0; }
::selection { background:#9BFF2D; color:#050505; }
@keyframes nhTex { from { background-position:0 0,0 0,0% 0%,0% 0%,0 0; } to { background-position:0 0,0 0,11% 13%,-9% -11%,0 0; } }
@keyframes nhSpin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes nhBob { 0%,100% { transform:translateY(-2px); } 50% { transform:translateY(3px); } }
@keyframes nhDrift { 0% { transform:translateY(0) translateX(0); opacity:0; } 10% { opacity:.7; } 90% { opacity:.4; } 100% { transform:translateY(-100vh) translateX(20px); opacity:0; } }
@keyframes nhPulse { 0%,100% { opacity:1; } 50% { opacity:.25; } }


/* =========================================================
   Page styles (lifted out of inline style= attributes)
   ========================================================= */

/* --- keyed by id --- */

#nhCursor {
  position:fixed;
  top:0;
  left:0;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#9BFF2D;
  mix-blend-mode:difference;
  pointer-events:none;
  z-index:1000;
  transform:translate(-50%,-50%);
  opacity:0;
  transition:opacity .3s, width .3s cubic-bezier(.16,.8,.24,1), height .3s cubic-bezier(.16,.8,.24,1);
}

#nhProgress {
  position:fixed;
  top:0;
  left:0;
  height:2px;
  width:0%;
  background:#9BFF2D;
  z-index:300;
  box-shadow:0 0 14px rgba(155,255,45,.5);
}

#nhIndex {
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:300;
  font-family:'Space Grotesk',monospace;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#A5A5A5;
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:none;
}

#nhHeader {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  padding:24px 0;
  border-bottom:1px solid transparent;
  transition:padding .4s cubic-bezier(.16,.8,.24,1), background .4s, border-color .4s;
}

#top {
  position:relative;
  min-height:100vh;
  overflow:hidden;
}

#nhHeroBg {
  position:absolute;
  inset:-10% -10% -10% -10%;
  z-index:0;
  background:radial-gradient(circle at 28% 22%, rgba(255,255,255,.1), transparent 55%), radial-gradient(circle at 82% 85%, rgba(155,255,45,.07), transparent 50%), repeating-linear-gradient(115deg, rgba(255,255,255,.045) 0 1px, transparent 1px 58px), repeating-linear-gradient(25deg, rgba(255,255,255,.028) 0 1px, transparent 1px 58px), linear-gradient(160deg,#1a1a1a,#090909);
  background-size:auto,auto,220% 220%,220% 220%,auto;
  animation:nhTex 22s ease-in-out infinite alternate;
  will-change:transform;
}

#nhHeroVideo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}

#nhHeroInner {
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:max(150px,26vh) 40px max(120px,20vh);
  will-change:transform, opacity;
}

#nhHeroTitle {
  font-family:'Big Shoulders Display','Inter Tight',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  font-size:min(clamp(56px,12vw,170px), 21vh);
  line-height:.88;
  letter-spacing:-0.01em;
  margin-bottom:28px;
  text-wrap:balance;
  max-width:1300px;
}

#nhScrollBadge {
  position:absolute;
  bottom:34px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  width:88px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#A5A5A5;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
}

#nhMarquee {
  display:flex;
  width:max-content;
  will-change:transform;
}

#why {
  position:relative;
  height:280vh;
}

#nhWhyPin {
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
  display:flex;
  align-items:center;
}

#nhWhyBg {
  position:absolute;
  inset:-8%;
  z-index:0;
  opacity:.5;
  background:radial-gradient(circle at 70% 30%, rgba(255,255,255,.09), transparent 55%), repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 1px, transparent 1px 58px), linear-gradient(160deg,#151515,#080808);
  will-change:transform;
}

#nhWhyNum {
  font-family:'Space Grotesk',monospace;
  font-size:clamp(40px,4vw,64px);
  line-height:1;
  color:#fff;
  letter-spacing:-0.02em;
}

#nhWhyLines {
  display:flex;
  flex-direction:column;
}

#pillars {
  position:relative;
  height:420vh;
  border-top:1px solid #2B2B2B;
}

#nhPillScroll {
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  flex:0 0 auto;
  padding-left:max(40px, calc((100vw - 1440px) / 2 + 40px));
}

#nhPillTrack {
  display:flex;
  gap:24px;
  width:max-content;
  padding-right:40px;
}

#nhPillBar {
  height:100%;
  width:20%;
  background:#9BFF2D;
}

#nhPillCount {
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  color:#A5A5A5;
}

#products {
  padding:170px 0;
  border-top:1px solid #2B2B2B;
}

#research {
  padding:170px 0;
  background:#0b0b0b;
  border-top:1px solid #2B2B2B;
  border-bottom:1px solid #2B2B2B;
}

#who {
  padding:170px 0;
  overflow:hidden;
}

#nhWhoA {
  display:flex;
  gap:14px;
  width:max-content;
  will-change:transform;
}

#nhWhoB {
  display:flex;
  gap:14px;
  width:max-content;
  will-change:transform;
}

#contact {
  position:relative;
  height:130vh;
  border-top:1px solid #2B2B2B;
}

#nhCtaBg {
  position:absolute;
  inset:-10%;
  z-index:0;
  background:radial-gradient(ellipse 60% 60% at 50% 50%, rgba(155,255,45,.1), transparent 65%), radial-gradient(circle at 20% 80%, rgba(255,255,255,.06), transparent 55%), linear-gradient(160deg,#141414,#070707);
  will-change:transform;
}

#nhCtaInner {
  position:relative;
  z-index:2;
  text-align:center;
  padding:0 40px;
  will-change:transform;
}


/* --- shared blocks (deduped) --- */

.u1 {
  position:fixed;
  inset:0;
  z-index:998;
  pointer-events:none;
  opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.u2 {
  width:26px;
  height:1px;
  background:#2B2B2B;
  display:block;
}

.u3 {
  max-width:1440px;
  margin:0 auto;
  padding:0 40px;
}

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

.u5 {
  display:flex;
  align-items:center;
}

.u6 {
  height:34px;
  width:auto;
  max-width:none;
  display:block;
  flex-shrink:0;
}

.u7 {
  display:flex;
  align-items:center;
  gap:34px;
}

.u8 {
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#A5A5A5;
  transition:color .25s;
}

.u9 {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 22px;
  border-radius:100px;
  font-weight:600;
  font-size:13px;
  background:rgba(255,255,255,.03);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(6px);
  white-space:nowrap;
  transition:border-color .35s, background .35s;
}

.u10 {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(5,5,5,.62) 0%, rgba(5,5,5,.45) 35%, rgba(5,5,5,.82) 80%, #050505 100%);
}

.u11 {
  font-family:'Space Grotesk',monospace;
  color:#A5A5A5;
  font-size:13px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  display:flex;
  gap:24px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:26px;
}

.u12 {
  color:#D6D6D6;
  font-size:19px;
  max-width:560px;
  margin:0 auto 42px;
}

.u13 {
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}

.u14 {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:17px 32px;
  border-radius:100px;
  font-weight:600;
  font-size:15px;
  background:#9BFF2D;
  color:#050505;
  border:1px solid transparent;
  white-space:nowrap;
  transition:background .35s, box-shadow .35s;
}

.u15 {
  width:16px;
  height:16px;
}

.u16 {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:17px 32px;
  border-radius:100px;
  font-weight:600;
  font-size:15px;
  background:rgba(255,255,255,.03);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  white-space:nowrap;
  transition:border-color .35s, background .35s;
}

.u17 {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  animation:nhSpin 16s linear infinite;
}

.u18 {
  fill:currentColor;
  font-family:'Space Grotesk',monospace;
}

.u19 {
  width:15px;
  height:15px;
  position:relative;
  z-index:1;
  animation:nhBob 2.2s ease-in-out infinite;
}

.u20 {
  position:relative;
  z-index:2;
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  background:#050505;
  overflow:hidden;
  padding:18px 0;
}

.u21 {
  display:flex;
  align-items:center;
  gap:56px;
  padding-right:56px;
  font-family:'Space Grotesk',monospace;
  font-size:13px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A5A5A5;
  white-space:nowrap;
}

.u22 {
  color:#9BFF2D;
}

.u23 {
  position:relative;
  z-index:2;
  max-width:1440px;
  margin:0 auto;
  padding:0 40px;
  width:100%;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
  gap:64px;
  align-items:center;
}

.u24 {
  font-family:'Space Grotesk',monospace;
  color:#9BFF2D;
  font-weight:600;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  display:block;
  margin-bottom:22px;
}

.u25 {
  font-family:'Big Shoulders Display','Inter Tight',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-0.01em;
  line-height:.9;
  font-size:clamp(44px,7vw,104px);
}

.u26 {
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-top:34px;
  font-family:'Space Grotesk',monospace;
  color:#A5A5A5;
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.u27 {
  display:flex;
  gap:22px;
  padding:22px 0;
  border-top:1px solid #2B2B2B;
  font-size:clamp(19px,2vw,26px);
  color:#3d3d3d;
  transition:color .5s, transform .6s cubic-bezier(.16,.8,.24,1);
  transform:translateX(0);
}

.u28 {
  font-family:'Space Grotesk',monospace;
  color:#2f2f2f;
  font-size:13px;
  font-weight:600;
  padding-top:9px;
  flex:0 0 26px;
  transition:color .5s;
}

.u29 {
  font-weight:600;
}

.u30 {
  display:flex;
  gap:22px;
  padding:22px 0;
  border-top:1px solid #2B2B2B;
  font-size:clamp(19px,2vw,26px);
  color:#3d3d3d;
  transition:color .5s, transform .6s cubic-bezier(.16,.8,.24,1);
}

.u31 {
  display:flex;
  gap:22px;
  padding:22px 0;
  border-top:1px solid #2B2B2B;
  border-bottom:1px solid #2B2B2B;
  font-size:clamp(19px,2vw,26px);
  color:#3d3d3d;
  transition:color .5s, transform .6s cubic-bezier(.16,.8,.24,1);
}

.u32 {
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.u33 {
  max-width:1440px;
  margin:0 auto;
  padding:0 40px;
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
  margin-bottom:min(48px,5vh);
}

.u34 {
  font-family:'Space Grotesk',monospace;
  color:#9BFF2D;
  font-weight:600;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  display:block;
  margin-bottom:18px;
}

.u35 {
  font-family:'Big Shoulders Display','Inter Tight',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  line-height:.9;
  font-size:clamp(40px,6vw,88px);
}

.u36 {
  color:#A5A5A5;
  font-size:16px;
  white-space:nowrap;
}

.u37 {
  position:relative;
  overflow:hidden;
  width:min(76vw,420px);
  background:#111;
  border:1px solid #2B2B2B;
  border-radius:24px;
  padding:min(40px,4vh) 34px;
  display:flex;
  flex-direction:column;
  min-height:min(400px, 56vh);
  transition:border-color .4s, background .4s;
}

.u38 {
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0;
  transform:scale(1.06);
  transition:opacity .6s cubic-bezier(.16,.8,.24,1), transform 1.2s cubic-bezier(.16,.8,.24,1);
}

.u39 {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.u40 {
  position:absolute;
  inset:0;
  pointer-events:none;
  transition:opacity .4s;
  background:linear-gradient(180deg, rgba(5,5,5,.72), rgba(5,5,5,.92));
}

.u41 {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  flex:1;
}

.u42 {
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  font-weight:600;
  color:#9BFF2D;
  letter-spacing:.16em;
}

.u43 {
  font-family:'Big Shoulders Display','Inter Tight',sans-serif;
  text-transform:uppercase;
  font-weight:800;
  font-size:clamp(38px,5vw,64px);
  line-height:.95;
  margin:auto 0 16px;
}

.u44 {
  color:#A5A5A5;
  font-size:16px;
  margin-bottom:24px;
}

.u46 {
  width:13px;
  height:13px;
}

.u47 {
  max-width:1440px;
  margin:min(40px,4vh) auto 0;
  padding:0 40px;
  width:100%;
  display:flex;
  align-items:center;
  gap:16px;
}

.u48 {
  height:2px;
  background:#2B2B2B;
  flex:1;
  overflow:hidden;
}

.u49 {
  margin-bottom:56px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}

.u50 {
  font-family:'Big Shoulders Display','Inter Tight',sans-serif;
  text-transform:uppercase;
  font-weight:800;
  line-height:.9;
  font-size:clamp(40px,6vw,88px);
}

.u51 {
  color:#A5A5A5;
  font-size:16px;
  max-width:400px;
}

.u52 {
  border-bottom:1px solid #2B2B2B;
}

.u53 {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,440px);
  gap:56px;
  align-items:end;
  padding:44px 0 0;
  border-top:1px solid #2B2B2B;
  color:#fff;
  transition:background .3s, border-color .3s;
}

.u54 {
  min-width:0;
  padding-bottom:44px;
}

.u55 {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.u56 {
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  color:#9BFF2D;
}

.u57 {
  font-family:'Space Grotesk',monospace;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#A5A5A5;
  border:1px solid #2B2B2B;
  padding:5px 11px;
  border-radius:100px;
}

.u58 {
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:'Space Grotesk',monospace;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#A5A5A5;
}

.u59 {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#9BFF2D;
}

.u60 {
  font-family:'Big Shoulders Display','Inter Tight',sans-serif;
  text-transform:uppercase;
  font-weight:800;
  font-size:clamp(34px,4vw,58px);
  line-height:.95;
  margin-bottom:12px;
}

.u61 {
  color:#A5A5A5;
  font-size:15.5px;
  margin:0 0 18px;
  max-width:620px;
}

.u62 {
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  letter-spacing:.1em;
  font-weight:600;
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:3px;
}

.u63 {
  position:relative;
  height:0;
  padding-top:66%;
  overflow:hidden;
}

.u64 {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:28px;
}

.u65 {
  border:1px solid #2B2B2B;
  border-radius:22px;
  overflow:hidden;
  background:#111;
  display:flex;
  flex-direction:column;
  transition:border-color .3s;
}

.u66 {
  position:relative;
  height:0;
  padding-top:56.25%;
  border-bottom:1px solid #2B2B2B;
}

.u67 {
  padding:32px 34px 34px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.u68 {
  font-family:'Space Grotesk',monospace;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#050505;
  background:#9BFF2D;
  padding:6px 12px;
  border-radius:100px;
  align-self:flex-start;
  margin-bottom:20px;
}

.u69 {
  font-family:'Inter Tight',sans-serif;
  font-weight:800;
  letter-spacing:-0.02em;
  font-size:27px;
  line-height:1.1;
  margin-bottom:12px;
}

.u70 {
  color:#A5A5A5;
  font-size:15.5px;
  margin-bottom:26px;
  flex:1;
}

.u71 {
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  letter-spacing:.1em;
  font-weight:600;
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:8px;
  align-self:flex-start;
  border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:3px;
}

.u72 {
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  letter-spacing:.1em;
  font-weight:600;
  color:#A5A5A5;
  align-self:flex-start;
  text-transform:uppercase;
}

.u73 {
  max-width:1440px;
  margin:0 auto 60px;
  padding:0 40px;
}

.u74 {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}

.u75 {
  display:flex;
  flex-direction:column;
  gap:16px;
}

.u76 {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.u77 {
  border:1px solid #2B2B2B;
  border-radius:100px;
  padding:20px 32px;
  display:flex;
  align-items:center;
  gap:12px;
  white-space:nowrap;
  background:#111;
  font-size:15px;
  font-weight:500;
}

.u78 {
  width:18px;
  height:18px;
  color:#9BFF2D;
}

.u79 {
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.u80 {
  font-family:'Big Shoulders Display','Inter Tight',sans-serif;
  text-transform:uppercase;
  font-weight:800;
  line-height:.86;
  font-size:clamp(48px,11vw,180px);
  margin:0 auto 44px;
  max-width:1100px;
}

.u81 {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:18px 34px;
  border-radius:100px;
  font-weight:600;
  font-size:15px;
  background:#9BFF2D;
  color:#050505;
  border:1px solid transparent;
  white-space:nowrap;
  transition:background .35s, box-shadow .35s;
}

.u82 {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:18px 34px;
  border-radius:100px;
  font-weight:600;
  font-size:15px;
  background:rgba(255,255,255,.03);
  color:#fff;
  border:1px solid rgba(255,255,255,.2);
  white-space:nowrap;
  transition:border-color .35s, background .35s;
}

.u83 {
  padding:100px 0 40px;
  border-top:1px solid #2B2B2B;
  background:#050505;
  position:relative;
  z-index:3;
}

.u84 {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:48px;
  margin-bottom:80px;
}

.u85 {
  height:40px;
  width:auto;
  max-width:none;
  display:block;
}

.u86 {
  color:#A5A5A5;
  font-size:14.5px;
  margin:18px 0 26px;
  max-width:280px;
}

.u87 {
  font-family:'Space Grotesk',monospace;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A5A5A5;
  margin-bottom:22px;
  font-weight:600;
}

.u88 {
  display:flex;
  flex-direction:column;
  gap:12px;
}

.u89 {
  font-size:14.5px;
  color:#A5A5A5;
}

.u90 {
  display:flex;
  gap:14px;
}

.u91 {
  width:36px;
  height:36px;
  border:1px solid #2B2B2B;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#A5A5A5;
  transition:border-color .25s, color .25s;
}

.u92 {
  width:15px;
  height:15px;
}

.u93 {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:32px;
  border-top:1px solid #2B2B2B;
  flex-wrap:wrap;
  gap:16px;
}

.u94 {
  color:#A5A5A5;
  font-size:13px;
}


/* =========================================================
   Navigation — desktop default + mobile hamburger
   ========================================================= */

/* Desktop: the wrapper is transparent to layout, so the <ul> and the
   "Partner With Us" button stay direct flex items of .u4 exactly as before. */
.nh-nav-menu { display: contents; }

.nh-nav-toggle { display: none; }
.nh-nav-toggle-bar {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  transition: transform .3s cubic-bezier(.16,.8,.24,1), opacity .2s;
}

@media (max-width: 900px) {
  .u4 { flex-wrap: nowrap; }

  .nh-nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .nh-nav-toggle-bar { margin: 0 auto; }
  .nh-nav-toggle[aria-expanded="true"] .nh-nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nh-nav-toggle[aria-expanded="true"] .nh-nav-toggle-bar:nth-child(2) { opacity: 0; }
  .nh-nav-toggle[aria-expanded="true"] .nh-nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .nh-nav-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0 24px;
    background: #0A0A0A;
    border-bottom: 1px solid #2B2B2B;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: max-height .38s cubic-bezier(.16,.8,.24,1), opacity .25s, padding .38s;
  }
  #nhHeader.nh-nav-open {
    background: #0A0A0A !important;
    backdrop-filter: none !important;
    border-bottom-color: #2B2B2B !important;
  }
  #nhHeader.nh-nav-open .nh-nav-menu {
    max-height: 80vh;
    overflow-y: auto;
    opacity: 1;
    pointer-events: auto;
    padding: 4px 24px 22px;
  }

  .nh-nav-menu .u7 {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }
  .nh-nav-menu .u8 {
    display: block;
    padding: 17px 2px;
    font-size: 13px;
    color: #EDEDED;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .nh-nav-menu .u9 {
    width: 100%;
    margin-top: 18px;
    justify-content: center;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}


/* =========================================================
   "What We've Built" — stack on mobile
   ========================================================= */

@media (max-width: 900px) {
  #products { padding: 88px 0; }
  #products .u3 { padding: 0 22px; }
  #products .u49 { margin-bottom: 32px; gap: 16px; }
  #products .u51 { font-size: 15px; }
  #products .u53 {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-top: 28px;
    align-items: start;
  }
  #products .u54 { padding-bottom: 0; }
}
