@font-face{font-family:'Big Shoulders Display';font-weight:700;font-display:swap;src:url(/fonts/big-shoulders-display-700.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-weight:900;font-display:swap;src:url(/fonts/big-shoulders-display-900.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-400.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-600.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-700.woff2) format('woff2')}

:root{--sky:#EDEFEA;--loam:#2E231A;--clay:#7B4B2C;--till:#8F9288;--gravel:#CFC9B9;--flame:#C81C18;--ink:#17120D}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 19px/1.55 'Source Sans 3',system-ui,sans-serif;color:var(--loam);background:var(--sky)}
img{max-width:100%;height:auto;display:block}
figure{margin:24px 0}
a{color:inherit}
:focus-visible{outline:3px solid var(--flame);outline-offset:3px}
.loam :focus-visible,.clay :focus-visible,.foot :focus-visible{outline-color:#fff}
h1,h2,h3{font-family:'Big Shoulders Display',Impact,sans-serif;font-weight:900;line-height:1.02;margin:0;text-wrap:balance}
h1{font-size:clamp(48px,8vw,104px)}
h2{font-size:clamp(30px,3.6vw,42px)}
h3{font-size:26px;font-weight:700}
.mega{font-size:clamp(64px,13vw,190px);line-height:.86;margin-top:-.28em;position:relative}
.big{font-size:clamp(48px,7vw,100px);margin-bottom:22px}
.lead{font-size:22px}

.btn{display:inline-block;background:var(--flame);color:#fff;font:700 21px/1.1 'Big Shoulders Display',Impact,sans-serif;letter-spacing:.02em;padding:13px 20px;border:0;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:#A81512}

.top{display:flex;gap:24px;align-items:center;padding:10px 28px;background:var(--sky)}
.logo{display:flex;align-items:center;gap:8px;font:900 27px/1 'Big Shoulders Display',Impact,sans-serif;text-decoration:none;white-space:nowrap}
.top nav{display:flex;gap:22px;margin-left:auto}
.top nav a{font-weight:600;font-size:16px;text-decoration:none}
.top nav a:hover,.top nav a[aria-current]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.menu{display:none;margin-left:auto;position:relative}
.menu summary{cursor:pointer;font-weight:700;list-style:none;padding:8px}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:100%;z-index:5;display:block;min-width:200px;background:var(--sky);border:2px solid var(--loam);padding:6px 14px;margin:0}
.menu nav a{display:block;padding:9px 0}

.hero img{width:100%;height:58vh;min-height:320px;object-fit:cover;object-position:50% 62%}
.hero.sub img{height:38vh;min-height:220px;object-position:50% 50%}
.band{position:relative;padding:0 28px 64px}
.in{max-width:1180px;margin:auto}
.edge{display:block;width:100%;height:60px;position:absolute;left:0;top:-59px}
.loam{background:var(--loam);color:var(--sky)}.loam .edge polygon{fill:var(--loam)}
.clay{background:var(--clay);color:#fff}.clay .edge polygon{fill:var(--clay)}
.till{background:var(--till);color:var(--ink)}.till .edge polygon{fill:var(--till)}
.gravel{background:var(--gravel)}.gravel .edge polygon{fill:var(--gravel)}
.title{padding-top:6px;padding-bottom:40px}
.flat{padding-top:44px}
.cta{padding-top:18px;padding-bottom:96px;text-align:center}
.paper{padding:44px 28px 84px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding-top:24px}
.two.mid{align-items:center}
.cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:56px;align-items:start}
.heroact{margin:26px 0 0}

.prose{max-width:760px}
.prose h2{margin:34px 0 10px}
.prose h2:first-child{margin-top:0}
.prose h3{margin:24px 0 6px}
.prose li{margin-bottom:6px}
.prose a:not(.btn){font-weight:600}

.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px 32px}
.cards a{display:block;text-decoration:none}
.cards a:hover h3{text-decoration:underline}
.cards img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:10px}
.cards p{margin:6px 0 0;font-size:17px;line-height:1.5}
.plain li{border-top:2px solid rgba(255,255,255,.4);padding-top:12px}

.quotes{columns:3;column-gap:32px}
blockquote{break-inside:avoid;margin:0 0 30px}
blockquote p{margin:4px 0 8px}
.stars{color:var(--flame);letter-spacing:.1em}
cite{font-style:normal;font-weight:700}

.form{background:var(--sky);color:var(--loam);padding:24px}
.paper .form{background:var(--gravel)}
.form h2{margin-bottom:6px}
.form label{display:block;font-weight:600;margin-top:12px}
.form input,.form textarea{display:block;width:100%;font:inherit;padding:10px;border:2px solid var(--loam);background:#fff;color:var(--ink);border-radius:0}
.form .btn{margin-top:18px}
.hp{position:absolute;left:-9999px}

.areas-p{padding-top:44px}
.areas-p .in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:48px;align-items:start}
.areas-p h2{margin:12px 0 6px;font-size:30px}
.areas{list-style:none;padding:0;columns:2;font-weight:600}
.areas a{font-weight:700}
.map{width:100%;height:auto}
.m-land{fill:#7D8077;stroke:var(--till)}
.m-served{fill:var(--gravel);stroke:var(--loam);stroke-width:1.5}
.m-pin{fill:var(--flame);stroke:#fff;stroke-width:1.5}
.m-t{font:600 13px 'Source Sans 3',sans-serif;fill:var(--ink);paint-order:stroke;stroke:rgba(207,201,185,.85);stroke-width:3px}
.m-link{font-weight:700;text-decoration:underline}
.m-c{font:700 17px 'Big Shoulders Display',sans-serif;fill:var(--ink)}

.proj{margin-bottom:48px}
.proj h2{margin-bottom:8px}
.stage{position:relative}
.stage input{position:absolute;opacity:0}
.frames button{display:none;width:100%;padding:0;border:0;background:var(--loam);cursor:zoom-in}
.frames img{width:100%;aspect-ratio:16/9;object-fit:contain}
.tabs{display:flex}
.tabs label{flex:1;text-align:center;padding:10px;font:700 22px 'Big Shoulders Display',sans-serif;background:var(--clay);color:#fff;cursor:pointer}
.stage input:nth-of-type(1):checked~.frames .f0,.stage input:nth-of-type(2):checked~.frames .f1,.stage input:nth-of-type(3):checked~.frames .f2{display:block}
.stage input:nth-of-type(1):checked~.tabs .t0,.stage input:nth-of-type(2):checked~.tabs .t1,.stage input:nth-of-type(3):checked~.tabs .t2{background:var(--flame)}
.stage input:focus-visible~.tabs{outline:3px solid var(--flame);outline-offset:3px}
.viewer{border:0;padding:0;background:var(--loam);max-width:96vw;max-height:96vh}
.viewer::backdrop{background:rgba(0,0,0,.8)}
.viewer img{max-height:86vh;width:auto}
.viewer form{text-align:right}

.foot{position:relative;background:var(--loam);color:var(--sky);padding:30px 28px 40px;margin-top:0}
.foot .edge polygon{fill:var(--loam)}
.foot .in{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.foot h2{font-size:28px;margin-bottom:8px}
.foot ul{list-style:none;margin:0;padding:0;font-size:17px}
.foot p{margin:0 0 10px;font-size:17px}
.foot .links a+a{margin-left:14px}

@media (max-width:1000px){.top nav{display:none}.menu{display:block}.menu nav{display:block}.cards{grid-template-columns:repeat(2,1fr)}.quotes{columns:2}}
@media (max-width:700px){.top{padding:8px 14px;gap:10px}.logo span{display:none}.band{padding-left:18px;padding-right:18px}.paper{padding:32px 18px 72px}.two,.cols,.areas-p .in,.foot .in{grid-template-columns:1fr;gap:28px}.quotes{columns:1}.cards{grid-template-columns:1fr}.plain{grid-template-columns:1fr 1fr;gap:18px}.plain p{display:none}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
