
:root{
  --gold:#e0ad46;--gold-dark:#8a5d0f;--black:#070707;--ink:#151515;--muted:#666;
  --paper:#f4f2ee;--paper-2:#ece9e2;--line:#d9d5ce;--white:#fff;--max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:12px 16px;z-index:999}
.skip-link:focus{left:12px;top:12px}
.topbar{background:#050505;color:#fff;text-align:center;padding:8px 18px;font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.topbar a{text-decoration:none;color:#fff;font-weight:800}.topbar a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1)}
.nav{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:28px}
.logo{flex:0 0 auto}.logo img{width:205px;height:auto}
.navlinks{display:flex;gap:18px;align-items:center;justify-content:flex-end}
.navlinks a{text-decoration:none;text-transform:uppercase;font-size:10.5px;letter-spacing:.09em;font-weight:900;white-space:nowrap;padding:8px 0;border-bottom:2px solid transparent}
.navlinks a:hover,.navlinks a.active{color:var(--gold-dark);border-color:var(--gold)}
.menu-btn{display:none;border:1px solid #bbb;background:#fff;padding:10px 13px;font-weight:900;letter-spacing:.08em;cursor:pointer}
main{min-height:55vh}
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
section{padding:88px 0}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.2em;font-weight:900;font-size:11px}
.eyebrow{color:#747474}.eyebrow.gold,.kicker{color:var(--gold)}
h1,h2,h3{font-family:"Arial Black","Arial Narrow",Arial,Helvetica,sans-serif}
h1{font-size:clamp(52px,7vw,98px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;margin:18px 0 24px;max-width:980px}
h2{font-size:clamp(34px,4.8vw,58px);line-height:1;letter-spacing:-.035em;text-transform:uppercase;margin:9px 0 22px}
h3{text-transform:uppercase;font-size:17px;line-height:1.2;margin:0 0 12px;letter-spacing:-.015em}
.lead{font-size:18.5px;color:#555;max-width:820px;margin:0 0 18px}
.lead strong{color:#222}.fine{font-size:13px;color:#6d6d6d}.small{font-size:12px;color:#777}
.hero{min-height:690px;color:#fff;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.72) 48%,rgba(0,0,0,.18) 100%),url('images/home-hero.jpg');background-size:cover;background-position:center 48%}
.hero-inner{width:min(1280px,calc(100% - 48px));margin:auto;padding:98px 0}.hero p{font-size:20px;max-width:700px;color:#ddd;margin:0}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;padding:12px 19px;border:1px solid var(--gold);text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:10.5px;transition:transform .15s ease,background .15s ease,color .15s ease}
.btn:hover{transform:translateY(-1px)}.btn.gold{background:var(--gold);color:#050505}.btn.gold:hover{background:#efbd56}.btn.black{background:#111;color:#fff;border-color:#111}.btn.black:hover{background:#282828}.btn.outline{color:#fff;border-color:#777}.btn.outline:hover{border-color:#fff}.btn.light{background:#fff;color:#111;border-color:#fff}
.band{background:var(--gold);padding:18px 0}.band-inner{width:min(1120px,calc(100% - 48px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.band strong{text-transform:uppercase;font-size:16px;line-height:1.35}
.dark{background:#101010;color:#fff}.dark .lead,.dark .card p,.dark .fine{color:#c9c9c9}.paper{background:var(--paper)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.service-card{background:#fff;border:1px solid var(--line);overflow:hidden}.service-card .media{aspect-ratio:16/10;background-size:cover;background-position:center}.service-card .body{padding:26px}.service-card p{margin:0 0 18px;color:#5f5f5f}.service-card a,.text-link{font-weight:900;text-decoration:none;text-transform:uppercase;font-size:10.5px;letter-spacing:.08em;color:var(--gold-dark)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.cards.two{grid-template-columns:repeat(2,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);padding:26px;background:#fff}.dark .card{background:#181818;border-color:#303030}.card p{color:#5e5e5e;margin:0 0 15px}.card .price{font-size:20px;font-weight:900;color:#111;margin:5px 0 12px}.dark .card .price{color:#fff}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.feature.reverse>div:first-child{order:2}.feature.reverse>div:last-child{order:1}.feature-img{min-height:470px;background-size:cover;background-position:center;border:1px solid rgba(0,0,0,.08)}
.page-hero{min-height:425px;display:flex;align-items:end;color:#fff;background-color:#111;background-size:cover;background-position:center;position:relative}.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45))}.page-hero .wrap{position:relative;z-index:1;padding:82px 0}.page-hero h1{font-size:clamp(46px,6.5vw,80px);margin-bottom:0}.page-hero.about{background-image:url('images/about-hero.jpg');background-position:center 58%}.page-hero.sales{background-image:url('images/sales-hero.jpg')}.page-hero.training{background-image:url('images/training-hero.jpg');background-position:center 48%}.page-hero.transfers{background-image:url('images/transfers-hero.jpg');background-position:center 62%}
.page-hero.solid{min-height:360px;background:#0c0c0c;overflow:hidden}.page-hero.solid::before{background:radial-gradient(circle at 78% 45%,rgba(224,173,70,.16),transparent 28%),linear-gradient(105deg,#080808,#151515)}.page-hero.solid::after{content:"W";position:absolute;right:5%;top:50%;transform:translateY(-48%);font-family:"Arial Black",Arial,sans-serif;font-size:min(34vw,430px);line-height:1;color:rgba(224,173,70,.055);font-weight:900}
.prose{max-width:860px}.prose p{font-size:18px;color:#4f4f4f;margin:0 0 20px}.prose p:last-child{margin-bottom:0}.dark .prose p{color:#ccc}
.quote{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(28px,4vw,44px);line-height:1.08;font-weight:900;text-transform:uppercase;max-width:900px}.quote .sub{display:block;font-size:.45em;letter-spacing:.18em;margin-top:12px;color:var(--gold)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#2b2b2b;border:1px solid #2b2b2b;margin-top:40px}.value{background:#111;padding:28px}.value strong{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.09em;font-size:11px;margin-bottom:8px}.value span{color:#ddd;font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.catalog-card{padding:26px;border:1px solid var(--line);background:#fff}.catalog-card p{margin:0;color:#5c5c5c}.catalog-card.night{background:#141414;color:#fff;border-color:#2c2c2c}.catalog-card.night p{color:#cfcfcf}.catalog-card.night h3{color:var(--gold)}
.media-split{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.media-split img{width:100%;max-height:520px;object-fit:cover}.media-split.contain img{object-fit:contain;background:#f7f7f5;padding:26px}.media-split .copy{max-width:540px}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}.resource{border:1px solid var(--line);padding:20px;background:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center}.resource h3{font-size:14px;margin:0}.resource p{margin:4px 0 0;color:#666;font-size:13px}.resource a{white-space:nowrap;text-decoration:none;background:#111;color:#fff;padding:10px 13px;text-transform:uppercase;font-size:9.5px;font-weight:900;letter-spacing:.07em}
.notice{padding:22px 24px;background:var(--paper);border-left:4px solid var(--gold);color:#484848}.notice strong{color:#111}.dark .notice{background:#191919;color:#ccc}.dark .notice strong{color:#fff}
.list-clean{padding:0;margin:18px 0 0;list-style:none}.list-clean li{padding:10px 0;border-bottom:1px solid var(--line)}.dark .list-clean li{border-color:#333}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-box{border-top:3px solid var(--gold);padding:22px 0 0}.contact-box a{font-size:24px;text-decoration:none;font-weight:800}.contact-box a:hover{text-decoration:underline}
.footer{background:#050505;color:#aaa;padding:54px 0 40px}.footer-inner{width:min(var(--max),calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr 1.35fr;gap:50px;align-items:start}.footer-logo{width:220px;margin-bottom:12px}.footer-links{display:flex;gap:13px 18px;flex-wrap:wrap;justify-content:flex-end}.footer-links a{text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#bbb}.footer-links a:hover{color:#fff}.footer-meta{text-align:right;margin-top:18px}.footer .small{color:#8e8e8e}.legal{margin-top:36px;padding-top:22px;border-top:1px solid #242424;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.external::after{content:" ↗"}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1120px){
  .menu-btn{display:block}.nav{position:relative}.navlinks{display:none;position:absolute;left:18px;right:18px;top:calc(100% + 1px);background:#fff;border:1px solid #ddd;box-shadow:0 16px 35px rgba(0,0,0,.15);padding:12px;flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks a{padding:12px 10px;border-bottom:1px solid #eee}.navlinks a:last-child{border-bottom:none}.navlinks a.active{border-color:#eee;background:#faf8f4}.cards.four{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  section{padding:68px 0}.wrap,.hero-inner,.band-inner,.footer-inner{width:min(100% - 36px,var(--max))}.hero{min-height:600px}.hero-inner{padding:84px 0}.service-grid,.cards,.cards.two,.catalog-grid,.feature,.media-split,.contact-grid,.resource-grid{grid-template-columns:1fr}.feature.reverse>div:first-child,.feature.reverse>div:last-child{order:initial}.feature-img{min-height:360px}.page-hero{min-height:370px}.page-hero .wrap{padding:68px 0}.footer-inner{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-meta{text-align:left}.cards.four{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  h1{font-size:48px}.logo img{width:176px}.nav{padding:10px 16px}.topbar{font-size:9.5px}.band-inner{flex-direction:column;align-items:flex-start}.cards.four,.value-grid{grid-template-columns:1fr}.service-card .body,.card,.catalog-card{padding:22px}.resource{align-items:flex-start;flex-direction:column}.resource a{white-space:normal}.page-hero.solid::after{right:-10%;font-size:250px}.footer-logo{width:200px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Training registration actions */
.card .actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 14px}.card .actions .btn{flex:0 1 auto}.card .fine{margin-top:8px}


/* Final studio refinements */
.founder-profile{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:center}.founder-photo{margin:0;justify-self:end;width:260px}.founder-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;border:1px solid #343434;box-shadow:0 18px 45px rgba(0,0,0,.28)}.founder-photo figcaption{padding-top:12px;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-top:2px solid var(--gold);margin-top:10px}.founder-photo figcaption span{display:block;color:#8f8f8f;font-size:10px;font-weight:700;margin-top:4px;letter-spacing:.05em}.founder-values{margin-top:48px}
.payment-notice{margin:26px 0 8px}.payment-notice a{color:var(--gold-dark);font-weight:900}.payment-notice strong{display:inline-block;margin-right:4px}
/* Training hero: black field on the left, clean cropped image on the right. */
.page-hero.training{background-image:none;background-color:#070707;overflow:hidden}.page-hero.training::after{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;width:68%;background:url('images/training-hero-clean.jpg') center 42%/cover no-repeat}.page-hero.training::before{z-index:1;background:linear-gradient(90deg,#070707 0%,#070707 31%,rgba(7,7,7,.94) 43%,rgba(7,7,7,.62) 57%,rgba(7,7,7,.20) 76%,rgba(7,7,7,.12) 100%)}.page-hero.training .wrap{z-index:2}
/* NFA hero: suppressor image on the right, fading into Watchmen black for readable copy. */
.page-hero.nfa{min-height:390px;background:#080808;overflow:hidden}.page-hero.nfa::after{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;width:72%;background:url('images/nfa-hero.webp') center/cover no-repeat}.page-hero.nfa::before{z-index:1;background:linear-gradient(90deg,#080808 0%,#080808 32%,rgba(8,8,8,.94) 43%,rgba(8,8,8,.62) 58%,rgba(8,8,8,.25) 78%,rgba(8,8,8,.10) 100%)}.page-hero.nfa .wrap{z-index:2}
/* Maryland-specific hero: restrained flag pattern fading into Watchmen black. */
.page-hero.maryland{min-height:390px;background:#080808;overflow:hidden}.page-hero.maryland::after{content:"";position:absolute;z-index:0;inset:0 0 0 36%;background:url('images/maryland-flag-user.png') center/cover no-repeat;opacity:.50;filter:saturate(.92) contrast(.95)}.page-hero.maryland::before{z-index:1;background:linear-gradient(90deg,#080808 0%,#080808 34%,rgba(8,8,8,.93) 43%,rgba(8,8,8,.62) 59%,rgba(8,8,8,.28) 80%,rgba(8,8,8,.20) 100%)}.page-hero.maryland .wrap{z-index:2}
/* Church Security: understated but clearly visible architectural silhouette. */
.page-hero.church{min-height:390px;background:#080808;overflow:hidden}.page-hero.church::after{content:"";position:absolute;z-index:0;inset:0 0 0 26%;background:url('images/church-outline.svg') right center/cover no-repeat;opacity:1;filter:saturate(1.06) contrast(1.08)}.page-hero.church::before{z-index:1;background:linear-gradient(90deg,#080808 0%,#080808 34%,rgba(8,8,8,.80) 46%,rgba(8,8,8,.18) 72%,rgba(8,8,8,.06) 100%)}.page-hero.church .wrap{z-index:2}
@media(max-width:820px){.founder-profile{grid-template-columns:1fr;gap:30px}.founder-photo{justify-self:start;width:230px}.page-hero.training::after{width:78%;opacity:.78;background-position:42% center}.page-hero.maryland::after{inset:0 0 0 26%;opacity:.42}.page-hero.church::after{inset:0 0 0 14%;opacity:.96;background-size:cover}.page-hero.maryland::before,.page-hero.church::before{background:linear-gradient(90deg,#080808 0%,#080808 42%,rgba(8,8,8,.72) 64%,rgba(8,8,8,.22) 100%)}}
@media(max-width:560px){.founder-photo{width:200px}.page-hero.training::after{width:100%;opacity:.42}.page-hero.training::before{background:linear-gradient(90deg,rgba(7,7,7,.98),rgba(7,7,7,.73))}.page-hero.maryland::after{inset:0;opacity:.22}.page-hero.church::after{inset:0;opacity:.54;background-position:68% center;background-size:cover}.page-hero.maryland::before,.page-hero.church::before{background:rgba(8,8,8,.68)}}


/* Studio QA pass: About, Training and responsive polish */
.founder-profile .lead{max-width:760px}.founder-values{margin-top:42px}.payment-notice{max-width:100%;margin:28px 0 30px}.training-process{align-items:start}.training-process .notice{margin-top:4px}
@media(max-width:1120px){
  .navlinks{max-height:calc(100vh - 118px);overflow-y:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:820px){
  section{padding:64px 0}.page-hero{min-height:350px}.page-hero .wrap{padding:62px 0}.page-hero h1{max-width:88%}.cards{gap:14px;margin-top:30px}.value-grid{margin-top:32px}.founder-values{margin-top:34px}.payment-notice{margin:24px 0}.training-process{gap:34px}.footer{padding-top:48px}.footer-inner{gap:34px}
}
@media(max-width:560px){
  .topbar{padding:7px 10px;font-size:9px;letter-spacing:.055em;line-height:1.4}.nav{padding:9px 14px;gap:16px}.logo img{width:165px}.menu-btn{padding:9px 11px;font-size:11px}.navlinks{left:10px;right:10px;padding:8px}.navlinks a{padding:11px 9px;font-size:10px}
  .wrap,.hero-inner,.band-inner,.footer-inner{width:min(100% - 28px,var(--max))}section{padding:54px 0}h1{font-size:clamp(40px,13vw,50px)}h2{font-size:clamp(30px,10vw,40px);margin-bottom:18px}.lead{font-size:17px}.prose p{font-size:17px;line-height:1.58}.eyebrow,.kicker{font-size:10px;letter-spacing:.18em}
  .page-hero{min-height:315px}.page-hero .wrap{padding:50px 0}.page-hero h1{font-size:clamp(38px,12vw,50px);max-width:94%;line-height:.96}.page-hero.training::after{width:100%;opacity:.46;background-position:54% 38%}.page-hero.training::before{background:linear-gradient(90deg,rgba(7,7,7,.98) 0%,rgba(7,7,7,.88) 46%,rgba(7,7,7,.58) 100%)}
  .cards{margin-top:26px}.card,.service-card .body,.catalog-card{padding:20px}.card .actions,.actions{gap:9px}.card .actions .btn,.actions .btn{width:100%;text-align:center;white-space:normal;padding:13px 14px}.card .fine{line-height:1.5}.payment-notice{margin:20px 0 24px;padding:18px 18px}.payment-notice strong{display:block;margin:0 0 5px}.training-process{gap:28px}
  .founder-profile{gap:26px}.founder-photo{width:min(220px,72vw);justify-self:start}.founder-photo img{aspect-ratio:1/1;object-position:center 18%}.founder-photo figcaption{font-size:11px}.founder-values{margin-top:30px}.value{padding:22px}.quote{font-size:clamp(27px,9vw,38px)}
  .resource{padding:18px}.resource a{width:100%;text-align:center}.contact-box a{font-size:20px;overflow-wrap:anywhere}.footer{padding:42px 0 28px}.footer-inner{gap:28px}.footer-links{gap:11px 16px}.legal{margin-top:26px;padding-top:18px}.footer-logo{width:188px}
}

/* v8 refinements: About founder photo + Contact seal */
.founder-photo{display:block}
.page-hero.contact-hero{min-height:360px;background:#0c0c0c;overflow:hidden}
.page-hero.contact-hero::after{content:"";position:absolute;z-index:0;right:4.5%;top:50%;transform:translateY(-50%);width:min(31vw,360px);aspect-ratio:1/1;background:url('images/seal-contact.png') center/contain no-repeat;opacity:.38}
.page-hero.contact-hero::before{z-index:1;background:linear-gradient(90deg,#080808 0%,#080808 45%,rgba(8,8,8,.84) 60%,rgba(8,8,8,.28) 82%,rgba(8,8,8,.12) 100%)}
.page-hero.contact-hero .wrap{z-index:2}
@media(max-width:820px){.page-hero.contact-hero::after{right:-2%;width:min(42vw,320px);opacity:.30}}
@media(max-width:560px){.page-hero.contact-hero::after{right:-12%;width:60vw;opacity:.22}.page-hero.contact-hero::before{background:linear-gradient(90deg,rgba(8,8,8,.98),rgba(8,8,8,.64))}}

/* NFA hero responsive refinements */
@media(max-width:820px){.page-hero.nfa::after{width:82%;background-position:54% center}.page-hero.nfa::before{background:linear-gradient(90deg,#080808 0%,#080808 40%,rgba(8,8,8,.78) 66%,rgba(8,8,8,.28) 100%)}}
@media(max-width:560px){.page-hero.nfa::after{width:100%;opacity:.52;background-position:58% center}.page-hero.nfa::before{background:linear-gradient(90deg,rgba(8,8,8,.98) 0%,rgba(8,8,8,.84) 50%,rgba(8,8,8,.54) 100%)}}
