:root{--paper:#f7f5ef;--ink:#202b25;--green:#405c32;--lichen:#91a36c;--yellow:#e6ebdf;--clay:#405c32;--bark:#202b25;--blue:#e5e9e1;--sans:'DM Sans',sans-serif;--card-radius:16px;--line:#dcded4}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400}
.grain{display:none}
body p,body li,body dd,body .project-meta p,body :is(.approach-facts,.cv-grid) :is(p,dd){font-family:var(--sans)!important;font-size:15px!important;line-height:1.55!important;font-weight:400!important;letter-spacing:-.005em}
body a,body button{font-family:var(--sans)!important}
body :is(.eyebrow,.date,.category,.entry-tag,.tags span,.book-meta,.resource-type,.card-detail+footer,.postcard footer,.collaborator-track>article>span,.notebook-hint,.bag-hint,.photo figcaption,.site-footer-inner,.message-controls){font-family:var(--mono)!important;font-size:12px!important;line-height:1.4!important;font-weight:400!important;letter-spacing:.04em;color:var(--green)}
body h1,body h2,body h3,body h4,body h5,body h6{font-family:var(--serif)!important;letter-spacing:0!important;font-weight:700!important}
body .global-header.global-header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:1.3rem 5vw}
body .global-header .wordmark{background:var(--green);border-radius:9px}
body .global-header .global-nav,body .global-header .global-shelf-links{background:var(--paper);color:var(--ink)}
body .global-header .global-nav :is(a,summary),body .global-header .global-menu{font:700 14px/1.4 var(--sans)!important;letter-spacing:-.025em;text-transform:none;color:var(--ink)}
body .global-header .global-nav{gap:1.7rem}
body .global-header .global-nav :is(a,summary):hover{color:var(--green);background:transparent}
body .global-header .global-nav>a[href='/#contact']{padding:.8rem 1.2rem;border:0;border-radius:999px;background:var(--green);color:white}
body .global-header .global-menu{border:1px solid var(--line);border-radius:999px;padding:.75rem 1rem}
body .global-header .global-shelf-links{border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px #202b250a}
body :is(.hero,.approach-hero,.intro,.taxa,.messages,.shelf,.contact,.principles,.collaborators,.approach-facts,.approach-contact,.photos){background:var(--paper);color:var(--ink)}
.hero::before,.approach-hero::before{filter:none;opacity:.035}
body .hero h1 em,body .approach-hero h1 em{color:var(--green)}
.rotating-word-text{background:#e6ebdf;color:var(--green)}
body :is(.hero-intro,.hero-summary){max-width:490px}
body .hero-intro p{color:#60685e}
body :is(.intro,.work-section,.field-note,.taxa,.shelf,.messages,.contact,.approach-section,.principles,.collaborators,.approach-contact){border-top:1px solid var(--line)}
body .intro{gap:4rem;padding:6rem 8vw}
body .intro-profile{border-radius:var(--card-radius)}
body .button,body .button.light,body .button-outline{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:999px;padding:.9rem 1.3rem;font:700 14px/1.4 var(--sans);text-transform:none;letter-spacing:-.025em;gap:2rem;box-shadow:none}
body .button:hover{background:#304728;color:#fff;box-shadow:none;transform:none}
body .text-link{font:700 14px/1.4 var(--sans);letter-spacing:-.025em;text-transform:none;color:var(--green)}
body .filters button,body .filter-link{border:1px solid var(--line);border-radius:999px;font:500 14px/1.4 var(--sans);color:var(--ink)}
body .filters button.active,body .filters button:hover{background:var(--green);border-color:var(--green);color:#fff}
body .project-grid{gap:1.5rem}
body .project{background:#fff;border:1px solid var(--line);border-radius:var(--card-radius);overflow:hidden;box-shadow:none}
body .project .project-art{border-radius:15px 15px 0 0;background:#e6e9e0;transform:none}
body .project .project-meta{padding:1.2rem 1.3rem 1.4rem}
body .project .project-meta h3{margin:0 0 .5rem}
body .project .project-meta p{color:#60685e}
body .project .project-meta:before{display:none}
body .field-note{background:var(--paper);padding:5rem 8vw;gap:3rem;align-items:center}
body .note-image{border-radius:var(--card-radius);min-height:440px}
body .note-copy{padding:0}
body .tags span,body .entry-tag{background:#eef0e8;border-color:var(--line);border-radius:999px}
body .taxa-list,body .taxa-list article{border-color:var(--line)}
body .taxa-icon{border-radius:10px;background:#e6ebdf;color:var(--green)}
body .taxa-list a{color:var(--green)}
body .shelf-grid{border:0;gap:1rem}
body .shelf-grid>a,body .shelf-grid>article{background:#fff;border:1px solid var(--line)!important;border-radius:var(--card-radius)}
body .postcards .postcard,body .collaborator-track article{background:#fff!important;color:var(--ink);border:1px solid var(--line);border-radius:var(--card-radius);transform:none!important;box-shadow:none!important}
body .postcards .postcard:nth-child(n){transform:none}
body .message-nav,body .carousel-controls button{background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none}
body .postcard footer{border-color:var(--line)}
body .contact-socials a{border:1px solid var(--line);color:var(--green);border-radius:999px}
body .contact-socials a:hover{background:#e6ebdf;color:var(--green);transform:none}
body .email{color:var(--green)}
body .principles .principle-grid article{background:#fff;border-color:var(--line);border-radius:var(--card-radius)}
body .photo,body .place-hero,body .place-section-photo,body .screens img,body .frame{border-radius:var(--card-radius);overflow:hidden}
body nav.detail-next{border-color:var(--line)}
body .project-pagination a{border-color:var(--line);border-radius:999px}
body .site-footer{color:var(--ink);background:var(--paper)}
body :is(a,button,summary):focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:760px){body .intro{padding:4rem 7vw;gap:2rem}body .field-note{padding:4rem 7vw;gap:2rem}body .note-image{min-height:330px}body .global-header .global-nav>a[href='/#contact']{align-self:start;margin-top:.7rem}body .shelf-grid{grid-template-columns:1fr}body .global-header .global-nav{gap:0}}

/* Revised direction: retain Field Notes' existing green and warm paper. */
:root { --paper:#f2efe5; --ink:#1d2b24; --green:#405c32; --lichen:#91a36c; --line:#d3d7c8; --yellow:#dfe6d3; --clay:#405c32; --bark:#1d2b24; }
body :is(.hero,.approach-hero,.taxa,.approach-contact) { background:var(--green); color:var(--paper); }
body .hero h1 em,body .approach-hero h1 em { color:#d7e6bd; }
body .hero-intro p { color:var(--paper); }
.hero::before,.approach-hero::before { filter:invert(1); opacity:.1; }
body :is(.hero,.approach-hero) .eyebrow,body :is(.hero,.approach-hero) :is(.bag-hint,.notebook-hint),body .taxa .eyebrow,body .approach-contact .eyebrow { color:var(--paper); }
body .hero .rotating-word-text { background:rgb(242 239 229 / .18); color:var(--paper); }
body :is(.hero,.approach-hero,.approach-contact) .button { background:var(--paper); color:var(--green); border-color:var(--paper); }
body .taxa .button { background:var(--paper); color:var(--green); border-color:var(--paper); }
body .taxa :is(.taxa-list,.taxa-list article) { border-color:#a7b298; }
body .taxa-list a { color:var(--paper); }
body .global-header.global-header { background:var(--ink); color:var(--paper); border-color:#ffffff30; }
body .global-header .wordmark { background:var(--paper); }
body .global-header .global-nav,body .global-header .global-shelf-links { background:var(--ink); color:var(--paper); }
body .global-header .global-nav :is(a,summary),body .global-header .global-menu { color:var(--paper); }
body .global-header .global-nav :is(a,summary):hover { color:var(--lichen); }
body .global-header .global-nav>a[href='/#contact'] { background:var(--paper); color:var(--green); }
body .global-header :is(.global-menu,.global-shelf-links) { border-color:#ffffff60; }
body :is(.intro,.messages,.collaborators,.principles,.approach-facts) { background:var(--paper); color:var(--ink); }
body .postcards .postcard,body .collaborator-track article { background:#f8f7f1!important; color:var(--ink); }
body .postcards .postcard:nth-child(even),body .collaborator-track article:nth-child(even) { background:#e5eadc!important; }
body .project .project-art { background:#e5eadc; }
body .global-header :is(a,button,summary):focus-visible { outline-color:var(--paper); }

/* Soft green surfaces for the introduction, journal feature and correspondence. */
body .intro, body .field-note, body .messages { background:var(--surface-leaf); color:var(--ink); }

/* A single warm leaf-green family, paired with the existing forest green. */
:root { --surface-leaf:#f2efe5; --surface-leaf-light:#edf2e4; }
body .postcards .postcard:nth-child(even),body .collaborator-track article:nth-child(even) { background:var(--surface-leaf-light)!important; }
body .tags span,body .entry-tag,body .taxa-icon,body .project .project-art { background:var(--surface-leaf-light); }

/* Work begins without a section divider. */
body .work-section { border-top:0; }

/* The Work divider aligns with the content inset rather than the viewport. */
body .work-section { position:relative; }
body .work-section::before {
 content:""; position:absolute; top:0; left:6vw; right:6vw;
 border-top:1px solid var(--line); pointer-events:none;
}
@media(max-width:760px) { body .work-section::before { left:7vw; right:7vw; } }

/* Shared section dividers follow each section's content gutters. */
body :is(.intro,.work-section,.field-note,.taxa,.shelf,.messages,.contact,.approach-section,.principles,.collaborators,.approach-contact) {
 position:relative; border-top:0; --divider-inset:8vw;
}
body .work-section { --divider-inset:6vw; }
body :is(.approach-section,.principles,.collaborators,.approach-contact) { --divider-inset:10vw; }
body :is(.intro,.work-section,.field-note,.taxa,.shelf,.messages,.contact,.approach-section,.principles,.collaborators,.approach-contact)::before {
 content:""; position:absolute; top:0; left:var(--divider-inset); right:var(--divider-inset);
 border:0; border-top:1px solid var(--line); pointer-events:none;
}
body .global-header.global-header { position:relative; border-bottom:0; }
body .global-header.global-header::after {
 content:""; position:absolute; bottom:0; left:5vw; right:5vw;
 border-bottom:1px solid #ffffff30; pointer-events:none;
}
body :is(.taxa-list,.taxa-list article,.contact-foot,.site-footer-inner,.detail-next,.note-list,.note-item,.entry,.entries,.contents,.sources) { border-color:var(--line); }
body .taxa :is(.taxa-list,.taxa-list article) { border-color:#a7b298; }
@media(max-width:760px) {
 body :is(.intro,.work-section,.field-note,.taxa,.shelf,.messages,.contact,.approach-section,.principles,.collaborators,.approach-contact) { --divider-inset:7vw; }
 body .global-header.global-header::after { left:7vw; right:7vw; }
}

/* Card headings flow into descriptions without an internal rule. */
body .work-section .project-meta > h3 { border-bottom:0; padding-bottom:0; margin-bottom:.5rem; }

/* Work card text uses the DM Sans content role. */
body .project .project-meta h3 {
 font-family:var(--sans)!important; font-weight:700!important;
 font-size:22px; line-height:1.2; letter-spacing:-.025em!important;
}
body .project .project-meta p {
 font-family:var(--sans)!important; font-weight:400!important;
 font-size:15px!important; line-height:1.55!important;
}

/* Fraunces titles, DM Sans descriptions; mono stays reserved for labels. */
body .work-section .project .project-meta h3 {
 font-family:var(--serif)!important; font-weight:700!important;
 font-size:1.5rem; line-height:1.2; letter-spacing:0!important;
}
body .work-section .project .project-meta > h3 + p {
 font-family:var(--sans)!important; font-weight:400!important;
 font-size:15px!important; line-height:1.55!important;
}

/* Approach: a warm background for the How I work section. */
body .principles { background:#d9d7ba; }

/* Forest-green social marks on a clear, light surface. */
body .contact-socials a { background:transparent; color:var(--green); border-color:var(--green); }
body .contact-socials a:hover,body .contact-socials a:focus-visible { background:var(--surface-leaf-light); color:var(--green); }
body .contact-socials svg { color:var(--green); }

/* Solid green social buttons match the primary action treatment. */
body .contact-socials a { background:var(--green); border-color:var(--green); color:#fff; }
body .contact-socials svg { color:#fff; }
body .contact-socials a:hover,body .contact-socials a:focus-visible { background:#304728; border-color:#304728; color:#fff; }

/* Approach carousel controls match the filled primary buttons. */
body .carousel-controls button { background:var(--green); border-color:var(--green); color:#fff; }
body .carousel-controls button:hover,body .carousel-controls button:focus-visible { background:#304728; border-color:#304728; color:#fff; }

/* Filter pills share the primary button interaction treatment. */
body .filters button,body .filter-link {
 transition:background-color .2s ease,color .2s ease,border-color .2s ease;
 box-shadow:none; transform:none;
}
body .filters button:hover:not(:disabled),body .filter-link:hover,
body .filters button.active:hover,body .filters button[aria-pressed="true"]:hover {
 background:#304728; border-color:#304728; color:#fff;
 transform:none; box-shadow:none;
}
body .filters button.active,body .filters button[aria-pressed="true"] {
 background:var(--green); border-color:var(--green); color:#fff;
}
body .filters button:focus-visible,body .filter-link:focus-visible {
 outline:2px solid var(--green); outline-offset:4px; transform:none; box-shadow:none;
}
@media(prefers-reduced-motion:reduce) { body .filters button,body .filter-link { transition:none; } }

/* One footer typography and divider treatment on every public page. */
body .contact-foot,body .site-footer .site-footer-inner {
 font-family:var(--mono)!important; font-size:12px!important;
 font-weight:400; line-height:1.4; letter-spacing:.04em;
 color:var(--ink); border-top:1px solid var(--line); padding-top:1rem;
}
body .contact-foot :is(a,span),body .site-footer-inner :is(a,span) {
 font-family:var(--mono)!important; font-size:12px!important;
 font-weight:400; line-height:1.4; letter-spacing:.04em; color:inherit;
}
body .site-footer { background:var(--paper); color:var(--ink); }
body .site-footer-top:hover,body .contact-foot a:hover { color:var(--green); }

/* Navigation joins the hero without a divider. */
body .global-header.global-header::after { display:none; }

/* Editorial rhythm: tighter section spacing without changing page structure. */
body :is(.work-section,.taxa,.shelf,.messages) { padding-top:6rem; padding-bottom:6rem; }
body :is(.approach-section,.collaborators) { padding-top:6rem; padding-bottom:6rem; }
body .shelf-grid>a,body .shelf-grid>article { background:transparent; border-radius:0; border-width:0 0 1px!important; }
body .postcards .postcard { border-radius:12px; }
body .postcards .postcard:nth-child(3n+2) { background:var(--paper)!important; }
/* Photography typography and labels use the shared forest-green palette. */
body .photos { background:var(--paper); color:var(--ink); }
body .photos .photos-intro { max-width:960px; }
body .photos .photo-karakia .te-reo { color:var(--green); font-family:var(--sans)!important; font-weight:600!important; opacity:1; }
body .photos .photo-karakia .translation { color:#596353; font-family:var(--sans)!important; opacity:1; }
body .photos .photo-karakia { gap:1rem; }
body .photos .eyebrow { color:var(--green); }
body .photos .photo figcaption {
 background:rgba(29,43,36,.94); color:#f2efe5;
 font:400 12px/1.4 var(--mono)!important; letter-spacing:.04em;
 border-radius:8px; padding:.65rem .8rem; max-width:calc(100% - 1.7rem);
}
body .photos .photo figcaption span { color:#f2efe5; opacity:.8; font-size:11px; }
body .photos .photo { background:var(--ink); }
@media(max-width:760px) {
 body :is(.work-section,.taxa,.shelf,.messages,.approach-section,.collaborators) { padding-top:4rem; padding-bottom:4rem; }
 body .photos .photo figcaption { font-size:10px!important; padding:.5rem .6rem; }
 body .photos .photo figcaption span { font-size:10px; }
}

/* Keep the parakeet caption aligned with the gallery's other labels. */
body .photos .photo.photo-parakeet figcaption { top:auto; bottom:.85rem; left:.85rem; }

/* Photo pairs share one row height, regardless of their column widths. */
body .photos .photo-grid { grid-auto-rows:clamp(240px,38vw,580px); }
body .photos .photo-grid > .photo:nth-child(n) { aspect-ratio:auto; height:100%; min-height:0; }
body .photos .photo-grid > .photo > img { width:100%; height:100%; min-height:0; object-fit:cover; }
@media(max-width:720px) {
 body .photos .photo-grid { grid-auto-rows:auto; align-items:stretch; }
 body .photos .photo-grid > .photo:nth-child(n) { height:auto; aspect-ratio:auto; min-height:0; }
 body .photos .photo-grid > .photo > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
 body .photos .photo-grid > .photo:nth-child(6n+1),
 body .photos .photo-grid > .photo:nth-child(6n+4),
 body .photos .photo-grid > .photo:nth-child(6n+6) { aspect-ratio:16/10; }
 body .photos .photo-grid > .photo:nth-child(6n+2),
 body .photos .photo-grid > .photo:nth-child(6n+3) { aspect-ratio:4/5; }
 body .photos .photo-grid > .photo:nth-child(6n+5) { aspect-ratio:1; }
 body .photos .photo-grid > .photo:nth-child(14) { aspect-ratio:4/5; }
 body .photos .photo-grid > .photo.photo-fur-seal { aspect-ratio:2/3; }
}

/* Shelf: softly rounded surfaces, with separators between neighbouring cards. */
body .shelf .shelf-grid { border:0; gap:1.5rem; }
body .shelf .shelf-grid > :is(a,article) {
 position:relative; border:0!important; border-radius:16px;
 background:#f8f7f1; padding:1.5rem; min-height:210px;
}
body .shelf .shelf-grid > :is(a,article)::before { content:none; }
body .shelf .shelf-grid > :is(a,article):not(:first-child)::after {
 content:""; position:absolute; left:-.75rem; top:1rem; bottom:1rem;
 width:1px; background:var(--line); pointer-events:none;
}
body .shelf .shelf-grid b { right:1.5rem; bottom:1.5rem; }
@media(max-width:760px) {
 body .shelf .shelf-grid > :is(a,article):not(:first-child)::after {
  left:1rem; right:1rem; top:-.75rem; bottom:auto; width:auto; height:1px;
 }
}

/* All field correspondence cards use a white surface. */
body .messages .postcards .postcard:nth-child(n) { background:#fff!important; }

/* Shelf cards have no separators between them. */
body .shelf .shelf-grid > :is(a,article):not(:first-child)::after { display:none; }

/* Note pagination uses the same pill shape, type and states as site buttons. */
body nav[aria-label="Note navigation"] > :is(a,button) {
 display:inline-flex; align-items:center; justify-content:center; gap:.65rem;
 min-height:48px; padding:.85rem 1.25rem; border-radius:999px;
 font:700 14px/1.4 var(--sans)!important; letter-spacing:-.025em;
 text-transform:none; text-decoration:none; box-shadow:none; transform:none;
}
body nav[aria-label="Note navigation"] > a {
 background:var(--green); border:1px solid var(--green); color:#fff;
}
body nav[aria-label="Note navigation"] > a:hover {
 background:#304728; border-color:#304728; color:#fff; transform:none;
}
body nav[aria-label="Note navigation"] > button:disabled {
 background:transparent; color:var(--ink); border:1px solid var(--line);
 opacity:.4; cursor:default; transform:none;
}
@media(max-width:760px) {
 body nav[aria-label="Note navigation"] > :is(a,button) { padding:.75rem .6rem; min-width:0; white-space:nowrap; }
}

/* Previous and Next retain the filled green style when unavailable. */
body nav[aria-label="Note navigation"] > button:disabled { background:var(--green); border-color:var(--green); color:#fff; opacity:.4; }

/* Taxa and archive filters share one pill size and interaction style. */
body :is(.filters,.garden-filters) button {
 display:inline-flex; align-items:center; justify-content:center;
 min-height:40px; padding:.55rem .8rem; border:1px solid var(--line);
 border-radius:999px; font:500 14px/1.4 var(--sans)!important;
 letter-spacing:0; color:var(--ink); background:transparent;
 transition:background-color .2s ease,color .2s ease,border-color .2s ease;
 transform:none; box-shadow:none; cursor:pointer;
}
body :is(.filters,.garden-filters) button:is(.active,[aria-pressed="true"]) {
 background:var(--green); border-color:var(--green); color:#fff;
}
body :is(.filters,.garden-filters) button:hover:not(:disabled) {
 background:#304728; border-color:#304728; color:#fff; transform:none; box-shadow:none;
}
body :is(.filters,.garden-filters) button:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { body :is(.filters,.garden-filters) button { transition:none; } }

/* Taxa uses the shared archive palette, card framing and pagination roles. */
body .garden { background:var(--paper); color:var(--ink); }
body .garden-title h1 em,body .garden-title .eyebrow { color:var(--green); }
body .garden-title p { color:var(--ink); }
body .garden .garden-filters { margin:2.5rem 0 1.5rem; }
body .garden .entries { border:0; display:grid; gap:1rem; }
body .garden .entry {
 background:#fff; border:1px solid var(--line); border-radius:16px;
 padding:1.5rem; gap:1.25rem;
}
body .garden .entry-mark,body .garden .entry:nth-child(n) .entry-mark {
 background:var(--surface-leaf-light); color:var(--green); border-radius:12px;
}
body .garden .entry .latin {
 font-family:var(--mono)!important; font-size:12px!important; line-height:1.4!important;
 color:var(--green); letter-spacing:0;
}
body .garden .entry-meta { color:#596353; }
body .garden .entry-tag {
 background:var(--surface-leaf-light); color:var(--green); border-color:var(--line);
 font:400 12px/1.4 var(--mono); letter-spacing:.04em; border-radius:999px;
 padding:.4rem .65rem;
}
body .garden .taxa-pagination { gap:.5rem; }
body .garden .taxa-pagination button {
 border-radius:999px; min-width:44px; min-height:44px;
 padding:.7rem 1rem; border:1px solid var(--line);
 font:700 14px/1.4 var(--sans); color:var(--green); background:transparent;
 box-shadow:none; transform:none;
}
body .garden .taxa-pagination button[aria-current="page"] {
 background:var(--green); color:#fff; border-color:var(--green);
}
body .garden .taxa-pagination button:hover:not(:disabled) {
 background:#304728; color:#fff; border-color:#304728; transform:none;
}
body .garden :is(.taxa-page-status,.taxa-draft-note) {
 font:400 12px/1.4 var(--mono); letter-spacing:.04em; color:var(--green);
}
@media(max-width:720px) {
 body .garden .entry { grid-template-columns:48px minmax(0,1fr); padding:1.1rem; gap:.75rem 1rem; }
 body .garden .entry-mark { width:48px; height:48px; }
 body .garden .entry-meta { grid-column:2; }
 body .garden .entry-tag { grid-column:2; grid-row:auto; justify-self:start; }
}

/* Taxa entries share the page background. */
body .garden .entry { background:transparent; }

/* Notes and Taxa share the same archive entry treatment. */
body .notes { background:var(--paper); color:var(--ink); }
body .notes .notes-intro p { color:var(--ink); }
body .notes .notes-intro .eyebrow { color:var(--green); }
body .notes .filters { margin:2.5rem 0 1.5rem; }
body .notes .note-list { display:grid; gap:1rem; border:0; }
body .notes .note-item {
 border:1px solid var(--line); border-radius:16px; background:transparent;
 padding:1.5rem; gap:1.25rem; color:var(--ink);
}
body .notes .note-item:hover { background:var(--surface-leaf-light); }
body .notes .note-item:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
body .notes .note-item time {
 font:400 12px/1.4 var(--mono); color:var(--green); letter-spacing:.04em;
}
body .notes .note-item p { color:#596353; }
body .notes .note-item .category {
 background:var(--surface-leaf-light); border-color:var(--line); color:var(--green);
 border-radius:999px; padding:.4rem .65rem;
 font:400 12px/1.4 var(--mono); letter-spacing:.04em;
}
@media(max-width:720px) {
 body .notes .note-item { grid-template-columns:minmax(0,1fr); padding:1.1rem; gap:.75rem; }
 body .notes .note-item > *,body .notes .note-item .category { grid-column:1; grid-row:auto; }
 body .notes .note-item .category { justify-self:start; }
}

/* Shelf archive pages share the Notes and Taxa styling. */
body :is(.resources,.books,.marks) { background:var(--paper); color:var(--ink); }
body :is(.resources-title,.books-intro,.marks-title) h1 em { color:var(--green); }
body :is(.resources,.marks) .filters { margin:2.5rem 0 1.5rem; }
body .resources .directory,body .marks .marks-list { display:grid; gap:1rem; border:0; }
body .resources .resource,body .marks .mark {
 background:transparent; border:1px solid var(--line); border-radius:16px;
 padding:1.5rem; color:var(--ink); gap:1.25rem;
}
body .resources .resource:hover,body .marks .mark:hover { background:var(--surface-leaf-light); }
body :is(.resources,.books,.marks) :is(.resource-type,.host,.type,.book-index,.book-meta,.label,.year-count) {
 font:400 12px/1.4 var(--mono); color:var(--green); letter-spacing:.04em; opacity:1;
}
body :is(.resources,.marks) :is(.resource p,.mark p) { color:#596353; }
body :is(.resources,.marks) .arrow { color:var(--green); }
body .books .stack { margin-top:2.5rem; }
body .books .book {
 padding:1.25rem; border:1px solid var(--line); border-radius:16px;
 margin-top:.75rem; background:transparent; color:var(--ink); transform:none; box-shadow:none;
}
body .books .book:hover,body .books .book[aria-expanded="true"] { background:var(--surface-leaf-light); transform:none; }
body .books .book-detail.open { background:var(--surface-leaf-light); border-radius:16px; margin-top:.5rem; }
body .books .year-group { border-color:var(--line); }
body :is(.resources,.books,.marks) :is(a,button):focus-visible { outline:2px solid var(--green); outline-offset:4px; }
@media(max-width:720px) {
 body .resources .resource,body .marks .mark { padding:1.1rem; gap:.75rem; }
 body .books .book { grid-template-columns:28px minmax(0,1fr); padding:1.1rem; gap:.75rem; }
 body .books .book-meta { grid-column:2; text-align:left; }
}

/* One project-page design language across Work in the wild. */
body :is(main.case,main.case-study,main.guide,main.place-guide) { background:var(--paper); color:var(--ink); }
body :is(.case-intro,.guide-intro,.place-intro) .eyebrow { color:var(--green); font:400 12px/1.4 var(--mono)!important; letter-spacing:.04em; }
body :is(.case-intro,.guide-intro,.place-intro) :is(.dek,p:not(.eyebrow)) {
 font:400 15px/1.55 var(--sans)!important; color:var(--ink); letter-spacing:0;
}
body :is(.case,.case-study,.guide,.place-guide) :is(.prose,.place-prose) p {
 font:400 15px/1.55 var(--sans)!important; color:var(--ink); letter-spacing:0;
}
body :is(.case,.case-study,.guide,.place-guide) .contents {
 color:var(--green); font:400 12px/1.4 var(--mono); letter-spacing:.04em;
}
body :is(.case,.case-study,.guide,.place-guide) .contents a {
 color:var(--green); font:500 14px/1.4 var(--sans)!important;
 text-transform:none; letter-spacing:0; text-underline-offset:4px;
}
body :is(.case,.case-study,.guide,.place-guide) :is(.case-hero,.case-art,.guide-photo,.guide-section-photo,.place-hero,.place-section-photo,.screens img,.collage) { border-radius:16px; overflow:hidden; }
body :is(.case,.case-study,.guide,.place-guide) figcaption {
 color:var(--green); font:400 12px/1.4 var(--mono)!important; letter-spacing:.04em;
}
body .guide .guide-photo figcaption {
 color:var(--paper); background:rgba(29,43,36,.94); border:0; border-radius:8px;
}
body :is(.case,.case-study,.guide,.place-guide) :is(.credit,.status) {
 font:400 12px/1.4 var(--mono)!important; color:var(--green); letter-spacing:.04em;
}
body :is(.case,.case-study,.guide,.place-guide) :is(.note,blockquote) {
 background:var(--surface-leaf-light); color:var(--ink); border-color:var(--green);
 border-radius:0 12px 12px 0; font:400 15px/1.55 var(--sans)!important;
}
body :is(.case,.case-study,.guide,.place-guide) :is(.lens,.principle) {
 border-color:var(--line); border-radius:16px; background:transparent; color:var(--ink);
}
body :is(.case,.case-study,.guide,.place-guide) .principles { background:transparent; padding:0; border:0; }
body :is(.case,.case-study,.guide,.place-guide) .principles::before { content:none; }
body .place-guide .species-list { border-color:var(--line); }
body .project-pagination > a {
 border-radius:999px; background:var(--green); color:#fff; border-color:var(--green);
 font:700 14px/1.4 var(--sans)!important; min-height:48px; padding:.85rem 1.25rem;
}
body .project-pagination > a:hover { background:#304728; border-color:#304728; color:#fff; transform:none; box-shadow:none; }

/* Tags and labels use unfilled surfaces throughout the site. */
body :is(.tags span,.entry-tag,.category,.resource-type,.type,.label,.book-meta,.host),
body .garden .entry-tag,body .notes .note-item .category {
 background:transparent!important;
}

/* Tags and labels share DM Sans, with no coloured fill. */
body :is(.tags span,.entry-tag,.category,.resource-type,.type,.label,.book-meta,.host,.book-index,.year-count),
body .garden .entry-tag,body .notes .note-item .category,
body :is(.resources,.books,.marks) :is(.resource-type,.host,.type,.book-index,.book-meta,.label,.year-count) {
 font-family:'DM Sans',sans-serif!important;
}

/* Labels use natural sentence case rather than uppercase. */
body :is(.tags span,.entry-tag,.category,.resource-type,.type,.label,.book-meta,.host,.book-index,.year-count),
body .garden .entry-tag,body .notes .note-item .category { text-transform:none!important; letter-spacing:0; }

/* The mobile introduction portrait fills the content column. */
@media(max-width:760px) {
 body .intro .intro-profile { width:100%; max-width:none; justify-self:stretch; margin:0 0 1.4rem; }
}

/* Homepage Taxa previews echo the notebook's unfilled, rounded entries. */
body .taxa .taxa-list { display:grid; gap:1rem; border:0; }
body .taxa .taxa-list article {
 grid-template-columns:32px 72px minmax(0,1fr) 44px;
 gap:1.25rem; padding:1.5rem; background:transparent;
 border:1px solid #a7b298; border-radius:16px;
}
body .taxa .taxa-icon { width:72px; height:72px; background:var(--surface-leaf-light); border-radius:12px; }
body .taxa .taxa-list h3 { font-size:24px; line-height:1.1; margin:0 0 .4rem; }
body .taxa .taxa-list p { font:400 15px/1.55 var(--sans)!important; color:var(--paper); margin:0; }
body .taxa .taxa-num { font:400 12px/1.4 var(--sans); color:var(--paper); opacity:.8; }
body .taxa .taxa-list article>a {
 display:grid; place-items:center; min-width:44px; min-height:44px;
 color:var(--paper); text-decoration:none; border-radius:999px;
}
body .taxa .taxa-list article>a:focus-visible { outline:2px solid var(--paper); outline-offset:3px; }
@media(max-width:720px) {
 body .taxa .taxa-list article { grid-template-columns:48px minmax(0,1fr) 32px; padding:1.1rem; gap:.75rem; }
 body .taxa .taxa-num { display:none; }
 body .taxa .taxa-icon { width:48px; height:48px; }
 body .taxa .taxa-list h3 { font-size:22px; }
 body .taxa .taxa-list article>a { min-width:32px; }
}

/* Introductory and journal links share a generous content-to-action gap. */
body .intro .text-link,body .note-copy .text-link { margin-top:2rem; }
