@font-face{font-family:"Playfair Display";src:url(/fonts/PlayfairDisplay-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Source Sans";src:url(/fonts/SourceSans3-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans";src:url(/fonts/SourceSans3-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans";src:url(/fonts/SourceSans3-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--ink:#2b1d17;--mut:#5c4a40;--paper:#fbf6ee;--cream:#f3e7d3;--brown:#7a3b2e;--brown2:#5e2b21;--green:#1f5d4f;--line:#d9c7ab}
*{box-sizing:border-box}body{margin:0;font:400 18px/1.6 "Source Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.15;margin:.2em 0 .5em}h1{font-size:clamp(2.1rem,6vw,3.6rem)}h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}h3{font-size:1.2rem}
a{color:var(--brown)}a:hover{color:var(--brown2)}:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.narrow{max-width:780px}.sec{padding:48px 20px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 14px;z-index:10}.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.banner{margin:0;background:var(--green);color:#fff;text-align:center;font-size:.9rem;padding:6px 12px}
.hdr{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.hrow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;min-height:68px}
.brand{display:inline-flex;padding:6px 0}.logo{height:46px;width:auto}
.menu{font:600 1rem "Source Sans",sans-serif;background:var(--brown);color:#fff;border:0;border-radius:8px;padding:10px 16px;min-height:44px}
#nav{display:none;width:100%}#nav.open{display:block}#nav ul{list-style:none;margin:0;padding:8px 0 14px}#nav a{display:block;padding:10px 4px;text-decoration:none;font-weight:600;color:var(--ink)}#nav a[aria-current]{color:var(--brown);text-decoration:underline;text-underline-offset:4px}
@media(min-width:960px){.menu{display:none}#nav{display:block;width:auto}#nav ul{display:flex;gap:18px;padding:0}}
.hero{background:linear-gradient(135deg,var(--cream),#fff 60%);padding:64px 0 56px;border-bottom:1px solid var(--line)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--green);font-size:.85rem;margin:0}.lead{font-size:1.2rem;color:var(--mut);max-width:42em}
.ctas{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;background:var(--brown);color:#fff;text-decoration:none;font:700 1rem "Source Sans",sans-serif;padding:12px 22px;border-radius:999px;border:2px solid var(--brown);cursor:pointer;min-height:44px}
.btn:hover{background:var(--brown2);color:#fff}.btn.alt{background:#fff;color:var(--brown)}
.grid{list-style:none;padding:0;margin:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 2px 6px rgba(60,30,20,.05)}.card p{margin:.3em 0;color:var(--mut)}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}
.band{background:var(--cream)}.steps li{margin:.4em 0}.cat{margin:36px 0}.price{font-weight:700}.ph{color:#8a1f1f;font-family:"Source Sans",sans-serif;font-size:.85em;font-weight:700}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;margin-bottom:32px}caption{text-align:left;font-weight:700;padding:8px 0}th,td{border:1px solid var(--line);padding:10px;text-align:left}thead th{background:var(--cream)}
.frm{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;max-width:640px}.f{margin-bottom:14px}label{display:block;font-weight:600;margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;padding:10px;border:2px solid #8a7666;border-radius:8px;background:#fff;color:var(--ink);min-height:44px}[aria-invalid=true]{border-color:#a1161a}
.err{color:#a1161a;margin:4px 0 0;font-size:.95rem;min-height:0}.err:empty{display:none}.hp{position:absolute;left:-9999px}.req-note{color:var(--mut);font-size:.95rem}.status{font-weight:600}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:10px 0}summary{font-weight:700;cursor:pointer}
.ftr{background:var(--ink);color:#f3e7d3;margin-top:40px;padding:36px 0 18px}.ftr a{color:#fff}.fgrid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ftr ul{list-style:none;padding:0;margin:0}.ftr li a{display:inline-block;padding:6px 0}.fbrand{font:700 1.5rem "Playfair Display",Georgia,serif;margin:0}.copy{font-size:.9rem;opacity:.95}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
