@@ -18,8 +18,10 @@ const Pitch = () => {
1818 const callbackUrl = `${ pathname } #invest` ;
1919
2020 useEffect ( ( ) => {
21- if ( window . location . hash === "#invest" ) {
22- const element = document . getElementById ( "invest" ) ;
21+ // handle any hash, not just #invest
22+ const hash = window . location . hash ;
23+ if ( hash ) {
24+ const element = document . getElementById ( hash . substring ( 1 ) ) ; // remove the #
2325 if ( element ) {
2426 setTimeout ( ( ) => {
2527 element . scrollIntoView ( { behavior : "smooth" , block : "start" } ) ;
@@ -76,6 +78,7 @@ const Pitch = () => {
7678 < div className = "h-full relative border-b border-[#252525]" >
7779 < div className = "py-8 border-b border-[#252525]" >
7880 < motion . h2
81+ id = "the-pitch"
7982 initial = { { opacity : 0 , y : 30 , filter : "blur(10px)" } }
8083 animate = { { opacity : 1 , y : 0 , filter : "blur(0px)" } }
8184 transition = { {
@@ -103,7 +106,7 @@ const Pitch = () => {
103106 } }
104107 className = "max-w-4xl mx-auto space-y-4"
105108 >
106- < h3 className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
109+ < h3 id = "mission-statement" className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
107110 mission statement
108111 </ h3 >
109112 < p className = "text-text-secondary font-medium text-lg lg:text-xl lowercase" >
@@ -131,7 +134,7 @@ const Pitch = () => {
131134 } }
132135 className = "max-w-4xl mx-auto space-y-6"
133136 >
134- < h3 className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
137+ < h3 id = "my-goal" className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
135138 my goal
136139 </ h3 >
137140 < p className = "text-text-secondary font-medium text-lg lg:text-xl lowercase" >
@@ -187,7 +190,7 @@ const Pitch = () => {
187190 } }
188191 className = "max-w-4xl mx-auto space-y-6"
189192 >
190- < h3 className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
193+ < h3 id = "the-plan" className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
191194 the plan
192195 </ h3 >
193196 < p className = "text-text-secondary font-medium text-lg lg:text-xl lowercase" >
@@ -255,13 +258,13 @@ const Pitch = () => {
255258 } }
256259 className = "max-w-4xl mx-auto space-y-8"
257260 >
258- < h3 className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
261+ < h3 id = "philosophies" className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
259262 philosophies i follow
260263 </ h3 >
261264
262265 { /* Philosophy #1 */ }
263266 < div className = "space-y-4" >
264- < h4 className = "text-xl lg:text-2xl font-medium text-brand-purple-light font-mono" >
267+ < h4 id = "stay-small-stay-effective" className = "text-xl lg:text-2xl font-medium text-brand-purple-light font-mono" >
265268 #1 stay small. stay effective.
266269 </ h4 >
267270 < div className = "space-y-4 text-text-secondary font-medium text-lg lowercase" >
@@ -338,7 +341,7 @@ const Pitch = () => {
338341
339342 { /* Philosophy #2 */ }
340343 < div className = "space-y-4" >
341- < h4 className = "text-xl lg:text-2xl font-medium text-brand-purple-light font-mono" >
344+ < h4 id = "go-beyond-what-you-promise" className = "text-xl lg:text-2xl font-medium text-brand-purple-light font-mono" >
342345 #2 go beyond what you promise.
343346 </ h4 >
344347 < div className = "space-y-4 text-text-secondary font-medium text-lg lowercase" >
@@ -371,7 +374,7 @@ const Pitch = () => {
371374 } }
372375 className = "max-w-4xl mx-auto space-y-6"
373376 >
374- < h3 className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
377+ < h3 id = "so-how-small" className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
375378 so how small?
376379 </ h3 >
377380 < p className = "text-text-secondary font-medium text-lg lowercase" >
@@ -422,7 +425,7 @@ const Pitch = () => {
422425 } }
423426 className = "max-w-4xl mx-auto space-y-6"
424427 >
425- < h3 className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
428+ < h3 id = "testimonials" className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
426429 what existing investors said about me?
427430 </ h3 >
428431 < div className = "space-y-4 text-text-secondary font-medium text-lg lowercase" >
@@ -455,13 +458,13 @@ const Pitch = () => {
455458 } }
456459 className = "max-w-4xl mx-auto space-y-8"
457460 >
458- < h3 className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
461+ < h3 id = "questions" className = "text-2xl lg:text-3xl font-medium text-brand-purple-light font-mono" >
459462 questions you may have
460463 </ h3 >
461464
462465 < div className = "space-y-8" >
463466 < div className = "space-y-3" >
464- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
467+ < h4 id = "not-beginner" className = "text-xl font-medium text-brand-purple-light font-mono" >
465468 i'm not an absolute beginner, so how does subscribing
466469 to opensox.ai make sense to me?
467470 </ h4 >
@@ -482,7 +485,7 @@ const Pitch = () => {
482485 </ div >
483486
484487 < div className = "space-y-3" >
485- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
488+ < h4 id = "quality-reduce" className = "text-xl font-medium text-brand-purple-light font-mono" >
486489 will the quality of your service reduce as you grow?
487490 </ h4 >
488491 < p className = "text-text-secondary font-medium text-lg lowercase" >
@@ -493,7 +496,7 @@ const Pitch = () => {
493496 </ div >
494497
495498 < div className = "space-y-3" >
496- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
499+ < h4 id = "how-opensox-pro-helps" className = "text-xl font-medium text-brand-purple-light font-mono" >
497500 how does opensox.ai pro help me?
498501 </ h4 >
499502 < ul className = "space-y-2 text-text-secondary font-medium text-lg pl-4 lowercase" >
@@ -552,7 +555,7 @@ const Pitch = () => {
552555 </ div >
553556
554557 < div className = "space-y-3" >
555- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
558+ < h4 id = "time-to-results" className = "text-xl font-medium text-brand-purple-light font-mono" >
556559 how much time does it take to get the results?
557560 </ h4 >
558561 < p className = "text-text-secondary font-medium text-lg lowercase" >
@@ -569,7 +572,7 @@ const Pitch = () => {
569572 </ div >
570573
571574 < div className = "space-y-3" >
572- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
575+ < h4 id = "why-trust" className = "text-xl font-medium text-brand-purple-light font-mono" >
573576 why should i trust you?
574577 </ h4 >
575578 < p className = "text-text-secondary font-medium text-lg lowercase" >
@@ -596,7 +599,7 @@ const Pitch = () => {
596599 </ div >
597600
598601 < div className = "space-y-3" >
599- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
602+ < h4 id = "alternatives" className = "text-xl font-medium text-brand-purple-light font-mono" >
600603 are there any alternatives to what you provide?
601604 </ h4 >
602605 < p className = "text-text-secondary font-medium text-lg lowercase" >
@@ -608,7 +611,7 @@ const Pitch = () => {
608611 </ div >
609612
610613 < div className = "space-y-3" >
611- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
614+ < h4 id = "difference-from-course" className = "text-xl font-medium text-brand-purple-light font-mono" >
612615 what's the difference between opensox pro and a
613616 course?
614617 </ h4 >
@@ -621,7 +624,7 @@ const Pitch = () => {
621624 </ div >
622625
623626 < div className = "space-y-3" >
624- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
627+ < h4 id = "for-beginners" className = "text-xl font-medium text-brand-purple-light font-mono" >
625628 is it for an absolute beginner?
626629 </ h4 >
627630 < p className = "text-text-secondary font-medium text-lg lowercase" >
@@ -630,7 +633,7 @@ const Pitch = () => {
630633 </ div >
631634
632635 < div className = "space-y-3" >
633- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
636+ < h4 id = "when-not-to-invest" className = "text-xl font-medium text-brand-purple-light font-mono" >
634637 in what cases shouldn't i invest in opensox pro?
635638 </ h4 >
636639 < p className = "text-text-secondary font-medium text-lg lowercase" >
@@ -660,7 +663,7 @@ const Pitch = () => {
660663 </ div >
661664
662665 < div className = "space-y-3" >
663- < h4 className = "text-xl font-medium text-brand-purple-light font-mono" >
666+ < h4 id = "best-in-market" className = "text-xl font-medium text-brand-purple-light font-mono" >
664667 are you the best in the market?
665668 </ h4 >
666669 < p className = "text-text-secondary font-medium text-lg lowercase" >
0 commit comments