/* Nano Builders design system. Tokens and rules: design-system/nano-builders/MASTER.md */
:root{
  --nb-navy:#001254;--nb-navy-2:#0A1F6E;--nb-navy-3:#000C3A;--nb-gold:#FFD679;--nb-gold-dk:#7A5E12;
  --nb-ink:#0C0A0A;--nb-muted:#5B6368;--nb-line:#E4E6EB;--nb-soft:#F4F5F7;--nb-sand:#F6F1EA;--nb-white:#fff;
  --nb-h:"Titillium Web",system-ui,sans-serif;--nb-b:Archivo,system-ui,sans-serif;
  --nb-ease:cubic-bezier(.22,.61,.36,1);--nb-shadow:0 40px 80px -60px rgba(0,18,84,.55);
}
.nb-site{font-family:var(--nb-b);color:var(--nb-ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.nb-site{margin:0;background:#fff;font-size:16px;line-height:1.7}
.nb-clean *,.nb-clean *::before,.nb-clean *::after{box-sizing:border-box}
.nb-clean a{text-decoration:none}
.nb-clean p{margin:0 0 1em}
.nb-site img{max-width:100%;height:auto}
.nb-site a{transition:color .2s}
.nb-site :focus-visible{outline:2px solid var(--nb-gold);outline-offset:3px}
.nb-site .nb-section--dark :focus-visible,.nb-site .nb-footer :focus-visible{outline-color:var(--nb-gold)}
.nb-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:#fff;color:var(--nb-navy);padding:10px 14px;font:600 14px var(--nb-h)}
.nb-skip:focus{left:12px}

/* ---------- layout ---------- */
.nb-site .nb-wrap{max-width:1290px;width:100%;margin-inline:auto}
.nb-section{position:relative}
.nb-section--soft{background:var(--nb-soft)}
.nb-section--sand{background:var(--nb-sand)}
.nb-section--dark{background:var(--nb-navy);color:#fff}
.nb-section--deep{background:var(--nb-navy-3);color:#fff}
.nb-section--dark.nb-glow::before,.nb-glow::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 12%,rgba(255,214,121,.14),transparent 42%),radial-gradient(circle at 5% 95%,rgba(255,214,121,.07),transparent 40%)}
.nb-glow>.e-con,.nb-glow>.e-con-inner{position:relative;z-index:1}

/* ---------- type ---------- */
.nb-site .nb-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:12px;font:600 13px/1.2 var(--nb-h);letter-spacing:.22em;text-transform:uppercase;color:var(--nb-navy);margin:0}
.nb-site .nb-eyebrow .elementor-heading-title::before{content:"";width:34px;height:2px;background:var(--nb-gold);flex:0 0 34px}
.nb-site .nb-section--dark .nb-eyebrow .elementor-heading-title,.nb-site .nb-section--deep .nb-eyebrow .elementor-heading-title,.nb-site .nb-on-dark .nb-eyebrow .elementor-heading-title{color:var(--nb-gold)}
.nb-site .nb-eyebrow--center .elementor-heading-title{justify-content:center}
.nb-site .elementor-widget-heading .elementor-heading-title{font-family:var(--nb-h)}
.nb-site .nb-h1 .elementor-heading-title{font:700 clamp(40px,5.6vw,76px)/1.04 var(--nb-h);letter-spacing:-.02em;color:inherit}
.nb-site .nb-h2 .elementor-heading-title{font:700 clamp(32px,4vw,50px)/1.1 var(--nb-h);letter-spacing:-.01em;color:var(--nb-ink)}
.nb-site .nb-h3 .elementor-heading-title{font:700 clamp(21px,1.8vw,26px)/1.25 var(--nb-h);color:var(--nb-ink)}
.nb-site .nb-section--dark .nb-h2 .elementor-heading-title,.nb-site .nb-section--deep .nb-h2 .elementor-heading-title,
.nb-site .nb-section--dark .nb-h3 .elementor-heading-title,.nb-site .nb-section--deep .nb-h3 .elementor-heading-title,.nb-site .nb-on-dark .elementor-heading-title{color:#fff}
.nb-site .elementor-heading-title em{font-style:normal;color:var(--nb-gold)}
.nb-site .nb-section:not(.nb-section--dark):not(.nb-section--deep) .nb-h2 .elementor-heading-title em{color:var(--nb-gold-dk)}
.nb-site .nb-lead{font-size:17px;line-height:1.75;color:var(--nb-muted);max-width:620px}
.nb-site .nb-lead p:last-child,.nb-site .nb-body p:last-child{margin-bottom:0}
.nb-site .nb-body{font-size:16px;line-height:1.8;color:var(--nb-muted)}
.nb-site .nb-section--dark .nb-lead,.nb-site .nb-section--dark .nb-body,.nb-site .nb-section--deep .nb-lead,.nb-site .nb-on-dark .nb-lead{color:rgba(255,255,255,.8)}
.nb-site .nb-center,.nb-site .nb-center .elementor-heading-title{text-align:center;margin-inline:auto}
@media (max-width:767px){.nb-site .nb-lead{font-size:16px}}

/* ---------- buttons (Elementor Button widget + .nb-btn) ---------- */
.nb-site .nb-btn .elementor-button{display:inline-flex;align-items:center;gap:10px;padding:17px 28px;border-radius:0;font:600 14px/1 var(--nb-h);letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s;min-height:48px}
.nb-site .nb-btn .elementor-button-content-wrapper{gap:10px;align-items:center}
.nb-site .nb-btn .elementor-button-icon svg{width:16px;height:16px;fill:currentColor;transition:transform .25s var(--nb-ease)}
.nb-site .nb-btn .elementor-button:hover .elementor-button-icon svg{transform:translateX(4px)}
.nb-site .nb-btn--gold .elementor-button{background:var(--nb-gold);color:var(--nb-navy)}
.nb-site .nb-btn--gold .elementor-button:hover,.nb-site .nb-btn--gold .elementor-button:focus-visible{background:#fff;color:var(--nb-navy)}
.nb-site .nb-btn--navy .elementor-button{background:var(--nb-navy);color:#fff}
.nb-site .nb-btn--navy .elementor-button:hover,.nb-site .nb-btn--navy .elementor-button:focus-visible{background:var(--nb-navy-2);color:#fff}
.nb-site .nb-btn--line .elementor-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.nb-site .nb-btn--line .elementor-button:hover,.nb-site .nb-btn--line .elementor-button:focus-visible{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.nb-site .nb-btn--ghost .elementor-button{background:transparent;color:var(--nb-navy);border-color:var(--nb-navy)}
.nb-site .nb-btn--ghost .elementor-button:hover,.nb-site .nb-btn--ghost .elementor-button:focus-visible{background:var(--nb-navy);color:#fff}
.nb-site .nb-btn--wa .elementor-button{background:#25D366;color:#06381b}
.nb-site .nb-btn--wa .elementor-button:hover{background:#1ebe5b;color:#06381b}
.nb-site .nb-btn--link .elementor-button{background:none;padding:0 0 6px;min-height:0;color:var(--nb-navy);border:0;border-bottom:2px solid var(--nb-gold)}
.nb-site .nb-section--dark .nb-btn--link .elementor-button,.nb-site .nb-section--deep .nb-btn--link .elementor-button{color:#fff}
.nb-site .nb-btns{gap:14px}
@media (max-width:480px){.nb-site .nb-btns>.elementor-widget-button{width:100%}.nb-site .nb-btns .elementor-button{width:100%;justify-content:center}}

/* ---------- lists ---------- */
.nb-site .nb-ticks .elementor-icon-list-items{display:grid;gap:12px}
.nb-site .nb-ticks .elementor-icon-list-item{align-items:flex-start!important;font-weight:500;color:var(--nb-ink)}
.nb-site .nb-ticks .elementor-icon-list-icon{flex:0 0 22px;height:22px;background:var(--nb-navy);display:grid!important;place-items:center;margin:2px 12px 0 0!important}
.nb-site .nb-ticks .elementor-icon-list-icon svg{width:11px!important;height:11px!important;fill:var(--nb-gold)}
.nb-site .nb-section--dark .nb-ticks .elementor-icon-list-item{color:#fff}
.nb-site .nb-section--dark .nb-ticks .elementor-icon-list-icon{background:var(--nb-gold)}
.nb-site .nb-section--dark .nb-ticks .elementor-icon-list-icon svg{fill:var(--nb-navy)}
.nb-site .nb-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px}
.nb-site .nb-chips .elementor-icon-list-item{margin:0!important;padding:9px 14px;border:1px solid rgba(255,214,121,.45);color:var(--nb-gold);background:rgba(0,12,58,.9);font:600 12px/1 var(--nb-h);letter-spacing:.14em;text-transform:uppercase}
.nb-site .nb-chips .elementor-icon-list-item::after{display:none}
.nb-site .nb-chips .elementor-icon-list-icon{display:none!important}
.nb-site .nb-chips--light .elementor-icon-list-item{border-color:var(--nb-line);color:var(--nb-navy);background:#fff}
.nb-site .nb-dotlist .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 18px}
.nb-site .nb-dotlist .elementor-icon-list-item{margin:0!important;font:600 14px/1.4 var(--nb-h);letter-spacing:.04em;color:var(--nb-muted)}
.nb-site .nb-dotlist .elementor-icon-list-item::after{display:none}
.nb-site .nb-dotlist .elementor-icon-list-icon svg{width:6px!important;height:6px!important;fill:var(--nb-gold-dk)}

/* ---------- header (Theme Builder) ---------- */
.nb-site .elementor-location-header{position:sticky;top:-40px;z-index:90}
.admin-bar.nb-site .elementor-location-header{top:-8px}
.nb-site .nb-topbar{background:var(--nb-navy-3);color:rgba(255,255,255,.82)}
.nb-site .nb-topbar .elementor-icon-list-item,.nb-site .nb-topbar .elementor-icon-list-text,.nb-site .nb-topbar a{font:500 13px/1 var(--nb-b);color:rgba(255,255,255,.82)}
.nb-site .nb-topbar a:hover .elementor-icon-list-text{color:var(--nb-gold)}
.nb-site .nb-topbar .elementor-icon-list-icon svg{fill:var(--nb-gold);width:13px!important;height:13px!important}
.nb-site .nb-topbar .elementor-icon-list-item::after{border-color:rgba(255,255,255,.2)!important}
.nb-site .nb-mainbar{background:#fff;border-bottom:1px solid var(--nb-line);transition:box-shadow .3s}
.nb-site.nb-scrolled .nb-mainbar{box-shadow:0 10px 30px -18px rgba(0,18,84,.35)}
.nb-site .nb-logo{text-decoration:none;flex:0 0 auto}
.nb-site .nb-logo img{height:50px;width:auto}
.nb-site .nb-logo .elementor-heading-title{font:700 17px/1.05 var(--nb-h);letter-spacing:.04em;text-transform:uppercase;color:var(--nb-navy)}
.nb-site .nb-nav{flex:1 1 auto!important;min-width:0;width:auto!important}
.nb-site .nb-nav .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap;justify-content:flex-end}
.nb-site .nb-hdr-actions{flex:0 0 auto!important;width:auto!important}
.nb-site .nb-logo{width:auto!important}
.nb-site .nb-nav .elementor-nav-menu--main .elementor-item{font:600 14px/1 var(--nb-h);letter-spacing:.08em;text-transform:uppercase;color:var(--nb-navy);padding:30px 14px}
.nb-site .nb-nav .elementor-nav-menu--main .elementor-item:hover,.nb-site .nb-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--nb-navy)}
.nb-site .nb-nav .e--pointer-underline .elementor-item::after{background:var(--nb-gold)!important;height:3px;bottom:18px!important}
.nb-site .nb-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown{border-top:3px solid var(--nb-gold);box-shadow:0 30px 60px -30px rgba(0,18,84,.45);min-width:280px!important;padding:8px 0}
.nb-site .nb-nav .elementor-nav-menu--dropdown a{font:600 14px/1.3 var(--nb-h);color:var(--nb-navy);padding:13px 22px;letter-spacing:.02em}
.nb-site .nb-nav .elementor-nav-menu--dropdown a:hover,.nb-site .nb-nav .elementor-nav-menu--dropdown a.elementor-item-active{background:var(--nb-soft);color:var(--nb-navy)}
.nb-site .nb-nav .elementor-menu-toggle{background:#fff;border:1px solid var(--nb-line);width:46px;height:46px;color:var(--nb-navy);font-size:22px}
.nb-site .nb-nav .elementor-menu-toggle svg{fill:var(--nb-navy)}
.nb-site .nb-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{border-top:1px solid var(--nb-line);margin-top:17px!important;box-shadow:0 30px 40px -30px rgba(0,18,84,.4)}
/* phone/tablet menu: the open parent and its sub-items read as a submenu (owner's request, 4 October 2026):
   grey panel, indented items with tree lines in front, lighter weight; the open parent gets a gold edge, not Elementor's dark grey */
.nb-site .nb-nav nav.elementor-nav-menu--dropdown a.elementor-item.highlighted{background:var(--nb-soft);color:var(--nb-navy);box-shadow:inset 3px 0 0 var(--nb-gold)}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown a.elementor-item .sub-arrow svg{transition:transform .2s var(--nb-ease)}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown a.elementor-item.highlighted .sub-arrow svg{transform:rotate(180deg)}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu{background:var(--nb-soft);padding:0 0 10px!important;box-shadow:inset 3px 0 0 var(--nb-gold)}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item{position:relative;border:0!important;padding:13px 24px 13px 54px!important;font-size:15px;font-weight:500;color:var(--nb-navy-2);background:none}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item::before,
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item::after{content:"";position:absolute;left:30px;background:#C9A84C}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item::before{top:0;bottom:0;width:1px}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu li:last-child>a.elementor-sub-item::before{bottom:50%}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item::after{top:50%;width:12px;height:1px}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:hover,.nb-site .nb-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item.elementor-item-active{background:#E9EBF0;color:var(--nb-navy)}
.nb-site .nb-hdr-phone .elementor-icon-box-title{font:500 11px/1 var(--nb-b);letter-spacing:.14em;text-transform:uppercase;color:var(--nb-muted);margin:0 0 5px}
.nb-site .nb-hdr-phone .elementor-icon-box-description{font:600 15px/1.2 var(--nb-h);color:var(--nb-navy)}
.nb-site .nb-hdr-phone .elementor-icon{font-size:16px;color:var(--nb-navy);background:var(--nb-soft);width:42px;height:42px;display:grid;place-items:center}
.nb-site .nb-hdr-phone .elementor-icon svg{width:16px;height:16px;fill:var(--nb-navy)}
@media (max-width:1180px){.nb-site .nb-hdr-phone{display:none}.nb-site .nb-nav .elementor-nav-menu--main .elementor-item{padding-inline:10px;letter-spacing:.05em}}
@media (max-width:1024px){.nb-site .nb-topbar .nb-hide-t{display:none}.nb-site .nb-hdr-cta{display:none}.nb-site .elementor-location-header{top:-40px}}
@media (max-width:767px){.nb-site .nb-topbar{display:none}.nb-site .elementor-location-header{top:0}.nb-site .nb-logo img{height:40px}.nb-site .nb-logo .elementor-heading-title{font-size:14px}}

/* ---------- footer ---------- */
.nb-site .nb-footer{background:var(--nb-navy-3);color:rgba(255,255,255,.72)}
.nb-site .nb-footer .elementor-heading-title{color:#fff}
.nb-site .nb-footer .nb-foot-h .elementor-heading-title{font:700 15px/1 var(--nb-h);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.nb-site .nb-footer .elementor-icon-list-text,.nb-site .nb-footer .nb-body,.nb-site .nb-footer p{color:rgba(255,255,255,.72);font-size:15px;line-height:1.6}
.nb-site .nb-footer a:hover .elementor-icon-list-text{color:var(--nb-gold)}
.nb-site .nb-footer .elementor-icon-list-icon svg{fill:var(--nb-gold)}
.nb-site .nb-footer .nb-logo .elementor-heading-title{color:#fff}
.nb-site .nb-foot-tag .elementor-heading-title{font:700 13px/1.4 var(--nb-h);letter-spacing:.2em;text-transform:uppercase;color:var(--nb-gold)!important}
.nb-site .nb-foot-bottom{border-top:1px solid rgba(255,255,255,.12)}
.nb-site .nb-foot-bottom p{font-size:13px!important;margin:0}
.nb-site .nb-social .elementor-social-icon{background:transparent!important;border:1px solid rgba(255,255,255,.25);width:42px;height:42px;display:inline-grid;place-items:center}
.nb-site .nb-social .elementor-social-icon:hover{border-color:var(--nb-gold)}
.nb-site .nb-social .elementor-social-icon svg{fill:#fff;width:16px;height:16px}
.nb-wa{position:fixed;right:22px;bottom:22px;z-index:95;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 28px -8px rgba(0,0,0,.45);transition:transform .3s var(--nb-ease)}
.nb-wa:hover{transform:scale(1.08)}
.nb-wa svg{width:30px;height:30px;fill:#fff}
/* floating Instant Quote bubble, centred above the WhatsApp button: pops in after load, a gold ring pulses now and then;
   hover/focus lifts and tilts the calculator and slides out the tooltip (shown once per visit on its own via nano.js).
   Hidden on the Instant Quote page and while the phone menu is open. */
.nb-iqf{position:fixed;right:26px;bottom:94px;z-index:95;display:flex;align-items:center;gap:14px;text-decoration:none;pointer-events:none;animation:nb-iqf-in .7s var(--nb-ease) 1.2s both}
.nb-iqf-btn{position:relative;width:50px;height:50px;border-radius:50%;background:var(--nb-navy);color:var(--nb-gold);display:grid;place-items:center;pointer-events:auto;box-shadow:0 12px 26px -8px rgba(0,18,84,.6);transition:transform .4s var(--nb-ease),background .25s,color .25s;animation:nb-iqf-pulse 2.2s ease-in-out 2s infinite,nb-iqf-aura 2.2s ease-out 2s infinite}
.nb-iqf-btn svg{width:24px;height:24px;transition:transform .4s var(--nb-ease)}
/* second aura wave, half a beat after the first, so a gold wave is always travelling out */
.nb-iqf-btn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2.5px solid var(--nb-gold);opacity:0;pointer-events:none;animation:nb-iqf-ring 2.2s ease-out 3.1s infinite}
.nb-iqf:hover .nb-iqf-btn,.nb-iqf:focus-visible .nb-iqf-btn{animation:none}
.nb-iqf-tip{position:relative;display:flex;flex-direction:column;gap:3px;background:#fff;color:var(--nb-navy);padding:10px 15px;border-radius:12px;white-space:nowrap;box-shadow:0 16px 36px -14px rgba(0,18,84,.5);opacity:0;transform:translateX(12px) scale(.94);transform-origin:right center;pointer-events:none;transition:opacity .3s var(--nb-ease),transform .4s var(--nb-ease)}
.nb-iqf-tip::after{content:"";position:absolute;right:-5px;top:50%;width:11px;height:11px;background:#fff;border-radius:2px;transform:translateY(-50%) rotate(45deg)}
.nb-iqf-tip b{font:700 14px/1.1 var(--nb-h);letter-spacing:.01em}
.nb-iqf-tip small{font:500 12px/1.2 var(--nb-b);color:var(--nb-muted)}
.nb-iqf:hover .nb-iqf-tip,.nb-iqf:focus-visible .nb-iqf-tip,.nb-iqf.is-tip .nb-iqf-tip{opacity:1;transform:none;pointer-events:auto}
.nb-iqf:hover .nb-iqf-btn,.nb-iqf:focus-visible .nb-iqf-btn{transform:translateY(-3px);background:var(--nb-gold);color:var(--nb-navy)}
.nb-iqf:hover .nb-iqf-btn svg,.nb-iqf:focus-visible .nb-iqf-btn svg{transform:rotate(-12deg) scale(1.06)}
.nb-iqf:focus-visible{outline:none}.nb-iqf:focus-visible .nb-iqf-btn{outline:2px solid var(--nb-gold);outline-offset:3px}
@keyframes nb-iqf-in{from{opacity:0;transform:translateY(18px) scale(.6)}60%{opacity:1;transform:translateY(-3px) scale(1.04)}to{opacity:1;transform:none}}
@keyframes nb-iqf-ring{0%{opacity:.95;transform:scale(1)}100%{opacity:0;transform:scale(1.95)}}
@keyframes nb-iqf-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes nb-iqf-aura{0%{box-shadow:0 12px 26px -8px rgba(0,18,84,.6),0 0 0 0 rgba(255,214,121,.85)}80%,100%{box-shadow:0 12px 26px -8px rgba(0,18,84,.6),0 0 0 24px rgba(255,214,121,0)}}
body:has(.nb-nbq) .nb-iqf{display:none}
@media (prefers-reduced-motion:reduce){.nb-iqf,.nb-iqf-btn,.nb-iqf-btn::after{animation:none}.nb-iqf-tip,.nb-iqf-btn,.nb-iqf-btn svg{transition:none}}

/* ---------- hero (home) ---------- */
.nb-site .nb-hero{position:relative;overflow:hidden;background:var(--nb-navy-3);color:#fff}
.nb-site .nb-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,12,58,.94) 0%,rgba(0,12,58,.74) 45%,rgba(0,12,58,.18) 100%),linear-gradient(0deg,rgba(0,12,58,.88) 0%,transparent 42%)}
.nb-site .nb-slides{position:absolute!important;inset:0;z-index:0;padding:0!important;gap:0!important}
.nb-site .nb-slides>.elementor-widget-image{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s var(--nb-ease)}
.nb-site .nb-slides>.elementor-widget-image:first-child,.nb-site .nb-slides>.elementor-widget-image.is-on{opacity:1}
.nb-site .nb-slides.is-live>.elementor-widget-image:first-child:not(.is-on){opacity:0}
.nb-site .nb-slides img{width:100%;height:100%!important;object-fit:cover;transform:scale(1.04);transition:transform 7s linear}
.nb-site .nb-slides .is-on img{transform:scale(1)}
/* waterproofing slide: the worker sits right of centre in the wide image; phones crop to him */
@media (max-width:767px){.nb-site .nb-slides .nb-slide-wp img{object-position:80% 50%}}
/* Nano Build slide (lobby): phones crop to the tall timber slat wall on the right */
@media (max-width:767px){.nb-site .nb-slides .nb-slide-build img{object-position:88% 50%}}
/* Nano Waterproofing page banner: same wide photo; phones show the worker rather than the blurred side */
@media (max-width:767px){.nb-site .nb-page-hero--waterproofing{background-position:80% 50%!important}}
/* Nano Build page banner (lobby photo): phones show the timber slat wall on the right */
@media (max-width:767px){.nb-site .nb-page-hero--build{background-position:88% 50%!important}}
.nb-site .nb-hero>.e-con:not(.nb-slides){position:relative;z-index:2}
.nb-site .nb-hero .nb-lead{color:rgba(255,255,255,.86);font-size:clamp(17px,1.5vw,20px);max-width:600px}
/* hero rating chip: one compact row of dark glass, so the photo shows around and through it */
.nb-site .nb-gcard{flex:0 0 auto;width:auto!important;background:rgba(0,12,58,.5);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:10px 16px!important;text-decoration:none;transition:border-color .3s,transform .3s var(--nb-ease)}
.nb-site .nb-gcard:hover{transform:translateY(-2px);border-color:var(--nb-gold)}
.nb-site .nb-gcard .elementor-heading-title{margin:0}
.nb-site .nb-gcard .nb-g-score .elementor-heading-title{font:700 30px/1 var(--nb-h);color:#fff}
.nb-site .nb-stars .elementor-heading-title,.nb-stars{color:#E8A600!important;letter-spacing:2px;font-size:18px!important}
.nb-site .nb-gcard .nb-stars .elementor-heading-title{font-size:13px!important;letter-spacing:1.5px;line-height:1}
.nb-site .nb-gcard .nb-g-note,.nb-site .nb-gcard .nb-g-note p{margin:0;font-size:12px;line-height:1.3;color:rgba(255,255,255,.8);white-space:nowrap}
.nb-site .nb-hero-rail{border-top:1px solid rgba(255,255,255,.18)}
.nb-site .nb-hero-rail .elementor-icon-list-items{display:grid;grid-template-columns:repeat(4,1fr)}
.nb-site .nb-hero-rail .elementor-icon-list-item{margin:0!important;padding:20px 16px 4px 0;position:relative;cursor:pointer;color:rgba(255,255,255,.55);font:600 15px/1.3 var(--nb-h);letter-spacing:.03em;transition:color .3s}
.nb-site .nb-hero-rail .elementor-icon-list-item::after{display:none}
.nb-site .nb-hero-rail .elementor-icon-list-item::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--nb-gold)}
.nb-site .nb-hero-rail .elementor-icon-list-item.is-on{color:#fff}
.nb-site .nb-hero-rail .elementor-icon-list-item.is-on::before{animation:nb-rail 6s linear forwards}
.nb-site .nb-hero-rail .elementor-icon-list-icon{display:none!important}
.nb-site .nb-hero-rail .elementor-icon-list-text{color:inherit!important}
@keyframes nb-rail{to{width:100%}}
@media (max-width:1024px){.nb-site .nb-hero::after{background:linear-gradient(0deg,rgba(0,12,58,.96) 24%,rgba(0,12,58,.55) 62%,rgba(0,12,58,.25))}}
@media (max-width:767px){.nb-site .nb-hero-rail .elementor-icon-list-items{grid-template-columns:repeat(2,1fr)}.nb-site .nb-hero-rail .elementor-icon-list-item{font-size:13px}.nb-site .nb-gcard{display:none}}

/* ---------- ribbon / marquee ---------- */
.nb-site .nb-ribbon{background:var(--nb-gold);overflow:hidden}
.nb-site .nb-ribbon .nb-ribbon-lbl .elementor-heading-title{font:700 13px/1.2 var(--nb-h);letter-spacing:.22em;text-transform:uppercase;color:var(--nb-navy);white-space:nowrap}
.nb-site .nb-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);min-width:0}
.nb-site .nb-marquee .elementor-icon-list-items{display:flex!important;flex-wrap:nowrap!important;width:max-content;animation:nb-tick 40s linear infinite}
.nb-site .nb-marquee:hover .elementor-icon-list-items{animation-play-state:paused}
.nb-site .nb-marquee .elementor-icon-list-item{margin:0!important;padding:0 26px;font:700 clamp(15px,1.5vw,20px)/1 var(--nb-h);letter-spacing:.12em;text-transform:uppercase;color:var(--nb-navy);white-space:nowrap}
.nb-site .nb-marquee .elementor-icon-list-item::after{display:none}
.nb-site .nb-marquee .elementor-icon-list-icon svg{width:9px!important;height:9px!important;fill:var(--nb-navy);transform:rotate(45deg)}
.nb-site .nb-marquee .elementor-icon-list-text{color:var(--nb-navy)!important}
@keyframes nb-tick{to{transform:translateX(-50%)}}

/* ---------- cards ---------- */
.nb-site .nb-card{background:#fff;border:1px solid var(--nb-line);transition:transform .35s var(--nb-ease),box-shadow .35s}
.nb-site .nb-card:hover{transform:translateY(-4px);box-shadow:0 30px 50px -35px rgba(0,18,84,.45)}
.nb-site .nb-card .elementor-heading-title{color:var(--nb-ink)}
.nb-site .nb-division{position:relative;overflow:hidden;text-decoration:none!important;background:var(--nb-navy);min-height:380px;justify-content:flex-end!important;isolation:isolate}
.nb-site .nb-division>.elementor-widget-image{position:absolute!important;inset:0;margin:0;z-index:-2}
.nb-site .nb-division>.elementor-widget-image img{width:100%;height:100%!important;object-fit:cover;transition:transform .9s var(--nb-ease)}
.nb-site .nb-division:hover>.elementor-widget-image img{transform:scale(1.06)}
.nb-site .nb-division::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,12,58,.96) 12%,rgba(0,12,58,.55) 55%,rgba(0,12,58,.1));transition:background .4s}
.nb-site .nb-division:hover::before{background:linear-gradient(0deg,rgba(0,12,58,.97) 20%,rgba(0,18,84,.7) 70%,rgba(0,18,84,.35))}
.nb-site .nb-division .nb-badge .elementor-heading-title{font:700 12px/1 var(--nb-h);letter-spacing:.22em;color:var(--nb-gold)}
.nb-site .nb-division .nb-dname .elementor-heading-title{font:700 clamp(24px,2.2vw,30px)/1.1 var(--nb-h);color:#fff}
.nb-site .nb-division .nb-dsvc{color:rgba(255,255,255,.78);font-size:14px;line-height:1.6}
.nb-site .nb-division .nb-dsvc p{margin:0}
.nb-site .nb-division .nb-go .elementor-heading-title{font:600 13px/1 var(--nb-h);letter-spacing:.14em;text-transform:uppercase;color:var(--nb-gold);display:inline-flex;gap:8px;align-items:center}
.nb-site .nb-division .nb-go .elementor-heading-title::after{content:"\2192";transition:transform .3s var(--nb-ease)}
.nb-site .nb-division:hover .nb-go .elementor-heading-title::after{transform:translateX(5px)}
.nb-site .nb-division--wide{min-height:440px}
@media (max-width:767px){.nb-site .nb-division{min-height:320px}}

/* icon boxes as feature cards */
.nb-site .nb-feature{height:100%}
.nb-site .nb-feature .elementor-icon-box-wrapper{text-align:left}
.nb-site .nb-feature .elementor-icon-box-icon{margin-bottom:18px!important}
.nb-site .nb-feature .elementor-icon{width:56px;height:56px;display:grid;place-items:center;background:var(--nb-soft);color:var(--nb-navy);font-size:24px;transition:background .3s,color .3s}
.nb-site .nb-feature .elementor-icon svg{width:24px;height:24px;fill:var(--nb-navy);transition:fill .3s}
.nb-site .nb-feature .elementor-icon-box-title{font:700 20px/1.25 var(--nb-h);color:var(--nb-ink);margin:0 0 10px}
.nb-site .nb-feature .elementor-icon-box-title a{color:inherit}
.nb-site .nb-feature .elementor-icon-box-description{font-size:15px;line-height:1.7;color:var(--nb-muted);margin:0}
.nb-site .nb-feature--card{background:#fff;border:1px solid var(--nb-line);padding:34px 30px;transition:background .35s,border-color .35s}
.nb-site .nb-feature--card:hover{border-color:var(--nb-navy)}
.nb-site .nb-feature--card:hover .elementor-icon{background:var(--nb-gold)}
.nb-site .nb-section--dark .nb-feature .elementor-icon-box-title{color:#fff}
.nb-site .nb-section--dark .nb-feature .elementor-icon-box-description{color:rgba(255,255,255,.75)}
.nb-site .nb-section--dark .nb-feature .elementor-icon{background:rgba(255,214,121,.12)}
.nb-site .nb-section--dark .nb-feature .elementor-icon svg{fill:var(--nb-gold)}
.nb-site .nb-section--dark .nb-feature--card{background:rgba(255,255,255,.03);border-color:rgba(255,214,121,.22)}

/* numbered steps (process) */
.nb-site .nb-steps{counter-reset:nbstep;position:relative}
.nb-site .nb-step{position:relative;padding:0 0 0 0}
.nb-site .nb-step .nb-step-n .elementor-heading-title{width:56px;height:56px;border-radius:50%;border:2px solid var(--nb-navy);display:grid;place-items:center;font:700 17px/1 var(--nb-h);color:var(--nb-navy);background:#fff;transition:background .3s,color .3s;position:relative;z-index:1}
.nb-site .nb-step:hover .nb-step-n .elementor-heading-title{background:var(--nb-navy);color:var(--nb-gold)}
.nb-site .nb-step .nb-step-t .elementor-heading-title{font:700 19px/1.25 var(--nb-h);letter-spacing:.02em;color:var(--nb-ink);text-transform:uppercase}
.nb-site .nb-step .nb-body{font-size:15px;line-height:1.7}
.nb-site .nb-steps--line .nb-step::before{content:"";position:absolute;left:56px;right:-24px;top:27px;height:1px;background:repeating-linear-gradient(90deg,var(--nb-gold-dk) 0 6px,transparent 6px 12px);opacity:.45}
.nb-site .nb-steps--line .nb-step:nth-child(4n)::before{display:none}
.nb-site .nb-section--dark .nb-step .nb-step-n .elementor-heading-title{background:transparent;border-color:var(--nb-gold);color:var(--nb-gold)}
.nb-site .nb-section--dark .nb-step .nb-step-t .elementor-heading-title{color:#fff}
@media (max-width:1024px){.nb-site .nb-steps--line .nb-step::before{display:none}}

/* stats (Elementor Counter) */
.nb-site .nb-stats{border-top:1px solid var(--nb-line);border-bottom:1px solid var(--nb-line)}
.nb-site .nb-stat{padding:48px 28px!important;border-left:1px solid var(--nb-line)}
.nb-site .nb-stat:last-child{border-right:1px solid var(--nb-line)}
.nb-site .nb-stat .elementor-counter{flex-direction:column;align-items:flex-start}
.nb-site .nb-stat .elementor-counter-number-wrapper{font:700 clamp(40px,4.6vw,62px)/1 var(--nb-h)!important;color:var(--nb-navy);justify-content:flex-start;letter-spacing:-.02em}
.nb-site .nb-stat .elementor-counter-number-suffix{color:var(--nb-gold-dk);font-size:.55em;align-self:flex-start;margin-left:2px}
.nb-site .nb-stat .elementor-counter-title{font:600 14px/1.4 var(--nb-h);letter-spacing:.1em;text-transform:uppercase;color:var(--nb-ink);margin-top:12px;text-align:left;justify-content:flex-start}
.nb-site .nb-section--dark .nb-stat{border-color:rgba(255,255,255,.14)}
.nb-site .nb-section--dark .nb-stat .elementor-counter-number-wrapper{color:#fff}
.nb-site .nb-section--dark .nb-stat .elementor-counter-number-suffix{color:var(--nb-gold)}
.nb-site .nb-section--dark .nb-stat .elementor-counter-title{color:rgba(255,255,255,.8)}
@media (max-width:1024px){.nb-site .nb-stat{border-bottom:1px solid var(--nb-line)}}
@media (max-width:480px){.nb-site .nb-stat{padding:32px 18px!important}}

/* featured service band: Nano Waterproofing (homepage, background video + navy overlay) */
.nb-site .nb-wp-feature{overflow:hidden}
.nb-site .nb-wp-card{background:rgba(0,12,58,.62);border:1px solid rgba(255,214,121,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.nb-site .nb-wp-card .nb-wp-stat{padding:0 0 22px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
.nb-site .nb-wp-where .elementor-icon-list-items{display:grid;gap:14px}
.nb-site .nb-wp-where .elementor-icon-list-item{align-items:center!important;color:#fff;font-weight:500;line-height:1.4}
.nb-site .nb-wp-where .elementor-icon-list-icon{flex:0 0 38px;height:38px;display:grid!important;place-items:center;background:rgba(255,214,121,.12);margin:0 14px 0 0!important}
.nb-site .nb-wp-where .elementor-icon-list-icon svg{width:16px!important;height:16px!important;fill:var(--nb-gold)}
.nb-site .nb-ticks--2 .elementor-icon-list-items{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
@media (max-width:767px){.nb-site .nb-ticks--2 .elementor-icon-list-items{grid-template-columns:minmax(0,1fr)}}

/* media frames */
.nb-site .nb-frame img{box-shadow:0 40px 80px -30px rgba(0,0,0,.55);outline:1px solid rgba(255,214,121,.35);outline-offset:12px}
.nb-site .nb-cover img{width:100%;height:100%!important;object-fit:cover}
.nb-site .nb-ratio-43 img{aspect-ratio:4/3;object-fit:cover;width:100%}
.nb-site .nb-ratio-45 img{aspect-ratio:4/5;object-fit:cover;width:100%}
.nb-site .nb-ratio-169 img{aspect-ratio:16/9;object-fit:cover;width:100%}
.nb-site .nb-ratio-11 img{aspect-ratio:1;object-fit:cover;width:100%}
.nb-site .nb-badge-box{background:var(--nb-navy);color:#fff;padding:22px 24px!important;box-shadow:0 20px 40px -20px rgba(0,18,84,.6)}
.nb-site .nb-badge-box .nb-big .elementor-heading-title{font:700 46px/1 var(--nb-h);color:var(--nb-gold)}
.nb-site .nb-badge-box .nb-small .elementor-heading-title{font:600 12px/1.35 var(--nb-h);letter-spacing:.1em;text-transform:uppercase;color:#fff}

/* comparison: many contractors vs one team */
.nb-site .nb-vs{border:1px solid var(--nb-line);background:#fff}
.nb-site .nb-vs-col{padding:34px 32px!important}
.nb-site .nb-vs-col+.nb-vs-col{border-left:1px solid var(--nb-line)}
.nb-site .nb-vs-col--nano{background:var(--nb-navy);color:#fff}
.nb-site .nb-vs-col .nb-vs-h .elementor-heading-title{font:700 13px/1.2 var(--nb-h);letter-spacing:.18em;text-transform:uppercase;color:var(--nb-muted)}
.nb-site .nb-vs-col--nano .nb-vs-h .elementor-heading-title{color:var(--nb-gold)}
.nb-site .nb-vs-col .elementor-icon-list-item{font-size:15px;color:var(--nb-muted);align-items:flex-start!important}
.nb-site .nb-vs-col .elementor-icon-list-icon svg{fill:#B42318;width:12px!important;height:12px!important;margin-top:6px}
.nb-site .nb-vs-col--nano .elementor-icon-list-item{color:#fff}
.nb-site .nb-vs-col--nano .elementor-icon-list-icon svg{fill:var(--nb-gold)}
@media (max-width:767px){.nb-site .nb-vs-col+.nb-vs-col{border-left:0;border-top:1px solid var(--nb-line)}}

/* flow: customer journey */
.nb-site .nb-flow .elementor-icon-list-items{display:grid;gap:0}
.nb-site .nb-flow .elementor-icon-list-item{margin:0!important;padding:16px 0 16px 0;border-bottom:1px dashed rgba(0,18,84,.18);font:600 17px/1.35 var(--nb-h);color:var(--nb-ink)}
.nb-site .nb-flow .elementor-icon-list-item:last-child{border-bottom:0}
.nb-site .nb-flow .elementor-icon-list-icon{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--nb-soft);display:grid!important;place-items:center;margin-right:16px!important}
.nb-site .nb-flow .elementor-icon-list-icon svg{fill:var(--nb-navy);width:15px!important;height:15px!important}

/* project cards + horizontal scroller */
.nb-site .nb-scroller{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:24px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(20px,calc((100vw - 1290px)/2)) 10px!important;scroll-padding-inline:max(20px,calc((100vw - 1290px)/2))}
.nb-site .nb-scroller::-webkit-scrollbar{display:none}
.nb-site .nb-pcard{flex:0 0 min(400px,82vw)!important;width:min(400px,82vw)!important;scroll-snap-align:start;text-decoration:none!important;color:#fff;gap:0!important}
.nb-site .nb-pcard .elementor-widget-image{overflow:hidden;position:relative}
.nb-site .nb-pcard img{aspect-ratio:4/3.1;object-fit:cover;width:100%;transition:transform .8s var(--nb-ease)}
.nb-site .nb-pcard:hover img{transform:scale(1.06)}
.nb-site .nb-pcard .nb-pcat .elementor-heading-title{margin-top:20px;font:600 12px/1.4 var(--nb-h);letter-spacing:.16em;text-transform:uppercase;color:var(--nb-gold)}
.nb-site .nb-pcard .nb-ptitle .elementor-heading-title{margin-top:8px;font:700 22px/1.3 var(--nb-h);color:#fff}
.nb-site .nb-section:not(.nb-section--dark):not(.nb-section--deep) .nb-pcard .nb-ptitle .elementor-heading-title{color:var(--nb-ink)}
.nb-site .nb-section:not(.nb-section--dark):not(.nb-section--deep) .nb-pcard .nb-pcat .elementor-heading-title{color:var(--nb-gold-dk)}
.nb-scroll-ui{display:flex;align-items:center;gap:24px;margin-top:36px}
.nb-scroll-ui .nb-bar{flex:1;height:2px;background:rgba(255,255,255,.15);position:relative;overflow:hidden}
.nb-section:not(.nb-section--dark):not(.nb-section--deep) .nb-scroll-ui .nb-bar{background:var(--nb-line)}
.nb-scroll-ui .nb-bar i{position:absolute;inset:0;background:var(--nb-gold);transform-origin:left;transform:scaleX(.2)}
.nb-scroll-ui button{width:52px;height:52px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .25s,border-color .25s,color .25s}
.nb-section:not(.nb-section--dark):not(.nb-section--deep) .nb-scroll-ui button{border-color:var(--nb-line);color:var(--nb-navy)}
.nb-scroll-ui button:hover{background:var(--nb-gold);border-color:var(--nb-gold);color:var(--nb-navy)}
.nb-scroll-ui svg{width:20px;height:20px}

/* quotes */
.nb-site .nb-quote{background:#fff;border:1px solid var(--nb-line);padding:32px 30px!important;transition:transform .35s var(--nb-ease),box-shadow .35s}
.nb-site .nb-quote:hover{transform:translateY(-4px);box-shadow:0 30px 50px -35px rgba(0,18,84,.45)}
.nb-site .nb-quote--ft{border-left:4px solid var(--nb-gold)}
.nb-site .nb-quote .nb-qtext{font-size:16px;line-height:1.7;color:var(--nb-ink)}
.nb-site .nb-quote--ft .nb-qtext{font:600 clamp(19px,1.8vw,23px)/1.5 var(--nb-h);color:var(--nb-navy)}
.nb-site .nb-quote .nb-qtext p{margin:0}
.nb-site .nb-quote .nb-qby .elementor-heading-title{font:600 15px/1.3 var(--nb-h);color:var(--nb-ink)}
.nb-site .nb-quote .nb-qrole{font-size:13px;color:var(--nb-muted)}
.nb-site .nb-quote .nb-qrole p{margin:0}
.nb-site .nb-rating{background:var(--nb-navy);color:#fff;padding:40px 34px!important}
.nb-site .nb-rating .nb-rating-n .elementor-heading-title{font:700 72px/1 var(--nb-h);color:#fff}
.nb-site .nb-rating .nb-body{color:rgba(255,255,255,.78)}

/* CTA band */
.nb-site .nb-cta{position:relative;overflow:hidden;color:#fff}
.nb-site .nb-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,12,58,.95),rgba(0,18,84,.82) 60%,rgba(0,18,84,.55));z-index:0}
.nb-site .nb-cta>.e-con{position:relative;z-index:1}
.nb-site .nb-cta .nb-cta-h .elementor-heading-title{font:700 clamp(32px,4.2vw,54px)/1.1 var(--nb-h);color:#fff}
.nb-site .nb-contact-box{background:#fff;color:var(--nb-ink);padding:34px!important}
.nb-site .nb-contact-box .elementor-icon-list-item{padding:14px 0!important;border-top:1px solid var(--nb-line);margin:0!important}
.nb-site .nb-contact-box .elementor-icon-list-item::after{display:none}
.nb-site .nb-contact-box .elementor-icon-list-icon{width:44px;height:44px;flex:0 0 44px;background:var(--nb-soft);display:grid!important;place-items:center;margin-right:16px!important}
.nb-site .nb-contact-box .elementor-icon-list-icon svg{fill:var(--nb-navy);width:18px!important;height:18px!important}
.nb-site .nb-contact-box .elementor-icon-list-text{font:600 16px/1.35 var(--nb-h);color:var(--nb-ink)}

/* page hero (inner pages) */
.nb-site .nb-page-hero{position:relative;overflow:hidden;color:#fff;background-color:var(--nb-navy-3)}
.nb-site .nb-page-hero::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,12,58,.95) 0%,rgba(0,12,58,.78) 48%,rgba(0,12,58,.35) 100%)}
.nb-site .nb-page-hero>.e-con{position:relative;z-index:1}
.nb-site .nb-page-hero .nb-h1 .elementor-heading-title{font-size:clamp(36px,4.6vw,64px);color:#fff}
.nb-site .nb-page-hero .nb-lead{color:rgba(255,255,255,.85)}
.nb-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px;font:600 13px/1.4 var(--nb-h);letter-spacing:.06em}
.nb-crumbs li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.7)}
.nb-crumbs li+li::before{content:"/";color:var(--nb-gold)}
.nb-crumbs a{color:rgba(255,255,255,.85);text-decoration:none}
.nb-crumbs a:hover{color:var(--nb-gold)}
.nb-crumbs [aria-current]{color:#fff}
.nb-site .nb-division-badge .elementor-heading-title{display:inline-block;padding:10px 16px;border:1px solid var(--nb-gold);font:700 13px/1 var(--nb-h);letter-spacing:.24em;text-transform:uppercase;color:var(--nb-gold)}

/* facts strip */
.nb-site .nb-facts{background:#fff;box-shadow:var(--nb-shadow);border:1px solid var(--nb-line)}
.nb-site .nb-fact{padding:26px 28px!important;border-left:1px solid var(--nb-line)}
.nb-site .nb-fact:first-child{border-left:0}
.nb-site .nb-fact .nb-fact-k .elementor-heading-title{font:600 12px/1.3 var(--nb-h);letter-spacing:.14em;text-transform:uppercase;color:var(--nb-muted)}
.nb-site .nb-fact .nb-fact-v .elementor-heading-title{font:700 22px/1.25 var(--nb-h);color:var(--nb-navy)}
@media (max-width:767px){.nb-site .nb-fact{border-left:0;border-top:1px solid var(--nb-line)}.nb-site .nb-fact:first-child{border-top:0}}

/* ---------- Essential Addons skins ---------- */
/* Image Comparison */
.nb-site .nb-compare .twentytwenty-container,.nb-site .nb-compare .eael-img-comp-container{box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.nb-site .nb-compare .twentytwenty-handle{border-color:var(--nb-gold)!important;background:var(--nb-gold)}
.nb-site .nb-compare .twentytwenty-handle::before,.nb-site .nb-compare .twentytwenty-handle::after{background:var(--nb-gold)!important;box-shadow:none!important}
.nb-site .nb-compare .twentytwenty-left-arrow{border-right-color:var(--nb-navy)!important}
.nb-site .nb-compare .twentytwenty-right-arrow{border-left-color:var(--nb-navy)!important}
.nb-site .nb-compare .twentytwenty-before-label::before,.nb-site .nb-compare .twentytwenty-after-label::before{background:rgba(0,12,58,.85)!important;color:var(--nb-gold)!important;font:700 12px/1 var(--nb-h)!important;letter-spacing:.16em!important;text-transform:uppercase;border-radius:0!important;padding:10px 14px!important;height:auto!important;line-height:1!important}
.nb-site .nb-compare .twentytwenty-overlay:hover{background:rgba(0,0,0,.08)}

/* Advanced Accordion (FAQ) */
.nb-site .nb-faq .eael-accordion-list{border:0;border-bottom:1px solid var(--nb-line);margin:0!important}
.nb-site .nb-faq .eael-accordion-list:first-child{border-top:1px solid var(--nb-line)}
.nb-site .nb-faq .eael-accordion-header{background:transparent!important;padding:24px 4px!important;border:0!important;color:var(--nb-ink)!important;font:600 18px/1.4 var(--nb-h)!important}
.nb-site .nb-faq .eael-accordion-header .eael-accordion-tab-title{font:600 18px/1.4 var(--nb-h)!important;color:var(--nb-ink)!important;margin:0}
.nb-site .nb-faq .eael-accordion-header.active .eael-accordion-tab-title,.nb-site .nb-faq .eael-accordion-header:hover .eael-accordion-tab-title{color:var(--nb-navy)!important}
.nb-site .nb-faq .eael-accordion-header .fa-toggle,.nb-site .nb-faq .eael-accordion-header svg{color:var(--nb-navy)!important;fill:var(--nb-navy)!important;width:16px;height:16px;font-size:16px}
.nb-site .nb-faq .eael-accordion-content{border:0!important;background:transparent!important;padding:0 40px 26px 4px!important;color:var(--nb-muted)!important;font-size:16px;line-height:1.75}
.nb-site .nb-faq .eael-accordion-content p:last-child{margin:0}

/* Filterable Gallery (projects) */
.nb-site .nb-fg .eael-filter-gallery-control ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin:0 0 40px!important;padding:0!important}
.nb-site .nb-fg .eael-filter-gallery-control ul li{margin:0!important;padding:12px 18px!important;border:1px solid var(--nb-line)!important;border-radius:0!important;background:#fff!important;color:var(--nb-navy)!important;font:600 13px/1 var(--nb-h)!important;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.nb-site .nb-fg .eael-filter-gallery-control ul li:hover{border-color:var(--nb-navy)!important}
.nb-site .nb-fg .eael-filter-gallery-control ul li.active{background:var(--nb-navy)!important;border-color:var(--nb-navy)!important;color:#fff!important}
.nb-site .nb-fg .eael-filterable-gallery-item-wrap .eael-gallery-grid-item{border-radius:0!important;background:#fff;border:1px solid var(--nb-line)}
.nb-site .nb-fg .gallery-item-thumbnail-wrap img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .8s var(--nb-ease)}
.nb-site .nb-fg .eael-gallery-grid-item:hover .gallery-item-thumbnail-wrap img{transform:scale(1.05)}
.nb-site .nb-fg .gallery-item-caption-wrap.caption-style-card{padding:22px 22px 26px!important;background:#fff!important;text-align:left}
.nb-site .nb-fg .fg-item-title{font:700 20px/1.3 var(--nb-h)!important;color:var(--nb-ink)!important;margin:0 0 8px!important}
.nb-site .nb-fg .fg-item-content,.nb-site .nb-fg .fg-item-content p{font-size:14px!important;line-height:1.6!important;color:var(--nb-muted)!important;margin:0}
.nb-site .nb-fg .fg-item-content .nb-fg-cat{display:block;font:600 11px/1.4 var(--nb-h);letter-spacing:.16em;text-transform:uppercase;color:var(--nb-gold-dk);margin-bottom:8px}
.nb-site .nb-fg .gallery-item-buttons>a{background:var(--nb-gold)!important;color:var(--nb-navy)!important;border-radius:0!important}
.nb-site .nb-fg .eael-gallery-load-more{background:var(--nb-navy)!important;border-radius:0!important;font:600 14px var(--nb-h)!important;letter-spacing:.1em;text-transform:uppercase;padding:16px 26px!important}

/* Logo Carousel (suppliers) */
.nb-site .nb-logos .eael-lc-logo-wrap,.nb-site .nb-logos .eael-lc-logo{background:#fff;border:1px solid var(--nb-line);height:110px;display:grid;place-items:center;padding:18px 26px}
.nb-site .nb-logos img{max-height:56px;width:auto!important;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.nb-site .nb-logos .swiper-slide:hover img{filter:none;opacity:1}

/* Pricing tables (packages) */
.nb-site .nb-price .eael-pricing{height:100%}
.nb-site .nb-price .eael-pricing-item{height:100%;border:1px solid var(--nb-line)!important;border-radius:0!important;box-shadow:none!important;padding:36px 30px!important;text-align:left!important;display:flex;flex-direction:column;background:#fff!important;transition:transform .35s var(--nb-ease),box-shadow .35s}
.nb-site .nb-price .eael-pricing-item:hover{transform:translateY(-4px);box-shadow:0 30px 50px -35px rgba(0,18,84,.45)!important}
.nb-site .nb-price .eael-pricing-item .header .title{font:700 13px/1.2 var(--nb-h)!important;letter-spacing:.2em;text-transform:uppercase;color:var(--nb-gold-dk)!important;margin:0 0 10px!important}
.nb-site .nb-price .eael-pricing-item .header .subititle,.nb-site .nb-price .eael-pricing-item .header .subtitle{font:700 24px/1.25 var(--nb-h)!important;color:var(--nb-ink)!important;text-transform:none!important;letter-spacing:0!important}
.nb-site .nb-price .eael-pricing-item .eael-pricing-tag{margin:18px 0 6px!important;padding:0!important;border:0!important;text-align:left!important}
.nb-site .nb-price .eael-pricing-item .price-tag{font:700 20px/1.3 var(--nb-h)!important;color:var(--nb-navy)!important}
.nb-site .nb-price .eael-pricing-item .price-period{font-size:14px!important;color:var(--nb-muted)!important}
.nb-site .nb-price .eael-pricing-item .body ul{padding:18px 0 0!important;margin:18px 0 26px!important;border-top:1px solid var(--nb-line);text-align:left}
.nb-site .nb-price .eael-pricing-item .body ul li{border:0!important;padding:7px 0!important;font-size:15px!important;line-height:1.55!important;color:var(--nb-ink)!important;display:flex;gap:10px;align-items:flex-start}
.nb-site .nb-price .eael-pricing-item .body ul li .li-icon{color:var(--nb-navy)!important;flex:0 0 16px;margin-top:3px}
.nb-site .nb-price .eael-pricing-item .body ul li .li-icon svg{fill:var(--nb-navy)!important;width:14px;height:14px}
.nb-site .nb-price .eael-pricing-item .footer{margin-top:auto;text-align:left!important}
.nb-site .nb-price .eael-pricing-button{display:inline-flex!important;width:100%;justify-content:center;background:var(--nb-navy)!important;color:#fff!important;border-radius:0!important;font:600 14px/1 var(--nb-h)!important;letter-spacing:.1em;text-transform:uppercase;padding:17px 22px!important;border:0!important}
.nb-site .nb-price .eael-pricing-button:hover{background:var(--nb-navy-2)!important}
.nb-site .nb-price--ft .eael-pricing-item{border:2px solid var(--nb-navy)!important;position:relative}
.nb-site .nb-price--ft .eael-pricing-button{background:var(--nb-gold)!important;color:var(--nb-navy)!important}
.nb-site .nb-price .eael-pricing-item .ribbon-inner,.nb-site .nb-price .eael-pricing-item [class*=ribbon]{background:var(--nb-gold)!important;color:var(--nb-navy)!important;font:700 11px/1 var(--nb-h)!important;letter-spacing:.14em}

/* Elementor Pro Form */
.nb-site .nb-form .elementor-field-label{font:600 14px/1.3 var(--nb-h);color:var(--nb-ink);margin-bottom:8px}
.nb-site .nb-form .elementor-field-textual,.nb-site .nb-form select.elementor-field{border:1px solid #C9CDD4!important;border-radius:0!important;background:#fff!important;min-height:50px;font:400 16px var(--nb-b)!important;color:var(--nb-ink)!important;padding:12px 14px!important}
.nb-site .nb-form .elementor-field-textual:focus,.nb-site .nb-form select.elementor-field:focus{border-color:var(--nb-navy)!important;box-shadow:0 0 0 3px rgba(0,18,84,.12)!important;outline:0}
.nb-site .nb-form .elementor-field-type-radio .elementor-field-subgroup,.nb-site .nb-form .elementor-field-type-checkbox .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:10px}
.nb-site .nb-form .elementor-field-option{margin:0!important}
.nb-site .nb-form .elementor-field-option label{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--nb-line);cursor:pointer;font-size:14px;color:var(--nb-ink)}
.nb-site .nb-form .elementor-field-option input:checked+label{border-color:var(--nb-navy);background:var(--nb-soft)}
.nb-site .nb-form .elementor-mark-required .elementor-field-label::after{color:#B42318}
.nb-site .nb-form .elementor-button{background:var(--nb-navy)!important;border-radius:0!important;font:600 14px/1 var(--nb-h)!important;letter-spacing:.1em;text-transform:uppercase;padding:18px 30px!important;min-height:52px}
.nb-site .nb-form .elementor-button:hover{background:var(--nb-navy-2)!important}
.nb-site .nb-form .elementor-message{font:600 15px var(--nb-h);padding:14px 16px;margin-top:16px}
.nb-site .nb-form .elementor-message-success{background:#ECFDF3;color:#05603A}
.nb-site .nb-form .elementor-message-danger{background:#FEF3F2;color:#B42318}
.nb-site .nb-formcard{background:#fff;border:1px solid var(--nb-line);box-shadow:var(--nb-shadow);padding:44px 40px!important}
@media (max-width:767px){.nb-site .nb-formcard{padding:28px 20px!important}}

/* nested tabs (packages) */
.nb-site .nb-tabs .e-n-tabs-heading{gap:8px;flex-wrap:wrap;justify-content:flex-start}
.nb-site .nb-tabs .e-n-tab-title{border:1px solid var(--nb-line)!important;border-radius:0!important;background:#fff!important;padding:14px 18px!important;font:600 13px/1 var(--nb-h)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--nb-navy)!important}
.nb-site .nb-tabs .e-n-tab-title[aria-selected=true]{background:var(--nb-navy)!important;border-color:var(--nb-navy)!important;color:#fff!important}
.nb-site .nb-tabs .e-n-tab-title:hover{border-color:var(--nb-navy)!important}
.nb-site .nb-tabs .e-n-tabs-content>.e-con{border:0!important;padding:40px 0 0!important}

/* reveal on scroll (added by nano.js) */
.nb-js .nb-rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--nb-ease),transform .7s var(--nb-ease)}
.nb-js .nb-rv.in{opacity:1;transform:none}
.elementor-editor-active .nb-rv,.elementor-editor-preview .nb-rv{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
  .nb-js .nb-rv{opacity:1;transform:none;transition:none}
  .nb-site .nb-marquee .elementor-icon-list-items{animation:none}
  .nb-site .nb-slides img{transition:none;transform:none}
  .nb-site .nb-hero-rail .elementor-icon-list-item.is-on::before{animation:none;width:100%}
  .nb-site *{scroll-behavior:auto!important}
}

/* ---------- fixes after first render ---------- */
.nb-site .nb-hero .nb-eyebrow .elementor-heading-title,.nb-site .nb-page-hero .nb-eyebrow .elementor-heading-title{color:var(--nb-gold)}
.nb-site .nb-ribbon-lbl{flex:0 0 auto!important;width:auto!important}
.nb-site .nb-ribbon .nb-marquee{flex:1 1 0%!important;min-width:0;width:auto!important}
.nb-site .nb-head{flex-wrap:wrap}
.nb-site .nb-head>.elementor-element{flex:1 1 420px;width:auto!important;max-width:100%}
.nb-site .nb-head>.elementor-widget-button{flex:0 0 auto}
.nb-site .nb-head>.elementor-widget-text-editor{flex:0 1 520px}
/* on phones the heading row becomes a column, where those flex-basis widths would turn into tall empty heights */
@media (max-width:767px){.nb-site .nb-head>.elementor-element,.nb-site .nb-head>.elementor-widget-text-editor{flex:0 0 auto}}
/* stacked on phones, a section head stays left-aligned (on desktop its link/lead sits bottom-right) */
@media (max-width:767px){.nb-site .nb-head{align-items:stretch!important}}
/* the projects scroller section has no side padding (cards run edge to edge): its heading and arrows line up with the first card */
@media (max-width:1329px){.nb-site .nb-wrap:has(+ .nb-scroller),.nb-site .nb-scroll-ui{padding-inline:20px}}
.nb-site .nb-stat .elementor-counter-number-wrapper{order:0}
.nb-site .nb-stat .elementor-counter-title{order:1}
.nb-site .nb-stats-band .nb-wrap{border-right:0}
.nb-site .nb-stage .elementor-heading-title{font:600 12px/1.3 var(--nb-h);letter-spacing:.16em;text-transform:uppercase;color:var(--nb-gold)}
.nb-site .nb-on-dark .nb-body,.nb-site .nb-on-dark .nb-body p{color:rgba(255,255,255,.78)}
.nb-site .nb-on-dark .elementor-heading-title{color:#fff}
.nb-site .nb-pkg-cta .nb-btn .elementor-button{width:100%;justify-content:center}
.nb-site .nb-compare .eael-img-comp-container,.nb-site .nb-compare .twentytwenty-container{width:100%!important;max-width:100%!important}
.nb-site .nb-caption,.nb-site .nb-caption p{font-size:14px!important;color:rgba(255,255,255,.7)!important;margin:0}
.nb-site .nb-division--cta{background:var(--nb-navy-2)!important}
.nb-site .nb-division--cta::before{display:none}
.nb-site .nb-why-media{position:relative}
.nb-site .nb-float{position:absolute!important;left:-24px;bottom:40px;width:auto!important}
@media (min-width:768px){.nb-site .nb-span2{grid-column:span 2}}
@media (max-width:767px){.nb-site .nb-float{left:12px;bottom:12px}}
/* ---------- division & services pages ---------- */
.nb-site .nb-ticks--2col .elementor-icon-list-items{grid-template-columns:1fr 1fr;gap:12px 24px}
@media (max-width:480px){.nb-site .nb-ticks--2col .elementor-icon-list-items{grid-template-columns:1fr}}
.nb-site .nb-drow+.nb-drow{border-top:1px solid var(--nb-line);padding-top:96px!important}
.nb-site .nb-frame-lite img{box-shadow:0 40px 80px -50px rgba(0,18,84,.55)}
.nb-site .nb-gtile{overflow:hidden}
.nb-site .nb-gtile img{transition:transform .8s var(--nb-ease)}
.nb-site .nb-gtile a:hover img{transform:scale(1.05)}
.nb-site .nb-map-tile{background:#fff;border:1px solid var(--nb-line);text-decoration:none!important;transition:border-color .3s,transform .3s var(--nb-ease)}
.nb-site .nb-map-tile:hover{border-color:var(--nb-navy);transform:translateY(-3px)}
.nb-site .nb-map-tile .nb-old .elementor-heading-title{font:700 18px/1.3 var(--nb-h);color:var(--nb-ink)}
.nb-site .nb-map-tile .nb-new .elementor-heading-title{font:600 13px/1.4 var(--nb-h);letter-spacing:.06em;color:var(--nb-gold-dk);display:inline-flex;gap:6px}
.nb-site .nb-map-tile .nb-new .elementor-heading-title::after{content:"\2192"}
.nb-site .nb-other.nb-feature--card{padding:24px 24px!important}
.nb-site .nb-other .elementor-icon-box-wrapper{display:flex!important;align-items:center;gap:16px;text-align:left}
.nb-site .nb-other .elementor-icon-box-icon{margin:0!important}
.nb-site .nb-other .elementor-icon{width:48px;height:48px}
.nb-site .nb-other .elementor-icon-box-title{font-size:18px;margin:0 0 2px}
.nb-site .nb-other .elementor-icon-box-description{font-size:14px}
.nb-site .nb-related .nb-pcard{flex:initial!important;width:auto!important}
.nb-site .nb-related .nb-pcard .nb-ptitle .elementor-heading-title{color:var(--nb-ink)}
.nb-site .nb-pkg .elementor-icon-box-description{font-size:14px}
@media (max-width:767px){.nb-site .nb-drow+.nb-drow{padding-top:64px!important}.nb-site .nb-row-rev{flex-direction:column-reverse!important}}
/* consecutive sections with the same background: no doubled padding */
.nb-bg-white+.nb-bg-white,.nb-bg-soft+.nb-bg-soft,.nb-bg-sand+.nb-bg-sand,.nb-bg-dark+.nb-bg-dark{padding-top:0!important}
.nb-site .nb-lead{max-width:640px!important}
.nb-site .nb-page-hero .nb-lead,.nb-site .nb-hero .nb-lead{max-width:760px!important}
.nb-site .nb-center.nb-lead{margin-inline:auto}
/* EA pricing (style-2) skin */
.nb-site .nb-price .eael-pricing.style-2 .eael-pricing-item{padding:0!important;overflow:hidden}
.nb-site .nb-price .eael-pricing.style-2 .eael-pricing-item .header{background:#fff!important;padding:30px 28px 6px!important;text-align:left!important}
.nb-site .nb-price .eael-pricing.style-2 .eael-pricing-icon{margin:0 0 16px!important;text-align:left}
.nb-site .nb-price .eael-pricing.style-2 .eael-pricing-icon .icon{width:52px!important;height:52px!important;line-height:52px!important;border-radius:0!important;background:var(--nb-soft)!important;display:inline-grid!important;place-items:center}
.nb-site .nb-price .eael-pricing.style-2 .eael-pricing-icon .icon svg{width:22px;height:22px;fill:var(--nb-navy)}
.nb-site .nb-price--ft .eael-pricing.style-2 .eael-pricing-icon .icon{background:var(--nb-gold)!important}
.nb-site .nb-price .eael-pricing-item .header .title{font-size:14px!important}
.nb-site .nb-price .eael-pricing-item .header .subtitle{display:block;margin-top:6px!important;font:700 19px/1.35 var(--nb-h)!important;color:var(--nb-ink)!important;text-transform:none!important;letter-spacing:0!important}
.nb-site .nb-price .eael-pricing-item .eael-pricing-tag{display:none!important}
.nb-site .nb-price .eael-pricing-item .body{padding:0 28px!important}
.nb-site .nb-price .eael-pricing-item .body ul{margin:16px 0 22px!important;padding-top:16px!important}
.nb-site .nb-price .eael-pricing-item .body ul li{justify-content:flex-start!important;text-align:left!important}
.nb-site .nb-price .eael-pricing-item .body ul li .li-icon{width:16px!important;height:16px!important;margin:4px 0 0!important}
.nb-site .nb-price .eael-pricing-item .body ul li .li-icon svg{width:14px!important;height:14px!important}
.nb-site .nb-price .eael-pricing-item .footer{padding:0 28px 28px!important}
.nb-site .nb-price .eael-pricing-item.featured::before{background:var(--nb-gold)!important;color:var(--nb-navy)!important;font:700 11px/1 var(--nb-h)!important;letter-spacing:.14em;text-transform:uppercase;box-shadow:none!important}
/* ---------- projects, case studies, contact ---------- */
.nb-site .nb-mini-h .elementor-heading-title{font:700 12px/1.3 var(--nb-h);letter-spacing:.18em;text-transform:uppercase;color:var(--nb-muted)}
.nb-site .nb-section--dark .nb-mini-h .elementor-heading-title{color:rgba(255,255,255,.7)}
.nb-site .nb-facts-band{position:relative;z-index:2;margin-top:-1px}
.nb-site .nb-facts--lift{box-shadow:var(--nb-shadow)}
.nb-site .nb-scope-box{background:#fff;border:1px solid var(--nb-line);padding:34px 32px!important}
.nb-site .nb-scope-pair .nb-h3 .elementor-heading-title{color:#fff}
.nb-site .nb-fg .eael-filter-gallery-wrapper,.nb-site .nb-fg .eael-filter-gallery-container{background:transparent!important;padding:0!important}
.nb-site .nb-fg .eael-filterable-gallery-item-wrap{padding:10px!important}
.nb-site .nb-fg .eael-filter-gallery-container{margin:0 -10px}
.nb-site .nb-price .eael-pricing.style-2 .eael-pricing-icon{display:flex!important;justify-content:flex-start!important}
.nb-site .nb-price .eael-pricing-item.featured::before{top:24px!important;right:24px!important;left:auto!important;transform:none!important;width:auto!important;height:auto!important;padding:8px 10px!important;line-height:1!important;position:absolute}
.nb-site .nb-price .eael-pricing-item.featured::after{display:none!important}
.nb-site .nb-contact-cards{position:relative;z-index:2;margin-top:-60px}
.nb-site .nb-contact-card{box-shadow:var(--nb-shadow)}
.nb-site .nb-contact-card .elementor-icon-box-description{font:600 16px/1.35 var(--nb-h)!important;color:var(--nb-navy)!important}
.nb-site .nb-contact-card .elementor-icon-box-title{font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--nb-muted)!important}
.nb-site .nb-hours .elementor-icon-list-item{font-size:15px;color:var(--nb-ink)}
.nb-site .nb-hours .elementor-icon-list-icon svg{fill:var(--nb-gold-dk)}
.nb-site .nb-map iframe{display:block;filter:grayscale(.2);border:1px solid var(--nb-line)!important}
@media (max-width:767px){.nb-site .nb-contact-cards{margin-top:-30px}}.nb-site .nb-form .elementor-field-option{position:relative}
.nb-site .nb-form .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px}
.nb-site .nb-form .elementor-field-option input:focus-visible+label{outline:2px solid var(--nb-gold);outline-offset:2px}
.nb-site .nb-form .elementor-field-option input:checked+label{border-color:var(--nb-navy);background:var(--nb-navy);color:#fff}
.nb-site .nb-form .elementor-field-option label::before{content:"";width:14px;height:14px;border:1.5px solid currentColor;border-radius:50%;flex:0 0 14px;opacity:.6}
.nb-site .nb-form .elementor-field-option input:checked+label::before{background:var(--nb-gold);border-color:var(--nb-gold);opacity:1}
/* About Us closing band (kept live content): its heading class has no colour rule, so it fell back to dark text on navy */
.nb-site .nbz .nbz-title{color:#fff;margin:6px 0 14px}
/* kept pages: the theme container used to provide side padding */
@media (max-width:767px){.nb-site .nbg{padding-left:16px;padding-right:16px}}

.nb-site .nb-404 .elementor-heading-title{font:700 clamp(90px,14vw,180px)/.9 var(--nb-h);color:var(--nb-gold);letter-spacing:-.03em}
.nb-site .nb-404-hero::before{background:radial-gradient(circle at 85% 20%,rgba(255,214,121,.16),transparent 45%)!important}
/* theme templates not built with Elementor (blog, search, archives): the old theme header used to open their page container */
.nb-site .reactheme-blog>.row{max-width:1320px;margin:0 auto;padding:80px 0}

/* ---------- instant quote (/instant-quote/): calculator .nbq, price list .nbp, links .nb-iq-call ---------- */
.nb-site .nbq{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start;text-align:left}
.nb-site .nbq-main{background:#fff;border:1px solid var(--nb-line);box-shadow:var(--nb-shadow);padding:40px}
.nb-site .nbq-step{border:0;margin:0 0 36px;padding:0;min-width:0}
.nb-site .nbq-step:last-child{margin-bottom:0}
.nb-site .nbq-step legend{display:flex;align-items:center;gap:14px;font:700 22px/1.2 var(--nb-h);color:var(--nb-ink);margin:0 0 18px;padding:0}
.nb-site .nbq-step legend span{flex:0 0 38px;height:38px;border-radius:50%;border:2px solid var(--nb-navy);display:grid;place-items:center;font:700 15px/1 var(--nb-h);color:var(--nb-navy)}
.nb-site .nbq-svcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nb-site .nbq-svc{position:relative;display:block;cursor:pointer;margin:0}
.nb-site .nbq-svc input,.nb-site .nbq-pill input,.nb-site .nbq-unit input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.nb-site .nbq-svc-in{display:block;height:100%;border:1px solid var(--nb-line);padding:16px 44px 16px 20px;background:#fff;position:relative;transition:border-color .2s,box-shadow .2s,background .2s}
.nb-site .nbq-svc-in em{display:block;font:600 11px/1.2 var(--nb-h);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--nb-gold-dk);margin-bottom:6px}
.nb-site .nbq-svc-in b{display:block;font:700 17px/1.25 var(--nb-h);color:var(--nb-ink)}
.nb-site .nbq-svc-in i{display:block;font-style:normal;font-size:14px;line-height:1.4;color:var(--nb-muted);margin-top:4px}
.nb-site .nbq-svc:hover .nbq-svc-in{border-color:var(--nb-navy)}
.nb-site .nbq-svc input:checked+.nbq-svc-in{border-color:var(--nb-navy);box-shadow:inset 4px 0 0 var(--nb-gold),0 0 0 1px var(--nb-navy);background:#FBFCFF}
.nb-site .nbq-svc input:checked+.nbq-svc-in::after{content:"";position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;background:var(--nb-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD679' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}
.nb-site .nbq-svc input:focus-visible+.nbq-svc-in,.nb-site .nbq-pill input:focus-visible+span,.nb-site .nbq-unit input:focus-visible+span{outline:2px solid var(--nb-gold);outline-offset:2px}
.nb-site .nbq-svc-detail{font-size:15px;line-height:1.6;color:var(--nb-muted);margin:-4px 0 20px}
.nb-site .nbq-field{margin:0 0 22px}
.nb-site .nbq-field:last-child{margin-bottom:0}
.nb-site .nbq-label{display:block;font:600 13px/1.2 var(--nb-h);letter-spacing:.16em;text-transform:uppercase;color:var(--nb-navy);margin:0 0 10px}
.nb-site .nbq-pills{display:flex;flex-wrap:wrap;gap:10px}
.nb-site .nbq-pill{position:relative;cursor:pointer;margin:0}
.nb-site .nbq-pill span{display:flex;flex-direction:column;gap:3px;border:1px solid var(--nb-line);padding:11px 16px;background:#fff;transition:background .2s,border-color .2s}
.nb-site .nbq-pill b{font:700 15px/1.2 var(--nb-h);color:var(--nb-ink)}
.nb-site .nbq-pill i{font-style:normal;font-size:13px;line-height:1.3;color:var(--nb-muted)}
.nb-site .nbq-pill:hover span{border-color:var(--nb-navy)}
.nb-site .nbq-pill input:checked+span{background:var(--nb-navy);border-color:var(--nb-navy)}
.nb-site .nbq-pill input:checked+span b{color:#fff}
.nb-site .nbq-pill input:checked+span i{color:var(--nb-gold)}
.nb-site .nbq-area{display:flex;gap:10px;align-items:stretch;max-width:440px}
.nb-site .nbq-area input[type=number]{flex:1;min-width:0;height:58px;border:1px solid #CFD3DA;border-radius:0;padding:0 18px;font:700 22px/1 var(--nb-h);color:var(--nb-ink);background:#fff;box-shadow:none}
.nb-site .nbq-area input[type=number]:focus{outline:2px solid var(--nb-gold);outline-offset:0;border-color:var(--nb-navy)}
.nb-site .nbq-unit{display:flex;border:1px solid #CFD3DA;background:#fff}
.nb-site .nbq-unit label{position:relative;cursor:pointer;margin:0}
.nb-site .nbq-unit span{display:grid;place-items:center;height:100%;min-width:64px;padding:0 14px;font:600 15px/1 var(--nb-h);color:var(--nb-muted);transition:background .2s,color .2s}
.nb-site .nbq-unit input:checked+span{background:var(--nb-navy);color:#fff}
.nb-site .nbq-hint{min-height:1.4em;font-size:14px;color:var(--nb-muted);margin:8px 0 0}
.nb-site .nbq-note{background:var(--nb-sand);padding:16px 18px;font-size:15px;line-height:1.6;color:var(--nb-ink);margin:0}
.nb-site .nbq-out{position:sticky;top:110px;background:var(--nb-navy);color:#fff;padding:34px 32px 32px;box-shadow:var(--nb-shadow)}
.nb-site .nbq-out-div{font:600 12px/1.2 var(--nb-h);letter-spacing:.18em;text-transform:uppercase;color:var(--nb-gold);margin:0 0 6px}
.nb-site .nbq-out-name{font:700 23px/1.25 var(--nb-h);color:#fff;margin:0 0 24px}
.nb-site .nbq-out-tag{font:600 12px/1 var(--nb-h);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.66);margin:0 0 10px}
.nb-site .nbq-out-big{font:700 54px/1 var(--nb-h);letter-spacing:-.02em;color:#fff;margin:0 0 20px}
.nb-site .nbq-out-big small{font-size:20px;font-weight:600;letter-spacing:0;color:var(--nb-gold);margin-right:2px}
.nb-site .nbq-out-big--sm{font-size:30px;line-height:1.15}
.nb-site .nbq-out-lines,.nb-site .nbq-out-notes{list-style:none;margin:0 0 16px;padding:0}
.nb-site .nbq-out-lines{border-top:1px solid rgba(255,255,255,.16)}
.nb-site .nbq-out-lines li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:15px;color:rgba(255,255,255,.9)}
.nb-site .nbq-tiers{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px}
.nb-site .nbq-tiers caption{caption-side:top;text-align:left;font:600 11px/1 var(--nb-h);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);padding:0 0 8px}
.nb-site .nbq-tiers td{padding:7px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.72);background:none}
.nb-site .nbq-tiers td:last-child{text-align:right;font:600 14px/1.3 var(--nb-h)}
.nb-site .nbq-tiers tr.is-on td{background:rgba(255,214,121,.15);color:#fff}
.nb-site .nbq-tiers tr.is-on td:first-child{box-shadow:inset 3px 0 0 var(--nb-gold)}
.nb-site .nbq-out-notes li{position:relative;padding-left:24px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.86);margin:0 0 6px}
.nb-site .nbq-out-notes li::before{content:"i";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:var(--nb-gold);color:var(--nb-navy);font:700 11px/15px var(--nb-h);text-align:center}
.nb-site .nbq-out-text{font-size:15px;line-height:1.6;color:rgba(255,255,255,.86);margin:0 0 18px}
.nb-site .nbq-out-fine{font-size:13px;line-height:1.6;color:rgba(255,255,255,.62);margin:0 0 20px}
.nb-site .nbq-out-btns{display:grid;gap:10px}
.nb-site .nbq-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 20px;font:600 14px/1.15 var(--nb-h);letter-spacing:.1em;text-transform:uppercase;text-align:center;text-decoration:none;transition:background .25s,color .25s}
.nb-site .nbq-btn--gold{background:var(--nb-gold);color:var(--nb-navy)}
.nb-site .nbq-btn--gold:hover,.nb-site .nbq-btn--gold:focus-visible{background:#fff;color:var(--nb-navy)}
.nb-site .nbq-btn--wa{background:#25D366;color:#06381B}
.nb-site .nbq-btn--wa:hover,.nb-site .nbq-btn--wa:focus-visible{background:#1EBE5B;color:#06381B}
@media (max-width:1024px){.nb-site .nbq{grid-template-columns:minmax(0,1fr)}.nb-site .nbq-out{position:static}}
@media (max-width:767px){.nb-site .nbq-main{padding:24px 18px}.nb-site .nbq-out{padding:28px 20px}.nb-site .nbq-out-big{font-size:44px}.nb-site .nbq-step legend{font-size:20px}}
@media (max-width:560px){.nb-site .nbq-svcs{gap:8px}.nb-site .nbq-svc-in{padding:12px 28px 12px 12px}.nb-site .nbq-svc-in em{display:none}
  .nb-site .nbq-svc-in b{font-size:15px}.nb-site .nbq-svc-in i{font-size:12.5px}.nb-site .nbq-area{max-width:none}
  .nb-site .nbq-svc input:checked+.nbq-svc-in::after{top:9px;right:8px;width:18px;height:18px;background-size:11px}}
.nb-site .nbp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}
.nb-site .nbp-card{background:#fff;border:1px solid var(--nb-line);border-top:3px solid var(--nb-navy);padding:26px 26px 22px;display:flex;flex-direction:column}
.nb-site .nbp-card em{font:600 11px/1.2 var(--nb-h);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--nb-gold-dk)}
.nb-site .nbp-card h3{font:700 21px/1.25 var(--nb-h);color:var(--nb-ink);margin:8px 0 6px}
.nb-site .nbp-card>p{font-size:14px;line-height:1.6;color:var(--nb-muted);margin:0 0 16px}
.nb-site .nbp-card table{width:100%;border-collapse:collapse;margin:0;font-size:15px}
.nb-site .nbp-card td{padding:9px 0;border:0;border-top:1px solid var(--nb-line);vertical-align:top;background:none;color:var(--nb-ink)}
.nb-site .nbp-card td:last-child{text-align:right;font:600 15px/1.35 var(--nb-h);color:var(--nb-navy);white-space:nowrap;padding-left:12px}
.nb-site .nbp-card .nbp-min{font-size:13px;color:var(--nb-muted);margin:10px 0 0}
.nb-site .nbp-go{margin-top:auto;padding-top:18px;align-self:flex-start;font:600 13px/1 var(--nb-h);letter-spacing:.12em;text-transform:uppercase;color:var(--nb-navy);border-bottom:2px solid var(--nb-gold);padding-bottom:6px;text-decoration:none}
.nb-site .nbp-go::after{content:" \2192"}
@media (max-width:1024px){.nb-site .nbp{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.nb-site .nbp{grid-template-columns:minmax(0,1fr)}}
/* desktop menu: no Instant Quote item (the seven items fill the bar); desktop visitors get the floating bubble */
@media (min-width:1025px){.nb-site .nb-nav .elementor-nav-menu--main .nb-menu-iq{display:none}}
/* "Get an instant estimate in 2 minutes" link under the division page banner buttons (iq_link in parts.py) */
.nb-site .nb-iq-link{display:inline-flex;align-items:center;gap:9px;color:var(--nb-gold);font:600 15px/1.3 var(--nb-h);letter-spacing:.02em;text-decoration:none;padding-bottom:5px;border-bottom:1px solid rgba(255,214,121,.45);transition:border-color .2s,gap .2s}
.nb-site .nb-iq-link:hover,.nb-site .nb-iq-link:focus-visible{color:var(--nb-gold);border-bottom-color:var(--nb-gold);gap:12px}
.nb-site .nb-iq-link svg{width:16px;height:16px;flex:0 0 auto}
.nb-site .nb-iq-call{background:var(--nb-sand);border-left:4px solid var(--nb-gold)}
.nb-site .nb-iq-call .nb-iq-h .elementor-heading-title{font:700 19px/1.3 var(--nb-h);color:var(--nb-ink)}
.nb-site .nb-iq-call .nb-iq-t{font-size:15px;line-height:1.6;color:var(--nb-muted)}
.nb-site .nb-iq-call .nb-iq-t p{margin:0}

/* ---------- header fluidity: foldables (Galaxy Z Fold cover and inner screens), dual-screen phones (Surface Duo)
   and the in-between widths. Sizes ease with the viewport instead of jumping at the breakpoints. ---------- */
.nb-site{--nb-hdr-h:clamp(62px,3.2vw + 50px,84px);--nb-tog:clamp(40px,.8vw + 37.6px,46px)}
.nb-site .nb-header .nb-mainbar>.nb-wrap{--min-height:var(--nb-hdr-h);min-height:var(--nb-hdr-h)!important}
.nb-site .nb-mainbar .nb-logo img{height:clamp(36px,1.6vw + 31px,50px)}
.nb-site .nb-mainbar .nb-logo .elementor-heading-title{font-size:clamp(13px,.45vw + 11.6px,17px)}
.nb-site .nb-nav .elementor-menu-toggle{width:var(--nb-tog);height:var(--nb-tog)}
/* the open menu hangs exactly from the bottom of the header bar (the button is centred in the bar) */
.nb-site .nb-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{top:calc((var(--nb-hdr-h) + var(--nb-tog)) / 2)!important;margin-top:0!important}
/* the open phone/tablet menu never runs past the bottom of the screen (short foldable and dual-screen displays): it scrolls instead */
/* phone/tablet menu drawer (redesigned 4 October 2026): fills the screen under the header bar and scrolls when its content
   is taller; opens with a smooth top-down reveal instead of Elementor's squash (scaleY), items fade in one after another,
   social links in one line at the bottom (added by nano.js from the footer's links). While it's open the page behind
   doesn't scroll and the floating WhatsApp button steps aside. */
.nb-site .nb-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{flex-direction:column;height:calc(100vh - var(--nb-hdr-h));height:calc(100dvh - var(--nb-hdr-h));max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;transform:none!important;clip-path:inset(0 0 100% 0);visibility:hidden;box-shadow:none!important;transition:clip-path .45s var(--nb-ease),visibility 0s linear .45s!important}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav.elementor-nav-menu__container{clip-path:inset(0);visibility:visible;transition:clip-path .45s var(--nb-ease),visibility 0s!important}
/* phones and tablets: pinned to the screen from the bottom of the header bar (measured by nano.js when it opens, as the
   tablet top bar may or may not be showing) to the bottom edge, full width */
@media (max-width:1024px){
  .nb-site .nb-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{display:flex;position:fixed;top:var(--nb-drawer-top,var(--nb-hdr-h))!important;left:0!important;right:0;bottom:0;width:auto!important;height:auto;border-top:0}
  html.nb-menu-open{overflow:hidden;scrollbar-gutter:stable}
  html.nb-menu-open .nb-wa{opacity:0;pointer-events:none}
  html.nb-menu-open .nb-iqf{visibility:hidden}
}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown>ul{flex:0 0 auto;padding:6px 0 20px}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown>ul>li+li{border-top:1px solid var(--nb-line)}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown>ul>li>a.elementor-item{padding:17px 24px;font-size:16px;letter-spacing:.01em}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown a.elementor-item .sub-arrow{margin-left:auto;padding:6px 0 6px 20px}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li,.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>.nb-drawer-social{animation:nb-drawer-in .4s var(--nb-ease) both}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li:nth-child(2){animation-delay:.03s}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li:nth-child(3){animation-delay:.06s}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li:nth-child(4){animation-delay:.09s}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li:nth-child(5){animation-delay:.12s}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li:nth-child(6){animation-delay:.15s}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li:nth-child(7){animation-delay:.18s}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li:nth-child(n+8){animation-delay:.21s}
.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>.nb-drawer-social{animation-delay:.24s}
@keyframes nb-drawer-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* Instant Quote row: soft gold highlight and an "In 2 minutes" tag (added by nano.js) */
.nb-site .nb-nav nav.elementor-nav-menu--dropdown>ul>li.nb-menu-iq>a.elementor-item{background:#FFF7E2}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .nb-iq-time{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--nb-gold);color:var(--nb-navy);font:700 11px/1 var(--nb-h);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;white-space:nowrap}
.nb-site .nb-nav nav.elementor-nav-menu--dropdown .nb-iq-time svg{width:13px;height:13px;flex:0 0 auto}
.nb-site .nb-drawer-social{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;padding-bottom:calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--nb-line);background:var(--nb-soft)}
.nb-site .nb-drawer-social>span{font:600 12px/1.2 var(--nb-h);letter-spacing:.16em;text-transform:uppercase;color:var(--nb-muted)}
.nb-site .nb-drawer-social>div{display:flex;gap:10px}
.nb-site .nb-nav .nb-drawer-social a{width:44px;height:44px;padding:0;display:grid;place-items:center;background:var(--nb-navy);color:#fff;transition:background .2s,color .2s}
.nb-site .nb-nav .nb-drawer-social a:hover,.nb-site .nb-nav .nb-drawer-social a:focus-visible{background:var(--nb-gold);color:var(--nb-navy)}
.nb-site .nb-drawer-social svg{width:18px;height:18px;fill:currentColor}
@media (max-width:359px){.nb-site .nb-drawer-social>span{display:none}}
@media (prefers-reduced-motion:reduce){.nb-site .nb-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container,.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav.elementor-nav-menu__container{transition:none!important}.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>*,.nb-site .nb-nav .elementor-menu-toggle.elementor-active+nav>ul>li{animation:none!important}}
/* phones and tablets hide the phone number and quotation button: drop their empty slot, which pushed the menu button 24px in */
@media (max-width:1024px){.nb-site .nb-hdr-actions{display:none!important}}
/* desktop menu: spacing and size ease down towards 1025px so the seven items always fit beside the logo and buttons */
@media (min-width:1025px){.nb-site .nb-nav .elementor-nav-menu--main .elementor-item{padding-inline:clamp(8px,1.7vw - 10.5px,14px);font-size:clamp(13px,.25vw + 10.4px,14px)}}
/* the phone number shows from 1280px (between 1181 and 1279px it ran into the menu) */
@media (max-width:1279px){.nb-site .nb-hdr-phone{display:none}}
/* top bar: always one line (the sticky header hides exactly its 40px); the address shortens with an ellipsis */
.nb-site .nb-topbar>.nb-wrap{flex-wrap:nowrap!important}
.nb-site .nb-topbar .elementor-icon-list-items{flex-wrap:nowrap!important}
.nb-site .nb-topbar .elementor-icon-list-item{white-space:nowrap;flex:0 0 auto}
.nb-site .nb-topbar .nb-tb-l{flex:1 1 auto!important;min-width:0!important;overflow:hidden}
.nb-site .nb-topbar .nb-tb-r{flex:0 0 auto!important}
.nb-site .nb-tb-l .elementor-icon-list-item:first-child{flex:0 1 auto;min-width:0}
.nb-site .nb-tb-l .elementor-icon-list-item:first-child>a{min-width:0;max-width:100%}
.nb-site .nb-tb-l .elementor-icon-list-item:first-child .elementor-icon-list-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* below 1240px Facebook and TikTok show as icons only (their names stay available to screen readers) */
@media (max-width:1239px){.nb-site .nb-tb-r a[href*="facebook.com"] .elementor-icon-list-text,.nb-site .nb-tb-r a[href*="tiktok.com"] .elementor-icon-list-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}
/* dual-screen phones spanned across both screens (Surface Duo): nothing in the header sits on the hinge.
   Address and email stay on the left screen; the menu button opens the menu on the right screen. */
@media (horizontal-viewport-segments:2){.nb-site{--nb-fold-l:env(viewport-segment-right 0 0,540px);--nb-fold-r:env(viewport-segment-left 1 0,574px)}}
@media (spanning:single-fold-vertical){.nb-site{--nb-fold-l:env(fold-left,540px);--nb-fold-r:calc(env(fold-left,540px) + env(fold-width,34px))}}
@media (horizontal-viewport-segments:2),(spanning:single-fold-vertical){
  .nb-site .nb-topbar .nb-tb-l{max-width:calc(var(--nb-fold-l) - 36px)!important}
  .nb-site .nb-nav .elementor-nav-menu--main{display:none!important}
  .nb-site .nb-nav .elementor-menu-toggle{display:flex!important}
  /* the open menu is placed against the header bar (not the menu widget), so Elementor's full-width alignment can't pull it
     back to the left screen; it fills the right screen, under the bar */
  .nb-site .nb-nav{position:static!important}
  .nb-site .nb-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{display:flex!important;top:var(--nb-hdr-h)!important;left:calc(var(--nb-fold-r) - max(20px,(100vw - 1290px) / 2))!important;width:calc(100vw - var(--nb-fold-r))!important;max-width:none!important;margin:0!important}
  .nb-site .nb-hdr-phone{display:none!important}
}
