/* Site-wide: top bar, header, footer, and inner pages restyled to match the homepage.
   Flat navy/blue, Montserrat, 4px corners. No gradients, badges, stat boxes or eyebrow labels. */
:root{--st-navy:#0d1b30;--st-blue:#0b4a9e;--st-blue2:#083a7e;--st-soft:#f3f5f8;--st-line:#e3e7ed;--st-txt:#2e3b4e}
.st-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.st-social{display:inline-flex;gap:12px;align-items:center}
.st-social svg{width:16px;height:16px;fill:currentColor;display:block}

/* ---------- top bar ---------- */
.st-top{background:var(--st-navy);color:#b8c3d3;font-size:13px}
.st-top .st-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px}
.st-top p{margin:0}
.st-top-r{display:flex;align-items:center;gap:22px}
.st-top a{color:#fff!important;text-decoration:none}
.st-top a:hover{color:#9cc1f0!important}
@media (max-width:959px){.st-top{display:none}}

/* ---------- header ---------- */
#site-header{border-bottom:1px solid var(--st-line)!important;box-shadow:none!important}
#site-header #site-header-inner{max-width:1140px!important;width:100%!important;margin:0 auto!important;padding:0 20px!important}
#site-navigation-wrap .dropdown-menu>li>a{color:var(--st-navy)!important;font-weight:600!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;padding:0 16px!important}
#site-navigation-wrap .dropdown-menu>li:not(.steel-quote)>a .text-wrap{position:relative;padding:8px 0}
#site-header #site-navigation-wrap .dropdown-menu>li:not(.steel-quote)>a .text-wrap::after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;height:2px!important;opacity:1!important;background:var(--st-blue)!important;transform:scaleX(0)!important;transform-origin:left!important;transition:transform .2s!important}
#site-navigation-wrap .dropdown-menu>li:not(.steel-quote)>a:hover,#site-navigation-wrap .dropdown-menu>li.current-menu-item>a,#site-navigation-wrap .dropdown-menu>li.current-menu-ancestor>a{color:var(--st-blue)!important}
#site-header #site-navigation-wrap .dropdown-menu>li:not(.steel-quote)>a:hover .text-wrap::after,#site-header #site-navigation-wrap .dropdown-menu>li.current-menu-item>a .text-wrap::after,#site-header #site-navigation-wrap .dropdown-menu>li.current-menu-ancestor>a .text-wrap::after{transform:scaleX(1)!important}
#site-navigation-wrap .dropdown-menu .nav-arrow{font-size:10px!important;margin-left:6px!important;color:inherit!important}
#site-navigation-wrap .dropdown-menu>li.steel-quote{margin-left:12px!important;margin-right:0!important}
#site-navigation-wrap .dropdown-menu>li.steel-quote>a{background:var(--st-blue)!important;border-radius:4px!important;padding:13px 22px!important;margin:0!important}
#site-navigation-wrap .dropdown-menu>li.steel-quote>a:hover{background:var(--st-blue2)!important}
/* Our Work dropdown */
#site-navigation-wrap .dropdown-menu .sub-menu{min-width:200px!important;background:#fff!important;border:1px solid var(--st-line)!important;border-top:2px solid var(--st-blue)!important;border-radius:0 0 4px 4px!important;box-shadow:0 8px 20px rgba(13,27,48,.08)!important;padding:6px 0!important}
#site-navigation-wrap .dropdown-menu .sub-menu li a.menu-link{color:var(--st-navy)!important;font-size:14px!important;font-weight:500!important;padding:10px 18px!important;border:0!important;text-transform:none!important}
#site-navigation-wrap .dropdown-menu .sub-menu li a.menu-link:hover,#site-navigation-wrap .dropdown-menu .sub-menu li.current-menu-item a.menu-link{background:var(--st-soft)!important;color:var(--st-blue)!important}
/* phone menu */
#mobile-dropdown #mobile-menu-search{display:none!important}
#oceanwp-mobile-menu-icon a,.oceanwp-mobile-menu-icon a{color:var(--st-navy)!important;font-weight:600}
#mobile-dropdown{background:var(--st-navy)!important;border:0!important}
#mobile-dropdown ul li,#mobile-dropdown ul li a{border-color:rgba(255,255,255,.08)!important}
#mobile-dropdown ul li a{color:#fff!important;border-color:rgba(255,255,255,.1)!important;font-weight:600}
#mobile-dropdown ul li a:hover{color:#9cc1f0!important}

/* ---------- footer ---------- */
#footer{display:none}
.st-foot{background:var(--st-navy);color:#b8c3d3;font-size:15px;line-height:1.7}
.st-foot a{color:#fff!important;text-decoration:none}
.st-foot a:hover{color:#9cc1f0!important}
.st-call{background:var(--st-blue);color:#fff}
.st-call .st-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px}
.st-call p{margin:0;font-size:22px;font-weight:400}
.st-call p a{font-weight:700}
.st-btn{display:inline-block;background:#fff;color:var(--st-navy)!important;border-radius:4px;padding:13px 24px;font-weight:700;font-size:15px}
.st-foot .st-btn{color:var(--st-navy)!important}
.st-foot .st-btn:hover{background:#e6eaf0;color:var(--st-navy)!important}
.st-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-top:56px;padding-bottom:48px}
.st-cols h2{color:#fff;font-size:15px;font-weight:700;margin:0 0 14px;letter-spacing:0}
.st-cols ul{list-style:none;margin:0;padding:0}
.st-cols li{margin-bottom:8px}
.st-cols p{margin:0 0 16px}
.st-foot .custom-logo-link{display:inline-block;margin-bottom:16px}
.st-foot .custom-logo{filter:brightness(0) invert(1);max-height:46px;width:auto}
@media (max-width:900px){.st-cols{grid-template-columns:1fr 1fr}.st-call p{font-size:19px}}
@media (max-width:600px){.st-cols{grid-template-columns:1fr;gap:28px}.st-cols{padding-bottom:40px}}

/* ---------- Google reviews (Smash Balloon): one row of cards gliding left to right ---------- */
/* site.php clones the cards once so the loop has no gap; hover or keyboard focus pauses it */
.sbr-feed .sb-feed-header-heading,.sbr-feed .sb-feed-header-heading *{font-family:Montserrat,Arial,sans-serif!important;color:var(--st-navy)!important;font-size:30px!important;font-weight:600!important}
.sbr-feed .sb-feed-container{overflow:hidden}
.sbr-feed .sb-feed-posts{display:flex!important;gap:20px;width:max-content!important;height:auto!important;padding:6px 0 10px;animation:st-reviews 90s linear infinite}
.sbr-feed .sb-feed-container:hover .sb-feed-posts,.sbr-feed .sb-feed-container:focus-within .sb-feed-posts{animation-play-state:paused}
@keyframes st-reviews{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.sbr-feed .sb-post-item-wrap{position:static!important;flex:0 0 360px;width:360px!important;padding:0!important;margin:0!important;transform:none!important;background:transparent!important;border:0!important;box-shadow:none!important}
.sbr-feed .sb-post-item{position:relative;height:100%;background:#fff!important;border:1px solid var(--st-line)!important;border-radius:4px!important;padding:24px!important;box-shadow:0 1px 3px rgba(13,27,48,.06)!important}
.sbr-feed .sb-post-item *{font-family:Montserrat,Arial,sans-serif!important}
.sbr-feed .sb-item-provider-icon{position:absolute!important;top:24px!important;right:24px!important;left:auto!important}
.sbr-feed .sb-item-author-name{font-weight:700!important;color:var(--st-navy)!important;font-size:16px!important}
.sbr-feed .sb-item-author-date{color:#7a8699!important;font-size:13px!important}
.sbr-feed .sb-item-rating-icon{color:#f5b400!important}
.sbr-feed .sb-item-text{font-size:15px!important;line-height:1.65!important;color:var(--st-txt)!important;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.sbr-feed .sb-expand,.sbr-feed .sb-load-button-ctn{display:none!important}
@media (max-width:600px){.sbr-feed .sb-post-item-wrap{flex-basis:82vw;width:82vw!important}.sbr-feed .sb-feed-posts{gap:14px;animation-duration:70s}}
@media (prefers-reduced-motion:reduce){.sbr-feed .sb-feed-container{overflow-x:auto}.sbr-feed .sb-feed-posts{animation:none}}

/* ---------- buttons everywhere: no arrows, small corners ---------- */
.elementor-button-icon{display:none!important}
.elementor-button{border-radius:4px!important;text-transform:none!important;letter-spacing:0!important}

/* ---------- inner pages (Elementor pages other than the homepage) ---------- */
.page:not(.home) [data-elementor-type=wp-post]{color:var(--st-txt)}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section>.elementor-container{max-width:1140px!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-element-populated{background-color:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
/* some headings were pasted as raw HTML (extra h2/span with inline ABeeZee and grey): make everything inside follow the widget */
.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-heading{color:var(--st-navy)}
.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-heading .elementor-widget-container>:not(.elementor-heading-title),.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-heading .elementor-widget-container *{color:inherit!important;font-family:inherit!important;letter-spacing:0!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-heading-title:empty{display:none}
.page:not(.home) [data-elementor-type=wp-post] .elementor-heading-title{color:var(--st-navy)!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
.page:not(.home) [data-elementor-type=wp-post] h2.elementor-heading-title{font-size:30px!important;line-height:1.25!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-text-editor{font-size:16px!important;line-height:1.7!important;color:var(--st-txt)!important;text-align:left!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-heading{text-align:left!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-heading .elementor-heading-title{text-align:left!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-icon-list-text{color:var(--st-txt)!important;font-size:16px!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-icon-list-icon svg,.page:not(.home) [data-elementor-type=wp-post] .elementor-icon-list-icon i{color:var(--st-blue)!important;fill:var(--st-blue)!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-image-box-title{color:var(--st-navy)!important;font-weight:600!important;text-transform:none!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-image-box-description{color:var(--st-txt)!important}

.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-image-box>.elementor-widget-container{background:none!important;border:0!important;box-shadow:none!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-image-box-wrapper{text-align:left!important}
.page:not(.home) img[src*="guarantee-red"],.page:not(.home) img[src*="fully-qualified"]{display:none!important}

/* page header: light like the contact page, big heavy navy heading, no dark photo banner */
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child{background:#f3f6fa!important;box-shadow:none!important;min-height:0!important;padding:72px 0 64px!important;border-bottom:1px solid var(--st-line)}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child>:is(.elementor-background-overlay,.elementor-background-video-container,.elementor-background-slideshow){display:none!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-container{min-height:0!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-element-populated{margin:0!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-element-populated{backdrop-filter:none!important;padding:0 10px!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-widget-heading{color:var(--st-navy)!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-widget-heading :is(h1,h2,h3,span,p){color:var(--st-navy)!important;font-weight:800!important;font-size:52px!important;line-height:1.05!important;letter-spacing:-.02em!important;margin:0!important;max-width:16em}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-widget-button{text-align:left!important;margin-top:12px}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-button{background:var(--st-blue)!important;color:#fff!important;font-weight:700!important;padding:16px 28px!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-button:hover{background:var(--st-blue2)!important}

/* sections: each heading starts a section, with a rule above, room around it and a heavier heading */
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:not(:first-child) .elementor-widget-heading :is(h2,h3,h2 *,h3 *){font-size:34px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.01em!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:not(:first-child){padding-top:64px!important;padding-bottom:64px!important}

/* no glow behind headings, no arrows on the photo sliders (swipe or the dots) */
.page:not(.home) [data-elementor-type=wp-post] .elementor-widget-heading *{text-shadow:none!important}
.page:not(.home) .elementor-swiper-button{display:none!important}

/* no fade-in / slide-in entrance animations: content is just there */
.elementor-invisible{visibility:visible!important}
.page:not(.home) .animated{animation:none!important}

/* sections that only hold one heading were full-width dark bands; now a plain heading above its content */
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:not(:first-child):has(>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap>.elementor-widget-heading:only-child){background:none!important;padding:72px 0 0!important;border-top:1px solid var(--st-line)}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:not(:first-child):has(>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap>.elementor-widget-heading:only-child) .elementor-element-populated{padding-top:0!important;padding-bottom:0!important}

/* the section after a heading sits right under it */
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap>.elementor-widget-heading:only-child)+.elementor-top-section{padding-top:8px!important;margin-top:0!important;border-top:0!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap>.elementor-widget-heading:only-child)+.elementor-top-section>.elementor-container>.elementor-column>.elementor-element-populated{padding-top:0!important}

/* quote heading + form + contact page form: one soft block */
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(.wpforms-container),
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(+.elementor-top-section .wpforms-container){background:var(--st-soft)!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(.wpforms-container){padding-bottom:56px!important}
.page:not(.home) .wpforms-container{max-width:720px!important;margin-left:0!important}
.page:not(.home) .wpforms-form input,.page:not(.home) .wpforms-form textarea{background:#fff!important}
.wpforms-submit{text-transform:none!important;letter-spacing:0!important}

/* reviews: white, no grey photo behind */
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(.sbr-feed){background:#fff!important;padding:40px 0!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(.sbr-feed) .elementor-background-overlay{display:none!important}

/* "Open hours / Give us a call" blocks: the footer shows this now */
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:has(.elementor-widget-icon-box){display:none!important}

/* FAQs */
.page:not(.home) .elementor-accordion .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--st-line)!important}
.page:not(.home) .elementor-accordion .elementor-tab-title{color:var(--st-navy)!important;font-weight:600!important;font-size:16px!important;padding:16px 0!important}
.page:not(.home) .elementor-accordion .elementor-tab-content{border:0!important;padding:0 0 16px!important;color:var(--st-txt)!important}

/* About: service links as plain outline buttons */
.page:not(.home) .premium-button{background:#fff!important;border:1px solid #cfd8e3!important;border-radius:4px!important;box-shadow:none!important}
.page:not(.home) .premium-button,.page:not(.home) .premium-button *{color:var(--st-navy)!important;font-family:Montserrat,Arial,sans-serif!important;font-weight:600!important}
.page:not(.home) .premium-button:hover{border-color:var(--st-blue)!important}

/* Recent projects: the big spec numbers repeat the features list, and the small label above each title repeats too */
.elementor-element-b5451ca,.elementor-element-02c892a,.elementor-element-f9cfbd2,.elementor-element-5f22f62,.elementor-element-651ff88,.elementor-element-9d36876,
.elementor-element-3ef583d,.elementor-element-1274e5b,.elementor-element-a4a32cf,.elementor-element-a61997b{display:none!important}

/* blog list: no boxes */
.steel-card{box-shadow:none!important;background:none!important}
.steel-card-img img{border-radius:4px}
.steel-card-body{padding:16px 0 0!important}
.steel-card-body h3 a{color:var(--st-navy)}

@media (max-width:767px){
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child{padding:40px 0 36px!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:first-child .elementor-widget-heading :is(h1,h2,h3,span,p){font-size:34px!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:not(:first-child){padding-top:44px!important;padding-bottom:44px!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:not(:first-child) .elementor-widget-heading :is(h1,h2,h3,h2 *,h3 *,.elementor-heading-title){font-size:26px!important}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section>.elementor-container{padding-left:10px;padding-right:10px}
.page:not(.home) [data-elementor-type=wp-post]>.elementor-top-section:not(:first-child):has(>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap>.elementor-widget-heading:only-child){padding-top:44px!important}
}

/* Contact: the Facebook/Instagram images were huge */
.page:not(.home) img[src*="facebook-logo"],.page:not(.home) img[src*="instagram-logo"]{width:36px!important;height:auto!important}

/* phone menu button: icon only, bigger; turns into an X when open (the link keeps its aria-label) */
.oceanwp-mobile-menu-icon a.mobile-menu{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;color:var(--st-navy)!important}
.oceanwp-mobile-menu-icon a.mobile-menu .oceanwp-text,.oceanwp-mobile-menu-icon a.mobile-menu .oceanwp-close-text{display:none!important}
.oceanwp-mobile-menu-icon a.mobile-menu i{font-size:28px!important;margin:0!important;line-height:1}
/* icons drawn with CSS masks in the text colour instead of the 150KB Font Awesome font: menu, close, dropdown, back-to-top */
i.fa-bars,i.fa-angle-down,i.fa-angle-up{font-family:inherit!important;font-style:normal}
i.fa-bars::before,i.fa-angle-down::before,i.fa-angle-up::before{content:""!important;display:inline-block;width:1em;height:1em;vertical-align:-.125em;background:currentColor;-webkit-mask:var(--st-ico) center/contain no-repeat;mask:var(--st-ico) center/contain no-repeat}
i.fa-bars{--st-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E")}
i.fa-angle-down{--st-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
i.fa-angle-up{--st-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E")}
.oceanwp-mobile-menu-icon a.mobile-menu[aria-expanded=true] i{--st-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
@media (max-width:959px){.oceanwp-mobile-menu-icon{display:flex!important;align-items:center;height:90px}}

/* header stays at the top while scrolling (the top bar scrolls away).
   body overflow-x:hidden (theme) stops position:sticky working; clip looks the same and doesn't. */
body{overflow-x:clip!important}
#site-header{position:sticky!important;top:0;z-index:999;background:#fff!important}
#site-header #site-header-inner{background:#fff}
.admin-bar #site-header{top:32px}
@media (max-width:782px){.admin-bar #site-header{top:46px}}
@media (max-width:600px){.admin-bar #site-header{top:0}} /* WordPress stops pinning its admin bar below 600px */
@media (max-width:959px){#mobile-dropdown{max-height:calc(100vh - 90px);overflow-y:auto}}

/* phones: our own fixed call bar (replaces Call Now Button's cloud script, ~70KB of third-party JS) */
.st-mbar{display:none}
@media (max-width:767px){
.st-mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:998;font-family:Montserrat,Arial,sans-serif}
.st-mbar a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 10px;color:#fff!important;font-weight:700;font-size:15px;text-decoration:none;background:var(--st-blue)}
.st-mbar a+a{background:var(--st-navy)}
}
/* phones: leave room for the fixed call bar under the footer */
@media (max-width:767px){.st-foot{padding-bottom:56px}}

/* ======================================================================================================
   Prolec look (owner's pick, 2026-11-10): navy header and top bar, white caps nav, blue pill button,
   white-lettered logo, curved blue accent under page headers. Overrides the light header above.
   ====================================================================================================== */
:root{--st-navy:#040b18;--st-blue:#1a8fe8;--st-blue2:#0b5bd3;--st-sky:#29c5f6;--st-soft:#eaf4fd}
.st-top{background:#0b1322;border-bottom:1px solid rgba(255,255,255,.06)}
.st-top a:hover{color:var(--st-sky)!important}
#site-header,#site-header #site-header-inner{background:var(--st-navy)!important}
#site-header{border-bottom:0!important}
#site-logo #site-logo-inner img.custom-logo{content:url(logo-light.webp)}
#site-navigation-wrap .dropdown-menu>li>a{color:#fff!important;font-weight:800!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.05em!important}
#site-header #site-navigation-wrap .dropdown-menu>li:not(.steel-quote)>a .text-wrap::after{display:none!important}
#site-navigation-wrap .dropdown-menu>li:not(.steel-quote)>a:hover,#site-navigation-wrap .dropdown-menu>li.current-menu-item>a,#site-navigation-wrap .dropdown-menu>li.current-menu-ancestor>a{color:var(--st-sky)!important}
#site-navigation-wrap .dropdown-menu>li.steel-quote>a{background:var(--st-blue)!important;border-radius:99px!important;padding:14px 28px!important;color:#fff!important}
#site-navigation-wrap .dropdown-menu>li.steel-quote>a:hover{background:var(--st-blue2)!important;color:#fff!important}
#site-navigation-wrap .dropdown-menu .sub-menu{background:var(--st-navy)!important;border:0!important;border-top:3px solid var(--st-blue)!important;box-shadow:0 14px 30px rgba(0,0,0,.35)!important}
#site-navigation-wrap .dropdown-menu .sub-menu li a.menu-link{color:#fff!important;font-weight:700!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.04em!important}
#site-navigation-wrap .dropdown-menu .sub-menu li a.menu-link:hover,#site-navigation-wrap .dropdown-menu .sub-menu li.current-menu-item a.menu-link{background:rgba(255,255,255,.06)!important;color:var(--st-sky)!important}
.oceanwp-mobile-menu-icon a.mobile-menu,#oceanwp-mobile-menu-icon a{color:#fff!important}
@media (max-width:959px){.oceanwp-mobile-menu-icon a.mobile-menu{background:var(--st-blue);border-radius:6px}}
#mobile-dropdown{background:#0b1322!important}
#mobile-dropdown ul li a{text-transform:uppercase;font-size:14px;letter-spacing:.04em;font-weight:800}
#mobile-dropdown ul li a:hover{color:var(--st-sky)!important}

/* curved accent at the foot of a page header: an ellipse edged in blue, filled with the colour below it */
.st-arc{position:absolute;left:-10%;right:-10%;bottom:-150px;height:240px;border-radius:50%;background:var(--arc-bg,#fff);border-top:12px solid var(--st-blue);pointer-events:none;z-index:2}
@media (max-width:767px){.st-arc{bottom:-180px;border-top-width:8px}}

/* footer: blue call band with a pill button, caps headings, white logo */
.st-call{background:var(--st-blue)}
.st-call p{font-weight:700}
.st-btn{border-radius:99px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-size:14px;padding:14px 30px}
.st-cols h2{text-transform:uppercase;letter-spacing:.08em;font-size:13px!important;font-weight:800!important;color:var(--st-sky)!important}
.st-foot .custom-logo{filter:none;content:url(logo-light.webp)}
.st-mbar a{background:var(--st-blue)}
.st-mbar a+a{background:#0b1322}

/* Elementor content inside wrapped pages (projects, gallery, blog): caps headings and pill buttons */
.page:not(.home) [data-elementor-type=wp-post] .elementor-heading-title{text-transform:uppercase!important;letter-spacing:.04em!important}
.page:not(.home) [data-elementor-type=wp-post] .elementor-button{border-radius:99px!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:800!important;background:var(--st-blue)!important}
/* caps nav is wider: tighter spacing keeps logo and menu on one row down to 960px */
#site-navigation-wrap .dropdown-menu>li>a{padding:0 11px!important;font-size:12.5px!important;letter-spacing:.04em!important}
#site-navigation-wrap .dropdown-menu>li.steel-quote>a{padding:13px 24px!important}
@media (max-width:1180px){#site-navigation-wrap .dropdown-menu>li>a{padding:0 8px!important;font-size:12px!important}#site-navigation-wrap .dropdown-menu>li.steel-quote{margin-left:6px!important}}

/* ---------- scroll-in animations (site.php sets data-rv only when JS runs and motion is allowed) ---------- */
[data-rv]{opacity:0;transition:opacity .7s ease var(--rv-d,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--rv-d,0ms)}
[data-rv=up]{transform:translateY(40px)}
[data-rv=down]{transform:translateY(-40px)}
[data-rv=left]{transform:translateX(-60px)}
[data-rv=right]{transform:translateX(60px)}
[data-rv=bounce]{transform:translateY(60px)}
[data-rv].rv-in{opacity:1;transform:none}
[data-rv=bounce].rv-in{animation:rv-bounce .8s cubic-bezier(.2,.8,.2,1) var(--rv-d,0ms) both}
@keyframes rv-bounce{0%{opacity:0;transform:translateY(60px)}60%{opacity:1;transform:translateY(-10px)}80%{transform:translateY(4px)}100%{opacity:1;transform:none}}
@media (max-width:767px){[data-rv=left],[data-rv=right]{transform:translateY(40px)}} /* sideways slides would widen the page on phones */

/* ---------- photo gallery (gallery page and contact page): rounded mosaic, zoom on hover, full-screen viewer ---------- */
.sg{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;grid-auto-flow:dense;gap:16px}
.sg-item{position:relative;display:block;overflow:hidden;border-radius:16px;background:#dbe7f3;box-shadow:0 10px 30px rgba(4,11,24,.12)}
.sg-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.sg-item:nth-child(7n+5){grid-row:span 2}
.sg-item:nth-child(7n+6){grid-column:span 2}
.sg .sg-item img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0!important;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.sg-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,11,24,.55),rgba(4,11,24,0) 55%);opacity:0;transition:opacity .35s}
.sg-zoom{position:absolute;left:50%;top:50%;z-index:1;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:var(--st-blue);opacity:0;transform:scale(.6);transition:opacity .3s,transform .3s}
.sg-zoom::before,.sg-zoom::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:3px;margin:-1.5px 0 0 -10px;background:#fff;border-radius:2px}
.sg-zoom::after{transform:rotate(90deg)}
.sg-item:hover img,.sg-item:focus-visible img{transform:scale(1.07)}
.sg-item:hover::after,.sg-item:focus-visible::after{opacity:1}
.sg-item:hover .sg-zoom,.sg-item:focus-visible .sg-zoom{opacity:1;transform:none}
.sg-item:focus-visible{outline:3px solid var(--st-blue);outline-offset:3px}
@media (max-width:1000px){.sg{grid-template-columns:repeat(3,1fr);grid-auto-rows:200px}}
@media (max-width:600px){.sg{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}.sg-item{border-radius:12px}.sg-item:nth-child(7n+6){grid-column:auto}}

.sg-lb{padding:0;border:0;background:transparent;width:100vw;height:100vh;max-width:none;max-height:none;overflow:hidden}
.sg-lb[open]{display:flex;align-items:center;justify-content:center}
.sg-lb::backdrop{background:rgba(4,11,24,.94)}
.sg-lb img{max-width:min(92vw,1400px);max-height:84vh;width:auto;height:auto;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.sg-count{position:absolute;left:0;right:0;bottom:22px;margin:0;text-align:center;color:#fff;font:800 14px/1 Montserrat,Arial,sans-serif;letter-spacing:.12em}
.sg-lb button{position:absolute;width:52px;height:52px;border:0;border-radius:50%;background:var(--st-blue);color:#fff;cursor:pointer;font-size:30px;line-height:1;transition:background .2s}
.sg-lb button:hover{background:var(--st-blue2)}
.sg-close{top:20px;right:20px}
.sg-prev,.sg-next{top:50%;margin-top:-26px}
.sg-prev{left:20px}.sg-next{right:20px}
.sg-prev::before,.sg-next::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border:solid #fff;border-width:0 0 3px 3px;margin:-6px 0 0 -3px;transform:rotate(45deg)}
.sg-next::before{margin-left:-9px;transform:rotate(-135deg)}
@media (max-width:600px){.sg-prev,.sg-next{top:auto;bottom:12px;margin:0}.sg-count{bottom:30px}.sg-lb button{width:46px;height:46px}}
@media (prefers-reduced-motion:reduce){.sg-item img,.sg-item::after,.sg-zoom{transition:none}}

/* ---------- thin line between the navbar and the page: Steel blue, brightest in the middle ---------- */
#site-header::after{content:"";visibility:visible!important;position:absolute;left:0;right:0;top:auto!important;bottom:-3px;height:3px;z-index:5;pointer-events:none;background:linear-gradient(90deg,rgba(26,143,232,0),var(--st-blue) 18%,var(--st-sky) 50%,var(--st-blue) 82%,rgba(26,143,232,0))}

/* ---------- reviews: our heading, Google badge and "Write a review" button (layout.php), then restyled cards ---------- */
.sbr-feed .sb-feed-header{display:none!important}
.st-eye{font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--st-blue);margin:0 0 10px!important}
.st-rev-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.st-rev-top h2{margin:0!important}
.st-rev-act{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.st-rev-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dbe7f3;border-radius:12px;padding:10px 18px 10px 14px;box-shadow:0 8px 24px rgba(4,11,24,.08);font:700 13px/1.3 Montserrat,Arial,sans-serif;color:var(--st-navy)}
.st-rev-badge>svg{width:30px;height:30px;flex:none}
.st-rev-badge span{display:block}
.st-stars{display:flex!important;gap:2px;margin-bottom:3px}
.st-stars svg{width:16px;height:16px;fill:#fbbc05}
.st-rev-btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 26px;border-radius:99px;background:var(--st-blue);color:#fff!important;font:800 14px/1 Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important;box-shadow:0 10px 24px rgba(26,143,232,.3);transition:background .2s,transform .2s,box-shadow .2s}
.st-rev-btn::before{content:"";width:16px;height:16px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.8 9.94l-3.75-3.75zM20.7 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.8 9.94l-3.75-3.75zM20.7 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z'/%3E%3C/svg%3E") center/contain no-repeat}
.st-rev-btn:hover{background:var(--st-blue2);transform:translateY(-2px);box-shadow:0 14px 30px rgba(26,143,232,.4)}
/* on a navy section (inner pages) the heading turns white */
.sp-soft .st-rev-top h2{color:#fff}
/* the cards: rounded, soft shadow, a big blue quote mark */
.sbr-feed .sb-post-item{border:0!important;border-radius:16px!important;padding:28px 26px 24px!important;box-shadow:0 12px 32px rgba(4,11,24,.08)!important;border-top:4px solid var(--st-blue)!important}
.sbr-feed .sb-post-item::before{content:"\201C";position:absolute;right:62px;top:6px;font:800 64px/1 Georgia,serif;color:var(--st-blue);opacity:.18}
.sbr-feed .sb-item-provider-icon img{width:22px!important;height:22px!important}
.sbr-feed .sb-item-rating-icon{color:#fbbc05!important}
.sbr-feed .sb-item-author-name{font-size:15px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:800!important}
@media (max-width:767px){.st-rev-top{align-items:flex-start}.st-rev-act{width:100%}.st-rev-btn{flex:1 1 100%;justify-content:center}}
/* reviews row starts mid-glide, so it is already moving when the page opens instead of starting at the left edge */
.sbr-feed .sb-feed-posts{animation-delay:-37s}
@media (max-width:600px){.sbr-feed .sb-feed-posts{animation-delay:-29s}}
