.elementor-2076 .elementor-element.elementor-element-1e9aad7c{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2076 .elementor-element.elementor-element-1e9aad7c:not(.elementor-motion-effects-element-type-background), .elementor-2076 .elementor-element.elementor-element-1e9aad7c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A1A1A;}.elementor-2076 .elementor-element.elementor-element-259b2151{--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;}.elementor-2076 .elementor-element.elementor-element-73828b6e{--display:flex;}.elementor-2076 .elementor-element.elementor-element-73828b6e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2076 .elementor-element.elementor-element-540dc7fb{width:var( --container-widget-width, 109.178% );max-width:109.178%;--container-widget-width:109.178%;--container-widget-flex-grow:0;}.elementor-2076 .elementor-element.elementor-element-540dc7fb.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2076 .elementor-element.elementor-element-c1fedf6{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Georgia, serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-2076 .elementor-element.elementor-element-377b7f.elementor-element{--align-self:flex-end;}.elementor-2076 .elementor-element.elementor-element-377b7f .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-377b7f .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2076 .elementor-element.elementor-element-377b7f{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2076 .elementor-element.elementor-element-377b7f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2076 .elementor-element.elementor-element-377b7f .elementor-icon-list-item > a{font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-377b7f .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-5183e443{--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:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#C9C5BC;--border-color:#C9C5BC;--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2076 .elementor-element.elementor-element-5183e443:not(.elementor-motion-effects-element-type-background), .elementor-2076 .elementor-element.elementor-element-5183e443 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F2ED;}.elementor-2076 .elementor-element.elementor-element-958c173{--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;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Georgia, serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-2076 .elementor-element.elementor-element-00982b3{width:var( --container-widget-width, 17.01% );max-width:17.01%;--container-widget-width:17.01%;--container-widget-flex-grow:0;text-align:center;}.elementor-2076 .elementor-element.elementor-element-00982b3 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-00982b3.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2076 .elementor-element.elementor-element-00982b3 img{width:61%;border-style:solid;border-color:#02010100;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-81bde9c{--display:flex;}.elementor-2076 .elementor-element.elementor-element-81bde9c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Georgia, serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Georgia, serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2076 .elementor-element.elementor-element-317da6a .elementor-menu-toggle{margin:0 auto;}.elementor-2076 .elementor-element.elementor-element-317da6a .elementor-nav-menu--main .elementor-item:hover,
					.elementor-2076 .elementor-element.elementor-element-317da6a .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-2076 .elementor-element.elementor-element-317da6a .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-2076 .elementor-element.elementor-element-317da6a .elementor-nav-menu--main .elementor-item:focus{color:#1B3A57;fill:#1B3A57;}.elementor-2076 .elementor-element.elementor-element-317da6a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-2076 .elementor-element.elementor-element-317da6a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#1B3A57;}.elementor-2076 .elementor-element.elementor-element-317da6a .e--pointer-framed .elementor-item:before,
					.elementor-2076 .elementor-element.elementor-element-317da6a .e--pointer-framed .elementor-item:after{border-color:#1B3A57;}.elementor-2076 .elementor-element.elementor-element-a598994{--display:flex;--min-height:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Georgia, serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2076 .elementor-element.elementor-element-e179251 .elementor-button{background-color:rgb(27, 58, 87);font-family:"Inter", Georgia, serif;font-size:14px;font-weight:500;line-height:22.4px;fill:rgb(255, 255, 255);color:rgb(255, 255, 255);padding:12px 22px 12px 22px;}.elementor-2076 .elementor-element.elementor-element-e179251 .elementor-button:hover, .elementor-2076 .elementor-element.elementor-element-e179251 .elementor-button:focus{background-color:#FFFFFF00;}.elementor-2076 .elementor-element.elementor-element-e179251 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-7cf04ed{--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:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#C9C5BC;--border-color:#C9C5BC;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Georgia, serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2076 .elementor-element.elementor-element-846b290{width:100%;max-width:100%;font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-846b290 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-2076 .elementor-element.elementor-element-7a8a7fb{--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:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#C9C5BC;--border-color:#C9C5BC;}.elementor-2076 .elementor-element.elementor-element-86e69ef{width:100%;max-width:100%;}.elementor-2076 .elementor-element.elementor-element-86e69ef > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-2076 .elementor-element.elementor-element-a040b95{width:100%;max-width:100%;font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-a040b95 > .elementor-widget-container{margin:0px 0px 24px 0px;}.elementor-2076 .elementor-element.elementor-element-a22e10f > .elementor-widget-container{margin:32px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-a22e10f.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2076 .elementor-element.elementor-element-831d7d2{--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;--overlay-opacity:1;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#C9C5BC;--border-color:#C9C5BC;}.elementor-2076 .elementor-element.elementor-element-831d7d2::before, .elementor-2076 .elementor-element.elementor-element-831d7d2 > .elementor-background-video-container::before, .elementor-2076 .elementor-element.elementor-element-831d7d2 > .e-con-inner > .elementor-background-video-container::before, .elementor-2076 .elementor-element.elementor-element-831d7d2 > .elementor-background-slideshow::before, .elementor-2076 .elementor-element.elementor-element-831d7d2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2076 .elementor-element.elementor-element-831d7d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#FFFFFF;--background-overlay:'';}.elementor-2076 .elementor-element.elementor-element-0f8f2b4{width:100%;max-width:100%;}.elementor-2076 .elementor-element.elementor-element-0f8f2b4 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-2076 .elementor-element.elementor-element-2a78b9c{width:100%;max-width:100%;font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-2a78b9c > .elementor-widget-container{margin:0px 0px 24px 0px;}.elementor-2076 .elementor-element.elementor-element-2c009de{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:auto;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--grid-justify-content:flex-start;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:rgb(201, 197, 188);--border-color:rgb(201, 197, 188);--border-radius:0px 0px 0px 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-2076 .elementor-element.elementor-element-1f61bcf{--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;}.elementor-2076 .elementor-element.elementor-element-57d046c{width:100%;max-width:100%;}.elementor-2076 .elementor-element.elementor-element-57d046c > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-2076 .elementor-element.elementor-element-a17203e{width:100%;max-width:100%;font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-a17203e > .elementor-widget-container{margin:0px 0px 24px 0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Georgia, serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2076 .elementor-element.elementor-element-9492273{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-9492273 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-9492273 .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-1bffa5d{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-1bffa5d > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-1bffa5d .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-50c0c88{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-50c0c88 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-50c0c88 .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-1c799df{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-1c799df > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-1c799df .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-1f737de{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-1f737de > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-1f737de .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-8a4112e{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-8a4112e > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-8a4112e .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-af17bd4{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-af17bd4 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-af17bd4 .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-e610cf7{width:100%;max-width:100%;text-align:start;}.elementor-2076 .elementor-element.elementor-element-e610cf7 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;border-radius:0px 0px 0px 0px;}.elementor-2076 .elementor-element.elementor-element-e610cf7 .elementor-heading-title{font-family:"IBM Plex Sans", Georgia, serif;font-size:17px;font-weight:400;text-transform:none;line-height:1.6;color:rgb(74, 74, 74);}.elementor-2076 .elementor-element.elementor-element-355c114{--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;--overlay-opacity:1;}.elementor-2076 .elementor-element.elementor-element-355c114::before, .elementor-2076 .elementor-element.elementor-element-355c114 > .elementor-background-video-container::before, .elementor-2076 .elementor-element.elementor-element-355c114 > .e-con-inner > .elementor-background-video-container::before, .elementor-2076 .elementor-element.elementor-element-355c114 > .elementor-background-slideshow::before, .elementor-2076 .elementor-element.elementor-element-355c114 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2076 .elementor-element.elementor-element-355c114 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#1B3A57;--background-overlay:'';}.elementor-2076 .elementor-element.elementor-element-3d5950ec{--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;--padding-top:80px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-2076 .elementor-element.elementor-element-3d5950ec:not(.elementor-motion-effects-element-type-background), .elementor-2076 .elementor-element.elementor-element-3d5950ec > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A1A1A;}.elementor-2076 .elementor-element.elementor-element-3d5950ec.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2076 .elementor-element.elementor-element-67ed429b{--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;}.elementor-2076 .elementor-element.elementor-element-1ccbfcf{--display:flex;}.elementor-2076 .elementor-element.elementor-element-1217fb3b{--display:flex;}.elementor-2076 .elementor-element.elementor-element-7891341c .elementor-heading-title{font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:#B2B2B2;}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-9px/2);}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-9px/2);}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2076 .elementor-element.elementor-element-6aa632e0{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-item > a{font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-6aa632e0 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-7d361540{--display:flex;}.elementor-2076 .elementor-element.elementor-element-70f6900c .elementor-heading-title{font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:#B2B2B2;}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-9px/2);}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-9px/2);}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-item > a{font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-6dc9c3d7 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-488d2d00{--display:flex;}.elementor-2076 .elementor-element.elementor-element-4fcb2d47 .elementor-heading-title{font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:#B2B2B2;}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(9px/2);}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-9px/2);}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-9px/2);}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2076 .elementor-element.elementor-element-3374c328{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-item > a{font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;}.elementor-2076 .elementor-element.elementor-element-3374c328 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-2076 .elementor-element.elementor-element-10291abd{--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;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:#F5F2ED26;--border-color:#F5F2ED26;}.elementor-2076 .elementor-element.elementor-element-54a7ff4d{width:var( --container-widget-width, 65.351% );max-width:65.351%;--container-widget-width:65.351%;--container-widget-flex-grow:0;font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;color:#737373;}.elementor-2076 .elementor-element.elementor-element-54a7ff4d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2076 .elementor-element.elementor-element-52ff27bb{width:var( --container-widget-width, 32.258% );max-width:32.258%;--container-widget-width:32.258%;--container-widget-flex-grow:0;text-align:end;font-family:"IBM Plex Mono", Georgia, serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0.18em;color:#737373;}.elementor-2076 .elementor-element.elementor-element-52ff27bb.elementor-element{--flex-grow:0;--flex-shrink:0;}@media(min-width:768px){.elementor-2076 .elementor-element.elementor-element-73828b6e{--width:57.866%;}.elementor-2076 .elementor-element.elementor-element-c1fedf6{--width:50%;}.elementor-2076 .elementor-element.elementor-element-81bde9c{--width:60.811%;}.elementor-2076 .elementor-element.elementor-element-a598994{--width:18%;}.elementor-2076 .elementor-element.elementor-element-3d5950ec{--width:100%;}.elementor-2076 .elementor-element.elementor-element-1ccbfcf{--width:30%;}.elementor-2076 .elementor-element.elementor-element-1217fb3b{--width:23%;}.elementor-2076 .elementor-element.elementor-element-7d361540{--width:23%;}.elementor-2076 .elementor-element.elementor-element-488d2d00{--width:23%;}}@media(max-width:1024px){.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-2076 .elementor-element.elementor-element-2c009de{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;--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-2076 .elementor-element.elementor-element-9492273 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-1bffa5d > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-50c0c88 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-1c799df > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-1f737de > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-8a4112e > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-af17bd4 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-e610cf7 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}}@media(max-width:767px){.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-2076 .elementor-element.elementor-element-2c009de{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--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-2076 .elementor-element.elementor-element-9492273 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-1bffa5d > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-50c0c88 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-1c799df > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-1f737de > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-8a4112e > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-af17bd4 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}.elementor-2076 .elementor-element.elementor-element-e610cf7 > .elementor-widget-container{margin:0px 0px 12px 0px;padding:0px 0px 0px 28px;}}/* Start custom CSS for icon-list, class: .elementor-element-377b7f *//* ========================================================================
   MODERN ALPHA PLASTICS — Elementor custom CSS
   Paste this into:
     Elementor → Site Settings → Custom CSS
     OR  Appearance → Customize → Additional CSS
     OR  Elementor → Custom Code → "Site Wide" snippet (Pro only)

   These rules apply visual finishes Elementor's default widgets don't expose
   in their settings panels. They reference the global colors set in the kit
   so they update automatically if the brand palette ever shifts.
   ======================================================================== */

:root {
  --map-bg: #F5F2ED;
  --map-surface: #FFFFFF;
  --map-ink: #1A1A1A;
  --map-ink-soft: #4A4A4A;
  --map-ink-faint: #7A7670;
  --map-rule: #C9C5BC;
  --map-rule-soft: #E5E1D8;
  --map-accent: #1B3A57;
  --map-accent-hover: #0F2538;
  --map-accent-tint: #EAEEF3;
  --map-gold: #C7A878;
}

/* ---------- 1. Body baseline ---------- */
body {
  background: var(--map-bg);
  color: var(--map-ink);
  font-feature-settings: "ss01" on, "ss02" on; /* Fraunces stylistic sets */
  -webkit-font-smoothing: antialiased;
}

/* ---------- 2. MAP wordmark in logo ---------- */
.map-logo .map-mark {
  display: inline-block;
  background: var(--map-accent);
  color: var(--map-bg);
  padding: 4px 10px;
  margin-right: 10px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

/* ---------- 3. Utility bar (top of page, dark band) ---------- */
.map-util-bar {
  background: var(--map-ink);
  color: var(--map-bg);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  padding: 10px 0;
}
.map-util-bar a { color: var(--map-bg) !important; text-decoration: none; }
.map-util-bar a:hover { color: #fff !important; }
.map-pulse {
  display: inline-block;
  width: 8px; height: 8px;
  background: #4CAF50;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
  animation: mapPulse 2s infinite;
}
@keyframes mapPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

/* ---------- 4. Eyebrow labels (numbered section openers) ---------- */
.map-eyebrow {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--map-ink-faint);
  text-transform: none;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.map-eyebrow .num { color: var(--map-accent); font-weight: 500; }

/* ---------- 5. H2 italic accent on emphasized words ---------- */
.map-section h2 em,
.map-section h1 em {
  font-style: italic;
  font-weight: 400;
  color: var(--map-accent);
}

/* ---------- 6. Greyscale rule lines (NO colored borders, ever) ---------- */
.map-section,
.map-card,
.map-card-grid > * {
  border-color: var(--map-rule) !important;
}

/* ---------- 7. Capability / industry card grid ---------- */
.map-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--map-rule);
  border-left: 1px solid var(--map-rule);
}
.map-card-grid > .map-card {
  padding: 48px 40px;
  border-right: 1px solid var(--map-rule);
  border-bottom: 1px solid var(--map-rule);
  background: var(--map-surface);
  transition: background 0.25s ease;
  text-decoration: none;
  color: var(--map-ink);
  display: block;
}
.map-card-grid > .map-card:hover {
  background: var(--map-accent-tint);
  text-decoration: none;
  color: var(--map-ink);
}
.map-card .map-card-num {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--map-ink-faint);
  margin-bottom: 28px;
  display: block;
}

/* ---------- 8. Industries grid (4-up, with NEW badge) ---------- */
.map-ind-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--map-rule);
  border: 1px solid var(--map-rule);
}
.map-ind-grid > .map-ind-tile {
  background: var(--map-surface);
  padding: 36px 28px;
  text-decoration: none;
  color: var(--map-ink);
  display: block;
  position: relative;
  transition: background 0.25s ease;
}
.map-ind-tile.featured { background: var(--map-bg); }
.map-ind-tile:hover { background: var(--map-accent); color: var(--map-bg); text-decoration: none; }
.map-ind-tile:hover .map-ind-meta { color: rgba(245,242,237,0.7); }
.map-ind-tile:hover .map-ind-name { color: var(--map-bg); }
.map-ind-tile.new::after {
  content: "NEW";
  position: absolute;
  top: 14px; right: 14px;
  background: var(--map-accent);
  color: var(--map-bg);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  padding: 3px 7px;
  letter-spacing: 0.1em;
}
.map-ind-tile.new:hover::after { background: var(--map-bg); color: var(--map-accent); }
.map-ind-meta {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: none;
  color: var(--map-ink-faint);
  margin-bottom: 14px;
  display: block;
}
.map-ind-name {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

@media (max-width: 1024px) {
  .map-card-grid { grid-template-columns: 1fr; }
  .map-ind-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .map-ind-grid { grid-template-columns: 1fr; }
}

/* ---------- 9. Spec card (At-a-glance label) ---------- */
.map-spec-card {
  background: var(--map-surface);
  padding: 40px 36px;
  border: 1px solid var(--map-rule);
  position: relative;
}
.map-spec-card::before {
  content: "AT-A-GLANCE";
  position: absolute;
  top: -10px; left: 32px;
  background: var(--map-bg);
  padding: 0 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--map-ink-faint);
}
.map-spec-card .map-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid var(--map-rule-soft);
  font-size: 14px;
}
.map-spec-card .map-spec-row:last-child { border-bottom: none; padding-bottom: 0; }
.map-spec-card .map-spec-row:first-child { padding-top: 0; }
.map-spec-card .map-spec-label { color: var(--map-ink-soft); }
.map-spec-card .map-spec-value {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  color: var(--map-ink);
  font-size: 13px;
}

/* ---------- 10. Trust strip (dark band of numbers) ---------- */
.map-trust-strip {
  background: var(--map-ink) !important;
  color: var(--map-bg) !important;
  padding: 56px 0;
}
.map-trust-strip .map-trust-num {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 500;
  font-size: 44px;
  line-height: 1;
  color: var(--map-bg);
  margin-bottom: 12px;
}
.map-trust-strip .map-trust-label {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: none;
  color: rgba(245,242,237,0.7);
}
.map-trust-strip .map-trust-item {
  border-left: 1px solid rgba(245,242,237,0.2);
  padding-left: 20px;
}

/* ---------- 11. Process list (numbered checkpoints) ---------- */
.map-process-list { list-style: none; padding: 0; margin: 0; counter-reset: map-step; }
.map-process-list li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-top: 1px solid var(--map-rule);
}
.map-process-list li:last-child { border-bottom: 1px solid var(--map-rule); }
.map-process-list .map-step-num {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 1;
  color: var(--map-accent);
  letter-spacing: -0.02em;
}

/* ---------- 12. Anthony portrait card ---------- */
.map-anthony-portrait {
  width: 100%;
  aspect-ratio: 4 / 5;
  background: linear-gradient(135deg, #2A2A2A 0%, #1A1A1A 100%);
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
}
.map-anthony-portrait::after {
  content: "ANTHONY C. GROSS";
  position: absolute;
  bottom: 24px; left: 24px;
  color: var(--map-bg);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
}
.map-anthony-quote {
  font-family: "Fraunces", Georgia, serif;
  font-style: italic;
  font-size: 17px;
  line-height: 1.5;
  color: var(--map-ink);
  border-left: 2px solid var(--map-accent);
  padding-left: 20px;
  margin: 0;
}

/* ---------- 13. Final CTA dark band ---------- */
.map-final-cta {
  background: var(--map-accent);
  color: var(--map-bg);
  padding: 112px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.map-final-cta::before {
  content: "";
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(255,255,255,0.02) 20px, rgba(255,255,255,0.02) 21px);
  pointer-events: none;
}
.map-final-cta * { position: relative; }
.map-final-cta h2 { color: var(--map-bg) !important; }
.map-final-cta h2 em { color: var(--map-gold) !important; }
.map-final-cta p { color: rgba(245,242,237,0.85); }

/* ---------- 14. Form polish (when using Elementor Pro Form widget) ---------- */
.elementor-form .elementor-field-label {
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: none !important;
  color: var(--map-ink-faint) !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
}
.elementor-form .elementor-field {
  background: var(--map-bg) !important;
  border: 1px solid var(--map-rule) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 15px !important;
  color: var(--map-ink) !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.elementor-form .elementor-field:focus {
  border-color: var(--map-accent) !important;
  background: var(--map-surface) !important;
  outline: none !important;
}
.elementor-form .elementor-button {
  background: var(--map-accent) !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 16px 28px !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.01em !important;
  border: none !important;
  transition: background 0.2s ease;
}
.elementor-form .elementor-button:hover { background: var(--map-accent-hover) !important; }

/* Helper text under fields */
.elementor-field-group .map-helper {
  font-size: 12px;
  color: var(--map-ink-faint);
  margin-top: 8px;
  font-family: "IBM Plex Sans", sans-serif;
}

/* ---------- 15. Buttons (Elementor default button polish) ---------- */
.elementor-button.map-btn-primary,
.elementor-element .elementor-button.map-btn-primary {
  background: var(--map-accent) !important;
  color: #fff !important;
  padding: 16px 28px !important;
  border-radius: 0 !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}
.elementor-button.map-btn-primary:hover { background: var(--map-accent-hover) !important; }

.elementor-button.map-btn-secondary {
  background: transparent !important;
  color: var(--map-ink) !important;
  border: 1px solid var(--map-ink) !important;
  border-radius: 0 !important;
  padding: 15px 27px !important;
  font-weight: 500 !important;
}
.elementor-button.map-btn-secondary:hover {
  background: var(--map-ink) !important;
  color: var(--map-bg) !important;
}

/* ---------- 16. Tables (Elementor doesn't have a strong native table widget;
                use shortcode or HTML widget) ---------- */
.map-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.map-data-table th, .map-data-table td {
  text-align: left;
  padding: 16px 20px;
  border-bottom: 1px solid var(--map-rule);
}
.map-data-table th {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: none;
  color: var(--map-ink-faint);
  font-weight: 500;
}
.map-data-table td {
  font-family: "IBM Plex Mono", monospace;
  color: var(--map-ink);
}
.map-data-table td:first-child {
  font-family: "Fraunces", Georgia, serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* Inverse table (on dark sections) */
.map-section.dark .map-data-table th { color: rgba(245,242,237,0.6); }
.map-section.dark .map-data-table th,
.map-section.dark .map-data-table td { border-bottom-color: rgba(245,242,237,0.15); }
.map-section.dark .map-data-table td { color: var(--map-bg); }

/* ---------- 17. Typography baseline overrides (anywhere Elementor falls back) ---------- */
h1, h2, h3, h4 { font-family: "Fraunces", Georgia, serif; letter-spacing: -0.02em; font-weight: 500; }
body, p, .elementor-widget-text-editor { font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif; }

/* Disable Elementor default rounded corners — industrial editorial uses square edges */
.elementor-button, .elementor-field, .elementor-image-box-img img { border-radius: 0 !important; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-846b290 */.em-001yy1 { color: rgb(27, 58, 87); font-style: italic; } .h1-eunrbz { color: rgb(26, 26, 26); font-family: Fraunces, Georgia, serif; font-size: 56px; font-weight: 500; letter-spacing: -1.12px; line-height: 1.05; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-wrap-mode: wrap; border-color: rgb(26, 26, 26); border-radius: 0px; padding: 0px; border-width: 3px; } .em-ngq7i5 { color: rgb(27, 58, 87); display: inline; font-family: Fraunces, Georgia, serif; font-size: 56px; font-style: italic; letter-spacing: -1.12px; line-height: 1.05; border-color: rgb(27, 58, 87); border-radius: 0px; margin: 0px; padding: 0px; border-width: 3px; } @media (max-width: 1024px) { .h1-eunrbz { font-size: 36px; letter-spacing: -0.72px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-ngq7i5 { display: inline; font-size: 36px; letter-spacing: -0.72px; margin: 0px; padding: 0px; } } @media (max-width: 767px) { .h1-eunrbz { margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-ngq7i5 { display: inline; margin: 0px; padding: 0px; } }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-86e69ef */.span-lpiux6 { color: rgb(27, 58, 87); font-weight: 500; } .div-8mfwo2 { align-items: center; color: rgb(122, 118, 112); display: flex; font-family: IBM Plex Mono, Courier New, monospace; font-size: 12px; letter-spacing: 2.16px; line-height: 1.6; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-wrap-mode: wrap; text-transform: uppercase; border-color: rgb(122, 118, 112); border-radius: 0px; padding: 0px; border-width: 3px; gap: 14px; } .span-eeizxz { color: rgb(27, 58, 87); font-family: IBM Plex Mono, Courier New, monospace; font-size: 12px; font-weight: 500; letter-spacing: 2.16px; line-height: 1.6; text-wrap-mode: wrap; text-transform: uppercase; border-color: rgb(27, 58, 87); border-radius: 0px; margin: 0px; padding: 0px; border-width: 3px; } @media (max-width: 1024px) { .div-8mfwo2 { display: flex; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .span-eeizxz { margin: 0px; padding: 0px; } } @media (max-width: 767px) { .div-8mfwo2 { display: flex; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .span-eeizxz { margin: 0px; padding: 0px; } }.elementor-2076 .elementor-element.elementor-element-86e69ef{
.elementor-2076 .elementor-element.elementor-element-86e69ef{display: flex;
align-items: center;}}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a040b95 */.em-m694e2 { color: rgb(27, 58, 87); font-style: italic; } .h2-di5r97 { color: rgb(26, 26, 26); font-family: Fraunces, Georgia, serif; font-size: 46.172px; font-weight: 500; letter-spacing: -0.92344px; line-height: 1.1; margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-wrap-mode: wrap; border-color: rgb(26, 26, 26); border-radius: 0px; padding: 0px; border-width: 3px; } .em-9tl95z { color: rgb(27, 58, 87); display: inline; font-family: Fraunces, Georgia, serif; font-size: 46.172px; font-style: italic; letter-spacing: -0.92344px; line-height: 1.1; border-color: rgb(27, 58, 87); border-radius: 0px; margin: 0px; padding: 0px; border-width: 3px; } @media (max-width: 1024px) { .h2-di5r97 { font-size: 32px; letter-spacing: -0.64px; margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-9tl95z { display: inline; font-size: 32px; letter-spacing: -0.64px; margin: 0px; padding: 0px; } } @media (max-width: 767px) { .h2-di5r97 { margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-9tl95z { display: inline; margin: 0px; padding: 0px; } }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a22e10f *//* ============================================================
   MODERN ALPHA PLASTICS — Shared Stylesheet
   Industrial editorial · Greyscale rules + deep navy accent
   ============================================================ */

:root {
  --bg: #F5F2ED;
  --surface: #FFFFFF;
  --ink: #1A1A1A;
  --ink-soft: #4A4A4A;
  --ink-faint: #7A7670;
  --rule: #C9C5BC;
  --rule-soft: #E5E1D8;
  --accent: #1B3A57;
  --accent-hover: #0F2538;
  --accent-tint: #EAEEF3;
  --warn: #B85C3C;
  --gold: #C7A878;
  --display: 'Fraunces', Georgia, serif;
  --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: 'IBM Plex Mono', 'Courier New', monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hover); text-decoration: underline; text-underline-offset: 3px; }

img { max-width: 100%; display: block; }

.container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
.container-narrow { max-width: 880px; margin: 0 auto; padding: 0 32px; }

/* ===================== UTILITY BAR ===================== */
.util-bar {
  background: var(--ink);
  color: var(--bg);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.04em;
}
.util-bar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
}
.util-bar a { color: var(--bg); text-decoration: none; }
.util-bar a:hover { color: #fff; }
.util-bar .left { display: flex; gap: 28px; }
.util-bar .right { display: flex; gap: 24px; }
.util-bar .pulse {
  display: inline-block;
  width: 8px; height: 8px;
  background: #4CAF50;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
  animation: pulse 2s infinite;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

/* ===================== HEADER ===================== */
header.site-header {
  background: var(--bg);
  border-bottom: 1px solid var(--rule);
  position: sticky;
  top: 0;
  z-index: 100;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 22px;
  padding-bottom: 22px;
}
.logo {
  font-family: var(--display);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--ink);
  text-decoration: none;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.logo:hover { text-decoration: none; color: var(--ink); }
.logo .map-mark {
  display: inline-block;
  background: var(--accent);
  color: var(--bg);
  padding: 4px 10px;
  margin-right: 10px;
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
nav.primary { display: flex; gap: 32px; align-items: center; }
nav.primary a {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: 0.01em;
  text-decoration: none;
}
nav.primary a:hover { color: var(--accent); text-decoration: none; }
nav.primary a.active { color: var(--accent); }
.btn-quote {
  background: var(--accent);
  color: #fff !important;
  padding: 12px 22px;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.02em;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
  text-decoration: none !important;
}
.btn-quote:hover { background: var(--accent-hover); color: #fff !important; }

.menu-toggle { display: none; background: none; border: 1px solid var(--rule); padding: 10px 14px; font-family: var(--mono); font-size: 12px; cursor: pointer; }

/* ===================== BUTTONS ===================== */
.btn-primary, .btn-secondary, .btn-on-dark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 28px;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  border: none;
}
.btn-primary {
  background: var(--accent);
  color: #fff !important;
}
.btn-primary:hover { background: var(--accent-hover); color: #fff !important; text-decoration: none; }
.btn-secondary {
  background: transparent;
  color: var(--ink) !important;
  border: 1px solid var(--ink);
}
.btn-secondary:hover { background: var(--ink); color: var(--bg) !important; text-decoration: none; }
.btn-on-dark {
  background: var(--bg);
  color: var(--ink) !important;
}
.btn-on-dark:hover { background: #fff; color: var(--ink) !important; text-decoration: none; }
.btn-arrow { font-size: 18px; line-height: 1; }

/* ===================== HEADINGS / TYPE ===================== */
h1, h2, h3, h4, h5 { font-family: var(--display); font-weight: 500; letter-spacing: -0.02em; color: var(--ink); }
h1 { font-size: clamp(40px, 5.4vw, 72px); line-height: 1.05; margin: 0 0 28px 0; }
h2 { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.1; margin: 0 0 24px 0; }
h3 { font-size: 26px; line-height: 1.2; margin: 0 0 16px 0; letter-spacing: -0.015em; }
h4 { font-size: 20px; line-height: 1.3; margin: 0 0 12px 0; letter-spacing: -0.01em; }
h1 em, h2 em, h3 em { font-style: italic; font-weight: 400; color: var(--accent); }

.section-eyebrow {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--ink-faint);
  text-transform: uppercase;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.section-eyebrow .num { color: var(--accent); font-weight: 500; }

.section-sub { font-size: 18px; line-height: 1.6; color: var(--ink-soft); }
.section-head { margin-bottom: 64px; max-width: 760px; }

/* ===================== PAGE HERO ===================== */
.page-hero {
  padding: 80px 0 64px;
  border-bottom: 1px solid var(--rule);
}
.page-hero .breadcrumb {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 32px;
}
.page-hero .breadcrumb a { color: var(--ink-faint); }
.page-hero .breadcrumb a:hover { color: var(--accent); }
.page-hero h1 { font-size: clamp(36px, 4.4vw, 56px); margin-bottom: 20px; }
.page-hero p.lead {
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 720px;
  margin: 0;
}

/* ===================== HOME HERO ===================== */
.hero {
  padding: 96px 0 80px;
  border-bottom: 1px solid var(--rule);
  position: relative;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  align-items: center;
}
.hero-eyebrow {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--ink-faint);
  text-transform: uppercase;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.hero-eyebrow::after {
  content: "";
  flex: 0 0 60px;
  height: 1px;
  background: var(--ink-faint);
}
.hero-sub {
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 540px;
  margin-bottom: 40px;
}
.hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; }

.spec-card {
  background: var(--surface);
  padding: 40px 36px;
  border: 1px solid var(--rule);
  position: relative;
}
.spec-card::before {
  content: "AT-A-GLANCE";
  position: absolute;
  top: -10px; left: 32px;
  background: var(--bg);
  padding: 0 12px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--ink-faint);
}
.spec-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid var(--rule-soft);
  font-size: 14px;
}
.spec-row:last-child { border-bottom: none; padding-bottom: 0; }
.spec-row:first-child { padding-top: 0; }
.spec-label { color: var(--ink-soft); }
.spec-value {
  font-family: var(--mono);
  font-weight: 500;
  color: var(--ink);
  font-size: 13px;
}

/* ===================== TRUST STRIP ===================== */
.trust-strip {
  background: var(--ink);
  color: var(--bg);
  padding: 56px 0;
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 48px;
}
.trust-item {
  border-left: 1px solid rgba(245, 242, 237, 0.2);
  padding-left: 20px;
}
.trust-num {
  font-family: var(--display);
  font-weight: 500;
  font-size: 44px;
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  color: var(--bg);
}
.trust-label {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245, 242, 237, 0.7);
  line-height: 1.4;
}

/* ===================== BLOCK / SECTIONS ===================== */
section.block { padding: 112px 0; }
section.block.dark { background: var(--ink); color: var(--bg); }
section.block.dark h2 { color: var(--bg); }
section.block.dark .section-eyebrow { color: rgba(245,242,237,0.6); }
section.block.dark .section-eyebrow .num { color: var(--gold); }
section.block.dark .section-sub { color: rgba(245,242,237,0.75); }
section.block.dark h2 em { color: var(--gold); }

section.block.surface { background: var(--surface); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }

/* ===================== CAPABILITIES GRID ===================== */
.cap-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}
.cap-card {
  padding: 48px 40px;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background: var(--surface);
  transition: background 0.25s ease;
  text-decoration: none;
  color: var(--ink);
  display: block;
}
.cap-card:hover { background: var(--accent-tint); text-decoration: none; color: var(--ink); }
.cap-num {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--ink-faint);
  margin-bottom: 28px;
  display: block;
}
.cap-card h3 { margin: 0 0 16px 0; }
.cap-card p {
  font-size: 15px;
  color: var(--ink-soft);
  margin: 0 0 24px 0;
  line-height: 1.6;
}
.cap-link {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cap-link::after {
  content: "→";
  transition: transform 0.2s ease;
}
.cap-card:hover .cap-link::after { transform: translateX(4px); }

/* ===================== INDUSTRIES GRID ===================== */
.ind-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}
.ind-tile {
  background: var(--surface);
  padding: 36px 28px;
  transition: background 0.25s ease;
  position: relative;
  text-decoration: none;
  color: var(--ink);
  display: block;
}
.ind-tile.featured { background: var(--bg); }
.ind-tile:hover { background: var(--accent); color: var(--bg); text-decoration: none; }
.ind-tile:hover .ind-meta { color: rgba(245, 242, 237, 0.7); }
.ind-tile:hover .ind-name { color: var(--bg); }
.ind-meta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 14px;
  display: block;
}
.ind-name {
  font-family: var(--display);
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: var(--ink);
  line-height: 1.2;
}
.ind-tile.new::after {
  content: "NEW";
  position: absolute;
  top: 14px; right: 14px;
  background: var(--accent);
  color: var(--bg);
  font-family: var(--mono);
  font-size: 9px;
  padding: 3px 7px;
  letter-spacing: 0.1em;
}
.ind-tile.new:hover::after { background: var(--bg); color: var(--accent); }

/* ===================== PROCESS LIST ===================== */
.process-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 96px;
  align-items: start;
}
.process-list { list-style: none; padding: 0; margin: 0; }
.process-list li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-top: 1px solid var(--rule);
}
.process-list li:last-child { border-bottom: 1px solid var(--rule); }
.process-num {
  font-family: var(--display);
  font-weight: 500;
  font-size: 36px;
  line-height: 1;
  color: var(--accent);
  letter-spacing: -0.02em;
}
.process-list h4 {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 17px;
  margin: 0 0 8px 0;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.process-list p {
  margin: 0;
  font-size: 15px;
  color: var(--ink-soft);
  line-height: 1.55;
}

/* ===================== TABLES ===================== */
.eq-table, .data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.eq-table th, .eq-table td,
.data-table th, .data-table td {
  text-align: left;
  padding: 16px 20px;
  border-bottom: 1px solid var(--rule);
}
.eq-table th, .data-table th {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-weight: 500;
  background: var(--surface);
}
.eq-table td, .data-table td {
  font-family: var(--mono);
  color: var(--ink);
}
.eq-table td:first-child, .data-table td:first-child {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.01em;
}
section.block.dark .eq-table th { background: transparent; color: rgba(245,242,237,0.6); }
section.block.dark .eq-table th, section.block.dark .eq-table td { border-bottom-color: rgba(245,242,237,0.15); }
section.block.dark .eq-table td { color: var(--bg); }

/* ===================== ABOUT / ANTHONY ===================== */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
}
.anthony-card {
  background: var(--surface);
  padding: 40px;
  border: 1px solid var(--rule);
}
.anthony-portrait {
  width: 100%;
  aspect-ratio: 4 / 5;
  background: linear-gradient(135deg, #2A2A2A 0%, #1A1A1A 100%);
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
}
.anthony-portrait::after {
  content: "ANTHONY C. GROSS";
  position: absolute;
  bottom: 24px; left: 24px;
  color: var(--bg);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
}
.anthony-portrait::before {
  content: "[ portrait ]";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(245, 242, 237, 0.3);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.1em;
}
.anthony-card h4 {
  font-family: var(--display);
  font-weight: 500;
  font-size: 22px;
  margin: 0 0 4px 0;
}
.anthony-title {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 20px;
}
.anthony-quote {
  font-family: var(--display);
  font-style: italic;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink);
  border-left: 2px solid var(--accent);
  padding-left: 20px;
  margin: 0;
}
.about-body p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 20px 0;
}
.about-body p.lead {
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.45;
  color: var(--ink);
  font-weight: 400;
  margin-bottom: 32px;
}

/* ===================== FINAL CTA ===================== */
.final-cta {
  background: var(--accent);
  color: var(--bg);
  padding: 112px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 20px,
    rgba(255,255,255,0.02) 20px,
    rgba(255,255,255,0.02) 21px
  );
  pointer-events: none;
}
.final-cta .container { position: relative; }
.final-cta h2 {
  color: var(--bg);
  font-size: clamp(36px, 4.5vw, 60px);
  margin-bottom: 24px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.final-cta h2 em { color: var(--gold); }
.final-cta p {
  font-size: 18px;
  color: rgba(245, 242, 237, 0.85);
  max-width: 580px;
  margin: 0 auto 44px auto;
}
.final-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-final-primary {
  background: var(--bg);
  color: var(--ink) !important;
  padding: 18px 32px;
  font-weight: 500;
  font-size: 15px;
  text-decoration: none;
}
.btn-final-primary:hover { background: #fff; text-decoration: none; }
.btn-final-secondary {
  background: transparent;
  color: var(--bg) !important;
  border: 1px solid rgba(245, 242, 237, 0.4);
  padding: 18px 32px;
  font-weight: 500;
  font-size: 15px;
  text-decoration: none;
}
.btn-final-secondary:hover { border-color: var(--bg); text-decoration: none; }

/* ===================== FORM ===================== */
.form-wrap {
  background: var(--surface);
  padding: 56px;
  border: 1px solid var(--rule);
  margin-top: 48px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 32px;
}
.form-grid .full { grid-column: 1 / -1; }
.field label {
  display: block;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 10px;
  font-weight: 500;
}
.field label .req { color: var(--warn); }
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="number"],
.field input[type="date"],
.field select,
.field textarea {
  width: 100%;
  padding: 14px 16px;
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 0;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.field textarea { min-height: 120px; resize: vertical; font-family: var(--sans); }
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none;
  border-color: var(--accent);
  background: var(--surface);
}
.field .helper {
  font-size: 12px;
  color: var(--ink-faint);
  margin-top: 8px;
  font-family: var(--sans);
}
.field-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  cursor: pointer;
}
.field-checkbox input[type="checkbox"] {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}
.field-checkbox label {
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  cursor: pointer;
}

.file-drop {
  border: 2px dashed var(--rule);
  background: var(--bg);
  padding: 40px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.file-drop:hover, .file-drop.dragover { border-color: var(--accent); background: var(--accent-tint); }
.file-drop .drop-icon {
  font-family: var(--mono);
  font-size: 20px;
  color: var(--accent);
  margin-bottom: 12px;
}
.file-drop .drop-text {
  font-size: 15px;
  color: var(--ink);
  margin-bottom: 6px;
}
.file-drop .drop-helper {
  font-size: 12px;
  color: var(--ink-faint);
  font-family: var(--mono);
  letter-spacing: 0.04em;
}
.file-list { margin-top: 16px; }
.file-list .file-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--bg);
  margin-top: 8px;
  font-family: var(--mono);
  font-size: 12px;
}
.file-list .file-row button {
  background: none;
  border: none;
  color: var(--warn);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 12px;
}

.form-submit {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.form-submit .privacy {
  font-size: 12px;
  color: var(--ink-faint);
  max-width: 400px;
  line-height: 1.5;
}

.form-success {
  background: var(--accent-tint);
  border: 1px solid var(--accent);
  padding: 48px;
  text-align: center;
  margin-top: 48px;
}
.form-success h3 { color: var(--accent); margin-bottom: 12px; }
.form-success p { color: var(--ink-soft); font-size: 16px; margin: 0 auto; max-width: 540px; }

/* ===================== FOOTER ===================== */
footer.site-footer {
  background: var(--ink);
  color: var(--bg);
  padding: 80px 0 40px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(245, 242, 237, 0.15);
}
.footer-grid h5 {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245, 242, 237, 0.6);
  margin: 0 0 20px 0;
  font-weight: 500;
}
.footer-grid ul { list-style: none; padding: 0; margin: 0; }
.footer-grid li { margin-bottom: 10px; }
.footer-grid a {
  color: var(--bg);
  font-size: 14px;
  text-decoration: none;
}
.footer-grid a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer-brand .logo { color: var(--bg); margin-bottom: 20px; }
.footer-brand .logo:hover { color: var(--bg); }
.footer-brand p {
  font-size: 14px;
  color: rgba(245, 242, 237, 0.7);
  line-height: 1.6;
  margin: 16px 0;
}
.footer-contact-line {
  font-family: var(--mono);
  font-size: 13px;
  color: rgba(245, 242, 237, 0.85);
  margin: 6px 0;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  padding-top: 32px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: rgba(245, 242, 237, 0.5);
  flex-wrap: wrap;
  gap: 12px;
}

/* ===================== CONTENT BODY (long-form pages) ===================== */
.content-body { max-width: 760px; }
.content-body p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 22px 0;
}
.content-body p.lead {
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.45;
  color: var(--ink);
  font-weight: 400;
  margin-bottom: 32px;
}
.content-body h3 { margin-top: 48px; }
.content-body ul {
  margin: 0 0 22px 0;
  padding-left: 0;
  list-style: none;
}
.content-body ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-soft);
}
.content-body ul li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--accent);
  font-family: var(--mono);
}

/* Two-column content layouts */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.callout-card {
  background: var(--surface);
  border: 1px solid var(--rule);
  padding: 36px 32px;
  position: relative;
}
.callout-card::before {
  content: attr(data-label);
  position: absolute;
  top: -10px; left: 24px;
  background: var(--bg);
  padding: 0 12px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--ink-faint);
}
.callout-card h4 { margin-top: 0; margin-bottom: 12px; font-size: 22px; }
.callout-card p { font-size: 15px; color: var(--ink-soft); line-height: 1.6; margin: 0 0 12px 0; }
.callout-card p:last-child { margin-bottom: 0; }

/* Job listings */
.job-list { list-style: none; padding: 0; margin: 48px 0 0 0; }
.job-list li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 28px 0;
  border-top: 1px solid var(--rule);
}
.job-list li:last-child { border-bottom: 1px solid var(--rule); }
.job-list h4 { margin: 0 0 6px 0; font-size: 22px; }
.job-list .job-meta {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.job-list .btn-secondary { padding: 12px 22px; font-size: 13px; }

/* Resource cards */
.resource-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.resource-card {
  background: var(--surface);
  border: 1px solid var(--rule);
  padding: 36px 32px;
  display: block;
  text-decoration: none;
  color: var(--ink);
  transition: background 0.2s ease;
}
.resource-card:hover { background: var(--accent-tint); text-decoration: none; }
.resource-card .res-type {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--accent);
  text-transform: uppercase;
  margin-bottom: 18px;
  display: block;
}
.resource-card h4 { margin: 0 0 12px 0; }
.resource-card p { font-size: 14px; color: var(--ink-soft); line-height: 1.55; margin: 0; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 960px) {
  .hero-grid, .process-grid, .about-grid, .two-col { grid-template-columns: 1fr; gap: 56px; }
  .cap-grid { grid-template-columns: 1fr; }
  .ind-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .resource-grid { grid-template-columns: 1fr; }
  nav.primary { display: none; }
  nav.primary.open { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: var(--bg); border-bottom: 1px solid var(--rule); padding: 24px 32px; gap: 20px; }
  .menu-toggle { display: inline-block; }
  .util-bar .left { display: none; }
  section.block { padding: 80px 0; }
  .hero { padding: 64px 0; }
  .form-wrap { padding: 32px 24px; }
  .job-list li { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 560px) {
  .container, .container-narrow { padding: 0 20px; }
  .ind-grid { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .form-submit { flex-direction: column; align-items: stretch; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0f8f2b4 */.span-68s9uo { color: rgb(27, 58, 87); font-weight: 500; } .div-31cq7f { align-items: center; color: rgb(122, 118, 112); display: flex; font-family: IBM Plex Mono, Courier New, monospace; font-size: 12px; letter-spacing: 2.16px; line-height: 1.6; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-wrap-mode: wrap; text-transform: uppercase; border-color: rgb(122, 118, 112); border-radius: 0px; padding: 0px; border-width: 3px; gap: 14px; } .span-wff7hw { color: rgb(27, 58, 87); font-family: IBM Plex Mono, Courier New, monospace; font-size: 12px; font-weight: 500; letter-spacing: 2.16px; line-height: 1.6; text-wrap-mode: wrap; text-transform: uppercase; border-color: rgb(27, 58, 87); border-radius: 0px; margin: 0px; padding: 0px; border-width: 3px; } @media (max-width: 1024px) { .div-31cq7f { display: flex; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .span-wff7hw { margin: 0px; padding: 0px; } } @media (max-width: 767px) { .div-31cq7f { display: flex; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .span-wff7hw { margin: 0px; padding: 0px; } }.elementor-2076 .elementor-element.elementor-element-0f8f2b4{
.elementor-2076 .elementor-element.elementor-element-0f8f2b4{display: flex;
align-items: center;}}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2a78b9c */.em-eggecg { color: rgb(27, 58, 87); font-style: italic; } .h2-0lknvb { color: rgb(26, 26, 26); font-family: Fraunces, Georgia, serif; font-size: 46.172px; font-weight: 500; letter-spacing: -0.92344px; line-height: 1.1; margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-wrap-mode: wrap; border-color: rgb(26, 26, 26); border-radius: 0px; padding: 0px; border-width: 3px; } .em-oo0pbp { color: rgb(27, 58, 87); display: inline; font-family: Fraunces, Georgia, serif; font-size: 46.172px; font-style: italic; letter-spacing: -0.92344px; line-height: 1.1; border-color: rgb(27, 58, 87); border-radius: 0px; margin: 0px; padding: 0px; border-width: 3px; } @media (max-width: 1024px) { .h2-0lknvb { font-size: 32px; letter-spacing: -0.64px; margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-oo0pbp { display: inline; font-size: 32px; letter-spacing: -0.64px; margin: 0px; padding: 0px; } } @media (max-width: 767px) { .h2-0lknvb { margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-oo0pbp { display: inline; margin: 0px; padding: 0px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2c009de */.elementor-2076 .elementor-element.elementor-element-2c009de{align-content: normal;}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-57d046c */.span-no7m9m { color: rgb(27, 58, 87); font-weight: 500; } .div-wzy0pw { align-items: center; color: rgb(122, 118, 112); display: flex; font-family: IBM Plex Mono, Courier New, monospace; font-size: 12px; letter-spacing: 2.16px; line-height: 1.6; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-wrap-mode: wrap; text-transform: uppercase; border-color: rgb(122, 118, 112); border-radius: 0px; padding: 0px; border-width: 3px; gap: 14px; } .span-x8ttrv { color: rgb(27, 58, 87); font-family: IBM Plex Mono, Courier New, monospace; font-size: 12px; font-weight: 500; letter-spacing: 2.16px; line-height: 1.6; text-wrap-mode: wrap; text-transform: uppercase; border-color: rgb(27, 58, 87); border-radius: 0px; margin: 0px; padding: 0px; border-width: 3px; } @media (max-width: 1024px) { .div-wzy0pw { display: flex; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .span-x8ttrv { margin: 0px; padding: 0px; } } @media (max-width: 767px) { .div-wzy0pw { display: flex; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .span-x8ttrv { margin: 0px; padding: 0px; } }.elementor-2076 .elementor-element.elementor-element-57d046c{
.elementor-2076 .elementor-element.elementor-element-57d046c{display: flex;
align-items: center;}}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a17203e */.em-mmuyd1 { color: rgb(27, 58, 87); font-style: italic; } .h2-o6w12y { color: rgb(26, 26, 26); font-family: Fraunces, Georgia, serif; font-size: 46.172px; font-weight: 500; letter-spacing: -0.92344px; line-height: 1.1; margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-wrap-mode: wrap; border-color: rgb(26, 26, 26); border-radius: 0px; padding: 0px; border-width: 3px; } .em-n5a5yk { color: rgb(27, 58, 87); display: inline; font-family: Fraunces, Georgia, serif; font-size: 46.172px; font-style: italic; letter-spacing: -0.92344px; line-height: 1.1; border-color: rgb(27, 58, 87); border-radius: 0px; margin: 0px; padding: 0px; border-width: 3px; } @media (max-width: 1024px) { .h2-o6w12y { font-size: 32px; letter-spacing: -0.64px; margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-n5a5yk { display: inline; font-size: 32px; letter-spacing: -0.64px; margin: 0px; padding: 0px; } } @media (max-width: 767px) { .h2-o6w12y { margin-bottom: 24px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; } .em-n5a5yk { display: inline; margin: 0px; padding: 0px; } }/* End custom CSS */