/* Independent header: the original include, menu template and styles remain intact. */
.ms-site .ms-floating-header{position:fixed;z-index:990;top:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;width:calc(100% - 80px);max-width:1520px;min-height:92px;padding:18px 26px;background:linear-gradient(115deg,#211c18f2,#211c18d9);border:1px solid #84c04e70;border-radius:20px;box-shadow:0 16px 42px #0003;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font:15px/1.45 Mulish,Arial,sans-serif;color:#f3eee5;box-sizing:border-box}
.ms-floating-header *{box-sizing:border-box}
.ms-floating-header a,.ms-floating-header button{font:inherit;letter-spacing:0;text-transform:none;text-decoration:none;color:inherit}
.ms-floating-header a:focus-visible,.ms-floating-header button:focus-visible{outline:2px solid #a4d476;outline-offset:4px}
.ms-floating-header .ms-fh-brand{display:block;flex:0 0 215px;line-height:0}
.ms-floating-header .ms-fh-brand img{display:block;width:215px;height:auto;max-height:72px;object-fit:contain}
.ms-floating-header .ms-fh-nav{margin-left:auto}
.ms-floating-header .ms-fh-links{display:flex;align-items:center;gap:3px;padding:0;margin:0;list-style:none}
.ms-floating-header .ms-fh-links li{padding:0;margin:0;list-style:none}
.ms-floating-header .ms-fh-links li:before{display:none}
.ms-floating-header .ms-fh-links a{display:block;padding:12px 13px;white-space:nowrap;border:1px solid transparent;border-radius:10px;transition:background .2s,color .2s,border-color .2s}
.ms-floating-header .ms-fh-links a:hover{background:#84c04e12;color:#b2df8c}
.ms-floating-header .ms-fh-links a.is-current{background:#84c04e1c;border-color:#84c04e60;color:#b2df8c}
.ms-floating-header .ms-fh-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.ms-floating-header .ms-fh-phone{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:15px}
.ms-floating-header .ms-fh-phone svg{width:36px;height:36px;padding:8px;border-radius:50%;background:#84c04e12;color:#a4d476;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none}
.ms-floating-header .ms-fh-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 20px;border:1px solid #9bd15f;border-radius:10px;background:#84c04e;color:#17200f;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .2s,box-shadow .2s}
.ms-floating-header .ms-fh-cta:hover{background:#9bd461;box-shadow:0 5px 20px #84c04e19}
.ms-floating-header .ms-fh-cta span{font-size:20px;line-height:1}
.ms-floating-header .ms-fh-mobile-contact,.ms-floating-header .ms-fh-toggle{display:none}
.ms-floating-header .ms-fh-toggle{width:44px;height:44px;flex:none;padding:12px 10px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid #84c04e65;border-radius:10px;background:#84c04e12;cursor:pointer}
.ms-fh-toggle span{display:block;width:20px;height:2px;background:#b2df8c;transition:transform .2s,opacity .2s}
.ms-fh-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ms-fh-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.ms-fh-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ms-site:has(.ms-floating-header) .ac-page .ac-hero-cutaway{padding-top:174px}
.ms-site:has(.ms-floating-header) .ac-hero-cutaway .ac-hero-scene{top:110px}
@media(min-width:1280px) and (max-width:1390px){
 .ms-site .ms-floating-header{width:calc(100% - 48px);gap:14px;padding:15px 20px}
 .ms-floating-header .ms-fh-brand{flex-basis:185px}.ms-floating-header .ms-fh-brand img{width:185px}
 .ms-floating-header .ms-fh-links a{padding:10px 9px;font-size:14px}
 .ms-floating-header .ms-fh-actions{gap:12px}.ms-floating-header .ms-fh-phone{font-size:14px;gap:6px}.ms-floating-header .ms-fh-phone svg{width:30px;height:30px;padding:6px}
 .ms-floating-header .ms-fh-cta{padding:12px 14px;font-size:13px}
}
@media(max-width:1279px){
 .ms-site .ms-floating-header{top:16px;width:calc(100% - 40px);padding:12px 20px;gap:16px;min-height:82px;flex-wrap:wrap;max-height:calc(100svh - 32px);overflow-y:auto;background:#211c18f5}
 .ms-floating-header .ms-fh-brand{flex:1}.ms-floating-header .ms-fh-brand img{width:205px;max-height:62px}
 .ms-floating-header .ms-fh-toggle:not([hidden]){display:flex}
 .ms-floating-header .ms-fh-nav{order:4;flex:0 0 100%;margin:0;padding:12px 0 4px;border-top:1px solid #84c04e30}
 .ms-floating-header .ms-fh-nav[hidden]{display:none}
 .ms-floating-header .ms-fh-links{display:grid;gap:6px}
 .ms-floating-header .ms-fh-links a{padding:12px 14px;font-size:18px}
 .ms-floating-header .ms-fh-mobile-contact{display:grid;gap:14px;margin:16px 0 4px;padding:20px 14px 4px;border-top:1px solid #84c04e30;font-size:15px}
 .ms-floating-header .ms-fh-mobile-contact .ms-fh-cta{margin-top:4px;justify-self:start}
 .ms-floating-header .ms-fh-cart span{display:inline-block;min-width:23px;padding:2px 7px;margin-left:6px;background:#84c04e1c;border-radius:6px;color:#b2df8c;font-size:13px}
 .ms-site:has(.ms-floating-header) .ac-page .ac-hero-cutaway{padding-top:150px}
}
@media(max-width:800px){.ms-site:has(.ms-floating-header) .ac-hero-cutaway .ac-hero-scene{top:auto}}
@media(max-width:640px){
 .ms-site .ms-floating-header{top:10px;width:calc(100% - 24px);min-height:72px;padding:10px 12px;gap:8px;border-radius:16px;max-height:calc(100svh - 20px)}
 .ms-floating-header .ms-fh-brand img{width:172px;max-width:100%;max-height:52px}
 .ms-floating-header .ms-fh-brand{min-width:0}
 .ms-floating-header .ms-fh-phone span,.ms-floating-header .ms-fh-desktop-cta{display:none}
 .ms-floating-header .ms-fh-phone svg{width:40px;height:40px;padding:9px}
 .ms-floating-header .ms-fh-actions{gap:0}
 .ms-site:has(.ms-floating-header) .ac-page .ac-hero-cutaway{padding-top:118px}
}
/* Float at the start; become a slim bar when reading the page. */
.ms-site .ms-floating-header{transition:top .28s ease,width .28s ease,padding .28s ease,min-height .28s ease,border-radius .28s ease,box-shadow .28s ease}
.ms-floating-header .ms-fh-brand{transition:flex-basis .28s ease}
.ms-floating-header .ms-fh-brand img{height:62px;transition:width .28s ease,height .28s ease}
@media(min-width:1280px) and (max-width:1390px){.ms-floating-header .ms-fh-brand img{height:54px}}
@media(max-width:640px){.ms-floating-header .ms-fh-brand img{height:50px}}
.ms-site .ms-floating-header.is-docked{top:0;min-height:64px;padding:9px 26px;border-radius:0 0 12px 12px;border-width:0 1px 1px;border-color:#84c04e45;background:#211c18f5;box-shadow:0 5px 22px #0003;max-height:100svh}
.ms-floating-header.is-docked .ms-fh-brand{flex-basis:160px}
.ms-floating-header.is-docked .ms-fh-brand img{width:160px;height:44px}
.ms-floating-header.is-docked .ms-fh-links a{padding-top:9px;padding-bottom:9px}
.ms-floating-header.is-docked .ms-fh-desktop-cta{min-height:42px;padding-top:9px;padding-bottom:9px}
@media(max-width:1279px){
 .ms-site .ms-floating-header.is-docked{padding:9px 20px;gap:12px 16px}
 .ms-floating-header.is-docked .ms-fh-brand{flex:1}
 .ms-floating-header.is-docked .ms-fh-links a{padding-top:12px;padding-bottom:12px}
}
@media(max-width:640px){
 .ms-site .ms-floating-header.is-docked{min-height:58px;padding:6px 12px;gap:8px}
 .ms-floating-header.is-docked .ms-fh-brand img{width:146px;height:42px}
}
@media(prefers-reduced-motion:reduce){.ms-floating-header,.ms-floating-header *{transition:none!important}}

/* Share the content container's width in both floating and docked states. */
.ms-site svg.ms-sound-wave{display:inline-block;flex:none;width:22px;min-width:22px;height:22px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;pointer-events:none}
.ms-site .ms-sound-wave path{transform-box:fill-box;transform-origin:center}
.ms-site .ac-section-nav a:last-child,.ms-site .ac-full-cycle>a,.ms-site .ct-direct-email,.ms-site .ac-contact-direct>a:last-of-type{display:inline-flex;align-items:center;gap:10px}
.ms-site .ac-hero-card>span .ms-sound-wave,.ms-site .ct-card-arrow .ms-sound-wave{width:17px;min-width:17px;height:17px}
@media(max-width:640px){.ms-site svg.ms-sound-wave{width:20px;min-width:20px;height:20px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .ms-site :is(a,button):hover .ms-sound-wave path{animation:ms-wave-feedback .65s ease-in-out 1}
 .ms-site :is(a,button):hover .ms-sound-wave path:nth-child(2n){animation-delay:.08s}
}
@media(prefers-reduced-motion:no-preference){
 .ms-site :is(a,button):is(:focus-visible,.ms-wave-tapped) .ms-sound-wave path{animation:ms-wave-feedback .65s ease-in-out 1}
 .ms-site :is(a,button):is(:focus-visible,.ms-wave-tapped) .ms-sound-wave path:nth-child(2n){animation-delay:.08s}
}
@keyframes ms-wave-feedback{0%,100%{transform:scaleY(1)}35%{transform:scaleY(.55)}70%{transform:scaleY(1.15)}}
.ms-site .ms-floating-header,.ms-site .ms-floating-header.is-docked,.ms-site #block925 > .content > .container{width:min(1280px,calc(100% - 100px));max-width:1280px}
@media(max-width:1100px){.ms-site .ms-floating-header,.ms-site .ms-floating-header.is-docked,.ms-site #block925 > .content > .container{width:calc(100% - 64px)}}
@media(max-width:800px){.ms-site .ms-floating-header,.ms-site .ms-floating-header.is-docked,.ms-site #block925 > .content > .container{width:calc(100% - 40px)}}
/* Remove legacy grid gutters so the footer panel aligns with the header edges. */
.ms-site #block925 > .content > .container{margin-inline:auto;padding-inline:0}
.ms-site #block925 > .content > .container > .row{margin-inline:0}
.ms-site #block925 .descriptive-cell{padding-inline:0}
/* Room for the projects item while keeping the shared content width. */
@media(min-width:1280px){.ms-site .ms-floating-header{gap:14px}.ms-floating-header .ms-fh-brand{flex-basis:185px}.ms-floating-header .ms-fh-brand img{width:185px}.ms-floating-header .ms-fh-links a{padding-inline:9px;font-size:14px}.ms-floating-header .ms-fh-actions{gap:12px}.ms-floating-header .ms-fh-cta{padding-inline:14px;font-size:13px}.ms-floating-header .ms-fh-phone{font-size:14px;gap:6px}.ms-floating-header.is-docked .ms-fh-brand{flex-basis:160px}.ms-floating-header.is-docked .ms-fh-brand img{width:160px}}

