/* ==========================================================================
   NABRICO — site chrome: header, dropdown menus, mobile drawer, footer
   Ported from the arc-base child theme's header.php (live since 2026-09-11)
   with the arc-base workarounds removed. Loads on every page and carries its
   own --nbc-* tokens, so it also works on Elementor pages that skip the design
   system. Markup: patterns/site-header.php and patterns/site-footer.php.
   ========================================================================== */
:root{--nbc-h:78px}
@media (max-width:700px){:root{--nbc-h:64px}}

/* Block themes put a block-gap margin between the header part, <main> and the footer part */
.wp-site-blocks>*{margin-block-start:0}

/* Content starts below the fixed header, except where a hero sits under it */
body.nbc-on #main{padding-top:var(--nbc-h)}
body.nbc-on #main:has(#nb26,.hero,.page-hero){padding-top:0}
body.nbc-on #main:focus{outline:none}
/* In-page anchors (/barges/#tank) stop below the fixed header */
body.nbc-on #main [id]{scroll-margin-top:calc(var(--nbc-h) + 1rem)}
body.nbc-on.admin-bar #main [id]{scroll-margin-top:calc(var(--nbc-h) + 32px + 1rem)}

#nbc-header,#nbc-drawer,#nbc-footer{--nbc-navy:#11294B;--nbc-deep:#091A30;--nbc-mid:#1B3A63;--nbc-gold:#8B7C5E;--nbc-gold-lt:#B9A87F;--nbc-glow:#D4C199;--nbc-cream:#F2ECE1;--nbc-rule:rgba(185,168,127,.42);--nbc-display:"Matrole",Georgia,"Times New Roman",serif;--nbc-body:"Ballinger",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--nbc-label:"Ballinger X-Condensed","Arial Narrow",ui-sans-serif,system-ui,sans-serif;--nbc-fs-label:clamp(.68rem,.64rem + .16vw,.78rem);--nbc-fs-sm:clamp(.85rem,.82rem + .14vw,.94rem);--nbc-gutter:clamp(1.25rem,.7rem + 2.2vw,3.25rem);--nbc-ease:cubic-bezier(.22,1,.36,1);box-sizing:border-box;font-family:var(--nbc-body);line-height:1.5;text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
#nbc-header *,#nbc-header *::before,#nbc-header *::after,#nbc-drawer *,#nbc-drawer *::before,#nbc-drawer *::after,#nbc-footer *,#nbc-footer *::before,#nbc-footer *::after{box-sizing:border-box}
#nbc-header a,#nbc-drawer a,#nbc-footer a{text-decoration:none;background-color:transparent;box-shadow:none}
#nbc-header p,#nbc-drawer p,#nbc-footer p,#nbc-footer ul,#nbc-footer li{margin:0;padding:0;list-style:none}
#nbc-header img,#nbc-footer img{display:block;max-width:none;height:auto;border:0}
#nbc-header svg,#nbc-drawer svg,#nbc-footer svg{display:block;flex:none}
#nbc-header a:focus-visible,#nbc-header button:focus-visible,#nbc-drawer a:focus-visible,#nbc-footer a:focus-visible{outline:2px solid var(--nbc-gold-lt);outline-offset:3px}

.nbc-skip{position:fixed;top:-100px;left:1rem;z-index:100000;padding:.7rem 1.2rem;background:#B9A87F;color:#091A30!important;font:600 .78rem/1 "Ballinger X-Condensed","Arial Narrow",sans-serif;letter-spacing:.18em;text-transform:uppercase;text-decoration:none!important;transition:top .22s}
.nbc-skip:focus{top:1rem}

/* ---- Header ---- */
#nbc-header{position:fixed;top:0;left:0;right:0;z-index:1001;height:var(--nbc-h);display:flex;align-items:center;background-color:var(--nbc-deep);border-bottom:1px solid var(--nbc-rule);transition:background-color .45s var(--nbc-ease),border-color .45s var(--nbc-ease)}
#nbc-header::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(9,26,48,.72),rgba(9,26,48,0));opacity:0;pointer-events:none;transition:opacity .45s var(--nbc-ease)}
body:has(#nb26 .n26-hero) #nbc-header:not(.nbc-stuck):not(.nbc-drawer-open),body:has(#main .hero) #nbc-header:not(.nbc-stuck):not(.nbc-drawer-open){background-color:transparent;border-bottom-color:transparent}
body:has(#nb26 .n26-hero) #nbc-header:not(.nbc-stuck):not(.nbc-drawer-open)::before,body:has(#main .hero) #nbc-header:not(.nbc-stuck):not(.nbc-drawer-open)::before{opacity:1}
#nbc-header.nbc-stuck{background-color:rgba(9,26,48,.94);-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px)}
body.admin-bar #nbc-header,body.admin-bar #nbc-drawer{top:32px}
@media (max-width:782px){body.admin-bar #nbc-header,body.admin-bar #nbc-drawer{top:46px}}
@media (max-width:600px){body.admin-bar #nbc-header,body.admin-bar #nbc-drawer{top:0}}

#nbc-header .nbc-inner{display:flex;align-items:center;gap:2rem;width:100%;max-width:1560px;margin:0 auto;padding:0 var(--nbc-gutter)}
#nbc-header .nbc-brand{flex:none;display:flex;align-items:center}
#nbc-header .nbc-brand img{width:auto;height:clamp(26px,2.2vw,34px)}
#nbc-header .nbc-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(1rem,1.6vw,2.1rem)}
#nbc-header .nbc-link{position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem 0;font-family:var(--nbc-label);font-size:var(--nbc-fs-label);font-weight:600;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:rgba(242,236,225,.86);transition:color .22s var(--nbc-ease)}
#nbc-header .nbc-link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--nbc-gold-lt);transition:width .45s var(--nbc-ease)}
#nbc-header .nbc-link:hover,#nbc-header .nbc-link:focus-visible,#nbc-header .nbc-link[aria-current="page"],#nbc-header .nbc-item.nbc-open>.nbc-link{color:var(--nbc-cream)}
#nbc-header .nbc-link:hover::after,#nbc-header .nbc-link[aria-current="page"]::after,#nbc-header .nbc-item.nbc-open>.nbc-link::after{width:100%}
#nbc-header .nbc-caret{width:9px;height:9px;transition:transform .22s var(--nbc-ease)}
#nbc-header .nbc-item.nbc-open .nbc-caret{transform:rotate(180deg)}

/* ---- Dropdown (the hover fix) ---- */
#nbc-header .nbc-item{position:relative;display:flex;align-items:center}
#nbc-header .nbc-item::after{content:"";position:absolute;top:100%;left:50%;width:min(620px,100vw);height:1.6rem;transform:translateX(-50%);pointer-events:none}
#nbc-header .nbc-item:hover::after,#nbc-header .nbc-item.nbc-open::after{pointer-events:auto}
#nbc-header .nbc-panel{position:absolute;top:calc(100% + 1.35rem);left:50%;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 2.5rem;width:max-content;max-width:620px;padding:2rem;background:var(--nbc-deep);border:1px solid var(--nbc-rule);box-shadow:0 2px 4px rgba(9,26,48,.06),0 28px 60px -20px rgba(9,26,48,.28);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(-8px);transition:opacity .3s var(--nbc-ease),transform .3s var(--nbc-ease),visibility 0s linear .3s}
#nbc-header .nbc-item:hover>.nbc-panel,#nbc-header .nbc-item:focus-within>.nbc-panel,#nbc-header .nbc-item.nbc-open>.nbc-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition-delay:0s}
#nbc-header .nbc-item.nbc-closed>.nbc-panel{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(-8px);transition-delay:0s,0s,.3s}
#nbc-header .nbc-panel__head{grid-column:1/-1;margin:0 0 .4rem;padding:0 0 .6rem;border-bottom:1px solid var(--nbc-rule);font-family:var(--nbc-label);font-size:var(--nbc-fs-label);font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--nbc-gold-lt)}
#nbc-header .nbc-panel__link{display:flex;align-items:baseline;gap:.7rem;padding:.55rem 0;border-bottom:1px solid rgba(242,236,225,.08);font-family:var(--nbc-body);font-size:var(--nbc-fs-sm);line-height:1.4;letter-spacing:0;text-transform:none;white-space:nowrap;color:rgba(242,236,225,.82);transition:color .22s var(--nbc-ease),padding-left .22s var(--nbc-ease)}
#nbc-header .nbc-panel__link:hover,#nbc-header .nbc-panel__link:focus-visible{color:var(--nbc-cream);padding-left:.35rem}
#nbc-header .nbc-panel__link--all{grid-column:1/-1}
#nbc-header .nbc-idx,#nbc-drawer .nbc-idx{flex:none;font-family:var(--nbc-label);font-size:var(--nbc-fs-label);font-weight:600;letter-spacing:.2em;font-variant-numeric:tabular-nums;color:var(--nbc-gold-lt)}

/* ---- Phone, buttons, menu toggle ---- */
#nbc-header .nbc-cta{flex:none;display:flex;align-items:center;gap:1.5rem}
#nbc-header .nbc-phone{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--nbc-label);font-size:var(--nbc-fs-label);font-weight:600;letter-spacing:.14em;white-space:nowrap;color:var(--nbc-gold-lt);transition:color .22s var(--nbc-ease)}
#nbc-header .nbc-phone:hover{color:var(--nbc-glow)}
#nbc-header .nbc-phone svg{width:15px;height:15px}
#nbc-header .nbc-btn,#nbc-drawer .nbc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.95rem 1.75rem;border:1px solid transparent;border-radius:0;font-family:var(--nbc-label);font-size:var(--nbc-fs-label);font-weight:600;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transition:background-color .22s var(--nbc-ease),border-color .22s var(--nbc-ease),color .22s var(--nbc-ease)}
#nbc-header .nbc-btn--primary,#nbc-drawer .nbc-btn--primary{background-color:var(--nbc-gold-lt);border-color:var(--nbc-gold-lt);color:var(--nbc-deep)}
#nbc-header .nbc-btn--primary:hover,#nbc-drawer .nbc-btn--primary:hover{background-color:var(--nbc-glow);border-color:var(--nbc-glow);color:var(--nbc-deep)}
#nbc-drawer .nbc-btn--ghost{background-color:rgba(9,26,48,.25);border-color:var(--nbc-rule);color:var(--nbc-cream)}
#nbc-drawer .nbc-btn--ghost:hover{background-color:var(--nbc-gold-lt);border-color:var(--nbc-gold-lt);color:var(--nbc-deep)}
#nbc-header .nbc-toggle{display:none;flex:none;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:var(--nbc-cream);cursor:pointer}
#nbc-header .nbc-bars{position:relative;display:block;width:22px;height:12px}
#nbc-header .nbc-bars span{position:absolute;left:0;right:0;display:block;height:1.5px;background:var(--nbc-cream);transition:transform .45s var(--nbc-ease)}
#nbc-header .nbc-bars span:first-child{top:0}
#nbc-header .nbc-bars span:last-child{bottom:0}
#nbc-header .nbc-toggle[aria-expanded="true"] .nbc-bars span:first-child{transform:translateY(5.25px) rotate(45deg)}
#nbc-header .nbc-toggle[aria-expanded="true"] .nbc-bars span:last-child{transform:translateY(-5.25px) rotate(-45deg)}
@media (max-width:1024px){
	#nbc-header .nbc-nav,#nbc-header .nbc-cta .nbc-btn{display:none}
	#nbc-header .nbc-cta{margin-left:auto}
	#nbc-header .nbc-toggle{display:flex}
}
@media (max-width:560px){#nbc-header .nbc-phone span{display:none}}

/* ---- Mobile drawer ---- */
#nbc-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;overflow-y:auto;padding:calc(var(--nbc-h) + 2.5rem) var(--nbc-gutter) 3rem;background:var(--nbc-deep);opacity:0;visibility:hidden;transition:opacity .45s var(--nbc-ease),visibility 0s linear .45s}
#nbc-drawer.nbc-open{opacity:1;visibility:visible;transition-delay:0s}
#nbc-drawer .nbc-drawer__link{display:flex;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(242,236,225,.1);font-family:var(--nbc-display);font-size:clamp(1.6rem,1.2rem + 2vw,2.4rem);line-height:1.1;letter-spacing:-.022em;text-transform:uppercase;color:var(--nbc-cream)}
#nbc-drawer .nbc-drawer__link:hover,#nbc-drawer .nbc-drawer__link[aria-current="page"]{color:var(--nbc-gold-lt)}
#nbc-drawer .nbc-drawer__foot{display:grid;gap:1rem;margin-top:2.5rem}
@media (min-width:1025px){#nbc-drawer{display:none}}

/* ---- Footer ---- */
#nbc-footer{position:relative;padding:5rem 0 2rem;background:var(--nbc-deep);color:var(--nbc-cream);font-size:1rem}
#nbc-footer .nbc-wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--nbc-gutter)}
#nbc-footer .nbc-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:3rem 2rem;padding-bottom:3rem;border-bottom:1px solid rgba(242,236,225,.12)}
@media (max-width:900px){#nbc-footer .nbc-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#nbc-footer .nbc-footer__grid{grid-template-columns:1fr}}
#nbc-footer .nbc-footer__logo{display:inline-block}
#nbc-footer .nbc-footer__logo img{width:auto;height:34px;margin-bottom:1.5rem}
#nbc-footer .nbc-footer__brand p{max-width:34ch;font-size:var(--nbc-fs-sm);line-height:1.62;color:rgba(242,236,225,.66)}
#nbc-footer .nbc-social{display:flex;gap:.6rem;margin-top:1.5rem}
#nbc-footer .nbc-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--nbc-rule);color:var(--nbc-gold-lt);transition:background-color .22s var(--nbc-ease),border-color .22s var(--nbc-ease),color .22s var(--nbc-ease)}
#nbc-footer .nbc-social a:hover{background-color:var(--nbc-gold-lt);border-color:var(--nbc-gold-lt);color:var(--nbc-deep)}
#nbc-footer .nbc-social svg{width:16px;height:16px}
#nbc-footer .nbc-footer__head{margin:0 0 1.5rem;padding:0;border:0;font-family:var(--nbc-label);font-size:var(--nbc-fs-label);font-weight:600;line-height:1.3;letter-spacing:.3em;text-transform:uppercase;color:var(--nbc-gold-lt)}
#nbc-footer .nbc-footer__col li+li{margin-top:.7rem}
#nbc-footer .nbc-footer__col a{font-size:var(--nbc-fs-sm);line-height:1.5;color:rgba(242,236,225,.72);transition:color .22s var(--nbc-ease)}
#nbc-footer .nbc-footer__col a:hover{color:var(--nbc-gold-lt)}
#nbc-footer .nbc-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-top:2rem;font-size:var(--nbc-fs-sm);line-height:1.5;color:rgba(242,236,225,.5)}
#nbc-footer .nbc-footer__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
#nbc-footer .nbc-footer__bottom a{color:rgba(242,236,225,.62);transition:color .22s var(--nbc-ease)}
#nbc-footer .nbc-footer__bottom a:hover{color:var(--nbc-gold-lt)}

@media (prefers-reduced-motion:reduce){
	#nbc-header,#nbc-header *,#nbc-drawer,#nbc-drawer *,#nbc-footer *{transition-duration:.01ms!important}
}
