@font-face{font-family:Bebas;src:url('assets/fonts/BebasNeue-Regular.ttf')}@font-face{font-family:Pirata;src:url('assets/fonts/PirataOne-Regular.ttf')}@font-face{font-family:Metal;src:url('assets/fonts/MetalMania-Regular.ttf')}@font-face{font-family:DM;src:url('assets/fonts/DMSerifDisplay-Regular.ttf')}@font-face{font-family:Ops;src:url('assets/fonts/BlackOpsOne-Regular.ttf')}
:root{--ink:#121710;--paper:#fff2d9;--muted:#c5c6b7;--accent:#e9b776;--line:#414739}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--paper);background:var(--ink) url('assets/paper.webp') repeat;font-family:Arial,sans-serif;font-size:16px;line-height:1.6}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #e9b776;outline-offset:5px}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Bebas,sans-serif;font-weight:400;line-height:.98;letter-spacing:.005em}h1{font-size:clamp(4.5rem,7.8vw,8.5rem);margin-bottom:30px}h2{font-size:clamp(3.2rem,5.1vw,5.6rem);margin-bottom:25px}h1 em,h2 em{font-style:normal;color:var(--accent)}.eyebrow{font:14px/1.6 monospace;letter-spacing:.1em;text-transform:uppercase}.top{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid var(--line);background:#121710ed}.brand{display:inline-block;font-family:Bebas,sans-serif;line-height:.9;text-decoration:none;transform:skew(-7deg);border-inline:3px solid var(--paper);padding:0 15px}.brand strong{font-weight:400;font-size:34px;letter-spacing:.04em}.brand span{display:block;letter-spacing:.42em;font-size:18px;margin-top:9px}.top nav{display:flex;align-items:center;gap:30px}.top nav a{text-decoration:none;font-size:15px}.top nav a:hover{text-decoration:underline}.picks-button{background:none;border:1px solid #777f6c;padding:9px 16px}.picks-button span{color:var(--accent);margin-left:10px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px;padding:70px 5% 45px;gap:2%;max-width:1600px;margin:auto}.hero-copy{z-index:1;align-self:center}.hero .eyebrow{color:var(--accent)}.intro{max-width:470px;font-size:20px;line-height:1.55}.button{display:inline-block;background:var(--accent);color:var(--ink);border:2px solid var(--accent);padding:13px 25px;text-decoration:none;font-weight:700;box-shadow:4px 4px 0 #050605;transition:transform .16s}.button:hover{transform:translate(-2px,-2px)}.maker-note{margin-top:32px;font:16px/1.5 monospace;color:var(--muted);transform:rotate(-2deg)}.hero-art{position:relative;min-height:550px;background:radial-gradient(ellipse at 50% 60%,#82704550,transparent 64%)}.hero-art img{position:absolute;object-fit:contain;filter:drop-shadow(7px 15px 7px #0008)}.hero-one{width:38%;height:80%;left:0;bottom:7%;transform:rotate(-9deg)}.hero-two{width:39%;height:76%;left:31%;bottom:0;transform:rotate(4deg);z-index:2}.hero-three{width:32%;height:74%;right:0;bottom:15%;transform:rotate(10deg)}.stamp{position:absolute;right:5%;top:0;z-index:3;background:var(--accent);color:var(--ink);border:2px dashed var(--ink);outline:7px solid var(--accent);padding:12px 19px;font:37px/.9 Bebas;text-align:center;transform:rotate(9deg)}.stamp small{font:12px/1.4 monospace;display:block;margin-top:9px}.scribble{position:absolute;bottom:-18px;right:10%;font:22px DM;transform:rotate(-5deg);z-index:3}.tape{background:var(--accent);color:var(--ink);display:flex;justify-content:space-around;gap:25px;padding:15px 4%;font:28px Bebas;transform:rotate(-1deg);margin:25px 0 60px}.tape i{font-style:normal}.collection{padding:55px 5% 90px;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end}.section-heading>p{max-width:390px;color:var(--muted)}.section-heading .eyebrow{color:var(--accent)}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.filter{background:#121710;border:1px solid #69705f;padding:10px 23px;min-height:46px}.filter.active,.filter:hover{background:var(--paper);color:var(--ink)}.result-count{font:14px monospace;color:var(--muted);margin:25px 0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.product-card{--cat:var(--accent);background:#161b14;border:1px solid #454a3d;position:relative}.product-card:nth-child(3n+2){transform:translateY(12px)}.card-open{display:block;width:100%;border:0;padding:0;background:none;text-align:left}.product-stage{height:365px;position:relative;background-position:center;background-size:cover;overflow:hidden}.product-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(#0006,#0000 60%,#0004)}.product-stage>img{height:85%;width:83%;object-fit:contain;position:absolute;bottom:4%;left:8%;filter:drop-shadow(0 9px 6px #0008);transition:transform .2s}.card-open:hover img{transform:translateY(-6px) rotate(1deg)}.catalog-id{position:absolute;top:16px;left:19px;z-index:1;color:var(--cat);font:32px Bebas}.category-label{position:absolute;right:16px;top:22px;font:12px monospace;letter-spacing:.07em;color:var(--paper)}.card-info{padding:21px 21px 17px}.card-info h3{font:33px/1.1 var(--title);color:var(--cat);margin-bottom:12px}.card-info p{font-size:15px;line-height:1.5;color:var(--muted);min-height:45px}.view-link{font:16px Bebas;letter-spacing:.1em;border-bottom:1px solid var(--cat);padding-bottom:3px}.card-foot{padding:0 21px 21px;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-foot span{font:12px monospace;color:var(--muted)}.add-pick{background:none;border:1px solid #727a66;padding:7px 13px;font-size:14px}.add-pick.selected{color:var(--ink);background:var(--cat)}.workshop{background:var(--paper);color:var(--ink);padding:75px 7%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;clip-path:polygon(0 2%,100% 0,100% 98%,0 100%)}.workshop-photo{min-height:570px;position:relative;background:#dbd0b8;border:1px solid #a8997b;transform:rotate(-3deg);box-shadow:10px 12px 0 #171d1320}.workshop-photo img{height:530px;width:100%;object-fit:contain;padding:35px 30px 5px}.photo-note{position:absolute;bottom:30px;left:25px;font:28px/.98 Bebas;background:var(--paper);padding:15px;transform:rotate(5deg)}.workshop-copy h2 em{color:#866032}.workshop-copy p{font-size:18px}.hand-note{font:24px/1.3 DM;transform:rotate(-2deg);margin:30px 0 0}.custom{max-width:1450px;margin:auto;padding:100px 6%;display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:center}.custom p{max-width:470px;font-size:18px}.custom .eyebrow{font-size:14px;color:var(--accent)}.custom-photo{position:relative}.custom-photo img{width:100%;max-height:540px;object-fit:contain;filter:drop-shadow(8px 12px 8px #0008)}.custom-tag{position:absolute;bottom:0;right:0;background:var(--accent);color:var(--ink);font:16px monospace;padding:15px;transform:rotate(5deg)}.good-to-know{padding:30px 6% 90px;max-width:1100px;margin:auto}.good-to-know h2{font-size:50px}details{border-top:1px solid #68705e;padding:20px 0}details:last-child{border-bottom:1px solid #68705e}summary{cursor:pointer;font-size:19px}details p{margin:20px 0 0;max-width:820px;color:var(--muted)}footer{padding:45px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{margin:0;color:var(--muted);font-size:15px}footer>a:last-child{font-size:14px}dialog{color:var(--paper);background:#151b13;border:1px solid #8b927d;padding:28px;width:min(1120px,94vw);max-height:92vh;overflow:auto}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:15px}.dialog-top .eyebrow{margin:0}.close{padding:8px 14px;background:none;border:1px solid #7b846d}.detail-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:35px}.gallery-main{height:530px;background:#090d08 url('assets/paper.webp') center/cover}.gallery-main img{width:100%;height:100%;object-fit:contain;padding:15px}.thumbs{display:flex;gap:8px;margin-top:12px;overflow:auto}.thumbs button{min-width:74px;width:74px;height:92px;background:#0a0d08;border:1px solid #68745d;padding:6px}.thumbs button.active{border:2px solid var(--accent)}.thumbs img{width:100%;height:100%;object-fit:contain}.detail-copy{align-self:center}.detail-copy h2{font:50px/1.06 var(--title)}.detail-copy>p{font-size:18px}.detail-note{color:var(--accent);font-size:14px!important}.text-link{display:block;margin:25px 0;cursor:pointer}.fine{color:var(--muted);font-size:14px!important}.detail-copy .eyebrow{color:var(--accent);font-size:14px}.detail-copy .button{width:100%}#picks-dialog{max-width:680px}#picks-title{font-size:58px}.pick-item{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #46523d;padding:13px 0}.pick-item button{border:0;background:none;text-decoration:underline;font-size:14px}#picks-list{margin-bottom:25px}label[for=pick-note]{display:block;margin:20px 0 9px}textarea{width:100%;background:#0d110b;border:1px solid #69765e;color:var(--paper);padding:12px;resize:vertical}.pick-actions{display:flex;gap:15px;margin-top:20px;flex-wrap:wrap}.secondary{background:transparent;color:var(--accent)}#copy-status{margin-top:15px;color:var(--accent)}
@media(min-width:1600px){.hero{min-height:760px}.product-stage{height:430px}}@media(max-width:900px){.top nav{gap:15px}.top nav a{display:none}.hero{grid-template-columns:1fr 1fr;padding-top:45px;min-height:580px}.hero-art{min-height:480px}.hero h1{font-size:75px}.intro{font-size:18px}.stamp{font-size:27px}.stamp small{font-size:12px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-stage{height:330px}.product-card:nth-child(3n+2){transform:none}.section-heading>p{max-width:300px}.workshop{gap:5%;padding:65px 5%}.workshop-photo{min-height:440px}.workshop-photo img{height:430px}.workshop-copy p{font-size:16px}.detail-layout{grid-template-columns:1fr 1fr}.gallery-main{height:430px}}
@media(max-width:600px){.top{padding:18px 5%}.brand strong{font-size:27px}.brand span{font-size:14px}.picks-button{font-size:14px;padding:8px 11px}.hero{grid-template-columns:1fr;padding-top:35px;gap:0}.hero h1{font-size:78px;margin-bottom:22px}.hero .eyebrow{font-size:12px}.hero-copy .intro{max-width:95%}.hero-art{min-height:400px;max-width:500px;width:100%;margin:auto}.hero-copy .maker-note{display:none}.stamp{right:3%;top:15px}.hero-three{bottom:12%}.scribble{bottom:-3px}.tape{font-size:21px;gap:8px;padding:12px 2%;margin-bottom:25px}.tape i{display:none}.section-heading{display:block}.section-heading>p{max-width:none}.collection{padding-top:35px}.filter-row{gap:7px}.filter{padding:9px 13px;font-size:14px}.product-grid{gap:22px 13px}.product-stage{height:240px}.catalog-id{font-size:27px;top:12px;left:12px}.category-label{display:none}.card-info{padding:15px 12px}.card-info h3{font-size:27px}.card-info p{display:none}.card-foot{padding:0 12px 15px;display:block}.card-foot span{display:block;font-size:12px;margin-bottom:9px}.add-pick{width:100%;font-size:13px}.view-link{font-size:14px}.workshop{display:flex;flex-direction:column;padding:60px 7%;gap:45px;clip-path:polygon(0 1%,100% 0,100% 99%,0 100%)}.workshop-photo{width:90%;min-height:400px}.workshop-photo img{height:390px}.custom{grid-template-columns:1fr;padding:70px 6%;gap:45px}.custom-photo img{max-height:350px}.good-to-know{padding-bottom:65px}.good-to-know h2{font-size:44px}footer{align-items:flex-start;flex-wrap:wrap}footer p{font-size:14px}dialog{padding:18px}.detail-layout{grid-template-columns:1fr;gap:25px}.gallery-main{height:340px}.detail-copy h2{font-size:42px}.thumbs button{min-width:60px;width:60px;height:74px}.detail-copy .button{width:auto}.dialog-top .eyebrow{font-size:12px}.close{font-size:14px}.detail-copy>p{font-size:16px}.gallery{order:1}.detail-copy{order:0}#picks-title{font-size:46px}.pick-actions .button{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Keep each photographed product locked to its scene at every screen size. */
.product-stage{height:auto;aspect-ratio:4/5;background:#171c15;isolation:isolate}.product-stage:before{display:none}.product-stage>img{inset:0;width:100%;height:100%;object-fit:contain;filter:none;transition:none}.card-open:hover img{transform:none}.catalog-id,.category-label{text-shadow:0 2px 5px #000;z-index:2}
.hero-art{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;min-height:540px;padding:105px 0 65px}.hero-art img{position:static;width:100%;height:350px;object-fit:contain;object-position:center bottom;transform:none;filter:drop-shadow(0 12px 8px #0008)}.hero-art .hero-one{height:390px}.hero-art .hero-two{height:320px}.hero-art .hero-three{height:355px}.stamp{top:0;right:4%;font-size:27px;padding:10px 17px;transform:rotate(5deg)}.scribble{bottom:12px;right:12%;transform:rotate(-3deg)}
.gallery-main{background:radial-gradient(ellipse at center,#42483f 0,#252c23 70%,#1b2119 100%);height:auto;min-height:460px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}.gallery-main img{width:100%;height:100%;max-height:570px;object-fit:contain;padding:28px}.gallery-main:has(.poster-image){background:#101510;aspect-ratio:4/5}.gallery-main .poster-image{padding:0;max-height:none}.thumbs button{background:#30372b}
.workshop-photo{padding-bottom:90px}.workshop-photo img{height:460px;padding:25px 30px 0;object-fit:contain;object-position:center bottom}.photo-note{bottom:15px;left:20px;transform:rotate(2deg);font-size:24px}.custom-photo{padding-bottom:70px}.custom-tag{bottom:0;right:4%;transform:rotate(3deg)}
@media(max-width:900px){.hero-art{gap:8px;min-height:440px;padding-top:95px}.hero-art .hero-one{height:300px}.hero-art .hero-two{height:240px}.hero-art .hero-three{height:270px}.product-stage{height:auto}.gallery-main{min-height:350px}.workshop-photo img{height:360px}}
@media(max-width:600px){.hero-art{min-height:380px;padding:90px 0 55px;gap:12px}.hero-art .hero-one{height:255px}.hero-art .hero-two{height:210px}.hero-art .hero-three{height:230px}.stamp{top:22px;font-size:21px;right:7%;padding:8px 13px}.stamp small{font-size:10px}.scribble{font-size:20px;bottom:6px}.product-stage{height:auto}.gallery{order:0}.detail-copy{order:1}.gallery-main{aspect-ratio:4/5;min-height:300px;max-height:460px}.gallery-main img{max-height:460px;padding:20px}.gallery-main .poster-image{max-height:460px;padding:0}.workshop-photo img{height:330px}.custom-photo{padding-bottom:85px}}
/* Collection-first navigation, enquiry and aligned mobile cards. */
.tape a{text-decoration:none;padding:8px 12px;display:block}.tape a:hover,.tape a:focus-visible{background:#121710;color:var(--paper)}.tape{align-items:center}.category-section{scroll-margin-top:24px;margin:55px 0 75px}.category-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cat);padding-bottom:16px;margin-bottom:25px;gap:20px}.category-heading h3{font:48px/1.1 var(--title);color:var(--cat);margin:0}.category-heading>a{font-size:14px}.price-key{padding:20px 0;border-block:1px solid var(--line);font-size:16px}.price-key a{color:var(--accent);white-space:nowrap}.product-card{display:flex;flex-direction:column}.product-card:nth-child(3n+2){transform:none}.card-open{flex:1;display:flex;flex-direction:column}.card-info{width:100%;flex:1;display:flex;flex-direction:column}.card-info h3{font-size:32px;min-height:3.3em;display:flex;align-items:flex-start}.card-info p{min-height:3em}.view-link{align-self:flex-start;margin-top:auto}.card-price{padding:0 21px 18px;min-height:78px;font-size:16px;font-weight:700;color:var(--cat)}.card-price small{display:block;font-weight:400;font-size:14px;margin-top:5px}.card-foot{margin-top:auto}.contact-section{padding:85px 6%;display:grid;grid-template-columns:1fr 1.15fr;gap:7%;max-width:1450px;margin:auto;border-top:1px solid var(--line)}.contact-intro>p{max-width:460px;font-size:18px}.contact-intro .eyebrow{font-size:14px;color:var(--accent)}.contact-address{font-size:clamp(16px,2vw,24px);overflow-wrap:anywhere;color:var(--accent)}#enquiry-form{background:#1c2419;border:1px solid #616e54;padding:28px}#enquiry-form h3{font:36px Bebas;margin:0 0 14px}#enquiry-form label{display:block;margin:20px 0 8px}#enquiry-form input{width:100%;min-width:0;background:#0d110b;color:var(--paper);border:1px solid #69765e;padding:12px;font-size:16px}#enquiry-form textarea{font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}#enquiry-status{color:var(--accent);font-size:15px;margin-top:16px}.custom-pricing{font-size:16px!important;color:var(--accent)}.workshop{padding-block:55px}.workshop h2{font-size:48px}.workshop-copy p{font-size:16px}.maker-note{display:block!important;transform:none;font-size:15px}.hero h1{font-size:clamp(4.5rem,7.8vw,8.5rem)}
@media(max-width:900px){.contact-section{grid-template-columns:1fr;gap:30px}.contact-intro>p{max-width:none}.category-heading h3{font-size:40px}.hero h1{font-size:75px}}
@media(max-width:600px){.hero h1{font-size:clamp(3.4rem,14vw,4.9rem)}.tape{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;transform:none;text-align:center}.tape a{font-size:24px;border:1px solid #12171044}.category-section{margin:38px 0 55px}.category-heading h3{font-size:34px}.category-heading a{font-size:13px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px 12px}.card-info{padding:14px 11px}.card-info h3{font-size:clamp(20px,5.3vw,26px);line-height:1.15;min-height:3.45em;margin:0 0 12px;overflow-wrap:normal}.card-price{padding:0 11px 12px;font-size:14px;line-height:1.45;min-height:96px}.card-price small{font-size:12px}.card-foot{padding:0 11px 14px}.card-foot span{font-size:12px}.card-foot button{min-height:40px;font-size:14px}.contact-section{padding:55px 5%}.form-row{grid-template-columns:1fr;gap:0}#enquiry-form{padding:20px 16px}#enquiry-form .pick-actions{flex-direction:column}.contact-intro>p{font-size:16px}.price-key{font-size:15px}.workshop h2{font-size:40px}}

/* Custom Grips: preserve the complete photographed pair. */
.product-stage.custom-grip-stage{background:linear-gradient(0deg,#141b1299,#141b1233),url("assets/bg-firearms.webp") center/cover no-repeat}
.product-stage.custom-grip-stage>img{inset:auto;left:3%;bottom:15%;width:94%;height:64%;object-fit:contain;filter:drop-shadow(0 8px 5px #0008)}

/* Visible glyph bounds measured at 1000px from the bundled fonts.
   app.js normalizes each category label and product title to .850em. */
.card-info h3{--label-size:32px;font-size:calc(var(--label-size)*var(--font-scale,1));line-height:calc(var(--label-size)*1.25);min-height:calc(var(--label-size)*3.75);font-weight:400}
.category-heading h3{--label-size:48px;font-size:calc(var(--label-size)*var(--font-scale,1));line-height:calc(var(--label-size)*1.25);font-weight:400}
.detail-copy h2{--label-size:50px;font-size:calc(var(--label-size)*var(--font-scale,1));line-height:calc(var(--label-size)*1.25);font-weight:400}
@media(max-width:900px){.category-heading h3{--label-size:40px}.detail-copy h2{--label-size:42px}}
@media(max-width:600px){.category-heading h3{--label-size:34px}.card-info h3{--label-size:clamp(20px,5.3vw,26px)}.card-info p{min-height:5em}}

/* Photo angle controls */
.product-stage,.gallery-main{position:relative}
.card-photo-open{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;padding:0;border:0;background:transparent;cursor:pointer}
.card-photo-open img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.card-photo-open img.angle-cutout{object-fit:contain;padding:8% 12%;background:#252720}
.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:44px;border:1px solid #d8c9aa88;border-radius:5px;background:#131813d9;color:#fff5dc;font:32px/1 Arial;cursor:pointer;display:grid;place-items:center;padding:0}
.photo-prev{left:8px}.photo-next{right:8px}.photo-arrow[hidden]{display:none}
.photo-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:0;z-index:4;background:#131813bc;border-radius:20px;padding:2px 5px;max-width:95%}
.photo-dot{width:28px;height:28px;border:0;padding:9px;background:transparent;cursor:pointer}
.photo-dot:after{content:"";display:block;width:10px;height:10px;border:1px solid #fff1d5;border-radius:50%;background:transparent;box-sizing:border-box}
.photo-dot.active:after{background:#edb16a;border-color:#edb16a}
.photo-arrow:focus-visible,.photo-dot:focus-visible,.card-photo-open:focus-visible{outline:3px solid #edb16a;outline-offset:2px}
.gallery-main{touch-action:pan-y;overflow:hidden}
.gallery-main #detail-image{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;padding-bottom:32px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
