:root{--lime:#e9e6df;--lime2:#d9d5cb;--stone:#a39e92;--moss:#4f6b3a;--moss-d:#3a5229;--ink:#1d2326;--ink2:#3c4448;--paper:#f6f4ef;--serif:'Sorts Mill Goudy',Georgia,serif;--sans:'Archivo Narrow','Arial Narrow',sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:1.14rem/1.65 var(--serif)}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss-d);text-underline-offset:3px}a:hover{color:var(--ink)}
h1,h2,h3{font-weight:400;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,6vw,3.8rem);margin:.2em 0 .4em}h2{font-size:clamp(1.6rem,3.6vw,2.3rem);margin:1.6em 0 .5em}h3{font-size:1.35rem;margin:1.2em 0 .3em}
.eyebrow,.foot__h,nav,.btn,.crumbs,.tag,label,.meta{font-family:var(--sans);letter-spacing:.06em}
.eyebrow{text-transform:uppercase;font-size:.85rem;color:var(--moss);font-weight:600}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:9}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}.prose{max-width:720px;margin:0 auto;padding:0 16px}
.mast{background:var(--ink);color:var(--lime)}
.mast__in{max-width:1120px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.mark{display:flex;align-items:center;gap:10px;color:var(--lime);text-decoration:none;font-size:1.5rem}.mark em{color:#9fbf7f}
.navtoggle{font:600 .95rem var(--sans);letter-spacing:.08em;text-transform:uppercase;background:none;color:var(--lime);border:1px solid var(--stone);padding:6px 12px;border-radius:2px}
nav#nav{width:100%;display:none}nav#nav.open{display:block}
nav#nav ul{list-style:none;margin:8px 0;padding:0}nav#nav a{display:block;padding:9px 0;color:var(--lime);text-decoration:none;text-transform:uppercase;font-size:.95rem;border-bottom:1px solid #333b3f}
.nav-cta{color:#b9d89a!important}
@media(min-width:860px){.navtoggle{display:none}nav#nav{display:block;width:auto}nav#nav ul{display:flex;gap:26px;margin:0}nav#nav a{border:0;padding:4px 0}.nav-cta{border:1px solid #9fbf7f!important;padding:6px 14px!important}}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;max-width:1120px;margin:0 auto;padding:14px 16px 0;font-size:.85rem;text-transform:uppercase;color:var(--ink2)}
.crumbs li+li:before{content:'/';margin-right:6px;color:var(--stone)}
.hero{display:grid;gap:0;background:var(--lime)}
.hero__txt{padding:40px 16px 36px;max-width:640px}
.hero__txt p.lede{font-size:1.3rem;color:var(--ink2)}
.hero__img img{width:100%;height:100%;max-height:520px;object-fit:cover}
@media(min-width:900px){.hero{grid-template-columns:1.1fr 1fr;align-items:stretch}.hero__txt{padding:80px 48px 72px max(16px,calc((100vw - 1120px)/2 + 16px));max-width:none}.hero__img img{max-height:none}}
.btn{display:inline-block;background:var(--moss);color:#fff;text-decoration:none;text-transform:uppercase;font-weight:600;font-size:.95rem;padding:14px 22px;border-radius:2px;border:0;cursor:pointer}.btn:hover{background:var(--moss-d);color:#fff}
.btn--line{background:none;color:var(--ink);border:1.5px solid var(--ink);margin:10px 0 0}@media(min-width:420px){.btn--line{margin:0 0 0 8px}}.btn--line:hover{background:var(--ink)}
/* hand-drawn divider: rough crenellation line */
.rule{height:28px;margin:48px auto;max-width:1120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='28' viewBox='0 0 120 28'%3E%3Cpath d='M0 20 L14 20.6 L15 9.5 L29 10 L30 20.3 L46 19.8 L45.5 9.8 L60 10.3 L61 20 L75 20.4 L76 9.6 L90 10 L90.5 20.2 L106 19.7 L105.4 9.9 L119 10.4 L120 20' fill='none' stroke='%234f6b3a' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x center}
.wall{height:46px;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='46'%3E%3Cpath d='M0 46V18h14V6h16v12h16V6h16v12h28v28z' fill='%23d9d5cb'/%3E%3Cpath d='M0 32h90M22 18v14M58 18v14M40 32v14M76 32v14' stroke='%23a39e92' stroke-width='1.2'/%3E%3C/svg%3E") repeat-x bottom;background-color:var(--paper)}
.grid{display:grid;gap:22px}@media(min-width:700px){.grid--2{grid-template-columns:1fr 1fr}.grid--3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid var(--lime2);padding:24px;border-radius:2px;position:relative}
.card h3{margin-top:0}.card a.more{font-family:var(--sans);text-transform:uppercase;font-size:.85rem;font-weight:600;letter-spacing:.06em}
.card--img{padding:0;overflow:hidden}.card--img img{aspect-ratio:3/2;object-fit:cover;width:100%}.card--img .card__b{padding:20px 22px 24px}
.tag{display:inline-block;font-size:.8rem;text-transform:uppercase;color:var(--moss);font-weight:600}
.band{background:var(--lime);padding:56px 0}.band--ink{background:var(--ink);color:var(--lime)}.band--ink a{color:#b9d89a}.band--ink h2{color:#fff}
.split{display:grid;gap:32px;align-items:center}@media(min-width:860px){.split{grid-template-columns:1fr 1fr}}
.split img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(.9)}
figure{margin:28px 0}figcaption{font:.88rem var(--sans);color:var(--ink2);margin-top:6px}
.post-hero img{width:100%;aspect-ratio:16/8;object-fit:cover}
.meta{font-size:.9rem;color:var(--ink2);text-transform:uppercase}
.faq dt{font-weight:700;margin-top:18px}.faq dd{margin:4px 0 0}
.project{border-left:3px solid var(--moss);padding-left:20px;margin:36px 0}
.project dl{display:grid;gap:4px}.project dt{font:600 .85rem var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--moss);margin-top:10px}.project dd{margin:0}
form{display:grid;gap:16px;max-width:620px}label{display:block;font-size:.9rem;text-transform:uppercase;font-weight:600;margin-bottom:4px}
input,select,textarea{width:100%;font:1.05rem var(--serif);padding:12px;border:1.5px solid var(--stone);background:#fff;border-radius:2px;color:var(--ink)}
input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid var(--moss);outline-offset:2px}
.hp{position:absolute;left:-5000px}
#formmsg{font-family:var(--sans)}
.foot{background:var(--ink);color:var(--lime2);font-size:1rem}.foot a{color:var(--lime)}
.foot__in{max-width:1120px;margin:0 auto;padding:40px 16px 10px;display:grid;gap:28px}@media(min-width:800px){.foot__in{grid-template-columns:1.4fr 1fr 1fr}}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:4px 0}
.foot__brand{font-size:1.6rem;color:#fff;margin:0 0 8px}.foot__h{text-transform:uppercase;font-weight:600;font-size:.85rem;color:#9fbf7f}
.foot__small{max-width:1120px;margin:0 auto;padding:16px 16px 30px;font:.85rem var(--sans);border-top:1px solid #333b3f}
.list-plain{list-style:none;padding:0}.list-plain li{padding:10px 0;border-bottom:1px dashed var(--stone)}
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:1rem;display:block;overflow-x:auto}
@media(min-width:600px){table{display:table}}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--lime2)}
th{font:600 .85rem var(--sans);text-transform:uppercase;letter-spacing:.06em;background:var(--lime);color:var(--ink)}
ol.steps{counter-reset:st;list-style:none;padding:0}ol.steps li{counter-increment:st;position:relative;padding:0 0 14px 52px}
ol.steps li:before{content:counter(st);position:absolute;left:0;top:2px;width:36px;height:36px;border:1.5px solid var(--moss);border-radius:50%;display:grid;place-items:center;font:600 1rem var(--sans);color:var(--moss)}
.toc{background:var(--lime);padding:18px 22px;margin:28px 0;border-left:3px solid var(--moss)}.toc ol{margin:6px 0 0;padding-left:20px;font-size:1rem}.toc .eyebrow{margin:0}
.faq details{border-bottom:1px solid var(--lime2);padding:12px 0}.faq summary{cursor:pointer;font-weight:700;list-style-position:outside}.faq details p{margin:8px 0 0}
.callout{background:#fff;border:1px solid var(--lime2);border-top:4px solid var(--moss);padding:6px 22px 14px;margin:36px 0}.callout h2{font-size:1.4rem;margin-top:.8em}
