:root{--bk:#0b0c0a;--ch:#15170f;--ch2:#1d2017;--line:#2c3024;--od:#4b5320;--od2:#6b7536;--fde:#c8a96a;--tx:#ecebe4;--mu:#a3a596;--or:#ff6a13;--ok:#7fb24a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--tx);background:var(--bk);background-image:radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:4px 4px}
a{color:var(--fde)}img{max-width:100%;display:block}.wrap{max-width:1200px;margin:0 auto;padding:0 18px}
h1,h2,h3,.logo,.kicker,.stats b,.badge,.pill,button,.btn,.nav nav a{font-family:Oswald,Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.topbar{background:var(--od);color:#e9ecd6;font-size:12px;text-align:center;padding:5px 10px;letter-spacing:.08em;text-transform:uppercase}
.flag{vertical-align:-1px;margin-right:4px;opacity:.9}
.nav{position:sticky;top:0;z-index:20;background:rgba(11,12,10,.94);backdrop-filter:blur(8px);border-bottom:2px solid var(--or)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:62px;gap:16px}
.logo{font-size:26px;font-weight:700;color:var(--tx);text-decoration:none;letter-spacing:.02em}.logo span{color:var(--or)}
.nav nav{display:flex;gap:18px;align-items:center}.nav nav a{color:var(--mu);text-decoration:none;font-size:15px}.nav nav a:hover{color:var(--tx)}
.nav nav a.hot{color:var(--fde)}.nav nav a.cta{background:var(--or);color:#111;padding:6px 14px;border-radius:3px;font-weight:700}
.burger{display:none;font-size:26px;cursor:pointer}
@media(max-width:900px){.burger{display:block}.nav nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--ch);padding:10px 18px;gap:6px;border-bottom:2px solid var(--or)}.nav nav a{padding:8px 0}#menu:checked~nav{display:flex}}
.hero{position:relative;padding:70px 0 54px;background:linear-gradient(180deg,rgba(75,83,32,.35),rgba(11,12,10,0) 80%),repeating-linear-gradient(135deg,rgba(200,169,106,.04) 0 2px,transparent 2px 14px);border-bottom:1px solid var(--line)}
.hero.sm{padding:46px 0 34px}
.kicker{color:var(--or);font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}
h1{font-size:clamp(38px,7vw,76px);line-height:.98;margin:10px 0 14px;font-weight:700}.hero.sm h1{font-size:clamp(32px,5.5vw,56px)}
.lead{font-size:clamp(16px,2vw,19px);color:var(--mu);max-width:720px;margin:0}.lead b{color:var(--tx)}
.search{display:flex;max-width:640px;margin:26px 0 0;border:2px solid var(--fde);border-radius:4px;overflow:hidden;background:var(--ch)}
.search input{flex:1;border:0;background:transparent;color:var(--tx);font-size:17px;padding:14px 16px;min-width:0}.search input:focus{outline:none}
.search button,.sub button{border:0;background:var(--or);color:#111;font-weight:700;font-size:17px;padding:0 24px;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);max-width:760px;margin-top:30px;border:1px solid var(--line)}
.stats div{background:var(--ch);padding:14px 16px}.stats b{display:block;font-size:34px;color:var(--fde);line-height:1}.stats span{font-size:12px;color:var(--mu);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:600px){.stats{grid-template-columns:repeat(2,1fr)}}
.nfa{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center;text-decoration:none;color:var(--tx);background:linear-gradient(90deg,var(--od),#2c3214);border-left:6px solid var(--or);padding:20px 24px;border-radius:4px}
.nfa b{font-size:clamp(16px,2.2vw,21px);grid-column:1}.nfa .go{grid-column:2;grid-row:1/3;font-family:Oswald;text-transform:uppercase;color:var(--or);font-size:18px;white-space:nowrap}
@media(max-width:700px){.nfa{grid-template-columns:1fr}.nfa .go{grid-column:1;grid-row:auto}}
.sec{padding:44px 18px 8px}.sh{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:8px}
.sh h2{margin:0;font-size:clamp(26px,4vw,36px);position:relative;padding-left:14px}.sh h2::before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:5px;background:var(--or)}.sh p{margin:0;color:var(--mu)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{display:flex;flex-direction:column;background:var(--ch);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--tx);transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:var(--fde)}
.media{aspect-ratio:3/2;background:#0f100c;display:flex;align-items:center;justify-content:center}.media img{width:100%;height:100%;object-fit:contain;background:#f3f2ee}
.ph{flex-direction:column;gap:6px;color:var(--od2);background:repeating-linear-gradient(45deg,#14160f 0 10px,#171a11 10px 20px)}.ph span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5d6352}
.ph.t-optic,.ph.t-accessory{color:#8c7a50}
.cb{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.badge{font-size:11px;font-weight:700;background:var(--od);color:#e9ecd6;padding:2px 8px;border-radius:2px}
.pill{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;border:1px solid}
.pill.announced{color:var(--fde);border-color:var(--fde);background:rgba(200,169,106,.1)}.pill.listed{color:var(--or);border-color:var(--or);background:rgba(255,106,19,.1)}.pill.shipping{color:#0b0c0a;background:var(--ok);border-color:var(--ok)}
.brand{color:var(--mu);font-size:13px;margin-top:10px;text-transform:uppercase;letter-spacing:.08em}
.card h3{font-size:20px;line-height:1.15;margin:2px 0 12px;font-weight:500}
.foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}.foot b{font-family:Oswald;font-size:20px;color:var(--fde)}
.usa{font-size:11px;color:var(--tx);border:1px solid var(--line);padding:2px 6px;border-radius:2px;white-space:nowrap}
.hubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.hub{background:var(--ch);border:1px solid var(--line);padding:20px;border-radius:6px;text-decoration:none;color:var(--fde);display:flex;flex-direction:column;gap:4px}.hub b{font-family:Oswald;text-transform:uppercase;font-size:20px;color:var(--tx)}.hub span{color:var(--mu);font-size:13px}.hub:hover{border-color:var(--or)}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;margin-bottom:10px}@media(max-width:700px){.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}}
input,select{font:inherit;padding:10px 12px;border-radius:4px;border:1px solid var(--line);background:var(--ch);color:var(--tx)}
.count{color:var(--mu);font-size:14px;margin-bottom:6px}.tw{border:1px solid var(--line);border-radius:6px;overflow:hidden}
table{width:100%;border-collapse:collapse;background:var(--ch)}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{cursor:pointer;color:var(--fde);font-family:Oswald;text-transform:uppercase;letter-spacing:.05em;font-weight:500;background:var(--ch2)}td.p a{color:var(--tx);font-weight:600;text-decoration:none}td.p a:hover{color:var(--or)}
@media(max-width:700px){thead{display:none}table,tbody,tr,td{display:block;width:100%}tr{border-bottom:1px solid var(--line);padding:8px 0}td{border:0;padding:3px 14px}td[data-l]::before{content:attr(data-l)": ";color:var(--mu)}}
.news{margin-top:56px;background:linear-gradient(120deg,#22260f,var(--ch) 60%);border-top:3px solid var(--or);border-bottom:1px solid var(--line);padding:46px 0}
.ncols{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}@media(max-width:800px){.ncols{grid-template-columns:1fr}}
.news h2{font-size:clamp(30px,4.5vw,46px);margin:4px 0 8px;line-height:1}.news p{color:var(--mu);margin:0}
.sub{display:grid;grid-template-columns:1fr auto;gap:10px}.sub input[type=email]{font-size:17px;padding:14px}.sub button{padding:14px 22px;border-radius:4px}.age{grid-column:1/-1;color:var(--mu);font-size:14px;display:flex;gap:8px;align-items:center}.msg{grid-column:1/-1;color:var(--or);min-height:1.2em;font-weight:600}
@media(max-width:500px){.sub{grid-template-columns:1fr}}
.ft{border-top:1px solid var(--line);margin-top:0;padding:40px 0 24px;background:#080907;color:var(--mu);font-size:14px}
.fcols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}@media(max-width:700px){.fcols{grid-template-columns:1fr 1fr}.fcols>div:first-child{grid-column:1/-1}}
.ft h4{font-family:Oswald;text-transform:uppercase;color:var(--tx);margin:0 0 8px;letter-spacing:.06em}.ft a:not(.logo){display:block;color:var(--mu);text-decoration:none;padding:2px 0}.ft a:hover{color:var(--or)}.legal{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:12px}
.crumbs{padding-top:22px;font-size:13px;color:var(--mu)}.crumbs a{color:var(--mu)}
.detail{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;padding-top:16px}@media(max-width:800px){.detail{grid-template-columns:1fr}}
.media.big{border:1px solid var(--line);border-radius:6px}.media.big svg{width:120px;height:120px}
.detail h1{font-size:clamp(30px,4.5vw,48px)}dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:18px 0;padding:16px;background:var(--ch);border:1px solid var(--line);border-radius:6px}dt{color:var(--mu);font-size:13px;text-transform:uppercase;letter-spacing:.06em}dd{margin:0;font-weight:600}
.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;background:var(--or);color:#111;text-decoration:none;padding:10px 18px;border-radius:4px;font-weight:700}.btn.ghost{background:transparent;color:var(--tx);border:1px solid var(--fde)}
.note{color:var(--mu);font-size:13px}
.prose{max-width:820px}.page{padding-top:10px}.page h1{font-size:clamp(32px,5vw,54px)}.prose h2{font-size:28px;margin-top:34px;border-left:5px solid var(--or);padding-left:12px}.prose li{margin:8px 0}
.box{background:var(--ch);border:1px solid var(--line);border-left:5px solid var(--fde);border-radius:4px;padding:18px 20px;margin:24px 0}
.empty{color:var(--mu)}
.ph .sil{width:62%;height:auto;opacity:.75}.media.big .sil{width:70%}
.hgrid{display:block}.rail,.trust{display:none}

/* theme overrides */
:root{--bk:#f6f1e7;--ch:#fffdf8;--ch2:#efe7d6;--line:#dccfb5;--od:#2f4a2a;--od2:#2f4a2a;--fde:#8a6a3a;--tx:#1f1d18;--mu:#6a6355;--or:#b5541e;--ok:#3d6b35}
body{background:#f6f1e7;font-family:"Source Serif 4",Georgia,serif}
h1,h2,h3,.logo,.stats b,.foot b,.hub b{font-family:"Playfair Display",Georgia,serif;text-transform:none;letter-spacing:0}
.kicker,.badge,.pill,button,.btn,.nav nav a,.ft h4,th,.nfa .go,.brand,.stats span{font-family:Inter,sans-serif;letter-spacing:.1em}
.topbar{background:#2f4a2a;color:#efe7d6}.nav{background:#f6f1e7;border-bottom:3px double #1f1d18}.logo{font-size:30px;font-weight:900}.logo span{color:#2f4a2a}.nav nav a{color:#1f1d18;font-size:13px}.nav nav a.hot{color:var(--or)}.nav nav a.cta{background:#2f4a2a;color:#f6f1e7}
.hero{background:linear-gradient(rgba(31,29,24,.0),rgba(31,29,24,0)),#efe7d6;border-bottom:1px solid var(--line);padding:80px 0 60px}h1{font-weight:900;font-size:clamp(44px,7vw,84px);color:#1f1d18}.lead{font-size:21px;color:#4a4436}
.kicker{color:var(--or)}.search{border:1px solid #1f1d18;background:#fffdf8;border-radius:0}.search button,.sub button{background:#2f4a2a;color:#f6f1e7}
.stats{background:var(--line)}.stats div{background:#fffdf8}.stats b{color:#2f4a2a;font-size:38px}
.nfa{background:#2f4a2a;color:#f6f1e7;border-left:0;border-top:4px solid var(--or);border-radius:0}.nfa .go{color:#f0c27b}
.sh{border-bottom:2px solid #1f1d18}.sh h2{font-size:40px;padding-left:0}.sh h2::before{display:none}
#shipped .grid{grid-template-columns:1fr}#shipped .card{flex-direction:row}#shipped .card .media{flex:1.3}#shipped .card .cb{flex:1;padding:30px}#shipped .card h3{font-size:38px}
.card{background:#fffdf8;border-color:var(--line);border-radius:0}.card h3{font-weight:700;font-size:23px}.card:hover{border-color:#2f4a2a}
.media{background:#efe7d6}.ph{background:radial-gradient(circle at 50% 60%,#f5ecd9,#e6d9bd);color:#b9a57d}.ph.t-optic,.ph.t-accessory{color:#a99368}
.badge{background:transparent;color:#2f4a2a;border:1px solid #2f4a2a}.pill.announced{color:#8a6a3a;border-color:#8a6a3a;background:transparent}.pill.shipping{color:#fffdf8}
.foot b{color:#1f1d18}.hub{background:#fffdf8;border-radius:0;color:#2f4a2a}.hub b{color:#1f1d18}th{background:#efe7d6;color:#2f4a2a}table{background:#fffdf8}input,select{background:#fffdf8;color:#1f1d18}
.news{background:#2f4a2a;color:#f6f1e7;border-top:0}.news p,.age{color:#d9d2bf}.news .kicker{color:#f0c27b}
.ft{background:#1f1d18;color:#b9b19d}.ft .logo span{color:#9fbf8f}.ft h4{color:#f6f1e7}.ft a:not(.logo){color:#b9b19d}.ft .logo{color:#f6f1e7}
.box,dl{background:#fffdf8}.btn{background:#2f4a2a;color:#f6f1e7}.btn.ghost{color:#1f1d18;border-color:#1f1d18}
.hero.home .hgrid{display:grid;grid-template-columns:1.45fr 1fr;gap:48px;align-items:start}@media(max-width:900px){.hero.home .hgrid{grid-template-columns:1fr}}
.trust{display:block;margin-top:16px;font-family:Inter,sans-serif;font-size:13px;color:#4a4436;letter-spacing:.02em}
.rail{display:block;background:#fffdf8;border:1px solid var(--line);border-top:4px solid #2f4a2a;padding:18px 20px}
.rail a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none;color:#1f1d18;font-family:"Playfair Display",serif;font-weight:700;font-size:17px;line-height:1.2}
.rail .rb{grid-column:1/-1;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a6a3a;font-weight:600}.rail .rs{grid-row:2;grid-column:2}
.rail a.railcta{display:block;border:0;margin-top:12px;background:#b5541e;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-weight:700;padding:12px 14px;text-align:center}
.foot b{font-size:17px}
