.elementor-15216 .elementor-element.elementor-element-7b9716bc{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:90px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-7b9716bc:not(.elementor-motion-effects-element-type-background), .elementor-15216 .elementor-element.elementor-element-7b9716bc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;background-image:url("https://solartechonline.com/wp-content/uploads/2026/10/REC-Hero-Img-1.webp");background-position:bottom left;}.elementor-15216 .elementor-element.elementor-element-7b9716bc::before, .elementor-15216 .elementor-element.elementor-element-7b9716bc > .elementor-background-video-container::before, .elementor-15216 .elementor-element.elementor-element-7b9716bc > .e-con-inner > .elementor-background-video-container::before, .elementor-15216 .elementor-element.elementor-element-7b9716bc > .elementor-background-slideshow::before, .elementor-15216 .elementor-element.elementor-element-7b9716bc > .e-con-inner > .elementor-background-slideshow::before, .elementor-15216 .elementor-element.elementor-element-7b9716bc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(89deg, #000B14F5 34%, #02090F91 93%);}.elementor-15216 .elementor-element.elementor-element-45c828c7{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );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-15216 .elementor-element.elementor-element-c1b4ff0{columns:1;text-align:start;font-family:"Red Hat Display", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.4em;letter-spacing:1.8px;color:#FF912A;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-15216 .elementor-element.elementor-element-1325fe54{width:var( --container-widget-width, 700px );max-width:700px;--container-widget-width:700px;--container-widget-flex-grow:0;text-align:start;}.elementor-15216 .elementor-element.elementor-element-1325fe54 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-15216 .elementor-element.elementor-element-1325fe54.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-15216 .elementor-element.elementor-element-1325fe54 .elementor-heading-title{font-family:"Red Hat Display", Sans-serif;font-size:52px;font-weight:600;line-height:1.2em;letter-spacing:0px;color:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-7303a31a{width:var( --container-widget-width, 620px );max-width:620px;--container-widget-width:620px;--container-widget-flex-grow:0;columns:1;text-align:start;font-family:"Figtree", Sans-serif;font-size:18px;font-weight:400;line-height:1.6em;color:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-7303a31a > .elementor-widget-container{padding:0px 0px 30px 0px;border-style:dashed;border-width:0px 0px 0px 0px;border-color:#FF912A;}.elementor-15216 .elementor-element.elementor-element-184bb4f7{--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-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-15216 .elementor-element.elementor-element-3c4c06b5 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Red Hat Display", Sans-serif;font-size:18px;font-weight:700;text-transform:none;line-height:1em;letter-spacing:0px;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-color:#000000;border-radius:100px 100px 100px 100px;padding:20px 40px 20px 40px;}.elementor-15216 .elementor-element.elementor-element-3c4c06b5 .elementor-button:hover, .elementor-15216 .elementor-element.elementor-element-3c4c06b5 .elementor-button:focus{background-color:var( --e-global-color-d08c5d7 );}.elementor-15216 .elementor-element.elementor-element-3c4c06b5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-128cfd57 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Red Hat Display", Sans-serif;font-size:18px;font-weight:700;text-transform:none;line-height:1em;letter-spacing:0px;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-color:#000000;border-radius:100px 100px 100px 100px;padding:20px 40px 20px 40px;}.elementor-15216 .elementor-element.elementor-element-128cfd57 .elementor-button:hover, .elementor-15216 .elementor-element.elementor-element-128cfd57 .elementor-button:focus{background-color:var( --e-global-color-secondary );}.elementor-15216 .elementor-element.elementor-element-128cfd57 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-4008a08{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-f6bed23{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-2494884{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-91d012e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-222d85c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-2763a46{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-61331c0{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-ef50498{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-54e39064{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-54e39064:not(.elementor-motion-effects-element-type-background), .elementor-15216 .elementor-element.elementor-element-54e39064 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-4e4cb7f3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-79fc33f9{width:100%;max-width:100%;}.elementor-15216 .elementor-element.elementor-element-addc785{--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:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-addc785:not(.elementor-motion-effects-element-type-background), .elementor-15216 .elementor-element.elementor-element-addc785 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAFA;}.elementor-15216 .elementor-element.elementor-element-69d8bd9{--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:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-15216 .elementor-element.elementor-element-c38d788{--display:flex;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:110px;}.elementor-15216 .elementor-element.elementor-element-11f1bbc{columns:1;text-align:start;font-family:"Red Hat Display", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;line-height:1em;color:#FF912A;}.elementor-15216 .elementor-element.elementor-element-939ea4e > .elementor-widget-container{margin:8px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-939ea4e{text-align:start;}.elementor-15216 .elementor-element.elementor-element-939ea4e .elementor-heading-title{font-family:"Red Hat Display", Sans-serif;font-size:52px;font-weight:500;line-height:1.2em;letter-spacing:-1px;color:#000000;}.elementor-15216 .elementor-element.elementor-element-64c1a86 > .elementor-widget-container{margin:36px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-64c1a86{columns:1;text-align:start;font-family:"Figtree", Sans-serif;font-size:18px;font-weight:400;line-height:1.7em;color:var( --e-global-color-text );}.elementor-15216 .elementor-element.elementor-element-2496061{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:20px 20px 20px 20px;box-shadow:0px 14px 56px 0px rgba(0, 0, 0, 0.06);--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-2496061:not(.elementor-motion-effects-element-type-background), .elementor-15216 .elementor-element.elementor-element-2496061 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7FAFD;}.elementor-15216 .elementor-element.elementor-element-d0b03c7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 20px 20px;}.elementor-15216 .elementor-element.elementor-element-d0b03c7{text-align:start;}.elementor-15216 .elementor-element.elementor-element-d0b03c7 .elementor-heading-title{font-family:"Red Hat Display", Sans-serif;font-size:28px;font-weight:600;line-height:1em;letter-spacing:-1px;color:#000000;}.elementor-15216 .elementor-element.elementor-element-c1a6a19 > .elementor-widget-container{padding:0px 15px 50px 15px;}.elementor-15216 .elementor-element.elementor-element-71a0d6c1{--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:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:050px;--padding-bottom:050px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-71a0d6c1:not(.elementor-motion-effects-element-type-background), .elementor-15216 .elementor-element.elementor-element-71a0d6c1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-71a0d6c1.e-con{--align-self:center;}.elementor-15216 .elementor-element.elementor-element-17d69f7e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-15216 .elementor-element.elementor-element-3fdd6663{--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;--gap:0px 50px;--row-gap:0px;--column-gap:50px;--padding-top:0px;--padding-bottom:35px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-3fdd6663.e-con{--align-self:center;}.elementor-15216 .elementor-element.elementor-element-1e2f1725{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-5aa44d3e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 15px 0px;}.elementor-15216 .elementor-element.elementor-element-5aa44d3e{text-align:start;}.elementor-15216 .elementor-element.elementor-element-5aa44d3e .elementor-heading-title{font-family:"Red Hat Display", Sans-serif;font-size:40px;font-weight:600;line-height:1.1em;letter-spacing:-1px;color:#000000;}.elementor-15216 .elementor-element.elementor-element-6e157e02 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-6e157e02{columns:1;text-align:start;font-family:"Figtree", Sans-serif;font-size:18px;font-weight:400;line-height:1.6em;color:#707070;}.elementor-15216 .elementor-element.elementor-element-367e6cb3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-15216 .elementor-element.elementor-element-414f7773 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-414f7773 .elementor-icon-box-wrapper{align-items:start;text-align:start;gap:20px;}.elementor-15216 .elementor-element.elementor-element-414f7773 .elementor-icon-box-title{margin-block-end:14px;color:#000000;}.elementor-15216 .elementor-element.elementor-element-414f7773.elementor-view-stacked .elementor-icon{background-color:#FF912A;}.elementor-15216 .elementor-element.elementor-element-414f7773.elementor-view-framed .elementor-icon, .elementor-15216 .elementor-element.elementor-element-414f7773.elementor-view-default .elementor-icon{fill:#FF912A;color:#FF912A;border-color:#FF912A;}.elementor-15216 .elementor-element.elementor-element-414f7773 .elementor-icon{font-size:40px;}.elementor-15216 .elementor-element.elementor-element-414f7773 .elementor-icon-box-title, .elementor-15216 .elementor-element.elementor-element-414f7773 .elementor-icon-box-title a{font-family:"Red Hat Display", Sans-serif;font-size:22px;font-weight:500;line-height:1em;letter-spacing:0px;}.elementor-15216 .elementor-element.elementor-element-414f7773 .elementor-icon-box-description{font-family:"Figtree", Sans-serif;font-size:16px;font-weight:400;line-height:1.8em;color:#9F9F9F;}.elementor-15216 .elementor-element.elementor-element-3e8063d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-5e3d3c20 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-5e3d3c20 .elementor-icon-box-wrapper{text-align:start;}.elementor-15216 .elementor-element.elementor-element-5e3d3c20 .elementor-icon-box-title{margin-block-end:14px;color:#000000;}.elementor-15216 .elementor-element.elementor-element-5e3d3c20 .elementor-icon-box-title, .elementor-15216 .elementor-element.elementor-element-5e3d3c20 .elementor-icon-box-title a{font-family:"Red Hat Display", Sans-serif;font-size:22px;font-weight:500;line-height:1em;letter-spacing:0px;}.elementor-15216 .elementor-element.elementor-element-5e3d3c20 .elementor-icon-box-description{font-family:"Figtree", Sans-serif;font-size:18px;font-weight:400;line-height:1.8em;color:#9F9F9F;}.elementor-15216 .elementor-element.elementor-element-200c35e4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 70px;}.elementor-15216 .elementor-element.elementor-element-200c35e4 .elementor-icon-box-wrapper{text-align:start;}.elementor-15216 .elementor-element.elementor-element-200c35e4 .elementor-icon-box-title{margin-block-end:14px;color:#000000;}.elementor-15216 .elementor-element.elementor-element-200c35e4 .elementor-icon-box-title, .elementor-15216 .elementor-element.elementor-element-200c35e4 .elementor-icon-box-title a{font-family:"Red Hat Display", Sans-serif;font-size:22px;font-weight:500;line-height:1em;letter-spacing:0px;}.elementor-15216 .elementor-element.elementor-element-200c35e4 .elementor-icon-box-description{font-family:"Figtree", Sans-serif;font-size:18px;font-weight:400;line-height:1.8em;color:#9F9F9F;}.elementor-15216 .elementor-element.elementor-element-54d597ff{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:20px 20px 20px 20px;--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}.elementor-15216 .elementor-element.elementor-element-54d597ff:not(.elementor-motion-effects-element-type-background), .elementor-15216 .elementor-element.elementor-element-54d597ff > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#04171F;}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-accordion-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-accordion .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-15216 .elementor-element.elementor-element-38283074 > .elementor-widget-container{margin:-26px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-item{border-width:2px;border-color:#FFFFFF00;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-item .elementor-tab-content{border-width:2px;border-block-start-color:#FFFFFF00;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-item .elementor-tab-title.elementor-active{border-width:2px;border-block-end-color:#FFFFFF00;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-icon, .elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-title{color:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-icon svg{fill:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-active .elementor-accordion-icon, .elementor-15216 .elementor-element.elementor-element-38283074 .elementor-active .elementor-accordion-title{color:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-active .elementor-accordion-icon svg{fill:#FFFFFF;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-title{font-family:"Red Hat Display", Sans-serif;font-size:20px;font-weight:500;line-height:1.2em;letter-spacing:0px;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-tab-title{padding:20px 0px 20px 0px;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-tab-title .elementor-accordion-icon i:before{color:#FF912A;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-tab-title .elementor-accordion-icon svg{fill:#FF912A;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-icon{margin-inline-end:15px;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-tab-content{color:#EEEEEE;font-family:"Figtree", Sans-serif;font-size:16px;font-weight:400;line-height:1.8em;padding:0px 0px 15px 0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-15216 .elementor-element.elementor-element-7b9716bc{--content-width:1290px;}.elementor-15216 .elementor-element.elementor-element-addc785{--content-width:1290px;}.elementor-15216 .elementor-element.elementor-element-69d8bd9{--width:1290px;}.elementor-15216 .elementor-element.elementor-element-71a0d6c1{--content-width:1290px;}.elementor-15216 .elementor-element.elementor-element-17d69f7e{--width:1290px;}}@media(max-width:1024px) and (min-width:768px){.elementor-15216 .elementor-element.elementor-element-c38d788{--width:100%;}.elementor-15216 .elementor-element.elementor-element-2496061{--width:100%;}}@media(max-width:1024px){.elementor-15216 .elementor-element.elementor-element-7b9716bc{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-45c828c7{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-15216 .elementor-element.elementor-element-1325fe54 .elementor-heading-title{font-size:35px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-15216 .elementor-element.elementor-element-3c4c06b5 .elementor-button{padding:20px 20px 20px 20px;}.elementor-15216 .elementor-element.elementor-element-128cfd57 .elementor-button{padding:20px 20px 20px 20px;}.elementor-15216 .elementor-element.elementor-element-4008a08{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-f6bed23{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-2494884{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-91d012e{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-222d85c{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-2763a46{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-61331c0{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-ef50498{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-54e39064{--padding-top:80px;--padding-bottom:80px;--padding-left:15px;--padding-right:15px;}.elementor-15216 .elementor-element.elementor-element-4e4cb7f3{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-addc785{--padding-top:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-c38d788{--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-939ea4e{width:var( --container-widget-width, 337px );max-width:337px;--container-widget-width:337px;--container-widget-flex-grow:0;}.elementor-15216 .elementor-element.elementor-element-939ea4e .elementor-heading-title{font-size:35px;}.elementor-15216 .elementor-element.elementor-element-64c1a86{font-size:14px;}.elementor-15216 .elementor-element.elementor-element-2496061{--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-15216 .elementor-element.elementor-element-d0b03c7 > .elementor-widget-container{margin:-5px 0px -3px -1px;}.elementor-15216 .elementor-element.elementor-element-d0b03c7 .elementor-heading-title{font-size:28px;}.elementor-15216 .elementor-element.elementor-element-71a0d6c1{--padding-top:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-3fdd6663{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:30px;}.elementor-15216 .elementor-element.elementor-element-1e2f1725{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-5aa44d3e .elementor-heading-title{font-size:35px;}.elementor-15216 .elementor-element.elementor-element-367e6cb3{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );}.elementor-15216 .elementor-element.elementor-element-3e8063d{--padding-top:25px;--padding-bottom:25px;--padding-left:40px;--padding-right:40px;}.elementor-15216 .elementor-element.elementor-element-54d597ff{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-widget-accordion .elementor-accordion-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-accordion .elementor-tab-content{font-size:var( --e-global-typography-text-font-size );}.elementor-15216 .elementor-element.elementor-element-38283074 > .elementor-widget-container{margin:-31px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-title{line-height:1.3em;}}@media(max-width:767px){.elementor-15216 .elementor-element.elementor-element-7b9716bc{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:15px;--padding-right:15px;}.elementor-15216 .elementor-element.elementor-element-45c828c7{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-15216 .elementor-element.elementor-element-1325fe54{width:100%;max-width:100%;}.elementor-15216 .elementor-element.elementor-element-1325fe54 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-1325fe54 .elementor-heading-title{font-size:35px;}.elementor-15216 .elementor-element.elementor-element-7303a31a{width:100%;max-width:100%;font-size:16px;}.elementor-15216 .elementor-element.elementor-element-7303a31a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-15216 .elementor-element.elementor-element-3c4c06b5{width:100%;max-width:100%;}.elementor-15216 .elementor-element.elementor-element-3c4c06b5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-3c4c06b5 .elementor-button{font-size:16px;padding:20px 20px 20px 20px;}.elementor-15216 .elementor-element.elementor-element-128cfd57{width:100%;max-width:100%;}.elementor-15216 .elementor-element.elementor-element-128cfd57 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-128cfd57 .elementor-button{font-size:16px;padding:20px 20px 20px 20px;}.elementor-15216 .elementor-element.elementor-element-4008a08{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-f6bed23{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-2494884{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-91d012e{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-222d85c{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-2763a46{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-61331c0{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-ef50498{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-54e39064{--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:25px;}.elementor-15216 .elementor-element.elementor-element-4e4cb7f3{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-addc785{--padding-top:25px;--padding-bottom:25px;--padding-left:015px;--padding-right:15px;}.elementor-15216 .elementor-element.elementor-element-c38d788{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-939ea4e{width:100%;max-width:100%;}.elementor-15216 .elementor-element.elementor-element-939ea4e .elementor-heading-title{font-size:35px;}.elementor-15216 .elementor-element.elementor-element-64c1a86 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-64c1a86{font-size:17px;}.elementor-15216 .elementor-element.elementor-element-2496061{--border-radius:10px 10px 10px 10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-d0b03c7 > .elementor-widget-container{margin:0px 5px 0px 5px;padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-d0b03c7{text-align:center;}.elementor-15216 .elementor-element.elementor-element-d0b03c7 .elementor-heading-title{font-size:27px;line-height:1.2em;}.elementor-15216 .elementor-element.elementor-element-c1a6a19 > .elementor-widget-container{padding:0px 15px 0px 15px;}.elementor-15216 .elementor-element.elementor-element-71a0d6c1{--padding-top:35px;--padding-bottom:035px;--padding-left:15px;--padding-right:15px;}.elementor-15216 .elementor-element.elementor-element-3fdd6663{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-1e2f1725{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-5aa44d3e > .elementor-widget-container{padding:0px 0px 20px 0px;}.elementor-15216 .elementor-element.elementor-element-5aa44d3e .elementor-heading-title{font-size:38px;line-height:1.2em;}.elementor-15216 .elementor-element.elementor-element-367e6cb3{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );}.elementor-15216 .elementor-element.elementor-element-3e8063d{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-15216 .elementor-element.elementor-element-5e3d3c20 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-200c35e4 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-54d597ff{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-widget-accordion .elementor-accordion-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-accordion .elementor-tab-content{font-size:var( --e-global-typography-text-font-size );}.elementor-15216 .elementor-element.elementor-element-38283074 > .elementor-widget-container{margin:-32px 0px 0px 0px;}.elementor-15216 .elementor-element.elementor-element-38283074 .elementor-accordion-title{font-size:18px;line-height:1.3em;}}/* Start custom CSS for container, class: .elementor-element-54e39064 *//* ==========================================================================
   SolarTech | "Why SolarTech" shared section template
   Namespace: .stw
   Delivery: the section's container, Advanced > Custom CSS,
   so the styles travel with the container to any page.
   ========================================================================== */

.stw {
  --stw-blue: #005DAA;
  --stw-gray: #F3F3F3;
  --stw-muted: #5a6670;
  --stw-line: #e7ebee;

  box-sizing: border-box;
  width: 100%;
  padding: 70px 24px;
  background: var(--stw-gray);
  font-family: 'Figtree', sans-serif;
  font-size: 17px;
  font-weight: 400;
}
.stw *, .stw *::before, .stw *::after { box-sizing: border-box; }
.stw-wrap { max-width: 1290px; margin: 0 auto; }
.stw p { margin: 0 0 16px; }
.stw p:last-child { margin-bottom: 0; }

.stw-head { max-width: 760px; margin-bottom: 44px; }
.stw .stw-eyebrow {
  font-family: 'Figtree', sans-serif; font-weight: 600; font-size: 13px;
  letter-spacing: 1.8px; text-transform: uppercase; line-height: 1.4;
  color: var(--stw-blue); margin: 0 0 10px;
}
.stw .stw-h2 {
  font-family: 'Red Hat Display', sans-serif; font-weight: 600;
  font-size: 36px; line-height: 1.2; color: #000; margin: 0 0 14px;
  text-wrap: balance;
}
.stw .stw-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 600; color: var(--stw-blue); text-decoration: none;
}
.stw .stw-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.stw .stw-link:focus-visible { outline: 3px solid #FF912A; outline-offset: 3px; }
.stw .stw-link svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75;
  stroke-linecap: round; stroke-linejoin: round;
}

.stw-stats {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
  background: #fff; border-radius: 16px; padding: 8px 0;
}
.stw-stat { padding: 26px 28px; border-left: 1px solid var(--stw-line); }
.stw-stat:first-child { border-left: 0; }
.stw .stw-stat-num {
  font-family: 'Red Hat Display', sans-serif; font-weight: 600;
  font-size: 44px; line-height: 1; color: var(--stw-blue); margin: 0 0 8px;
}
.stw .stw-stat-label { font-size: 15px; color: var(--stw-muted); margin: 0; }

.stw-badges {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-around;
  gap: 32px 48px; margin-top: 24px; padding: 36px 40px;
  background: #fff; border-radius: 16px;
}
.stw .stw-badges img { height: 80px; width: auto; max-width: 240px; object-fit: contain; }
.stw .stw-license { margin-top: 28px; font-size: 14px; color: var(--stw-muted); }

@media (max-width: 1024px) {
  .stw-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stw-stat:nth-child(3) { border-left: 0; }
  .stw-stat:nth-child(n+3) { border-top: 1px solid var(--stw-line); }
}
@media (max-width: 767px) {
  .stw { padding: 56px 20px; }
  .stw .stw-h2 { font-size: 28px; }
  .stw-head { margin-bottom: 32px; }
  .stw-stat { padding: 22px 20px; }
  .stw .stw-stat-num { font-size: 34px; }
  .stw-badges { justify-content: center; gap: 24px 32px; padding: 28px 20px; }
  .stw .stw-badges img { height: 56px; max-width: 180px; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c1a6a19 *//* ==========================================================================
   SolarTech - Gravity Forms styling
   Paste into: Elementor > Shortcode widget > Advanced > Custom CSS
   ".elementor-15216 .elementor-element.elementor-element-c1a6a19" resolves to that widget only, so blast radius is one widget.

   Portability note: to move this to WPCode later, find/replace the word
   ".elementor-15216 .elementor-element.elementor-element-c1a6a19" with ".st-gf" and add st-gf as a CSS class on the widget.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 {
  --st-blue: #005DAA;
  --st-blue-dark: #004A88;
  --st-orange: #FF912A;
  --st-dark: #04171F;
  --st-gray: #F3F3F3;
  --st-text: #1a1a1a;
  --st-muted: #5a6670;
  --st-border: #d6dce1;
  --st-error: #C0392B;
}

/* ---------- 2. Base + field spacing ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper {
  font-family: "Figtree", Arial, sans-serif;
  color: var(--st-text);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_fields {
  row-gap: 26px;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_required_legend {
  display: none;
}

/* ---------- 3. Labels ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_label,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper legend.gfield_label {
  font-family: "Red Hat Display", Arial, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.35;
  color: var(--st-dark);
  margin-bottom: 8px;
}

/* First / Last sub-labels */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .ginput_complex label,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform-field-label--type-sub {
  font-family: "Figtree", Arial, sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.2px;
  color: var(--st-muted);
  margin-top: 6px;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_required {
  color: var(--st-orange);
  font-weight: 700;
}

/* ---------- 4. Text inputs, selects, textareas ---------- */
/* height/block-size auto overrides Gravity's fixed control height
   (--gf-ctrl-size), which clipped text once our padding was applied. */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="text"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="email"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="tel"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="url"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="number"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="password"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper textarea,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper select {
  width: 100%;
  height: auto !important;
  block-size: auto !important;
  min-height: 48px;
  font-family: "Figtree", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.4 !important;
  color: var(--st-text);
  background-color: #ffffff;
  border: 1px solid var(--st-border) !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input:focus,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper textarea:focus,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper select:focus {
  border-color: var(--st-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 93, 170, 0.15);
  outline: none;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input::placeholder,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper textarea::placeholder {
  color: #8b959d;
  opacity: 1;
}

/* Textarea: about 4 lines (overrides Gravity's rows="10") */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper textarea {
  height: 120px !important;
  block-size: 120px !important;
  min-height: 96px;
  resize: vertical;
}

/* ---------- 4b. Select: custom arrow ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper select {
  appearance: none;
  -webkit-appearance: none;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2304171F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px 8px !important;
  padding-right: 40px !important;
  cursor: pointer;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23005DAA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* ---------- 5. Custom checkboxes and radios ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="checkbox"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin: 0 10px 0 0;
  padding: 0;
  position: relative;
  background: #ffffff;
  border: 2px solid #c7ced4;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="checkbox"] { border-radius: 4px; }
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="radio"]    { border-radius: 50%; }

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="checkbox"]:hover,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="radio"]:hover {
  border-color: var(--st-blue);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="checkbox"]:checked {
  background: var(--st-blue);
  border-color: var(--st-blue);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="radio"]:checked {
  border-color: var(--st-blue);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--st-blue);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="checkbox"]:focus-visible,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper input[type="radio"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 93, 170, 0.20);
}

/* Choice rows: box left, label right, vertically aligned */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_checkbox .gchoice,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_radio .gchoice {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_checkbox .gchoice label,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_radio .gchoice label {
  font-size: 16px;
  color: var(--st-text);
  cursor: pointer;
  margin: 0;
}

/* ---------- 6. Consent / marketing disclaimer: box left, text right ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-consent {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  column-gap: 12px;
  row-gap: 8px;
}

/* Field label, if used, stays on its own row above */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-consent > .gfield_label {
  order: 0;
  flex: 0 0 100%;
}

/* The checkbox itself */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-consent .ginput_container_consent {
  order: 1;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  margin-top: 3px;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-consent .ginput_container_consent input[type="checkbox"] {
  margin-right: 0;
}

/* If the disclaimer text lives in the checkbox label */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-consent .gfield_consent_label {
  order: 1;
  flex: 1 1 0;
  min-width: 0;
  margin-left: 12px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--st-muted);
  cursor: pointer;
}

/* If the disclaimer text lives in the Description field (current setup):
   strip Gravity's bordered scroll box and float it beside the checkbox */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-consent .gfield_consent_description {
  order: 2;
  flex: 1 1 0;
  min-width: 0;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  font-size: 13px;
  line-height: 1.6;
  color: var(--st-muted);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-consent .gfield_validation_message {
  order: 3;
  flex: 0 0 100%;
}

/* ---------- 7. Legal text under the form (HTML field) ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield--type-html {
  font-size: 13px;
  line-height: 1.6;
  color: var(--st-muted);
}

/* ---------- 8. Submit button ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_footer input[type="submit"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_footer button,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_page_footer input[type="submit"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_page_footer input[type="button"],
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_page_footer button {
  font-family: "Figtree", Arial, sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.2px;
  color: #ffffff !important;
  background: var(--st-blue) !important;
  border: 2px solid var(--st-blue) !important;
  border-radius: 6px !important;
  padding: 14px 34px !important;
  width: auto;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, transform .1s ease;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_footer input[type="submit"]:hover,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_footer button:hover,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_page_footer input[type="submit"]:hover,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_page_footer input[type="button"]:hover,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_page_footer button:hover {
  background: var(--st-blue-dark) !important;
  border-color: var(--st-blue-dark) !important;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_footer input[type="submit"]:active {
  transform: translateY(1px);
}

/* Orange CTA variant: swap the two background/border lines above for
   var(--st-orange) and #E67E17 if this form sits on a blue section. */

/* ---------- 9. Validation ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_validation_errors {
  background: #FDF3F2;
  border: 1px solid var(--st-error);
  border-radius: 6px;
  box-shadow: none;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_validation_errors h2 {
  font-family: "Red Hat Display", Arial, sans-serif;
  font-size: 16px;
  color: var(--st-error);
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_error input,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_error select,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_error textarea {
  border-color: var(--st-error) !important;
  background-color: #FFFCFC;
}

.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gfield_validation_message,
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .validation_message {
  background: transparent;
  border: 0;
  padding: 6px 0 0;
  font-size: 13px;
  color: var(--st-error);
}

/* ---------- 10. Confirmation ---------- */
.elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_confirmation_message {
  font-family: "Figtree", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--st-dark);
  background: var(--st-gray);
  border-left: 4px solid var(--st-blue);
  border-radius: 6px;
  padding: 20px 24px;
}

/* ---------- 11. Mobile ---------- */
@media (max-width: 640px) {
  .elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_fields {
    row-gap: 20px;
  }
  .elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_footer input[type="submit"],
  .elementor-15216 .elementor-element.elementor-element-c1a6a19 .gform_wrapper .gform_footer button {
    width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for accordion, class: .elementor-element-38283074 */.elementor-accordion .elementor-accordion-item {
  border-left:0px !important;
  border-right:0px !important;
  border-top:0px !important;
}/* End custom CSS */
/* Start custom CSS *//* ==========================================================================
   SolarTech | Residential Solar Product Pages
   Shared by: /residential/maxeon-solar-panels/, /residential/rec-solar-panels/,
              /residential/qcells/
   Namespace: .spp
   Delivery: pasted into each product page's Advanced > Custom CSS.
   Shared rules match the Maxeon page; page-specific rules are at the bottom.
   Elementor containers holding these widgets: full width, 0 padding, 0 gap.
   Page-specific values (hero photo) are at the bottom, one block per page.
   ========================================================================== */

.spp {
  --spp-blue: #005DAA;
  --spp-blue-dark: #004A88;
  --spp-blue-tint: #E8F0F8;
  --spp-orange: #FF912A;
  --spp-orange-dark: #D57215;
  --spp-orange-tint: #FFF1E3;
  --spp-dark: #04171F;
  --spp-gray: #F3F3F3;
  --spp-muted: #5a6670;
  --spp-border: #d6dce1;
  --spp-line: #e7ebee;

  box-sizing: border-box;
  width: 100%;
  padding: 70px 24px;
  background: #fff;
  font-family: 'Figtree', sans-serif;
  font-size: 17px;
  font-weight: 400;
}
.spp *, .spp *::before, .spp *::after { box-sizing: border-box; }
.spp--gray { background: var(--spp-gray); }
.spp--dark { background: var(--spp-dark); color: rgba(255,255,255,.82); }
.spp-wrap { max-width: 1290px; margin: 0 auto; }
.spp p { margin: 0 0 16px; }
.spp p:last-child { margin-bottom: 0; }
.spp a:not(.spp-btn):not(.spp-link-card):not(.spp-img-card) { color: var(--spp-blue); text-decoration: underline; text-underline-offset: 3px; }
.spp a:not(.spp-btn):not(.spp-link-card):not(.spp-img-card):hover { color: var(--spp-blue-dark); }
.spp--dark a:not(.spp-btn):not(.spp-link-card):not(.spp-img-card) { color: #fff; }

/* ---------- Icons ---------- */
.spp .spp-ic {
  width: 24px; height: 24px; flex: 0 0 auto;
  fill: none; stroke: currentColor; stroke-width: 1.75;
  stroke-linecap: round; stroke-linejoin: round;
}
.spp .spp-ic--sm { width: 18px; height: 18px; }

/* ---------- Type ---------- */
.spp .spp-eyebrow {
  font-family: 'Figtree', sans-serif; font-weight: 600; font-size: 13px;
  letter-spacing: 1.8px; text-transform: uppercase; line-height: 1.4;
  color: var(--spp-blue); margin: 0 0 10px;
}
.spp-hero-inner .spp-eyebrow, .spp--dark .spp-eyebrow { color: var(--spp-orange); }
.spp .spp-h1 {
  font-family: 'Red Hat Display', sans-serif; font-weight: 600;
  font-size: 52px; line-height: 1.12; color: #fff; margin: 0 0 20px;
}
.spp .spp-h2 {
  font-family: 'Red Hat Display', sans-serif; font-weight: 600;
  font-size: 36px; line-height: 1.2; color: #000; margin: 0 0 14px;
}
.spp--dark .spp-h2 { color: #fff; }
.spp .spp-h3 {
  font-family: 'Red Hat Display', sans-serif; font-weight: 600;
  font-size: 22px; line-height: 1.3; color: #000; margin: 0 0 8px;
}
.spp--dark .spp-h3 { color: #fff; }
.spp-head { max-width: 760px; margin-bottom: 44px; }
.spp-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.spp .spp-fine { font-size: 14px; color: var(--spp-muted); }

/* ---------- Buttons ----------
   Primary = ST orange, secondary = solid ST blue (matches site buttons). */
.spp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.spp .spp-btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Figtree', sans-serif; font-weight: 600; font-size: 16px; line-height: 1em;
  padding: 15px 35px; border-radius: 100px; border: 0;
  color: #fff; text-decoration: none; transition: background-color .2s ease;
}
.spp .spp-btn:hover, .spp .spp-btn:focus { color: #fff; }
.spp .spp-btn--primary { background: var(--spp-orange); }
.spp .spp-btn--primary:hover, .spp .spp-btn--primary:focus { background: var(--spp-orange-dark); }
.spp .spp-btn--secondary { background: var(--spp-blue); }
.spp .spp-btn--secondary:hover, .spp .spp-btn--secondary:focus { background: var(--spp-blue-dark); }
.spp .spp-btn:focus-visible { outline: 3px solid var(--spp-blue); outline-offset: 3px; }
.spp .spp-call { font-weight: 600; font-size: 16px; }
.spp .spp-after { margin-top: 36px; }

/* ---------- Image slot (until photos are in) ---------- */
.spp-slot {
  width: 100%; height: 100%; display: grid; place-items: center; padding: 24px; text-align: center;
  font-size: 15px; color: var(--spp-muted); border: 2px dashed var(--spp-border); border-radius: 16px;
  background: #fff;
}

/* ==========================================================================
   Block 1: Hero
   Photo and overlay sit on the Elementor container (CSS class: spp-hero),
   because the review badge shortcode needs its own Shortcode widget inside it.
   CSS background, never an <img>. Preload link lives in Block 1.
   ========================================================================== */
.e-con.spp-hero, .spp-hero {
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  position: relative; overflow: hidden;
  background-color: #04171F;
  background-size: cover; background-position: center; background-repeat: no-repeat;
}
.e-con.spp-hero::before, .spp-hero::before {
  content: "" !important; display: block !important;
  position: absolute !important; top: 0; right: 0; bottom: 0; left: 0;
  z-index: 0; pointer-events: none; opacity: 1 !important; mix-blend-mode: normal !important;
  background: linear-gradient(90deg, rgba(4,23,31,.95) 0%, rgba(4,23,31,.85) 50%, rgba(4,23,31,.5) 100%) !important;
}
.spp-hero > * { position: relative; z-index: 1; }
.spp.spp-hero-inner { background: transparent; padding: 90px 24px 0; }
.spp-hero-copy { max-width: 720px; }
.spp-hero-copy > p:not(.spp-eyebrow) {
  font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.82);
  max-width: 620px; margin-bottom: 32px;
}
/* Review badge: add CSS class spp-hero-badge to the Shortcode widget
   holding [wprevpro_usebadge tid="1"] (Advanced > CSS Classes) */
.spp-hero-badge {
  width: 100%; max-width: 1338px; margin-left: auto; margin-right: auto;
  padding: 28px 24px 96px; box-sizing: border-box;
}

/* ==========================================================================
   Block 2: Product spotlight (panel PNG + specs)
   ========================================================================== */
.spp-spot .spp-wrap {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 64px; align-items: center;
}
.spp-product {
  position: relative; display: grid; place-items: center;
  padding: 40px; border-radius: 20px;
  background: radial-gradient(circle at 50% 45%, #fff 0%, var(--spp-gray) 70%);
}
.spp .spp-product img { display: block; width: 100%; max-width: 520px; height: auto; }
.spp-spot .spp-head { margin-bottom: 28px; }
.spp-specs {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px;
  margin: 0 0 28px; padding: 0; list-style: none;
}
.spp .spp-specs li {
  margin: 0; padding: 18px 20px; border-radius: 14px;
  background: var(--spp-gray); box-shadow: inset 4px 0 0 var(--spp-blue);
}
.spp .spp-spec-num {
  display: block; font-family: 'Red Hat Display', sans-serif; font-weight: 600;
  font-size: 28px; line-height: 1.1; color: var(--spp-blue); margin-bottom: 4px;
}
.spp .spp-spec-label { display: block; font-size: 15px; line-height: 1.4; color: var(--spp-muted); }

/* ==========================================================================
   Block 3: Performance features (icon cards with soft hover)
   ========================================================================== */
.spp-cards { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.spp-card {
  padding: 28px; border: 1px solid var(--spp-line); border-radius: 16px; background: #fff;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.spp-card-ic {
  width: 48px; height: 48px; border-radius: 12px; margin-bottom: 18px;
  display: grid; place-items: center;
  background: var(--spp-blue-tint); color: var(--spp-blue);
  transition: background-color .3s ease, color .3s ease;
}
.spp .spp-card p { font-size: 16px; color: var(--spp-muted); }

/* ==========================================================================
   Block 4: Comparison table
   ========================================================================== */
/* Theme/Elementor table defaults (outer margin, cell borders, striped rows,
   auto widths) are reset here, so body.elementor-page-15216s are scoped to the wrapper. */
.spp-table-wrap {
  overflow: hidden; border-radius: 16px; background: #fff; border: 1px solid var(--spp-line);
}
.spp .spp-table-wrap table.spp-table {
  display: table; width: 100%; max-width: none; margin: 0; border: 0;
  border-collapse: collapse; border-spacing: 0; table-layout: fixed;
  font-size: 16px; background: #fff;
}
.spp .spp-table-wrap table.spp-table tr { background: transparent; }
.spp .spp-table-wrap table.spp-table th,
.spp .spp-table-wrap table.spp-table td {
  padding: 18px 22px; text-align: left; vertical-align: top;
  border: 0; border-bottom: 1px solid var(--spp-line);
  background-color: #fff;
}
.spp .spp-table-wrap table.spp-table tr:last-child th,
.spp .spp-table-wrap table.spp-table tr:last-child td { border-bottom: 0; }
.spp .spp-table-wrap table.spp-table thead th {
  font-family: 'Red Hat Display', sans-serif; font-weight: 600; font-size: 18px; color: #000;
  background-color: var(--spp-gray);
}
.spp .spp-table-wrap table.spp-table thead th.spp-col-hi { background-color: var(--spp-blue); color: #fff; }
.spp .spp-table-wrap table.spp-table tbody th { width: 28%; font-weight: 600; color: #000; }
.spp .spp-table-wrap table.spp-table td { color: var(--spp-muted); }
.spp .spp-table-wrap table.spp-table td.spp-col-hi {
  background-color: var(--spp-blue-tint); color: #000; font-weight: 600;
}
.spp .spp-table-note { margin-top: 16px; }

/* ==========================================================================
   Block 5: Install gallery
   ========================================================================== */
.spp-gallery {
  display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr);
  grid-template-rows: repeat(2, minmax(0,1fr)); gap: 20px;
}
.spp-shot {
  position: relative; overflow: hidden; border-radius: 16px; background: #dfe5ea;
  aspect-ratio: 3 / 2; margin: 0;
}
.spp-shot--lead { grid-row: span 2; aspect-ratio: auto; min-height: 100%; }
.spp .spp-shot img {
  display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease;
}
.spp .spp-shot .spp-slot { border-radius: 16px; }
.spp .spp-tag {
  position: absolute; left: 14px; bottom: 14px; z-index: 1;
  padding: 5px 12px; border-radius: 100px;
  background: rgba(255,255,255,.92); color: var(--spp-dark);
  font-weight: 600; font-size: 12px; line-height: 1.4;
}

/* ==========================================================================
   Block 6: Warranty
   ========================================================================== */
.spp-warranty { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.spp-w {
  display: flex; flex-direction: column;
  padding: 34px 34px 30px; border-radius: 16px; background: #fff;
  border: 1px solid var(--spp-line);
}
.spp-w--brand { box-shadow: inset 0 5px 0 var(--spp-blue); }
.spp-w--st { box-shadow: inset 0 5px 0 var(--spp-orange); }
.spp-w-top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px;
  min-height: 88px; margin-bottom: 10px;
}
/* Logos differ in shape (square Maxeon label, wide SolarTech wordmark),
   so each one fits inside a box instead of a fixed height. */
.spp .spp-w-label {
  display: block; flex: 0 1 auto; min-width: 0;
  width: auto; height: auto; max-width: 200px; max-height: 88px; object-fit: contain;
}
.spp .spp-w-years {
  display: block; font-family: 'Red Hat Display', sans-serif; font-weight: 600;
  font-size: 48px; line-height: 1; color: var(--spp-blue);
}
.spp .spp-w--st .spp-w-years { color: var(--spp-orange-dark); }
.spp .spp-w-years small { font-size: 20px; margin-left: 6px; }
.spp .spp-checks { list-style: none; margin: 18px 0 0; padding: 0; }
.spp .spp-checks li {
  display: flex; align-items: flex-start; gap: 12px;
  margin: 0; padding: 12px 0; border-top: 1px solid var(--spp-line); font-size: 16px;
}
.spp .spp-checks li:first-child { border-top: 0; padding-top: 0; }
.spp-w--brand .spp-checks .spp-ic { color: var(--spp-blue); }
.spp-w--st .spp-checks .spp-ic { color: var(--spp-orange-dark); }
.spp-partner {
  display: flex; align-items: center; gap: 28px;
  margin-top: 24px; padding: 26px 30px; border-radius: 16px;
  border: 1px solid var(--spp-line); background: #fff;
}
.spp .spp-partner-badge {
  display: block; flex: 0 0 auto;
  width: auto; height: auto; max-width: 220px; max-height: 96px; object-fit: contain;
}
.spp .spp-partner p { font-size: 16px; color: var(--spp-muted); max-width: 820px; }
.spp-proof {
  display: flex; align-items: flex-start; gap: 14px;
  margin-top: 24px; padding: 22px 26px; border-radius: 16px;
  background: var(--spp-orange-tint);
}
.spp-proof .spp-ic { color: var(--spp-orange-dark); margin-top: 2px; }
.spp .spp-proof p { margin: 0; font-size: 16px; }

/* ==========================================================================
   Block 7: Service for existing owners (dark band + link cards)
   ========================================================================== */
.spp-own .spp-wrap {
  display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  gap: 56px; align-items: center;
}
.spp-own-copy > p:not(.spp-eyebrow) { max-width: 560px; margin-bottom: 28px; }
.spp--dark .spp-call { color: #fff; }
.spp-svc { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.spp .spp-svc .spp-link-card {
  border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.05); color: #fff; padding: 22px;
}
.spp .spp-svc .spp-link-card p { color: rgba(255,255,255,.7); font-size: 15px; }
.spp .spp-svc .spp-link-more { color: var(--spp-orange); }

/* ==========================================================================
   Block 8: Video testimonial (click-to-play, no YouTube load until clicked)
   ========================================================================== */
.spp-video-grid {
  display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr);
  gap: 56px; align-items: center;
}
.spp-video {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 20px;
  background: var(--spp-dark); box-shadow: 0 20px 44px rgba(4,23,31,.16);
}
.spp .spp-video-btn {
  position: absolute; inset: 0; width: 100%; height: 100%;
  display: grid; place-items: center; padding: 0; border: 0; cursor: pointer;
  background: #04171F center / cover no-repeat;
}
.spp .spp-video-btn::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4,23,31,0) 40%, rgba(4,23,31,.55) 100%);
}
.spp .spp-play {
  position: relative; z-index: 1;
  width: 84px; height: 84px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--spp-orange); color: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
  transition: transform .3s ease, background-color .3s ease;
}
.spp .spp-play svg { width: 30px; height: 30px; margin-left: 4px; fill: currentColor; stroke: none; }
.spp .spp-video-label {
  position: absolute; left: 22px; bottom: 18px; z-index: 1;
  font-weight: 600; font-size: 15px; color: #fff; text-align: left;
}
.spp .spp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.spp .spp-video-btn:focus-visible { outline: 3px solid var(--spp-orange); outline-offset: -3px; }
.spp-video-copy .spp-head { margin-bottom: 28px; }

/* ==========================================================================
   Block 9: Related products (link cards)
   ========================================================================== */
.spp-related { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.spp .spp-link-card {
  display: flex; flex-direction: column; padding: 28px;
  border: 1px solid var(--spp-line); border-radius: 16px; background: #fff;
  color: inherit; text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.spp .spp-link-card p { font-size: 16px; color: var(--spp-muted); }
.spp .spp-link-more {
  display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 14px;
  font-weight: 600; font-size: 15px; color: var(--spp-blue);
}
.spp .spp-link-more .spp-ic { transition: transform .3s ease; }
.spp .spp-link-card:focus-visible {
  outline: none; border-color: var(--spp-blue); box-shadow: 0 0 0 3px rgba(0,93,170,.2);
}

/* Image-top product cards (Branding Kit variation 1, photo 3:2) */
.spp .spp-img-card {
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--spp-line); border-radius: 16px; background: #fff;
  color: inherit; text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.spp-img-media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #dfe5ea; }
.spp .spp-img-media img {
  display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease;
}
.spp-img-body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.spp .spp-img-body .spp-eyebrow { font-size: 12px; margin-bottom: 6px; }
.spp .spp-img-body p:not(.spp-eyebrow) { font-size: 16px; color: var(--spp-muted); }
.spp .spp-img-card:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0,93,170,.35); }

/* ---------- Hover (desktop only, per Branding Kit) ---------- */
@media (hover: hover) and (pointer: fine) {
  .spp-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,93,170,.35);
    box-shadow: 0 14px 30px rgba(4,23,31,.08);
  }
  .spp-card:hover .spp-card-ic { background: var(--spp-blue); color: #fff; }
  .spp .spp-link-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,93,170,.35);
    box-shadow: 0 14px 30px rgba(4,23,31,.08);
    color: inherit;
  }
  .spp .spp-svc .spp-link-card:hover { border-color: rgba(255,145,42,.5); color: #fff; box-shadow: none; }
  .spp .spp-link-card:hover .spp-link-more .spp-ic { transform: translateX(4px); }
  .spp .spp-img-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,93,170,.35);
    box-shadow: 0 14px 30px rgba(4,23,31,.08);
    color: inherit;
  }
  .spp .spp-img-card:hover img { transform: scale(1.05); }
  .spp .spp-img-card:hover .spp-link-more .spp-ic { transform: translateX(4px); }
  .spp-shot:hover img { transform: scale(1.04); }
  .spp .spp-video-btn:hover .spp-play { transform: scale(1.06); background: var(--spp-orange-dark); }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
  .spp-spot .spp-wrap, .spp-own .spp-wrap, .spp-video-grid { grid-template-columns: minmax(0,1fr); gap: 40px; }
  .spp-product { max-width: 640px; }
  .spp-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .spp-related { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 767px) {
  .spp { padding: 56px 20px; }
  .spp.spp-hero-inner { padding: 64px 20px 0; }
  .spp-hero-badge { padding: 24px 20px 72px; }
  .e-con.spp-hero::before, .spp-hero::before {
    background: linear-gradient(180deg, rgba(4,23,31,.92) 0%, rgba(4,23,31,.85) 100%) !important;
  }
  .spp .spp-h1 { font-size: 36px; }
  .spp .spp-h2 { font-size: 28px; }
  .spp .spp-h3 { font-size: 20px; }
  .spp-head { margin-bottom: 32px; }
  .spp-actions { flex-direction: column; align-items: stretch; }
  .spp .spp-btn { width: 100%; }
  .spp-actions .spp-call { text-align: center; }
  .spp-product { padding: 24px; }
  .spp-specs, .spp-cards, .spp-warranty, .spp-svc { grid-template-columns: minmax(0,1fr); }
  .spp .spp-spec-num { font-size: 24px; }
  .spp-gallery { grid-template-columns: minmax(0,1fr); grid-template-rows: none; }
  .spp-shot--lead { grid-row: auto; aspect-ratio: 3 / 2; min-height: 0; }
  .spp-w { padding: 28px 24px 24px; }
  .spp .spp-w-years { font-size: 40px; }
  .spp-w-top { min-height: 72px; }
  .spp .spp-w-label { max-width: 160px; max-height: 72px; }
  .spp-partner { flex-direction: column; align-items: flex-start; gap: 18px; padding: 24px; }
  .spp .spp-partner-badge { max-width: 200px; max-height: 80px; }
  .spp .spp-play { width: 68px; height: 68px; }
  /* Comparison table stacks into one card per row on phones */
  .spp-table-wrap { overflow: visible; border: 0; border-radius: 0; background: transparent; }
  .spp .spp-table-wrap table.spp-table { display: block; table-layout: auto; background: transparent; }
  .spp .spp-table-wrap table.spp-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .spp .spp-table-wrap table.spp-table tbody, .spp .spp-table-wrap table.spp-table tr, .spp .spp-table-wrap table.spp-table th, .spp .spp-table-wrap table.spp-table td { display: block; width: 100%; }
  .spp .spp-table-wrap table.spp-table tr {
    margin-bottom: 14px; overflow: hidden;
    border: 1px solid var(--spp-line); border-radius: 14px; background: #fff;
  }
  .spp .spp-table-wrap table.spp-table tbody th { width: 100%; padding: 14px 18px; background-color: var(--spp-gray); border-bottom: 1px solid var(--spp-line); }
  .spp .spp-table-wrap table.spp-table td { padding: 12px 18px; border-bottom: 1px solid var(--spp-line); }
  .spp .spp-table-wrap table.spp-table tr td:last-child { border-bottom: 0; }
  .spp .spp-table-wrap table.spp-table td::before {
    content: attr(data-label); display: block; margin-bottom: 2px;
    font-weight: 600; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--spp-muted);
  }
  .spp .spp-table-wrap table.spp-table td.spp-col-hi::before { color: var(--spp-blue); }
}
@media (prefers-reduced-motion: reduce) {
  .spp .spp-btn, .spp-card, .spp-card-ic, .spp .spp-link-card, .spp .spp-link-more .spp-ic,
  .spp .spp-shot img, .spp .spp-play, .spp .spp-img-card, .spp .spp-img-media img { transition: none; }
  .spp .spp-img-card:hover, .spp .spp-img-card:hover img { transform: none; }
  .spp-card:hover, .spp .spp-link-card:hover, .spp .spp-link-card:hover .spp-link-more .spp-ic,
  .spp-shot:hover img, .spp .spp-video-btn:hover .spp-play { transform: none; }
}

/* ==========================================================================
   Page-specific: REC (/residential/rec-solar-panels/)
   ========================================================================== */
/* Hero photo: replace the URL once uploaded (same URL goes in Block 1's preload) */
/* .e-con.spp-hero--rec, .spp-hero--rec { background-image: url("[REC HERO PHOTO URL]"); } */

/* Model cards reuse the warranty card layout; intro line under the title */
.spp-models .spp-w h3 + p { font-size: 16px; color: var(--spp-muted); margin: 0 0 4px; }/* End custom CSS */