:root{--naf-accent:#d4af37;--naf-bg:#0b0b0b;--naf-text:#f1f1f1;--naf-muted:#b8b8b8;--naf-card:#141414;--naf-border:#2a2a2a;--naf-container:1320px;--naf-logo-width:180px;--naf-logo-mobile-width:140px;--naf-header-min:84px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.naf125{margin:0;background:var(--naf-bg);color:var(--naf-text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}.naf-container{width:min(calc(100% - 32px),var(--naf-container));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:99999;background:#fff;color:#000;padding:10px 14px}.naf-topbar{border-bottom:1px solid var(--naf-border);font-size:.9rem}.naf-topbar-grid,.naf-footer-bottom-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;min-height:38px}.naf-topbar-right,.naf-footer-bottom-grid>div:last-child{text-align:right}.naf-header{background:rgba(11,11,11,.98);border-bottom:1px solid var(--naf-border);z-index:1000}.naf-sticky-header .naf-header{position:sticky;top:0}.naf-header-grid{min-height:var(--naf-header-min);display:grid;grid-template-columns:1fr auto 1fr auto;gap:24px;align-items:center}.naf-header-right{text-align:right}.naf-logo img{display:block;width:var(--naf-logo-width);max-height:74px;object-fit:contain}.naf-site-name{font-size:1.4rem;font-weight:800;color:var(--naf-text);text-decoration:none}.naf-menu-toggle{display:none;border:1px solid var(--naf-border);background:transparent;color:var(--naf-text);padding:10px 14px;border-radius:6px}.naf-menu-bar{border-top:1px solid var(--naf-border);background:#0e0e0e}.naf-menu-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.naf-main-nav ul{list-style:none;margin:0;padding:0}.naf-main-nav>div>ul,.naf-main-nav>ul{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.naf-main-nav li{position:relative}.naf-main-nav a,.naf-main-nav .nav-header{display:block;color:var(--naf-text);text-decoration:none;padding:15px 14px;transition:.2s ease}.naf-main-nav a:hover,.naf-main-nav a:focus,.naf-main-nav .current>a{color:var(--naf-accent)}.naf-main-nav li ul{display:none;position:absolute;left:0;top:100%;min-width:230px;background:#111;border:1px solid var(--naf-border);z-index:1100}.naf-main-nav li:hover>ul,.naf-main-nav li:focus-within>ul{display:block}.naf-main-nav li ul li ul{left:100%;top:0}.naf-main-nav li ul a{padding:11px 14px}.naf-hero{position:relative;width:100%;overflow:hidden}.naf-hero>*{width:100%}.naf-hero-overlay{position:absolute;inset:0;pointer-events:none}.naf-breadcrumbs,.naf-below-menu{border-bottom:1px solid var(--naf-border)}.naf-breadcrumbs>.naf-container,.naf-below-menu>.naf-container{padding-block:12px}.mod-breadcrumbs{list-style:none;display:flex;flex-wrap:wrap;align-items:center;padding:0;margin:0}.mod-breadcrumbs li{list-style:none}.mod-breadcrumbs__here,.mod-breadcrumbs__item{color:#888;font-size:13px}.mod-breadcrumbs li:not(:first-child)::before{content:"/";margin:0 8px;color:#555}.mod-breadcrumbs__item a.pathway{color:#d9a719;text-decoration:none}.mod-breadcrumbs__item a.pathway:hover{text-decoration:underline}.mod-breadcrumbs__item.active{color:#ccc}.naf-section,.naf-main,.naf-bottom,.naf-cta{padding:36px 0}.naf-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.naf-content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.naf-content-grid.has-left{grid-template-columns:280px minmax(0,1fr)}.naf-content-grid.has-right{grid-template-columns:minmax(0,1fr) 280px}.naf-content-grid.has-left.has-right{grid-template-columns:260px minmax(0,1fr) 260px}.naf-component,.naf-sidebar{min-width:0}.naf-sidebar .moduletable,.naf-section .moduletable,.naf-bottom .moduletable,.naf-footer .moduletable{background:var(--naf-card);border:1px solid var(--naf-border);padding:20px;border-radius:10px}.naf-cta{border-block:1px solid var(--naf-border);background:#111}.naf-footer{border-top:1px solid var(--naf-border);background:#080808}.naf-footer-grid{padding:42px 0}.naf-footer-bottom{border-top:1px solid var(--naf-border);padding:14px 0;color:var(--naf-muted)}a{color:var(--naf-accent)}img{max-width:100%;height:auto}
@media(max-width:1024px){.naf-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.naf-content-grid.has-left,.naf-content-grid.has-right,.naf-content-grid.has-left.has-right{grid-template-columns:1fr}.naf-sidebar{order:2}.naf-component{order:1}}
@media(max-width:820px){.naf-header-grid{grid-template-columns:1fr auto auto;gap:12px}.naf-header-left{display:none}.naf-header-right{display:none}.naf-logo-wrap{justify-self:start}.naf-logo img{width:var(--naf-logo-mobile-width)}.naf-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.naf-menu-bar{display:none}.naf-menu-bar.is-open{display:block}.naf-menu-grid{grid-template-columns:1fr}.naf-main-nav>div>ul,.naf-main-nav>ul{display:block;padding:8px 0}.naf-main-nav li ul{display:block;position:static;border:0;border-left:1px solid var(--naf-border);margin-left:18px;background:transparent}.naf-main-nav a,.naf-main-nav .nav-header{padding:10px 8px}.naf-menu-right{padding-bottom:12px}.naf-topbar-grid,.naf-footer-bottom-grid{grid-template-columns:1fr}.naf-topbar-right,.naf-footer-bottom-grid>div:last-child{text-align:left}.naf-grid-4{grid-template-columns:1fr}}
/* NAF 125 v1.0.1 - additional main layout positions */
.naf-main-top{margin-bottom:28px}.naf-main-bottom{margin-top:28px}.naf-main-position{margin-bottom:24px}
.naf-main-top .moduletable,.naf-main-bottom .moduletable,.naf-main-position .moduletable{background:var(--naf-card);border:1px solid var(--naf-border);padding:20px;border-radius:10px}

/* =========================================================
   NAF 125 v1.0.2 — Premium navigation + starter page system
   ========================================================= */
:root{
  --naf-menu-bg:#050505;
  --naf-menu-border:rgba(212,175,55,.45);
  --naf-menu-font-size:14px;
  --naf-menu-gap:8px;
  --naf-menu-pad-x:18px;
  --naf-menu-pad-y:18px;
  --naf-radius:8px;
}

/* Header/menu can reproduce the supplied black + gold reference. */
.naf-menu-bar{background:var(--naf-menu-bg);border-top:0;border-bottom:1px solid var(--naf-menu-border)}
.naf-menu-grid{min-height:90px}
.naf-main-nav>div>ul,.naf-main-nav>ul{gap:var(--naf-menu-gap);justify-content:space-between;flex-wrap:nowrap}
.naf-main-nav>div>ul>li,.naf-main-nav>ul>li{flex:0 0 auto}
.naf-main-nav a,.naf-main-nav .nav-header{
  font-size:var(--naf-menu-font-size);font-weight:800;text-transform:uppercase;letter-spacing:.01em;
  padding:var(--naf-menu-pad-y) var(--naf-menu-pad-x);white-space:nowrap;color:#fff
}
.naf-main-nav>div>ul>li.active>a,.naf-main-nav>ul>li.active>a,
.naf-main-nav>div>ul>li.current>a,.naf-main-nav>ul>li.current>a{color:var(--naf-accent);position:relative}
.naf-main-nav>div>ul>li.active>a:after,.naf-main-nav>ul>li.active>a:after,
.naf-main-nav>div>ul>li.current>a:after,.naf-main-nav>ul>li.current>a:after{
  content:"";position:absolute;left:var(--naf-menu-pad-x);right:var(--naf-menu-pad-x);bottom:4px;height:2px;background:var(--naf-accent)
}

/* Multi-level dropdown */
.naf-main-nav li ul{
  min-width:250px;background:#090909;border:1px solid rgba(212,175,55,.3);border-radius:0 0 var(--naf-radius) var(--naf-radius);
  box-shadow:0 16px 35px rgba(0,0,0,.35);padding:8px 0}.naf-main-nav li ul{max-height:70vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.6) #090909}.naf-main-nav li ul::-webkit-scrollbar{width:7px}.naf-main-nav li ul::-webkit-scrollbar-track{background:#090909}.naf-main-nav li ul::-webkit-scrollbar-thumb{background:rgba(212,175,55,.6);border-radius:4px}
.naf-main-nav li ul a,.naf-main-nav li ul .nav-header{padding:12px 16px;text-transform:none;font-size:14px;font-weight:700}
.naf-main-nav li ul a:hover,.naf-main-nav li ul a:focus{background:rgba(212,175,55,.08);color:var(--naf-accent)}
.naf-main-nav li.deeper>a:after,.naf-main-nav li.deeper>.nav-header:after{content:" ▾";font-size:.8em;color:var(--naf-accent)}
.naf-main-nav li ul li.deeper>a:after{content:" ›";float:right}

/* The final top-level menu item automatically becomes the quote CTA.
   This means its title/link can be edited from Joomla Menu Manager with no CSS edits. */
.naf-main-nav>div>ul>li:last-child>a,.naf-main-nav>ul>li:last-child>a{
  border:1px solid var(--naf-accent);border-radius:6px;color:var(--naf-accent);padding:12px 22px;margin-left:14px;line-height:1.25
}
.naf-main-nav>div>ul>li:last-child>a:after,.naf-main-nav>ul>li:last-child>a:after{display:none}
.naf-main-nav>div>ul>li:last-child>a:before,.naf-main-nav>ul>li:last-child>a:before{content:""}
.naf-main-nav>div>ul>li:last-child>a:hover,.naf-main-nav>ul>li:last-child>a:hover{background:var(--naf-accent);color:#070707}

/* Optional utility classes for any menu item/module/button. */
.naf-btn,.btn.naf-btn,.naf-quote-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 22px;border:1px solid var(--naf-accent);border-radius:6px;background:transparent;color:var(--naf-accent)!important;text-decoration:none;font-weight:800;text-transform:uppercase;transition:.2s ease}
.naf-btn:hover,.naf-btn:focus,.naf-quote-button:hover,.naf-quote-button:focus{background:var(--naf-accent);color:#050505!important}
.naf-btn-solid{background:var(--naf-accent);color:#050505!important}
.naf-btn-solid:hover,.naf-btn-solid:focus{background:transparent;color:var(--naf-accent)!important}

/* Starter page design classes — usable inside Joomla Articles / Custom modules. */
.naf-page{padding:0 0 42px}.naf-page-hero{position:relative;padding:72px 0 58px;border-bottom:1px solid rgba(212,175,55,.28);background:linear-gradient(120deg,rgba(212,175,55,.08),rgba(0,0,0,.1))}
.naf-page-hero .naf-kicker{margin:0 0 8px;color:var(--naf-accent);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem}
.naf-page-hero h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.08}.naf-page-hero p{max-width:760px;margin:18px 0 0;color:#c8c8c8;font-size:1.05rem}
.naf-page-section{padding:50px 0}.naf-page-section+.naf-page-section{border-top:1px solid rgba(255,255,255,.08)}
.naf-section-title{margin:0 0 10px;font-size:clamp(1.55rem,3vw,2.35rem)}.naf-section-lead{margin:0 0 28px;color:#bcbcbc;max-width:780px}
.naf-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.naf-card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.naf-card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.naf-card{padding:24px;border:1px solid rgba(212,175,55,.22);border-radius:10px;background:rgba(12,12,12,.86)}.naf-card h3{margin:0 0 8px}.naf-card p{margin:0;color:#bdbdbd}
.naf-gold-line{width:54px;height:2px;background:var(--naf-accent);margin:12px 0 18px}.naf-split{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.naf-media-placeholder{min-height:280px;border:1px dashed rgba(212,175,55,.38);border-radius:10px;display:grid;place-items:center;color:#8d8d8d;background:rgba(255,255,255,.02)}
.naf-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}.naf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.naf-form-grid .full{grid-column:1/-1}.naf-form-grid input,.naf-form-grid textarea,.naf-form-grid select{width:100%;padding:13px 14px;background:#0b0b0b;color:#fff;border:1px solid #363636;border-radius:6px;font:inherit}.naf-form-grid textarea{min-height:140px;resize:vertical}

@media(max-width:1180px){.naf-main-nav a,.naf-main-nav .nav-header{font-size:12px;padding-left:10px;padding-right:10px}.naf-main-nav>div>ul>li:last-child>a,.naf-main-nav>ul>li:last-child>a{padding-left:14px;padding-right:14px;margin-left:4px}}
@media(max-width:820px){
  .naf-menu-grid{min-height:0}.naf-main-nav>div>ul>li:last-child>a,.naf-main-nav>ul>li:last-child>a{margin:8px 0;border-radius:6px;display:inline-flex}
  .naf-main-nav>div>ul>li.active>a:after,.naf-main-nav>ul>li.active>a:after,.naf-main-nav>div>ul>li.current>a:after,.naf-main-nav>ul>li.current>a:after{display:none}
  .naf-card-grid,.naf-card-grid.cols-2,.naf-card-grid.cols-4,.naf-split,.naf-contact-grid,.naf-form-grid{grid-template-columns:1fr}
}


/* =========================================================
   NAF 125 v1.0.4.2 — Admin-controlled Header & Logo
   ========================================================= */
.naf-header{background-color:var(--naf-header-bg)!important;border-bottom-color:var(--naf-header-border)!important}
.naf-header-grid{
  min-height:var(--naf-header-min);
  padding-top:var(--naf-header-padding-y);
  padding-bottom:var(--naf-header-padding-y);
  grid-template-columns:minmax(0,1fr) minmax(0,var(--naf-header-right-width)) auto;
}
.naf-header-right,.naf-logo-wrap{min-width:0}
.naf-header-right{max-width:var(--naf-header-right-width);justify-self:end}
.naf-logo-wrap{width:100%;justify-self:var(--naf-logo-align);display:flex;justify-content:var(--naf-logo-align);align-items:center;transform:translate(var(--naf-logo-offset-x),var(--naf-logo-offset-y));position:relative;z-index:2}
/* NAF 125 v1.0.4.5 — true logo pixel sizing.
   Do not cap the logo to the width of its Joomla module/grid parent; that made the +/- width control appear ineffective. */
.naf-logo-wrap{overflow:visible!important}
.naf-logo-wrap > *,
.naf-logo-wrap .custom,
.naf-logo-wrap .mod-custom,
.naf-logo-wrap .moduletable,
.naf-logo{width:max-content!important;max-width:none!important;overflow:visible!important}
.naf-logo-wrap img,
.naf-logo-wrap .custom img,
.naf-logo-wrap .mod-custom img,
.naf-logo-wrap .moduletable img,
.naf-logo img{
  width:var(--naf-logo-width)!important;
  min-width:var(--naf-logo-width)!important;
  max-width:none!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
}
.naf-header-right img{max-width:min(100%,var(--naf-header-right-width))!important;height:auto!important;object-fit:contain}
.naf-menu-bar{background:var(--naf-menu-bg)!important;border-bottom-color:var(--naf-menu-border)!important}
.naf-menu-grid{min-height:var(--naf-menu-min-height)!important}
.naf-main-nav>div>ul,.naf-main-nav>ul{gap:var(--naf-menu-gap)!important}
.naf-main-nav a,.naf-main-nav .nav-header{font-size:var(--naf-menu-font-size)!important;padding:var(--naf-menu-pad-y) var(--naf-menu-pad-x)!important;color:var(--naf-menu-text)}
@media(max-width:820px){
  .naf-header-grid{grid-template-columns:minmax(0,1fr) auto;padding-top:var(--naf-header-padding-y);padding-bottom:var(--naf-header-padding-y)}
  .naf-logo-wrap{justify-self:start;justify-content:flex-start}
  .naf-logo-wrap img,.naf-logo-wrap .custom img,.naf-logo-wrap .mod-custom img,.naf-logo-wrap .moduletable img,.naf-logo img{
    width:min(var(--naf-logo-mobile-width),calc(100vw - 32px))!important;
    min-width:0!important;
    max-width:none!important;
  }
  .naf-menu-grid{min-height:0!important}
}

/* NAF 125 v1.0.5.2 fix: stop max-height:74px on the base .naf-logo img rule from silently re-capping the logo once width is increased past ~120px via object-fit:contain */
.naf-logo-wrap img,.naf-logo-wrap .custom img,.naf-logo-wrap .mod-custom img,.naf-logo-wrap .moduletable img,.naf-logo img{max-height:none!important;}

/* Site-wide background texture (subtle black/gold circuit pattern) */
body.naf125{background-image:url(../images/site-background.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;}
@media (min-width:900px){body.naf125{background-attachment:fixed;}}
/* ===== NAF MOBILE RESPONSIVE FIX ===== */
@media screen and (max-width: 767px) {

  .naf-container {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  .naf-services-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .naf-services-grid > a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .naf-services-grid > a img {
    width: 100% !important;
    height: 105px !important;
    object-fit: cover !important;
    display: block !important;
  }

  .naf-services-grid > a > div {
    padding: 12px 10px 14px !important;
  }

  .naf-services-grid h4 {
    font-size: 11px !important;
    line-height: 1.25 !important;
    margin: 0 0 6px !important;
  }

  .naf-services-grid p {
    font-size: 9px !important;
    line-height: 1.4 !important;
  }

}