.elementor-2 .elementor-element.elementor-element-82f42af{--display:flex;--min-height:100vh;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-0d3f087{--display:flex;--position:absolute;--min-height:3vh;--overlay-opacity:0.5;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:241px;--z-index:13;}.elementor-2 .elementor-element.elementor-element-0d3f087::before, .elementor-2 .elementor-element.elementor-element-0d3f087 > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-0d3f087 > .e-con-inner > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-0d3f087 > .elementor-background-slideshow::before, .elementor-2 .elementor-element.elementor-element-0d3f087 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2 .elementor-element.elementor-element-0d3f087 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}body:not(.rtl) .elementor-2 .elementor-element.elementor-element-0d3f087{left:-84px;}body.rtl .elementor-2 .elementor-element.elementor-element-0d3f087{right:-84px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2 .elementor-element.elementor-element-1db72bc.eael_vto-vertical-lr, .elementor-2 .elementor-element.elementor-element-1db72bc.eael_vto-vertical-rl{writing-mode:vertical-lr;inline-size:0px;letter-spacing:0px;text-indent:-170px;line-height:350px;}.elementor-2 .elementor-element.elementor-element-1db72bc .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:20em;font-weight:800;text-shadow:0px 24px 30px rgba(19, 20, 20, 0.79);color:#141414;}.elementor-2 .elementor-element.elementor-element-5ab3192{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-108px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:3;}.elementor-2 .elementor-element.elementor-element-d498b48{margin:0px -20px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:110px 0px 0px 0px;z-index:11;text-align:start;}.elementor-2 .elementor-element.elementor-element-d498b48 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15.7em;font-weight:900;line-height:0.7em;letter-spacing:-5px;color:#141414;}.elementor-2 .elementor-element.elementor-element-56a1df8{margin:0px -30px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:11;text-align:end;}.elementor-2 .elementor-element.elementor-element-56a1df8.elementor-element{--align-self:flex-end;}.elementor-2 .elementor-element.elementor-element-56a1df8 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15.7em;font-weight:600;line-height:0.7em;letter-spacing:-5px;color:#141414;}.elementor-2 .elementor-element.elementor-element-f481948{margin:0px -30px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:11;text-align:center;}.elementor-2 .elementor-element.elementor-element-f481948 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15.7em;font-weight:400;line-height:0.7em;letter-spacing:-5px;color:#141414;}.elementor-2 .elementor-element.elementor-element-1ce9546{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:2;}.elementor-2 .elementor-element.elementor-element-0dd1b1b{margin:-578px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:10;}.elementor-2 .elementor-element.elementor-element-523c782{--display:flex;--justify-content:center;--overlay-opacity:0.5;--margin-top:-15%;--margin-bottom:6%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-2 .elementor-element.elementor-element-523c782:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-523c782 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00000000;}.elementor-2 .elementor-element.elementor-element-523c782::before, .elementor-2 .elementor-element.elementor-element-523c782 > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-523c782 > .e-con-inner > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-523c782 > .elementor-background-slideshow::before, .elementor-2 .elementor-element.elementor-element-523c782 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2 .elementor-element.elementor-element-523c782 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-2 .elementor-element.elementor-element-13c56a9{--display:flex;--min-height:100vh;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.98;--overlay-mix-blend-mode:multiply;--margin-top:-76%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-2 .elementor-element.elementor-element-13c56a9::before, .elementor-2 .elementor-element.elementor-element-13c56a9 > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-13c56a9 > .e-con-inner > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-13c56a9 > .elementor-background-slideshow::before, .elementor-2 .elementor-element.elementor-element-13c56a9 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2 .elementor-element.elementor-element-13c56a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#141414;--background-overlay:'';}.elementor-2 .elementor-element.elementor-element-13c56a9::before{filter:brightness( 20% ) contrast( 168% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2 .elementor-element.elementor-element-09c046d{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:5px 0px;--row-gap:5px;--column-gap:0px;box-shadow:0px 0px 100px 0px rgba(0, 0, 0, 0.36);--margin-top:-113px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:15%;--padding-right:5%;--z-index:17;}.elementor-2 .elementor-element.elementor-element-9277901{--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:flex-start;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#777777;--border-color:#777777;--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-dae3b9d{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;text-align:start;}.elementor-2 .elementor-element.elementor-element-dae3b9d .elementor-heading-title{font-family:"Bungee", Sans-serif;font-size:1em;font-weight:normal;letter-spacing:3.5px;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-bef49ec{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;}.elementor-2 .elementor-element.elementor-element-bef49ec .elementor-heading-title{font-family:"Bungee Hairline", Sans-serif;font-size:1em;font-weight:900;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-4b70145{--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:flex-start;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#777777;--border-color:#777777;--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-e25eb4e{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;text-align:start;}.elementor-2 .elementor-element.elementor-element-e25eb4e .elementor-heading-title{font-family:"Bungee", Sans-serif;font-size:1em;font-weight:normal;letter-spacing:3.5px;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-801a44a{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;}.elementor-2 .elementor-element.elementor-element-801a44a .elementor-heading-title{font-family:"Bungee Hairline", Sans-serif;font-size:1em;font-weight:900;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-404c781{--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:flex-start;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#777777;--border-color:#777777;--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-ec0c54a{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;text-align:start;}.elementor-2 .elementor-element.elementor-element-ec0c54a .elementor-heading-title{font-family:"Bungee", Sans-serif;font-size:1em;font-weight:normal;letter-spacing:3.5px;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-3103ddd{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;}.elementor-2 .elementor-element.elementor-element-3103ddd .elementor-heading-title{font-family:"Bungee Hairline", Sans-serif;font-size:1em;font-weight:900;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-7a94ef5{--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:flex-start;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#777777;--border-color:#777777;--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-60dc0a5{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;text-align:start;}.elementor-2 .elementor-element.elementor-element-60dc0a5 .elementor-heading-title{font-family:"Bungee", Sans-serif;font-size:1em;font-weight:normal;letter-spacing:3.5px;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-6e3ce23{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;}.elementor-2 .elementor-element.elementor-element-6e3ce23 .elementor-heading-title{font-family:"Bungee Hairline", Sans-serif;font-size:1em;font-weight:900;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-eb9076d{--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:flex-start;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#777777;--border-color:#777777;--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-2951511{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;text-align:start;}.elementor-2 .elementor-element.elementor-element-2951511 .elementor-heading-title{font-family:"Bungee", Sans-serif;font-size:1em;font-weight:normal;letter-spacing:3.5px;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-149c771{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;}.elementor-2 .elementor-element.elementor-element-149c771 .elementor-heading-title{font-family:"Bungee Hairline", Sans-serif;font-size:1em;font-weight:900;color:#FFFFFF;}body.elementor-page-2:not(.elementor-motion-effects-element-type-background), body.elementor-page-2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#141414;}html{height:100vh;margin:0;overflow:hidden;}body{height:100vh;overflow:auto;scroll-snap-type:y mandatory;}:root{--page-title-display:none;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button{bottom:15px;right:15px;width:50px;height:50px;z-index:9999;opacity:0.7;border-radius:5px;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button i{font-size:18px;color:#D00F80;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button svg{width:18px;height:18px;fill:#D00F80;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}@media(min-width:768px){.elementor-2 .elementor-element.elementor-element-13c56a9{--width:100%;}}@media(max-width:1024px){.elementor-2 .elementor-element.elementor-element-d498b48{padding:0px 0px 0px 200px;}.elementor-2 .elementor-element.elementor-element-d498b48 .elementor-heading-title{font-size:7.5em;}.elementor-2 .elementor-element.elementor-element-56a1df8{padding:0px 0px 0px 200px;}.elementor-2 .elementor-element.elementor-element-56a1df8 .elementor-heading-title{font-size:7.5em;}.elementor-2 .elementor-element.elementor-element-f481948{padding:0px 0px 0px 200px;}.elementor-2 .elementor-element.elementor-element-f481948 .elementor-heading-title{font-size:7.5em;}.elementor-2 .elementor-element.elementor-element-1ce9546{--min-height:28vh;}.elementor-2 .elementor-element.elementor-element-0dd1b1b{margin:-250px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2 .elementor-element.elementor-element-523c782{--margin-top:-41%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-2 .elementor-element.elementor-element-09c046d{--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}@media(max-width:767px){.elementor-2 .elementor-element.elementor-element-0d3f087{--width:71%;--min-height:0vh;top:420px;--z-index:13;}body:not(.rtl) .elementor-2 .elementor-element.elementor-element-0d3f087{left:-138px;}body.rtl .elementor-2 .elementor-element.elementor-element-0d3f087{right:-138px;}.elementor-2 .elementor-element.elementor-element-1db72bc{z-index:14;text-align:end;}.elementor-2 .elementor-element.elementor-element-1db72bc .elementor-heading-title{font-size:11em;}.elementor-2 .elementor-element.elementor-element-1db72bc.eael_vto-vertical-lr, .elementor-2 .elementor-element.elementor-element-1db72bc.eael_vto-vertical-rl{text-indent:-270px;}.elementor-2 .elementor-element.elementor-element-5ab3192{--min-height:100vh;--margin-top:-38px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;--z-index:12;}.elementor-2 .elementor-element.elementor-element-d498b48{padding:0px 0px 0px 50px;z-index:15;}.elementor-2 .elementor-element.elementor-element-d498b48 .elementor-heading-title{font-size:4em;letter-spacing:0px;}.elementor-2 .elementor-element.elementor-element-56a1df8{padding:0px 0px 0px 50px;z-index:15;}.elementor-2 .elementor-element.elementor-element-56a1df8 .elementor-heading-title{font-size:4em;letter-spacing:0px;}.elementor-2 .elementor-element.elementor-element-f481948{padding:0px 0px 0px 50px;z-index:15;}.elementor-2 .elementor-element.elementor-element-f481948 .elementor-heading-title{font-size:4em;letter-spacing:0px;}.elementor-2 .elementor-element.elementor-element-1ce9546{--min-height:20vh;--margin-top:-142%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-0dd1b1b{margin:-236px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2 .elementor-element.elementor-element-523c782{--min-height:86vh;--margin-top:-117%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-2 .elementor-element.elementor-element-13c56a9{--min-height:74vh;--margin-top:-239%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-2 .elementor-element.elementor-element-09c046d{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 0px;--row-gap:10px;--column-gap:0px;--margin-top:-308px;--margin-bottom:30px;--margin-left:30px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-09c046d.e-con{--flex-grow:0;--flex-shrink:1;}.elementor-2 .elementor-element.elementor-element-9277901{--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--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-2 .elementor-element.elementor-element-dae3b9d{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-bef49ec{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-4b70145{--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--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-2 .elementor-element.elementor-element-e25eb4e{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-801a44a{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-404c781{--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--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-2 .elementor-element.elementor-element-ec0c54a{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-3103ddd{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-7a94ef5{--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--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-2 .elementor-element.elementor-element-60dc0a5{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-6e3ce23{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-eb9076d{--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--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-2 .elementor-element.elementor-element-2951511{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-2 .elementor-element.elementor-element-149c771{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 40px 0px 0px;text-align:start;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}/* Start custom CSS for container, class: .elementor-element-1ce9546 */.dot-field {
  position: relative;
  width: 100%;
  height: 600px; /* <- resize the box here */
  overflow: hidden;
  --dot-color: #ff6d02;
  --dot-size: 2px;
  --dot-spacing: 20px;
  background: transparent;
}

.dot-layer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background-image: radial-gradient(
    circle,
    var(--dot-color) calc(var(--dot-size) / 2),
    transparent calc(var(--dot-size) / 2)
  );
  background-size: 20px 20px; /* matches --dot-spacing above; edit both together if you change it */
  background-repeat: repeat;
  background-color: transparent;

  /* a soft-edged region, opaque (fully visible) through most of its
     footprint and feathered to transparent at the rim -- the WHITE
     "visible" stop keeps this correct whether the browser treats the
     mask as alpha- or luminance-based */
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;

  animation-name: dot-field-pulse;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/* each layer runs its own period around a ~5s average, not a shared
   clock -- with different durations (not just delays) the phase
   relationship between layers keeps drifting over time, so they never
   lock into a visible repeating pattern the way equal-duration,
   offset-only timers eventually would */
.dot-layer:nth-child(1) {
  -webkit-mask-image: radial-gradient(ellipse 51.0% 35.4% at 9.7% 18.0%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 51.0% 35.4% at 9.7% 18.0%, white 0%, white 55%, transparent 100%);
  animation-duration: 4.72s;
  animation-delay: -2.57s;
}
.dot-layer:nth-child(2) {
  -webkit-mask-image: radial-gradient(ellipse 38.7% 42.7% at 30.4% 25.1%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 38.7% 42.7% at 30.4% 25.1%, white 0%, white 55%, transparent 100%);
  animation-duration: 5.01s;
  animation-delay: -3.03s;
}
.dot-layer:nth-child(3) {
  -webkit-mask-image: radial-gradient(ellipse 40.5% 38.5% at 61.3% 31.5%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 40.5% 38.5% at 61.3% 31.5%, white 0%, white 55%, transparent 100%);
  animation-duration: 5.58s;
  animation-delay: -0.37s;
}
.dot-layer:nth-child(4) {
  -webkit-mask-image: radial-gradient(ellipse 57.5% 34.9% at 88.7% 22.9%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 57.5% 34.9% at 88.7% 22.9%, white 0%, white 55%, transparent 100%);
  animation-duration: 4.23s;
  animation-delay: -3.54s;
}
.dot-layer:nth-child(5) {
  -webkit-mask-image: radial-gradient(ellipse 44.2% 50.3% at 6.8% 67.4%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 44.2% 50.3% at 6.8% 67.4%, white 0%, white 55%, transparent 100%);
  animation-duration: 4.77s;
  animation-delay: -1.12s;
}
.dot-layer:nth-child(6) {
  -webkit-mask-image: radial-gradient(ellipse 49.0% 35.3% at 39.7% 72.4%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 49.0% 35.3% at 39.7% 72.4%, white 0%, white 55%, transparent 100%);
  animation-duration: 6.39s;
  animation-delay: -3.01s;
}
.dot-layer:nth-child(7) {
  -webkit-mask-image: radial-gradient(ellipse 44.3% 45.7% at 65.4% 73.6%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 44.3% 45.7% at 65.4% 73.6%, white 0%, white 55%, transparent 100%);
  animation-duration: 6.04s;
  animation-delay: -2.88s;
}
.dot-layer:nth-child(8) {
  -webkit-mask-image: radial-gradient(ellipse 42.9% 45.5% at 92.2% 79.0%, white 0%, white 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 42.9% 45.5% at 92.2% 79.0%, white 0%, white 55%, transparent 100%);
  animation-duration: 5.61s;
  animation-delay: -0.84s;
}

@keyframes dot-field-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .dot-layer { animation: none; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-523c782 */.magenta-drift {
  --ink: #f6e4ee;
  --ink-dim: #caa7bd;
  --hairline: rgba(246, 228, 238, 0.14);

  position: relative;
  width: 100%;
  height: 60vh; /* <- resize the box here */
  overflow: hidden;
  background: transparent;
  font-family: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  color: var(--ink);
  isolation: isolate;
}

.magenta-drift, .magenta-drift * {
  box-sizing: border-box;
}

.magenta-drift .stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}

.magenta-drift .shape {
  position: absolute;
  will-change: clip-path, transform, width, height;
  mix-blend-mode: screen;
  filter: saturate(1.05);
  animation-name: magenta-drift-shape;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  transform: translate(0, 0);
}

@keyframes magenta-drift-shape {
  0% {
    clip-path: var(--p0);
    width: var(--w0);
    height: var(--h0);
    transform: translate(0, 0);
  }
  50% {
    clip-path: var(--p1);
    width: var(--w1);
    height: var(--h1);
    transform: translate(var(--tx), var(--ty));
  }
  100% {
    clip-path: var(--p0);
    width: var(--w0);
    height: var(--h0);
    transform: translate(0, 0);
  }
}

.magenta-drift .label {
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: none;
}

.magenta-drift .label .title {
  font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 0.01em;
  color: var(--ink);
  text-shadow: 0 1px 24px rgba(0, 0, 0, 0.6);
}

.magenta-drift .label .meta {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-dim);
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.6);
}

.magenta-drift .label .rule {
  width: 34px;
  height: 1px;
  background: var(--hairline);
  margin: 2px 0 4px;
}

@media (prefers-reduced-motion: reduce) {
  .magenta-drift .shape { animation: none; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-09c046d *//* =====================================================================
   Paste this into: select the Container in Elementor > Advanced tab >
   Custom CSS. (It'll work regardless of exactly where you paste it on
   the page - see the note below on why this doesn't use Elementor's
   ".elementor-2 .elementor-element.elementor-element-09c046d" keyword.)

   Grid: 3x3, 80px tiles, 20px gaps -> the grid's own footprint is
   3*80 + 2*20 = 280px. The active (clicked) tile grows to 400px -
   bigger than that 280px footprint on purpose, so it overlaps its
   neighbors - and stays perfectly centered on the whole grid no matter
   which of the 9 tiles is active.

   Font: the 2-letter resting code AND the full-word label shown on the
   active tile both use Montserrat. This file does NOT load that font -
   it assumes your site already does (you confirmed it's already
   added). If that ever changes, the text will silently fall back to a
   generic sans-serif rather than break anything.

   Note on ".elementor-2 .elementor-element.elementor-element-09c046d": Elementor's ".elementor-2 .elementor-element.elementor-element-09c046d" keyword expands to the
   Container itself, but the HTML widget you'll add (next file) sits
   one or two wrapper divs *inside* that container. Grid/flex layout
   only affects an element's DIRECT children, so scoping these rules to
   ".elementor-2 .elementor-element.elementor-element-09c046d" would apply the grid to the wrong element and the tiles
   would never line up. These rules anchor to #rpGrid instead - the
   actual div the tiles get placed in - so it works no matter how
   Elementor nests things. You can still keep this pasted in the
   Container's Custom CSS panel purely for your own organization.

   iPhone fix: when tiles push outward past the grid's own 280x280 box,
   that's just a CSS transform - by default the browser still counts it
   as real page content, so the page becomes wider than the screen and
   mobile Safari zooms the whole page out to compensate, which is what
   makes everything ELSE on the page look inset from the edges. The
   html,body rule below stops that: the push motion still happens, it
   just quietly clips at the screen edge instead of widening the page.
   If your theme already sets overflow-x on html/body elsewhere, this
   just reinforces it - safe to have twice.
   ===================================================================== */

html, body {
  overflow-x: hidden;
}

#rpGrid {
  --tile: 80px;
  --gap: 20px;
  --step: 100px;  /* = --tile + --gap. Keep in sync if you resize the
                      tiles/gap, or the "cover the grid" alignment below
                      will drift off. */
  --push: 150px;  /* how far non-active tiles slide outward, per ring,
                      to make room for the one growing. Sized so the
                      edge-center neighbors (directly above/below/left/
                      right of the active tile) still clear the bigger
                      --active-size box with a small margin - otherwise
                      the active tile sits on top of them and you can't
                      click through to switch directly. If you change
                      --active-size, re-check this value: it needs to be
                      at least (--active-size / 2) + (--tile / 2) -
                      --step, plus a small margin. */
  --tile-outline: #FF6A1A; /* PLACEHOLDER - replace with the exact
                              orange from your dot grid graphic */
  --tile-fill: rgba(20, 20, 20, .7); /* #141414 at 70% opacity */
  --full: calc(3 * var(--tile) + 2 * var(--gap)); /* the grid's own
                              280px footprint - no longer used to size
                              the active tile (see --active-size below)
                              but kept for reference/future use */
  --active-size: 400px; /* how big the clicked tile grows to. On
                              purpose bigger than the grid's own 280px
                              footprint, so it overlaps neighbors - tune
                              to taste, but see the --push note above if
                              you change it. */
  --code-size: 26px; /* font size of the 2-letter code shown at rest */
  --label-size: 28px; /* font size of the full-word label shown only
                              while a tile is active/enlarged */
  display: grid;
  grid-template-columns: repeat(3, var(--tile));
  grid-template-rows: repeat(3, var(--tile));
  gap: var(--gap);
  width: fit-content;   /* without this the grid stretches to fill
                            whatever Container/column you drop it in,
                            instead of sizing to its own 280x280
                            footprint - which breaks the alignment math
                            above. */
  margin: 0 auto;        /* centers the grid inside a wider Container;
                            remove if you want it left-aligned instead */
  position: relative;
}

/* On narrow phone screens, pull the push distance in a bit so less of
   it ever needs to be clipped by the overflow-x fix above - keeps the
   motion feeling intentional rather than tiles vanishing at the edge. */
@media (max-width: 480px) {
  #rpGrid { --push: 110px; --active-size: 320px; }
}

#rpGrid .rp-tile {
  width: var(--tile);
  height: var(--tile);
  background-color: var(--tile-fill);
  outline: 1px solid var(--tile-outline);
  outline-offset: -1px;
  background-size: cover;
  background-position: center;
  cursor: pointer;
  position: relative;
  z-index: 1;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Grown via width/height below, not transform:scale() - scale()
     stretches EVERYTHING uniformly, outline included, which is what
     was turning the 1px outline into a ~7px one at full size. Width/
     height changes the box itself, so outline-width stays literally
     1px no matter how big the tile gets. justify-self/align-self:
     center makes that growth expand evenly in all 4 directions from
     the tile's own center (same visual anchor scale() gave us),
     instead of just growing right/down from a corner. */
  justify-self: center;
  align-self: center;
  transform: translate(0, 0);
  transition: width .4s cubic-bezier(.22,1,.36,1), height .4s cubic-bezier(.22,1,.36,1), transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}

/* The 2-letter code shown on every resting/pushed tile - Montserrat,
   colored to match the outline. */
#rpGrid .rp-tile-code {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: var(--code-size);
  letter-spacing: .5px;
  line-height: 1;
  color: var(--tile-outline);
  pointer-events: none;
  user-select: none;
  transition: opacity .15s ease;
}

/* The code disappears once its tile is the active/enlarged one - only
   the photo shows there. Non-active (including pushed) tiles keep
   showing their code. */
#rpGrid.has-active .rp-tile.is-active .rp-tile-code {
  opacity: 0;
}

/* The full-word keyword label (e.g. "BRANDING") shown ONLY on the
   active/enlarged tile, in place of the 2-letter code. Sits at the
   bottom of the photo, on a dark gradient scrim so it stays readable
   over any image. Hidden on resting/pushed tiles. */
#rpGrid .rp-tile-label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 22px 24px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: var(--label-size);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--tile-outline);
  background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0) 75%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

#rpGrid.has-active .rp-tile.is-active .rp-tile-label {
  opacity: 1;
}

/* This used to be driven by :hover. It's now driven by a click, so it
   also works on phones/tablets (which don't really have "hover") - the
   HTML widget's script toggles "has-active" on #rpGrid and "is-active"
   on the clicked tile.

   While the grid has an active tile: every OTHER tile slides outward
   from the grid's own center, along its own row/column offset
   (--dx / --dy, set per tile by the script). This is what makes the
   *other* squares visibly react to the one being revealed. */
#rpGrid.has-active .rp-tile {
  transform: translate(calc(var(--dx) * var(--push)), calc(var(--dy) * var(--push)));
  z-index: 2;
}

/* The active tile itself overrides the push above (this .elementor-2 .elementor-element.elementor-element-09c046d is
   intentionally more specific so it always wins): instead of sliding
   outward it slides INWARD toward the grid's center by exactly its own
   offset (--dx/--dy * --step) while growing to --active-size, so it
   ends up perfectly centered over the whole grid regardless of size.
   That "slide toward center while growing" is the "grows from the
   outside edge towards the center" motion.

   Note this translate math only cancels the tile's own natural offset
   from the grid center - it never referenced the old fixed 280px size,
   so it stays correct at any --active-size (this is also why bumping
   --active-size above the grid's own 280px footprint, so the active
   tile now overlaps its neighbors, needed no change here - only the
   --push value above needed adjusting to keep neighbors clickable).

   A first click on a tile sets this state; a second click on the (now
   large, centered) tile opens the lightbox. */
#rpGrid.has-active .rp-tile.is-active {
  width: var(--active-size);
  height: var(--active-size);
  transform: translate(calc(var(--dx) * var(--step) * -1), calc(var(--dy) * var(--step) * -1));
  box-shadow: 0 25px 70px rgba(0,0,0,.55);
  z-index: 50;
  background-image: var(--tile-image);
}

#rpGrid .rp-tile:focus-visible {
  outline: 2px solid rgba(255,255,255,.85);
  outline-offset: 2px;
}

/* Lightbox popup */
#rpGrid .rp-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,10,12,.92);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

#rpGrid .rp-lightbox.is-open {
  display: flex;
}

#rpGrid .rp-lightbox-inner {
  max-width: 900px;
  width: 100%;
  text-align: center;
}

#rpGrid .rp-lightbox-frame {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

#rpGrid .rp-lightbox-img {
  max-width: 100%;
  max-height: 62vh;
  border-radius: 0;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

#rpGrid .rp-lightbox-nav {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  flex: 0 0 auto;
}

#rpGrid .rp-lightbox-nav:hover {
  background: rgba(255,255,255,.18);
}

#rpGrid .rp-lightbox-prev { margin-right: 16px; }
#rpGrid .rp-lightbox-next { margin-left: 16px; }

#rpGrid .rp-lightbox-close {
  position: absolute;
  top: -8px;
  right: -8px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
}

#rpGrid .rp-lightbox-close:hover {
  background: rgba(255,255,255,.2);
}

#rpGrid .rp-lightbox-meta {
  margin-top: 20px;
}

#rpGrid .rp-lightbox-title {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 4px;
  color: #fff;
}

#rpGrid .rp-lightbox-count {
  font-size: 13px;
  color: #9a9aa2;
  margin: 0 0 14px;
}

#rpGrid .rp-lightbox-link {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  padding-bottom: 1px;
}

#rpGrid .rp-lightbox-link:hover {
  opacity: .75;
}

/* If you ever add a SECOND grid to the same page, duplicate this whole
   file and the HTML widget file, then find-and-replace every "rpGrid"
   with a new unique name (e.g. "rpGrid2") in both files - IDs must be
   unique per page. *//* End custom CSS */