:root{--xf-blue:#293b91;--xf-navy:#142248;--xf-sky:#59a9d2;--xf-ink:#172335;--xf-muted:#607084;--xf-paper:#f2f5f8}
body{color:var(--xf-ink);font-size:17px;line-height:1.65}
body h1,body h2,body h3,body h4,#top-menu a,.et_pb_button{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:.015em}
#page-container{padding-top:108px!important}
#top-header{background:var(--xf-blue)!important;color:#fff}
#top-header #et-info-phone{color:#fff;font-weight:700}
#main-header{background:#fff!important;box-shadow:0 2px 12px rgba(14,29,64,.13)!important}
#main-header .container{max-width:1320px;width:calc(100% - 64px)}
#logo{max-height:74px!important;width:auto!important}
#et-top-navigation{padding-top:40px!important}
#top-menu li{padding-right:19px!important}
#top-menu a{color:var(--xf-blue)!important;font-size:15px!important;text-transform:uppercase;letter-spacing:.025em}
#top-menu li.current-menu-item>a,#top-menu a:hover{color:var(--xf-sky)!important}
#top-menu .sub-menu{background:#fff;border-top:3px solid var(--xf-sky)}
#top-menu .sub-menu a{font-size:14px!important;line-height:1.3}
#main-content{background:#fff}
.xf-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:430px;padding:100px 0!important;background-color:var(--xf-navy)!important;background-size:cover!important;background-position:center!important;overflow:hidden}
.xf-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,45,.93),rgba(8,19,45,.62));z-index:0}
.xf-hero .et_pb_row{position:relative;z-index:2;max-width:1200px;width:calc(100% - 64px);padding:0!important}
.xf-home-hero{min-height:650px;text-align:center}
.xf-home-hero:before{background:linear-gradient(90deg,rgba(8,19,45,.88),rgba(8,19,45,.67))}
.xf-home-hero .et_pb_row{max-width:880px}
.xf-hero .et-pb-background-video,.xf-hero .et-pb-background-video video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.xf-hero h1{color:#fff!important;font-size:clamp(52px,6vw,86px)!important;line-height:.98!important;text-transform:uppercase;margin:0 0 22px}
.xf-inner-hero h1{max-width:850px}
.xf-hero .xf-eyebrow h3{color:#a8ef52!important;font-size:25px!important;text-transform:uppercase;letter-spacing:.1em;margin-bottom:15px}
.xf-hero .xf-hero-intro p{color:#eff5fa!important;font-size:19px;line-height:1.65;margin:0 auto 28px;max-width:780px}
body.et-db #page-container #et-boc .et-l a.xf-hero-button,body.et-db #page-container #et-boc .et-l a.xf-button{background:var(--xf-sky)!important;color:#fff!important;border:0!important;border-radius:2px!important;padding:12px 28px!important;font-size:21px!important;line-height:1.2!important;text-transform:uppercase;box-shadow:0 5px 0 var(--xf-blue);transition:.2s}
body.et-db #page-container #et-boc .et-l a.xf-hero-button:hover,body.et-db #page-container #et-boc .et-l a.xf-button:hover{background:var(--xf-blue)!important;box-shadow:0 5px 0 var(--xf-sky)}
.xf-announcement{background:var(--xf-blue);color:#fff;padding:22px 0!important;text-align:center}
.xf-announcement .et_pb_row{padding:0!important}
.xf-announcement h2{color:#fff!important;font-size:26px!important;text-transform:uppercase;margin:0}
.xf-announcement p{color:#fff;font-size:16px;margin:0}
.xf-home-section,.xf-body-section,.xf-project-gallery,.xf-form-section{padding:76px 0!important}
.xf-home-section:nth-of-type(even),.xf-body-section:nth-of-type(even),.xf-project-gallery{background:var(--xf-paper)}
.xf-home-section .et_pb_row,.xf-body-section .et_pb_row,.xf-project-gallery .et_pb_row,.xf-form-section .et_pb_row{max-width:1200px;width:calc(100% - 64px);padding:0!important;margin-bottom:36px}
.xf-home-section .et_pb_row:last-child,.xf-body-section .et_pb_row:last-child,.xf-project-gallery .et_pb_row:last-child{margin-bottom:0}
.xf-rich h2,.xf-rich h3,.xf-home-section h2,.xf-home-section h3,.xf-body-section h2,.xf-body-section h3,.xf-project-gallery h2,.xf-form-section h2{color:var(--xf-blue)!important;line-height:1.1;text-transform:uppercase;margin-bottom:18px}
.xf-rich h2,.xf-home-section h2,.xf-body-section h2,.xf-project-gallery h2,.xf-form-section h2{font-size:clamp(34px,3.5vw,50px)!important}
.xf-rich h3,.xf-home-section h3,.xf-body-section h3{font-size:30px!important}
.xf-rich p,.xf-home-section p,.xf-body-section p,.xf-form-section p{font-size:17px;line-height:1.72;color:var(--xf-ink);margin-bottom:16px}
.xf-rich ul,.xf-rich ol{list-style:disc;padding-left:28px;margin:12px 0 22px}
.xf-rich a,.xf-body-section a{color:var(--xf-blue);text-decoration:underline}
.xf-services-row .et_pb_column{background:#fff;box-shadow:0 14px 32px rgba(28,43,81,.09);padding:0 0 20px;overflow:hidden}
.xf-services-row .xf-content-image,.xf-services-row .xf-content-image .et_pb_image_wrap{display:block;width:100%}
.xf-services-row img{width:100%;height:210px;object-fit:cover}
.xf-services-row .xf-card-copy{padding:16px 18px 4px;text-align:center}
.xf-services-row .xf-card-copy h3{font-size:25px!important;margin:0}
.xf-services-row .xf-card-copy a{text-decoration:none}
.xf-content-image img{border-radius:3px;max-width:100%;height:auto}
.xf-project-gallery{padding-top:56px!important}
.xf-project-gallery .et_pb_gallery_items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.xf-project-gallery .et_pb_gallery_item{width:100%!important;margin:0!important}
.xf-project-gallery img{width:100%!important;height:240px!important;object-fit:cover!important;border-radius:3px}
.xf-cta{background:var(--xf-navy);color:#fff;text-align:center;padding:90px 0!important}
.xf-cta .et_pb_row{max-width:750px;padding:0!important}
.xf-cta h2{color:#fff!important;font-size:52px!important;text-transform:uppercase}
.xf-cta p{color:#dce8f2;font-size:18px;line-height:1.6;margin-bottom:24px}
.xf-form-section .et_pb_contact_field{margin-bottom:16px}
.xf-form-section input,.xf-form-section textarea{border:1px solid #c9d5e0!important;background:#fff!important;color:var(--xf-ink)!important;border-radius:3px!important}
#main-footer{background:var(--xf-navy)!important}
#footer-bottom{background:var(--xf-navy)!important;color:#d9e6ef!important;padding:26px 0}
#footer-info{color:#d9e6ef!important}
@media(max-width:1100px){#main-header .container{width:calc(100% - 36px)}#top-menu li{padding-right:12px!important}#top-menu a{font-size:13px!important}}
@media(max-width:980px){#page-container{padding-top:88px!important}#main-header{min-height:65px}#logo{max-height:57px!important}#et-top-navigation{padding-top:25px!important}.mobile_menu_bar:before{color:var(--xf-blue)!important}.et_mobile_menu{background:#fff!important;border-color:var(--xf-sky)!important}.et_mobile_menu li a{color:var(--xf-blue)!important}.xf-home-hero{min-height:590px}.xf-hero{padding:90px 0!important}.xf-home-section .et_pb_row,.xf-body-section .et_pb_row,.xf-project-gallery .et_pb_row,.xf-form-section .et_pb_row{width:calc(100% - 40px)}.xf-project-gallery .et_pb_gallery_items{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){#page-container{padding-top:80px!important}#top-header{display:none}#main-header .container{width:calc(100% - 32px)}.xf-hero{min-height:350px;padding:76px 0!important}.xf-home-hero{min-height:620px}.xf-hero .et_pb_row{width:calc(100% - 40px)}.xf-hero h1{font-size:clamp(48px,12vw,68px)!important}.xf-hero .xf-hero-intro p{font-size:16px}.xf-announcement h2{font-size:22px!important}.xf-home-section,.xf-body-section,.xf-project-gallery,.xf-form-section{padding:55px 0!important}.xf-services-row{display:block!important}.xf-services-row .et_pb_column{margin:0 0 18px!important}.xf-project-gallery .et_pb_gallery_items{gap:7px!important}.xf-project-gallery img{height:160px!important}.xf-rich p,.xf-home-section p,.xf-body-section p{font-size:16px}.xf-cta{padding:65px 0!important}.xf-cta h2{font-size:42px!important}}
.xf-home-hero .xf-hero-intro{text-align:center!important}
#page-container #et-boc .et-l a.xf-hero-button.et_pb_button,#page-container #et-boc .et-l a.xf-button.et_pb_button{background:var(--xf-sky)!important;color:#fff!important;border:0!important;border-radius:2px!important;padding:14px 30px!important;font-size:21px!important;line-height:1.2!important;text-transform:uppercase;box-shadow:0 5px 0 var(--xf-blue)}
#page-container #et-boc .et-l a.xf-hero-button.et_pb_button:hover,#page-container #et-boc .et-l a.xf-button.et_pb_button:hover{background:var(--xf-blue)!important;box-shadow:0 5px 0 var(--xf-sky)}
#page-container a.et_pb_button.xf-hero-button,#page-container a.et_pb_button.xf-button{background:var(--xf-sky)!important;color:#fff!important;border:0!important;border-radius:2px!important;padding:14px 30px!important;font-size:21px!important;line-height:1.2!important;text-transform:uppercase;box-shadow:0 5px 0 var(--xf-blue)}
#page-container a.et_pb_button.xf-hero-button:hover,#page-container a.et_pb_button.xf-button:hover{background:var(--xf-blue)!important;color:#fff!important;box-shadow:0 5px 0 var(--xf-sky)}
.xf-project-gallery .et_pb_gallery_caption{display:none!important}
@media(max-width:980px){.xf-body-section .et_pb_row,.xf-form-section .et_pb_row{display:block!important}.xf-body-section .et_pb_column,.xf-form-section .et_pb_column{display:block!important;width:100%!important;margin:0 0 25px!important}.xf-body-section .et_pb_column:last-child,.xf-form-section .et_pb_column:last-child{margin-bottom:0!important}}
@media(max-width:980px){.xf-body-section .et_pb_row.xf-image-first{display:flex!important;flex-direction:column-reverse!important}.xf-body-section .et_pb_row.xf-image-first .et_pb_column:first-child{margin-bottom:0!important}.xf-body-section .et_pb_row.xf-image-first .et_pb_column:last-child{margin-bottom:28px!important}}
#page-container .xf-contact-form .et_pb_contact_submit{background:var(--xf-sky)!important;color:#fff!important;border:0!important;border-radius:2px!important;padding:12px 24px!important;font:700 20px/1.2 'Barlow Condensed','Arial Narrow',Arial,sans-serif!important;text-transform:uppercase;box-shadow:0 4px 0 var(--xf-blue)}
.xf-gallery{margin:0 0 36px!important}
.xf-gallery .et_pb_gallery_items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.xf-gallery .et_pb_gallery_item{width:100%!important;margin:0!important}
.xf-gallery img{width:100%!important;height:240px!important;object-fit:cover!important;border-radius:3px}
.xf-gallery .et_pb_gallery_caption,.xf-gallery .et_pb_gallery_title,.xf-project-gallery .et_pb_gallery_title{display:none!important}
@media(max-width:980px){.xf-gallery .et_pb_gallery_items{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.xf-gallery .et_pb_gallery_items{gap:7px!important}.xf-gallery img{height:160px!important}}
/* Slanted section edges; decoration stays inside existing section padding. */
.xf-hero::after,.xf-announcement::after,.xf-home-section:has(+ .xf-home-section)::after,.xf-body-section:has(+ .xf-body-section)::after,.xf-home-section:has(+ .xf-cta)::after,.xf-body-section:has(+ .xf-cta)::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:clamp(25px,3.2vw,46px);clip-path:polygon(0 100%,100% 0,100% 100%);pointer-events:none;z-index:3}
.xf-hero::after{background:var(--xf-paper)}
.xf-home-hero::after{background:var(--xf-blue)}
.xf-announcement{position:relative;padding-bottom:52px!important}
.xf-announcement::after{height:34px;background:#fff}
.xf-home-section,.xf-body-section{position:relative}
.xf-home-section:nth-of-type(odd):has(+ .xf-home-section)::after,.xf-body-section:nth-of-type(odd):has(+ .xf-body-section)::after{background:var(--xf-paper)}
.xf-home-section:nth-of-type(even):has(+ .xf-home-section)::after,.xf-body-section:nth-of-type(even):has(+ .xf-body-section)::after{background:#fff}
.xf-home-section:has(+ .xf-cta)::after,.xf-body-section:has(+ .xf-cta)::after{background:var(--xf-navy)}
@media(max-width:700px){.xf-hero::after,.xf-home-section:has(+ .xf-home-section)::after,.xf-body-section:has(+ .xf-body-section)::after,.xf-home-section:has(+ .xf-cta)::after,.xf-body-section:has(+ .xf-cta)::after{height:24px}.xf-announcement::after{height:24px}.xf-announcement{padding-bottom:43px!important}}
