/* Backwoods Lock & Key: colours sampled from the official logo (green #172e1e, key bronze #824f13, paper #f0eade). No web fonts (fast). */
:root{--forest:#172e1e;--forest-d:#0f2015;--moss:#3f5a3f;--brass:#824f13;--brass-d:#6b400e;--brass-text:#824f13;--brass-light:#d9a85c;--paper:#f0eade;--paper2:#e6dcc6;--bark:#3b2a1e;--ink:#1f1a15;--muted:#5a5048;--line:#d8c9a8;--max:1100px;
--slab:"Rockwell","Roboto Slab","Zilla Slab","Arvo","Clarendon",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);padding-bottom:92px}
@media(min-width:900px){body{padding-bottom:0}}
a{color:var(--forest);text-decoration-color:var(--brass-light);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--brass-text)}
h1,h2,h3,.h4{font-family:var(--slab);line-height:1.15;margin:0 0 .5em;color:var(--bark)}
h1{font-size:clamp(2rem,6vw,3.2rem);letter-spacing:-.01em}h2{font-size:clamp(1.4rem,3.2vw,1.9rem);margin-top:1.3em}h3{font-size:1.2rem}.h4{font-size:1.1rem}
p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.preview-banner{background:var(--brass-text);color:#fff;font-size:.8rem;text-align:center;padding:6px 12px;font-weight:600}
.site-header{--hw:250px;--fade:140px;position:sticky;top:0;z-index:20;color:var(--paper);border-bottom:4px solid var(--brass-light);background:linear-gradient(90deg,var(--paper) 0,var(--paper) var(--hw),var(--forest) calc(var(--hw) + var(--fade)))}
@media(min-width:600px){.site-header{--hw:calc(max(0px,(100vw - var(--max)) / 2) + 300px);--fade:220px}}
.hdr{display:flex;align-items:center;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;color:var(--forest)}
.brand span{display:flex;flex-direction:column;line-height:1.05}.brand b{font-family:var(--slab);font-size:1.4rem;letter-spacing:.06em;text-transform:uppercase}
.brand small{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-text);font-weight:700}
.main-nav{display:none;gap:20px;background:var(--forest);padding:8px 18px;border-radius:999px;box-shadow:0 0 0 1px rgba(217,168,92,.5)}.main-nav a{color:var(--paper);text-decoration:none;font-weight:600}.main-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--brass)}
@media(min-width:900px){.main-nav{display:flex}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:1px solid transparent;min-height:48px;cursor:pointer;letter-spacing:.02em;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease}
.btn:active{transform:translateY(1px) scale(.99)}.btn:focus-visible{outline:3px solid var(--brass-light);outline-offset:3px}
/* polished key metal: lighter bronze top -> darker bottom; white text >= 5:1 at the lightest stop */
.btn-brass{color:#fff;background:linear-gradient(180deg,#9a6220 0%,#875215 48%,#6b400e 100%);border-color:rgba(232,190,120,.55);
 box-shadow:inset 0 1px 0 rgba(255,232,190,.35),inset 0 -2px 4px rgba(40,22,4,.35),0 4px 14px rgba(10,20,12,.35);text-shadow:0 1px 1px rgba(40,22,4,.45)}
.btn-brass:hover{color:#fff;filter:brightness(1.06) saturate(1.05);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,232,190,.4),inset 0 -2px 4px rgba(40,22,4,.35),0 8px 20px rgba(10,20,12,.4)}
.btn-brass:active{filter:brightness(.95);box-shadow:inset 0 2px 5px rgba(40,22,4,.45),0 2px 6px rgba(10,20,12,.3)}
.btn-cream{color:var(--forest-d);background:linear-gradient(180deg,#fbf7ef 0%,var(--paper) 100%);box-shadow:inset 0 1px 0 #fff,0 4px 14px rgba(0,0,0,.25)}.btn-cream:hover{color:var(--brass-text);transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(0,0,0,.3)}
.btn-ghost{color:var(--paper);background:rgba(240,234,222,.08);border-color:rgba(240,234,222,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.btn-ghost:hover{color:#fff;background:rgba(240,234,222,.16);border-color:rgba(240,234,222,.7);transform:translateY(-1px)}
.btn-lg{font-size:1.1rem;padding:14px 28px;min-height:56px}.btn-block{width:100%}
.hdr-call{display:none}@media(min-width:600px){.hdr-call{display:inline-flex}}
/* hero: layered pine ridgeline drawn in CSS/SVG, no image download */
.hero{position:relative;color:var(--paper);padding:0 0 120px;background:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120V70l40-30 30 22 45-45 40 38 35-25 50 40 40-35 45 30 40-48 45 45 35-20 50 35 45-40 40 30 45-42 40 40 35-22 50 38 40-30 45 26 40-44 45 40 35-18 50 34 45-36 40 26 40-30L1200 60V120z' fill='%230f2015'/%3E%3Cpath d='M0 120V95l60-22 50 18 70-30 60 26 70-20 60 24 80-28 60 22 70-18 60 24 80-30 60 26 70-22 60 20 80-26 60 22 70-16L1200 92V120z' fill='%23f0eade'/%3E%3C/svg%3E") bottom/100% 110px no-repeat,
 radial-gradient(ellipse at 80% 0%,#2e4d36 0%,transparent 60%),linear-gradient(180deg,#1d3826 0%,var(--forest) 100%)}
.hero h1{color:var(--paper)}.hero .lead{color:var(--paper2)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--brass-light)}
.lead{font-size:1.15rem;color:var(--muted);max-width:700px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.hero-note{font-size:.95rem;color:var(--paper2)}
.trust-grid{display:grid;gap:18px;padding:26px 20px;grid-template-columns:1fr}
@media(min-width:700px){.trust-grid{grid-template-columns:repeat(4,1fr)}}
.trust-grid div{background:#fffaf0;border:1px solid var(--line);border-top:4px solid var(--moss);padding:14px;border-radius:4px}.trust-grid p{margin:0;color:var(--muted);font-size:.95rem}
.section{padding:36px 20px}.sub{color:var(--muted);max-width:720px}
.cards{display:grid;gap:16px;grid-template-columns:1fr;margin-top:20px}
@media(min-width:600px){.cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:block;background:#fffaf0;border:1px solid var(--line);border-left:6px solid var(--brass);border-radius:4px;padding:18px;text-decoration:none;color:var(--ink);transition:transform .1s}
.card:hover{transform:translateY(-2px);border-left-color:var(--forest)}.card p{color:var(--muted);margin:0 0 .6em}.more{font-weight:700;color:var(--brass-text)}
.band{padding:40px 0}.band-paper{background:var(--paper2);background-image:repeating-linear-gradient(90deg,rgba(59,42,30,.035) 0 2px,transparent 2px 9px)}
.band-forest{background:var(--forest);color:var(--paper)}.band-forest h2{color:var(--paper);margin-top:0}
.center{text-align:center}.two{display:grid;gap:28px}@media(min-width:860px){.two{grid-template-columns:1fr 1fr}}
.steps{padding-left:1.2em}.steps li{margin-bottom:.5em}
.placeholder-box{background:#fff3c4;border:2px dashed #b88a00;padding:10px 14px;border-radius:4px;font-family:ui-monospace,monospace}
.faq details{background:#fffaf0;border:1px solid var(--line);border-radius:4px;padding:12px 16px;margin-bottom:10px}.faq summary{font-weight:700;cursor:pointer}
.page-hero{background:var(--forest);color:var(--paper);padding:30px 0 34px;border-bottom:4px solid var(--brass-light)}.page-hero h1{color:var(--paper)}.page-hero .lead,.page-hero .small{color:var(--paper2)}
.crumbs{font-size:.85rem;margin-bottom:10px}.crumbs a{color:var(--paper2)}
.content-grid{display:grid;gap:30px;padding:30px 20px}@media(min-width:900px){.content-grid{grid-template-columns:2fr 1fr}}
.side-box{background:#fffaf0;border:1px solid var(--line);border-radius:4px;padding:16px;margin-bottom:16px}.side-h{font-family:var(--slab);font-weight:700;font-size:1.1rem;color:var(--bark)}
.small{font-size:.88rem;color:var(--muted)}.big{font-size:1.6rem;font-weight:700}
.site-footer{background:var(--bark);color:var(--paper2);padding:34px 0 10px;font-size:.95rem}.site-footer a{color:var(--paper)}
.foot{display:grid;gap:24px}@media(min-width:800px){.foot{grid-template-columns:1.3fr 1fr 1fr}}
.foot-name{font-family:var(--slab);font-size:1.25rem;color:var(--paper)}.foot-h{font-weight:700;color:var(--paper);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}
.site-footer ul{list-style:none;padding:0;margin:0 0 1em}.copy{border-top:1px solid #5a4636;padding-top:12px;font-size:.85rem}
.callbar{position:fixed;left:0;right:0;bottom:0;padding:26px 14px calc(12px + env(safe-area-inset-bottom));z-index:30;pointer-events:none;
 background:linear-gradient(180deg,rgba(15,32,21,0) 0%,rgba(15,32,21,.75) 45%,rgba(15,32,21,.92) 100%)}@media(min-width:900px){.callbar{display:none}}
.callbar-btn{width:100%;pointer-events:auto;box-shadow:inset 0 1px 0 rgba(255,232,190,.35),inset 0 -2px 4px rgba(40,22,4,.35),0 0 0 1px rgba(217,168,92,.35),0 0 22px rgba(217,168,92,.28),0 6px 18px rgba(0,0,0,.45)}
.towns{columns:2;padding-left:1.1em}.cols2{columns:2}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fffaf0}th,td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:var(--paper2)}
.facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--paper2)}
.site-footer a{text-decoration-color:var(--brass-light)}
.logo-mark{display:block;height:44px;width:auto}
.hero-top{text-align:center;padding:26px 20px 76px;background:radial-gradient(ellipse 90% 70% at 50% 30%,var(--paper) 0%,var(--paper) 62%,rgba(240,234,222,.6) 80%,rgba(240,234,222,0) 100%)}
.hero-logo{display:inline-block;width:230px;height:auto}@media(min-width:700px){.hero-logo{width:320px}.hero-top{background:radial-gradient(ellipse 50% 70% at 50% 30%,var(--paper) 0%,var(--paper) 55%,rgba(240,234,222,.6) 78%,rgba(240,234,222,0) 100%)}}
.rating-link{color:var(--paper);text-decoration:none;font-weight:600}.rating-link:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--brass-light)}.stars{color:var(--brass-light);letter-spacing:2px}
/* SEO pass 2026-10-15: profile links ("Find us on" + leave a review), service lists, tap targets */
.find-h{font-family:var(--slab);font-size:clamp(1.3rem,3vw,1.7rem);color:var(--bark);margin:0 0 .5em;font-weight:700}
.side-profiles .find-h{font-size:1.1rem}
.profile-btns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.btn-line{color:var(--forest);background:#fffaf0;border-color:var(--line);box-shadow:0 1px 0 rgba(59,42,30,.08)}.btn-line:hover{color:var(--brass-text);border-color:var(--brass-light);transform:translateY(-1px)}
.side-profiles .btn{padding:10px 16px;min-height:44px}
.review-cta{color:var(--muted);margin:0}.review-cta a{font-weight:700}
.svc-list li{margin-bottom:.45em}
ul.plain{list-style:none;padding:0;margin:0}
.side ul li,.site-footer li,.towns li{padding:5px 0}
.crumbs a{display:inline-block;padding:6px 0}
.call-line{font-weight:600}
