/* C-MAX shared header/footer (inner pages) — mirrors the Stitch homepage design */
:root{--cx-lime:#62ABE0;--cx-lime2:#62ABE0;--cx-deep:#2868A0;--cx-slate:#0F172A;--cx-char:#1E293B;--cx-line:#E2E8F0;--cx-muted:#64748B;--cx-surf:#F1F5F9}
.cx-wrap{max-width:1280px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.cx-header,.cx-footer,.cx-mobile{font-family:"Barlow Semi Condensed",system-ui,sans-serif;line-height:1.5}
.cx-header a,.cx-footer a,.cx-mobile a{text-decoration:none}
.cx-header{position:fixed;top:0;left:0;right:0;z-index:9990;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);box-shadow:0 1px 8px rgba(0,0,0,.05);height:80px}
.admin-bar .cx-header{top:32px}
@media(max-width:782px){.admin-bar .cx-header{top:46px}}
.cx-header__in{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cx-brand{display:flex;align-items:center;flex-shrink:0}
.cx-brand img{height:52px;width:auto;display:block}
.cx-footer__logo{height:56px;width:auto}
.cx-brand__name{font:800 18px/1 "Barlow Semi Condensed",sans-serif;letter-spacing:-.01em;color:var(--cx-slate)}
.cx-brand__name sup{font-size:.7em;color:#1E4F7F;vertical-align:baseline;position:relative;top:-.3em}
.cx-brand__sub{font:600 11px/1.4 "Barlow Semi Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#565e74;margin-top:4px}
.cx-nav{display:none;align-items:center;gap:24px}
.cx-nav a{font-size:16px;font-weight:500;color:#3B4A5E;transition:color .15s}
.cx-nav a:hover{color:var(--cx-slate)}
.cx-header__right{display:flex;align-items:center;gap:12px}
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:4px;font:600 17px/1.4 "Barlow Semi Condensed",sans-serif;transition:background .15s,color .15s;border:0;cursor:pointer}
.cx-btn--lime{background:var(--cx-lime2);color:var(--cx-slate)!important}
.cx-btn--lime:hover{background:#4888C8}
.cx-btn--slate{background:var(--cx-slate);color:#fff!important}
.cx-btn--charcoal{background:var(--cx-char);color:#fff!important;font-weight:500}
.cx-btn--charcoal .material-symbols-outlined{color:var(--cx-lime);font-size:18px}
.cx-header__quote{display:none}
.cx-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #CBD5E1;border-radius:4px;background:transparent;color:var(--cx-slate);cursor:pointer;padding:0}
.cx-mobile{position:fixed;top:80px;left:0;right:0;bottom:0;z-index:9980;background:#fff;overflow-y:auto;border-top:1px solid var(--cx-line);padding:16px 0 40px}
.admin-bar .cx-mobile{top:112px}
.cx-mobile[hidden]{display:none}
.cx-mobile a:not(.cx-btn){display:block;padding:14px 12px;border-radius:4px;color:var(--cx-slate);font-weight:600;font-size:17px}
.cx-mobile a:not(.cx-btn):hover{background:var(--cx-surf)}
.cx-mobile .cx-btn{display:flex;margin-top:12px;padding:14px 20px;font-size:14px}
body.cx-lock{overflow:hidden}
@media(min-width:640px){.cx-header__quote{display:inline-flex}}
@media(min-width:1100px){.cx-nav{display:flex}.cx-burger{display:none}}
@media(max-width:1099px){.cx-wrap{padding:0 20px}}
.cx-header .material-symbols-outlined,.cx-footer .material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
.cx-mobile .material-symbols-outlined{font-family:'Material Symbols Outlined'}
/* footer */
.cx-footer{background:var(--cx-slate);color:#fff;padding:64px 0 0;clear:both}
.cx-footer__grid{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:768px){.cx-footer__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.cx-footer__grid{grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:48px}}
.cx-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cx-footer .cx-brand__name{color:#fff;font-size:20px}
.cx-footer .cx-brand__name sup{color:var(--cx-lime2)}
.cx-chip{padding:2px 8px;border-radius:4px;background:var(--cx-char);color:#E4F0FA;font:600 11px/1.6 "Barlow Semi Condensed",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.cx-footer p,.cx-footer li,.cx-footer__contact{font-size:17px;line-height:1.6;color:#cbdbf5;margin:0}
.cx-footer p{margin-bottom:12px}
.cx-footer__plant{margin-top:8px;font-size:15px;color:#d3e4fe}
.cx-footer__plant span{display:block;font:600 11px/1.4 "Barlow Semi Condensed",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--cx-lime2);margin-bottom:4px}
.cx-footer h4{font:700 14px/1.4 "Barlow Semi Condensed",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 16px}
.cx-footer ul{list-style:none;margin:0;padding:0}
.cx-footer li{margin-bottom:10px}
.cx-footer a{color:#cbdbf5;transition:color .15s}
.cx-footer a:hover{color:#fff}
.cx-footer__contact strong{display:block;color:#fff;font-weight:500}
.cx-footer__contact a:hover{color:var(--cx-lime2)}
.cx-footer__bar{margin-top:56px;padding:28px 0;border-top:1px solid rgba(203,213,225,.2);display:flex;flex-direction:column;gap:16px;align-items:flex-start;justify-content:space-between;font-size:15px;color:#cbdbf5}
@media(min-width:768px){.cx-footer__bar{flex-direction:row;align-items:center}}

/* hide Betheme's own menu bar & side menu; keep its page hero */
#Top_bar,#Side_slide,#body_overlay,.mfn-header-mobile-menu,#Header_creative{display:none!important}
#Header_wrapper{margin-top:0}
body{padding-top:0!important}
#Wrapper{padding-top:80px}
#Subheader{padding-top:100px!important;padding-bottom:170px!important}
@media(max-width:767px){#Subheader{padding-top:60px!important;padding-bottom:120px!important}}

@media(max-width:767px){.cx-brand img{height:42px}}
.cx-footer .cx-footer__logo{height:56px!important;width:auto!important;max-width:100%}
.cx-header .cx-brand img{height:52px!important;width:auto!important;max-width:none}
@media(max-width:767px){.cx-header .cx-brand img{height:40px!important}}
/* Contact Form 7 inside the redesigned contact page */
.cx-cf7 .wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cx-cf7 .wpcf7-form .column{margin:0;padding:0;width:auto;float:none}
.cx-cf7 .wpcf7-form .column.one,.cx-cf7 .wpcf7-form>p,.cx-cf7 .wpcf7-response-output{grid-column:1/-1}
.cx-cf7 .wpcf7-form-control-wrap{display:block}
.cx-cf7 input[type=text],.cx-cf7 input[type=email],.cx-cf7 textarea{width:100%!important;box-sizing:border-box;background:#F8FAFC;border:1px solid #CBD5E1;border-radius:4px;padding:12px 14px;font:400 17px/1.4 "Barlow Semi Condensed",sans-serif;color:#0F172A;box-shadow:none}
.cx-cf7 input[type=text],.cx-cf7 input[type=email]{height:48px}
.cx-cf7 input:focus,.cx-cf7 textarea:focus{outline:none;border-color:#62ABE0;box-shadow:0 0 0 2px rgba(98,171,224,.30)}
.cx-cf7 input[type=submit]{background:#62ABE0;color:#0F172A;border:0;border-radius:4px;padding:14px 28px;font:700 17px/1 "Barlow Semi Condensed",sans-serif;cursor:pointer;width:100%}
.cx-cf7 input[type=submit]:hover{background:#4888C8}
@media(max-width:600px){.cx-cf7 .wpcf7-form{grid-template-columns:1fr}}
.cx-nav a.is-active{color:#1E4F7F;font-weight:700}

.cx-cf7 .wpcf7-form input.wpcf7-submit,.cx-cf7 .wpcf7-form .wpcf7-submit{display:block;width:100%!important;background:#62ABE0!important;color:#0F172A!important;border:0!important;border-radius:4px!important;padding:16px 28px!important;font:700 18px/1 "Barlow Semi Condensed",sans-serif!important;cursor:pointer;height:auto!important}
.cx-cf7 .wpcf7-form input.wpcf7-submit:hover{background:#4888C8!important}

/* Blog */
.cx-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;margin:0 4px 8px;border:1px solid #CBD5E1;border-radius:4px;background:#fff;color:#0F172A;font:600 16px "Barlow Semi Condensed",sans-serif;text-decoration:none}
.cx-pagination .page-numbers:hover{border-color:#0F172A}
.cx-pagination .page-numbers.current{background:#0F172A;border-color:#0F172A;color:#fff}
.cx-pagination .page-numbers.dots{border:0;background:transparent}
.cx-prose{font:400 19px/1.75 "Barlow Semi Condensed",sans-serif;color:#334155}
.cx-prose>*+*{margin-top:1.25em}
.cx-prose h2,.cx-prose h3,.cx-prose h4{font-family:"Barlow Semi Condensed",sans-serif;color:#0F172A;font-weight:700;line-height:1.2;letter-spacing:-.01em;margin-top:2em}
.cx-prose h2{font-size:34px}.cx-prose h3{font-size:27px}.cx-prose h4{font-size:22px}
.cx-prose strong{color:#0F172A;font-weight:700}
.cx-prose a{color:#2868A0;text-decoration:underline;text-underline-offset:2px}
.cx-prose ul,.cx-prose ol{padding-left:1.4em}
.cx-prose ul{list-style:disc}.cx-prose ol{list-style:decimal}
.cx-prose li{margin-top:.4em}
.cx-prose img{max-width:100%;height:auto;border-radius:8px}
.cx-prose blockquote{border-left:4px solid #62ABE0;padding:.25em 0 .25em 1.25em;color:#0F172A;font-weight:500}
.cx-prose table{width:100%;border-collapse:collapse;font-size:17px}
.cx-prose th{background:#0F172A;color:#fff;text-align:left;padding:10px 12px}
.cx-prose td{border-bottom:1px solid #E2E8F0;padding:10px 12px}
.cx-prose iframe{max-width:100%}
@media(max-width:767px){.cx-prose{font-size:17px}.cx-prose h2{font-size:28px}.cx-prose h3{font-size:23px}}

/* Transparent header over photo heroes (blends with the image; turns solid on scroll) */
.cx-header{transition:background .25s,box-shadow .25s}
.cx-header .cx-brand .cx-logo--light{display:none!important}
body.cx-hero-top .cx-header:not(.is-scrolled){background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.cx-hero-top .cx-header:not(.is-scrolled) .cx-brand .cx-logo--dark{display:none!important}
body.cx-hero-top .cx-header:not(.is-scrolled) .cx-brand .cx-logo--light{display:block!important}
body.cx-hero-top .cx-header:not(.is-scrolled) .cx-nav a{color:#fff;text-shadow:0 1px 8px rgba(15,23,42,.55)}
body.cx-hero-top .cx-header:not(.is-scrolled) .cx-nav a:hover{color:#62ABE0}
body.cx-hero-top .cx-header:not(.is-scrolled) .cx-nav a.is-active{color:#62ABE0}
body.cx-hero-top .cx-header:not(.is-scrolled) .cx-burger{color:#fff;border-color:rgba(255,255,255,.55)}
body.cx-hero-top main{padding-top:0!important}
body.cx-hero-top main .-mt-20{margin-top:0!important}
body.cx-hero-top main>section:first-child{padding-top:80px}
body.cx-hero-top #Wrapper{padding-top:0}
body.cx-hero-top #Subheader{padding-top:170px!important}
@media(max-width:767px){body.cx-hero-top #Subheader{padding-top:130px!important}}
body.cx-hero-top .cx-header:not(.is-scrolled) .cx-brand .cx-logo--light{height:62px!important;width:auto!important}
@media(max-width:767px){body.cx-hero-top .cx-header:not(.is-scrolled) .cx-brand .cx-logo--light{height:52px!important}}

/* Homepage hero slider: blurred fill + the full photo (never cropped/soft) */
.hero-slides{overflow:hidden;background:#0F172A}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.hero-slide.is-active{opacity:1}
.hero-slide__bg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(28px) brightness(.55) saturate(1.1)}
.hero-slide__frame{position:absolute;inset:0}
.hero-slide__img{width:100%;height:100%;object-fit:cover;opacity:.55}
@media(min-width:1024px){
 .hero-slide__frame{inset:112px 56px 112px auto;width:40%;display:flex;align-items:center;justify-content:flex-end}
 .hero-slide__img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;opacity:1;border-radius:10px;box-shadow:0 25px 60px -15px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.18)}
}
.hero-dots{position:absolute;right:24px;bottom:96px;z-index:5;display:flex;gap:8px}
.hero-dots button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer}
.hero-dots button.is-active{background:#62ABE0;width:26px;border-radius:6px}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Dark sections: any text without its own colour class reads white (Betheme/WP default heading colour is near-black) */
[class~="bg-industrial-slate"] :where(h1,h2,h3,h4,h5,h6,p,li,strong,em,small,figcaption,summary,dt,dd,td,th,label,blockquote),
[class~="bg-industrial-charcoal"] :where(h1,h2,h3,h4,h5,h6,p,li,strong,em,small,figcaption,summary,dt,dd,td,th,label,blockquote),
[class*="bg-industrial-slate/"] :where(h1,h2,h3,h4,h5,h6,p,li,strong,em,small,figcaption,summary,dt,dd),
.cx-footer :where(h1,h2,h3,h4,h5,h6,strong,summary){color:#fff}

/* Footer stands apart from the dark call-to-action band above it */
.cx-footer{background:#080D1A;border-top:4px solid #62ABE0}
.cx-footer__bar{border-top-color:rgba(203,213,225,.16)}

/* Project cards: photo always fills the whole card (Betheme sets img{height:auto}) */
.proj>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}

/* Betheme sets img{height:auto}; keep Tailwind's h-full images filling their frames */
img.h-full{height:100%!important}

/* Single post refinements */
.cx-prose--post h2{scroll-margin-top:110px;padding-top:.25em;border-top:1px solid #E2E8F0;margin-top:2.2em}
.cx-prose--post>p:first-child{font-size:1.15em;color:#0F172A;font-weight:500}
.cx-prose--post h2:first-child{border-top:0;margin-top:0}
html{scroll-behavior:smooth}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Betheme hides <header> on its 404 body class; keep ours visible */
html body.error404.error404 header.cx-header{display:block!important}
html body.error404.error404 footer.cx-footer{display:block!important}

/* 404 search field (Betheme styles inputs white) */
#s404{background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important;height:auto!important;min-height:52px;margin:0!important;border-radius:0!important}
#s404::placeholder{color:#CBDBF5;opacity:1}

/* Blue buttons: black text, white on hover */
a.bg-primary-container,button.bg-primary-container,input.bg-primary-container,.cx-btn--lime,.cx-cf7 input[type=submit],.cx-cf7 .wpcf7-form .wpcf7-submit,#quote-form button{color:#000!important}
a.bg-primary-container:hover,button.bg-primary-container:hover,input.bg-primary-container:hover,.cx-btn--lime:hover,.cx-cf7 input[type=submit]:hover,.cx-cf7 .wpcf7-form .wpcf7-submit:hover,#quote-form button:hover{color:#fff!important;background:#2868A0!important}
a.bg-primary-container:hover *,button.bg-primary-container:hover *,.cx-btn--lime:hover *{color:#fff!important}
