:root{--bg:#fff;--panel:#faf8f5;--ink:#1f1d1b;--mut:#5f5a54;--acc:#7a5c3e;--acc2:#7a5c3e;--line:#e4dfd8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--acc)}.wrap{max-width:1140px;margin:auto;padding:0 20px}
header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:9}
nav{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-weight:800;color:var(--ink);text-decoration:none}.logo span{color:var(--acc2)}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}nav ul a{color:var(--mut);text-decoration:none}nav ul a:hover,nav ul a[aria-current]{color:var(--ink)}
.btn:hover{background:#5f4630}.btn{display:inline-block;background:var(--acc);color:#fff;padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:600;border:0;cursor:pointer}.btn.ghost{background:none;border:1px solid var(--line);color:var(--ink)}
#menu{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 10px}
.hero{padding:96px 0 72px;background:linear-gradient(180deg,#f6f3ef,#fff)}
.hero h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;margin:.2em 0}.eyebrow{color:var(--acc2);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
.lead{color:var(--mut);font-size:1.15rem;max-width:640px}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:56px}.stat{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--panel)}.stat b{font-size:1.6rem;display:block}
section{padding:72px 0}h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:.2em 0 .6em}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px}.card h3{margin-top:0}.card p{color:var(--mut)}
.icon{width:40px;height:40px;border-radius:10px;background:#7a5c3e1a;color:var(--acc);display:grid;place-items:center;font-weight:800;margin-bottom:12px}
ol.steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}ol.steps li{counter-increment:s;border-top:2px solid var(--acc);padding-top:14px}ol.steps li:before{content:"0" counter(s);color:var(--acc2);font-weight:800}
.alt{background:#f6f3ef;border-block:1px solid var(--line)}
form{display:grid;gap:12px}label{font-size:.9rem;color:var(--mut)}input,textarea,select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
details{border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px;background:var(--panel)}summary{cursor:pointer;font-weight:600}
footer{border-top:1px solid var(--line);padding:36px 0;color:var(--mut);font-size:.9rem}
@media(max-width:800px){.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}#menu{display:block}nav ul{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg);padding:20px;border-bottom:1px solid var(--line)}nav ul.open{display:flex}}

h1,h2,h3{color:#1a1816}.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}.card{box-shadow:0 1px 2px #0000000a}
h1,h2,h3,.logo{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.01em}
.logo span{color:var(--ink)}.eyebrow{letter-spacing:.08em;font-weight:600}header{backdrop-filter:none}.icon{display:none}.hero{padding:80px 0 56px;border-bottom:1px solid var(--line)}
.btn{border-radius:4px}.card,details,input,textarea,select,.stat{border-radius:6px}
.textured{background-color:#f1ece5;background-image:radial-gradient(rgba(122,104,86,.07) 1px,transparent 1.2px),radial-gradient(rgba(122,104,86,.045) 1px,transparent 1.2px);background-size:14px 14px,14px 14px;background-position:0 0,7px 7px;border-block:1px solid var(--line)}

/* section palette */
.textured .card{background:#fdfbf8}
.sand{background-color:#f7f4ef;border-block:1px solid #e4dbcf}
.alt{background:#2a2623;color:#f3ede4;border:0}
.alt h2,.alt h3{color:#fbf7f1}.alt .lead,.alt label{color:#d6cdc1}.alt .eyebrow,.alt a{color:#d9b98f}
.alt input,.alt textarea,.alt select{background:#fbf8f3;color:#1f1d1b;border-color:#5a5048}
.alt .btn{background:#c9a477;color:#1f1a16}.alt .btn:hover{background:#ddb98b}
footer{background:#1c1714;color:#cfc5b8;border-top:0}footer a{color:#d9b98f}footer b{color:#f3ede4}
.li{display:inline-flex;align-items:center;color:var(--acc);font-weight:600;text-decoration:none}.li:hover{text-decoration:underline}footer .li{color:#d9b98f}
.hero-home{background-color:#e4dccf;background-image:repeating-linear-gradient(45deg,rgba(90,68,46,.07) 0 1px,transparent 1px 22px),repeating-linear-gradient(-45deg,rgba(90,68,46,.07) 0 1px,transparent 1px 22px),linear-gradient(180deg,#e9e2d7,#ded5c8);border-bottom:1px solid #d3c8b8}
.hero-home .lead{color:#4a453f}.hero-home .eyebrow{color:#5f4630}.hero-home .btn.ghost{border-color:#a8998a;color:#1f1d1b}
.prose{max-width:760px;margin:auto;font-size:1.075rem;line-height:1.75}.prose h2{margin:2em 0 .5em;font-size:1.6rem}.prose h3{margin:1.6em 0 .4em;font-size:1.2rem}.prose p,.prose li{color:#2f2b27}.prose ul{padding-left:1.3em}.prose li{margin:.35em 0}
.meta{color:var(--mut);font-size:.95rem}.crumbs{font-size:.9rem;color:var(--mut)}.crumbs a{color:var(--mut)}
.cta-box{background:#f7f4ef;border:1px solid var(--line);border-left:4px solid var(--acc);padding:22px 24px;border-radius:6px;margin:40px 0}.cta-box h2{margin-top:0;font-size:1.35rem}
.post-card a.title{color:var(--ink);text-decoration:none}.post-card a.title:hover{color:var(--acc)}.post-card h2{font-size:1.25rem;margin:.3em 0}

/* mobile: trim bottom whitespace (desktop unchanged) */
@media(max-width:800px){section{padding:48px 0}.two{gap:24px}.cta-box{margin:28px 0}footer{padding:24px 0 calc(20px + env(safe-area-inset-bottom))}footer .two{gap:12px}main>section:last-child{padding-bottom:40px}}
