.fieldwork{background:#fffef9}
.fieldwork-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(40px,5vw,80px);align-items:start}
.fieldwork-intro>p:not(.eyebrow){font-size:20px;line-height:1.95;color:var(--muted);max-width:26em;margin:28px 0}
.fieldwork-intro .text-link{font-size:18px;gap:22px}
.fieldwork-details{border-top:1px solid #9eaf9e}
.fieldwork-details article{display:grid;grid-template-columns:116px minmax(0,1fr);gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.fieldwork-index{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px;letter-spacing:.025em;color:#827043;text-align:center;line-height:1.6}
.fieldwork-index img{display:block;width:116px;height:auto}
.fieldwork-details h3{font-size:27px;font-weight:500;line-height:1.6;margin:0 0 10px;color:var(--green)}
.fieldwork-details p{font-size:19px;line-height:1.9;margin:0;color:var(--muted)}
.work-photos{background:#e8ede4;overflow:hidden}
.photos-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.photos-heading h2{font-size:clamp(30px,3.2vw,46px);line-height:1.5}
.photos-heading p:not(.eyebrow){font-size:20px;line-height:1.8;color:var(--muted);margin:20px 0 0}
.gallery-controls{display:flex;gap:12px;flex-shrink:0}
.gallery-controls button{width:44px;height:44px;border:1px solid #8a9d8c;background:transparent;color:var(--green);font-size:23px;cursor:pointer;border-radius:50%;transition:background .2s,color .2s}
.gallery-controls button:hover:not(:disabled){background:var(--green);color:#fffef9}
.gallery-controls button:disabled{opacity:.3;cursor:default}
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.gallery-filters button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #a7b5a2;border-radius:999px;background:#f5f7ef;color:var(--green);padding:5px 11px;min-height:36px;font:inherit;font-size:14px;white-space:nowrap;cursor:pointer;box-shadow:0 2px 5px #203e3508;transition:background .2s,border-color .2s,box-shadow .2s}
.gallery-filters button:hover{background:#e0e8d9;border-color:#7b9478}
.gallery-filters button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fffef9;box-shadow:0 4px 10px #203e3526}
.gallery-filters svg{width:14px;height:14px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gallery-filters button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.gallery-filters [data-photo-count]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 5px;border-radius:50%;font-size:13px;font-variant-numeric:tabular-nums;background:#e1e8db;color:#4f674b}
.gallery-filters [aria-pressed="true"] [data-photo-count]{background:#e6d7b1;color:#3e482e}
.work-photo[hidden]{display:none}
.gallery-preview-note{font-size:15px;line-height:1.8;color:#5d6a60;margin:0 0 16px}
.photo-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#92a48e transparent;padding-bottom:16px;cursor:grab;touch-action:pan-x pan-y}
.photo-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.work-photo{flex:0 0 28%;min-width:0;margin:0;scroll-snap-align:start}
.work-photo img,.photo-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #bac7b4}
.work-photo img{height:auto;object-fit:cover;object-position:center;background:#dce4d6;user-select:none;-webkit-user-drag:none}
.photo-placeholder{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:#dce4d6;color:#66775f;font-size:18px;letter-spacing:.08em}
.work-photo:nth-child(even) .photo-placeholder{background:#e4e5d9}
.photo-slot{font-family:Georgia,serif;font-size:64px;color:#84977e;font-weight:400;line-height:1.1}
.work-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding-top:14px;font-size:20px;color:var(--green);line-height:1.5}
.work-photo figcaption small{font-size:14px;color:var(--muted)}
.gallery-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #bac7b4;margin-top:12px;padding-top:20px;font-size:16px;color:#53674f}
#photo-position{font-variant-numeric:tabular-nums;letter-spacing:.1em}
.photo-track:focus-visible,.gallery-controls button:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:900px){.fieldwork-grid{grid-template-columns:1fr;gap:36px}.fieldwork-intro>p:not(.eyebrow){max-width:none}.work-photo{flex-basis:44%}}
@media(max-width:650px){
 .gallery-filters{display:flex;flex-wrap:wrap;gap:8px}.gallery-filters button{font-size:14px;padding:5px 10px;gap:5px;min-height:38px}
 .fieldwork-intro>p:not(.eyebrow),.fieldwork-details p{font-size:18px}
 .fieldwork-details h3{font-size:24px}.fieldwork-details article{gap:18px;padding:24px 0;grid-template-columns:80px minmax(0,1fr);align-items:start}
 .fieldwork-index{font-size:12px;gap:8px}.fieldwork-index img{width:80px}
 .photos-heading{display:block;margin-bottom:24px}.photos-heading p:not(.eyebrow){font-size:18px}
 .gallery-controls{margin-top:24px}.gallery-controls button{width:40px;height:40px}
 .work-photo{flex-basis:60%}.photo-track{gap:16px}.work-photo figcaption{font-size:19px;align-items:start;flex-direction:column;gap:4px}
 .gallery-bottom{font-size:14px}.gallery-preview-note{font-size:14px}.photo-placeholder{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.gallery-controls button,.gallery-filters button{transition:none}}
