:root{--paper:#f2efe5;--ink:#1d2b24;--green:#405c32;--lichen:#91a36c;--clay:#c56445;--yellow:#edbd36;--blue:#5d758c;--bark:#5a3b2b;--mono:'DM Mono',monospace;--serif:'Fraunces',serif;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.45}.grain{position:fixed;inset:0;pointer-events:none;opacity:.09;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.5rem}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:1.3rem 4vw;position:absolute;z-index:4;left:0;right:0}.wordmark{font:500 .72rem/1 var(--mono);letter-spacing:.08em;color:var(--ink);text-decoration:none}.wordmark span{color:var(--clay);font-size:1.2rem}nav{display:flex;gap:1.5rem;align-items:center}nav a{color:var(--ink);font:500 .74rem var(--mono);text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.nav-contact{border:1px solid var(--ink);padding:.55rem .8rem}.menu{display:none;background:none;border:0;font:500 .74rem var(--mono);text-transform:uppercase}.hero{min-height:820px;padding:10.5rem 8vw 4rem;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;position:relative;overflow:hidden}.eyebrow,.project-meta>p,.date,.shelf-grid span{font:500 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero h1,.intro h2,.section-head h2,.note-copy h2,.shelf h2,.message-head h2,.contact h2{font:500 clamp(3.2rem,6.3vw,6.5rem)/.93 var(--serif);letter-spacing:-.055em;margin:.8rem 0 1.4rem}.hero h1 em,.contact h2 em{color:var(--clay);font-style:italic}.lede{max-width:420px;font-size:1.05rem}.circle-link{display:flex;align-items:center;gap:1rem;margin-top:2.8rem;color:var(--ink);text-decoration:none;font-size:.85rem}.circle-link span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--yellow);font-size:1.2rem}.hero-visual{height:550px;background:#b4c59a;position:relative;overflow:hidden;border-radius:48% 48% 4px 4px;box-shadow:12px 13px 0 var(--bark)}.sun{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--yellow);right:10%;top:10%}.mountain{position:absolute;bottom:-10px;width:100%;height:55%;background:var(--green);clip-path:polygon(0 80%,30% 25%,53% 62%,80% 5%,100% 70%,100% 100%,0 100%)}.m2{height:40%;background:#6f8558;opacity:.8}.fern{position:absolute;color:#284624;font-size:8rem}.f1{left:12%;bottom:8%;transform:rotate(-17deg)}.f2{right:7%;bottom:6%;font-size:5rem}.specimen-label{position:absolute;bottom:1.2rem;right:1.2rem;background:var(--paper);padding:.7rem;font:400 .57rem/1.5 var(--mono);transform:rotate(-4deg)}.visual-caption{position:absolute;left:-3.8rem;top:20%;transform:rotate(-90deg);font:.62rem var(--mono);letter-spacing:.06em}.visual-caption span{opacity:.6}.side-note{position:absolute;right:2.2vw;bottom:6rem;font:.62rem/1.65 var(--mono);letter-spacing:.05em}.side-note b{font-size:.73rem}.intro{padding:9rem 12vw;display:grid;grid-template-columns:1fr 2fr;gap:4rem;background:var(--yellow)}.intro h2{font-size:clamp(2.7rem,5vw,5.4rem)}.intro p:not(.eyebrow){max-width:520px;font-size:1.15rem}.text-link{display:inline-block;color:inherit;margin-top:1.3rem;font:500 .78rem var(--mono);text-transform:uppercase;text-underline-offset:5px}.work-section{padding:8rem 6vw}.section-head{max-width:650px}.section-head h2{font-size:clamp(3rem,5vw,5rem);margin-bottom:.4rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:3rem 0 2rem}.filters button{border:1px solid #849184;background:transparent;padding:.55rem .8rem;border-radius:2rem;font:500 .7rem var(--mono);cursor:pointer}.filters button.active,.filters button:hover{background:var(--green);color:#fff;border-color:var(--green)}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2.4rem 1.5rem}.project{grid-column:span 6}.project:nth-child(2){grid-column:8/span 5;margin-top:6rem}.project:nth-child(3){grid-column:2/span 5}.project:nth-child(4){grid-column:8/span 4;margin-top:2rem}.project-art{height:330px;display:grid;place-items:center;overflow:hidden;transition:transform .35s}.project:hover .project-art{transform:scale(.98)}.art-salt{background:var(--blue);color:var(--paper);font:20rem var(--serif)}.art-owl{background:#c8ad92;position:relative;color:#302720;font-size:10rem}.art-owl i{width:9rem;height:9rem;border-radius:50% 50% 42% 42%;background:var(--bark);display:block;position:absolute}.art-walk{background:var(--green);color:var(--yellow);font:500 clamp(2.5rem,4vw,4rem)/.8 var(--serif);text-align:center}.art-seed{background:var(--clay);color:#ffe4c5;font:12rem/.4 var(--serif);letter-spacing:-.25em}.project-meta h3{font:500 1.5rem var(--serif);margin:.6rem 0 .2rem}.project-meta p{margin:.3rem 0}.project-meta>p{font-size:.6rem;margin-top:1.1rem}.button{display:inline-flex;gap:2rem;align-items:center;background:var(--ink);color:var(--paper);padding:.9rem 1.1rem;margin-top:3rem;text-decoration:none;font:500 .72rem var(--mono);text-transform:uppercase}.button span{font-size:1.2rem}.field-note{display:grid;grid-template-columns:1.05fr 1fr;background:#d9d7ba}.note-image{min-height:610px;background:#657f62;position:relative;overflow:hidden}.branch{font:30rem/.8 var(--serif);color:#203b2b;position:absolute;left:5%;bottom:0;transform:rotate(20deg)}.bird{font:12rem var(--serif);color:var(--yellow);position:absolute;right:12%;top:25%;transform:rotate(-20deg)}.stamp{position:absolute;bottom:1.5rem;left:1.5rem;border:1px solid var(--paper);color:var(--paper);padding:.5rem;font:.62rem var(--mono);letter-spacing:.07em}.note-copy{padding:10% 13%;align-self:center}.note-copy h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}.tags{display:flex;gap:.5rem;margin-top:2rem}.tags span{border:1px solid var(--green);padding:.35rem .55rem;border-radius:1rem;font:.63rem var(--mono)}.taxa{padding:8rem 8vw;background:var(--green);color:var(--paper)}.taxa .section-head{max-width:700px}.taxa-list{margin:4rem 0 1rem;border-top:1px solid #a7b298}.taxa-list article{display:grid;grid-template-columns:45px 70px 1fr auto;align-items:center;gap:1rem;border-bottom:1px solid #a7b298;padding:1rem 0}.taxa-num{font:.65rem var(--mono)}.taxa-icon{height:60px;width:60px;display:grid;place-items:center;font:2.5rem var(--serif)}.kh{background:var(--yellow);color:var(--green)}.ma{background:var(--clay)}.pi{background:var(--blue)}.taxa-list h3{font:500 1.3rem var(--serif);margin:0}.taxa-list p{margin:.2rem 0;font-size:.85rem}.taxa-list a{color:var(--paper);font-size:1.5rem}.button.light{background:var(--paper);color:var(--green)}.shelf{padding:8rem 8vw;background:var(--paper)}.shelf-title{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:2rem}.shelf-title h2{font-size:clamp(3.2rem,5vw,5.5rem)}.shelf-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #879082;margin-top:4rem}.shelf-grid>a,.shelf-grid>article{min-height:250px;padding:1.5rem;border-right:1px solid #879082;text-decoration:none;color:inherit;position:relative}.shelf-grid>*:first-child{border-left:1px solid #879082}.shelf-grid h3{font:500 1.6rem var(--serif);margin:2rem 0 .5rem}.shelf-grid b{position:absolute;right:1rem;bottom:1rem;font-size:1.3rem}.messages{padding:8rem 8vw;background:var(--bark);color:var(--paper)}.message-head{max-width:760px}.message-head h2{font-size:clamp(3.1rem,5vw,5.5rem)}.postcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem}.postcard{aspect-ratio:1/.82;color:var(--ink);padding:1.7rem;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-2deg)}.postcard:nth-child(2){transform:rotate(2deg);margin-top:2rem}.postcard:nth-child(3){transform:rotate(-1deg);margin-top:-1rem}.postcard p{font:500 1.45rem/1.1 var(--serif);margin:0}.postcard footer{border-top:1px solid #0004;padding-top:.7rem;font:.6rem var(--mono);letter-spacing:.05em}.postcard footer span{display:block;margin-top:.2rem}.clay{background:var(--clay)}.yellow{background:var(--yellow)}.blue{background:#a4bdc8}.contact{padding:10rem 8vw 2rem;background:var(--paper)}.contact h2{font-size:clamp(4rem,8vw,8rem)}.contact>p:not(.eyebrow){font-size:1.1rem}.email{display:block;color:var(--ink);font:500 clamp(1.45rem,3vw,3rem) var(--serif);margin-top:3.5rem;text-underline-offset:8px}.email span{color:var(--clay)}.contact-foot{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #8f968b;margin-top:10rem;padding-top:1rem;font:.6rem var(--mono);letter-spacing:.05em}.contact-foot a{color:inherit}@media(max-width:760px){.site-header{height:75px;padding:1rem 6vw}nav{display:none;position:absolute;top:72px;right:4vw;background:var(--paper);padding:1rem;flex-direction:column;align-items:flex-start;box-shadow:3px 3px var(--ink)}nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;padding:8rem 7vw 3rem;gap:2rem;min-height:auto}.hero-visual{height:410px;order:-1}.hero h1{font-size:clamp(3.5rem,13vw,5rem)}.side-note{display:none}.intro{grid-template-columns:1fr;padding:5rem 7vw;gap:1rem}.work-section,.taxa,.shelf,.messages,.contact{padding:5rem 7vw}.project-grid{display:block}.project,.project:nth-child(n){margin:0 0 2.7rem;display:block}.project-art{height:270px}.field-note{grid-template-columns:1fr}.note-image{min-height:390px}.note-copy{padding:4rem 7vw}.shelf-title{grid-template-columns:1fr;gap:0}.shelf-grid{grid-template-columns:1fr 1fr;margin-top:2.5rem}.shelf-grid>a,.shelf-grid>article{min-height:190px;padding:1rem}.shelf-grid>*:nth-child(3){border-left:1px solid #879082}.postcards{grid-template-columns:1fr;gap:1.2rem;margin-top:2.5rem}.postcard,.postcard:nth-child(n){margin:0;aspect-ratio:1/.7}.contact-foot{margin-top:5rem;flex-wrap:wrap}.taxa-list article{grid-template-columns:28px 50px 1fr auto}.taxa-icon{width:45px;height:45px;font-size:1.8rem}}

/* Brand typography: expressive Fraunces titles; DM Mono for all informational copy. */
:root { --sans: var(--mono); }
body { font-family: var(--mono); font-size: .875rem; line-height: 1.7; letter-spacing: 0; }
p, li, dd, dt, input, textarea, select, button { font-family: var(--mono); letter-spacing: 0; }
h1, h2, h3, h4, h5, h6, .email, .dek, .postcard p, .empty {
  font-family: var(--serif) !important;
  letter-spacing: 0 !important;
}
@media (max-width: 720px) { body { font-size: .8125rem; line-height: 1.65; } }
