.elementor-2497 .elementor-element.elementor-element-p9sec01{--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;--overflow:hidden;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9sec01:not(.elementor-motion-effects-element-type-background), .elementor-2497 .elementor-element.elementor-element-p9sec01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#8ABAD2;}.elementor-2497 .elementor-element.elementor-element-p9grd01{--display:grid;--e-con-grid-template-columns:1fr 1.05fr;--e-con-grid-template-rows:auto;--gap:clamp(30px,4.5vw,58px) clamp(30px,4.5vw,58px);--row-gap:clamp(30px,4.5vw,58px);--column-gap:clamp(30px,4.5vw,58px);--grid-auto-flow:row;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2497 .elementor-element.elementor-element-p9col01{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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 );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-2497 .elementor-element.elementor-element-p9eyb01{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9eyb01 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:0.8rem;font-weight:700;text-transform:uppercase;line-height:normal;letter-spacing:0.12em;color:#E8442E;}.elementor-2497 .elementor-element.elementor-element-p9h1_01{margin:18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9h1_01 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:clamp(2.1rem,4.4vw,3.5rem);font-weight:700;text-transform:uppercase;line-height:1.04;letter-spacing:0.01em;color:#101418;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );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-2497 .elementor-element.elementor-element-p9led01{margin:16px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Open Sans", Sans-serif;font-size:clamp(1rem,1.4vw,1.14rem);font-weight:400;line-height:1.6;color:rgba(33, 33, 33, 0.82);}.elementor-2497 .elementor-element.elementor-element-p9cat01{--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;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:wrap;--margin-top:22px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-2497 .elementor-element.elementor-element-p9cht01 .elementor-button{background-color:transparent;fill:var( --e-global-color-fcwhite );color:var( --e-global-color-fcwhite );background-image:linear-gradient(135deg, var( --e-global-color-fcamber ) 0%, var( --e-global-color-accent ) 100%);}.elementor-2497 .elementor-element.elementor-element-p9cht01 .elementor-button:hover, .elementor-2497 .elementor-element.elementor-element-p9cht01 .elementor-button:focus{background-color:rgba(255,255,255,0.12);color:#FFFFFF;border-color:#F5A623;}.elementor-2497 .elementor-element.elementor-element-p9cht01{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2497 .elementor-element.elementor-element-p9cht01 .elementor-button:hover svg, .elementor-2497 .elementor-element.elementor-element-p9cht01 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2497 .elementor-element.elementor-element-p9cht02 .elementor-button{background-color:transparent;fill:var( --e-global-color-fcwhite );color:var( --e-global-color-fcwhite );background-image:linear-gradient(135deg, var( --e-global-color-fcamber ) 0%, var( --e-global-color-accent ) 100%);}.elementor-2497 .elementor-element.elementor-element-p9cht02 .elementor-button:hover, .elementor-2497 .elementor-element.elementor-element-p9cht02 .elementor-button:focus{background-color:rgba(255,255,255,0.12);color:#FFFFFF;border-color:#F5A623;}.elementor-2497 .elementor-element.elementor-element-p9cht02{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2497 .elementor-element.elementor-element-p9cht02 .elementor-button:hover svg, .elementor-2497 .elementor-element.elementor-element-p9cht02 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-2497 .elementor-element.elementor-element-p9fea01{--grid-columns:1;--grid-row-gap:0px;--grid-column-gap:0px;}.elementor-2497 .elementor-element.elementor-element-p9fea01 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2497 .elementor-element.elementor-element-p9sec02{--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;--overflow:hidden;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9sec02:not(.elementor-motion-effects-element-type-background), .elementor-2497 .elementor-element.elementor-element-p9sec02 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-fcpaper );}.elementor-2497 .elementor-element.elementor-element-p9hed02{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2497 .elementor-element.elementor-element-p9eyb02{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9eyb02 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:0.8rem;font-weight:700;text-transform:uppercase;line-height:normal;letter-spacing:0.12em;color:#E8442E;}.elementor-2497 .elementor-element.elementor-element-p9h2_02{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9h2_02 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;text-transform:uppercase;line-height:1.05;letter-spacing:0.015em;color:var( --e-global-color-primary );}.elementor-2497 .elementor-element.elementor-element-p9grd02{--grid-columns:3;--grid-row-gap:20px;--load-more-button-align:center;--grid-column-gap:20px;}.elementor-2497 .elementor-element.elementor-element-p9grd02 > .elementor-widget-container{margin:clamp(34px,4vw,50px) 0px 0px 0px;}.elementor-2497 .elementor-element.elementor-element-p9sec03{--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;--overflow:hidden;border-style:solid;--border-style:solid;border-width:0px 0px 2px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:2px;--border-left-width:0px;border-color:#2A31381F;--border-color:#2A31381F;--border-radius:0% 0% 2% 0%;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9sec03:not(.elementor-motion-effects-element-type-background), .elementor-2497 .elementor-element.elementor-element-p9sec03 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(138,186,210,0.4);}.elementor-2497 .elementor-element.elementor-element-p9bnd03{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap: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-2497 .elementor-element.elementor-element-p9eyb03{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9eyb03 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:0.8rem;font-weight:700;text-transform:uppercase;line-height:normal;letter-spacing:0.12em;color:#2A3138;}.elementor-2497 .elementor-element.elementor-element-p9h2_03{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9h2_03 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:clamp(1.9rem,4vw,3rem);font-weight:700;text-transform:uppercase;line-height:1.03;letter-spacing:0.01em;color:#2A3138;}.elementor-2497 .elementor-element.elementor-element-p9dek03{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Open Sans", Sans-serif;font-size:1.1rem;font-weight:400;line-height:1.55;color:rgba(33, 33, 33, 0.95);}.elementor-2497 .elementor-element.elementor-element-p9btn03{width:auto;max-width:auto;margin:26px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--e-transform-transition-duration:0.25ms;}.elementor-2497 .elementor-element.elementor-element-p9btn03:hover{--e-transform-translateY:-2px;}.elementor-2497 .elementor-element.elementor-element-p9btn03 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2497 .elementor-element.elementor-element-p9btn03 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-2497 .elementor-element.elementor-element-p9sec04{--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;--overflow:hidden;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9sec04:not(.elementor-motion-effects-element-type-background), .elementor-2497 .elementor-element.elementor-element-p9sec04 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(138,186,210,0.4);}.elementor-2497 .elementor-element.elementor-element-p9grd04{--display:grid;--e-con-grid-template-columns:1.14fr .86fr;--e-con-grid-template-rows:auto;--gap:clamp(30px,4vw,54px) clamp(30px,4vw,54px);--row-gap:clamp(30px,4vw,54px);--column-gap:clamp(30px,4vw,54px);--grid-auto-flow:row;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2497 .elementor-element.elementor-element-p9col04{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2497 .elementor-element.elementor-element-p9eyb04{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9eyb04 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:0.8rem;font-weight:700;text-transform:uppercase;line-height:normal;letter-spacing:0.12em;color:#E8442E;}.elementor-2497 .elementor-element.elementor-element-p9h2_04{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9h2_04 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;text-transform:uppercase;line-height:1.05;letter-spacing:0.015em;color:#2A3138;}.elementor-2497 .elementor-element.elementor-element-p9dek04{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Open Sans", Sans-serif;font-size:1rem;font-weight:400;line-height:1.66;color:rgba(33, 33, 33, 0.8);}.elementor-2497 .elementor-element.elementor-element-p9pul04{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 20px;border-style:solid;border-width:0px 0px 0px 4px;border-color:#E8442E;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9pul04 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;text-transform:uppercase;line-height:1.2;letter-spacing:0.01em;color:#2A3138;}.elementor-2497 .elementor-element.elementor-element-p9crd04{--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;--overflow:hidden;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:#2A31381F;--border-color:#2A31381F;--border-radius:12px 12px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:26px;--padding-bottom:24px;--padding-left:26px;--padding-right:26px;}.elementor-2497 .elementor-element.elementor-element-p9crd04:not(.elementor-motion-effects-element-type-background), .elementor-2497 .elementor-element.elementor-element-p9crd04 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.045);}.elementor-2497 .elementor-element.elementor-element-p9cth04{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2497 .elementor-element.elementor-element-p9cth04 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:1.16rem;font-weight:700;text-transform:uppercase;line-height:normal;letter-spacing:0.02em;color:#2A3138;}.elementor-2497 .elementor-element.elementor-element-p9cts04{margin:6px 0px calc(var(--kit-widget-spacing, 0px) + 18px) 0px;text-align:start;font-family:"Open Sans", Sans-serif;font-size:0.92rem;font-weight:400;line-height:1.5;color:rgba(33, 33, 33, 0.68);}.elementor-2497 .elementor-element.elementor-element-p9btn04:hover{--e-transform-translateY:-2px;}.elementor-2497 .elementor-element.elementor-element-p9btn04{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 11px) 0px;--e-transform-transition-duration:0.25ms;}.elementor-2497 .elementor-element.elementor-element-p9btn04 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2497 .elementor-element.elementor-element-p9btn04 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-2497 .elementor-element.elementor-element-p9btn05:hover{--e-transform-translateY:-2px;}.elementor-2497 .elementor-element.elementor-element-p9btn05{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 11px) 0px;--e-transform-transition-duration:0.25ms;}.elementor-2497 .elementor-element.elementor-element-p9btn05 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2497 .elementor-element.elementor-element-p9btn05 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-2497 .elementor-element.elementor-element-p9crw04{--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;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:rgba(33, 33, 33, 0.1);--border-color:rgba(33, 33, 33, 0.1);--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:16px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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 ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-2497 .elementor-element.elementor-element-p9cli04{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--e-icon-list-icon-size:16px;--icon-vertical-offset:0px;}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-icon i{color:#E8442E;transition:color 0.3s;}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-icon svg{fill:#E8442E;transition:fill 0.3s;}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-icon{padding-inline-end:10px;}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-item > a{font-family:"Open Sans", Sans-serif;font-size:0.95rem;font-weight:400;line-height:1.5;}.elementor-2497 .elementor-element.elementor-element-p9cli04 .elementor-icon-list-text{color:rgba(33, 33, 33, 0.85);transition:color 0.3s;}@media(min-width:768px){.elementor-2497 .elementor-element.elementor-element-p9sec01{--content-width:1152px;}.elementor-2497 .elementor-element.elementor-element-p9sec02{--content-width:1152px;}.elementor-2497 .elementor-element.elementor-element-p9hed02{--width:min(100%,680px);}.elementor-2497 .elementor-element.elementor-element-p9sec03{--content-width:1152px;}.elementor-2497 .elementor-element.elementor-element-p9bnd03{--width:min(100%,720px);}.elementor-2497 .elementor-element.elementor-element-p9sec04{--content-width:1152px;}.elementor-2497 .elementor-element.elementor-element-p9col04{--width:min(100%,640px);}}@media(max-width:1220px) and (min-width:768px){.elementor-2497 .elementor-element.elementor-element-p9hed02{--width:min(100%,680px);}.elementor-2497 .elementor-element.elementor-element-p9bnd03{--width:min(100%,720px);}.elementor-2497 .elementor-element.elementor-element-p9col04{--width:min(100%,640px);}}@media(max-width:1220px){.elementor-2497 .elementor-element.elementor-element-p9grd01{--grid-auto-flow:row;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-button .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .elementor-pagination{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-2497 .elementor-element.elementor-element-p9fea01{--grid-columns:1;}.elementor-2497 .elementor-element.elementor-element-p9grd02{--grid-columns:3;}.elementor-2497 .elementor-element.elementor-element-p9grd04{--grid-auto-flow:row;}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:767px){.elementor-2497 .elementor-element.elementor-element-p9sec01{--padding-top:8%;--padding-bottom:8%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9grd01{--e-con-grid-template-columns:1fr;--gap:34px 34px;--row-gap:34px;--column-gap:34px;--grid-auto-flow:row;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-2497 .elementor-element.elementor-element-p9h1_01 .elementor-heading-title{font-size:clamp(1.9rem,6.6vw,2.5rem);}.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-button .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .elementor-pagination{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-2497 .elementor-element.elementor-element-p9fea01{--grid-columns:1;}.elementor-2497 .elementor-element.elementor-element-p9sec02{--padding-top:8%;--padding-bottom:8%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9hed02{--width:min(100%,680px);}.elementor-2497 .elementor-element.elementor-element-p9grd02{--grid-columns:2;}.elementor-2497 .elementor-element.elementor-element-p9sec03{--padding-top:8%;--padding-bottom:8%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9bnd03{--width:min(100%,720px);}.elementor-2497 .elementor-element.elementor-element-p9sec04{--padding-top:8%;--padding-bottom:8%;--padding-left:4%;--padding-right:4%;}.elementor-2497 .elementor-element.elementor-element-p9grd04{--e-con-grid-template-columns:1fr;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--grid-auto-flow:row;}.elementor-2497 .elementor-element.elementor-element-p9col04{--width:min(100%,640px);}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}/* Start custom CSS for heading, class: .elementor-element-p9eyb01 *//* WHY (eye) PSEUDO-ELEMENT + DESCENDANT SELECTOR: the 28x3 gradient tick has no control of any kind (the Heading widget has no Background section at all), and no control reaches .elementor-heading-title to make it an inline-flex with a 10px gap.
   GRADIENT TREATMENT A (--grad). Not a container pseudo, so lint L1 does not apply (INFO at most).
   line-height:normal is set NATIVELY because .eyebrow writes a font: SHORTHAND with no following line-height (trap 8) - it is not in this block. Colour, family, weight, size, tracking and transform are all native controls and are not duplicated here.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9eyb01 .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.elementor-2497 .elementor-element.elementor-element-p9eyb01 .elementor-heading-title::before{content:"";flex:none;width:28px;height:3px;border-radius:2px;background:var(--steel-md)}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-p9led01 *//* WHY (c) NO BOX-SIZE CONTROL EXISTS ON THIS WIDGET. MEASURED 2026-07-27 (Elementor/Pro 4.2.0, scratch page 2453) against elementor.widgetsCache: text-editor exposes 69 controls and the only key matching /width|height/ is drop_cap_border_width; _element_custom_width and _element_width both resolve to undefined, so PROVEN-KEY-VOCAB's listing of them is STALE for 4.2.0. Custom CSS is the ONLY place this cap can be written on a widget - it is not a BUILD-10 violation (lint L5 carve-out #2). This is a WIDGET, not a container: a CONTAINER does have width/width_tablet/width_mobile and its cap belongs on the control. The mock element has NO auto margins, so it stays LEFT-aligned in its track; nothing else is in this block. */
.elementor-2497 .elementor-element.elementor-element-p9led01{max-width:520px}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-p9fea01 *//* 2026-08-23 WC ROUND-2 - REMOVE COLOUR OVERLAY FROM NEWS PHOTOS.
   WHAT WAS THERE: the card photos are painted by two LOOP TEMPLATES (post 2487 = grid card .nw-photo/#p9img10, post 2488 = featured card .nw-feat-photo/#p9img20), which are separate posts outside this page. Three colour layers came from there:
     (1) background-color:#8ABAD2 on the photo wrapper - a light-blue plate behind the image;
     (2) filter:grayscale(1) contrast(1.04) brightness(.96/.97) on the img - a full desaturation wash;
     (3) .nw-feat-photo::after - background:linear-gradient(180deg,transparent 40%,rgba(37,66,83,.5)) - a slate-blue scrim over the lower 60% of the featured photo.
   WHY IT IS OVERRIDDEN HERE INSTEAD OF DELETED: the declarations live in 2487/2488; this page may only touch its own elements. The loop <style> blocks are injected in the BODY, after elementor-post-2497-css in the head, so a same-specificity rule would lose on source order. Scoping through this widget's own .elementor-2497 .elementor-element.elementor-element-p9fea01 adds one class (0,4,1 vs the loop's 0,3,1) so the cascade is decided by specificity, not order - no !important needed.
   NO CONTROL DOES THIS: filter, a pseudo-element scrim and a wrapper background set from another post are not reachable from any native control on this page. */
.elementor-2497 .elementor-element.elementor-element-p9fea01 .nw-feat-photo{background-color:transparent}
.elementor-2497 .elementor-element.elementor-element-p9fea01 .nw-feat-photo img{filter:none}
.elementor-2497 .elementor-element.elementor-element-p9fea01 .nw-feat-photo::after{content:none;background:none}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-p9grd01 *//* WHY (b) NON-BUCKET @media: 960 is not a breakpoint on this site. The tablet bucket fires at 1220 and would wrongly stack 961-1220, which the mock does not do; the 767 bucket is already set NATIVELY with the same values, so this block only has to cover 768-960 and never fights a later Elementor rule - no specificity raise needed, no !important.
   --e-con-grid-template-columns is Elementor's OWN custom property (lint L5 skips it), which is why the 1fr value is written through the property rather than as a grid-template-columns declaration.
   content_width:'full' on this container => `.elementor-2497 .elementor-element.elementor-element-p9grd01` IS the layout box, so measurement trap M1 does not apply when verifying it. The desktop track list 1fr 1.05fr rides the NATIVE grid_columns_grid control (BUILD-RECIPE 3b: the control DOES accept a non-uniform track list; a track list in Custom CSS would be an L5 defect). */
@media (max-width:960px){.elementor-2497 .elementor-element.elementor-element-p9grd01{--e-con-grid-template-columns:1fr;gap:34px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-p9sec01 *//* WHY (a) TWO PSEUDO-ELEMENTS on one container.
   ::before - no control paints a rotated, 5%-opacity decorative texture layer inside a container, and no control emits transform on a pseudo at all. repeating-linear-gradient is a TEXTURE, excluded from the gradient tally by the mock header and by render_asserts v1.1.
   TRAP 3 / LINT L1 COUNTER-DECLARATION: ::before anchors RIGHT, so left:auto is LOAD-BEARING - the .e-con pseudo base rule in custom-frontend.min.css hard-sets top/left/width/height and declares right ZERO times; drop left:auto and the browser silently discards right:-80px and the watermark paints from the LEFT edge (the T-40 F2 defect verbatim). The VERTICAL axis is not triggered: bottom is never declared and top+height are both explicit.
   ::after - the 4px full-bleed gradient hairline on the section floor (mock line 246). GRADIENT TREATMENT A.
   TRAP 3 / LINT L1 COUNTER-DECLARATION: ::after anchors BOTTOM, so top:auto is LOAD-BEARING (height:4px is explicit, so top:auto is the correct counter here, not height:auto).
   Clipping the -40/-80 bleed is the NATIVE Layout>Overflow:Hidden control, not CSS, and is not restated.
   MOCK NOTE, reproduced verbatim and NOT corrected: this texture is var(--ink) at .05 on an --ink background, i.e. optically invisible. Section 4's speedline span overrides the same class to #fff inline; section 1's does not. Identical to P5 spec 10 item 3 - see spec 10 item 3 here.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9sec01::before{content:"";position:absolute;top:-40px;right:-80px;left:auto;width:460px;height:320px;transform:rotate(-8deg);opacity:.05;pointer-events:none;background:repeating-linear-gradient(135deg,var(--steel-lt) 0 3px,transparent 3px 18px)}
.elementor-2497 .elementor-element.elementor-element-p9sec01::after{content:"";position:absolute;left:0;bottom:0;top:auto;width:100%;height:4px;background:var(--steel-md)}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-p9eyb02 *//* WHY (eye) PSEUDO-ELEMENT + DESCENDANT SELECTOR: the 28x3 gradient tick has no control of any kind (the Heading widget has no Background section at all), and no control reaches .elementor-heading-title to make it an inline-flex with a 10px gap.
   GRADIENT TREATMENT A (--grad). Not a container pseudo, so lint L1 does not apply (INFO at most).
   line-height:normal is set NATIVELY because .eyebrow writes a font: SHORTHAND with no following line-height (trap 8) - it is not in this block. Colour, family, weight, size, tracking and transform are all native controls and are not duplicated here.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9eyb02 .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.elementor-2497 .elementor-element.elementor-element-p9eyb02 .elementor-heading-title::before{content:"";flex:none;width:28px;height:3px;border-radius:2px;background:var(--steel-md)}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-p9grd02 *//* WHY (g) (i) 960 IS NOT A BREAKPOINT BUCKET on this site - the only buckets are mobile 767 and tablet 1220, and the tablet bucket would wrongly 2-up the whole 961-1220 range, which the mock does not do. (ii) 560 IS NOT A BUCKET either - the mobile bucket fires at 767 and would wrongly 1-up 561-767. (iii) DESCENDANT SELECTOR: the rules must land on the widget's inner .elementor-loop-container, which no control reaches.
   TRAP 12 / LINT L10 COUNTER-DECLARATION. Element custom_css is emitted inside Elementor's DESKTOP group, i.e. BEFORE its own 1220 and 767 blocks. A bare `.elementor-2497 .elementor-element.elementor-element-p9grd02 .elementor-loop-container` (0,2,0) is EXACTLY the compound Elementor's own responsive Columns rules use - so at 900px Elementor's later 1220 rule (columns_tablet=3) would beat the 960 rule, and at 400px its later 767 rule (columns_mobile=2) would beat the 560 rule. Correct at the ends, wrong in the middle - the S3/S4 signature, and the defect S11 block (c) had to fix. BOTH blocks are therefore raised through THIS WIDGET'S OWN SECOND CLASS, p9-grid, giving (0,3,0). The class is on _css_classes (classic widget, L4), it is OURS so it cannot drift, and it beats Elementor at every breakpoint regardless of source order. NEVER !important.
   NO last-item span rule is written. S11 carried one because its wall was a fixed 3-post teaser; this wall is a paginated archive whose count changes every time the client publishes, so a :last-child:nth-child(odd) full-row span would fire unpredictably. The mock declares no such rule for .nw-grid either. Deliberate omission, not an oversight.
   TRAP 2 IN ITS LOOP-GRID FORM IS **NOT** COVERED BY THIS BLOCK: columns / columns_tablet / columns_mobile are written EXPLICITLY as 3/3/2 on the native control below. Elementor ships non-null responsive defaults (3/2/1) on that control - the same defect class as the grid_rows_grid {unit:'fr',size:2} leak that was a BLOCKER in S3/S4. Writing 3 and 2 is not redundant, it IS the fix.
   BUILD-STEP, STILL REQUIRED: after the first save, load the frontend, read post-<page-id>.css and confirm (1) that Elementor's Loop Grid columns rule really is `{{WRAPPER}} .elementor-loop-container` and not a custom property, and (2) that this block out-specifies it at 900px AND at 400px. The MECHANISM is specified here; the emitted .elementor-2497 .elementor-element.elementor-element-p9grd02 is not guessed at. */
@media (max-width:960px){.elementor-2497 .elementor-element.elementor-element-p9grd02.p9-grid .elementor-loop-container{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.elementor-2497 .elementor-element.elementor-element-p9grd02.p9-grid .elementor-loop-container{grid-template-columns:repeat(1,1fr)}}
/* 2026-08-23 WC ROUND-2 - REMOVE COLOUR OVERLAY FROM NEWS PHOTOS.
   WHAT WAS THERE: the card photos are painted by two LOOP TEMPLATES (post 2487 = grid card .nw-photo/#p9img10, post 2488 = featured card .nw-feat-photo/#p9img20), which are separate posts outside this page. Three colour layers came from there:
     (1) background-color:#8ABAD2 on the photo wrapper - a light-blue plate behind the image;
     (2) filter:grayscale(1) contrast(1.04) brightness(.96/.97) on the img - a full desaturation wash;
     (3) .nw-feat-photo::after - background:linear-gradient(180deg,transparent 40%,rgba(37,66,83,.5)) - a slate-blue scrim over the lower 60% of the featured photo.
   WHY IT IS OVERRIDDEN HERE INSTEAD OF DELETED: the declarations live in 2487/2488; this page may only touch its own elements. The loop <style> blocks are injected in the BODY, after elementor-post-2497-css in the head, so a same-specificity rule would lose on source order. Scoping through this widget's own .elementor-2497 .elementor-element.elementor-element-p9grd02 adds one class (0,4,1 vs the loop's 0,3,1) so the cascade is decided by specificity, not order - no !important needed.
   NO CONTROL DOES THIS: filter, a pseudo-element scrim and a wrapper background set from another post are not reachable from any native control on this page. */
.elementor-2497 .elementor-element.elementor-element-p9grd02 .nw-photo{background-color:transparent}
.elementor-2497 .elementor-element.elementor-element-p9grd02 .nw-photo img{filter:none}
.elementor-2497 .elementor-element.elementor-element-p9grd02 .nw-photo::after{content:none;background:none}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-p9eyb03 *//* WHY (i) same two unreachable things as block (eye) - a pseudo-element and a descendant .elementor-2497 .elementor-element.elementor-element-p9eyb03 - but the mock overrides the tick to FLAT WHITE inside the band (.nw-band .eyebrow::before{background:#fff}, mock line 289). Reproduced exactly.
   THIS TICK IS **NOT** A GRADIENT and is deliberately not counted in the tally: the band viewport is already at 2 of 2 treatments (A = the band's own background, B = the radial scrim in block (h)), and painting --grad here would put it at 3. The mock made the same call for the same reason.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9eyb03 .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.elementor-2497 .elementor-element.elementor-element-p9eyb03 .elementor-heading-title::before{content:"";flex:none;width:28px;height:3px;border-radius:2px;background:#fff}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-p9dek03 *//* WHY (k) NO BOX-SIZE CONTROL EXISTS ON THIS WIDGET. MEASURED 2026-07-27 (Elementor/Pro 4.2.0, scratch page 2453) against elementor.widgetsCache: text-editor exposes 69 controls and the only key matching /width|height/ is drop_cap_border_width; _element_custom_width and _element_width both resolve to undefined, so PROVEN-KEY-VOCAB's listing of them is STALE for 4.2.0. Custom CSS is the ONLY place this cap can be written on a widget - it is not a BUILD-10 violation (lint L5 carve-out #2). This is a WIDGET, not a container: a CONTAINER does have width/width_tablet/width_mobile and its cap belongs on the control. The mock element has NO auto margins, so it stays LEFT-aligned in its track; nothing else is in this block. */
.elementor-2497 .elementor-element.elementor-element-p9dek03{max-width:560px}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-p9btn03 *//* WHY (l) :HOVER STATE BOX-SHADOW. The Button widget's Box Shadow control covers the RESTING state only - there is no hover tab on it (unlike the CONTAINER, whose box_shadow_hover_box_shadow IS present on this stack per BUILD-RECIPE 3b, and which is why the card lift in P9-loopitem.js is native and not CSS). The mock's .nw-band .btn:hover box-shadow is therefore unreachable natively and rides this one line.
   NOT IN THIS BLOCK, because they ARE controls: the flat #fff background, the --flame label colour, the 15/30 padding, the 8px radius, the 1.02rem Inter 700 type, the resting 0 12px 30px rgba(16,20,24,.28) shadow (button_box_shadow_box_shadow), the -2px hover lift (_transform_translateY_effect_hover) and its .25s transition, and the arrow icon. Putting any of them here would be an L5 MAJOR.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9btn03 .elementor-button:hover{box-shadow:0 16px 38px rgba(16,20,24,.36)}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-p9sec03 *//* WHY (h) TWO PSEUDO-ELEMENTS, and NEITHER is reachable from Background Overlay (which is ONE layer and cannot express either value).
   ::before - a repeating-linear-gradient TEXTURE at 128deg. No control emits a repeating gradient. Excluded from the gradient tally by the mock header and by render_asserts v1.1.
   ::after - radial-gradient(ellipse 84% 110% at 26% 46%, rgba(16,20,24,.58), transparent 74%). Elementor's Gradient control emits a 2-stop linear gradient or a CENTRED radial only; it cannot express an off-centre elliptical scrim with a % size pair. This is GRADIENT TREATMENT B - the only non---grad treatment in this section - and it puts the band viewport at exactly 2 of the 2 allowed treatments.
   The band's OWN 135deg --grad background is NOT here: it is the native Style>Background>Gradient control (treatment A). Clipping is the native Overflow:Hidden control.
   TRAP 3 / LINT L1 COUNTER-DECLARATIONS ON BOTH AXES for both pseudos: inset:0 specifies right:0 AND bottom:0, so width:auto AND height:auto are both LOAD-BEARING against the base rule's width:max(...)/height.
   MEASUREMENT TRAP M2 applies when verifying this section: Elementor LAZY-LOADS container backgrounds, so both the gradient and these pseudos read as none until .e-lazyloaded lands. Scroll it into view before reading anything.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9sec03::before{content:"";position:absolute;inset:0;width:auto;height:auto;opacity:.1;pointer-events:none;background:repeating-#8ABAD2}
.elementor-2497 .elementor-element.elementor-element-p9sec03::after{z-index:-1;pointer-events:none;content:"";position:absolute;inset:0;width:auto;height:auto;pointer-events:none;background:radial-gradient(ellipse 84% 110% at 26% 46%,rgba(138,186,210,.58),transparent 74%)}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-p9eyb04 *//* WHY (eye) PSEUDO-ELEMENT + DESCENDANT SELECTOR: the 28x3 gradient tick has no control of any kind (the Heading widget has no Background section at all), and no control reaches .elementor-heading-title to make it an inline-flex with a 10px gap.
   GRADIENT TREATMENT A (--grad). Not a container pseudo, so lint L1 does not apply (INFO at most).
   line-height:normal is set NATIVELY because .eyebrow writes a font: SHORTHAND with no following line-height (trap 8) - it is not in this block. Colour, family, weight, size, tracking and transform are all native controls and are not duplicated here.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9eyb04 .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.elementor-2497 .elementor-element.elementor-element-p9eyb04 .elementor-heading-title::before{content:"";flex:none;width:28px;height:3px;border-radius:2px;background:var(--steel-md)}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-p9crd04 *//* WHY (p) (i) PSEUDO-ELEMENT: no control paints a 4px gradient rule inside a container's border box. GRADIENT TREATMENT A. (ii) @keyframes: gradShift lives in design-tokens.css, which governs the MOCK FILES ONLY - it is not on the built site, so the keyframes have to travel with the element that uses them. (iii) :hover STATE box-shadow on a BUTTON: resting-state control only. (iv) background-size on a gradient: no control.
   TRAP 3 / LINT L1 COUNTER-DECLARATION: inset:0 0 auto 0 specifies right:0, so width:auto is LOAD-BEARING against the base rule's width:max(100% + border-left + border-right,100%) - without it the hairline overhangs the right edge by the 1px border (the round-3 s4card1-4 +1.00px defect verbatim). No vertical trigger: bottom is auto. Clipping the hairline to the 12px corners is the NATIVE Overflow:Hidden control.
   NOT IN THIS BLOCK, because they ARE controls: the card's background, border, radius and padding; the buttons' full-width (Alignment=Justify), gradient, resting shadow, -2px hover lift and transition; all typography.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9crd04::before{content:"";position:absolute;inset:0 0 auto 0;width:auto;height:4px;background:var(--steel-md)}
@keyframes p9GradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.elementor-2497 .elementor-element.elementor-element-p9crd04 .fc-p9-btn-grad .elementor-button{background-size:150% 150%}
.elementor-2497 .elementor-element.elementor-element-p9crd04 .fc-p9-btn-grad .elementor-button:hover{box-shadow:0 10px 26px rgba(232,68,46,.36);animation:p9GradShift 1.6s ease infinite}
.elementor-2497 .elementor-element.elementor-element-p9crd04 .fc-p9-btn-emg .elementor-button:hover{box-shadow:0 10px 26px rgba(215,38,29,.4)}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-p9grd04 *//* WHY (n) NON-BUCKET @media: 960 is not a breakpoint on this site. The tablet bucket fires at 1220 and would wrongly stack 961-1220. The 767 bucket is set NATIVELY with the same values, so this block only has to cover 768-960 and never fights a later Elementor rule. --e-con-grid-template-columns is Elementor's own custom property (lint L5 skips it). content_width:'full' => `.elementor-2497 .elementor-element.elementor-element-p9grd04` is the layout box (trap M1 does not apply). The desktop 1.14fr .86fr track list rides the NATIVE control. */
@media (max-width:960px){.elementor-2497 .elementor-element.elementor-element-p9grd04{--e-con-grid-template-columns:1fr;gap:30px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-p9sec04 *//* WHY (m) PSEUDO-ELEMENT: no control paints a rotated, 5%-opacity decorative texture layer inside a container, and no control emits transform on a pseudo. repeating-linear-gradient is a TEXTURE, excluded from the gradient tally.
   TRAP 3 / LINT L1 COUNTER-DECLARATION: anchors RIGHT, so left:auto is LOAD-BEARING. Vertical axis is not triggered (top+height explicit, bottom never declared). Clipping the bleed is the NATIVE Overflow:Hidden control.
   This is the #fff variant - section 4's mock span overrides .speedlines inline to white (mock line 511). Section 1's does not; both are reproduced exactly as the mock has them.
   TRAP 12 / LINT L10: ZERO @media in this block. No !important. */
.elementor-2497 .elementor-element.elementor-element-p9sec04::before{content:"";position:absolute;top:-30px;right:-70px;left:auto;width:420px;height:300px;transform:rotate(-8deg);opacity:.05;pointer-events:none;background:repeating-#8ABAD2}/* End custom CSS */