/* ------------------------------------------------------------------
   layout.css — generated from the original inline styles.
   One class per unique declaration block, in document order.
   ------------------------------------------------------------------ */

.nmf-x1 {
  position:relative;
  background:var(--surface-page);
}

.nmf-x2 {
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:100%;
  transform-origin:0 50%;
  transform:scaleX(0);
  background:var(--gradient-spectrum);
  z-index:300;
}

.nmf-x3 {
  position:sticky;
  top:0;
  z-index:200;
  background:rgba(255,255,255,0.7);
  backdrop-filter:var(--blur-glass);
  -webkit-backdrop-filter:var(--blur-glass);
  border-bottom:1px solid var(--border-subtle);
  transition:box-shadow var(--dur-base) var(--ease-standard), background var(--dur-base) var(--ease-standard);
}

.nmf-x4 {
  max-width:1200px;
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.nmf-x5 {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}

.nmf-x6 {
  width:34px;
  height:34px;
  border-radius:9px;
  background:var(--gradient-brand);
  box-shadow:var(--shadow-brand);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-family:var(--font-display);
  font-weight:400;
  font-size:16px;
  letter-spacing:-0.04em;
}

.nmf-x7 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:20px;
  letter-spacing:-0.02em;
  color:var(--text-strong);
  line-height:1;
}

.nmf-x8 {
  color:var(--nmf-magenta);
}

.nmf-x9 {
  display:flex;
  align-items:center;
  gap:30px;
}

.nmf-x10 {
  font-size:14px;
  font-weight:600;
  color:var(--text-body);
  text-decoration:none;
}

.nmf-x11 {
  position:relative;
  overflow:hidden;
  min-height:94vh;
  display:flex;
  align-items:center;
}

.nmf-x12 {
  position:absolute;
  inset:0;
  background:var(--gradient-ink);
  display:none;
}

.nmf-x13 {
  position:absolute;
  top:-18%;
  right:-8%;
  width:620px;
  height:620px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, color-mix(in oklch, var(--nmf-magenta) 55%, transparent) 0%, transparent 64%);
  filter:blur(6px);
  animation:nmf-float 11s ease-in-out infinite;
}

.nmf-x14 {
  position:absolute;
  bottom:-22%;
  left:-10%;
  width:560px;
  height:560px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, color-mix(in oklch, black 45%, transparent) 0%, transparent 66%);
  filter:blur(6px);
  animation:nmf-float2 13s ease-in-out infinite;
}

.nmf-x15 {
  position:absolute;
  inset:0;
  background:var(--gradient-glow);
  opacity:0.5;
  animation:nmf-glow 7s ease-in-out infinite;
}

.nmf-x16 {
  position:absolute;
  inset:0;
  display:none;
}

.nmf-x17 {
  width:100%;
  height:100%;
  object-fit:cover;
}

.nmf-x18 {
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, color-mix(in oklch, var(--plum-900) 78%, transparent) 0%, color-mix(in oklch, var(--plum-900) 42%, transparent) 55%, color-mix(in oklch, var(--plum-900) 62%, transparent) 100%);
}

.nmf-x19 {
  position:absolute;
  inset:0;
  display:none;
  background:var(--neutral-50);
}

.nmf-x20 {
  position:absolute;
  inset:0;
  background:radial-gradient(120% 110% at 82% -10%, color-mix(in oklch, var(--nmf-magenta) 16%, transparent) 0%, transparent 52%);
}

.nmf-x21 {
  position:absolute;
  inset:0;
  background:#ffffff;
  z-index:1;
}

.nmf-x22 {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.nmf-x23 {
  position:relative;
  z-index:3;
  max-width:1200px;
  margin:0 auto;
  padding:120px 24px 96px;
  width:100%;
}

.nmf-x24 {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:7px 14px;
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.16);
  margin-bottom:28px;
  animation:nmf-fade-up .8s var(--ease-out) both;
  animation-delay:.05s;
}

.nmf-x25 {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--nmf-pink);
  box-shadow:0 0 0 4px color-mix(in oklch, var(--nmf-pink) 25%, transparent);
  animation:nmf-blink 2.4s ease-in-out infinite;
}

.nmf-x26 {
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#fff;
}

.nmf-x27 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-5xl);
  line-height:0.96;
  letter-spacing:-0.025em;
  margin:0;
  max-width:16ch;
}

.nmf-x28 {
  color:#fff;
  display:block;
}

.nmf-x29 {
  display:inline-block;
  overflow:hidden;
  vertical-align:bottom;
}

.nmf-x30 {
  display:inline-block;
  animation:nmf-rise .9s var(--ease-out) both;
  animation-delay:.10s;
}

.nmf-x31 {
  display:inline-block;
  animation:nmf-rise .9s var(--ease-out) both;
  animation-delay:.17s;
}

.nmf-x32 {
  display:block;
}

.nmf-x33 {
  display:inline-block;
  color:#fff;
  animation:nmf-rise .9s var(--ease-out) both;
  animation-delay:.24s;
}

.nmf-x34 {
  display:inline-block;
  color:#fff;
  animation:nmf-rise .9s var(--ease-out) both;
  animation-delay:.31s;
}

.nmf-x35 {
  display:inline-block;
  animation:nmf-rise .9s var(--ease-out) both;
  animation-delay:.38s;
}

.nmf-x36 {
  display:inline-block;
  animation:nmf-rise .9s var(--ease-out) both;
  animation-delay:.45s;
}

.nmf-x37 {
  font-size:var(--text-md);
  line-height:1.6;
  color:rgba(255,255,255,0.82);
  max-width:54ch;
  margin:26px 0 0;
  animation:nmf-fade-up .8s var(--ease-out) both;
  animation-delay:.6s;
}

.nmf-x38 {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:28px 0 0;
  animation:nmf-fade-up .8s var(--ease-out) both;
  animation-delay:.72s;
}

.nmf-x39 {
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:0.04em;
  color:#fff;
  padding:8px 15px;
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.16);
  transition:all var(--dur-base) var(--ease-standard);
}

.nmf-x40 {
  display:flex;
  align-items:center;
  gap:16px;
  margin:36px 0 0;
  animation:nmf-fade-up .8s var(--ease-out) both;
  animation-delay:.84s;
}

.nmf-x41 {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:600;
  color:#fff;
  text-decoration:none;
}

.nmf-x42 {
  width:16px;
  height:16px;
}

.nmf-x43 {
  background:var(--surface-sunken);
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
  padding:16px 0;
  overflow:hidden;
  position:relative;
}

.nmf-x44 {
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:80px;
  z-index:2;
  background:linear-gradient(90deg, var(--surface-sunken), transparent);
  pointer-events:none;
}

.nmf-x45 {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:80px;
  z-index:2;
  background:linear-gradient(270deg, var(--surface-sunken), transparent);
  pointer-events:none;
}

.nmf-x46 {
  background:var(--surface-page);
  padding:var(--section-y) 0;
}

.nmf-x47 {
  max-width:1000px;
  margin:0 auto;
  padding:0 24px;
}

.nmf-x48 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);
}

.nmf-x49 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .08s, transform .9s var(--ease-out) .08s;
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-4xl);
  line-height:1.0;
  letter-spacing:-0.02em;
  color:var(--text-strong);
  margin:18px 0 0;
  max-width:18ch;
}

.nmf-x50 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:44px;
}

.nmf-x51 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .12s, transform .9s var(--ease-out) .12s;
  font-size:var(--text-md);
  line-height:1.7;
  color:var(--text-body);
  margin:0;
}

.nmf-x52 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .2s, transform .9s var(--ease-out) .2s;
  font-size:var(--text-md);
  line-height:1.7;
  color:var(--text-body);
  margin:0;
}

.nmf-x53 {
  color:var(--text-strong);
  font-weight:700;
}

.nmf-x54 {
  background:var(--surface-sunken);
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
  position:relative;
  overflow:hidden;
  padding:var(--section-y) 0;
}

.nmf-x55 {
  position:absolute;
  top:-12%;
  right:-6%;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in oklch, var(--nmf-magenta) 12%, transparent) 0%, transparent 66%);
  pointer-events:none;
}

.nmf-x56 {
  position:relative;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

.nmf-x57 {
  max-width:760px;
}

.nmf-x58 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .08s, transform .9s var(--ease-out) .08s;
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-3xl);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:var(--text-strong);
  margin:18px 0 18px;
}

.nmf-x59 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .14s, transform .9s var(--ease-out) .14s;
  font-size:var(--text-md);
  line-height:1.7;
  color:var(--text-body);
  margin:0;
  max-width:62ch;
}

.nmf-x60 {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
  margin-top:48px;
}

.nmf-x61 {
  opacity:0;
  transform:translateY(48px);
  transition:opacity .9s var(--ease-out) .04s, transform .9s var(--ease-out) .04s;
}

.nmf-x62 {
  padding:28px;
}

.nmf-x63 {
  width:46px;
  height:46px;
  border-radius:var(--radius-md);
  background:var(--magenta-50);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}

.nmf-x64 {
  color:var(--nmf-magenta);
  width:22px;
  height:22px;
}

.nmf-x65 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:20px;
  color:var(--text-strong);
  margin:0 0 16px;
}

.nmf-x66 {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.nmf-x67 {
  opacity:0;
  transform:translateY(48px);
  transition:opacity .9s var(--ease-out) .14s, transform .9s var(--ease-out) .14s;
}

.nmf-x68 {
  width:46px;
  height:46px;
  border-radius:var(--radius-md);
  background:var(--violet-100);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}

.nmf-x69 {
  color:var(--violet-700);
  width:22px;
  height:22px;
}

.nmf-x70 {
  opacity:0;
  transform:translateY(48px);
  transition:opacity .9s var(--ease-out) .24s, transform .9s var(--ease-out) .24s;
}

.nmf-x71 {
  width:46px;
  height:46px;
  border-radius:var(--radius-md);
  background:var(--blue-100);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}

.nmf-x72 {
  color:var(--blue-700);
  width:22px;
  height:22px;
}

.nmf-x73 {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:56px;
  align-items:start;
}

.nmf-x74 {
  position:sticky;
  top:120px;
}

.nmf-x75 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .08s, transform .9s var(--ease-out) .08s;
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-3xl);
  line-height:1.02;
  letter-spacing:-0.02em;
  color:var(--text-strong);
  margin:18px 0 18px;
}

.nmf-x76 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .14s, transform .9s var(--ease-out) .14s;
  font-size:var(--text-base);
  line-height:1.7;
  color:var(--text-body);
  margin:0 0 28px;
  max-width:42ch;
}

.nmf-x77 {
  display:flex;
  align-items:center;
  gap:14px;
}

.nmf-x78 {
  position:relative;
  width:4px;
  height:96px;
  background:var(--neutral-200);
  border-radius:var(--radius-pill);
  overflow:hidden;
}

.nmf-x79 {
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:0%;
  background:var(--gradient-brand);
  transition:height var(--dur-slow) var(--ease-standard);
}

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

.nmf-x81 {
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.08em;
  color:var(--text-muted);
  transition:color var(--dur-base) var(--ease-standard);
}

.nmf-x82 {
  display:flex;
  flex-direction:column;
  gap:24px;
}

.nmf-x83 {
  opacity:0.32;
  transition:opacity var(--dur-slow) var(--ease-standard);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-xl);
  background:var(--surface-card);
  box-shadow:var(--shadow-sm);
  padding:34px;
}

.nmf-x84 {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}

.nmf-x85 {
  width:50px;
  height:50px;
  border-radius:var(--radius-md);
  background:var(--magenta-50);
  display:flex;
  align-items:center;
  justify-content:center;
}

.nmf-x86 {
  color:var(--magenta-600);
  width:24px;
  height:24px;
}

.nmf-x87 {
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--magenta-600);
}

.nmf-x88 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-xl);
  color:var(--text-strong);
  margin:0 0 10px;
}

.nmf-x89 {
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:0.02em;
  color:var(--magenta-600);
  margin:0 0 14px;
}

.nmf-x90 {
  font-size:var(--text-base);
  line-height:1.65;
  color:var(--text-body);
  margin:0;
}

.nmf-x91 {
  width:50px;
  height:50px;
  border-radius:var(--radius-md);
  background:var(--violet-100);
  display:flex;
  align-items:center;
  justify-content:center;
}

.nmf-x92 {
  color:var(--violet-700);
  width:24px;
  height:24px;
}

.nmf-x93 {
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--violet-700);
}

.nmf-x94 {
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:0.02em;
  color:var(--violet-700);
  margin:0 0 14px;
}

.nmf-x95 {
  width:50px;
  height:50px;
  border-radius:var(--radius-md);
  background:var(--blue-100);
  display:flex;
  align-items:center;
  justify-content:center;
}

.nmf-x96 {
  color:var(--blue-700);
  width:24px;
  height:24px;
}

.nmf-x97 {
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--blue-700);
}

.nmf-x98 {
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:0.02em;
  color:var(--blue-700);
  margin:0 0 14px;
}

.nmf-x99 {
  background:#e1f0ff;
  padding:var(--section-y) 0;
}

.nmf-x100 {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

.nmf-x101 {
  max-width:740px;
  margin-bottom:44px;
}

.nmf-x102 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .08s, transform .9s var(--ease-out) .08s;
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-3xl);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:var(--text-strong);
  margin:18px 0 16px;
}

.nmf-x103 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .14s, transform .9s var(--ease-out) .14s;
  font-size:var(--text-md);
  line-height:1.7;
  color:var(--text-body);
  margin:0;
  max-width:64ch;
}

.nmf-x104 {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
}

.nmf-x105 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s var(--ease-out) 0s, transform .8s var(--ease-out) 0s;
}

.nmf-x106 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s var(--ease-out) .05s, transform .8s var(--ease-out) .05s;
}

.nmf-x107 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s var(--ease-out) .1s, transform .8s var(--ease-out) .1s;
}

.nmf-x108 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s var(--ease-out) .15s, transform .8s var(--ease-out) .15s;
}

.nmf-x109 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s var(--ease-out) .2s, transform .8s var(--ease-out) .2s;
}

.nmf-x110 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s var(--ease-out) .25s, transform .8s var(--ease-out) .25s;
}

.nmf-x111 {
  background:var(--surface-page);
  padding:var(--section-y) 0;
  overflow:hidden;
  position:relative;
}

.nmf-x112 {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  text-align:center;
}

.nmf-x113 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-3xl);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:var(--text-strong);
  margin:16px 0 8px;
}

.nmf-x114 {
  opacity:0;
  transform:translateY(30px);
  transition:opacity .8s var(--ease-out) .1s, transform .8s var(--ease-out) .1s;
  position:relative;
  margin-top:40px;
}

.nmf-x115 {
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:100px;
  z-index:2;
  background:linear-gradient(90deg, var(--surface-page), transparent);
  pointer-events:none;
}

.nmf-x116 {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:100px;
  z-index:2;
  background:linear-gradient(270deg, var(--surface-page), transparent);
  pointer-events:none;
}

.nmf-x117 {
  position:absolute;
  bottom:-16%;
  left:-6%;
  width:560px;
  height:560px;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in oklch, var(--nmf-magenta) 22%, transparent) 0%, transparent 66%);
  pointer-events:none;
}

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

.nmf-x119 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-3xl);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:var(--text-strong);
  margin:16px 0 0;
}

.nmf-x120 {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s var(--ease-out) .1s, transform .9s var(--ease-out) .1s;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-muted);
  border:1px dashed var(--border-default);
  padding:6px 12px;
  border-radius:var(--radius-pill);
}

.nmf-x121 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.nmf-x122 {
  display:block;
  text-decoration:none;
  border-radius:var(--radius-xl);
  overflow:hidden;
  background:var(--gradient-ink);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:var(--shadow-md);
  transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);
}

.nmf-x123 {
  height:180px;
  overflow:hidden;
  position:relative;
}

.nmf-x124 {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 700ms var(--ease-out);
}

.nmf-x125 {
  position:absolute;
  left:18px;
  top:18px;
}

.nmf-x126 {
  font-family:var(--font-mono);
  font-size:11px;
/*   letter-spacing:0.08em; */
  text-transform:uppercase;
  color:#fff;
  background:rgba(20,4,15,0.55);
  backdrop-filter:var(--blur-glass);
  padding:6px 12px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(255,255,255,0.14);
}

.nmf-x127 {
  font-size:var(--text-base);
  line-height:1.65;
  color:var(--neutral-200);
  margin:0 0 12px;
}

.nmf-x128 {
  color:#fff;
  font-weight:700;
}

.nmf-x129 {
  font-size:var(--text-base);
  line-height:1.65;
  color:var(--neutral-300);
  margin:0 0 20px;
}

.nmf-x130 {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-body);
  font-weight:700;
  font-size:14px;
  color:var(--nmf-pink);
}

.nmf-x131 {
  width:16px;
  height:16px;
  transition:transform var(--dur-base) var(--ease-standard);
}

.nmf-x132 {
  opacity:0;
  transform:translateY(48px);
  transition:opacity .9s var(--ease-out) .16s, transform .9s var(--ease-out) .16s;
}

.nmf-x133 {
  opacity:0;
  transform:translateY(48px);
  transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-2xl);
  background:var(--gradient-ink);
  box-shadow:var(--shadow-xl);
  padding:clamp(40px, 5vw, 72px);
}

.nmf-x134 {
  position:absolute;
  top:-30%;
  right:-8%;
  width:560px;
  height:560px;
  border-radius:50%;
  background:var(--gradient-glow);
  pointer-events:none;
}

.nmf-x135 {
  position:relative;
  max-width:760px;
}

.nmf-x136 {
  color:var(--nmf-pink);
}

.nmf-x137 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--text-3xl);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:#fff;
  margin:18px 0 18px;
}

.nmf-x138 {
  font-size:var(--text-md);
  line-height:1.7;
  color:var(--neutral-300);
  margin:0 0 16px;
}

.nmf-x139 {
  font-size:var(--text-md);
  line-height:1.7;
  color:#fff;
  margin:0 0 32px;
}

.nmf-x140 {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
}

.nmf-x141 {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:15px;
  color:#fff;
  padding:15px 26px;
  border-radius:var(--radius-pill);
  border:1.5px solid rgba(255,255,255,0.3);
  text-decoration:none;
  transition:all var(--dur-base) var(--ease-standard);
}

.nmf-x142 {
  background:var(--plum-900);
  color:var(--neutral-300);
}

.nmf-x143 {
  max-width:1200px;
  margin:0 auto;
  padding:56px 24px 32px;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:32px;
}

.nmf-x144 {
  display:flex;
  align-items:center;
  gap:10px;
}

.nmf-x145 {
  font-family:var(--font-display);
  font-weight:400;
  font-size:20px;
  letter-spacing:-0.02em;
  color:#fff;
  line-height:1;
}

.nmf-x146 {
  font-size:14px;
  line-height:1.6;
  margin-top:16px;
  max-width:300px;
  color:var(--neutral-400);
}

.nmf-x147 {
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--neutral-500);
  margin-bottom:14px;
}

.nmf-x148 {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.nmf-x149 {
  color:var(--neutral-300);
  text-decoration:none;
  font-size:14px;
}

.nmf-x150 {
  color:var(--neutral-400);
  font-size:14px;
}

.nmf-x151 {
  border-top:1px solid rgba(255,255,255,0.08);
  padding:18px 24px;
  max-width:1200px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-size:12px;
  color:var(--neutral-500);
}

.nmf-x152 {
  font-family:var(--font-mono);
}

/* ==========================================================================
   v1.8.1 — Homepage responsive rules
   ========================================================================== */

/* Guarantee no horizontal scroll.
   IMPORTANT: use `overflow-x: clip` (not `hidden`) so `position: sticky`
   on the header still works. `hidden` on html/body would make the body
   the scroll container and break sticky descendants. `clip` clips visually
   without creating a scroll context. Fallback keeps the header working
   in older browsers even without clip support. */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }
@supports not (overflow-x: clip) {
  /* Older browsers: keep sticky working by fixing the header instead. */
  html, body { overflow-x: hidden; }
  #nmf-nav { position: fixed !important; top: 0; left: 0; right: 0; }
  body { padding-top: 64px; }
}
img, svg, video { max-width: 100%; height: auto; }

/* Tablet and below: disable sticky positioning on CONTENT columns only —
   a sticky sidebar eats too much of a small viewport, so on phone the
   left text scrolls normally away as you read the right cards.
   The HEADER stays sticky so the hamburger is always reachable. */
@media (max-width: 899px) {
  /* Homepage "Approach" left column */
  .nmf-x74 { position: static !important; top: auto !important; }
}

/* Tablet and below */
@media (max-width: 900px) {

  /* Multi-column homepage grids collapse */
  .nmf-x60,   /* Capabilities cards (3 cols) */
  .nmf-x104,  /* Client logo grid (4 cols) */
  .nmf-x73,   /* Approach split */
  .nmf-x50,   /* Trust bar */
  .nmf-x121 { /* Insights preview */
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Section outer padding tightens */
  .nmf-x4,
  .nmf-x23,
  .nmf-x56,
  .nmf-x100,
  .nmf-x112,
  .nmf-x143,
  .nmf-x151 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .nmf-x23 { padding-top: 100px !important; padding-bottom: 60px !important; }

  /* Hero: shorter, no 100vh */
  .nmf-x11 { min-height: auto !important; padding: 24px 0 !important; }

  /* Absolute-positioned decorative circles shrink and stop overflowing */
  .nmf-x13,
  .nmf-x14,
  .nmf-x55,
  .nmf-x117,
  .nmf-x134 {
    width: 320px !important;
    height: 320px !important;
  }
  .nmf-x55  { right: -100px !important; }
  .nmf-x117 { left: -100px !important; }
  .nmf-x134 { right: -100px !important; }

  /* Hero title: fluid font */
  .nmf-x27 { font-size: clamp(2.5rem, 8vw, 4rem) !important; max-width: 100% !important; }

  /* Hero CTAs stack vertically full-width */
  .nmf-x40 { flex-direction: column !important; align-items: stretch !important; }
  .nmf-x40 > * { width: 100% !important; justify-content: center !important; }
}

/* Two-column grids stay two-column on small tablet */
@media (min-width: 640px) and (max-width: 900px) {
  .nmf-x50,
  .nmf-x121 { grid-template-columns: 1fr 1fr !important; }
  .nmf-x104 { grid-template-columns: 1fr 1fr !important; } /* clients: 2 wide */
}

/* Small mobile ≤ 500px */
@media (max-width: 500px) {
  .nmf-x27 { font-size: clamp(2rem, 8vw, 2.75rem) !important; line-height: 1.05 !important; }
}

