.elementor-4094 .elementor-element.elementor-element-6251ca8{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-4094 .elementor-element.elementor-element-6251ca8:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-6251ca8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-4094 .elementor-element.elementor-element-73e7d4c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-1c64f3b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:1.125rem 1.125rem;--row-gap:1.125rem;--column-gap:1.125rem;}.elementor-4094 .elementor-element.elementor-element-1c64f3b.e-con{--align-self:center;}.elementor-4094 .elementor-element.elementor-element-b63c79a{--display:flex;--margin-top:-1px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4094 .elementor-element.elementor-element-f8752bb:hover{--e-transform-translateY:-15px;}.elementor-4094 .elementor-element.elementor-element-f8752bb{--e-transform-transition-duration:800ms;text-align:center;}.elementor-4094 .elementor-element.elementor-element-f8752bb img{width:80%;max-width:80%;border-radius:24px 24px 24px 24px;box-shadow:0px 20px 50px 10px rgba(0, 34.5321739130435, 248.2, 0.33);}.elementor-4094 .elementor-element.elementor-element-afc6d06{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:-80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:10;}.elementor-4094 .elementor-element.elementor-element-afc6d06:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-afc6d06 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-4094 .elementor-element.elementor-element-291599b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E0B66740;--border-color:#E0B66740;--border-radius:10px 10px 10px 10px;--padding-top:24px;--padding-bottom:24px;--padding-left:32px;--padding-right:32px;}.elementor-4094 .elementor-element.elementor-element-291599b:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-291599b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#09192D;}.elementor-4094 .elementor-element.elementor-element-9917cbb{text-align:center;}.elementor-4094 .elementor-element.elementor-element-9917cbb .elementor-heading-title{font-family:"YekanBakh", Sans-serif;font-size:1rem;font-weight:700;color:#E0B667;}.elementor-4094 .elementor-element.elementor-element-425f239{text-align:center;font-family:"YekanBakh", Sans-serif;font-size:0.7rem;font-weight:600;line-height:1.6em;color:#8B95AA;}.elementor-4094 .elementor-element.elementor-element-e7e6d7d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E0B66740;--border-color:#E0B66740;--border-radius:10px 10px 10px 10px;--padding-top:24px;--padding-bottom:24px;--padding-left:32px;--padding-right:32px;}.elementor-4094 .elementor-element.elementor-element-e7e6d7d:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-e7e6d7d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#09192D;}.elementor-4094 .elementor-element.elementor-element-cde9220{text-align:center;}.elementor-4094 .elementor-element.elementor-element-cde9220 .elementor-heading-title{font-family:"YekanBakh", Sans-serif;font-size:1rem;font-weight:700;color:#E0B667;}.elementor-4094 .elementor-element.elementor-element-c059fa7{text-align:center;font-family:"YekanBakh", Sans-serif;font-size:0.7rem;font-weight:600;line-height:1.6em;color:#8B95AA;}.elementor-4094 .elementor-element.elementor-element-8081d5a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E0B66740;--border-color:#E0B66740;--border-radius:10px 10px 10px 10px;--padding-top:24px;--padding-bottom:24px;--padding-left:32px;--padding-right:32px;}.elementor-4094 .elementor-element.elementor-element-8081d5a:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-8081d5a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#09192D;}.elementor-4094 .elementor-element.elementor-element-4833467{text-align:center;}.elementor-4094 .elementor-element.elementor-element-4833467 .elementor-heading-title{font-family:"YekanBakh", Sans-serif;font-size:1rem;font-weight:700;color:#E0B667;}.elementor-4094 .elementor-element.elementor-element-614bf1b{text-align:center;font-family:"YekanBakh", Sans-serif;font-size:0.7rem;font-weight:600;line-height:1.6em;color:#8B95AA;}.elementor-4094 .elementor-element.elementor-element-d9ef11d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E0B66740;--border-color:#E0B66740;--border-radius:10px 10px 10px 10px;--padding-top:24px;--padding-bottom:24px;--padding-left:32px;--padding-right:32px;}.elementor-4094 .elementor-element.elementor-element-d9ef11d:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-d9ef11d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#09192D;}.elementor-4094 .elementor-element.elementor-element-3492abc{text-align:center;}.elementor-4094 .elementor-element.elementor-element-3492abc .elementor-heading-title{font-family:"YekanBakh", Sans-serif;font-size:1rem;font-weight:700;color:#E0B667;}.elementor-4094 .elementor-element.elementor-element-615534e{font-family:"YekanBakh", Sans-serif;font-size:0.7rem;font-weight:600;line-height:1.6em;color:#8B95AA;}.elementor-4094 .elementor-element.elementor-element-d6f6af7{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:-57px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:92px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-d6f6af7:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-d6f6af7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-4094 .elementor-element.elementor-element-5800759{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:center;}.elementor-4094 .elementor-element.elementor-element-5800759 .elementor-heading-title{font-family:"YekanBakh", Sans-serif;font-size:13px;font-weight:600;letter-spacing:3px;color:var( --e-global-color-accent );}.elementor-4094 .elementor-element.elementor-element-6268847{text-align:center;}.elementor-4094 .elementor-element.elementor-element-6268847 .elementor-heading-title{font-family:"YekanBakh", Sans-serif;font-size:34px;font-weight:800;color:var( --e-global-color-text );}.elementor-4094 .elementor-element.elementor-element-ec9dd14{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:23px;--padding-left:0px;--padding-right:22px;}.elementor-4094 .elementor-element.elementor-element-ec9dd14:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-ec9dd14 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-4094 .elementor-element.elementor-element-c22703f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E0B66733;--border-color:#E0B66733;--border-radius:12px 12px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-22a3d4e > .elementor-widget-container{padding:0px 9px 0px 9px;}.elementor-4094 .elementor-element.elementor-element-22a3d4e{flex:1 1 0%;width:100%;max-width:100%;min-width:0;min-inline-size:0;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp{width:100%;margin-inline-start:auto;margin-inline-end:auto;--pym-swp-overlay:#0B0F161F;--pym-swp-overlay-h:74px;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__viewport{height:440px;border-radius:22px 22px 22px 22px;background-color:#EEF1F4;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__badge{color:var( --e-global-color-text );}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__hint{color:var( --e-global-color-primary );background-color:rgba(255,255,255,.88);}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__content{padding-top:16px;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__title{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__subtitle{color:#737B86;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__cta{color:#17191D;background-color:#FFFFFF;border-color:rgba(20,25,32,.12);border-radius:11px;}.elementor-4094 .elementor-element.elementor-element-53bbc06{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E0B66733;--border-color:#E0B66733;--border-radius:12px 12px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-53bbc06.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-4094 .elementor-element.elementor-element-dca0613 > .elementor-widget-container{padding:0px 9px 0px 9px;}.elementor-4094 .elementor-element.elementor-element-dca0613{flex:1 1 0%;width:100%;max-width:100%;min-width:0;min-inline-size:0;}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp{width:100%;margin-inline-start:auto;margin-inline-end:auto;--pym-swp-overlay:rgba(8,12,18,.12);--pym-swp-overlay-h:74px;}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__viewport{height:440px;border-radius:22px 22px 22px 22px;background-color:#EEF1F4;}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__badge{color:#FFFFFF;background-color:rgba(14,18,24,.76);}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__hint{color:#17191D;background-color:rgba(255,255,255,.88);}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__content{padding-top:16px;}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__title{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__subtitle{color:#737B86;}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__cta{color:var( --e-global-color-text );background-color:#FFFFFF;border-color:rgba(20,25,32,.12);border-radius:12px;}.elementor-4094 .elementor-element.elementor-element-4da4f90{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E0B66733;--border-color:#E0B66733;--border-radius:12px 12px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-4da4f90.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-4094 .elementor-element.elementor-element-0da171d > .elementor-widget-container{padding:0px 9px 0px 9px;}.elementor-4094 .elementor-element.elementor-element-0da171d{flex:1 1 0%;width:100%;max-width:100%;min-width:0;min-inline-size:0;}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp{width:100%;margin-inline-start:auto;margin-inline-end:auto;--pym-swp-overlay:rgba(8,12,18,.12);--pym-swp-overlay-h:74px;}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__viewport{height:440px;border-radius:22px 22px 22px 22px;background-color:#EEF1F4;}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__badge{color:#FFFFFF;background-color:rgba(14,18,24,.76);}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__hint{color:#17191D;background-color:rgba(255,255,255,.88);}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__content{padding-top:16px;}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__title{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__subtitle{color:#737B86;}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__cta{color:#17191D;background-color:#FFFFFF;border-color:rgba(20,25,32,.12);border-radius:12px;}.elementor-4094 .elementor-element.elementor-element-341c1b1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-341c1b1:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-341c1b1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-4094 .elementor-element.elementor-element-88c1e0b{width:var( --container-widget-width, 101.88% );max-width:101.88%;--container-widget-width:101.88%;--container-widget-flex-grow:0;}.elementor-4094 .elementor-element.elementor-element-88c1e0b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-4094 .elementor-element.elementor-element-3c9c2d4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:-117px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-3c9c2d4:not(.elementor-motion-effects-element-type-background), .elementor-4094 .elementor-element.elementor-element-3c9c2d4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}@media(max-width:1024px){.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__viewport{height:400px;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__viewport{height:400px;}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__viewport{height:400px;}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-4094 .elementor-element.elementor-element-6251ca8{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:28px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-1c64f3b{--padding-top:26px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4094 .elementor-element.elementor-element-f8752bb{text-align:center;}.elementor-4094 .elementor-element.elementor-element-f8752bb img{width:100%;max-width:100%;}.elementor-4094 .elementor-element.elementor-element-afc6d06{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__viewport{height:330px;}.elementor-4094 .elementor-element.elementor-element-22a3d4e .pym-swp__title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__viewport{height:330px;}.elementor-4094 .elementor-element.elementor-element-dca0613 .pym-swp__title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__viewport{height:330px;}.elementor-4094 .elementor-element.elementor-element-0da171d .pym-swp__title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-4094 .elementor-element.elementor-element-88c1e0b{margin:-73px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-4094 .elementor-element.elementor-element-1c64f3b{--width:400px;}.elementor-4094 .elementor-element.elementor-element-c22703f{--width:31%;}.elementor-4094 .elementor-element.elementor-element-53bbc06{--width:31.278%;}.elementor-4094 .elementor-element.elementor-element-4da4f90{--width:33.229%;}.elementor-4094 .elementor-element.elementor-element-341c1b1{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-6251ca8 */<canvas id="heroNetworkCanvas" style="position:absolute; inset:0; width:100%; height:100%; z-index:1; opacity:0.85; pointer-events:auto; display:block;"></canvas>

<script>
(function() {
  const canvas = document.getElementById('heroNetworkCanvas');
  const ctx = canvas.getContext('2d');
  const heroEl = document.getElementById('heroSection');
  let w, h, points;
  const mouse = { x: -9999, y: -9999, active: false };

  function resize() {
    if (!heroEl) return;
    w = canvas.width = heroEl.offsetWidth;
    h = canvas.height = heroEl.offsetHeight;
  }

  function initPoints() {
    const count = Math.floor((w * h) / 28000) || 30;
    points = Array.from({ length: count }, () => ({
      x: Math.random() * w,
      y: Math.random() * h,
      vx: (Math.random() - 0.5) * 0.25,
      vy: (Math.random() - 0.5) * 0.25,
      r: Math.random() * 1.6 + 0.6
    }));
  }

  function tick() {
    ctx.clearRect(0, 0, w, h);
    const influenceR = 160;

    for (const p of points) {
      p.x += p.vx;
      p.y += p.vy;
      if (p.x < 0 || p.x > w) p.vx *= -1;
      if (p.y < 0 || p.y > h) p.vy *= -1;

      if (mouse.active) {
        const dx = p.x - mouse.x, dy = p.y - mouse.y;
        const dist = Math.sqrt(dx * dx + dy * dy);
        if (dist < influenceR && dist > 0.01) {
          const force = (1 - dist / influenceR) * 0.6;
          p.x += (dx / dist) * force;
          p.y += (dy / dist) * force;
        }
      }
    }

    for (let i = 0; i < points.length; i++) {
      for (let j = i + 1; j < points.length; j++) {
        const a = points[i], b = points[j];
        const dx = a.x - b.x, dy = a.y - b.y;
        const dist = Math.sqrt(dx * dx + dy * dy);
        if (dist < 140) {
          ctx.strokeStyle = `rgba(224,182,103,${0.16 * (1 - dist / 140)})`;
          ctx.lineWidth = 1;
          ctx.beginPath();
          ctx.moveTo(a.x, a.y);
          ctx.lineTo(b.x, b.y);
          ctx.stroke();
        }
      }
    }

    if (mouse.active) {
      for (const p of points) {
        const dx = p.x - mouse.x, dy = p.y - mouse.y;
        const dist = Math.sqrt(dx * dx + dy * dy);
        if (dist < influenceR) {
          ctx.strokeStyle = `rgba(240,205,138,${0.5 * (1 - dist / influenceR)})`;
          ctx.lineWidth = 1;
          ctx.beginPath();
          ctx.moveTo(mouse.x, mouse.y);
          ctx.lineTo(p.x, p.y);
          ctx.stroke();
        }
      }
      const glow = ctx.createRadialGradient(mouse.x, mouse.y, 0, mouse.x, mouse.y, 12);
      glow.addColorStop(0, 'rgba(240,205,138,0.9)');
      glow.addColorStop(1, 'rgba(240,205,138,0)');
      ctx.fillStyle = glow;
      ctx.beginPath();
      ctx.arc(mouse.x, mouse.y, 12, 0, Math.PI * 2);
      ctx.fill();
    }

    for (const p of points) {
      ctx.beginPath();
      ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);
      ctx.fillStyle = 'rgba(224,182,103,0.85)';
      ctx.fill();
    }
    requestAnimationFrame(tick);
  }

  resize();
  initPoints();
  tick();
  window.addEventListener('resize', () => { resize(); initPoints(); });

  if (heroEl) {
    heroEl.addEventListener('mousemove', (e) => {
      const rect = canvas.getBoundingClientRect();
      mouse.x = e.clientX - rect.left;
      mouse.y = e.clientY - rect.top;
      mouse.active = true;
    });
    heroEl.addEventListener('mouseleave', () => { mouse.active = false; });
  }
})();
</script>/* End custom CSS */