:root{--g:#1f3d2b;--g2:#2c5540;--cream:#f7f1e3;--cream2:#efe5cc;--brass:#b08d3c;--brass2:#d4b264;--ink:#1d1d1b;--mut:#5a5a52;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.6 Georgia,"Times New Roman",serif;color:var(--ink);background:var(--cream);padding-bottom:64px}
h1,h2,h3{font-family:"Palatino Linotype",Palatino,Georgia,serif;color:var(--g);line-height:1.2}h1{font-size:clamp(1.9rem,5vw,3rem);margin:.2em 0}h2{font-size:clamp(1.4rem,3.5vw,2rem)}
a{color:var(--g2)}img{max-width:100%;height:auto;display:block}.wrap{max-width:1180px;margin:auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.topbar{background:var(--g);color:var(--cream2);font:14px system-ui,sans-serif}.topbar .wrap{display:flex;justify-content:space-between;gap:10px;padding:6px 18px;flex-wrap:wrap}.topbar a{color:var(--brass2);font-weight:700}
header.site{background:var(--cream);border-bottom:3px solid var(--brass);position:sticky;top:0;z-index:40}.hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 18px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none}.brand img{border-radius:50%}.brand b{display:block;font-size:1.5rem;color:var(--g);letter-spacing:.06em}.brand small{color:var(--brass);font:600 12px system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}nav a{display:block;padding:8px 10px;text-decoration:none;font:600 15px system-ui,sans-serif;color:var(--g);border-radius:6px}nav a:hover,nav a[aria-current]{background:var(--cream2)}nav li:last-child a{background:var(--g);color:#fff}
.menu-btn{display:none;background:var(--g);color:#fff;border:0;padding:10px 14px;border-radius:6px;font:600 15px system-ui}
@media(max-width:900px){.menu-btn{display:block}#nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:3px solid var(--brass)}#nav.open{display:block}#nav ul{flex-direction:column;padding:10px}}
.crumbs{font:14px system-ui,sans-serif;padding-top:10px;color:var(--mut)}
.hero,.phero{position:relative;color:#fff;background:linear-gradient(90deg,rgba(20,40,28,.92),rgba(20,40,28,.55)),var(--bg,linear-gradient(var(--g),var(--g2))) center/cover}.hero{padding:70px 0 60px}.phero{padding:46px 0}
.hero h1,.phero h1{color:#fff}.lead{font-size:1.15rem;max-width:720px}.eyebrow{color:var(--brass2);font:700 13px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin:0}
.btn{display:inline-block;background:var(--brass);color:#1b1b14;border:2px solid var(--brass);padding:12px 20px;border-radius:999px;font:700 16px system-ui,sans-serif;text-decoration:none;cursor:pointer;margin:4px 4px 4px 0}.btn:hover{background:var(--brass2)}.btn.ghost{background:transparent;color:var(--g);border-color:var(--g)}.btn.ghost.light{color:#fff;border-color:#fff}.btn.sm{padding:7px 14px;font-size:14px}
.trust{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:0;margin:-26px 0 20px;position:relative}.trust li{background:#fff;border:1px solid var(--cream2);border-top:4px solid var(--brass);border-radius:var(--r);padding:12px;text-align:center;font:14px system-ui,sans-serif;color:var(--mut);box-shadow:0 4px 14px rgba(0,0,0,.06)}.trust b{display:block;font:700 1.2rem Georgia,serif;color:var(--g)}
.sec{border-bottom:2px solid var(--brass);display:inline-block;padding-bottom:4px}section{margin:34px 0}.band{background:var(--cream2);padding:24px 0;margin:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.card{background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 3px 12px rgba(0,0,0,.08);transition:transform .2s}.card:hover{transform:translateY(-4px)}.card figure{margin:0}.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card div{padding:12px 16px}.card h3{margin:.2em 0}.card p{margin:.2em 0;color:var(--mut);font-size:.95rem}
figure{margin:0}figcaption{font:13px system-ui,sans-serif;color:var(--mut);padding:6px 2px}figcaption small{color:var(--brass)}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.split.rev>figure{order:-1}.split figure img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}@media(max-width:800px){.split{grid-template-columns:1fr}.split.rev>figure{order:0}}
.ticks{list-style:none;padding:0}.ticks li{padding-left:28px;position:relative;margin:8px 0}.ticks li:before{content:"✔";position:absolute;left:0;color:var(--brass)}.cols{columns:2 240px}
.box{background:#fff;border-left:5px solid var(--brass);padding:16px 22px;border-radius:var(--r)}
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.review{margin:0;background:#fff;padding:20px;border-radius:var(--r);border-top:4px solid var(--g)}.review h3{font-size:1.1rem;margin:.3em 0}.review footer{font:600 14px system-ui,sans-serif;color:var(--g)}.review footer span{color:var(--mut);font-weight:400}.stars{color:var(--brass);letter-spacing:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips a{background:#fff;border:1px solid var(--brass);padding:6px 12px;border-radius:999px;text-decoration:none;font:600 14px system-ui,sans-serif}
.grid-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.grid-g img{aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.cta{background:var(--g);color:var(--cream);padding:40px 0;margin:40px 0 0;border-top:5px solid var(--brass)}.cta h2{color:#fff}
footer.site{background:#142a1d;color:var(--cream2);padding:36px 0 10px;font:15px system-ui,sans-serif}footer.site a{color:var(--brass2)}footer.site h3{color:#fff;font-size:1.05rem}.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px}footer ul{list-style:none;padding:0}.flogo{border-radius:50%}.legal{border-top:1px solid #2c4a37;margin-top:20px;font-size:13px;opacity:.85}.small{font-size:.88rem;color:var(--mut)}
.callbar{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:50;box-shadow:0 -2px 10px rgba(0,0,0,.2)}.callbar a{flex:1;text-align:center;padding:15px;font:700 16px system-ui,sans-serif;text-decoration:none}.cb-call{background:var(--g);color:#fff}.cb-quote{background:var(--brass);color:#1b1b14}@media(min-width:901px){.callbar{left:auto;right:96px;bottom:16px;border-radius:999px;overflow:hidden}.callbar a{padding:12px 22px}body{padding-bottom:0}}
.chat{position:fixed;right:16px;bottom:76px;z-index:60}@media(min-width:901px){.chat{bottom:16px}}.chat-btn{width:60px;height:60px;border-radius:50%;border:0;background:#25d366;font-size:28px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}.chatbox{position:absolute;right:0;bottom:70px;width:min(330px,90vw);background:#ece5dd;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.3);font:14px system-ui,sans-serif}.chat-hd{background:#075e54;color:#fff;display:flex;gap:10px;align-items:center;padding:10px}.chat-hd img{border-radius:50%}.chat-hd small{display:block;opacity:.8}.bubble{background:#fff;margin:10px;padding:10px;border-radius:0 10px 10px 10px}.chatbox textarea{width:calc(100% - 20px);margin:0 10px;border-radius:8px;border:1px solid #ccc;padding:8px;font:inherit}.chat-actions{padding:10px;display:flex;gap:6px}.chat-actions .btn{background:#25d366;border-color:#25d366;color:#fff}.chat-actions .btn.ghost{background:#fff;color:#075e54;border-color:#075e54}
form label{display:block;font:600 15px system-ui,sans-serif;margin:10px 0;color:var(--g)}input,select,textarea{display:block;width:100%;padding:11px;border:1px solid #bdb59e;border-radius:8px;font:16px system-ui,sans-serif;background:#fff;margin-top:4px}input[type=checkbox],input[type=radio]{display:inline;width:auto;margin-right:6px}label.inline{display:inline}label.inline input{display:inline-block}
.cover,.cover-mini{background:#fff;padding:16px;border-radius:var(--r);color:var(--ink)}.cover-mini{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:620px;margin-top:20px}.cover-mini label{margin:0;width:100%}.cover-mini input{flex:1;margin:0;min-width:180px}output{display:block;font:600 15px system-ui,sans-serif;width:100%}.ok{color:#1d6b35}.no{color:#9a3b1a}
.map svg{width:100%;max-width:440px;background:#fff;border-radius:50%}.ring{fill:#e7f0e6;stroke:var(--g);stroke-width:2;stroke-dasharray:6 4}.ring2{fill:none;stroke:var(--brass);stroke-dasharray:3 4}.dot{fill:var(--brass);stroke:var(--g);stroke-width:2}.map text{font:11px system-ui;fill:var(--g)}.map .lbl{text-anchor:middle;fill:var(--mut)}
.ba{position:relative;max-width:900px;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);--p:50%}.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-top{position:absolute;inset:0;clip-path:inset(0 0 0 var(--p))}.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.ba:after{content:"";position:absolute;top:0;bottom:0;left:var(--p);width:4px;background:var(--brass);transform:translateX(-2px);pointer-events:none}.ba span{position:absolute;bottom:10px;background:rgba(0,0,0,.6);color:#fff;padding:4px 10px;border-radius:4px;font:13px system-ui;pointer-events:none}.ba-l{left:10px}.ba-r{right:10px}
.note,.warn{background:#fff8e1;border-left:5px solid var(--brass);padding:12px 16px;border-radius:8px}.tool{background:#fff;padding:20px;border-radius:var(--r);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.est{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}@media(max-width:800px){.est{grid-template-columns:1fr}}.est-out{background:var(--g);color:#fff;border-radius:var(--r);padding:20px;text-align:center}.est-out output{font:700 2rem Georgia,serif;color:var(--brass2)}.est-out .small{color:var(--cream2)}
.cmp-wrap{overflow-x:auto}.cmp{border-collapse:collapse;width:100%;font:15px system-ui,sans-serif}.cmp th,.cmp td{border:1px solid var(--cream2);padding:9px;text-align:left}.cmp thead th{background:var(--g);color:#fff;cursor:pointer}.cmp th.sel,.cmp td.sel{background:#fff6d8}.cmp thead th.sel{background:var(--brass);color:#111}.cmp-imgs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.cmp-imgs img{aspect-ratio:4/3;object-fit:cover;border-radius:8px}@media(max-width:700px){.cmp-imgs{grid-template-columns:repeat(2,1fr)}}
.wiz-prog{display:flex;list-style:none;padding:0;gap:4px;counter-reset:s}.wiz-prog li{flex:1;text-align:center;padding:8px 2px;background:var(--cream2);font:600 13px system-ui;border-radius:6px}.wiz-prog li.on{background:var(--g);color:#fff}.step{display:none;border:0;padding:0}.step.on{display:block}.step legend{font:700 1.2rem Georgia;color:var(--g);margin:10px 0}.pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.pick label{margin:0}.pick input{position:absolute;opacity:0}.pick span{display:block;padding:12px;border:2px solid var(--cream2);border-radius:8px;background:#fff;cursor:pointer;font-weight:600}.pick input:checked+span{border-color:var(--brass);background:#fff6d8}.pick input:focus-visible+span{outline:3px solid var(--g)}.wiz-nav{display:flex;justify-content:space-between;margin-top:16px}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.filters button{border:1px solid var(--g);background:#fff;padding:7px 14px;border-radius:999px;cursor:pointer;font:600 14px system-ui}.filters .on{background:var(--g);color:#fff}.gallery{columns:4 220px;column-gap:10px}.gallery figure{break-inside:avoid;margin-bottom:10px}.gallery button{border:0;padding:0;cursor:zoom-in;display:block;width:100%}.gallery img{border-radius:8px;width:100%}
.lightbox{border:0;padding:0;background:transparent;max-width:95vw}.lightbox::backdrop{background:rgba(0,0,0,.85)}.lightbox img{max-height:88vh}.lightbox .x{position:absolute;top:6px;right:6px;font-size:28px;background:#fff;border:0;border-radius:50%;width:40px;height:40px;cursor:pointer}
details{background:#fff;border-radius:8px;margin:8px 0;padding:12px 16px;border-left:4px solid var(--brass)}summary{font-weight:700;cursor:pointer;color:var(--g)}.article{max-width:820px}.article figure img{border-radius:var(--r)}.steps li{margin:6px 0}
.contact-list{list-style:none;padding:0}.contact-list li{padding:10px 0;border-bottom:1px solid var(--cream2);display:flex;gap:12px}.contact-list span{min-width:90px;font:600 14px system-ui;color:var(--mut)}iframe{width:100%;height:260px;border:0;border-radius:var(--r);margin:10px 0}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.hero,.phero{margin:0}.cta{margin-bottom:0}
/* hero two-column with Jack's graphic */
.hero-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"text" "art" "form"}
.hero-text{grid-area:text;min-width:0}.hero-art{grid-area:art;margin:24px 0;min-width:0}.hero-grid>.cover-mini{grid-area:form}
@media(min-width:861px){.hero-grid{grid-template-columns:55% 45%;grid-template-areas:"text art" "form art";column-gap:0;align-items:center}.hero-art{padding-left:28px;margin:0;align-self:center}}
html,body{overflow-x:clip}
@media(max-width:860px){#quote{padding-bottom:90px}}
