:root{--ink:#12140f;--ink2:#1b1e17;--cream:#f2eee4;--paper:#faf8f2;--olive:#5f6848;--gold:#b89962;--line:rgba(18,20,15,.16);--sans:'DM Sans',sans-serif;--serif:'Libre Caslon Display',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;background:#fff;padding:.8rem 1rem;z-index:100}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.notice{height:34px;background:#090a08;color:#c9c7be;display:flex;justify-content:center;align-items:center;gap:1rem;font-size:.68rem;letter-spacing:.17em;text-transform:uppercase}.notice-dot{color:var(--gold)}
.site-header{height:86px;position:absolute;z-index:10;top:34px;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);color:#fff;border-bottom:1px solid rgba(255,255,255,.16)}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7}.brand span{display:grid;line-height:1}.brand strong{font-size:1.25rem;letter-spacing:.14em}.brand small{font-size:.56rem;letter-spacing:.38em;margin-top:.35rem;color:#c4bbac}.site-header nav{display:flex;align-items:center;gap:2.1rem}.site-header nav>a{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.nav-call{border-left:1px solid rgba(255,255,255,.25);padding-left:2.1rem;color:#e3c590}.menu-toggle{display:none;background:none;border:0;color:#fff;padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:currentColor;margin:5px}
.hero{height:min(890px,calc(100vh - 34px));min-height:700px;position:relative;color:#fff;overflow:hidden}.hero-bg,.hero-overlay{position:absolute;inset:0}.hero-bg{background:url('assets/hero-shop.png') 58% center/cover no-repeat;transform:scale(1.01)}.hero-overlay{background:linear-gradient(90deg,rgba(8,10,7,.96) 0%,rgba(8,10,7,.84) 30%,rgba(8,10,7,.24) 67%,rgba(8,10,7,.06) 100%),linear-gradient(0deg,rgba(8,10,7,.6),transparent 45%)}.hero-content{position:relative;z-index:2;padding:clamp(12rem,24vh,15.5rem) clamp(1.5rem,8vw,9rem) 5rem;max-width:850px}.eyebrow,.kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.23em;font-weight:600}.eyebrow{display:flex;align-items:center;gap:.8rem;color:#d0c7b6}.eyebrow span{width:32px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font:400 clamp(4rem,7.4vw,7rem)/.95 var(--serif);letter-spacing:-.04em;margin:1.2rem 0 1.6rem}.hero h1 em{font-style:italic;color:#d2b47e}.hero-content>p{max-width:590px;color:#d1d1ca;font-size:1.05rem}.hero-actions{display:flex;gap:.8rem;margin:2.2rem 0 2.6rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.7rem;padding:1rem 1.25rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.13em;font-weight:700;border:1px solid transparent;transition:.25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--gold);color:#111;border-color:var(--gold)}.button-ghost{border-color:rgba(255,255,255,.42);color:#fff}.hero-trust{display:flex;align-items:center;gap:.65rem;font-size:.78rem;color:#bfbfb8}.hero-trust strong{font-size:1rem;color:#fff}.stars{color:#d4b36f;letter-spacing:.12em}.scroll-cue{position:absolute;right:4rem;bottom:2.2rem;z-index:2;display:flex;align-items:center;gap:1rem;font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:#bbb}.scroll-cue i{height:48px;width:1px;background:linear-gradient(#b89962,transparent)}
.section{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,8vw,9rem)}.intro{display:grid;grid-template-columns:.6fr 1.4fr 1fr;gap:4rem;border-bottom:1px solid var(--line)}.section-number{font-size:.65rem;letter-spacing:.2em;color:#76786f}.kicker{color:var(--olive);margin-bottom:1rem}.intro h2,.section-heading h2,.difference h2,.visit h2,.faq h2,.cta h2{font:400 clamp(2.9rem,5vw,5.1rem)/1.02 var(--serif);letter-spacing:-.035em;margin:0}.intro h2 span{font-style:italic;color:#858775}.intro-body{padding-top:2.4rem;color:#5e6159;font-size:1rem}.signature{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:1.25rem;margin-top:2.2rem}
.services{background:var(--ink);color:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:4rem;margin-bottom:4rem}.section-heading>p{max-width:390px;color:#9ea095}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.service-card{min-height:410px;padding:2rem;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);transition:.3s}.service-card:hover{background:#24281f;transform:translateY(-5px)}.service-card.featured{background:#262a20}.card-no{font-size:.6rem;letter-spacing:.15em;color:#888b80}.service-icon{font:400 2rem var(--serif);color:var(--gold);margin:3.1rem 0 1.4rem}.service-card h3{font:400 1.55rem/1.15 var(--serif)}.service-card p{color:#aaaca2;font-size:.88rem}.service-card a{margin-top:auto;font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;color:#d6c5a6}.service-card a span{float:right}
.quote-band{text-align:center;padding:7rem 2rem;background:#e9e3d6}.quote-mark{font:6rem/1 var(--serif);color:var(--gold);height:55px}.quote-band blockquote{font:400 clamp(2rem,4vw,4.25rem)/1.2 var(--serif);margin:0}.quote-band em{color:#777b68}
.difference{display:grid;grid-template-columns:1.5fr 1fr;gap:10vw;background:#f8f6ef}.difference-panel>p:not(.kicker){color:#66695f;max-width:620px;margin:2rem 0}.difference ul{list-style:none;padding:0;margin:3rem 0 0;border-top:1px solid var(--line)}.difference li{display:flex;gap:1.6rem;padding:1.1rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.difference li span{font-size:.62rem;color:var(--gold)}.stat-stack{display:grid;align-content:center}.stat{display:flex;align-items:baseline;justify-content:space-between;padding:2rem 0;border-bottom:1px solid var(--line)}.stat strong{font:400 3.4rem var(--serif)}.stat span{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:#75786e}
.visit{background:#e9e3d6}.visit-card{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--ink);color:#fff}.visit-copy{padding:clamp(2rem,5vw,5rem)}.visit-copy h2{font-size:clamp(2.8rem,4.5vw,4.7rem);margin-bottom:2.5rem}.contact-row{display:grid;grid-template-columns:90px 1fr;padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.15)}.contact-row span{font-size:.63rem;text-transform:uppercase;letter-spacing:.15em;color:#92958c}.contact-row a{font-family:var(--serif);font-size:1.18rem}.appointment-note{display:grid;grid-template-columns:28px 1fr;color:#aaaca4;font-size:.82rem;margin:2.2rem 0}.appointment-note span{grid-row:1/3;width:20px;height:20px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.appointment-note strong{color:#e8e4da}.map-art{position:relative;overflow:hidden;background-color:#d7d1c4;background-image:radial-gradient(#a8a294 1px,transparent 1px);background-size:20px 20px}.road{position:absolute;height:10px;background:#eeebe3;border:1px solid #bab5aa;transform-origin:left}.r1{width:120%;top:27%;left:-5%;transform:rotate(18deg)}.r2{width:100%;top:72%;left:2%;transform:rotate(-28deg)}.r3{width:72%;top:0;left:48%;transform:rotate(74deg)}.pin{position:absolute;left:54%;top:47%;display:grid;place-items:center}.pin i{width:42px;height:42px;background:var(--ink);border:7px solid var(--gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 8px 20px #0004}.pin span{margin-top:1rem;color:var(--ink);font-weight:800;letter-spacing:.18em}.map-label{position:absolute;color:#76736b;font-size:.55rem;letter-spacing:.15em}.l1{left:10%;top:14%}.l2{right:2%;bottom:23%;transform:rotate(-28deg)}
.faq{background:#f8f6ef}.faq .section-heading{margin-bottom:2rem}.faq-list{margin-left:32%;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:1.5rem 0;display:flex;justify-content:space-between;font:400 1.35rem var(--serif)}summary::-webkit-details-marker{display:none}summary span{font-family:var(--sans);font-weight:300;color:var(--gold);transition:.25s}details[open] summary span{transform:rotate(45deg)}details p{max-width:700px;color:#686b62;padding:0 3rem 1.5rem 0}
.cta{background:var(--olive);color:#fff;text-align:center;padding:8rem 1.5rem}.cta .kicker{color:#d2c5a9}.cta h2{font-size:clamp(3rem,6vw,6rem)}.cta p:not(.kicker){color:#d6d9cf;max-width:540px;margin:1.5rem auto 2.2rem}.button-light{background:#f5f1e7;color:#171913}
footer{background:#0c0e0b;color:#a8aaa3;padding:4rem clamp(1.5rem,8vw,9rem) 2rem;display:grid;grid-template-columns:1.5fr 1fr 1.4fr;gap:4rem;font-size:.78rem}.footer-brand{color:#fff;align-self:start}.footer-brand .brand-mark{width:48px;height:48px}footer a{color:#e3c590}.footer-bottom{grid-column:1/-1;border-top:1px solid #292b27;padding-top:1.5rem;display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:980px){.site-header nav{position:absolute;top:86px;left:0;right:0;background:#11130f;display:none;flex-direction:column;align-items:stretch;padding:1.5rem}.site-header nav.open{display:flex}.site-header nav a{padding:.7rem}.nav-call{border-left:0;padding-left:.7rem!important}.menu-toggle{display:block}.intro{grid-template-columns:1fr 1fr}.section-number{grid-column:1/-1}.service-grid{grid-template-columns:repeat(2,1fr)}.difference{gap:4rem}.visit-card{grid-template-columns:1fr}.map-art{min-height:420px}.faq-list{margin-left:15%}}
@media(max-width:650px){.notice{font-size:.55rem;gap:.5rem}.site-header{height:72px}.site-header nav{top:72px}.brand strong{font-size:1rem}.brand-mark{width:32px}.hero{min-height:720px}.hero-bg{background-position:64% center}.hero-overlay{background:linear-gradient(90deg,rgba(8,10,7,.94),rgba(8,10,7,.58)),linear-gradient(0deg,rgba(8,10,7,.75),transparent)}.hero-content{padding-top:10.5rem}.hero h1{font-size:3.7rem}.hero-actions{flex-direction:column;align-items:stretch}.scroll-cue{display:none}.intro{grid-template-columns:1fr;gap:2rem}.intro-body{padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:350px}.difference{grid-template-columns:1fr}.stat strong{font-size:2.8rem}.visit{padding-left:0;padding-right:0}.visit-card{min-height:0}.contact-row{grid-template-columns:1fr;gap:.4rem}.map-art{min-height:330px}.faq-list{margin-left:0}.cta{padding:6rem 1.5rem}footer{grid-template-columns:1fr;gap:2rem}.footer-bottom{grid-column:1;gap:1rem;flex-direction:column}.section{padding-top:5rem;padding-bottom:5rem}}

/* Code-built hero artwork: no stock or generated storefront imagery. */
.hero-bg{transform:none;overflow:hidden;background:radial-gradient(circle at 76% 45%,rgba(184,153,98,.16),transparent 22%),linear-gradient(135deg,#171a13 0%,#0a0c09 64%,#20251a 100%)}
.hero-bg:before,.hero-bg:after{content:"";position:absolute;border:1px solid rgba(184,153,98,.17);border-radius:50%;width:min(64vw,820px);aspect-ratio:1;right:-7vw;top:6%}
.hero-bg:after{width:min(43vw,550px);right:3.5vw;top:20%;border-color:rgba(255,255,255,.08)}
.hero-overlay{opacity:.65;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 15%,#000)}
.hero-seal{position:absolute;right:clamp(2rem,12vw,12rem);top:50%;transform:translateY(-43%);width:clamp(240px,32vw,470px);aspect-ratio:1;border:1px solid rgba(184,153,98,.35);border-radius:50%;display:grid;place-content:center;text-align:center;color:rgba(242,238,228,.7)}
.hero-seal:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.hero-seal span{font:400 clamp(8rem,19vw,18rem)/.72 var(--serif);color:rgba(184,153,98,.18)}
.hero-seal small{font-size:.58rem;letter-spacing:.3em;line-height:1.8}
@media(max-width:650px){.hero-seal{right:-35%;opacity:.55}.hero-overlay{mask-image:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)}}

/* V2: friendlier, practical local gun-shop direction. */
:root{--ink:#202820;--ink2:#2c382c;--cream:#f5f1e7;--paper:#fbfaf6;--olive:#45613e;--gold:#c77b2a;--line:rgba(32,40,32,.17);--sans:'Inter',sans-serif;--serif:'Roboto Slab',serif}
body{font-family:var(--sans);background:var(--paper)}
.notice{background:#31452f;color:#fff;font-weight:700;letter-spacing:.11em}
.site-header{background:rgba(24,31,24,.9);backdrop-filter:blur(8px)}
.brand strong{font-weight:800}.brand small{color:#d9ddd4}
.hero{min-height:680px;height:min(800px,calc(100vh - 34px))}
.hero-bg{background:radial-gradient(circle at 78% 45%,rgba(199,123,42,.18),transparent 24%),linear-gradient(135deg,#30412f 0%,#182219 62%,#354733 100%)}
.hero-bg:before,.hero-bg:after{border-radius:12px;transform:rotate(34deg);border-color:rgba(255,255,255,.08)}
.hero-bg:before{right:-12vw;top:-36%;background:linear-gradient(135deg,transparent 45%,rgba(199,123,42,.08))}
.hero-bg:after{right:5vw;top:10%;border-color:rgba(199,123,42,.24)}
.hero-seal{border:2px solid rgba(255,255,255,.14);border-radius:18px;transform:translateY(-43%) rotate(3deg);background:rgba(255,255,255,.025)}
.hero-seal:before{border-radius:10px;border:2px dashed rgba(199,123,42,.32)}
.hero-seal span{font-family:var(--serif);font-weight:700;color:rgba(255,255,255,.1)}
.hero h1{font-family:var(--serif);font-weight:700;letter-spacing:-.035em;line-height:1.01}.hero h1 em{font-style:normal;color:#f0a24e}
.hero-content>p{font-size:1.08rem;line-height:1.7;color:#e0e5dc}
.button{border-radius:5px;letter-spacing:.08em}.button-primary{background:#d7832c;border-color:#d7832c;color:#fff}.button-primary:hover{background:#e2913a}.button-ghost{background:rgba(255,255,255,.06)}
.intro h2,.section-heading h2,.difference h2,.visit h2,.faq h2,.cta h2{font-family:var(--serif);font-weight:600;letter-spacing:-.025em}.intro h2 span{font-style:normal;color:var(--olive)}
.signature{font-family:var(--sans);font-size:.78rem;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--olive)}
.services{background:#243124}.service-grid{gap:1rem;border:0}.service-card,.service-card.featured{background:#f8f6ef;color:var(--ink);border:0;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12)}.service-card:hover{background:#fff;transform:translateY(-5px)}.service-card p{color:#626960}.service-card a{color:var(--olive);font-weight:800}.card-no{color:#889083}.service-icon{font-family:var(--sans);font-size:.62rem;font-weight:800;letter-spacing:.14em;color:#fff;background:var(--olive);border-radius:4px;align-self:flex-start;padding:.45rem .65rem;margin:2.5rem 0 1.3rem}.service-card h3{font-family:var(--serif);font-weight:700}
.quote-band{background:#f0eadf}.quote-mark{color:#c77b2a}.quote-band blockquote{font-family:var(--serif);font-weight:600}.quote-band em{font-style:normal;color:var(--olive)}
.difference{background:#fff}.stat strong{font-family:var(--serif);font-weight:700;color:var(--olive)}
.visit{background:#e5dfd1}.visit-card{background:#263426;border-radius:10px;overflow:hidden;box-shadow:0 14px 40px rgba(32,40,32,.16)}.contact-row a{font-family:var(--sans);font-weight:700}.map-art{background-color:#e7e2d7}
summary{font-family:var(--serif);font-weight:600}.cta{background:#45613e}.button-light{border-radius:5px}
@media(max-width:650px){.hero{min-height:700px}.hero-seal{right:-42%;transform:translateY(-42%) rotate(3deg)}.service-grid{gap:.8rem}.service-card{min-height:330px}.visit-card{border-radius:0}}
