/* QPack: product-first navigation, shared by desktop and mobile. */
.qn-header{--qn-line:#dfe8e4;--qn-ink:#183d43;--qn-muted:#617777;position:relative;z-index:80;background:var(--qn-bg,#fff);color:var(--qn-text,#21444a);border-bottom:1px solid var(--qn-line)}
.qn-sticky{position:sticky;top:0}.qn-shadow{box-shadow:0 3px 15px #153b400c}.qn-container{width:min(1360px,calc(100% - 64px));margin-inline:auto}
.qn-header svg{display:inline-block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qn-header :is(a,button,summary,input):focus-visible{outline:3px solid #ad824c;outline-offset:3px;border-radius:4px}.qn-header summary{list-style:none;cursor:pointer}.qn-header summary::-webkit-details-marker{display:none}.qn-header button,.qn-header input{font:inherit}.qn-header [hidden]{display:none!important}
.qn-top{background:#173f44;color:#dce9e4;font-size:11px;letter-spacing:.01em}.qn-top .qn-container,.qn-top .qn-container>div{display:flex;align-items:center;justify-content:space-between;gap:24px}.qn-top .qn-container{min-height:30px}.qn-top a:hover{text-decoration:underline}
.qn-brand-row{display:flex;align-items:center;gap:28px;min-height:86px}.qn-logo{flex:none;display:block}.qn-logo img{width:auto;height:var(--qn-logo-height,48px);max-width:200px;object-fit:contain}
.qn-search{display:flex;align-items:center;background:#f4f7f5;border:1px solid #e1e9e4;border-radius:8px;width:min(420px,36%);margin-inline:auto;overflow:hidden}.qn-search input{background:transparent;border:0;min-width:0;width:100%;padding:13px 16px;font-size:13px;color:var(--qn-ink);outline-offset:-4px!important}.qn-search input::placeholder{color:#7a8e88}.qn-search button{border:0;background:transparent;cursor:pointer;padding:12px;color:#346b6c}.qn-search button:hover{background:#e7efea}
.qn-contact{flex:none;font-size:12px;line-height:1.6}.qn-contact>span{display:block;color:#789087;font-size:10px}.qn-contact strong{display:flex;align-items:center;gap:12px;font-weight:600}.qn-contact svg{width:14px;height:14px}.qn-contact:hover{color:var(--qn-accent,#166877)}
.qn-quote{flex:none;display:flex;align-items:center;gap:20px;padding:14px 19px;background:var(--qn-accent,#166877);color:#fff!important;border-radius:7px;font-size:12px;font-weight:700;white-space:nowrap}.qn-quote:hover{filter:brightness(.93)}.qn-quote svg{width:16px;height:16px}
.qn-nav-shell{border-top:1px solid #edf1ee}.qn-nav-wrap{position:relative}.qn-nav{display:flex;align-items:center;justify-content:space-between;gap:14px}.qn-menu>summary{display:flex;align-items:center;gap:10px;padding:16px 0;font-size:13px;line-height:1.2;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}.qn-menu>summary svg{width:13px;height:13px;color:#6f8b84}.qn-menu[open]>summary,.qn-menu>summary:hover,.qn-menu>summary.qn-active{color:var(--qn-accent,#166877);border-color:var(--qn-accent,#166877)}.qn-menu[open]>summary svg{transform:rotate(180deg)}.qn-contact-link{font-size:13px;font-weight:700;color:var(--qn-accent,#166877)}
.qn-panel{position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--qn-ink);border:1px solid #dae6df;border-radius:0 0 12px 12px;box-shadow:0 20px 45px #153b4024;max-height:min(650px,var(--qn-panel-room,calc(100dvh - 180px)));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8faea3 #f0f5f1}
.qn-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;border-bottom:1px solid #e8eeea;background:#fbfcf9}.qn-panel-head h2{font-size:21px;letter-spacing:-.025em;line-height:1.2;font-weight:650;margin:0;color:#214d51}.qn-panel-head p{font-size:12px;line-height:1.5;margin:5px 0 0;color:var(--qn-muted)}
.qn-close{display:none}.qn-ready .qn-close{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border:1px solid #dce6e0;border-radius:50%;background:#fff;color:#56736b;cursor:pointer}.qn-close:hover{background:#edf4ef}
.qn-panel-body{padding:24px 28px}.qn-sections{display:flex;gap:30px;align-items:flex-start;flex-wrap:wrap}.qn-section{flex:1 1 240px;min-width:0}.qn-section h3{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#447b73;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #e0ebe4}
.qn-links{display:grid;grid-template-columns:1fr;gap:2px}.qn-links a,.qn-project-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;line-height:1.5;font-weight:500;color:#355255;padding:9px 10px;border-radius:5px;overflow-wrap:anywhere;text-decoration:none;transition:background .15s,color .15s}.qn-links a svg,.qn-project-links a svg{width:13px;height:13px;color:#93aca2}.qn-links a:hover,.qn-project-links a:hover,.qn-links a[aria-current=page],.qn-project-links a[aria-current=page]{background:#eef5f0;color:#155e67}.qn-links a[aria-current=page],.qn-project-links a[aria-current=page]{font-weight:700}
.qn-single{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:34px}.qn-single .qn-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}.qn-single .qn-sections{display:block}
.qn-help-card{background:#edf3ec;padding:23px;border-radius:8px;border:1px solid #dfe9dc;align-self:start}.qn-help-card>span{font-size:9px;letter-spacing:.12em;font-weight:700;color:#6c8a75}.qn-help-card h3{font-size:21px;letter-spacing:-.025em;line-height:1.3;font-weight:600;margin:13px 0 10px}.qn-help-card p{font-size:12px;line-height:1.7;color:#5f7669;margin:0 0 18px}.qn-help-card a{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;color:#1d6570}.qn-help-card a:hover{text-decoration:underline}.qn-help-card svg{width:15px;height:15px}
.qn-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:#f5f8f4;border-top:1px solid #e0e9e2}.qn-panel-foot a{display:flex;align-items:center;gap:12px;color:#3e6c66;font-size:12px;font-weight:600}.qn-panel-foot a:hover{text-decoration:underline}.qn-panel-foot a:last-child{color:#17616c}.qn-panel-foot svg{width:15px;height:15px}
.qn-portfolio-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px 14px}.qn-view-all{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:650;color:#1d6570}.qn-view-all svg{width:15px;height:15px}.qn-filter{display:none}.qn-ready .qn-filter{display:flex;align-items:center;gap:12px}.qn-filter label{font-size:11px;font-weight:600;white-space:nowrap}.qn-filter input{font-size:13px;padding:11px 14px;border:1px solid #cadcd1;border-radius:6px;width:290px;max-width:100%;background:#fff;color:#254e51}
.qn-project-groups{padding:0 28px 22px}.qn-project-group{border-bottom:1px solid #e4ece6}.qn-project-group>summary{display:flex;align-items:center;gap:16px;font-size:14px;font-weight:600;padding:14px 10px;border-radius:5px}.qn-project-group>summary>span{flex:1}.qn-project-group>summary small{font-size:11px;color:#748b80;font-weight:400}.qn-project-group>summary svg{width:14px;height:14px;color:#5f8b7f}.qn-project-group>summary:hover,.qn-project-group[open]>summary{background:#eff5ef;color:#1a6570}.qn-project-group[open]>summary svg{transform:rotate(180deg)}.qn-project-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px;padding:12px 0 18px}.qn-no-results{padding:10px 28px 25px;font-size:13px;color:#657e73}.qn-no-results a{text-decoration:underline}
.qn-toggle,.qn-mobile-tools{display:none}.qn-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.qn-skip{position:fixed;z-index:999999;top:8px;left:8px;transform:translateY(-200%);background:#fff;color:#123b42;padding:14px}.qn-skip:focus{transform:none}
@media(min-width:1100px){.qn-logo-centred{flex-wrap:wrap;justify-content:center;padding:10px 0 16px;gap:14px 28px}.qn-logo-centred .qn-logo{width:100%;display:flex;justify-content:center}.qn-logo-centred .qn-search{margin:0;width:420px}}
@media(min-width:1100px) and (max-width:1280px){.qn-brand-row{gap:22px}.qn-logo img{max-width:170px}.qn-container{width:calc(100% - 48px)}.qn-nav{gap:12px}.qn-menu>summary{font-size:12px;gap:5px}.qn-contact-link{font-size:12px}.qn-single{grid-template-columns:minmax(0,1fr) 225px}}
@media(max-width:1099px){.qn-container{width:calc(100% - 36px)}.qn-brand-row{min-height:75px;gap:16px}.qn-logo{margin-right:auto}.qn-logo img{height:42px;max-width:150px}.qn-brand-row>.qn-search,.qn-contact{display:none}.qn-quote{padding:11px 14px;font-size:12px;gap:12px}.qn-quote svg{width:14px;height:14px}.qn-ready .qn-toggle{display:flex;align-items:center;gap:6px;padding:11px 0 11px 6px;background:transparent;border:0;color:#244e51;font-size:12px;font-weight:650;cursor:pointer}.qn-ready .qn-nav:not(.is-open){display:none}.qn-nav{display:block;overflow-y:auto;max-height:var(--qn-nav-room,calc(100dvh - 120px));padding:0 0 18px;overscroll-behavior:contain;scrollbar-width:thin}.qn-nav-shell{border-top:0}.qn-menu>summary{padding:17px 10px;justify-content:space-between;font-size:15px;border:0;border-bottom:1px solid #e4ede7;margin:0;white-space:normal}.qn-menu[open]>summary{border-bottom:0;background:#edf4ef;border-radius:7px 7px 0 0}.qn-panel{position:static;max-height:none;overflow:visible;border:1px solid #dfe9e1;border-radius:0 0 7px 7px;box-shadow:none;margin-bottom:12px}.qn-panel-head{padding:13px 16px;border:0;background:#f4f7f2}.qn-panel-head h2,.qn-ready .qn-close{display:none}.qn-panel-head p{margin:0;font-size:12px}.qn-panel-body{padding:16px}.qn-sections{display:block}.qn-section+.qn-section{margin-top:22px}.qn-section h3{font-size:11px;margin-bottom:7px}.qn-single{display:block}.qn-single .qn-links{gap:3px 16px}.qn-links a,.qn-project-links a{min-height:44px;font-size:14px;padding:11px 8px}.qn-help-card{display:none}.qn-panel-foot{padding:12px 16px;flex-wrap:wrap;gap:14px}.qn-panel-foot a{font-size:11px}.qn-mobile-tools{display:flex;gap:12px;padding:6px 0 12px}.qn-mobile-tools a{flex:1;display:flex;justify-content:space-between;align-items:center;background:#f3f7f3;border:1px solid #e0eae2;border-radius:6px;padding:12px;font-size:12px;color:#396a63}.qn-mobile-tools svg{width:14px;height:14px}.qn-contact-link{display:block;margin:12px 0;padding:13px 10px;background:#edf5ef;border-radius:6px}.qn-portfolio-tools{display:block;padding:15px 16px}.qn-ready .qn-filter{display:block;margin-top:15px}.qn-filter label{display:block;margin-bottom:6px}.qn-filter input{font-size:16px;width:100%}.qn-project-groups{padding:0 12px 12px}.qn-project-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px}.qn-project-group>summary{font-size:14px;gap:9px;min-height:48px}.qn-hours,.qn-phone{display:none}.qn-top .qn-container{min-height:28px}.qn-top .qn-container>div{gap:18px}}
@media(max-width:600px){.qn-container{width:calc(100% - 28px)}.qn-top .qn-container>span{display:none}.qn-top .qn-container>div{width:100%;justify-content:space-between;font-size:10px}.qn-brand-row{min-height:70px;gap:10px}.qn-logo img{height:36px;max-width:125px}.qn-quote{font-size:11px;padding:10px 12px}.qn-quote svg{display:none}.qn-toggle span{font-size:11px}.qn-single .qn-links,.qn-project-links{grid-template-columns:1fr}.qn-menu>summary{font-size:14px}.qn-project-group>summary small{font-size:10px}}
@media(max-width:359px){.qn-logo img{max-width:105px;height:32px}.qn-quote{padding:10px;font-size:10px}.qn-toggle{gap:3px!important}.qn-toggle span{display:none}}
@media(prefers-reduced-motion:reduce){.qn-header *{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:1100px){.qn-section-long{flex:2 1 440px}.qn-section-long .qn-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}}
