:root{--paper:#F4F1EA;--paper-2:#EAE5D9;--ink:#1C1A17;--ink-2:#4A453D;--murram:#B3401E;--murram-d:#8F3217;--spruce:#16382D;--line:#CFC8B8;--wa:#1E9E50;
--slab:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;--sans:"Schibsted Grotesk",system-ui,"Segoe UI",Roboto,Arial,sans-serif;--hand:"Caveat","Segoe Print","Bradley Hand",cursive}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3  0 0 0 0 .25  0 0 0 0 .15  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--murram);outline-offset:3px}
.wrap{width:min(1020px,100% - 40px);margin:0 auto;position:relative;z-index:2}
.narrow{width:min(760px,100% - 40px)}
.top{padding:14px 0 4px}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.name{display:inline-block;padding:10px 0;font:700 24px/1 var(--slab);color:var(--ink);text-decoration:none}
.name small{font:400 14px var(--sans);color:var(--ink-2);margin-left:10px}
.nav{display:flex;gap:6px 22px;align-items:center;flex-wrap:wrap}
.nav a{display:inline-block;padding:11px 0;font:600 15px var(--sans);color:var(--ink);text-decoration:none}
.nav a:hover{color:var(--murram)}
.nav .tel{border-bottom:2px solid var(--murram);white-space:nowrap;padding:13px 0 5px;min-height:44px}
.crumbs{font-size:14px;color:var(--ink-2);padding:18px 0 0}
.crumbs a{color:var(--ink-2);display:inline-block;padding:8px 0}
.hero{padding:22px 0 54px}
.hello{display:inline-block;font:600 29px/1 var(--hand);color:var(--murram);transform:rotate(-2deg);margin-bottom:12px}
h1{font:700 clamp(32px,5vw,54px)/1.08 var(--slab);letter-spacing:-.012em;max-width:22ch}
h2{font:700 clamp(26px,3.4vw,38px)/1.12 var(--slab);letter-spacing:-.01em}
h3{font:700 21px/1.25 var(--slab)}
.lead{margin-top:18px;font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--ink-2);max-width:60ch}
.ctas{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:0;cursor:pointer;border-radius:4px 6px 5px 6px;font:600 16px var(--sans);text-decoration:none;transition:transform .15s,background .15s,color .15s}
.btn.main{background:var(--murram);color:#fff}.btn.main:hover{background:var(--murram-d);transform:translateY(-1px)}
.btn.alt{color:var(--ink);background:none;box-shadow:inset 0 0 0 2px var(--ink)}.btn.alt:hover{background:var(--ink);color:var(--paper)}
.btn.paper{background:var(--paper);color:var(--ink)}.btn.paper:hover{background:#fff}
.sec{padding:46px 0}
.sec.tint{background:var(--paper-2)}
.sec p{margin-top:14px;font-size:18px;line-height:1.65;color:var(--ink-2);max-width:64ch}
.sec h2+p{margin-top:16px}
.sec .small{font-size:15.5px}
.ledger{list-style:none;margin-top:26px;border-top:2px solid var(--ink)}
.ledger li{display:flex;align-items:baseline;gap:10px;padding:15px 0;border-bottom:1px dashed var(--line)}
.ledger b{font:700 20px/1.25 var(--slab);flex:none}
.ledger .dots{flex:1;border-bottom:2px dotted #9b9384;min-width:16px;transform:translateY(-5px)}
.ledger .n{font-size:16px;color:var(--ink-2);text-align:right;max-width:55%}
.ticks{list-style:none;margin-top:20px;display:grid;gap:12px}
.ticks li{position:relative;padding-left:30px;font-size:17.5px;line-height:1.5;color:var(--ink)}
.ticks li::before{content:"";position:absolute;left:2px;top:.5em;width:16px;height:8px;border-left:3px solid var(--murram);border-bottom:3px solid var(--murram);transform:rotate(-45deg) translateY(-3px)}
.ticks li span{color:var(--ink-2)}
.pricebox{margin-top:24px;border-top:2px solid var(--ink);padding:22px 0 4px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 30px;align-items:center}
.pricebox .price{font:700 clamp(34px,4vw,46px)/1 var(--slab)}
.pricebox .price small{display:block;margin-top:6px;font:600 15px var(--sans);color:var(--ink-2)}
.pricebox p{margin:0}
.note{font:600 26px/1.2 var(--hand);color:var(--murram);transform:rotate(-1.5deg);display:inline-block;margin-top:16px}
.faq{margin-top:22px}
.faq details{border-top:1.5px dashed #b4ac99}
.faq details:last-child{border-bottom:1.5px dashed #b4ac99}
.faq summary{list-style:none;cursor:pointer;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:700 clamp(18px,2vw,21px)/1.3 var(--slab);padding:12px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:18px;height:18px;transition:transform .2s;background:linear-gradient(var(--murram),var(--murram)) center/100% 3px no-repeat,linear-gradient(var(--murram),var(--murram)) center/3px 100% no-repeat}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 0 20px;font-size:17px}
.band{background:var(--spruce);color:#EDE8DC;padding:52px 0}
.band h2{color:var(--paper)}
.band p{margin-top:14px;font-size:18px;line-height:1.6;max-width:56ch;color:#D5E0DA}
.band .ctas{margin-top:22px}
.band .btn.alt{color:var(--paper);box-shadow:inset 0 0 0 2px var(--paper)}.band .btn.alt:hover{background:var(--paper);color:var(--ink)}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 36px;margin-top:20px}
.related a{display:block;padding:15px 0;border-bottom:1px dashed var(--line);color:var(--ink);text-decoration:none;font:700 19px/1.3 var(--slab)}
.related a span{display:block;font:400 15px/1.4 var(--sans);color:var(--ink-2);margin-top:2px}
.related a:hover{color:var(--murram)}
.form{margin-top:22px;display:grid;gap:14px;max-width:520px}
.form label{display:grid;gap:6px;font-weight:600;font-size:16px}
.form input,.form select,.form textarea{font:400 17px var(--sans);padding:13px 14px;min-height:50px;border:2px solid var(--ink);background:#FBF9F4;border-radius:4px;color:var(--ink);width:100%}
.form textarea{min-height:96px;resize:vertical}
.form .err{color:var(--murram-d);font-weight:600;min-height:1.2em;font-size:15.5px}
.form .priv{font-size:14.5px;color:var(--ink-2);line-height:1.45}
.pick{margin-top:22px;display:grid;gap:22px;max-width:620px}
.pick fieldset{border:0}
.pick legend{font:700 20px/1.3 var(--slab);margin-bottom:8px}
.pick label{display:flex;gap:12px;align-items:center;min-height:50px;padding:6px 14px;margin-top:8px;border:2px solid var(--line);border-radius:4px;background:#FBF9F4;cursor:pointer;font-size:17px}
.pick input{width:22px;height:22px;accent-color:var(--murram);flex:none}
.pick label:has(input:checked){border-color:var(--ink);background:#fff}
.result{margin-top:22px;padding:22px;border:2px solid var(--ink);background:#FBF9F4;max-width:620px}
.result[hidden]{display:none}
.result b{font:700 26px/1.2 var(--slab);display:block}
.result .price{font:700 36px/1.1 var(--slab);margin-top:8px}
.result p{font-size:17px;margin-top:10px}
footer{background:var(--ink);color:#B9B2A3;padding:44px 0 120px;font-size:15px;position:relative;z-index:2}
footer .wrap{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap}
footer b{font:700 22px var(--slab);color:var(--paper);display:block;margin-bottom:4px}
footer a{color:var(--paper);display:inline-block;padding:5px 0}
footer .links{display:grid;gap:0}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(244,241,234,.97);border-top:1px solid var(--line)}
.dock a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;border-radius:6px;font:600 16px var(--sans);text-decoration:none}
.dock .call{background:var(--ink);color:var(--paper)}.dock .wa{background:var(--wa);color:#fff}
.dock svg{width:20px;height:20px;flex:none;fill:currentColor}
body.typing .dock{display:none}
@media(min-width:760px){.dock{left:auto;right:20px;bottom:20px;width:300px;padding:8px;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgba(28,26,23,.14)}}
@media(max-width:560px){.ledger b{flex:1 1 100%}.name small{display:none}.ledger li{flex-wrap:wrap}.ledger .dots{display:none}.ledger .n{text-align:left;max-width:100%;flex-basis:100%}.pricebox{grid-template-columns:minmax(0,1fr)}.pricebox .btn{width:100%}.ctas .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
